Function at 0x41bcd0
Capabilities:
Check http status code
Receive data
Receive data on socket
Resolve function by parsing pe exports
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x445eda
mov eax, dword fs:[0]
push eax
sub esp, 0x5e8
mov eax, dword [0x44eea4]
xor eax, esp
mov dword [esp + 0x5b0], eax
push ebx
push esi
push edi
mov eax, dword [0x44eea4]
xor eax, esp
push eax
lea eax, [esp + 0x5f8]
mov dword fs:[0], eax
mov eax, dword [0x450b90]
mov esi, dword [ebp + 8]
xor edi, edi
add eax, 1
and eax, reloc.DSOUND.dll_DirectSoundCreate
mov ebx, ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x38], edi
jns 0x41bd33
dec eax
or eax, 0xfffffffe
inc eax
mov dword [0x450b90], eax
jne 0x41bd52
mov ecx, dword [0x44fb60]
mov edx, dword [0x44fcb0]
mov dword [0x450bfc], ecx
mov dword [0x44fb60], edx
cmp dword [0x450bfc], 1
jne 0x41bd64
mov edi, 1
mov dword [esp + 0x38], edi
cmp dword [0x450b84], 0
je 0x41be0e
cmp byte [0x4553ed], 0x64
jne 0x41bd91
mov eax, 1
sub eax, dword [0x44d030]
mov byte [0x4553ed], 0x75
mov dword [0x44d030], eax
mov cl, byte [0x45539d]
cmp cl, 0x64
mov dl, byte [0x45539f]
je 0x41bda7
cmp dl, 0x64
jne 0x41bde8
cmp dword [0x450b74], 0
jne 0x41bdd1
mov esi, dword [0x450bc4]
mov eax, dword [0x450bc8]
mov dword [0x450b7c], esi
mov esi, dword [esp + 0x68]
mov dword [0x450b74], 1
jmp 0x41bdd6
mov eax, dword [0x450b78]
cmp cl, 0x64
jne 0x41bdde
sub eax, 5
cmp dl, 0x64
jne 0x41bded
add eax, 5
jmp 0x41bded
mov eax, dword [0x450b78]
cmp byte [0x4553a0], 0x64
jne 0x41c05a
mov dword [0x450b74], 0
mov dword [0x450b78], 0
cmp dword [0x450b84], 0
mov byte [esp + 0x434], 0
mov byte [esp + 0x435], 0
mov byte [esp + 0x436], 0
mov byte [esp + 0x437], 0
mov byte [esp + 0x438], 0
mov byte [esp + 0x439], 0
mov byte [esp + 0x43a], 0
mov byte [esp + 0x43b], 0
mov byte [esp + 0x43c], 0
mov byte [esp + 0x43d], 0
mov byte [esp + 0x440], 0
mov byte [esp + 0x441], 0
mov byte [esp + 0x442], 0
mov byte [esp + 0x443], 0
mov byte [esp + 0x444], 0
mov byte [esp + 0x445], 0
mov byte [esp + 0x446], 0
mov byte [esp + 0x447], 0
mov byte [esp + 0x448], 0
mov byte [esp + 0x449], 0
je 0x41becb
test edi, edi
jne 0x41becb
lea edx, [esp + 0x440]
push edx
call fcn.0043dd50
add esp, 4
cmp dword [0x44d05c], 1
jne 0x41c5ad
mov ecx, dword [0x45118c]
push esi
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
call fcn.0043f100
xor eax, eax
mov ecx, 0x190
mov edi, 0x457588
rep stosd dword es:[edi], eax
mov ecx, 0x50
mov edi, 0x453e10
rep stosd dword es:[edi], eax
push str.data001.wav
mov ecx, 0x451db0
call fcn.004014e0
push str.data002.wav
mov ecx, 0x451db4
call fcn.004014e0
push str.data006.wav
mov ecx, 0x451db8
call fcn.004014e0
push str.data010.wav
mov ecx, 0x451dbc
call fcn.004014e0
push str.data011.wav
mov ecx, 0x451dc0
call fcn.004014e0
push str.data004.wav
mov ecx, 0x451dc4
call fcn.004014e0
push str.data016.wav
mov ecx, 0x451dc8
call fcn.004014e0
push str.data017.wav
mov ecx, 0x451dcc
call fcn.004014e0
push str.data020.wav
mov ecx, 0x451dd0
call fcn.004014e0
push str.data021.wav
mov ecx, 0x451dd4
call fcn.004014e0
push str.data025.wav
mov ecx, 0x451dd8
call fcn.004014e0
push str.data032.wav
mov ecx, 0x451ddc
call fcn.004014e0
push str.data033.wav
mov ecx, 0x451de0
call fcn.004014e0
push str.data039.wav
mov ecx, 0x451de4
call fcn.004014e0
push str.data065.wav
mov ecx, 0x451de8
call fcn.004014e0
push str.data066.wav
mov ecx, 0x451dec
call fcn.004014e0
push str.data068.wav
mov ecx, 0x451df0
call fcn.004014e0
push 0x449460
mov ecx, 0x451df4
call fcn.004014e0
mov eax, dword [0x458348]
push eax
mov dword [0x45843c], 0x12
call fcn.0043ea40
push 0x4d823a8
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 0
je 0x41c090
push esi
push str.datadata.txt
mov ecx, eax
call fcn.00412360
jmp 0x41c092
cmp dword [0x450b74], 0
je 0x41be04
add dword [0x450b7c], eax
lea ecx, [eax + eax*2]
add ecx, ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [0x450b78], ecx
jmp 0x41be0e
xor eax, eax
mov dword [ebx + 0x7d4], eax
lea eax, [ebx + 0x194]
mov dword [esp + 0x600], 0xffffffff
xor esi, esi
mov dword [esp + 0x34], eax
nop
push 0x420
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
test edi, edi
je 0x41c0f9
mov ecx, dword [ebx + 0x7d4]
mov edx, dword [ecx]
mov ecx, edi
mov dword [esp + 0x44], edx
call fcn.004061e0
fld qword [0x449458]
mov eax, dword [esp + 0x44]
fstp qword [edi + 0x58]
fldz
mov dword [edi + 0x368], eax
fstp qword [edi + 0x60]
fld qword [0x447920]
fstp qword [edi + 0x68]
jmp 0x41c0fb
xor edi, edi
mov eax, dword [esp + 0x34]
mov dword [eax], edi
mov byte [ebx + esi + 4], 0
add esi, 1
add eax, 4
cmp esi, 0x190
mov dword [esp + 0x34], eax
jl 0x41c0b0
mov ecx, dword [ebx + 0x7d4]
mov edi, dword [ebx + 0x194]
mov esi, dword [ecx]
mov ecx, edi
call fcn.004061e0
fld qword [0x449458]
mov dword [edi + 0x368], esi
mov edx, dword [esi + 0x90]
fstp qword [edi + 0x58]
fldz
mov dword [edi + 0x31c], edx
fstp qword [edi + 0x60]
fld qword [0x447920]
fstp qword [edi + 0x68]
mov edi, dword [ebx + 0x198]
mov eax, dword [ebx + 0x7d4]
mov byte [ebx + 4], 1
mov esi, dword [eax]
mov ecx, edi
call fcn.004061e0
fld qword [0x449450]
mov dword [edi + 0x368], esi
mov ecx, dword [esi + 0x90]
fstp qword [edi + 0x58]
fldz
mov dword [edi + 0x31c], ecx
fstp qword [edi + 0x60]
fld qword [0x447920]
fstp qword [edi + 0x68]
mov edi, dword [ebx + 0x19c]
mov edx, dword [ebx + 0x7d4]
mov byte [ebx + 5], 1
mov esi, dword [edx]
mov ecx, edi
call fcn.004061e0
fld qword [0x449450]
mov dword [edi + 0x368], esi
mov eax, dword [esi + 0x90]
fstp qword [edi + 0x58]
fldz
mov dword [edi + 0x31c], eax
fstp qword [edi + 0x60]
fld qword [0x447920]
fstp qword [edi + 0x68]
mov ecx, dword [ebx + 0x7d4]
mov edi, dword [ebx + 0x1a0]
mov byte [ebx + 6], 1
mov esi, dword [ecx]
mov ecx, edi
call fcn.004061e0
fld qword [0x449450]
mov dword [edi + 0x368], esi
mov edx, dword [esi + 0x90]
fstp qword [edi + 0x58]
fldz
mov dword [edi + 0x31c], edx
fstp qword [edi + 0x60]
fld qword [0x447920]
fstp qword [edi + 0x68]
mov edi, dword [ebx + 0x1a4]
mov eax, dword [ebx + 0x7d4]
mov byte [ebx + 7], 1
mov esi, dword [eax]
mov ecx, edi
call fcn.004061e0
fld qword [0x447930]
mov dword [edi + 0x368], esi
mov ecx, dword [esi + 0x90]
fstp qword [edi + 0x58]
fld qword [0x447928]
mov dword [edi + 0x31c], ecx
fstp qword [edi + 0x60]
fld qword [0x447920]
fstp qword [edi + 0x68]
mov edi, dword [ebx + 0x1a8]
mov edx, dword [ebx + 0x7d4]
mov byte [ebx + 8], 1
mov esi, dword [edx]
mov ecx, edi
call fcn.004061e0
mov dword [edi + 0x368], esi
mov eax, dword [esi + 0x90]
fld qword [0x449448]
fstp qword [edi + 0x58]
mov dword [edi + 0x31c], eax
fldz
fstp qword [edi + 0x60]
fld qword [0x447920]
fstp qword [edi + 0x68]
mov ecx, dword [ebx + 0x7d4]
mov edi, dword [ebx + 0x1ac]
mov byte [ebx + 9], 1
mov esi, dword [ecx]
mov ecx, edi
call fcn.004061e0
fld qword [0x447930]
mov dword [edi + 0x368], esi
mov edx, dword [esi + 0x90]
fstp qword [edi + 0x58]
fld qword [0x447928]
mov dword [edi + 0x31c], edx
fstp qword [edi + 0x60]
fld qword [0x447920]
fstp qword [edi + 0x68]
mov edi, dword [ebx + 0x1b0]
mov eax, dword [ebx + 0x7d4]
mov byte [ebx + 0xa], 1
mov esi, dword [eax]
mov ecx, edi
call fcn.004061e0
fld qword [0x449448]
mov dword [edi + 0x368], esi
mov ecx, dword [esi + 0x90]
fstp qword [edi + 0x58]
fldz
mov dword [edi + 0x31c], ecx
fstp qword [edi + 0x60]
push 0x1f50
fld qword [0x447920]
fstp qword [edi + 0x68]
mov byte [ebx + 0xb], 1
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 1
je 0x41c360
push 0x44943c
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c362
xor eax, eax
or esi, 0xffffffff
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44ff8c], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 2
je 0x41c3a1
push 0x449434
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c3a3
xor eax, eax
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44f8f8], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 3
je 0x41c3df
push str.SCORE_BOARD1
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c3e1
xor eax, eax
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44fcb4], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 4
je 0x41c41d
push str.SCORE_BOARD2
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c41f
xor eax, eax
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44fd8c], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 5
je 0x41c45b
push str.SCORE_BOARD3
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c45d
xor eax, eax
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44f88c], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 6
je 0x41c499
push str.SCORE_BOARD4
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c49b
xor eax, eax
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44f87c], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 7
je 0x41c4d7
push str.WIN_ALIVE
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c4d9
xor eax, eax
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44fd90], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 8
je 0x41c515
push str.WIN_DEAD
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c517
xor eax, eax
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44fd94], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 9
je 0x41c553
push str.LOSE_DEAD
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c555
xor eax, eax
push 0x1f50
mov dword [esp + 0x604], esi
mov dword [0x44fb64], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
mov dword [esp + 0x600], 0xa
je 0x41c591
push str.BARS
push 0x40
mov ecx, eax
call fcn.0043ef50
jmp 0x41c593
xor eax, eax
mov edi, dword [esp + 0x38]
mov dword [esp + 0x600], esi
mov dword [0x44fd7c], eax
mov dword [0x44d05c], 0
test edi, edi
mov edx, dword [0x4493b0]
mov eax, dword [0x4493b4]
mov ecx, dword [0x4493b8]
mov dword [0x44d040], edx
mov edx, dword [0x4493bc]
mov dword [0x44d044], eax
mov eax, dword [0x4493c0]
mov dword [0x44d048], ecx
mov cl, byte [0x4493c4]
mov dword [0x44d04c], edx
mov dword [0x44d050], eax
mov byte [0x44d054], cl
jne 0x41c611
mov eax, dword [0x451160]
mov ecx, dword [0x450b90]
lea edx, [esp + 0x434]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00419a90
cmp dword [0x450b90], 0
jne 0x41d499
mov edx, dword [0x4546f4]
mov eax, dword [0x44f1b4]
push 0
push 0
push edx
push eax
call sub.WSOCK32.dll_WSAAsyncSelect
mov ecx, dword [0x4546f4]
mov edx, dword [0x44f46c]
push 0
push 0
push ecx
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
mov eax, dword [0x44f1b4]
push 0
push 0x8004667e
push eax
call sub.WSOCK32.dll_ioctlsocket
mov edx, dword [0x44f46c]
lea ecx, [esp + 0x44]
push ecx
push 0x8004667e
push edx
mov dword [esp + 0x50], 0
call sub.WSOCK32.dll_ioctlsocket
cmp byte [0x44f1af], 0
jne 0x41c9b2
cmp dword [0x450b88], 0
jne 0x41c84c
cmp byte [0x455471], 0x64
jne 0x41c6b5
lea eax, [esp + 0x434]
push eax
mov byte [0x455471], 0x75
call fcn.00416c90
add esp, 4
cmp byte [0x455470], 0x64
jne 0x41c6d5
lea ecx, [esp + 0x434]
push ecx
mov byte [0x455470], 0x75
call fcn.00416cc0
add esp, 4
cmp byte [0x4553eb], 0x64
mov esi, dword [0x44d020]
jne 0x41c707
test esi, esi
jne 0x41c707
push 0x451160
push 0x44d020
mov byte [0x4553eb], 0x75
call fcn.00416cf0
mov esi, dword [0x44d020]
add esp, 8
cmp byte [0x4553e8], 0x64
jne 0x41c728
test esi, esi
jne 0x41c728
push 0x44d020
mov byte [0x4553e8], 0x75
call fcn.00416df0
add esp, 4
cmp byte [0x4553e9], 0x64
jne 0x41c749
test esi, esi
jne 0x41c749
push 0x44d020
mov byte [0x4553e9], 0x75
call fcn.00416e10
add esp, 4
cmp byte [0x4553ea], 0x64
jne 0x41c772
test esi, esi
jne 0x41c772
push 0x44d020
lea edx, [esp + 0x438]
push edx
mov byte [0x4553ea], 0x75
call fcn.00416e30
add esp, 8
cmp byte [0x4553ec], 0x64
jne 0x41c79b
test esi, esi
jne 0x41c79b
lea eax, [esp + 0x434]
push 0x44d020
push eax
mov byte [0x4553ec], 0x75
call fcn.00416e50
add esp, 8
cmp byte [0x4553ed], 0x64
jne 0x41c7c5
push 0x451160
lea ecx, [esp + 0x438]
push 0x44d020
push ecx
mov byte [0x4553ed], 0x75
call fcn.00416e80
add esp, 0xc
cmp byte [0x4553ee], 0x64
jne 0x41c7ef
push 0x451160
lea edx, [esp + 0x438]
push 0x44d020
push edx
mov byte [0x4553ee], 0x75
call fcn.00416ed0
add esp, 0xc
cmp byte [0x4553ef], 0x64
jne 0x41c819
push 0x451160
lea eax, [esp + 0x438]
push 0x44d020
push eax
mov byte [0x4553ef], 0x75
call fcn.00416f30
add esp, 0xc
cmp byte [0x4553f0], 0x64
jne 0x41c9b8
push 0x451160
lea ecx, [esp + 0x438]
push 0x44d020
push ecx
mov byte [0x4553f0], 0x75
call fcn.00416f80
add esp, 0xc
jmp 0x41c9b8
cmp byte [0x4553eb], 0x64
jne 0x41c86e
push 0x451160
push 0x44d020
call fcn.00416cf0
add esp, 8
mov ecx, ebx
call fcn.00431cd0
cmp byte [0x4553ec], 0x64
jne 0x41c893
push 0x44d020
lea edx, [esp + 0x438]
push edx
mov byte [0x4553ec], 0x75
call fcn.00416e50
add esp, 8
test byte [esp + 0x449], 1
je 0x41c8ad
lea eax, [esp + 0x434]
push eax
call fcn.00416c90
add esp, 4
test byte [esp + 0x449], 2
je 0x41c8c7
lea ecx, [esp + 0x434]
push ecx
call fcn.00416cc0
add esp, 4
cmp byte [0x4553e8], 0x64
jne 0x41c8e4
push 0x44d020
mov byte [0x4553e8], 0x75
call fcn.00416df0
add esp, 4
cmp byte [0x4553e9], 0x64
jne 0x41c901
push 0x44d020
mov byte [0x4553e9], 0x75
call fcn.00416e10
add esp, 4
mov cl, byte [esp + 0x448]
test cl, 4
je 0x41c922
push 0x44d020
lea edx, [esp + 0x438]
push edx
call fcn.00416e30
add esp, 8
test cl, 0x10
je 0x41c948
push 0x451160
lea eax, [esp + 0x438]
push 0x44d020
push eax
call fcn.00416e80
mov cl, byte [esp + 0x454]
add esp, 0xc
test cl, 0x20
je 0x41c96e
push 0x451160
lea ecx, [esp + 0x438]
push 0x44d020
push ecx
call fcn.00416ed0
mov cl, byte [esp + 0x454]
add esp, 0xc
test cl, 0x40
je 0x41c994
push 0x451160
lea edx, [esp + 0x438]
push 0x44d020
push edx
call fcn.00416f30
mov cl, byte [esp + 0x454]
add esp, 0xc
test cl, cl
jns 0x41c9b2
push 0x451160
lea eax, [esp + 0x438]
push 0x44d020
push eax
call fcn.00416f80
add esp, 0xc
mov esi, dword [0x44d020]
cmp byte [0x44f1af], 1
jne 0x41cf2a
cmp byte [0x455471], 0x64
jne 0x41c9dc
or byte [0x44d04c], 8
mov byte [0x455471], 0x75
cmp byte [0x455470], 0x64
jne 0x41c9f3
or byte [0x44d04c], 0x10
mov byte [0x455470], 0x75
cmp byte [0x4553e8], 0x64
jne 0x41ca0e
test esi, esi
jne 0x41ca0e
or byte [0x44d04a], 2
mov byte [0x4553e8], 0x75
cmp byte [0x4553e9], 0x64
jne 0x41ca29
test esi, esi
jne 0x41ca29
or byte [0x44d04a], 0x40
mov byte [0x4553e9], 0x75
cmp byte [0x4553ea], 0x64
jne 0x41ca44
test esi, esi
jne 0x41ca44
or byte [0x44d04c], 2
mov byte [0x4553ea], 0x75
cmp byte [0x4553eb], 0x64
jne 0x41ca5f
test esi, esi
jne 0x41ca5f
or byte [0x44d04a], 4
mov byte [0x4553eb], 0x75
cmp byte [0x4553ec], 0x64
jne 0x41ca7a
test esi, esi
jne 0x41ca7a
or byte [0x44d04a], 8
mov byte [0x4553ec], 0x75
cmp byte [0x4553ed], 0x64
jne 0x41ca95
test esi, esi
jne 0x41ca95
or byte [0x44d04a], 0x10
mov byte [0x4553ed], 0x75
cmp byte [0x4553ee], 0x64
jne 0x41cab0
test esi, esi
jne 0x41cab0
or byte [0x44d04a], 0x20
mov byte [0x4553ee], 0x75
cmp byte [0x4553ef], 0x64
jne 0x41cacb
test esi, esi
jne 0x41cacb
or byte [0x44d04c], 4
mov byte [0x4553ef], 0x75
cmp byte [0x4553f0], 0x64
jne 0x41cae6
test esi, esi
jne 0x41cae6
or byte [0x44d04a], 0x80
mov byte [0x4553f0], 0x75
xor ecx, ecx
mov dword [0x450bf4], ecx
lea edx, [ebx + 5]
lea eax, [ebx + 0x198]
mov edi, 4
lea esp, [esp]
cmp byte [edx - 1], 1
jne 0x41cb15
mov esi, dword [eax - 4]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
cmp byte [edx], 1
jne 0x41cb28
mov esi, dword [eax]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
cmp byte [edx + 1], 1
jne 0x41cb3d
mov esi, dword [eax + 4]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
cmp byte [edx + 2], 1
jne 0x41cb52
mov esi, dword [eax + 8]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
cmp byte [edx + 3], 1
jne 0x41cb67
mov esi, dword [eax + 0xc]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
add eax, 0x14
add edx, 5
sub edi, 1
jne 0x41cb00
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
mov edx, 1
sub edx, eax
mov eax, dword [0x450bf0]
add ecx, edx
add eax, 1
cdq
mov esi, 0x32
idiv esi
mov al, byte [0x44d03c]
mov byte [0x44d04b], al
mov eax, dword [0x44f620]
mov dword [0x450bf4], ecx
mov byte [0x44d04d], cl
mov ecx, eax
and ecx, 0x800000ff
mov dword [0x450bf0], edx
mov byte [0x44d049], dl
jns 0x41cbd8
dec ecx
or ecx, 0xffffff00
inc ecx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
and eax, 0x800000ff
mov byte [0x44d04e], cl
jns 0x41cbf8
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [0x44f46c]
push 0
push 0x16
push 0x44d040
push edx
mov byte [0x44d04f], al
call sub.WSOCK32.dll_send
mov eax, dword [0x44f46c]
push 0
push 0x16
push 0x44f198
push eax
call sub.WSOCK32.dll_recv
cmp eax, 0x16
mov edi, eax
jae 0x41cc57
lea ecx, [ecx]
test eax, eax
jle 0x41cc57
mov eax, dword [0x44f46c]
push 0
mov ecx, 0x16
sub ecx, edi
push ecx
lea edx, [edi + 0x44f198]
push edx
push eax
call sub.WSOCK32.dll_recv
add edi, eax
cmp edi, 0x16
jb 0x41cc30
movsx ecx, byte [0x44f1a1]
cmp ecx, dword [0x450bf0]
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
je 0x41cca2
push 0
push str.Error
push str.Connection_Lost_
push 0
call edi
call fcn.004019b0
call fcn.00401d30
call fcn.0043d3a0
mov edx, dword [0x4546f4]
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0
push 0x10
push edx
call esi
jmp 0x41cca8
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
movsx eax, byte [0x44f1a3]
cmp eax, dword [0x44d03c]
je 0x41cce5
push 0
push str.Error
push str.Version_not_matched_
push 0
call edi
call fcn.004019b0
call fcn.00401d30
call fcn.0043d3a0
mov ecx, dword [0x4546f4]
push 0
push 0
push 0x10
push ecx
call esi
movsx edx, byte [0x44f1a5]
cmp edx, dword [0x450bf4]
je 0x41cd21
push 0
push str.Error
push str.Synchronisation_Error_
push 0
call edi
call fcn.004019b0
call fcn.00401d30
call fcn.0043d3a0
mov eax, dword [0x4546f4]
push 0
push 0
push 0x10
push eax
call esi
mov eax, dword [0x44f620]
mov ecx, eax
and ecx, 0x800000ff
jns 0x41cd38
dec ecx
or ecx, 0xffffff00
inc ecx
cmp byte [0x44f1a6], cl
jne 0x41cd62
cdq
and edx, 0xff
add eax, edx
sar eax, 8
and eax, 0x800000ff
jns 0x41cd5a
dec eax
or eax, 0xffffff00
inc eax
cmp byte [0x44f1a7], al
je 0x41cd90
push 0
push str.Error
push str.Data_Error__You_and_your_opponent_have_different_set_of_data_files.
push 0
call edi
call fcn.004019b0
call fcn.00401d30
call fcn.0043d3a0
mov edx, dword [0x4546f4]
push 0
push 0
push 0x10
push edx
call esi
mov cl, byte [0x44f1a2]
test cl, 2
mov dl, byte [0x44d04a]
jne 0x41cda6
test dl, 2
je 0x41cdb3
push 0x44d020
call fcn.00416df0
add esp, 4
test cl, 0x40
jne 0x41cdbd
test dl, 0x40
je 0x41cdca
push 0x44d020
call fcn.00416e10
add esp, 4
test cl, 4
jne 0x41cdd4
test dl, 4
je 0x41cde6
push 0x451160
push 0x44d020
call fcn.00416cf0
add esp, 8
test byte [0x44f1a2], 8
jne 0x41cdf8
test byte [0x44d04a], 8
je 0x41ce0d
lea eax, [esp + 0x434]
push 0x44d020
push eax
call fcn.00416e50
add esp, 8
mov cl, byte [0x44f1a4]
test cl, 2
mov dl, byte [0x44d04c]
jne 0x41ce23
test dl, 2
je 0x41ce38
lea eax, [esp + 0x434]
push 0x44d020
push eax
call fcn.00416e30
add esp, 8
test cl, 8
jne 0x41ce42
test dl, 8
je 0x41ce52
lea ecx, [esp + 0x434]
push ecx
call fcn.00416c90
add esp, 4
test byte [0x44f1a4], 0x10
jne 0x41ce64
test byte [0x44d04c], 0x10
je 0x41ce74
lea edx, [esp + 0x434]
push edx
call fcn.00416cc0
add esp, 4
test byte [0x44f1a2], 0x10
jne 0x41ce86
test byte [0x44d04a], 0x10
je 0x41cea0
push 0x451160
lea eax, [esp + 0x438]
push 0x44d020
push eax
call fcn.00416e80
add esp, 0xc
test byte [0x44f1a2], 0x20
jne 0x41ceb2
test byte [0x44d04a], 0x20
je 0x41cecc
push 0x451160
lea ecx, [esp + 0x438]
push 0x44d020
push ecx
call fcn.00416ed0
add esp, 0xc
test byte [0x44f1a4], 4
jne 0x41cede
test byte [0x44d04c], 4
je 0x41cef8
push 0x451160
lea edx, [esp + 0x438]
push 0x44d020
push edx
call fcn.00416f30
add esp, 0xc
test byte [0x44f1a2], 0x80
jne 0x41cf0a
test byte [0x44d04a], 0x80
je 0x41cf24
push 0x451160
lea eax, [esp + 0x438]
push 0x44d020
push eax
call fcn.00416f80
add esp, 0xc
mov esi, dword [0x44d020]
cmp byte [0x44f1af], 2
jne 0x41d49f
cmp byte [0x455471], 0x64
jne 0x41cf4e
or byte [0x44d04c], 8
mov byte [0x455471], 0x75
cmp byte [0x455470], 0x64
jne 0x41cf65
or byte [0x44d04c], 0x10
mov byte [0x455470], 0x75
cmp byte [0x4553e8], 0x64
jne 0x41cf80
test esi, esi
jne 0x41cf80
or byte [0x44d04a], 2
mov byte [0x4553e8], 0x75
cmp byte [0x4553e9], 0x64
jne 0x41cf9b
test esi, esi
jne 0x41cf9b
or byte [0x44d04a], 0x40
mov byte [0x4553e9], 0x75
cmp byte [0x4553ea], 0x64
jne 0x41cfb6
test esi, esi
jne 0x41cfb6
or byte [0x44d04c], 2
mov byte [0x4553ea], 0x75
cmp byte [0x4553eb], 0x64
jne 0x41cfd1
test esi, esi
jne 0x41cfd1
or byte [0x44d04a], 4
mov byte [0x4553eb], 0x75
cmp byte [0x4553ec], 0x64
jne 0x41cfec
test esi, esi
jne 0x41cfec
or byte [0x44d04a], 8
mov byte [0x4553ec], 0x75
cmp byte [0x4553ed], 0x64
jne 0x41d007
test esi, esi
jne 0x41d007
or byte [0x44d04a], 0x10
mov byte [0x4553ed], 0x75
cmp byte [0x4553ee], 0x64
jne 0x41d022
test esi, esi
jne 0x41d022
or byte [0x44d04a], 0x20
mov byte [0x4553ee], 0x75
cmp byte [0x4553ef], 0x64
jne 0x41d03d
test esi, esi
jne 0x41d03d
or byte [0x44d04c], 4
mov byte [0x4553ef], 0x75
cmp byte [0x4553f0], 0x64
jne 0x41d058
test esi, esi
jne 0x41d058
or byte [0x44d04a], 0x80
mov byte [0x4553f0], 0x75
xor ecx, ecx
mov dword [0x450bf4], ecx
lea edx, [ebx + 5]
lea eax, [ebx + 0x198]
mov edi, 4
mov edi, edi
cmp byte [edx - 1], 1
jne 0x41d085
mov esi, dword [eax - 4]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
cmp byte [edx], 1
jne 0x41d098
mov esi, dword [eax]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
cmp byte [edx + 1], 1
jne 0x41d0ad
mov esi, dword [eax + 4]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
cmp byte [edx + 2], 1
jne 0x41d0c2
mov esi, dword [eax + 8]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
cmp byte [edx + 3], 1
jne 0x41d0d7
mov esi, dword [eax + 0xc]
add ecx, dword [esi + 0x2fc]
mov dword [0x450bf4], ecx
add eax, 0x14
add edx, 5
sub edi, 1
jne 0x41d070
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
mov edx, 1
sub edx, eax
mov eax, dword [0x450bf0]
add ecx, edx
add eax, 1
cdq
mov esi, 0x32
idiv esi
mov al, byte [0x44d03c]
mov byte [0x44d04b], al
mov eax, dword [0x44f620]
mov dword [0x450bf4], ecx
mov byte [0x44d04d], cl
mov ecx, eax
and ecx, 0x800000ff
mov dword [0x450bf0], edx
mov byte [0x44d049], dl
jns 0x41d148
dec ecx
or ecx, 0xffffff00
inc ecx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
and eax, 0x800000ff
mov byte [0x44d04e], cl
jns 0x41d168
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [0x44f46c]
push 0
push 0x16
push 0x44f198
push edx
mov byte [0x44d04f], al
call sub.WSOCK32.dll_recv
cmp eax, 0x16
mov edi, eax
jae 0x41d1b8
lea esp, [esp]
test eax, eax
jle 0x41d1b8
mov edx, dword [0x44f46c]
push 0
mov eax, 0x16
sub eax, edi
push eax
lea ecx, [edi + 0x44f198]
push ecx
push edx
call sub.WSOCK32.dll_recv
add edi, eax
cmp edi, 0x16
jb 0x41d190
mov eax, dword [0x44f46c]
push 0
push 0x16
push 0x44d040
push eax
call sub.WSOCK32.dll_send
movsx ecx, byte [0x44f1a1]
cmp ecx, dword [0x450bf0]
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
je 0x41d217
push 0
push str.Error
push str.Connection_Lost_
push 0
call edi
call fcn.004019b0
call fcn.00401d30
call fcn.0043d3a0
mov edx, dword [0x4546f4]
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0
push 0x10
push edx
call esi
jmp 0x41d21d
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
movsx eax, byte [0x44f1a3]
cmp eax, dword [0x44d03c]
je 0x41d25a
push 0
push str.Error
push 0x44930c
push 0
call edi
call fcn.004019b0
call fcn.00401d30
call fcn.0043d3a0
mov ecx, dword [0x4546f4]
push 0
push 0
push 0x10
push ecx
call esi
movsx edx, byte [0x44f1a5]
cmp edx, dword [0x450bf4]
je 0x41d296
push 0
push str.Error
push str.Synchronisation_Error_
push 0
call edi
call fcn.004019b0
call fcn.00401d30
call fcn.0043d3a0
mov eax, dword [0x4546f4]
push 0
push 0
push 0x10
push eax
call esi
mov eax, dword [0x44f620]
mov ecx, eax
and ecx, 0x800000ff
jns 0x41d2ad
dec ecx
or ecx, 0xffffff00
inc ecx
cmp byte [0x44f1a6], cl
jne 0x41d2d7
cdq
and edx, 0xff
add eax, edx
sar eax, 8
and eax, 0x800000ff
jns 0x41d2cf
dec eax
or eax, 0xffffff00
inc eax
cmp byte [0x44f1a7], al
je 0x41d305
push 0
push str.Error
push str.Data_Error__You_and_your_opponent_have_different_set_of_data_files.
push 0
call edi
call fcn.004019b0
call fcn.00401d30
call fcn.0043d3a0
mov edx, dword [0x4546f4]
push 0
push 0
push 0x10
push edx
call esi
mov cl, byte [0x44f1a2]
test cl, 2
mov dl, byte [0x44d04a]
jne 0x41d31b
test dl, 2
je 0x41d328
push 0x44d020
call fcn.00416df0
add esp, 4
test cl, 0x40
jne 0x41d332
test dl, 0x40
je 0x41d33f
push 0x44d020
call fcn.00416e10
add esp, 4
test cl, 4
jne 0x41d349
test dl, 4
je 0x41d35b
push 0x451160
push 0x44d020
call fcn.00416cf0
add esp, 8
test byte [0x44f1a2], 8
jne 0x41d36d
test byte [0x44d04a], 8
je 0x41d382
lea eax, [esp + 0x434]
push 0x44d020
push eax
call fcn.00416e50
add esp, 8
mov cl, byte [0x44f1a4]
test cl, 2
mov dl, byte [0x44d04c]
jne 0x41d398
test dl, 2
je 0x41d3ad
lea eax, [esp + 0x434]
push 0x44d020
push eax
call fcn.00416e30
add esp, 8
test cl, 8
jne 0x41d3b7
test dl, 8
je 0x41d3c7
lea ecx, [esp + 0x434]
push ecx
call fcn.00416c90
add esp, 4
test byte [0x44f1a4], 0x10
jne 0x41d3d9
test byte [0x44d04c], 0x10
je 0x41d3e9
lea edx, [esp + 0x434]
push edx
call fcn.00416cc0
add esp, 4
test byte [0x44f1a2], 0x10
jne 0x41d3fb
test byte [0x44d04a], 0x10
je 0x41d415
push 0x451160
lea eax, [esp + 0x438]
push 0x44d020
push eax
call fcn.00416e80
add esp, 0xc
test byte [0x44f1a2], 0x20
jne 0x41d427
test byte [0x44d04a], 0x20
je 0x41d441
push 0x451160
lea ecx, [esp + 0x438]
push 0x44d020
push ecx
call fcn.00416ed0
add esp, 0xc
test byte [0x44f1a4], 4
jne 0x41d453
test byte [0x44d04c], 4
je 0x41d46d
push 0x451160
lea edx, [esp + 0x438]
push 0x44d020
push edx
call fcn.00416f30
add esp, 0xc
test byte [0x44f1a2], 0x80
jne 0x41d47f
test byte [0x44d04a], 0x80
je 0x41d499
push 0x451160
lea eax, [esp + 0x438]
push 0x44d020
push eax
call fcn.00416f80
add esp, 0xc
mov esi, dword [0x44d020]
cmp dword [esp + 0x38], 0
jne 0x41d613
mov edx, dword [0x450b90]
lea ecx, [esp + 0x434]
push ecx
push edx
push 0x44f198
mov ecx, ebx
call fcn.00419920
cmp dword [0x450b84], 0
je 0x41d60d
mov eax, dword [0x450b90]
push eax
lea ecx, [esp + 0x444]
push ecx
mov ecx, ebx
call fcn.004197d0
mov ecx, dword [0x450b8c]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x44], eax
imul eax, eax, 0x96
sub ecx, eax
jne 0x41d60d
xor eax, eax
lea edx, [ebx + 5]
lea ecx, [ebx + 0x198]
mov edi, 4
cmp byte [edx - 1], 1
jne 0x41d52f
mov esi, dword [ecx - 4]
add eax, dword [esi + 0x2fc]
cmp byte [edx], 1
jne 0x41d53c
mov esi, dword [ecx]
add eax, dword [esi + 0x2fc]
cmp byte [edx + 1], 1
jne 0x41d54b
mov esi, dword [ecx + 4]
add eax, dword [esi + 0x2fc]
cmp byte [edx + 2], 1
jne 0x41d55a
mov esi, dword [ecx + 8]
add eax, dword [esi + 0x2fc]
cmp byte [edx + 3], 1
jne 0x41d569
mov esi, dword [ecx + 0xc]
add eax, dword [esi + 0x2fc]
add ecx, 0x14
add edx, 5
sub edi, 1
jne 0x41d520
mov edx, dword [0x4588ac]
mov ecx, dword [esp + 0x44]
cmp eax, dword [edx + ecx*4 + 0x14b8]
je 0x41d60d
push 0
push 0
push str.Recording_file_error__Replaying_canceled_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, ebx
call fcn.00431cd0
cmp dword [0x450b84], 0
mov esi, dword [0x44d020]
je 0x41d613
cmp esi, 0xa
je 0x41d613
xor esi, esi
cmp dword [0x4588ac], esi
mov dword [0x451160], 6
je 0x41d5f4
cmp dword [0x450b88], esi
je 0x41d5f4
call fcn.0043e000
mov eax, dword [0x4588ac]
mov edx, dword [eax + 0x630bb8]
mov dword [0x458428], edx
mov eax, dword [eax + 0x630bbc]
mov dword [0x45842c], eax
mov dword [0x450b88], esi
mov dword [0x450b84], esi
mov esi, 0xa
mov dword [0x44d020], esi
jmp 0x41d613
mov esi, dword [0x44d020]
cmp dword [0x450b80], 0
je 0x41d710
cmp dword [esp + 0x38], 0
jne 0x41d748
cmp dword [0x450b84], 0
je 0x41d63e
lea ecx, [esp + 0x440]
push ecx
jmp 0x41d646
lea edx, [esp + 0x434]
push edx
call fcn.0043dc40
mov ecx, dword [0x450b8c]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
imul eax, eax, 0x96
add esp, 4
sub ecx, eax
jne 0x41d6e7
xor eax, eax
lea edx, [ebx + 5]
lea ecx, [ebx + 0x198]
mov dword [esp + 0x34], 4
cmp byte [edx - 1], 1
jne 0x41d693
mov esi, dword [ecx - 4]
add eax, dword [esi + 0x2fc]
cmp byte [edx], 1
jne 0x41d6a0
mov esi, dword [ecx]
add eax, dword [esi + 0x2fc]
cmp byte [edx + 1], 1
jne 0x41d6af
mov esi, dword [ecx + 4]
add eax, dword [esi + 0x2fc]
cmp byte [edx + 2], 1
jne 0x41d6be
mov esi, dword [ecx + 8]
add eax, dword [esi + 0x2fc]
cmp byte [edx + 3], 1
jne 0x41d6cd
mov esi, dword [ecx + 0xc]
add eax, dword [esi + 0x2fc]
add ecx, 0x14
add edx, 5
sub dword [esp + 0x34], 1
jne 0x41d684
mov ecx, dword [0x4588a8]
mov dword [ecx + edi*4 + 0x14b8], eax
mov esi, dword [0x44d020]
mov ecx, dword [0x450b8c]
mov eax, 0x9e33f
cmp ecx, eax
jge 0x41d719
add ecx, 1
cmp ecx, eax
mov dword [0x450b8c], ecx
jl 0x41d748
mov dword [0x450b8c], eax
jmp 0x41d748
cmp dword [esp + 0x38], 0
jne 0x41d748
jmp 0x41d6ed
cmp dword [0x450b80], 0
mov dword [0x450b8c], eax
je 0x41d748
push 0
push 0
push 0x4492a0
push 0
mov dword [0x450b80], 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esi, dword [0x44d020]
mov eax, 2
cmp dword [0x450bfc], eax
mov dword [0x450c00], 0
mov edi, 1
jne 0x41d76a
mov dword [0x450c00], edi
cmp dword [esp + 0x38], 0
je 0x41d7d4
mov esi, dword [esp + 0x68]
push esi
mov ecx, ebx
mov dword [0x44d02c], edi
call fcn.0041a280
mov edx, dword [0x451160]
mov eax, dword [0x450bd8]
push edx
push eax
push esi
mov ecx, ebx
call fcn.0041a5d0
push esi
mov ecx, ebx
call fcn.0041ae90
mov ecx, dword [0x455608]
push ecx
mov ecx, dword [0x44ff8c]
push 0
push edi
push 0xffffffffffffffff
push 0x120
push 0x168
call fcn.0043f100
cmp dword [0x450b84], 0
je 0x4229d4
push esi
jmp 0x422992
cmp dword [0x450bfc], eax
jne 0x41d7e2
mov dword [0x450bfc], edi
mov eax, dword [0x450bd0]
add eax, 1
mov ecx, edi
sub ecx, dword [0x450bd8]
cdq
mov dword [0x450bd8], ecx
mov ecx, 0xc
idiv ecx
mov eax, dword [0x450bd4]
add eax, 1
mov ecx, 3
mov dword [esp + 0x64], 0
mov dword [0x450bd0], edx
cdq
idiv ecx
cmp dword [0x451160], edi
mov dword [0x450bd4], edx
je 0x41dc02
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], eax
lea edx, [ebx + 5]
lea eax, [ebx + 0x198]
mov esi, 0x50
cmp byte [edx - 1], 0
je 0x41d996
mov ecx, dword [eax - 4]
cmp dword [ecx + 0x2fc], 0
jle 0x41d996
mov edi, dword [ecx + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x41d996
mov ecx, dword [ecx + 0x364]
test ecx, ecx
jle 0x41d996
cmp ecx, 0x28
jge 0x41d996
cmp ecx, 5
je 0x41d996
mov ecx, dword [eax - 4]
mov ecx, dword [ecx + 0x364]
add dword [esp + ecx*4 + 0x74], 1
lea ecx, [esp + ecx*4 + 0x74]
cmp byte [edx], 0
je 0x41d9e2
mov ecx, dword [eax]
cmp dword [ecx + 0x2fc], 0
jle 0x41d9e2
mov edi, dword [ecx + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x41d9e2
mov ecx, dword [ecx + 0x364]
test ecx, ecx
jle 0x41d9e2
cmp ecx, 0x28
jge 0x41d9e2
cmp ecx, 5
je 0x41d9e2
mov ecx, dword [eax]
mov edi, dword [ecx + 0x364]
mov edi, dword [esp + edi*4 + 0x74]
mov ecx, dword [ecx + 0x364]
add edi, 1
mov dword [esp + ecx*4 + 0x74], edi
cmp byte [edx + 1], 0
je 0x41da31
mov ecx, dword [eax + 4]
cmp dword [ecx + 0x2fc], 0
jle 0x41da31
mov edi, dword [ecx + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x41da31
mov ecx, dword [ecx + 0x364]
test ecx, ecx
jle 0x41da31
cmp ecx, 0x28
jge 0x41da31
cmp ecx, 5
je 0x41da31
mov ecx, dword [eax + 4]
mov edi, dword [ecx + 0x364]
mov edi, dword [esp + edi*4 + 0x74]
mov ecx, dword [ecx + 0x364]
add edi, 1
mov dword [esp + ecx*4 + 0x74], edi
cmp byte [edx + 2], 0
je 0x41da80
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x2fc], 0
jle 0x41da80
mov edi, dword [ecx + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x41da80
mov ecx, dword [ecx + 0x364]
test ecx, ecx
jle 0x41da80
cmp ecx, 0x28
jge 0x41da80
cmp ecx, 5
je 0x41da80
mov ecx, dword [eax + 8]
mov edi, dword [ecx + 0x364]
mov edi, dword [esp + edi*4 + 0x74]
mov ecx, dword [ecx + 0x364]
add edi, 1
mov dword [esp + ecx*4 + 0x74], edi
cmp byte [edx + 3], 0
je 0x41dacf
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x2fc], 0
jle 0x41dacf
mov edi, dword [ecx + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x41dacf
mov ecx, dword [ecx + 0x364]
test ecx, ecx
jle 0x41dacf
cmp ecx, 0x28
jge 0x41dacf
cmp ecx, 5
je 0x41dacf
mov ecx, dword [eax + 0xc]
mov edi, dword [ecx + 0x364]
mov edi, dword [esp + edi*4 + 0x74]
mov ecx, dword [ecx + 0x364]
add edi, 1
mov dword [esp + ecx*4 + 0x74], edi
add eax, 0x14
add edx, 5
sub esi, 1
jne 0x41d94f
xor ecx, ecx
mov eax, 2
lea edx, [esp + 0x78]
lea esp, [esp]
cmp dword [edx - 4], 0
jle 0x41db02
lea esi, [eax - 2]
add ecx, 1
mov dword [0x450bf8], esi
cmp dword [edx], 0
jle 0x41db13
lea esi, [eax - 1]
add ecx, 1
mov dword [0x450bf8], esi
cmp dword [edx + 4], 0
jle 0x41db21
add ecx, 1
mov dword [0x450bf8], eax
cmp dword [edx + 8], 0
jle 0x41db33
lea esi, [eax + 1]
add ecx, 1
mov dword [0x450bf8], esi
cmp dword [edx + 0xc], 0
jle 0x41db45
lea esi, [eax + 2]
add ecx, 1
mov dword [0x450bf8], esi
add eax, 5
lea esi, [eax - 2]
add edx, 0x14
cmp esi, 0x28
jl 0x41daf0
cmp ecx, 2
jge 0x41dbdc
cmp dword [0x44d020], 0
jne 0x41dbdc
cmp dword [0x451b7c], 1
mov eax, dword [0x451160]
je 0x41db78
cmp eax, 4
je 0x41dbe1
test ecx, ecx
jne 0x41db86
mov dword [0x450bf8], 0xffffffff
mov ecx, dword [0x450bdc]
add ecx, 1
cmp ecx, 0x50
mov dword [0x450bdc], ecx
jne 0x41dd84
test eax, eax
je 0x41dbc4
cmp eax, 2
je 0x41dbc4
cmp eax, 3
je 0x41dbc4
cmp eax, 4
je 0x41dbc4
cmp eax, 5
je 0x41dd78
call fcn.00402100
mov eax, dword [0x451160]
cmp eax, 5
je 0x41dd78
mov dword [0x44d02c], 1
jmp 0x41dd78
mov eax, dword [0x451160]
cmp eax, 2
je 0x41dd84
cmp eax, 3
je 0x41dd84
mov dword [0x450bf8], 0xffffffff
jmp 0x41dd84
test esi, esi
jne 0x41dd84
mov edi, 1
lea edx, [ebx + 5]
lea ecx, [ebx + 0x198]
mov dword [esp + 0x34], 0x50
cmp byte [edx - 1], 0
je 0x41dc57
mov eax, dword [ecx - 4]
cmp dword [eax + 0x2fc], 0
jle 0x41dc57
mov esi, dword [eax + 0x368]
cmp dword [esi + 0x6f8], 0
jne 0x41dc57
mov eax, dword [eax + 0x364]
test eax, eax
jle 0x41dc57
cmp eax, 0x28
jge 0x41dc57
cmp eax, 5
je 0x41dc57
xor edi, edi
cmp byte [edx], 0
je 0x41dc8c
mov eax, dword [ecx]
cmp dword [eax + 0x2fc], 0
jle 0x41dc8c
mov esi, dword [eax + 0x368]
cmp dword [esi + 0x6f8], 0
jne 0x41dc8c
mov eax, dword [eax + 0x364]
test eax, eax
jle 0x41dc8c
cmp eax, 0x28
jge 0x41dc8c
cmp eax, 5
je 0x41dc8c
xor edi, edi
cmp byte [edx + 1], 0
je 0x41dcc3
mov eax, dword [ecx + 4]
cmp dword [eax + 0x2fc], 0
jle 0x41dcc3
mov esi, dword [eax + 0x368]
cmp dword [esi + 0x6f8], 0
jne 0x41dcc3
mov eax, dword [eax + 0x364]
test eax, eax
jle 0x41dcc3
cmp eax, 0x28
jge 0x41dcc3
cmp eax, 5
je 0x41dcc3
xor edi, edi
cmp byte [edx + 2], 0
je 0x41dcfa
mov eax, dword [ecx + 8]
cmp dword [eax + 0x2fc], 0
jle 0x41dcfa
mov esi, dword [eax + 0x368]
cmp dword [esi + 0x6f8], 0
jne 0x41dcfa
mov eax, dword [eax + 0x364]
test eax, eax
jle 0x41dcfa
cmp eax, 0x28
jge 0x41dcfa
cmp eax, 5
je 0x41dcfa
xor edi, edi
cmp byte [edx + 3], 0
je 0x41dd31
mov eax, dword [ecx + 0xc]
cmp dword [eax + 0x2fc], 0
jle 0x41dd31
mov esi, dword [eax + 0x368]
cmp dword [esi + 0x6f8], 0
jne 0x41dd31
mov eax, dword [eax + 0x364]
test eax, eax
jle 0x41dd31
cmp eax, 0x28
jge 0x41dd31
cmp eax, 5
je 0x41dd31
xor edi, edi
add ecx, 0x14
add edx, 5
sub dword [esp + 0x34], 1
jne 0x41dc20
mov dword [esp + 0x64], edi
cmp edi, 1
mov edi, dword [0x450ba8]
je 0x41dd55
test edi, edi
jle 0x41dd8a
add dword [0x450bdc], 1
test edi, edi
jg 0x41dd8a
cmp dword [0x450bdc], 0x50
jne 0x41dd8a
mov dword [0x44d02c], 1
call fcn.00402100
push 0
mov ecx, 0x45561c
call fcn.00401a30
mov edi, dword [0x450ba8]
mov eax, dword [0x450bdc]
cmp eax, 0x91
mov edx, dword [0x450c2c]
jne 0x41de27
test edx, edx
jne 0x41ddae
mov eax, 0x90
mov dword [0x450bdc], eax
cmp dword [0x44d020], 0
jne 0x422a0c
cmp eax, 0x90
jl 0x41e379
mov ecx, dword [0x450b94]
lea esi, [ebx + 0x198]
mov dword [esp + 0x34], 2
lea ebx, [ebx]
mov eax, dword [esi - 4]
cmp byte [eax + 0xd1], 1
je 0x41ddf9
cmp byte [eax + 0xd2], 1
jne 0x41e210
test edx, edx
jne 0x41e1d0
cmp dword [0x451160], 1
jne 0x41e1e2
cmp edi, 1
jne 0x41e1d9
mov edi, 3
mov dword [0x450ba8], edi
jmp 0x41e210
cmp eax, 0x15e
jl 0x41ddae
fldz
lea edx, [ebx + 4]
mov dword [esp + 0x34], edx
lea esi, [ebx + 0x194]
mov dword [esp + 0x64], 0x190
mov eax, dword [esp + 0x34]
cmp byte [eax], 0
je 0x41e104
mov eax, dword [esi]
mov edx, dword [eax + 0x324]
or ecx, 0xffffffff
cmp edx, ecx
jle 0x41debe
mov ecx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [ecx + 0x4d82380], eax
jle 0x41e104
mov edi, dword [ecx]
cmp dword [edi + 0x6f4], edx
je 0x41de9c
mov edi, dword [ebx + 0x7d4]
add eax, 1
add ecx, 4
cmp eax, dword [edi + 0x4d82380]
jl 0x41de79
jmp 0x41e104
mov ecx, dword [ebx + 0x7d4]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi]
mov dword [edx + 0x368], eax
mov ecx, dword [esi]
mov dword [ecx + 0x324], 0xffffffff
jmp 0x41e104
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f4], 0x32
jne 0x41df20
cmp dword [0x458428], 0
jne 0x41df20
mov edx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [edx + 0x4d82380], eax
jle 0x41e104
mov ecx, edx
mov edi, dword [ecx]
cmp dword [edi + 0x6f4], 6
je 0x41df10
mov edi, dword [ebx + 0x7d4]
add eax, 1
add ecx, 4
cmp eax, dword [edi + 0x4d82380]
jl 0x41deec
jmp 0x41e104
mov ecx, dword [edx + eax*4]
mov eax, dword [esi]
mov dword [eax + 0x368], ecx
jmp 0x41e104
cmp dword [eax + 0x328], ecx
jle 0x41e104
mov edi, dword [eax + 0x32c]
mov dword [eax + 0x328], ecx
mov edx, dword [esi]
mov dword [edx + 0x338], 0x384
mov eax, dword [ebx + 0x7d4]
xor ecx, ecx
cmp dword [eax + 0x4d82380], ecx
mov dword [esp + 0x54], ecx
jle 0x41dff8
fstp st(0)
mov edx, dword [ebx + 0x7d4]
mov eax, dword [edx + ecx*4]
mov edx, dword [eax + 0x6f4]
mov dword [esp + 0x4c], eax
mov eax, dword [esi]
cmp edx, dword [eax + 0x330]
jne 0x41df87
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x368], edx
jmp 0x41dfdd
cmp edx, dword [eax + 0x334]
jne 0x41dfdd
mov ecx, dword [ebx + edi*4 + 0x194]
mov dword [esp + 0x44], ecx
call fcn.004061e0
fld qword [0x447930]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x368], ecx
mov ecx, dword [ecx + 0x90]
fstp qword [eax + 0x58]
fld qword [0x447928]
mov dword [eax + 0x31c], ecx
mov ecx, dword [esp + 0x54]
fstp qword [eax + 0x60]
fld qword [0x447920]
fstp qword [eax + 0x68]
mov byte [ebx + edi + 4], 1
mov edx, dword [ebx + 0x7d4]
add ecx, 1
cmp ecx, dword [edx + 0x4d82380]
mov dword [esp + 0x54], ecx
jl 0x41df5e
fldz
mov eax, dword [esi]
mov eax, dword [eax + 0x2fc]
mov ecx, dword [ebx + edi*4 + 0x194]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 0x2fc], eax
mov edx, dword [esi]
mov eax, dword [edx + 0x300]
mov ecx, dword [ebx + edi*4 + 0x194]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 0x300], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x2fc]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 0x2fc], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x300]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 0x300], eax
mov edx, dword [esi]
mov ecx, dword [edx + 0x10]
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x10], ecx
mov edx, dword [esi]
mov ecx, dword [edx + 0x18]
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx + edi*4 + 0x194]
xor ecx, ecx
mov dword [edx + 0x14], ecx
mov eax, dword [ebx + edi*4 + 0x194]
fild dword [eax + 0x10]
fstp qword [eax + 0x58]
mov eax, dword [ebx + edi*4 + 0x194]
fild dword [eax + 0x18]
fstp qword [eax + 0x68]
mov eax, dword [ebx + edi*4 + 0x194]
fst qword [eax + 0x60]
mov edx, dword [esi]
fst qword [edx + 0x40]
mov eax, dword [ebx + edi*4 + 0x194]
fst qword [eax + 0x40]
mov edx, dword [esi]
mov al, 1
sub al, byte [edx + 0x80]
mov edx, dword [ebx + edi*4 + 0x194]
mov byte [edx + 0x80], al
mov edx, dword [esi]
mov eax, 0x70
mov dword [edx + 0x70], eax
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0x70], eax
mov eax, dword [esi]
mov dword [eax + 0x308], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0x308], ecx
mov eax, dword [esi]
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x364]
mov dword [ecx + 0x364], edx
mov eax, 1
add dword [esp + 0x34], eax
add esi, 4
sub dword [esp + 0x64], eax
jne 0x41de49
mov eax, dword [0x451160]
fstp st(0)
cmp eax, 2
jne 0x41e132
mov dword [0x44d020], 0x1c
jmp 0x41e159
cmp eax, 3
jne 0x41e143
mov dword [0x44d020], 0x80
jmp 0x41e159
sub eax, 4
neg eax
sbb eax, eax
and eax, 0xffffff38
add eax, 0xca
mov dword [0x44d020], eax
xor esi, esi
mov ecx, ebx
mov dword [0x450bdc], esi
call fcn.00431cd0
cmp dword [0x450b88], esi
je 0x422ad9
mov edi, 0xa
cmp dword [0x44d020], edi
je 0x422ad9
cmp dword [0x4588ac], esi
mov dword [0x451160], 6
je 0x41e1b9
call fcn.0043e000
mov eax, dword [0x4588ac]
mov ecx, dword [eax + 0x630bb8]
mov dword [0x458428], ecx
mov edx, dword [eax + 0x630bbc]
mov dword [0x45842c], edx
mov dword [0x450b88], esi
mov dword [0x450b84], esi
mov dword [0x44d020], edi
jmp 0x422ad9
cmp dword [0x451160], 1
jne 0x41e1e2
cmp edi, 2
je 0x41e1e2
test edi, edi
jne 0x41e210
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
add ecx, ecx
xor edx, edx
mov dword [0x450b94], ecx
mov dword [0x450bdc], 0x15e
mov dword [0x450c2c], edx
mov eax, dword [esi]
cmp byte [eax + 0xd1], 1
je 0x41e224
cmp byte [eax + 0xd2], 1
jne 0x41e283
test edx, edx
jne 0x41e243
cmp dword [0x451160], 1
jne 0x41e255
cmp edi, 1
jne 0x41e24c
mov edi, 3
mov dword [0x450ba8], edi
jmp 0x41e283
cmp dword [0x451160], 1
jne 0x41e255
cmp edi, 2
je 0x41e255
test edi, edi
jne 0x41e283
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
add ecx, ecx
xor edx, edx
mov dword [0x450b94], ecx
mov dword [0x450bdc], 0x15e
mov dword [0x450c2c], edx
mov eax, dword [esi + 4]
cmp byte [eax + 0xd1], 1
je 0x41e298
cmp byte [eax + 0xd2], 1
jne 0x41e2f7
test edx, edx
jne 0x41e2b7
cmp dword [0x451160], 1
jne 0x41e2c9
cmp edi, 1
jne 0x41e2c0
mov edi, 3
mov dword [0x450ba8], edi
jmp 0x41e2f7
cmp dword [0x451160], 1
jne 0x41e2c9
cmp edi, 2
je 0x41e2c9
test edi, edi
jne 0x41e2f7
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
add ecx, ecx
xor edx, edx
mov dword [0x450b94], ecx
mov dword [0x450bdc], 0x15e
mov dword [0x450c2c], edx
mov eax, dword [esi + 8]
cmp byte [eax + 0xd1], 1
je 0x41e30c
cmp byte [eax + 0xd2], 1
jne 0x41e36b
test edx, edx
jne 0x41e32b
cmp dword [0x451160], 1
jne 0x41e33d
cmp edi, 1
jne 0x41e334
mov edi, 3
mov dword [0x450ba8], edi
jmp 0x41e36b
cmp dword [0x451160], 1
jne 0x41e33d
cmp edi, 2
je 0x41e33d
test edi, edi
jne 0x41e36b
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
add ecx, ecx
xor edx, edx
mov dword [0x450b94], ecx
mov dword [0x450bdc], 0x15e
mov dword [0x450c2c], edx
add esi, 0x10
sub dword [esp + 0x34], 1
jne 0x41dde0
xor esi, esi
mov dword [esp + 0x3c], esi
lea edi, [ebx + 0x194]
cmp byte [ebx + esi + 4], 0
je 0x41e65a
mov eax, dword [0x451160]
mov ecx, dword [0x450b90]
push eax
push ecx
mov ecx, dword [edi]
call fcn.004130f0
mov eax, dword [edi]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0x190
jne 0x41e3d5
cmp dword [0x450bd8], 0
jne 0x41e3d5
push 1
push esi
mov ecx, ebx
call fcn.00403280
mov eax, dword [edi]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0x191
jne 0x41e406
cmp dword [0x450bd8], 0
jne 0x41e406
push 2
push esi
mov ecx, ebx
call fcn.00403280
mov eax, dword [edi]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0x1f4
jne 0x41e43e
or ecx, 0xffffffff
cmp dword [eax + 0x33c], ecx
je 0x41e437
cmp dword [eax + 0x324], ecx
jle 0x41e43e
mov dword [eax + 0x70], 0
mov eax, dword [edi]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0x1f5
jne 0x41e65a
mov edx, dword [eax + 0x33c]
cmp edx, 0xffffffff
jle 0x41e65a
mov ecx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [ecx + 0x4d82380], eax
jle 0x41e65a
mov esi, dword [ecx]
cmp dword [esi + 0x6f4], edx
je 0x41e4a6
mov esi, dword [ebx + 0x7d4]
add eax, 1
add ecx, 4
cmp eax, dword [esi + 0x4d82380]
jl 0x41e483
jmp 0x41e65a
mov ecx, dword [edi]
mov edx, dword [ecx + 0x368]
mov edx, dword [edx + 0x6f4]
mov dword [ecx + 0x324], edx
mov ecx, dword [ebx + 0x7d4]
mov eax, dword [ecx + eax*4]
mov edx, dword [edi]
mov dword [edx + 0x368], eax
mov ecx, dword [edi]
mov dword [ecx + 0x70], 0
lea edx, [ebx + 5]
lea eax, [ebx + 0x198]
mov dword [esp + 0x34], 0x50
cmp byte [edx - 1], 0
je 0x41e52d
mov ecx, dword [eax - 4]
mov esi, dword [esp + 0x3c]
cmp dword [ecx + 0x2f4], esi
jne 0x41e52d
cmp dword [ecx + 0x2fc], 0
jle 0x41e52d
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x368]
mov esi, dword [eax - 4]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax - 4]
cmp dword [ecx + 0x14], 0
jge 0x41e526
mov dword [ecx + 0x70], 0xd4
jmp 0x41e52d
mov dword [ecx + 0x70], 0
cmp byte [edx], 0
je 0x41e571
mov ecx, dword [eax]
mov esi, dword [esp + 0x3c]
cmp dword [ecx + 0x2f4], esi
jne 0x41e571
cmp dword [ecx + 0x2fc], 0
jle 0x41e571
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x368]
mov esi, dword [eax]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax]
cmp dword [ecx + 0x14], 0
jge 0x41e56a
mov dword [ecx + 0x70], 0xd4
jmp 0x41e571
mov dword [ecx + 0x70], 0
cmp byte [edx + 1], 0
je 0x41e5b9
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x3c]
cmp dword [ecx + 0x2f4], esi
jne 0x41e5b9
cmp dword [ecx + 0x2fc], 0
jle 0x41e5b9
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x368]
mov esi, dword [eax + 4]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax + 4]
cmp dword [ecx + 0x14], 0
jge 0x41e5b2
mov dword [ecx + 0x70], 0xd4
jmp 0x41e5b9
mov dword [ecx + 0x70], 0
cmp byte [edx + 2], 0
je 0x41e601
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x3c]
cmp dword [ecx + 0x2f4], esi
jne 0x41e601
cmp dword [ecx + 0x2fc], 0
jle 0x41e601
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x368]
mov esi, dword [eax + 8]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], 0
jge 0x41e5fa
mov dword [ecx + 0x70], 0xd4
jmp 0x41e601
mov dword [ecx + 0x70], 0
cmp byte [edx + 3], 0
je 0x41e649
mov ecx, dword [eax + 0xc]
mov esi, dword [esp + 0x3c]
cmp dword [ecx + 0x2f4], esi
jne 0x41e649
cmp dword [ecx + 0x2fc], 0
jle 0x41e649
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x368]
mov esi, dword [eax + 0xc]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x14], 0
jge 0x41e642
mov dword [ecx + 0x70], 0xd4
jmp 0x41e649
mov dword [ecx + 0x70], 0
add eax, 0x14
add edx, 5
sub dword [esp + 0x34], 1
jne 0x41e4e5
mov esi, dword [esp + 0x3c]
add esi, 1
add edi, 4
cmp esi, 0x190
mov dword [esp + 0x3c], esi
jl 0x41e385
xor edi, edi
jmp 0x41e680
cmp byte [ebx + edi + 4], 0
je 0x41ef02
mov ecx, dword [ebx + edi*4 + 0x194]
call fcn.0040e490
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0x270e
jne 0x41e6bf
mov byte [ebx + edi + 4], 0
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0xe
jne 0x41eca6
xor ecx, ecx
cmp dword [eax + 0x2fc], ecx
jg 0x41eca6
cmp dword [eax + 0x2f4], ecx
jge 0x41e70b
cmp dword [eax + 0x364], 5
je 0x41e70b
cmp edi, 0x14
jl 0x41eca6
mov edx, dword [eax + 8]
cmp edx, ecx
jle 0x41eca6
cmp edx, 5
jge 0x41eca6
cmp dword [eax + 0x314], ecx
jle 0x41e9af
mov edx, dword [eax + 0x310]
mov dword [eax + 0x30c], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x308], ecx
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x314]
mov dword [eax + 0x304], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x304]
mov dword [eax + 0x300], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x300]
mov dword [eax + 0x2fc], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x314], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0x310], ecx
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x364], 1
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
mov eax, dword [edx + 0x6f4]
cmp eax, 0x24
je 0x41e7de
cmp eax, 0x23
je 0x41e7de
cmp eax, 0x22
je 0x41e7de
cmp eax, 0x21
je 0x41e7de
cmp eax, 0x20
je 0x41e7de
cmp eax, 0x1f
je 0x41e7de
cmp eax, 0x1e
jne 0x41e7e8
mov dword [ecx + 0x318], 0x8c
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x70], 0xdb
mov ecx, dword [ebx + edi*4 + 0x194]
mov dword [ecx + 0x88], 0
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0xb4], 0xa
or esi, 0xffffffff
mov eax, 0x32
cmp byte [ebx + eax + 4], 0
je 0x41e833
add eax, 1
cmp eax, 0x190
jl 0x41e820
jmp 0x41e835
mov esi, eax
cmp esi, 0xffffffff
je 0x41eca6
mov ecx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [ecx + 0x4d82380], eax
jle 0x41eca6
mov edx, dword [ecx]
cmp dword [edx + 0x6f4], 0x3e6
je 0x41e879
mov edx, dword [ebx + 0x7d4]
add eax, 1
add ecx, 4
cmp eax, dword [edx + 0x4d82380]
jl 0x41e852
jmp 0x41eca6
cmp eax, 0xffffffff
je 0x41eca6
mov ecx, dword [ebx + 0x7d4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], ecx
call fcn.004061e0
fld qword [0x447930]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x368], ecx
mov ecx, dword [ecx + 0x90]
fstp qword [eax + 0x58]
mov dword [eax + 0x31c], ecx
fld qword [0x447928]
fstp qword [eax + 0x60]
fld qword [0x447920]
fstp qword [eax + 0x68]
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x10]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x10], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x14]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x14], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebx + esi*4 + 0x194]
add eax, 1
mov dword [ecx + 0x18], eax
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x364]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x364], ecx
mov edx, dword [ebx + edi*4 + 0x194]
fld qword [edx + 0x58]
mov eax, dword [ebx + esi*4 + 0x194]
fstp qword [eax + 0x58]
mov ecx, dword [ebx + edi*4 + 0x194]
fld qword [ecx + 0x60]
mov edx, dword [ebx + esi*4 + 0x194]
fstp qword [edx + 0x60]
mov eax, dword [ebx + edi*4 + 0x194]
fld qword [eax + 0x68]
mov ecx, dword [ebx + esi*4 + 0x194]
fstp qword [ecx + 0x68]
mov edx, dword [ebx + esi*4 + 0x194]
fldz
mov dword [edx + 0x70], 6
mov eax, dword [ebx + esi*4 + 0x194]
fst qword [eax + 0x40]
mov ecx, dword [ebx + esi*4 + 0x194]
fst qword [ecx + 0x48]
mov edx, dword [ebx + esi*4 + 0x194]
fstp qword [edx + 0x50]
mov eax, dword [ebx + esi*4 + 0x194]
mov byte [eax + 0x80], 0
mov byte [ebx + esi + 4], 1
jmp 0x41eca6
cmp dword [eax + 0x30c], 2
jge 0x41e9c2
mov byte [ebx + edi + 4], 0
jmp 0x41eca6
add dword [eax + 0x30c], 0xffffffff
mov edx, 0xfffffffc
sub edx, ebx
mov dword [esp + 0x34], edx
mov edx, 0xfffffffd
sub edx, ebx
mov dword [esp + 0x4c], edx
mov edx, 0xfffffffe
sub edx, ebx
mov dword [esp + 0x54], edx
or edx, 0xffffffff
sub edx, ebx
mov dword [esp + 0x60], edx
xor esi, esi
mov edx, 0xfffffffb
lea ecx, [ebx + 5]
sub edx, ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ecx
lea eax, [ebx + 0x198]
mov dword [esp + 0x58], edx
cmp byte [ecx - 1], 1
jne 0x41ea65
mov edx, dword [esp + 0x58]
add edx, ecx
cmp edi, edx
je 0x41ea65
mov edx, dword [eax - 4]
mov edx, dword [edx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x41ea65
mov ecx, dword [eax - 4]
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [ecx + 0x364]
cmp ecx, dword [edx + 0x364]
jne 0x41ea61
mov ecx, dword [eax - 4]
mov edx, dword [ecx + 0x18]
add esi, dword [ecx + 0x10]
add dword [esp + 0x38], edx
add dword [esp + 0x40], 1
mov ecx, dword [esp + 0x3c]
cmp byte [ecx], 1
jne 0x41eab1
mov edx, dword [esp + 0x34]
add edx, ecx
cmp edi, edx
je 0x41eab1
mov edx, dword [eax]
mov edx, dword [edx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x41eab1
mov ecx, dword [eax]
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [ecx + 0x364]
cmp ecx, dword [edx + 0x364]
jne 0x41eaad
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
add esi, dword [ecx + 0x10]
add dword [esp + 0x38], edx
add dword [esp + 0x40], 1
mov ecx, dword [esp + 0x3c]
cmp byte [ecx + 1], 1
jne 0x41eb01
mov edx, dword [esp + 0x4c]
add edx, ecx
cmp edi, edx
je 0x41eb01
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x41eb01
mov ecx, dword [eax + 4]
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [ecx + 0x364]
cmp ecx, dword [edx + 0x364]
jne 0x41eafd
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x18]
add esi, dword [ecx + 0x10]
add dword [esp + 0x38], edx
add dword [esp + 0x40], 1
mov ecx, dword [esp + 0x3c]
cmp byte [ecx + 2], 1
jne 0x41eb51
mov edx, dword [esp + 0x54]
add edx, ecx
cmp edi, edx
je 0x41eb51
mov edx, dword [eax + 8]
mov edx, dword [edx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x41eb51
mov ecx, dword [eax + 8]
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [ecx + 0x364]
cmp ecx, dword [edx + 0x364]
jne 0x41eb4d
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x18]
add esi, dword [ecx + 0x10]
add dword [esp + 0x38], edx
add dword [esp + 0x40], 1
mov ecx, dword [esp + 0x3c]
cmp byte [ecx + 3], 1
jne 0x41eba1
mov edx, dword [esp + 0x60]
add edx, ecx
cmp edi, edx
je 0x41eba1
mov edx, dword [eax + 0xc]
mov edx, dword [edx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x41eba1
mov ecx, dword [eax + 0xc]
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [ecx + 0x364]
cmp ecx, dword [edx + 0x364]
jne 0x41eb9d
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x18]
add esi, dword [ecx + 0x10]
add dword [esp + 0x38], edx
add dword [esp + 0x40], 1
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x58]
add ecx, 5
add edx, ecx
add eax, 0x14
cmp edx, 0x190
mov dword [esp + 0x3c], ecx
jl 0x41ea15
push 0x33
push 0x90
call fcn.00417190
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
mov eax, esi
mov esi, dword [esp + 0x48]
cdq
idiv esi
push 0x1f
push 0x91
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
mov eax, dword [ebx + edi*4 + 0x194]
faddp st(1)
fsub qword [0x449298]
fstp qword [eax + 0x58]
call fcn.00417190
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
mov eax, dword [esp + 0x48]
cdq
add esp, 0x10
idiv esi
mov ecx, dword [ebx + edi*4 + 0x194]
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
faddp st(1)
fsub qword [0x447968]
fstp qword [ecx + 0x68]
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0x308], 0x1f4
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x304]
mov dword [eax + 0x300], ecx
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x300]
mov dword [eax + 0x2fc], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 8], 0x14
mov ecx, dword [ebx + edi*4 + 0x194]
mov dword [ecx + 0x70], 0xd4
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0x14], 0xfffffed4
mov eax, dword [ebx + edi*4 + 0x194]
fild dword [eax + 0x14]
fstp qword [eax + 0x60]
mov eax, dword [ebx + edi*4 + 0x194]
fldz
fstp qword [eax + 0x48]
mov eax, dword [ebx + edi*4 + 0x194]
cmp dword [eax + 0x324], 0xffffffff
jle 0x41ef02
cmp byte [eax + 0xdc], 3
jne 0x41ef02
cmp dword [eax + 0x14], 0
jne 0x41ef02
cmp dword [eax + 0x2fc], 0
jle 0x41ef02
mov byte [eax + 0xdc], 0
mov ecx, dword [ebx + 0x7d4]
cmp dword [ecx + 0x4d82380], 0
mov dword [esp + 0x34], 0
jle 0x41ef02
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x324]
mov dword [esp + 0x44], edx
mov eax, ecx
mov edx, dword [eax]
mov esi, dword [esp + 0x44]
cmp dword [edx + 0x6f4], esi
mov edx, dword [esp + 0x34]
je 0x41ed42
mov esi, dword [ebx + 0x7d4]
add edx, 1
add eax, 4
cmp edx, dword [esi + 0x4d82380]
mov dword [esp + 0x34], edx
jl 0x41ed13
jmp 0x41ef02
mov ecx, dword [ecx + edx*4]
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x368], ecx
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x70], 0xf5
mov ecx, dword [ebx + edi*4 + 0x194]
lea eax, [ebx + 5]
mov dword [esp + 0x38], eax
mov dword [ecx + 0x324], 0xffffffff
lea eax, [ebx + 0x198]
mov dword [esp + 0x34], 0x50
mov ecx, dword [esp + 0x38]
cmp byte [ecx - 1], 0
je 0x41edcf
mov ecx, dword [eax - 4]
cmp dword [ecx + 0x2f4], edi
jne 0x41edcf
cmp dword [ecx + 0x2fc], 0
jle 0x41edcf
mov ecx, dword [ebx + 0x7d4]
mov ecx, dword [ecx + edx*4]
mov esi, dword [eax - 4]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax - 4]
cmp dword [ecx + 0x14], 0
jge 0x41edc8
mov dword [ecx + 0x70], 0xd4
jmp 0x41edcf
mov dword [ecx + 0x70], 0
mov ecx, dword [esp + 0x38]
cmp byte [ecx], 0
je 0x41ee14
mov ecx, dword [eax]
cmp dword [ecx + 0x2f4], edi
jne 0x41ee14
cmp dword [ecx + 0x2fc], 0
jle 0x41ee14
mov ecx, dword [ebx + 0x7d4]
mov ecx, dword [ecx + edx*4]
mov esi, dword [eax]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax]
cmp dword [ecx + 0x14], 0
jge 0x41ee0d
mov dword [ecx + 0x70], 0xd4
jmp 0x41ee14
mov dword [ecx + 0x70], 0
mov ecx, dword [esp + 0x38]
cmp byte [ecx + 1], 0
je 0x41ee5d
mov ecx, dword [eax + 4]
cmp dword [ecx + 0x2f4], edi
jne 0x41ee5d
cmp dword [ecx + 0x2fc], 0
jle 0x41ee5d
mov ecx, dword [ebx + 0x7d4]
mov ecx, dword [ecx + edx*4]
mov esi, dword [eax + 4]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax + 4]
cmp dword [ecx + 0x14], 0
jge 0x41ee56
mov dword [ecx + 0x70], 0xd4
jmp 0x41ee5d
mov dword [ecx + 0x70], 0
mov ecx, dword [esp + 0x38]
cmp byte [ecx + 2], 0
je 0x41eea6
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x2f4], edi
jne 0x41eea6
cmp dword [ecx + 0x2fc], 0
jle 0x41eea6
mov ecx, dword [ebx + 0x7d4]
mov ecx, dword [ecx + edx*4]
mov esi, dword [eax + 8]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], 0
jge 0x41ee9f
mov dword [ecx + 0x70], 0xd4
jmp 0x41eea6
mov dword [ecx + 0x70], 0
mov ecx, dword [esp + 0x38]
cmp byte [ecx + 3], 0
je 0x41eeef
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x2f4], edi
jne 0x41eeef
cmp dword [ecx + 0x2fc], 0
jle 0x41eeef
mov ecx, dword [ebx + 0x7d4]
mov ecx, dword [ecx + edx*4]
mov esi, dword [eax + 0xc]
mov dword [esi + 0x368], ecx
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x14], 0
jge 0x41eee8
mov dword [ecx + 0x70], 0xd4
jmp 0x41eeef
mov dword [ecx + 0x70], 0
add dword [esp + 0x38], 5
add eax, 0x14
sub dword [esp + 0x34], 1
jne 0x41ed86
add edi, 1
cmp edi, 0x190
jl 0x41e680
mov ecx, ebx
call fcn.00417fb0
cmp dword [0x44d05c], 2
jne 0x41ef2d
mov dword [0x44d05c], 0
jmp 0x41ef3b
mov edx, dword [0x451160]
push edx
mov ecx, ebx
call fcn.004193b0
xor esi, esi
lea eax, [ebx + 0x194]
mov dword [0x45115c], esi
mov edi, eax
cmp byte [ebx + esi + 4], 0
je 0x41ef87
mov eax, dword [edi]
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f8]
cmp eax, 1
je 0x41ef74
cmp eax, 2
je 0x41ef74
cmp eax, 4
je 0x41ef74
cmp eax, 6
jne 0x41ef7b
add dword [0x45115c], 1
test eax, eax
jne 0x41ef87
push esi
mov ecx, ebx
call fcn.0042e160
add esi, 1
add edi, 4
cmp esi, 0x190
jl 0x41ef4b
cmp dword [0x45115c], 4
jge 0x41f2b7
push 0xc8
push 0x92
call fcn.00417190
add esp, 8
test eax, eax
jne 0x41f2b7
mov eax, 0x32
cmp byte [ebx + eax + 4], 0
je 0x41efd4
add eax, 1
cmp eax, 0x190
jl 0x41efc1
jmp 0x41efd8
mov dword [esp + 0x4c], eax
mov edx, dword [ebx + 0x7d4]
xor esi, esi
cmp dword [edx + 0x4d82380], esi
mov dword [esp + 0x34], esi
jle 0x41f06f
mov edi, dword [0x451160]
jmp 0x41f000
mov eax, dword [ebx + 0x7d4]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx + 0x6f4]
cmp eax, 0x64
jl 0x41f05e
cmp eax, 0xc8
jge 0x41f05e
cmp eax, 0x7a
je 0x41f025
cmp eax, 0x7b
jne 0x41f04c
push 2
push 0x93
call fcn.00417190
add esp, 8
test eax, eax
je 0x41f05e
cmp edi, 2
je 0x41f05e
cmp edi, 3
je 0x41f05e
cmp edi, 1
je 0x41f05e
cmp edi, 4
je 0x41f05e
mov eax, dword [esp + 0x34]
mov dword [esp + eax*4 + 0x114], esi
add eax, 1
mov dword [esp + 0x34], eax
mov edx, dword [ebx + 0x7d4]
add esi, 1
cmp esi, dword [edx + 0x4d82380]
jl 0x41f000
cmp dword [0x450bb4], 0
mov edi, dword [0x44d024]
push 0x1e
jne 0x41f0ad
push 0x94
call fcn.00417190
mov ecx, dword [ebx + 0x7d4]
mov esi, eax
mov eax, edi
imul eax, eax, 0x990
mov ecx, dword [eax + ecx + 0x4d45db0]
push 0x1e
sub ecx, 0x3c
push 0x95
jmp 0x41f0c9
push 0x96
call fcn.00417190
mov ecx, dword [0x450bb4]
push 0x1e
mov esi, eax
add ecx, 0xffffffc4
push 0x97
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul esi, eax
call fcn.00417190
imul edi, edi, 0x990
mov edx, dword [ebx + 0x7d4]
add esp, 0x10
lea ecx, [eax + esi + 0x1e]
lea eax, [edi + edx]
push 0x1e
push 0x98
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], eax
call fcn.00417190
mov esi, eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x4d45db8]
sub ecx, dword [eax + 0x4d45db4]
mov eax, 0x88888889
sub ecx, 0x3c
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push 0x1e
imul esi, ecx
push 0x99
call fcn.00417190
mov edx, dword [ebx + 0x7d4]
add eax, dword [edi + edx + 0x4d45db4]
mov ecx, dword [esp + 0x44]
push ecx
lea eax, [eax + esi + 0x1e]
push 0x9a
mov dword [esp + 0x5c], eax
call fcn.00417190
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + eax*4 + 0x12c]
mov edi, dword [ebx + ecx*4 + 0x194]
mov eax, dword [ebx + 0x7d4]
mov esi, dword [eax + edx*4]
add esp, 0x18
mov ecx, edi
call fcn.004061e0
fild dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x368], esi
mov edx, dword [esi + 0x90]
fstp qword [edi + 0x58]
fld qword [0x449290]
mov esi, dword [esp + 0x4c]
fstp qword [edi + 0x60]
mov dword [edi + 0x31c], edx
fild dword [esp + 0x44]
lea ecx, [ebx + 5]
mov edx, 0x50
fstp qword [edi + 0x68]
mov byte [ebx + eax + 4], 1
lea eax, [ebx + 0x198]
cmp byte [ecx - 1], 0
je 0x41f1e3
mov edi, dword [eax - 4]
mov byte [edi + esi + 0xf0], 0
cmp byte [ecx], 0
je 0x41f1f2
mov edi, dword [eax]
mov byte [edi + esi + 0xf0], 0
cmp byte [ecx + 1], 0
je 0x41f203
mov edi, dword [eax + 4]
mov byte [edi + esi + 0xf0], 0
cmp byte [ecx + 2], 0
je 0x41f214
mov edi, dword [eax + 8]
mov byte [edi + esi + 0xf0], 0
cmp byte [ecx + 3], 0
je 0x41f225
mov edi, dword [eax + 0xc]
mov byte [edi + esi + 0xf0], 0
add eax, 0x14
add ecx, 5
sub edx, 1
jne 0x41f1d2
mov ecx, dword [ebx + esi*4 + 0x194]
fldz
fst qword [ecx + 0x40]
mov edx, dword [ebx + esi*4 + 0x194]
fst qword [edx + 0x48]
mov eax, dword [ebx + esi*4 + 0x194]
fstp qword [eax + 0x50]
mov eax, dword [ebx + esi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x7a
jne 0x41f270
mov dword [eax + 0x2fc], 0xc8
mov edi, dword [ebx + esi*4 + 0x194]
fld qword [edi + 0x58]
call fcn.004451c0
mov dword [edi + 0x10], eax
mov edi, dword [ebx + esi*4 + 0x194]
fld qword [edi + 0x60]
call fcn.004451c0
mov dword [edi + 0x14], eax
mov edi, dword [ebx + esi*4 + 0x194]
fld qword [edi + 0x68]
call fcn.004451c0
mov dword [edi + 0x18], eax
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0x354], 0x63
xor esi, esi
lea edi, [ebx + 0x194]
cmp byte [ebx + esi + 4], 0
je 0x41f2df
mov eax, dword [edi]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
jle 0x41f2df
push esi
mov ecx, ebx
call fcn.0042e160
add esi, 1
add edi, 4
cmp esi, 0x190
jl 0x41f2bf
mov ecx, ebx
call fcn.00418c60
call fcn.004187e0
lea ecx, [ebx + 0x198]
mov esi, ecx
mov ecx, 0xfffffffc
sub ecx, ebx
mov dword [esp + 0x34], ecx
mov ecx, 0xfffffffd
sub ecx, ebx
mov dword [esp + 0x4c], ecx
mov ecx, 0xfffffffe
sub ecx, ebx
mov dword [esp + 0x54], ecx
or ecx, 0xffffffff
sub ecx, ebx
mov edi, 0xfffffffb
sub edi, ebx
lea eax, [ebx + 5]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], edi
lea esp, [esp]
cmp byte [eax - 1], 0
je 0x41f386
mov edx, dword [esi - 4]
cmp dword [edx + 0x98], 0
jle 0x41f386
mov ecx, dword [edx + 0x9c]
test ecx, ecx
jl 0x41f37c
cmp ecx, 0x190
jge 0x41f37c
cmp byte [ecx + ebx + 4], 0
je 0x41f37c
mov ecx, dword [ebx + ecx*4 + 0x194]
add edi, eax
cmp dword [ecx + 0xa0], edi
je 0x41f386
mov dword [edx + 0x98], 0
cmp byte [eax], 0
je 0x41f3ce
mov edx, dword [esi]
cmp dword [edx + 0x98], 0
jle 0x41f3ce
mov ecx, dword [edx + 0x9c]
test ecx, ecx
jl 0x41f3c4
cmp ecx, 0x190
jge 0x41f3c4
cmp byte [ecx + ebx + 4], 0
je 0x41f3c4
mov edi, dword [esp + 0x34]
mov ecx, dword [ebx + ecx*4 + 0x194]
add edi, eax
cmp dword [ecx + 0xa0], edi
je 0x41f3ce
mov dword [edx + 0x98], 0
cmp byte [eax + 1], 0
je 0x41f418
mov edx, dword [esi + 4]
cmp dword [edx + 0x98], 0
jle 0x41f418
mov ecx, dword [edx + 0x9c]
test ecx, ecx
jl 0x41f40e
cmp ecx, 0x190
jge 0x41f40e
cmp byte [ecx + ebx + 4], 0
je 0x41f40e
mov edi, dword [esp + 0x4c]
mov ecx, dword [ebx + ecx*4 + 0x194]
add edi, eax
cmp dword [ecx + 0xa0], edi
je 0x41f418
mov dword [edx + 0x98], 0
cmp byte [eax + 2], 0
je 0x41f462
mov edx, dword [esi + 8]
cmp dword [edx + 0x98], 0
jle 0x41f462
mov ecx, dword [edx + 0x9c]
test ecx, ecx
jl 0x41f458
cmp ecx, 0x190
jge 0x41f458
cmp byte [ecx + ebx + 4], 0
je 0x41f458
mov edi, dword [esp + 0x54]
mov ecx, dword [ebx + ecx*4 + 0x194]
add edi, eax
cmp dword [ecx + 0xa0], edi
je 0x41f462
mov dword [edx + 0x98], 0
cmp byte [eax + 3], 0
je 0x41f4ac
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x98], 0
jle 0x41f4ac
mov ecx, dword [edx + 0x9c]
test ecx, ecx
jl 0x41f4a2
cmp ecx, 0x190
jge 0x41f4a2
cmp byte [ebx + ecx + 4], 0
je 0x41f4a2
mov edi, dword [esp + 0x60]
mov ecx, dword [ebx + ecx*4 + 0x194]
add edi, eax
cmp dword [ecx + 0xa0], edi
je 0x41f4ac
mov dword [edx + 0x98], 0
mov edi, dword [esp + 0x58]
add eax, 5
lea edx, [edi + eax]
add esi, 0x14
cmp edx, 0x190
jl 0x41f340
mov ecx, ebx
call fcn.00417fb0
mov eax, dword [0x451160]
mov esi, dword [esp + 0x68]
push eax
push esi
mov ecx, ebx
call fcn.0041b600
mov ecx, dword [0x451160]
mov edx, dword [0x450bd8]
push ecx
push edx
push esi
mov ecx, ebx
call fcn.0041a5d0
cmp dword [0x451160], 1
jne 0x41f50a
push 0x44d020
push esi
mov ecx, ebx
call fcn.00437950
cmp dword [0x451160], 4
jne 0x41f51b
push esi
mov ecx, ebx
call fcn.0043a960
mov eax, dword [ebx + 0x1bc]
movsx ecx, byte [eax + 0xc0]
movsx edx, byte [eax + 0xbe]
push ecx
movsx ecx, byte [eax + 0xc2]
push edx
movsx edx, byte [eax + 0xc3]
push ecx
movsx ecx, byte [eax + 0xc5]
push edx
movsx edx, byte [eax + 0xc4]
push ecx
push edx
lea eax, [esp + 0x4a4]
push str.u_d_d_d_l_d_r_d_a_d_d_d
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
mov edx, dword [0x455608]
push 0x1e
push 0
push 0xffffff
push 0
lea ecx, [esp + 0x4bc]
push ecx
push edx
call fcn.00401290
add esp, 0x38
mov ecx, ebx
call fcn.00419720
xor edi, edi
nop
cmp byte [ebx + edi + 4], 0
je 0x421506
mov ecx, dword [ebx + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x41f61f
mov ecx, dword [ecx + 0x70]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x270b
jne 0x41f61f
mov edx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [edx + 0x4d82380], eax
jle 0x41f611
mov ecx, edx
lea esp, [esp]
mov esi, dword [ecx]
cmp dword [esi + 0x6f4], 0x32
je 0x41f601
mov esi, dword [ebx + 0x7d4]
add eax, 1
add ecx, 4
cmp eax, dword [esi + 0x4d82380]
jl 0x41f5e0
jmp 0x41f611
mov edx, dword [edx + eax*4]
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x368], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x70], 0
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
mov eax, dword [ecx + edx + 0x7ac]
cmp eax, 0x1f40
jl 0x41f6b5
cmp eax, 0x2328
jge 0x41f6b5
mov ecx, dword [ebx + 0x7d4]
lea edx, [eax - 0x1f40]
xor eax, eax
cmp dword [ecx + 0x4d82380], eax
jle 0x41f696
mov esi, dword [ecx]
cmp dword [esi + 0x6f4], edx
je 0x41f680
mov esi, dword [ebx + 0x7d4]
add eax, 1
add ecx, 4
cmp eax, dword [esi + 0x4d82380]
jl 0x41f660
jmp 0x41f696
mov ecx, dword [ebx + 0x7d4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x368], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0x70], 0
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x318], 0x8c
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
jne 0x41f9d4
mov edx, dword [eax + 0x70]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x270c
jne 0x41f9d4
cmp dword [eax + 0x88], 1
jne 0x41f9d4
mov dword [esp + 0x38], 0
mov eax, 0x32
cmp byte [ebx + eax + 4], 0
je 0x41f716
add eax, 1
cmp eax, 0x190
jl 0x41f703
jmp 0x41f71a
mov dword [esp + 0x3c], eax
cmp eax, 0x190
je 0x41f9d4
cmp dword [esp + 0x38], 4
mov edx, 0xd9
jne 0x41f736
mov edx, 0xda
mov ecx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [ecx + 0x4d82380], eax
jle 0x41f774
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0x34]
mov esi, dword [esi]
cmp dword [esi + 0x6f4], edx
je 0x41f770
mov esi, dword [ebx + 0x7d4]
add dword [esp + 0x34], 4
add eax, 1
cmp eax, dword [esi + 0x4d82380]
jl 0x41f74a
jmp 0x41f774
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0x3c]
mov esi, dword [ebx + edx*4 + 0x194]
mov dword [esp + 0x34], ecx
mov ecx, esi
call fcn.004061e0
fld qword [0x447930]
mov eax, dword [esp + 0x34]
mov dword [esi + 0x368], eax
mov eax, dword [eax + 0x90]
fstp qword [esi + 0x58]
fld qword [0x447928]
mov dword [esi + 0x31c], eax
fstp qword [esi + 0x60]
push 7
fld qword [0x447920]
push 0x9b
fstp qword [esi + 0x68]
mov esi, dword [esp + 0x44]
mov byte [ebx + esi + 4], 1
call fcn.00417190
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebx + esi*4 + 0x194]
lea eax, [eax + edx - 3]
push 7
push 0x9c
mov dword [ecx + 0x10], eax
call fcn.00417190
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x14]
lea edx, [eax + ecx - 9]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x14], edx
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ecx + 0x18]
mov eax, dword [ebx + esi*4 + 0x194]
add edx, 1
mov dword [eax + 0x18], edx
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x18]
push 0xf
push 0x9d
fstp qword [eax + 0x68]
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x14]
fstp qword [eax + 0x60]
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x10]
fstp qword [eax + 0x58]
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [esp + 0x4c], eax
add esp, 0x18
cmp dword [esp + 0x38], 0
fild dword [esp + 0x34]
fsub qword [0x449030]
fstp qword [ecx + 0x48]
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0xec], 6
je 0x41f8e2
mov eax, dword [esp + 0x38]
cmp eax, 2
je 0x41f8e2
cmp eax, 1
je 0x41f8b8
cmp eax, 3
je 0x41f8b8
fld1
mov ecx, dword [ebx + esi*4 + 0x194]
fstp qword [ecx + 0x50]
jmp 0x41f911
push 2
push 0x9f
call fcn.00417190
mov esi, dword [esp + 0x44]
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
fsubr qword [0x449038]
fstp qword [edx + 0x50]
jmp 0x41f90a
push 2
push 0x9e
call fcn.00417190
mov esi, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov eax, dword [ebx + esi*4 + 0x194]
fadd qword [0x447a38]
fstp qword [eax + 0x50]
mov eax, dword [esp + 0x40]
add esp, 8
cmp eax, 2
jge 0x41f93c
push 3
push 0xa0
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
fsubr qword [0x4482f0]
fstp qword [ecx + 0x40]
jmp 0x41f98b
cmp eax, 4
jge 0x41f967
push 3
push 0xa1
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
fadd qword [0x4479f8]
fstp qword [edx + 0x40]
jmp 0x41f98b
push 7
push 0xa2
call fcn.00417190
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov eax, dword [ebx + esi*4 + 0x194]
fsub qword [0x447a38]
fstp qword [eax + 0x40]
add esp, 8
push 4
push 0xa4
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
push 2
push 0xa5
mov dword [ecx + 0x70], eax
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
mov byte [edx + 0x80], al
mov eax, dword [esp + 0x48]
add eax, 1
add esp, 0x10
cmp eax, 5
mov dword [esp + 0x38], eax
jl 0x41f6fe
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
jne 0x41fb38
mov ecx, dword [eax + 0x2fc]
test ecx, ecx
jle 0x41fa10
cmp ecx, dword [eax + 0x300]
jge 0x41fa10
cmp dword [0x450bd0], 0
jne 0x41fa10
add dword [eax + 0x2fc], 1
mov esi, dword [ebx + edi*4 + 0x194]
cmp dword [esi + 0x320], 0
jge 0x41fab4
cmp dword [0x450bd0], 0
jne 0x41fab4
cmp dword [esi + 0x340], 0
mov ecx, 9
jle 0x41fa4d
mov eax, 0x384
cdq
idiv dword [esi + 0x340]
mov ecx, eax
sub dword [esi + 0x2fc], ecx
mov esi, dword [ebx + edi*4 + 0x194]
mov eax, 0x55555555
imul ecx
sub edx, ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
add dword [esi + 0x300], eax
mov eax, dword [ebx + edi*4 + 0x194]
cmp dword [eax + 0x2fc], 0
jge 0x41fa8c
mov dword [eax + 0x2fc], 0
mov eax, dword [ebx + edi*4 + 0x194]
cmp dword [eax + 0x300], 0
jge 0x41faa6
mov dword [eax + 0x300], 0
mov eax, dword [ebx + edi*4 + 0x194]
add dword [eax + 0x34c], 9
mov ecx, dword [ebx + edi*4 + 0x194]
cmp dword [ecx + 0x2f4], 0xffffffff
je 0x41fad0
cmp dword [ecx + 0x308], 0x96
jge 0x41fb38
cmp dword [ecx + 0x308], 0x1f4
jge 0x41fb38
cmp dword [0x450bd4], 0
jne 0x41fb38
cmp dword [ecx + 8], 0
jl 0x41fb38
mov eax, dword [ecx + 0x2fc]
cmp eax, 0x1f4
jle 0x41fafd
mov eax, 0x1f4
mov edx, dword [ecx + 0x368]
mov edx, dword [edx + 0x6f4]
cmp edx, 0x33
je 0x41fb13
cmp edx, 0x34
jne 0x41fb18
cdq
sub eax, edx
sar eax, 1
mov edx, 0x1f4
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
lea edx, [edx + eax + 1]
add dword [ecx + 0x308], edx
mov eax, dword [0x451160]
mov ecx, dword [ebx + edi*4 + 0x194]
push edi
push eax
call fcn.0040d960
mov ecx, dword [ebx + edi*4 + 0x194]
mov esi, dword [ecx + 0x70]
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xb
je 0x4213f6
cmp eax, 0xc
je 0x4213f6
xor edx, edx
cmp esi, edx
jl 0x4213e9
cmp esi, 0x190
jge 0x4213e9
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f8], edx
jne 0x41fbf4
cmp dword [ecx + 0x2fc], edx
jg 0x41fbf4
cmp esi, 0xc
jl 0x41fbb3
cmp esi, 0x6e
je 0x41fbb3
cmp esi, 0x6f
jne 0x41fbf4
fld qword [0x449038]
mov dword [ecx + 0x70], 0xba
mov ecx, dword [ebx + edi*4 + 0x194]
fst qword [ecx + 0x48]
mov eax, dword [ebx + edi*4 + 0x194]
fst qword [eax + 0x30]
mov ecx, dword [ebx + edi*4 + 0x194]
fld qword [0x4488f8]
fstp qword [ecx + 0x60]
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x14], 0xffffffff
jmp 0x41fbfa
fld qword [0x449038]
mov ecx, dword [ebx + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f8], edx
jne 0x41fc9f
cmp dword [ecx + 0x14], edx
jne 0x41fc9f
fldz
fcom qword [ecx + 0x60]
fnstsw ax
test ah, 0x44
jp 0x41fc9d
fcom qword [ecx + 0x48]
fnstsw ax
test ah, 0x44
jp 0x41fc9d
fcomp qword [ecx + 0x30]
fnstsw ax
test ah, 0x44
jp 0x41fc9f
mov eax, dword [ecx + 0x70]
cmp eax, 0xb4
jl 0x41fc54
cmp eax, 0xbd
jg 0x41fc54
cmp eax, 0xb8
jne 0x41fc62
cmp eax, 0xd4
jl 0x41fc9f
cmp eax, 0xd6
jg 0x41fc9f
mov dword [ecx + 0x70], 0xba
mov ecx, dword [ebx + edi*4 + 0x194]
fst qword [ecx + 0x48]
mov eax, dword [ebx + edi*4 + 0x194]
fstp qword [eax + 0x30]
mov ecx, dword [ebx + edi*4 + 0x194]
fld qword [0x4488f8]
fstp qword [ecx + 0x60]
mov eax, dword [ebx + edi*4 + 0x194]
mov dword [eax + 0x14], 0xffffffff
jmp 0x41fca1
fstp st(1)
fstp st(0)
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov esi, dword [eax + 0x368]
imul ecx, ecx, 0x178
add ecx, esi
cmp dword [ecx + 0x7fc], edx
mov dword [esp + 0x38], ecx
jle 0x4203f4
cmp dword [ecx + 0x814], edx
jle 0x4203f4
cmp dword [eax + 0x88], edx
jne 0x4203f4
cmp dword [eax + 0xb4], edx
je 0x41fcf5
cmp dword [esi + 0x6f8], edx
je 0x4203f4
mov esi, dword [ecx + 0x818]
cmp esi, 0xa
mov eax, 1
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], esi
jle 0x41fd21
mov eax, esi
cdq
mov ecx, 0xa
idiv ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
xor edx, edx
cmp eax, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x4c], edx
jle 0x420ed3
or esi, 0xffffffff
or ecx, 0xffffffff
mov dword [esp + 0x48], ecx
mov eax, 0x32
cmp byte [ebx + eax + 4], 0
je 0x41fd53
add eax, 1
cmp eax, 0x190
jl 0x41fd40
jmp 0x41fd55
mov esi, eax
mov edx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [edx + 0x4d82380], eax
jle 0x41fd9f
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 0x814]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x34]
mov edx, dword [edx]
cmp dword [edx + 0x6f4], ecx
je 0x41fd9d
mov edx, dword [ebx + 0x7d4]
add dword [esp + 0x34], 4
add eax, 1
cmp eax, dword [edx + 0x4d82380]
jl 0x41fd73
mov ecx, dword [esp + 0x48]
jmp 0x41fd9f
mov ecx, eax
cmp esi, 0xffffffff
je 0x420326
cmp ecx, 0xffffffff
je 0x420326
mov eax, dword [esp + 0x40]
mov dword [esp + eax*4 + 0x74], esi
add eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x7d4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], ecx
call fcn.004061e0
fld qword [0x447930]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x368], ecx
mov ecx, dword [ecx + 0x90]
fstp qword [eax + 0x58]
fld qword [0x447928]
mov dword [eax + 0x31c], ecx
fstp qword [eax + 0x60]
mov dword [esp + 0x34], 0x50
fld qword [0x447920]
fstp qword [eax + 0x68]
mov edx, dword [ebx + edi*4 + 0x194]
mov eax, dword [ebx + esi*4 + 0x194]
mov ecx, dword [edx + 0x354]
mov dword [eax + 0x354], ecx
lea ecx, [ebx + 5]
lea eax, [ebx + 0x198]
lea ecx, [ecx]
cmp byte [ecx - 1], 0
je 0x41fe51
mov edx, dword [eax - 4]
mov byte [edx + esi + 0xf0], 0
cmp byte [ecx], 0
je 0x41fe60
mov edx, dword [eax]
mov byte [esi + edx + 0xf0], 0
cmp byte [ecx + 1], 0
je 0x41fe71
mov edx, dword [eax + 4]
mov byte [edx + esi + 0xf0], 0
cmp byte [ecx + 2], 0
je 0x41fe82
mov edx, dword [eax + 8]
mov byte [edx + esi + 0xf0], 0
cmp byte [ecx + 3], 0
je 0x41fe93
mov edx, dword [eax + 0xc]
mov byte [edx + esi + 0xf0], 0
add eax, 0x14
add ecx, 5
sub dword [esp + 0x34], 1
jne 0x41fe40
mov byte [ebx + esi + 4], 1
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
add edx, ecx
mov ecx, dword [eax + 0x14]
sub ecx, dword [edx + 0x7f8]
cmp byte [eax + 0x80], 0
jne 0x41ff0e
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x38]
add ecx, dword [edx + 0x804]
mov edx, dword [esp + 0x48]
sub eax, dword [edx + 0x7f4]
mov edx, dword [esp + 0x38]
add eax, dword [edx + 0x800]
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0x10], eax
mov eax, dword [ebx + esi*4 + 0x194]
mov edx, dword [esp + 0x38]
mov dword [eax + 0x14], ecx
jmp 0x41ff4b
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x38]
add ecx, dword [edx + 0x804]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + 0x7f4]
sub ecx, dword [edx + 0x800]
add ecx, dword [eax + 0x10]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebx + esi*4 + 0x194]
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [ecx + 0x364]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x364], ecx
mov eax, dword [ebx + edi*4 + 0x194]
fld qword [eax + 0x68]
mov ecx, dword [ebx + esi*4 + 0x194]
fld1
fadd st(1), st(0)
fxch st(1)
fstp qword [ecx + 0x68]
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x14]
fstp qword [eax + 0x60]
mov ecx, dword [edx + 0x808]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x70], ecx
fild dword [edx + 0x810]
mov edx, dword [ebx + esi*4 + 0x194]
fstp qword [edx + 0x48]
mov eax, dword [ebx + esi*4 + 0x194]
fldz
fst qword [eax + 0x50]
mov ecx, dword [ebx + esi*4 + 0x194]
mov eax, dword [ecx + 0x70]
mov edx, dword [ecx + 0x368]
imul eax, eax, 0x178
mov eax, dword [eax + edx + 0x7ac]
cmp eax, 0xbb8
je 0x41ffea
cmp eax, 0x3ea
je 0x41ffea
cmp eax, 0xbbe
jne 0x42005d
mov edx, dword [edx + 0x6f4]
cmp edx, 0xdf
je 0x42005d
cmp edx, 0xe0
je 0x42005d
mov eax, dword [ebx + edi*4 + 0x194]
mov dl, byte [eax + 0xcd]
test dl, dl
je 0x420026
cmp byte [eax + 0xce], 0
jne 0x420022
fld qword [0x449268]
jmp 0x420035
test dl, dl
jne 0x420038
cmp byte [eax + 0xce], 0
je 0x420038
fld qword [0x449260]
fstp qword [ecx + 0x50]
mov eax, dword [ebx + esi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0xd3
jne 0x42005d
fld qword [eax + 0x50]
fmul qword [0x447a40]
fstp qword [eax + 0x50]
mov ecx, dword [ebx + esi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x4200a7
mov eax, dword [ebx + edi*4 + 0x194]
mov eax, dword [eax + 0x2f4]
cmp eax, 0xffffffff
jle 0x42008d
mov dword [ecx + 0x2f4], eax
jmp 0x420093
mov dword [ecx + 0x2f4], edi
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ebx + esi*4 + 0x194]
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x4200cb
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ebx + esi*4 + 0x194]
mov al, byte [ecx + 0x80]
mov byte [edx + 0x80], al
jmp 0x4200fc
cmp eax, 1
jne 0x4200ee
mov ecx, dword [ebx + edi*4 + 0x194]
mov dl, al
sub dl, byte [ecx + 0x80]
mov eax, dword [ebx + esi*4 + 0x194]
mov byte [eax + 0x80], dl
jmp 0x4200fc
mov ecx, dword [ebx + esi*4 + 0x194]
mov byte [ecx + 0x80], 0
mov eax, dword [ebx + esi*4 + 0x194]
cmp byte [eax + 0x80], 0
jne 0x420118
mov edx, dword [esp + 0x38]
fild dword [edx + 0x80c]
jmp 0x420124
mov ecx, dword [esp + 0x38]
fild dword [ecx + 0x80c]
fchs
cmp dword [esp + 0x58], 1
fstp qword [eax + 0x40]
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x10]
fstp qword [eax + 0x58]
jle 0x4201b7
fild dword [esp + 0x4c]
mov eax, dword [ebx + esi*4 + 0x194]
fmul qword [0x4479f8]
fild dword [esp + 0x58]
fsubrp st(3)
fdivrp st(2)
fxch st(1)
fsub qword [0x449030]
fld st(0)
fadd qword [eax + 0x50]
fstp qword [eax + 0x50]
mov ecx, dword [ebx + esi*4 + 0x194]
fxch st(1)
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x420184
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4201a1
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x4201ad
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4201af
fchs
fadd qword [ecx + 0x40]
fstp qword [ecx + 0x40]
jmp 0x4201bb
fstp st(0)
fchs
fadd qword [ecx + 0x40]
fstp qword [ecx + 0x40]
jmp 0x4201bb
fstp st(0)
fadd qword [ecx + 0x40]
fstp qword [ecx + 0x40]
jmp 0x4201bb
fstp st(1)
fstp st(0)
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 3
jne 0x420210
mov edx, dword [eax + 0x70]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0xbbb
jne 0x420210
mov eax, dword [eax]
mov ecx, dword [ebx + eax*4 + 0x194]
mov byte [ecx + esi + 0xf0], 0xa
mov edx, dword [ebx + edi*4 + 0x194]
mov eax, dword [edx]
mov ecx, dword [ebx + esi*4 + 0x194]
mov byte [eax + ecx + 0xf0], 0xa
mov eax, dword [ebx + esi*4 + 0x194]
mov edx, dword [eax + 0x368]
mov ecx, dword [edx + 0x6f4]
cmp ecx, 5
je 0x42022d
cmp ecx, 0x34
jne 0x420263
mov ecx, 0xa
mov dword [eax + 0x2fc], ecx
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x304], ecx
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0x300], ecx
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x308], 5
mov eax, dword [ebx + esi*4 + 0x194]
fld qword [eax + 0x58]
call fcn.004451c0
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + esi*4 + 0x194]
fld qword [eax + 0x60]
call fcn.004451c0
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + esi*4 + 0x194]
fld qword [eax + 0x68]
call fcn.004451c0
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x18], eax
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x7fc], 2
jne 0x420311
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0x98], 1
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x98], 0xffffffff
mov ecx, dword [ebx + edi*4 + 0x194]
mov dword [ecx + 0x9c], esi
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0xa0], edi
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [ebx + esi*4 + 0x194]
mov edx, dword [eax + 0x364]
mov dword [ecx + 0x364], edx
mov eax, dword [esp + 0x4c]
add eax, 1
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
jl 0x41fd31
cmp dword [esp + 0x40], 1
jle 0x420ed3
xor ecx, ecx
cmp dword [esp + 0x40], ecx
jle 0x420ed3
mov esi, dword [esp + 0x40]
mov eax, esi
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x42034f
dec eax
or eax, 0xfffffffe
inc eax
jne 0x420367
mov eax, esi
cdq
sub eax, edx
sar eax, 1
lea edx, [eax - 1]
cmp ecx, edx
jge 0x42038e
sub eax, ecx
lea eax, [eax + eax - 2]
jmp 0x42037b
cmp eax, 1
jne 0x4203a9
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jge 0x420390
sub eax, ecx
add eax, eax
mov edx, dword [esp + ecx*4 + 0x74]
mov edx, dword [ebx + edx*4 + 0x194]
mov dword [edx + 0xec], eax
jmp 0x4203a9
cmp ecx, eax
jle 0x4203a9
mov edx, ecx
sub edx, eax
mov eax, dword [esp + ecx*4 + 0x74]
mov eax, dword [ebx + eax*4 + 0x194]
add edx, edx
mov dword [eax + 0xec], edx
xor eax, eax
test ecx, ecx
jle 0x4203e4
mov esi, dword [esp + ecx*4 + 0x74]
mov edx, dword [esp + eax*4 + 0x74]
mov esi, dword [ebx + esi*4 + 0x194]
mov byte [edx + esi + 0xf0], 0x28
mov edx, dword [ebx + edx*4 + 0x194]
mov esi, dword [esp + ecx*4 + 0x74]
add eax, 1
cmp eax, ecx
mov byte [edx + esi + 0xf0], 0x28
jl 0x4203b3
mov esi, dword [esp + 0x40]
add ecx, 1
cmp ecx, esi
jl 0x420341
jmp 0x420ed3
mov esi, dword [esi + 0x6f8]
cmp esi, 1
je 0x420412
cmp esi, 2
je 0x420412
cmp esi, 4
je 0x420412
cmp esi, 6
jne 0x420bb9
cmp dword [eax + 0x31c], edx
jge 0x420bb9
xor esi, esi
mov dword [eax + 0x31c], esi
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x368]
mov eax, dword [ecx + 0x6f4]
cmp eax, 0x65
mov dword [esp + 0x40], esi
je 0x420449
cmp eax, 0xda
jne 0x420452
mov esi, 7
mov dword [esp + 0x40], esi
cmp eax, 0x64
je 0x420465
cmp eax, 0xd5
je 0x420465
cmp eax, 0xd9
jne 0x42046e
mov esi, 5
mov dword [esp + 0x40], esi
cmp eax, 0xc9
jne 0x42047e
mov esi, 3
mov dword [esp + 0x40], esi
cmp eax, 0x96
jne 0x42048e
mov esi, 0xd
mov dword [esp + 0x40], esi
cmp eax, 0x97
jne 0x42049e
mov esi, 0xf
mov dword [esp + 0x40], esi
cmp eax, 0x78
je 0x4204a8
cmp eax, 0x7c
jne 0x4204b1
mov esi, 3
mov dword [esp + 0x40], esi
cmp eax, 0x79
jne 0x4204bf
mov esi, 4
mov dword [esp + 0x40], esi
cmp eax, 0x7a
je 0x4204c9
cmp eax, 0x7b
jne 0x4204d2
mov esi, 9
mov dword [esp + 0x40], esi
mov eax, dword [ecx + 0xac]
cmp eax, 0xffffffff
jle 0x4204ea
push eax
mov eax, dword [edx + 0x10]
push eax
call fcn.00416fd0
add esp, 8
test esi, esi
mov dword [esp + 0x38], 0
jle 0x420baf
mov esi, dword [esp + 0x60]
mov eax, 0x32
cmp byte [eax + ebx + 4], 0
je 0x420516
add eax, 1
cmp eax, 0x190
jl 0x420503
jmp 0x420518
mov esi, eax
cmp eax, 0x190
je 0x420bab
mov ecx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [ecx + 0x4d82380], eax
jle 0x420565
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x34]
mov edx, dword [edx]
cmp dword [edx + 0x6f4], 0x3e7
je 0x420561
mov edx, dword [ebx + 0x7d4]
add dword [esp + 0x34], 4
add eax, 1
cmp eax, dword [edx + 0x4d82380]
jl 0x420537
jmp 0x420565
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x34], ecx
call fcn.004061e0
fld qword [0x447930]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x368], ecx
mov edx, dword [ecx + 0x90]
fstp qword [eax + 0x58]
fld qword [0x447928]
push 7
fstp qword [eax + 0x60]
mov dword [eax + 0x31c], edx
fld qword [0x447920]
push 0xa6
fstp qword [eax + 0x68]
mov byte [esi + ebx + 4], 1
call fcn.00417190
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebx + esi*4 + 0x194]
lea eax, [eax + edx - 3]
push 7
push 0xa7
mov dword [ecx + 0x10], eax
call fcn.00417190
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x14]
lea edx, [eax + ecx - 3]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x14], edx
mov ecx, dword [ebx + edi*4 + 0x194]
mov eax, dword [ecx + 0x18]
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0x18], eax
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x18]
add esp, 0x10
fstp qword [eax + 0x68]
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x14]
fstp qword [eax + 0x60]
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x10]
fstp qword [eax + 0x58]
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
mov eax, dword [edx + 0x6f4]
cmp eax, 0x96
je 0x420668
cmp eax, 0x97
je 0x420668
cmp eax, 0xd5
jne 0x420696
push 0x14
push 0xa8
call fcn.00417190
cdq
sub eax, edx
sar eax, 1
add esp, 8
neg eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [esp + 0x48]
fsub qword [0x447978]
fstp qword [eax + 0x48]
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
mov eax, dword [edx + 0x6f4]
cmp eax, 0x64
je 0x4206e1
cmp eax, 0xc9
je 0x4206e1
cmp eax, 0x65
je 0x4206e1
cmp eax, 0x78
je 0x4206e1
cmp eax, 0x79
je 0x4206e1
cmp eax, 0x7a
je 0x4206e1
cmp eax, 0x7b
je 0x4206e1
cmp eax, 0x7c
je 0x4206e1
cmp eax, 0xd9
je 0x4206e1
cmp eax, 0xda
jne 0x42070f
push 8
push 0xa9
call fcn.00417190
cdq
sub eax, edx
sar eax, 1
add esp, 8
neg eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [esp + 0x48]
fsub qword [0x447938]
fstp qword [eax + 0x48]
push 0xb
push 0xaa
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
add esp, 8
fsub qword [0x449030]
fstp qword [ecx + 0x40]
mov edx, dword [ebx + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f4], 0x96
jne 0x42078b
cmp dword [esp + 0x38], 5
push 4
jge 0x420771
push 0xab
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add esp, 8
mov dword [ecx + 0x70], eax
jmp 0x42078b
push 0xac
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 4
mov dword [edx + 0x70], eax
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x64
jne 0x4207e0
cmp dword [esp + 0x38], 2
push 4
jge 0x4207c6
push 0xad
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0xa
mov dword [edx + 0x70], eax
jmp 0x4207e0
push 0xae
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0xe
mov dword [ecx + 0x70], eax
mov edx, dword [ebx + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f4], 0xd5
jne 0x42083c
cmp dword [esp + 0x38], 2
push 4
jge 0x420820
push 0xaf
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x96
mov dword [ecx + 0x70], eax
jmp 0x42083c
push 0xb0
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x9a
mov dword [edx + 0x70], eax
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x65
jne 0x4208ab
cmp dword [esp + 0x38], 5
jge 0x42088f
push 2
push 0xb1
call fcn.00417190
lea edx, [eax*4 + 0x14]
push 4
push 0xb2
mov dword [esp + 0x58], edx
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add esp, 0x10
add eax, dword [esp + 0x48]
mov dword [ecx + 0x70], eax
jmp 0x4208ab
push 4
push 0xb3
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x1e
mov dword [edx + 0x70], eax
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x97
jne 0x420941
mov eax, dword [esp + 0x38]
cmp eax, 2
push 4
jge 0x4208ef
push 0xb4
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x28
mov dword [edx + 0x70], eax
jmp 0x420941
cmp eax, 5
jge 0x420906
push 0xb5
call fcn.00417190
add esp, 8
add eax, 0x2c
jmp 0x420937
cmp eax, 8
jge 0x420927
push 0xb6
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x32
mov dword [edx + 0x70], eax
jmp 0x420941
push 0xb7
call fcn.00417190
add esp, 8
add eax, 0x36
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x70], eax
mov edx, dword [ebx + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f4], 0x78
jne 0x42099f
mov eax, dword [esp + 0x38]
cmp eax, 2
jge 0x42097e
push 4
push 0xb8
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x36
mov dword [ecx + 0x70], eax
jmp 0x42099f
cmp eax, 5
jge 0x42099f
push 4
push 0xb9
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x1e
mov dword [edx + 0x70], eax
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x7c
jne 0x4209d3
push 4
push 0xba
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0xaa
mov dword [edx + 0x70], eax
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x79
jne 0x420a05
push 4
push 0xbb
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x3c
mov dword [edx + 0x70], eax
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x7a
jne 0x420aac
mov eax, dword [esp + 0x38]
cmp eax, 1
push 4
jge 0x420a46
push 0xbc
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x46
mov dword [edx + 0x70], eax
jmp 0x420aac
cmp eax, 3
jge 0x420a67
push 0xbd
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0x50
mov dword [ecx + 0x70], eax
jmp 0x420aac
push 0xbe
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add eax, 0x4a
push 0x12
push 0xbf
mov dword [edx + 0x70], eax
call fcn.00417190
cdq
sub eax, edx
sar eax, 1
add esp, 0x10
neg eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [esp + 0x48]
fsub qword [0x4479b8]
fstp qword [eax + 0x48]
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 0x7b
jne 0x420b57
mov eax, dword [esp + 0x38]
cmp eax, 1
push 4
jge 0x420aef
push 0xc0
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0xa0
mov dword [ecx + 0x70], eax
jmp 0x420b57
cmp eax, 3
jge 0x420b12
push 0xc1
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0xa4
mov dword [edx + 0x70], eax
jmp 0x420b57
push 0xc2
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add eax, 0x4a
push 0x12
push 0xc3
mov dword [ecx + 0x70], eax
call fcn.00417190
cdq
sub eax, edx
mov edx, dword [ebx + esi*4 + 0x194]
sar eax, 1
add esp, 0x10
neg eax
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fsub qword [0x4479b8]
fstp qword [edx + 0x48]
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f4]
cmp eax, 0xd9
je 0x420b78
cmp eax, 0xda
jne 0x420b96
push 4
push 0xc4
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
add esp, 8
add eax, 0xae
mov dword [edx + 0x70], eax
mov eax, dword [esp + 0x38]
add eax, 1
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x38], eax
jl 0x4204fe
mov dword [esp + 0x60], esi
mov byte [ebx + edi + 4], 0
jmp 0x420ed3
cmp edi, 0xa
jge 0x420ed3
cmp dword [eax + 0x2fc], edx
jle 0x420ed3
cmp esi, edx
jne 0x420ed3
mov ecx, dword [eax + 0x40c]
xor edx, edx
mov esi, 9
cmp ecx, esi
mov dword [esp + 0x38], edx
jne 0x420c60
cmp dword [eax + 0x410], edx
jne 0x420c10
cmp dword [eax + 0x414], esi
jne 0x420c10
cmp dword [eax + 0x418], edx
jne 0x420c10
mov edx, 0x64
mov dword [esp + 0x38], edx
cmp ecx, esi
jne 0x420c60
cmp dword [eax + 0x410], esi
jne 0x420c35
cmp dword [eax + 0x414], esi
jne 0x420c35
cmp dword [eax + 0x418], esi
jne 0x420c35
mov edx, 0x66
mov dword [esp + 0x38], edx
cmp ecx, esi
jne 0x420c60
mov ecx, 5
cmp dword [eax + 0x410], ecx
jne 0x420c60
cmp dword [eax + 0x414], esi
jne 0x420c60
cmp dword [eax + 0x418], ecx
jne 0x420c60
mov dword [esp + 0x38], 0x68
jmp 0x420c68
test edx, edx
jle 0x420ed3
xor ecx, ecx
or esi, 0xffffffff
or edx, 0xffffffff
mov dword [eax + 0x418], ecx
mov dword [eax + 0x414], ecx
mov dword [eax + 0x410], ecx
mov dword [eax + 0x40c], ecx
mov dword [eax + 0x408], ecx
mov dword [esp + 0x48], edx
mov eax, 0x32
cmp byte [eax + ebx + 4], 0
je 0x420caa
add eax, 1
cmp eax, 0x190
jl 0x420c97
jmp 0x420cac
mov esi, eax
mov ecx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [ecx + 0x4d82380], eax
jle 0x420cf0
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x34]
mov edx, dword [edx]
cmp dword [edx + 0x6f4], 0x3e6
je 0x420cee
mov edx, dword [ebx + 0x7d4]
add dword [esp + 0x34], 4
add eax, 1
cmp eax, dword [edx + 0x4d82380]
jl 0x420cc0
mov edx, dword [esp + 0x48]
jmp 0x420cf0
mov edx, eax
cmp esi, 0xffffffff
je 0x420ed3
cmp edx, 0xffffffff
je 0x420ed3
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], ecx
call fcn.004061e0
fld qword [0x447930]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x368], ecx
mov ecx, dword [ecx + 0x90]
fstp qword [eax + 0x58]
fld qword [0x447928]
mov dword [eax + 0x31c], ecx
fstp qword [eax + 0x60]
fld qword [0x447920]
fstp qword [eax + 0x68]
mov byte [esi + ebx + 4], 1
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x10]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x10], ecx
mov edx, dword [ebx + esi*4 + 0x194]
xor ecx, ecx
mov dword [edx + 0x14], ecx
mov eax, dword [ebx + edi*4 + 0x194]
mov eax, dword [eax + 0x18]
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0x18], eax
mov eax, dword [ebx + esi*4 + 0x194]
mov edx, dword [esp + 0x38]
add edx, 0xffffff9c
mov dword [eax + 0x70], edx
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x18]
mov dword [esp + 0x34], ecx
fstp qword [eax + 0x68]
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x14]
fstp qword [eax + 0x60]
mov eax, dword [ebx + esi*4 + 0x194]
fild dword [eax + 0x10]
fstp qword [eax + 0x58]
mov edx, dword [ebx + esi*4 + 0x194]
fldz
fst qword [edx + 0x40]
mov eax, dword [ebx + esi*4 + 0x194]
fstp qword [eax + 0x48]
lea eax, [ebx + 0x194]
mov dword [esp + 0x40], eax
jmp 0x420df0
mov ecx, dword [esp + 0x34]
cmp byte [ecx + ebx + 4], 1
jne 0x420eb8
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
cmp dword [eax + 0x2fc], 0
jle 0x420eb8
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
jne 0x420eb8
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [eax + 0x364]
cmp ecx, dword [edx + 0x364]
jne 0x420eb8
mov ecx, dword [esp + 0x38]
cmp ecx, 0x64
jne 0x420e98
push 0x51
push 0xc5
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
mov ecx, dword [edx + 0x10]
lea edx, [eax + ecx - 0x28]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
push 0x51
push 0xc6
mov dword [ecx + 0x3fc], edx
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
mov ecx, dword [edx + 0x18]
lea edx, [eax + ecx - 0x28]
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
add esp, 0x10
mov dword [ecx + 0x400], edx
jmp 0x420eb8
cmp ecx, 0x66
jne 0x420ea9
mov dword [eax + 0x404], 1
jmp 0x420eb8
cmp ecx, 0x68
jne 0x420eb8
mov dword [eax + 0x404], 0
mov eax, dword [esp + 0x34]
add dword [esp + 0x40], 4
add eax, 1
cmp eax, 0x190
mov dword [esp + 0x34], eax
jl 0x420df0
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x78]
mov ecx, dword [eax + 0x368]
mov esi, edx
imul esi, esi, 0x178
cmp dword [esi + ecx + 0x7ac], 0xd
je 0x420f01
cmp edx, 0xc8
jne 0x42117f
mov edx, dword [eax + 0x70]
mov esi, edx
imul esi, esi, 0x178
cmp dword [esi + ecx + 0x7ac], 0xd
je 0x42117f
cmp edx, 0xc8
je 0x42117f
mov edx, dword [eax + 0x10]
push 0xf
push edx
call fcn.004170b0
mov ecx, dword [ebx + 0x7d4]
xor eax, eax
add esp, 8
cmp dword [ecx + 0x4d82380], eax
jle 0x42117f
mov edx, 0x3e7
lea ecx, [ecx]
mov esi, dword [ecx]
cmp dword [esi + 0x6f4], edx
je 0x420f73
mov esi, dword [ebx + 0x7d4]
add eax, 1
add ecx, 4
cmp eax, dword [esi + 0x4d82380]
jl 0x420f50
jmp 0x42117f
cmp eax, 0xffffffff
mov dword [esp + 0x48], eax
jle 0x42117f
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x58], 0
mov eax, 0x32
cmp byte [eax + ebx + 4], 0
je 0x420fa4
add eax, 1
cmp eax, 0x190
jl 0x420f91
jmp 0x420fa6
mov esi, eax
cmp eax, 0x190
je 0x42117b
mov eax, dword [ebx + 0x7d4]
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x34], ecx
call fcn.004061e0
fld qword [0x447930]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x368], ecx
mov ecx, dword [ecx + 0x90]
fstp qword [eax + 0x58]
fld qword [0x447928]
mov dword [eax + 0x31c], ecx
fstp qword [eax + 0x60]
push 0x1d
fld qword [0x447920]
push 0xc7
fstp qword [eax + 0x68]
mov byte [esi + ebx + 4], 1
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x10]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x10], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x14]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x14], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov ecx, dword [edx + 0x18]
mov eax, dword [ebx + esi*4 + 0x194]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov eax, dword [ebx + esi*4 + 0x194]
fld qword [edx + 0x68]
fstp qword [eax + 0x68]
mov ecx, dword [ebx + edi*4 + 0x194]
fld qword [ecx + 0x60]
call fcn.00417190
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x64], eax
fild dword [esp + 0x64]
push 0x27
push 0xc8
fsubp st(1)
fstp qword [edx + 0x60]
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
sub eax, 0x13
mov dword [esp + 0x6c], eax
fild dword [esp + 0x6c]
mov eax, dword [ebx + edi*4 + 0x194]
push 0x14
push 0xc9
fadd qword [eax + 0x58]
fstp qword [ecx + 0x58]
call fcn.00417190
cdq
sub eax, edx
mov edx, dword [ebx + esi*4 + 0x194]
sar eax, 1
neg eax
mov dword [esp + 0x74], eax
push 0xb
fild dword [esp + 0x78]
push 0xca
fsub qword [0x447978]
fstp qword [edx + 0x48]
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
mov eax, dword [ebx + edi*4 + 0x194]
add esp, 0x20
fsub qword [0x449030]
fld qword [eax + 0x28]
mov eax, dword [esp + 0x58]
fmul qword [0x448308]
faddp st(1)
fstp qword [ecx + 0x40]
cmp eax, 2
jge 0x42112e
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0x70], 0x78
jmp 0x42116b
cmp eax, 5
jge 0x421143
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x70], 0x82
jmp 0x42116b
cmp eax, 9
jge 0x421158
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [edx + 0x70], 0x7d
jmp 0x42116b
cmp eax, 0xf
jge 0x42116b
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x70], 0x87
add eax, 1
cmp eax, 0xf
mov dword [esp + 0x58], eax
jl 0x420f8c
mov dword [esp + 0x5c], esi
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x78]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
mov edx, dword [edx + ecx + 0x7ac]
cmp edx, 0x12
je 0x4211aa
cmp edx, 0x13
jne 0x4213d7
mov eax, dword [eax + 0x70]
imul eax, eax, 0x178
mov ecx, dword [eax + ecx + 0x7ac]
xor esi, esi
cmp ecx, 0x12
mov dword [esp + 0x4c], esi
je 0x4211d1
cmp ecx, 0x13
je 0x4211d1
mov esi, 7
jmp 0x4211e9
push 4
push 0xcb
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4211ed
mov esi, 1
mov dword [esp + 0x4c], esi
test esi, esi
mov dword [esp + 0x54], 0
jle 0x4213d7
mov esi, dword [esp + 0x44]
mov eax, 0x32
cmp byte [eax + ebx + 4], 0
je 0x421219
add eax, 1
cmp eax, 0x190
jl 0x421206
jmp 0x42121b
mov esi, eax
cmp eax, 0x190
je 0x4213d3
mov ecx, dword [ebx + 0x7d4]
xor eax, eax
cmp dword [ecx + 0x4d82380], eax
jle 0x421268
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x34]
mov edx, dword [edx]
cmp dword [edx + 0x6f4], 0x3e7
je 0x421264
mov edx, dword [ebx + 0x7d4]
add dword [esp + 0x34], 4
add eax, 1
cmp eax, dword [edx + 0x4d82380]
jl 0x42123a
jmp 0x421268
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x44], ecx
call fcn.004061e0
fld qword [0x447930]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x368], ecx
mov edx, dword [ecx + 0x90]
fstp qword [eax + 0x58]
fld qword [0x447928]
mov dword [eax + 0x31c], edx
fstp qword [eax + 0x60]
push 0x1d
fld qword [0x447920]
push 0xcc
fstp qword [eax + 0x68]
mov byte [esi + ebx + 4], 1
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x10]
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x10], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x14]
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x14], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x18]
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x18], edx
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, dword [ebx + esi*4 + 0x194]
fld qword [eax + 0x68]
fstp qword [ecx + 0x68]
mov edx, dword [ebx + edi*4 + 0x194]
fld qword [edx + 0x60]
call fcn.00417190
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
mov eax, dword [ebx + esi*4 + 0x194]
push 0x3b
push 0xcd
fsubp st(1)
fstp qword [eax + 0x60]
call fcn.00417190
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ebx + esi*4 + 0x194]
sub eax, 0x1d
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
push 0xb
push 0xce
fadd qword [ecx + 0x58]
fstp qword [edx + 0x58]
mov eax, dword [ebx + esi*4 + 0x194]
fld qword [0x4488f8]
fstp qword [eax + 0x48]
call fcn.00417190
mov ecx, dword [ebx + edi*4 + 0x194]
mov edx, dword [ebx + esi*4 + 0x194]
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
push 1
push 0xcf
fsub qword [0x449030]
fadd qword [ecx + 0x40]
fstp qword [edx + 0x40]
call fcn.00417190
mov ecx, dword [ebx + esi*4 + 0x194]
add eax, 0x8c
mov dword [ecx + 0x70], eax
mov eax, dword [esp + 0x74]
add eax, 1
add esp, 0x20
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x54], eax
jl 0x421201
mov dword [esp + 0x44], esi
mov eax, dword [ebx + edi*4 + 0x194]
mov edx, dword [eax + 0x70]
mov dword [eax + 0x78], edx
jmp 0x421506
mov dword [ecx + 0x70], edx
mov byte [ebx + edi + 4], 0
jmp 0x421506
lea eax, [ebx + 5]
mov dword [esp + 0x38], eax
lea ecx, [ebx + 0x198]
mov dword [esp + 0x34], 0x50
jmp 0x421410
cmp byte [eax - 1], 1
jne 0x421433
mov eax, dword [ecx - 4]
cmp dword [eax + 0x2f4], edi
jne 0x421433
mov edx, dword [ebx + edi*4 + 0x194]
mov esi, 0x44c
sub esi, dword [edx + 0x70]
mov dword [eax + 8], esi
mov eax, dword [esp + 0x38]
cmp byte [eax], 1
jne 0x421458
mov eax, dword [ecx]
cmp dword [eax + 0x2f4], edi
jne 0x421458
mov edx, dword [ebx + edi*4 + 0x194]
mov esi, 0x44c
sub esi, dword [edx + 0x70]
mov dword [eax + 8], esi
mov eax, dword [esp + 0x38]
cmp byte [eax + 1], 1
jne 0x42147f
mov eax, dword [ecx + 4]
cmp dword [eax + 0x2f4], edi
jne 0x42147f
mov edx, dword [ebx + edi*4 + 0x194]
mov esi, 0x44c
sub esi, dword [edx + 0x70]
mov dword [eax + 8], esi
mov eax, dword [esp + 0x38]
cmp byte [eax + 2], 1
jne 0x4214a6
mov eax, dword [ecx + 8]
cmp dword [eax + 0x2f4], edi
jne 0x4214a6
mov edx, dword [ebx + edi*4 + 0x194]
mov esi, 0x44c
sub esi, dword [edx + 0x70]
mov dword [eax + 8], esi
mov eax, dword [esp + 0x38]
cmp byte [eax + 3], 1
jne 0x4214cd
mov eax, dword [ecx + 0xc]
cmp dword [eax + 0x2f4], edi
jne 0x4214cd
mov edx, dword [ebx + edi*4 + 0x194]
mov esi, 0x44c
sub esi, dword [edx + 0x70]
mov dword [eax + 8], esi
mov eax, dword [esp + 0x38]
add eax, 5
add ecx, 0x14
sub dword [esp + 0x34], 1
mov dword [esp + 0x38], eax
jne 0x421410
mov eax, dword [ebx + edi*4 + 0x194]
mov ecx, 0x44c
sub ecx, dword [eax + 0x70]
mov dword [eax + 8], ecx
mov edx, dword [ebx + edi*4 + 0x194]
mov dword [edx + 0x70], 0
add edi, 1
cmp edi, 0x190
jl 0x41f590
xor edi, edi
cmp dword [0x450bb8], 1
jne 0x4217db
mov eax, dword [ebx + 0x7d4]
xor esi, esi
cmp dword [eax + 0x4d82380], esi
mov dword [esp + 0x44], edi
jle 0x421592
jmp 0x421540
mov ecx, dword [ebx + 0x7d4]
mov edx, dword [ecx + esi*4]
mov eax, dword [edx + 0x6f4]
cmp eax, 0x64
jl 0x42157d
cmp eax, 0xc8
jge 0x42157d
cmp eax, 0x7a
jne 0x421573
push 2
push 0xd0
call fcn.00417190
add esp, 8
test eax, eax
je 0x42157d
mov dword [esp + edi*4 + 0x114], esi
add edi, 1
mov eax, dword [ebx + 0x7d4]
add esi, 1
cmp esi, dword [eax + 0x4d82380]
jl 0x421540
mov dword [esp + 0x44], edi
test edi, edi
mov dword [esp + 0x4c], 0
jle 0x4217d9
mov eax, 0x32
cmp byte [eax + ebx + 4], 0
je 0x4215ba
add eax, 1
cmp eax, 0x190
jl 0x4215a7
jmp 0x4215be
mov dword [esp + 0x34], eax
mov esi, dword [0x44d024]
push 0x1e
imul esi, esi, 0x990
push 0xd1
call fcn.00417190
mov ecx, dword [ebx + 0x7d4]
mov ecx, dword [ecx + esi + 0x4d45db0]
mov edi, eax
sub ecx, 0x3c
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push 0x1e
imul edi, eax
push 0xd2
call fcn.00417190
mov edx, dword [ebx + 0x7d4]
lea ecx, [eax + edi + 0x1e]
add edx, esi
push 0x1e
push 0xd3
mov dword [esp + 0x84], ecx
mov dword [esp + 0x68], edx
call fcn.00417190
mov edi, eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x4d45db8]
sub ecx, dword [eax + 0x4d45db4]
mov eax, 0x88888889
sub ecx, 0x3c
imul ecx
add edx, ecx
mov ecx, dword [ebx + 0x7d4]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push 0x1e
imul edi, eax
push 0xd4
mov dword [esp + 0x70], ecx
call fcn.00417190
mov edx, eax
mov eax, dword [esp + 0x70]
add edx, dword [esi + eax + 0x4d45db4]
add esp, 0x20
lea ecx, [edx + edi + 0x1e]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + edx*4 + 0x114]
mov edx, dword [esp + 0x34]
mov esi, dword [ebx + edx*4 + 0x194]
mov edi, dword [eax + ecx*4]
mov ecx, esi
call fcn.004061e0
fild dword [esp + 0x6c]
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x368], edi
mov eax, dword [edi + 0x90]
fstp qword [esi + 0x58]
mov dword [esi + 0x31c], eax
fld qword [0x449290]
lea eax, [ebx + 5]
fstp qword [esi + 0x60]
mov edx, 0x50
fild dword [esp + 0x50]
fstp qword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov byte [ecx + ebx + 4], 1
mov ecx, eax
lea eax, [ebx + 0x198]
lea esp, [esp]
cmp byte [ecx - 1], 0
je 0x421701
mov edi, dword [eax - 4]
mov byte [edi + esi + 0xf0], 0
cmp byte [ecx], 0
je 0x421710
mov edi, dword [eax]
mov byte [esi + edi + 0xf0], 0
cmp byte [ecx + 1], 0
je 0x421721
mov edi, dword [eax + 4]
mov byte [edi + esi + 0xf0], 0
cmp byte [ecx + 2], 0
je 0x421732
mov edi, dword [eax + 8]
mov byte [edi + esi + 0xf0], 0
cmp byte [ecx + 3], 0
je 0x421743
mov edi, dword [eax + 0xc]
mov byte [edi + esi + 0xf0], 0
add eax, 0x14
add ecx, 5
sub edx, 1
jne 0x4216f0
mov edx, dword [ebx + esi*4 + 0x194]
fldz
fst qword [edx + 0x40]
mov eax, dword [ebx + esi*4 + 0x194]
fst qword [eax + 0x48]
mov ecx, dword [ebx + esi*4 + 0x194]
fstp qword [ecx + 0x50]
mov eax, dword [ebx + esi*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f4], 0x7a
jne 0x42178e
mov dword [eax + 0x2fc], 0xc8
mov edi, dword [ebx + esi*4 + 0x194]
fld qword [edi + 0x58]
call fcn.004451c0
mov dword [edi + 0x10], eax
mov edi, dword [ebx + esi*4 + 0x194]
fld qword [edi + 0x60]
call fcn.004451c0
mov dword [edi + 0x14], eax
mov esi, dword [ebx + esi*4 + 0x194]
fld qword [esi + 0x68]
call fcn.004451c0
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x4c]
add eax, 1
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x4c], eax
jl 0x4215a2
xor edi, edi
mov dword [esp + 0x3c], edi
lea esi, [ebx + 0x194]
jmp 0x4217f0
mov eax, dword [esp + 0x3c]
cmp byte [ebx + eax + 4], 0
je 0x421a3c
cmp dword [0x450bb8], 2
jne 0x421868
mov ecx, dword [esi]
mov edx, dword [ecx + 0x368]
mov eax, dword [edx + 0x6f8]
cmp eax, 1
je 0x42185e
cmp eax, 2
je 0x42185e
cmp eax, 4
je 0x42185e
cmp eax, 6
je 0x42185e
xor edi, edi
cmp dword [0x451160], 1
jne 0x421868
cmp dword [ecx + 0x364], 5
jne 0x421868
cmp eax, edi
jne 0x421868
cmp dword [edx + 0x6f4], 0x12c
je 0x421868
mov dword [ecx + 0x2fc], edi
mov edx, dword [esi]
mov dword [edx + 0x308], edi
jmp 0x421868
mov dword [ecx + 0x31c], 0xffffffff
mov eax, 1
cmp dword [0x450bc0], eax
jne 0x4218d0
cmp dword [0x451160], eax
jne 0x42188e
cmp dword [esp + 0x3c], 8
jge 0x4218d0
mov ecx, dword [esi]
cmp dword [ecx + 0x364], eax
jne 0x4218d0
mov eax, dword [esi]
mov ecx, 0x1f4
cmp dword [eax + 0x304], ecx
jge 0x4218a3
mov dword [eax + 0x304], ecx
mov eax, dword [esi]
mov edx, dword [eax + 0x304]
mov dword [eax + 0x300], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x300]
mov dword [eax + 0x2fc], ecx
mov edx, dword [esi]
mov dword [edx + 0x308], 0x1f4
call fcn.00402000
mov ecx, dword [esi]
mov edx, dword [ecx + 0xe0]
mov eax, 0x10624dd3
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jne 0x42197a
cmp dword [ecx + 0x2fc], edi
jle 0x42197a
mov eax, ecx
add dword [eax + 0xe0], 0xffffffff
mov ecx, dword [esi]
mov edx, dword [ecx + 0xe0]
and edx, 0x80000007
jns 0x42191c
dec edx
or edx, 0xfffffff8
inc edx
jne 0x42195e
mov eax, ecx
mov ecx, dword [eax + 0x2fc]
cmp ecx, dword [eax + 0x300]
jge 0x421956
mov edx, dword [eax + 0x300]
sub edx, 8
cmp dword [eax + 0x2fc], edx
jge 0x421948
add dword [eax + 0x2fc], 8
jmp 0x42195e
mov ecx, dword [eax + 0x300]
mov dword [eax + 0x2fc], ecx
jmp 0x42195e
mov edx, eax
mov dword [edx + 0xe0], edi
mov ecx, dword [esi]
mov eax, dword [ecx + 0xe0]
cdq
mov edi, 0x3e8
idiv edi
xor edi, edi
test edx, edx
jne 0x42197a
mov dword [ecx + 0xe0], edi
mov eax, dword [esi]
cmp dword [eax + 0xe4], edi
jle 0x4219e3
cmp dword [eax + 0x2fc], edi
jle 0x4219e3
add dword [eax + 0xe4], 0xffffffff
mov eax, dword [esi]
mov ecx, dword [eax + 0xe4]
and ecx, 0x80000007
jns 0x4219a8
dec ecx
or ecx, 0xfffffff8
inc ecx
jne 0x4219e3
mov edx, dword [eax + 0x2fc]
cmp edx, dword [eax + 0x300]
jge 0x4219e3
add dword [eax + 0x2fc], 8
mov eax, dword [esi]
mov ecx, dword [eax + 0x2fc]
cmp ecx, dword [eax + 0x300]
jle 0x4219e3
mov edx, dword [eax + 0x300]
mov dword [eax + 0x2fc], edx
mov eax, dword [esi]
mov dword [eax + 0xe4], edi
mov eax, dword [esi]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0x6a4
jne 0x421a0b
mov dword [eax + 0xe0], 0x44c
mov ecx, dword [esp + 0x3c]
cmp byte [ebx + ecx + 4], 0
je 0x421a3c
mov eax, dword [esi]
mov ecx, 0x3e8
mov dword [eax + 0x2e8], ecx
mov dword [eax + 0x2ec], ecx
mov dword [eax + 0x2f0], ecx
mov dword [eax + 0x2e4], edi
mov byte [eax + 0xeb], 0
mov eax, dword [esp + 0x3c]
add eax, 1
add esi, 4
cmp eax, 0x190
mov dword [esp + 0x3c], eax
jl 0x4217f0
mov edx, dword [esp + 0x68]
push edx
mov ecx, ebx
mov dword [0x450bc0], edi
mov dword [0x450bb8], edi
call fcn.0041ae90
cmp dword [0x450bec], edi
mov esi, dword [sym.imp.MSVCR80.dll_sprintf]
je 0x421b70
mov eax, dword [ebx + 0x194]
mov ecx, dword [eax + 0x14]
fld qword [eax + 0x60]
push ecx
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [esp + 0x4a0]
fld qword [eax + 0x48]
fstp qword [esp]
push str._2.3f__2.4f__d
push edx
call esi
mov ecx, dword [0x455608]
push edi
push edi
push 0xffffff
push edi
lea eax, [esp + 0x4b8]
push eax
push ecx
call fcn.00401290
movsx edx, byte [0x44d047]
movsx eax, byte [0x44d046]
movsx ecx, byte [0x44d045]
push edx
movsx edx, byte [0x44d044]
push eax
movsx eax, byte [0x44d043]
push ecx
movsx ecx, byte [0x44d042]
push edx
movsx edx, byte [0x44d041]
push eax
movsx eax, byte [0x44d040]
push ecx
push edx
push eax
lea ecx, [esp + 0x4e0]
push str._d__d__d__d__d__d__d__d
push ecx
call esi
mov eax, dword [0x455608]
add esp, 0x5c
push 0x1e
push edi
push 0xffffff
push edi
lea edx, [esp + 0x49c]
push edx
push eax
call fcn.00401290
mov ecx, dword [0x450bfc]
movsx edx, byte [0x4553e8]
push ecx
push edx
lea eax, [esp + 0x4ac]
push str._c__d
push eax
call esi
mov edx, dword [0x455608]
push 0x3c
push edi
push 0xffffff
push edi
lea ecx, [esp + 0x4c4]
push ecx
push edx
call fcn.00401290
add esp, 0x40
cmp dword [0x450c2c], 1
jne 0x421c4a
mov eax, dword [0x455608]
push 0x6e
push 0x262
push 0x7d7d7d
push 0
push str.Press_F4_or_Attack_to_exit
push eax
call fcn.00401290
mov ecx, 7
mov esi, str.huvs:01zwx0OiuvoeGkjhugu.dqp
lea edi, [esp + 0x484]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x484]
add esp, 0x18
movsb byte es:[edi], byte [esi]
xor esi, esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x421bc0
sub eax, edx
je 0x421c02
lea ecx, [ecx]
mov ecx, esi
and ecx, reloc.WSOCK32.dll_closesocket
jns 0x421bdf
dec ecx
or ecx, 0xfffffffc
inc ecx
sub byte [esp + esi + 0x46c], cl
lea eax, [esp + 0x46c]
add esi, 1
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x421bf3
sub eax, edx
cmp esi, eax
jb 0x421bd0
mov eax, dword [0x455608]
push 0x6e
push 5
push 0xc8c8c8
push 0
lea edx, [esp + 0x47c]
push edx
push eax
call fcn.00401290
mov ecx, dword [0x455608]
add esp, 0x18
push ecx
mov ecx, dword [0x44f8f8]
push 0
push 1
push 0xffffffffffffffff
push 0x120
push 0x168
call fcn.0043f100
jmp 0x421d1c
mov eax, dword [0x450c28]
cmp eax, 1
jne 0x421ce8
mov edx, dword [0x450c24]
mov eax, dword [0x450c20]
mov ecx, dword [0x450c1c]
push edx
mov edx, dword [0x450c18]
push eax
push ecx
push edx
lea eax, [esp + 0x49c]
push str.Function_Keys_Used:____F6:__d_time_s_____F7:__d_time_s_____F8:__d_time_s_____F9:__d_time_s_
push eax
call esi
add esp, 0x18
cmp dword [0x451160], 1
jne 0x421cc6
push edi
push 0x15
push 0x31a
push 0x80
push edi
call fcn.00437040
mov edx, dword [0x455608]
push 0x81
push edi
push 0xffffff
push edi
lea ecx, [esp + 0x4b0]
push ecx
push edx
call fcn.00401290
add esp, 0x2c
jmp 0x421d1c
mov ecx, dword [0x455608]
push 0x6d
push edi
push 0xffffff
push edi
lea eax, [esp + 0x49c]
push eax
push ecx
call fcn.00401290
add esp, 0x18
jmp 0x421d1c
cmp eax, 2
jne 0x421d1c
lea edx, [esp + 0x48c]
push str.Function_Keys_Locked
push edx
call esi
mov ecx, dword [0x455608]
push 0x6d
push edi
push 0xffffff
push edi
lea eax, [esp + 0x4a4]
push eax
push ecx
call fcn.00401290
add esp, 0x20
mov eax, dword [0x450bdc]
cmp eax, 0x64
jge 0x421d2d
add dword [0x450bbc], 1
lea edx, [eax - 0x65]
cmp edx, 0xf8
ja 0x422984
cmp eax, 0x65
jne 0x422258
xor edx, edx
cmp dword [0x450be4], edx
je 0x42224e
cmp dword [0x450b80], edx
je 0x42224e
cmp dword [0x450b84], edx
jne 0x42224e
lea eax, [ebx + 4]
mov edi, 6
mov esi, eax
sub edi, ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x5c], esi
mov eax, 0x14
mov dword [esp + 0x50], edi
lea esp, [esp]
cmp byte [esi], 0
jne 0x421daf
mov cl, byte [edx + ebx + 0xe]
test cl, cl
jne 0x421db4
mov ecx, dword [0x4588a8]
mov dword [eax + ecx], 0xffffffff
jmp 0x421f3d
lea ecx, [eax - 0x14]
jmp 0x421dba
lea edx, [edi + esi]
lea ecx, [eax + 0x14]
cmp edx, 0xffffffff
jle 0x421f2c
cmp edx, 0xa
mov esi, dword [ecx + ebx + 0x194]
mov esi, dword [esi + 0x368]
mov esi, dword [esi + 0x6f4]
mov edi, dword [0x4588a8]
mov dword [eax + edi + 0x20], esi
mov esi, dword [0x4588a8]
mov dword [eax + esi], 0
jge 0x421dff
mov edx, dword [0x4588a8]
mov dword [eax + edx], 1
mov edx, dword [ecx + ebx + 0x194]
mov edx, dword [edx + 0x364]
mov esi, dword [0x4588a8]
mov dword [eax + esi + 0x40], edx
mov edx, dword [ecx + ebx + 0x194]
mov edx, dword [edx + 0x358]
mov esi, dword [0x4588a8]
mov dword [eax + esi + 0x60], edx
mov edx, dword [ecx + ebx + 0x194]
mov edx, dword [edx + 0x348]
mov esi, dword [0x4588a8]
mov dword [eax + esi + 0x80], edx
mov edx, dword [ecx + ebx + 0x194]
mov edx, dword [edx + 0x34c]
mov esi, dword [0x4588a8]
mov dword [eax + esi + 0xa0], edx
mov edx, dword [ecx + ebx + 0x194]
mov edx, dword [edx + 0x350]
mov esi, dword [0x4588a8]
mov dword [eax + esi + 0xc0], edx
mov edx, dword [ecx + ebx + 0x194]
mov edx, dword [edx + 0x35c]
mov esi, dword [0x4588a8]
mov dword [eax + esi + 0xe0], edx
mov edx, 1
cmp dword [0x451160], edx
je 0x421ef1
mov edx, dword [0x450bf8]
test edx, edx
jl 0x421f2c
mov esi, dword [ecx + ebx + 0x194]
cmp edx, dword [esi + 0x364]
jne 0x421ede
xor edx, edx
mov ecx, esi
cmp dword [ecx + 0x2fc], edx
mov ecx, dword [0x4588a8]
setg dl
add edx, 1
mov dword [eax + ecx + 0x100], edx
jmp 0x421f2c
mov edx, dword [0x4588a8]
mov dword [eax + edx + 0x100], 0xffffffff
jmp 0x421f2c
cmp dword [esp + 0x64], edx
jne 0x421f0a
mov ecx, dword [0x4588a8]
mov dword [eax + ecx + 0x100], 0xffffffff
jmp 0x421f2c
mov edx, dword [ecx + ebx + 0x194]
xor ecx, ecx
cmp dword [edx + 0x2fc], ecx
mov edx, dword [0x4588a8]
setg cl
add ecx, 1
mov dword [eax + edx + 0x100], ecx
add dword [esp + 0x34], 1
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x44]
add edx, 1
add eax, 4
add esi, 1
cmp eax, 0x34
mov dword [esp + 0x44], edx
mov dword [esp + 0x5c], esi
jl 0x421d90
mov eax, dword [0x4588a8]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x10], ecx
cmp dword [0x451160], 4
jne 0x421fb1
mov edx, dword [0x4588a8]
mov eax, dword [0x451b64]
mov dword [edx + 0x134], eax
mov ecx, dword [0x4588a8]
mov edx, dword [0x451b68]
mov dword [ecx + 0x138], edx
mov eax, dword [0x4588a8]
mov ecx, dword [0x451b6c]
mov dword [eax + 0x13c], ecx
mov edx, dword [0x4588a8]
mov eax, dword [0x451b70]
mov dword [edx + 0x140], eax
mov ecx, dword [0x4588a8]
mov edx, dword [0x450bbc]
mov dword [ecx + 0x144], edx
cmp dword [0x4588ac], 0
mov dword [0x450b6c], 0
mov dword [0x450b70], 2
je 0x42200b
cmp dword [0x450b88], 0
je 0x42200b
call fcn.0043e000
mov eax, dword [0x4588ac]
mov ecx, dword [eax + 0x630bb8]
mov dword [0x458428], ecx
mov edx, dword [eax + 0x630bbc]
mov dword [0x45842c], edx
mov eax, dword [0x4588a8]
mov ecx, dword [0x44fb6c]
mov dword [eax + 0x8ac], ecx
mov edx, dword [0x4588a8]
mov eax, dword [0x450c18]
mov dword [edx + 0x8b0], eax
mov ecx, dword [0x4588a8]
mov edx, dword [0x450c1c]
mov dword [ecx + 0x8b4], edx
mov eax, dword [0x4588a8]
mov ecx, dword [0x450c20]
mov dword [eax + 0x8b8], ecx
mov edx, dword [0x4588a8]
mov eax, dword [0x450c24]
mov dword [edx + 0x8bc], eax
lea eax, [ebx + 5]
mov edx, eax
lea eax, [ebx + 0x198]
xor esi, esi
mov ecx, eax
mov dword [esp + 0x44], 0x50
cmp byte [edx - 1], 0
je 0x4220a5
mov eax, dword [ecx - 4]
mov edi, dword [eax + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x4220a5
cmp dword [eax + 0x364], 5
jne 0x4220a5
cmp dword [eax + 0x2fc], 0
jle 0x4220a5
add esi, 1
cmp byte [edx], 0
je 0x4220d0
mov eax, dword [ecx]
mov edi, dword [eax + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x4220d0
cmp dword [eax + 0x364], 5
jne 0x4220d0
cmp dword [eax + 0x2fc], 0
jle 0x4220d0
add esi, 1
cmp byte [edx + 1], 0
je 0x4220fd
mov eax, dword [ecx + 4]
mov edi, dword [eax + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x4220fd
cmp dword [eax + 0x364], 5
jne 0x4220fd
cmp dword [eax + 0x2fc], 0
jle 0x4220fd
add esi, 1
cmp byte [edx + 2], 0
je 0x42212a
mov eax, dword [ecx + 8]
mov edi, dword [eax + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x42212a
cmp dword [eax + 0x364], 5
jne 0x42212a
cmp dword [eax + 0x2fc], 0
jle 0x42212a
add esi, 1
cmp byte [edx + 3], 0
je 0x422157
mov eax, dword [ecx + 0xc]
mov edi, dword [eax + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x422157
cmp dword [eax + 0x364], 5
jne 0x422157
cmp dword [eax + 0x2fc], 0
jle 0x422157
add esi, 1
add ecx, 0x14
add edx, 5
sub dword [esp + 0x44], 1
jne 0x422078
mov eax, dword [0x451160]
cmp eax, 1
jne 0x42217e
xor ecx, ecx
test esi, esi
setle cl
jmp 0x42222a
cmp eax, 4
jne 0x422236
mov edi, dword [str.dd_n__]
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x51eb851f
imul dword [0x44d75c]
sar edx, 5
mov eax, esi
imul eax, eax, 0x64
sub edi, eax
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x66666667
imul edi
mov eax, dword [0x44d380]
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
lea edx, [eax + eax*4]
mov eax, dword [0x451b74]
lea eax, [eax + edx*2]
lea edx, [eax + eax*4]
lea esi, [esi + edx*2]
lea eax, [esi + esi*4]
lea eax, [edi + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [0x44d384]
lea eax, [eax + edx*2]
lea edx, [eax + eax*4]
mov eax, dword [0x451b78]
lea eax, [eax + edx*2 + 0x1adbb]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*2]
imul ecx, ecx, 0x64
lea esi, [eax + eax*4]
mov eax, dword [0x44d75c]
sub eax, ecx
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + esi*2]
mov edx, dword [0x4588a8]
mov dword [edx + 0x8c0], ecx
call fcn.0043de60
cmp dword [0x450bdc], 0x65
mov dword [0x450b80], 0
jne 0x422258
mov dword [0x450b84], 0
xor eax, eax
cmp byte [ebx + 4], al
jne 0x422264
cmp byte [ebx + 0xe], al
je 0x422269
mov eax, 1
cmp byte [ebx + 5], 0
jne 0x422275
cmp byte [ebx + 0xf], 0
je 0x422278
add eax, 1
cmp byte [ebx + 6], 0
jne 0x422284
cmp byte [ebx + 0x10], 0
je 0x422287
add eax, 1
cmp byte [ebx + 7], 0
jne 0x422293
cmp byte [ebx + 0x11], 0
je 0x422296
add eax, 1
cmp byte [ebx + 8], 0
jne 0x4222a2
cmp byte [ebx + 0x12], 0
je 0x4222a5
add eax, 1
cmp byte [ebx + 9], 0
jne 0x4222b1
cmp byte [ebx + 0x13], 0
je 0x4222b4
add eax, 1
cmp byte [ebx + 0xa], 0
jne 0x4222c0
cmp byte [ebx + 0x14], 0
je 0x4222c3
add eax, 1
cmp byte [ebx + 0xb], 0
jne 0x4222cf
cmp byte [ebx + 0x15], 0
je 0x4222d2
add eax, 1
imul eax, eax, 0x2d
cmp dword [0x451160], 4
mov dword [esp + 0x34], eax
lea ecx, [eax + 0x5d]
jne 0x4222e8
add ecx, 0x2d
mov eax, 0x212
sub eax, ecx
mov ecx, dword [0x44fcb4]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x455608]
push eax
push 0
push 0
push 0xffffffffffffffff
sar esi, 1
push esi
push 0x96
mov dword [esp + 0x64], esi
call fcn.0043f100
xor edi, edi
add esi, 0x10
mov eax, 0xa
lea ecx, [ebx + 4]
sub eax, ecx
mov dword [esp + 0x3c], 0x6d6f43
mov dword [esp + 0x54], edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x50], eax
cmp byte [edi + ebx + 4], 0
lea esi, [edi + ebx + 4]
jne 0x422350
cmp byte [edi + ebx + 0xe], 0
je 0x422705
mov ecx, dword [0x455608]
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [0x44fd8c]
push 0
push 0
add eax, 0x2d
push 0xffffffffffffffff
push eax
push 0x96
mov dword [esp + 0x78], eax
call fcn.0043f100
cmp byte [esi], 0
je 0x42238f
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
lea edi, [eax*4]
jmp 0x4223af
cmp byte [edi + ebx + 0xe], 0
je 0x422705
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
add edx, esi
mov dword [esp + 0x58], edx
lea edi, [edi*4 + 0x28]
cmp dword [esp + 0x58], 0xffffffff
jle 0x422705
mov eax, dword [0x455608]
mov ecx, dword [esp + 0x60]
mov edx, dword [edi + ebx + 0x194]
push eax
mov eax, dword [edx + 0x368]
push 0
push 0
push 0xffffffffffffffff
push ecx
mov ecx, dword [eax + 0x728]
push 0xa5
call fcn.0043f100
cmp dword [esp + 0x58], 0xa
mov byte [esp + 0x3c], 0x43
mov byte [esp + 0x3d], 0x6f
mov byte [esp + 0x3e], 0x6d
mov byte [esp + 0x3f], 0
jge 0x422417
mov al, byte [esp + 0x58]
add al, 0x31
mov byte [esp + 0x3c], 0x50
mov byte [esp + 0x3d], al
mov byte [esp + 0x3e], 0x20
mov esi, dword [esp + 0x60]
mov dword [esp + 0x38], 0xce
add esi, 0xf
mov dword [esp + 0x40], 0
mov edi, edi
mov ecx, dword [edi + ebx + 0x194]
mov eax, dword [ecx + 0x364]
cmp eax, 1
jne 0x422467
mov edx, dword [0x455608]
push edx
mov edx, dword [esp + 0x3c]
push 0
push eax
mov eax, dword [esp + 0x4c]
movsx ecx, byte [esp + eax + 0x48]
push ecx
mov ecx, dword [0x44f888]
push esi
push edx
jmp 0x4224ed
cmp eax, 2
jne 0x42247d
mov ecx, dword [esp + 0x40]
movsx edx, byte [esp + ecx + 0x3c]
mov ecx, dword [0x44fcbc]
jmp 0x4224dc
cmp eax, 3
jne 0x4224a5
mov ecx, dword [0x455608]
mov edx, dword [esp + 0x40]
movsx eax, byte [esp + edx + 0x3c]
push ecx
mov ecx, dword [esp + 0x3c]
push 0
push 1
push eax
push esi
push ecx
mov ecx, dword [0x44fb68]
jmp 0x4224ed
cmp eax, 4
jne 0x4224cd
mov edx, dword [0x455608]
mov eax, dword [esp + 0x40]
movsx ecx, byte [esp + eax + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
push 0
push 1
push ecx
mov ecx, dword [0x44faf8]
push esi
push edx
jmp 0x4224ed
mov ecx, dword [esp + 0x40]
movsx edx, byte [esp + ecx + 0x3c]
mov ecx, dword [0x44faf4]
mov eax, dword [0x455608]
push eax
mov eax, dword [esp + 0x3c]
push 0
push 1
push edx
push esi
push eax
call fcn.0043f100
mov eax, dword [esp + 0x40]
add dword [esp + 0x38], 9
add eax, 1
cmp eax, 3
mov dword [esp + 0x40], eax
jl 0x422430
mov ecx, dword [edi + ebx + 0x194]
mov edx, dword [ecx + 0x358]
push edx
lea eax, [esp + 0x450]
push 0x447b00
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
mov edx, dword [0x455608]
push esi
push 0x10f
push 0xaaaaff
push 0
lea ecx, [esp + 0x468]
push ecx
push edx
call fcn.00401290
mov eax, dword [edi + ebx + 0x194]
mov ecx, dword [eax + 0x348]
push ecx
lea edx, [esp + 0x474]
push 0x447b00
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
mov ecx, dword [0x455608]
push esi
push 0x146
push 0xaaaaff
push 0
lea eax, [esp + 0x48c]
push eax
push ecx
call fcn.00401290
mov edx, dword [edi + ebx + 0x194]
mov eax, dword [edx + 0x34c]
add esp, 0x48
push eax
lea ecx, [esp + 0x450]
push 0x447b00
push ecx
call dword [sym.imp.MSVCR80.dll_sprintf]
mov eax, dword [0x455608]
push esi
push 0x186
push 0xaaf0f0
push 0
lea edx, [esp + 0x468]
push edx
push eax
call fcn.00401290
mov ecx, dword [edi + ebx + 0x194]
mov edx, dword [ecx + 0x350]
push edx
lea eax, [esp + 0x474]
push 0x447b00
push eax
call dword [sym.imp.MSVCR80.dll_sprintf]
mov edx, dword [0x455608]
push esi
push 0x1c6
push 0xaaf0f0
push 0
lea ecx, [esp + 0x48c]
push ecx
push edx
call fcn.00401290
mov eax, dword [edi + ebx + 0x194]
mov ecx, dword [eax + 0x35c]
add esp, 0x48
push ecx
lea edx, [esp + 0x450]
push 0x447b00
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
mov ecx, dword [0x455608]
push esi
push 0x20f
push 0xaaf5aa
push 0
lea eax, [esp + 0x468]
push eax
push ecx
call fcn.00401290
add esp, 0x24
cmp dword [0x451160], 1
je 0x4226b3
mov eax, dword [0x450bf8]
test eax, eax
jl 0x422705
mov edx, dword [edi + ebx + 0x194]
cmp eax, dword [edx + 0x364]
jne 0x4226a5
mov eax, edx
cmp dword [eax + 0x2fc], 0
jle 0x42269c
mov ecx, dword [0x455608]
push ecx
mov ecx, dword [0x44fd90]
jmp 0x4226f4
mov edx, dword [0x455608]
push edx
jmp 0x4226ee
mov eax, dword [0x455608]
mov ecx, dword [0x44fb64]
push eax
jmp 0x4226f4
cmp dword [esp + 0x64], 1
jne 0x4226c9
mov ecx, dword [0x455608]
push ecx
mov ecx, dword [0x44fb64]
jmp 0x4226f4
mov edx, dword [edi + ebx + 0x194]
cmp dword [edx + 0x2fc], 0
jle 0x4226e7
mov eax, dword [0x455608]
mov ecx, dword [0x44fd90]
push eax
jmp 0x4226f4
mov ecx, dword [0x455608]
push ecx
mov ecx, dword [0x44fd94]
push 0
push 0
push 0xffffffffffffffff
push esi
push 0x23b
call fcn.0043f100
mov edi, dword [esp + 0x54]
add edi, 1
cmp edi, 8
mov dword [esp + 0x54], edi
jl 0x42233a
cmp dword [0x451160], 4
jne 0x42285c
mov ecx, dword [0x455608]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [0x44f87c]
push 0
push 0
push 0xffffffffffffffff
lea esi, [eax + edx + 0x3d]
push esi
push 0x96
call fcn.0043f100
mov edx, dword [0x455608]
mov ecx, dword [0x44f88c]
push edx
push 0
push 0
push 0xffffffffffffffff
lea eax, [esi + 0x2d]
push eax
push 0x96
call fcn.0043f100
mov ecx, dword [0x451b64]
mov edi, dword [sym.imp.MSVCR80.dll_sprintf]
push ecx
lea edx, [esp + 0x450]
push 0x447b00
push edx
call edi
mov ecx, dword [0x455608]
add esi, 0x17
push esi
push 0xf3
push 0xffafaf
push 0
lea eax, [esp + 0x468]
push eax
push ecx
call fcn.00401290
mov edx, dword [0x451b68]
push edx
lea eax, [esp + 0x474]
push 0x447b00
push eax
call edi
mov edx, dword [0x455608]
push esi
push 0x1e3
push 0xafafff
push 0
lea ecx, [esp + 0x48c]
push ecx
push edx
call fcn.00401290
mov eax, dword [0x451b6c]
add esp, 0x48
push eax
lea ecx, [esp + 0x450]
push 0x447b00
push ecx
call edi
mov eax, dword [0x455608]
push esi
push 0x143
push 0xffafaf
push 0
lea edx, [esp + 0x468]
push edx
push eax
call fcn.00401290
mov ecx, dword [0x451b70]
push ecx
lea edx, [esp + 0x474]
push 0x447b00
push edx
call edi
push esi
push 0x233
push 0xafafff
push 0
lea eax, [esp + 0x48c]
mov ecx, dword [0x455608]
push eax
push ecx
call fcn.00401290
add esp, 0x48
jmp 0x42288c
mov edx, dword [0x455608]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
push edx
push 0
push 0
push 0xffffffffffffffff
lea edx, [ecx + eax + 0x3d]
mov ecx, dword [0x44f88c]
push edx
push 0x96
call fcn.0043f100
mov edi, dword [sym.imp.MSVCR80.dll_sprintf]
mov ecx, dword [0x450bbc]
add ecx, 0xf
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0xe10
jge 0x4228e6
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
shl edx, 4
sub edx, eax
add edx, edx
add edx, edx
sub ecx, edx
push ecx
push eax
lea eax, [esp + 0x454]
push str._02d_:__02d
push eax
call edi
add esp, 0x10
jmp 0x422922
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
sar edx, 0xb
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, esi
imul edx, edx, 0xe10
sub ecx, edx
mov eax, ecx
cdq
mov ecx, 0x3c
idiv ecx
push edx
push eax
push esi
lea edx, [esp + 0x458]
push str._02d_:__02d_:__02d
push edx
call edi
add esp, 0x14
cmp dword [0x451160], 4
jne 0x422955
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
lea edx, [eax + ecx + 0x70]
mov ecx, dword [0x455608]
push edx
push 0x244
push 0xffffff
push 0
lea eax, [esp + 0x45c]
push eax
push ecx
jmp 0x42297c
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
lea ecx, [edx + eax + 0x43]
mov eax, dword [0x455608]
push ecx
push 0x244
push 0xffffff
push 0
lea edx, [esp + 0x45c]
push edx
push eax
call fcn.00401290
add esp, 0x18
cmp dword [0x450b84], 0
je 0x4229d4
mov ecx, dword [esp + 0x68]
push ecx
mov ecx, dword [0x45116c]
push 0
push 0
push 0x18
push 0x216
push 0x43
call fcn.0043f100
cmp dword [0x44d030], 0
je 0x4229d4
mov edx, dword [0x450bbc]
mov eax, dword [0x4588ac]
mov ecx, dword [eax + 0x144]
push edx
mov edx, dword [0x451160]
push ecx
push edx
mov ecx, ebx
call fcn.0041b3c0
mov eax, dword [0x450b84]
mov ecx, dword [0x451160]
push eax
push ecx
mov ecx, ebx
call fcn.0041b160
mov edx, dword [0x455608]
push edx
call fcn.004028a0
mov eax, dword [0x458348]
push eax
call fcn.0043ea40
add esp, 8
call fcn.00419e90
jmp 0x422ad9
mov ecx, dword [esp + 0x68]
push 0x451160
push 0x44d020
push ecx
mov ecx, ebx
call fcn.004297a0
cmp dword [0x44d058], 0
jle 0x422aa0
cmp byte [0x44f1af], 0
jle 0x422aa0
push 0
push 0x226
push 0x31a
push 0
push 0
call fcn.00437040
mov edx, dword [0x455608]
mov ecx, dword [0x451178]
add esp, 0x14
push edx
push 0
push 0
push 0
push 0xdd
push 0xe6
call fcn.0043f100
mov eax, dword [0x455608]
push 0x127
push 0x10f
push 0xd8775a
push 0x652512
push str.Waiting_for_opponent...
push eax
call fcn.00401290
add esp, 0x18
sub dword [0x44d058], 1
mov ecx, dword [0x455608]
push ecx
call fcn.004028a0
mov edx, dword [0x458348]
push edx
call fcn.0043ea40
add esp, 8
cmp dword [0x44d020], 0
jne 0x422ad9
mov dword [0x451158], 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x451154], eax
mov ecx, dword [esp + 0x5f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5b0]
xor ecx, esp
call fcn.004451a2
mov esp, ebp
pop ebp
ret 4