00000820 int32_t _D_DrawSpans8(int32_t* arg1) 00000820 83ec18 sub esp, 0x18 00000823 d905301a0000 fld st0, dword [0x1a30] 00000829 d80da4120000 fmul st0, dword [__real@41000000] 0000082f d9053c1a0000 fld st0, dword [0x1a3c] 00000835 d80da4120000 fmul st0, dword [__real@41000000] 0000083b d9054c1a0000 fld st0, dword [0x1a4c] 00000841 d80da4120000 fmul st0, dword [__real@41000000] 00000847 8b4c241c mov ecx, dword [esp+0x1c {arg1}] 0000084b 53 push ebx {__saved_ebx} 0000084c 55 push ebp {__saved_ebp} 0000084d 33c0 xor eax, eax {0x0} 0000084f 56 push esi {__saved_esi} 00000850 57 push edi {__saved_edi} 00000851 89442418 mov dword [esp+0x18 {var_10}], eax {0x0} 00000855 8944241c mov dword [esp+0x1c {var_c}], eax {0x0} 00000859 8b11 mov edx, dword [ecx] 0000085b 8b4104 mov eax, dword [ecx+0x4] 0000085e 89542414 mov dword [esp+0x14 {var_14_1}], edx 00000862 89442410 mov dword [esp+0x10 {var_18_1}], eax 00000866 db442414 fild st0, dword [esp+0x14] {".drectve"} 0000086a 0faf05641a0000 imul eax, dword [_screenwidth] 00000871 d95c2414 fstp dword [esp+0x14 {var_14_2}], st0 00000875 db442410 fild st0, dword [esp+0x10] 00000879 d95c2410 fstp dword [esp+0x10 {var_18_2}], st0 0000087d d905341a0000 fld st0, dword [0x1a34] 00000883 d84c2410 fmul st0, dword [esp+0x10] 00000887 d905301a0000 fld st0, dword [0x1a30] 0000088d d84c2414 fmul st0, dword [esp+0x14] 00000891 8b7908 mov edi, dword [ecx+0x8] 00000894 03c2 add eax, edx 00000896 8b15441a0000 mov edx, dword [_d_viewbuffer] 0000089c dec1 faddp st1, st0 0000089e 03c2 add eax, edx 000008a0 89442420 mov dword [esp+0x20 {var_8_1}], eax 000008a4 d8052c1a0000 fadd st0, dword [_d_sdivzorigin] 000008aa d905401a0000 fld st0, dword [0x1a40] 000008b0 d84c2410 fmul st0, dword [esp+0x10] 000008b4 d9053c1a0000 fld st0, dword [0x1a3c] 000008ba d84c2414 fmul st0, dword [esp+0x14] 000008be dec1 faddp st1, st0 000008c0 d805381a0000 fadd st0, dword [_d_tdivzorigin] 000008c6 d905501a0000 fld st0, dword [0x1a50] 000008cc d84c2410 fmul st0, dword [esp+0x10] 000008d0 d9054c1a0000 fld st0, dword [0x1a4c] 000008d6 d84c2414 fmul st0, dword [esp+0x14] 000008da dec1 faddp st1, st0 000008dc d805481a0000 fadd st0, dword [_d_ziorigin] 000008e2 d9059c120000 fld st0, dword [0x129c] 000008e8 d8f1 fdiv st0, st1 000008ea d9c0 fld st0, st0 000008ec d8cc fmul st0, st4 000008ee e825110000 call __ftol 000008f3 8b0d00000000 mov ecx, dword [0x0] 000008f9 8b2d00000000 mov ebp, dword [0x0] 000008ff 8bf0 mov esi, eax 00000901 03f1 add esi, ecx 00000903 3bf5 cmp esi, ebp 00000905 7e04 jle 0x90b 00000907 8bf5 mov esi, ebp {0xa014c} 00000909 eb06 jmp 0x911 0000090b 85f6 test esi, esi 0000090d 7d02 jge 0x911 0000090f 33f6 xor esi, esi {0x0} 00000911 d8ca fmul st0, st2 00000913 e800110000 call __ftol 00000918 8b1500000000 mov edx, dword [0x0] 0000091e 8bd8 mov ebx, eax 00000920 a100000000 mov eax, dword [0x0] 00000925 03da add ebx, edx 00000927 3bd8 cmp ebx, eax 00000929 7e04 jle 0x92f 0000092b 8bd8 mov ebx, eax {0xa014c} 0000092d eb0e jmp 0x93d 0000092f 85db test ebx, ebx 00000931 7d0a jge 0x93d 00000933 33db xor ebx, ebx {0x0} 00000935 eb06 jmp 0x93d 00000937 8b2d00000000 mov ebp, dword [0x0] {0xa014c} 0000093d 83ff08 cmp edi, 0x8 00000940 7c0b jl 0x94d 00000942 b808000000 mov eax, 0x8 00000947 89442410 mov dword [esp+0x10 {var_18_3}], eax {0x8} 0000094b eb06 jmp 0x953 0000094d 897c2410 mov dword [esp+0x10 {var_18_3}], edi 00000951 8bc7 mov eax, edi 00000953 2bf8 sub edi, eax 00000955 897c2424 mov dword [esp+0x24 {var_4_1}], edi 00000959 747a je 0x9d5 0000095b d9ca fxch st0, st2 0000095d d8c5 fadd st0, st5 0000095f d9ca fxch st0, st2 00000961 d9c9 fxch st0, st1 00000963 d8c4 fadd st0, st4 00000965 d9c9 fxch st0, st1 00000967 d8c3 fadd st0, st3 00000969 d9059c120000 fld st0, dword [0x129c] 0000096f d8f1 fdiv st0, st1 00000971 d9c0 fld st0, st0 00000973 d8cc fmul st0, st4 00000975 e89e100000 call __ftol 0000097a 8b0d00000000 mov ecx, dword [0x0] 00000980 8bf8 mov edi, eax 00000982 03f9 add edi, ecx 00000984 3bfd cmp edi, ebp 00000986 7e04 jle 0x98c 00000988 8bfd mov edi, ebp {0xa014c} 0000098a eb0a jmp 0x996 0000098c 83ff08 cmp edi, 0x8 0000098f 7d05 jge 0x996 00000991 bf08000000 mov edi, 0x8 00000996 d8ca fmul st0, st2 00000998 e87b100000 call __ftol 0000099d 8b2d00000000 mov ebp, dword [0x0] 000009a3 8bc8 mov ecx, eax 000009a5 a100000000 mov eax, dword [0x0] 000009aa 03cd add ecx, ebp 000009ac 3bc8 cmp ecx, eax 000009ae 7e04 jle 0x9b4 000009b0 8bc8 mov ecx, eax {0xa014c} 000009b2 eb0a jmp 0x9be 000009b4 83f908 cmp ecx, 0x8 000009b7 7d05 jge 0x9be 000009b9 b908000000 mov ecx, 0x8 000009be 8bc7 mov eax, edi 000009c0 2bc6 sub eax, esi 000009c2 c1f803 sar eax, 0x3 000009c5 89442418 mov dword [esp+0x18 {var_10}], eax 000009c9 8bc1 mov eax, ecx 000009cb 2bc3 sub eax, ebx 000009cd c1f803 sar eax, 0x3 000009d0 e99d000000 jmp 0xa72 000009d5 8d68ff lea ebp, [eax-0x1] 000009d8 896c2414 mov dword [esp+0x14 {var_14_3}], ebp 000009dc db442414 fild st0, dword [esp+0x14] {".drectve"} 000009e0 d905301a0000 fld st0, dword [0x1a30] 000009e6 d8c9 fmul st0, st1 000009e8 dec4 faddp st4, st0 000009ea d9053c1a0000 fld st0, dword [0x1a3c] 000009f0 d8c9 fmul st0, st1 000009f2 dec3 faddp st3, st0 000009f4 d9054c1a0000 fld st0, dword [0x1a4c] 000009fa d8c9 fmul st0, st1 000009fc dec2 faddp st2, st0 000009fe ddd8 fstp st0, st0 00000a00 d9059c120000 fld st0, dword [0x129c] 00000a06 d8f1 fdiv st0, st1 00000a08 d9c0 fld st0, st0 00000a0a d8cc fmul st0, st4 00000a0c e807100000 call __ftol 00000a11 8b1500000000 mov edx, dword [0x0] 00000a17 8bf8 mov edi, eax 00000a19 a100000000 mov eax, dword [0x0] 00000a1e 03fa add edi, edx 00000a20 3bf8 cmp edi, eax 00000a22 7e04 jle 0xa28 00000a24 8bf8 mov edi, eax {0xa014c} 00000a26 eb0a jmp 0xa32 00000a28 83ff08 cmp edi, 0x8 00000a2b 7d05 jge 0xa32 00000a2d bf08000000 mov edi, 0x8 00000a32 d8ca fmul st0, st2 00000a34 e8df0f0000 call __ftol 00000a39 8bc8 mov ecx, eax 00000a3b a100000000 mov eax, dword [0x0] 00000a40 03c8 add ecx, eax 00000a42 a100000000 mov eax, dword [0x0] 00000a47 3bc8 cmp ecx, eax 00000a49 7e04 jle 0xa4f 00000a4b 8bc8 mov ecx, eax {0xa014c} 00000a4d eb0a jmp 0xa59 00000a4f 83f908 cmp ecx, 0x8 00000a52 7d05 jge 0xa59 00000a54 b908000000 mov ecx, 0x8 00000a59 837c241001 cmp dword [esp+0x10 {var_18_3}], 0x1 00000a5e 7e16 jle 0xa76 00000a60 8bc7 mov eax, edi 00000a62 2bc6 sub eax, esi 00000a64 99 cdq 00000a65 f7fd idiv ebp 00000a67 89442418 mov dword [esp+0x18 {var_10}], eax 00000a6b 8bc1 mov eax, ecx 00000a6d 2bc3 sub eax, ebx 00000a6f 99 cdq 00000a70 f7fd idiv ebp 00000a72 8944241c mov dword [esp+0x1c {var_c}], eax 00000a76 8bc3 mov eax, ebx 00000a78 8b2d1c1a0000 mov ebp, dword [_cacheblock] 00000a7e c1f810 sar eax, 0x10 00000a81 0faf05201a0000 imul eax, dword [_cachewidth] 00000a88 8bd6 mov edx, esi 00000a8a 03e8 add ebp, eax 00000a8c c1fa10 sar edx, 0x10 00000a8f 8a042a mov al, byte [edx+ebp] 00000a92 8b6c2420 mov ebp, dword [esp+0x20 {var_8_1}] 00000a96 8b542418 mov edx, dword [esp+0x18 {var_10}] 00000a9a 884500 mov byte [ebp], al 00000a9d 8b44241c mov eax, dword [esp+0x1c {var_c}] 00000aa1 03d8 add ebx, eax 00000aa3 8b442410 mov eax, dword [esp+0x10 {var_18_3}] 00000aa7 45 inc ebp 00000aa8 03f2 add esi, edx 00000aaa 48 dec eax 00000aab 896c2420 mov dword [esp+0x20 {var_8_1}], ebp 00000aaf 85c0 test eax, eax 00000ab1 89442410 mov dword [esp+0x10 {var_18_3}], eax 00000ab5 7fbf jg 0xa76 00000ab7 8bf7 mov esi, edi 00000ab9 8b7c2424 mov edi, dword [esp+0x24 {var_4_1}] 00000abd 85ff test edi, edi 00000abf 8bd9 mov ebx, ecx 00000ac1 0f8f70feffff jg 0x937 00000ac7 8b4c242c mov ecx, dword [esp+0x2c {arg1}] 00000acb ddd8 fstp st0, st0 00000acd 8b490c mov ecx, dword [ecx+0xc] 00000ad0 ddd8 fstp st0, st0 00000ad2 85c9 test ecx, ecx 00000ad4 ddd8 fstp st0, st0 00000ad6 894c242c mov dword [esp+0x2c {arg1}], ecx 00000ada 0f8579fdffff jne 0x859 00000ae0 ddd8 fstp st0, st0 00000ae2 5f pop edi {__saved_edi} 00000ae3 5e pop esi {__saved_esi} 00000ae4 ddd8 fstp st0, st0 00000ae6 5d pop ebp {__saved_ebp} 00000ae7 5b pop ebx {__saved_ebx} 00000ae8 ddd8 fstp st0, st0 00000aea 83c418 add esp, 0x18 00000aed c3 retn {__return_addr}