Function at 0x47a610
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xd8
push ebx
push esi
mov eax, dword [ecx + 0xf84]
push edi
push ebp
mov ebx, ecx
cmp eax, 0xffffffff
nop
mov ebp, dword [ebx + 0x9d8]
je 0x47a66f
mov eax, ebx
sub eax, ebp
cmp eax, 0xfffff62c
je 0x47a65a
test ebp, ebp
je 0x47a65a
mov ecx, ebp
call fcn.00472f30
cmp eax, dword [ebx + 0xf84]
je 0x47a65a
mov ebp, dword [ebp + 4]
mov eax, ebx
sub eax, ebp
cmp eax, 0xfffff62c
jne 0x47a639
mov ecx, ebp
call fcn.00472f30
cmp eax, dword [ebx + 0xf84]
je 0x47a66f
mov ebp, dword [ebx + 0x9d8]
mov eax, ebx
sub eax, ebp
cmp eax, 0xfffff62c
je 0x47cd59
test ebp, ebp
je 0x47cd59
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x6b
je 0x47cd47
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x6c
je 0x47cd47
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x6a
je 0x47cd47
mov ecx, ebp
call fcn.00473440
test eax, eax
je 0x47cd47
mov ecx, ebp
call fcn.00473440
cmp eax, 1
je 0x47cd47
push 1
mov eax, dword [ebx + 0xf0]
push eax
mov ecx, ebp
call fcn.00474e70
test eax, eax
jne 0x47a703
mov eax, dword [ebx + 0xf0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov ecx, ebp
mov eax, dword [edx + 4]
push eax
call fcn.00474f40
mov ecx, ebp
call fcn.00472f50
test eax, eax
jne 0x47b37e
xor esi, esi
mov ecx, ebp
mov dword [esp + 0x28], 1
mov dword [esp + 0x10], esi
call fcn.00472f70
cmp eax, 0x64
je 0x47ac8e
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x67
je 0x47ac8e
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x65
je 0x47a9c0
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x68
je 0x47a9c0
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x6d
jne 0x47b273
mov eax, dword [ebx + 0xf0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov ecx, ebp
mov edi, dword [edx + 4]
call fcn.00474f30
sub edi, eax
mov ecx, 0x3e8
mov eax, edi
sub edx, edx
div ecx
cmp eax, 0x3c
jae 0x47a7af
push 1
mov ecx, ebp
call fcn.00473450
mov dword [ebx + 0xfd4], esi
jmp 0x47ccf6
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, dword [ebx + 0xf0]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x6d
push 0xffffffffffffffff
call fcn.00439130
mov edi, eax
test edi, edi
jne 0x47a7e2
push 1
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov dword [esp + 0x10], eax
test eax, eax
jne 0x47a80b
push 1
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
fld dword [edi + 0x38]
call fcn.005351bc
fld dword [edi + 0x3c]
mov dword [esp + 0x34], eax
call fcn.005351bc
fld dword [edi + 0x40]
mov dword [esp + 0x38], eax
call fcn.005351bc
mov dword [esp + 0x3c], eax
push 0xffffffffffffffff
mov eax, dword [esp + 0x14]
push 0xffffffffffffffff
lea edx, [esp + 0x90]
push 1
fild dword [ebx + 0x1f0]
mov ecx, dword [eax]
push edx
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x2c], ecx
push eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub esp, 4
fstp dword [esp]
push edx
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x34]
call dword [eax + 0x190]
test eax, eax
jne 0x47a974
lea eax, [esp + 0x88]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, dword [edi + 4]
fild dword [ebx + 0x1f0]
push 1
push 0x16
push 1
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
sub esp, 4
fstp dword [esp]
push eax
push ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
push edx
call dword [eax + 0x19c]
test eax, eax
jne 0x47a8de
mov eax, dword [ebx + 0xf0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov ecx, ebp
mov eax, dword [edx + 4]
push eax
call fcn.00474f40
jmp 0x47a966
lea eax, [esp + 0xe4]
lea ecx, [esp + 0xe0]
mov esi, dword [esp + 0x1c]
push eax
push ecx
push 2
mov ecx, dword [esp + 0x1c]
call dword [esi + 0x1a0]
cmp eax, 1
jne 0x47a966
push 0
mov eax, dword [ebx + 0xf0]
push 1
mov ecx, ebp
push 0xe
push eax
push ebx
call fcn.00473600
push 0xd
mov ecx, ebp
call fcn.00473450
mov eax, dword [edi + 4]
mov ecx, ebp
push eax
call fcn.00473470
xor eax, eax
mov ecx, ebp
mov al, byte [edi + 0x4e]
push eax
call fcn.00473490
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
push ecx
mov eax, dword [edi + 0x38]
push edx
mov ecx, ebp
push eax
call fcn.00473500
push 1
mov ecx, ebp
call fcn.00472f60
push 0xc8
mov ecx, ebp
call fcn.004735c0
jmp 0x47ccec
push 1
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
mov eax, dword [edi + 4]
mov ecx, ebp
push eax
call fcn.00473470
xor eax, eax
mov ecx, ebp
mov al, byte [edi + 0x4e]
push eax
call fcn.00473490
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
push ecx
mov eax, dword [edi + 0x38]
push edx
mov ecx, ebp
push eax
call fcn.00473500
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
push ecx
mov eax, dword [edi + 0x38]
push edx
mov ecx, ebp
push eax
call fcn.00473540
push 1
mov ecx, ebp
call fcn.00472f60
jmp 0x47b273
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.0049b3e0
mov esi, eax
test esi, esi
jne 0x47a9ed
push 1
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov dword [esp + 0x10], eax
test eax, eax
jne 0x47aa16
push 1
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
cmp word [esi + 4], 0x6d
jne 0x47aa25
fild dword [ebx + 0x1ec]
jmp 0x47aa2b
fild dword [ebx + 0x278]
fstp dword [esp + 0x14]
xor eax, eax
mov al, byte [esi + 8]
mov dword [esp + 0x40], eax
xor eax, eax
mov al, byte [esi + 9]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], eax
push 0xffffffffffffffff
xor eax, eax
push 0xffffffffffffffff
mov al, byte [esi + 0xa]
push 1
mov dword [esp + 0x54], eax
lea eax, [esp + 0x98]
mov edi, dword [ecx]
push eax
mov ecx, dword [esi]
push ecx
mov ecx, dword [esp + 0x24]
call dword [edi + 0x104]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
sub esp, 4
fstp dword [esp]
push ecx
push edx
mov ecx, dword [esp + 0x30]
push eax
call dword [edi + 0x190]
test eax, eax
jne 0x47abaf
lea eax, [esp + 0x8c]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, dword [esi]
mov edx, dword [esp + 0x1c]
push 1
push 0x16
push 1
push eax
push ecx
mov eax, dword [esp + 0x64]
push edx
mov ecx, dword [esp + 0x64]
push eax
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x38]
push edx
call dword [edi + 0x19c]
test eax, eax
je 0x47aba1
lea eax, [esp + 0xdc]
lea ecx, [esp + 0xd8]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push 2
call dword [edi + 0x1a0]
cmp eax, 1
jne 0x47aba1
mov dword [esi + 0x10], 1
push 0
mov eax, dword [ebx + 0xf0]
push 1
mov ecx, ebp
push 0xe
push eax
push ebx
call fcn.00473600
push 0xd
mov ecx, ebp
call fcn.00473450
mov eax, dword [esi]
mov ecx, ebp
push eax
call fcn.00473470
movsx eax, word [esi + 4]
push eax
mov ecx, ebp
call fcn.00473490
xor eax, eax
sub esp, 4
mov al, byte [esi + 0xa]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], 0
fild qword [esp + 0x18]
mov al, byte [esi + 9]
mov dword [esp + 0x18], eax
sub esp, 4
xor eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
mov al, byte [esi + 8]
sub esp, 4
mov ecx, ebp
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fstp dword [esp]
call fcn.00473500
push 1
mov ecx, ebp
call fcn.00472f60
push 0xc8
mov ecx, ebp
call fcn.004735c0
jmp 0x47ccec
push 1
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
mov dword [esi + 0x10], 1
mov eax, dword [esi]
mov ecx, ebp
push eax
call fcn.00473470
movsx eax, word [esi + 4]
push eax
mov ecx, ebp
call fcn.00473490
xor eax, eax
sub esp, 4
mov al, byte [esi + 0xa]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], 0
fild qword [esp + 0x18]
mov al, byte [esi + 9]
mov dword [esp + 0x18], eax
sub esp, 4
xor eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
mov al, byte [esi + 8]
sub esp, 4
mov ecx, ebp
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fstp dword [esp]
call fcn.00473500
xor eax, eax
sub esp, 4
mov al, byte [esi + 0xa]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], 0
fild qword [esp + 0x18]
mov al, byte [esi + 9]
mov dword [esp + 0x18], eax
sub esp, 4
xor eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
mov al, byte [esi + 8]
sub esp, 4
mov ecx, ebp
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fstp dword [esp]
call fcn.00473540
push 1
mov ecx, ebp
call fcn.00472f60
jmp 0x47b273
mov eax, dword [ebx + 0xe18]
test eax, eax
je 0x47ccec
mov eax, dword [ebx + 0x41c]
test eax, eax
je 0x47accf
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x67
je 0x47accf
xor eax, eax
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00497890
mov esi, eax
jmp 0x47afac
mov ecx, dword [ebx + 0xd0c]
mov eax, dword [ebx + 0xf0]
mov edx, dword [eax + 0xf0]
mov esi, dword [edx + 0x3c]
sub edx, edx
mov eax, dword [esi + 4]
mov esi, 0x3e8
sub eax, ecx
div esi
mov esi, eax
test ecx, ecx
je 0x47ad18
mov eax, dword [ebx + 0x250]
cmp eax, 2
jne 0x47ad18
test esi, esi
je 0x47ad18
push 0x2e
mov ecx, ebx
call fcn.004887f0
cmp eax, esi
ja 0x47ccec
mov eax, dword [ebx + 0xd0c]
test eax, eax
je 0x47ad3e
mov eax, dword [ebx + 0x250]
cmp eax, 1
jne 0x47ad3e
push 0x2e
mov ecx, ebx
call fcn.004887f0
cmp eax, esi
ja 0x47ccec
mov ecx, dword [ebx + 0xf0]
add ecx, 0x10e74
call fcn.00462310
test eax, eax
jne 0x47ae17
mov ecx, ebx
call fcn.00488730
push eax
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00497890
mov esi, eax
test esi, esi
jne 0x47afa9
mov eax, dword [ebx + 0xd34]
dec eax
jns 0x47ade5
push 4
call fcn.0052f700
add esp, 4
mov esi, eax
test esi, esi
je 0x47ade5
xor ecx, ecx
mov eax, dword [ebx + 0xd34]
cmp eax, ecx
jle 0x47adc6
xor eax, eax
mov edx, esi
cmp eax, 4
jge 0x47adc6
mov edi, dword [ebx + 0xd28]
add eax, 4
add edx, 4
inc ecx
mov edi, dword [edi + eax - 4]
mov dword [edx - 4], edi
mov edi, dword [ebx + 0xd34]
cmp edi, ecx
jg 0x47ada3
mov eax, dword [ebx + 0xd28]
push eax
call fcn.0052f720
add esp, 4
mov dword [ebx + 0xd28], esi
mov dword [ebx + 0xd34], 1
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
call fcn.00473310
push eax
push 1
push 1
mov eax, dword [ebx + 0xd28]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00499950
mov esi, eax
jmp 0x47af97
mov ecx, dword [ebx + 0xf0]
add ecx, 0x10e74
call fcn.00462310
cmp eax, 4
jne 0x47aef1
mov ecx, ebx
call fcn.00488780
push eax
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00497890
mov esi, eax
test esi, esi
jne 0x47afa9
mov eax, dword [ebx + 0xd34]
dec eax
jns 0x47aebf
push 4
call fcn.0052f700
add esp, 4
mov esi, eax
test esi, esi
je 0x47aebf
xor ecx, ecx
mov eax, dword [ebx + 0xd34]
cmp eax, ecx
jle 0x47aea0
xor edx, edx
mov eax, esi
cmp edx, 4
jge 0x47aea0
mov edi, dword [ebx + 0xd28]
add edx, 4
add eax, 4
inc ecx
mov edi, dword [edi + edx - 4]
mov dword [eax - 4], edi
mov edi, dword [ebx + 0xd34]
cmp edi, ecx
jg 0x47ae7d
mov eax, dword [ebx + 0xd28]
push eax
call fcn.0052f720
add esp, 4
mov dword [ebx + 0xd28], esi
mov dword [ebx + 0xd34], 1
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
call fcn.00473310
push eax
push 1
push 1
mov eax, dword [ebx + 0xd28]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00499950
mov esi, eax
jmp 0x47af97
mov eax, dword [ebx + 0xd34]
dec eax
jns 0x47af5c
push 4
call fcn.0052f700
add esp, 4
mov esi, eax
test esi, esi
je 0x47af5c
xor ecx, ecx
mov eax, dword [ebx + 0xd34]
cmp eax, ecx
jle 0x47af3d
xor eax, eax
mov edx, esi
cmp eax, 4
jge 0x47af3d
mov edi, dword [ebx + 0xd28]
add eax, 4
add edx, 4
inc ecx
mov edi, dword [edi + eax - 4]
mov dword [edx - 4], edi
mov edi, dword [ebx + 0xd34]
cmp edi, ecx
jg 0x47af1a
mov eax, dword [ebx + 0xd28]
push eax
call fcn.0052f720
add esp, 4
mov dword [ebx + 0xd28], esi
mov dword [ebx + 0xd34], 1
mov eax, dword [esp + 0xec]
lea ecx, [ebx + 0xfac]
push eax
mov edx, dword [ebx + 0xd28]
push ecx
push ebp
mov eax, dword [edx]
mov ecx, dword [ebx + 0xf0]
push eax
add ecx, 0xcec
call fcn.0049a0d0
mov esi, eax
mov eax, dword [ebx + 0xfd4]
cmp eax, 1
je 0x47cd70
test esi, esi
jne 0x47afa9
push 1
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
inc dword [esi + 0x10]
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov dword [esp + 0x10], eax
test eax, eax
jne 0x47afd5
push 1
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
xor eax, eax
mov al, byte [esi + 8]
mov dword [esp + 0x4c], eax
xor eax, eax
mov al, byte [esi + 9]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], eax
push 0x1b
xor eax, eax
mov al, byte [esi + 0xa]
mov dword [esp + 0x58], eax
xor eax, eax
mov edi, dword [ecx]
mov al, byte [esi + 0xb]
lea ecx, [esp + 0x94]
push eax
push 1
mov edx, dword [esi]
push ecx
push edx
mov ecx, dword [esp + 0x24]
call dword [edi + 0x104]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
sub esp, 4
fstp dword [esp]
push ecx
push edx
mov ecx, dword [esp + 0x30]
push eax
call dword [edi + 0x190]
test eax, eax
jne 0x47b1aa
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x67
jne 0x47b060
push 1
mov ecx, ebp
call fcn.00473450
mov dword [ebp + 0x1d0], 0xffffffff
jmp 0x47ccec
push 0x1b
xor eax, eax
mov al, byte [esi + 0xb]
lea ecx, [esp + 0x94]
push eax
mov edx, dword [esi]
push 1
push 0x16
push 1
push ecx
mov ecx, dword [esp + 0x28]
push edx
call dword [edi + 0x104]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
sub esp, 4
fstp dword [esp]
push ecx
push edx
mov ecx, dword [esp + 0x38]
push eax
call dword [edi + 0x19c]
test eax, eax
jne 0x47b0c8
push 1
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473450
mov dword [ebp + 0x1d0], 0xffffffff
jmp 0x47ccec
lea eax, [esp + 0xd4]
lea ecx, [esp + 0xd0]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push 2
call dword [edi + 0x1a0]
cmp eax, 1
jne 0x47b192
push 0
mov eax, dword [ebx + 0xf0]
push 1
mov ecx, ebp
push 0xe
push eax
push ebx
call fcn.00473600
push 0xd
mov ecx, ebp
call fcn.00473450
mov eax, dword [esi]
mov ecx, ebp
push eax
call fcn.00473470
movsx eax, word [esi + 4]
push eax
mov ecx, ebp
call fcn.00473490
xor eax, eax
sub esp, 4
mov al, byte [esi + 0xa]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], 0
fild qword [esp + 0x18]
mov al, byte [esi + 9]
mov dword [esp + 0x18], eax
sub esp, 4
xor eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
mov al, byte [esi + 8]
sub esp, 4
mov ecx, ebp
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fstp dword [esp]
call fcn.00473500
push 1
mov ecx, ebp
call fcn.00472f60
push 0xc8
mov ecx, ebp
call fcn.004735c0
jmp 0x47b19b
push 1
mov ecx, ebp
call fcn.00473450
mov dword [ebp + 0x1d0], 0xffffffff
jmp 0x47ccec
mov ecx, dword [ebx + 0xf0]
mov eax, dword [ecx + 0xf0]
add ecx, 0xf0
mov edx, dword [eax + 0x3c]
mov eax, dword [ebx + 0x2b0]
cmp eax, 1
mov edi, dword [edx + 4]
mov dword [ebx + 0xd0c], edi
jne 0x47b1e1
mov eax, dword [ecx]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ecx + 4]
mov dword [ebx + 0xd14], edx
mov eax, dword [esi]
mov ecx, ebp
push eax
call fcn.00473470
movsx eax, word [esi + 4]
push eax
mov ecx, ebp
call fcn.00473490
xor eax, eax
sub esp, 4
mov al, byte [esi + 0xa]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], 0
fild qword [esp + 0x18]
mov al, byte [esi + 9]
mov dword [esp + 0x18], eax
sub esp, 4
xor eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
mov al, byte [esi + 8]
sub esp, 4
mov ecx, ebp
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fstp dword [esp]
call fcn.00473500
push 1
mov ecx, ebp
call fcn.00472f60
xor eax, eax
mov al, byte [esi + 9]
push eax
xor eax, eax
mov al, byte [esi + 8]
mov ecx, ebx
push eax
xor eax, eax
mov al, byte [esi + 0xb]
push eax
call fcn.0048aaa0
mov ecx, dword [ebx + 0xf0]
add ecx, 0x10e74
call fcn.00462310
cmp eax, 0xb
jne 0x47b357
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x64
je 0x47b2a9
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x67
jne 0x47b357
mov eax, dword [ebx + 0x330]
cmp eax, 1
jne 0x47b357
test esi, esi
je 0x47b357
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47b357
mov eax, dword [esi]
mov ecx, dword [ebx + 0xf0]
push eax
add ecx, 0xcec
xor eax, eax
mov al, byte [esi + 0xb]
push eax
call fcn.004974f0
mov ecx, dword [esi]
xor eax, eax
push ecx
mov al, byte [esi + 0xb]
push eax
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00497710
xor eax, eax
mov ecx, dword [esp + 0x10]
mov al, byte [esi + 8]
mov dword [esp + 0x98], eax
xor eax, eax
mov al, byte [esi + 9]
mov dword [esp + 0xa0], 1
mov dword [esp + 0x9c], eax
mov eax, dword [esi]
mov edi, dword [ecx]
push eax
call dword [edi + 0x104]
lea eax, [esp + 0x9c]
mov ecx, dword [esp + 0x14]
sub esp, 4
fstp dword [esp]
push eax
call dword [edi + 0x1c4]
test eax, eax
je 0x47b357
push eax
mov ecx, ebx
push ebp
call fcn.00489ee0
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x47ccd1
mov ecx, ebp
call fcn.00473440
cmp eax, 2
jne 0x47ccd1
push 0
push 1
push 0x15
jmp 0x47ccdd
mov ecx, ebp
call fcn.00473440
mov ecx, ebp
cmp eax, 0xd
jne 0x47b575
call fcn.004735b0
cmp eax, 0xc8
jne 0x47ccec
mov ecx, ebp
call fcn.004735d0
cmp eax, 0xffffffff
jne 0x47b46e
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov esi, eax
test esi, esi
je 0x47ccec
fld dword [esi + 0x38]
call fcn.005351bc
mov dword [esp + 0x70], eax
fld dword [esi + 0x3c]
call fcn.005351bc
mov dword [esp + 0x74], eax
push 0xffffffffffffffff
lea eax, [esp + 0x74]
mov ecx, ebx
push eax
push 0xffffffffffffffff
push 1
push 0x6a
call fcn.00488210
mov dword [esp + 0x10], eax
test eax, eax
jne 0x47b419
lea eax, [esp + 0x70]
push 0xffffffffffffffff
push eax
mov ecx, ebx
push 0xffffffffffffffff
push 0
push 0x6a
call fcn.00488210
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47b55e
mov ecx, eax
call fcn.00472f30
push eax
mov ecx, ebp
call fcn.004735e0
mov ecx, dword [esp + 0x10]
call fcn.00472f70
push eax
mov ecx, ebp
call fcn.004735f0
mov ecx, dword [esp + 0x10]
push 0xc
call fcn.00473450
mov ecx, dword [esp + 0x10]
push 1
call fcn.00472f60
mov ecx, ebp
call fcn.00472f30
mov ecx, dword [esp + 0x10]
push eax
call fcn.004735e0
jmp 0x47b487
push 0xffffffffffffffff
mov ecx, ebp
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004735d0
push eax
mov ecx, ebx
call fcn.00488170
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47b55e
mov ecx, eax
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
test eax, eax
je 0x47b4cb
mov edx, dword [eax + 8]
xor ecx, ecx
mov eax, dword [eax + 0x24]
mov cl, byte [edx + 0x2c]
movsx edx, word [eax + 8]
cmp ecx, edx
jg 0x47b4cb
push 0xf
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
xor esi, esi
mov ecx, ebp
mov dword [esp + 0x14], 0
call fcn.00473240
test eax, eax
jle 0x47b544
push esi
mov ecx, ebp
call fcn.00473250
push eax
mov edi, eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov dword [esp + 0x1c], eax
test eax, eax
je 0x47b538
mov ecx, eax
call fcn.004b0f30
test eax, eax
je 0x47b538
mov ecx, dword [esp + 0x1c]
call fcn.004b0f30
mov ecx, eax
call fcn.0044fc70
cmp eax, 0xffffffff
jne 0x47b538
mov dword [esp + 0x14], 1
mov ecx, dword [esp + 0x10]
call fcn.00473310
push eax
mov ecx, ebx
push edi
call fcn.00483910
inc esi
mov ecx, ebp
call fcn.00473240
cmp eax, esi
jg 0x47b4e0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x47ccec
push 0xf
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
push 0xffffffffffffffff
mov ecx, ebp
call fcn.004735e0
push 0xffffffffffffffff
mov ecx, ebp
call fcn.004735f0
jmp 0x47ccec
call fcn.00473440
cmp eax, 0xf
jne 0x47b991
push 0xffffffffffffffff
mov ecx, ebp
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004735d0
push eax
mov ecx, ebx
call fcn.00488170
mov dword [esp + 0x10], eax
test eax, eax
jne 0x47b5d3
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473490
push 1
mov ecx, ebp
call fcn.00473450
push 0
mov ecx, ebp
call fcn.00472f60
jmp 0x47ccec
mov ecx, dword [esp + 0x10]
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
test eax, eax
jne 0x47b61f
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473490
push 1
mov ecx, ebp
call fcn.00473450
push 0
mov ecx, ebp
call fcn.00472f60
jmp 0x47ccec
mov edx, dword [eax + 8]
xor ecx, ecx
mov eax, dword [eax + 0x24]
mov cl, byte [edx + 0x2c]
movsx edx, word [eax + 8]
cmp ecx, edx
jg 0x47b641
mov eax, dword [ebx + 0xf0]
mov ecx, ebp
push eax
push ebx
call fcn.00473180
xor esi, esi
mov ecx, ebp
mov byte [esp + 0x20], 0xff
mov dword [esp + 0x1c], 1
call fcn.00473240
test eax, eax
jle 0x47b7c6
push esi
mov ecx, ebp
call fcn.00473250
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov edi, eax
test edi, edi
jne 0x47b68c
push str.____Unit__d_is_invalid.
push ebx
call fcn.00514d90
add esp, 8
jmp 0x47b7b6
mov ecx, edi
call fcn.004b0f30
test eax, eax
jne 0x47b6aa
push str.____Unit__d_has_invalid_unitAI.
push ebx
call fcn.00514d90
add esp, 8
jmp 0x47b7b6
push esi
mov ecx, ebp
call fcn.00473250
mov ecx, ebp
mov dword [esp + 0x14], eax
call fcn.00473310
cmp dword [esp + 0x14], eax
jne 0x47b6fd
mov ecx, ebp
call fcn.004734a0
fld dword [eax]
call fcn.005351bc
mov ecx, ebp
mov dword [esp + 0x78], eax
call fcn.004734a0
fld dword [eax + 4]
call fcn.005351bc
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
push ecx
push eax
mov ecx, edi
call fcn.004b0f40
mov byte [esp + 0x20], al
mov eax, dword [edi + 0x20]
test eax, eax
je 0x47b763
mov ecx, dword [esp + 0x10]
call fcn.00473310
mov ecx, dword [edi + 0x20]
cmp eax, dword [ecx + 4]
jne 0x47b737
mov ecx, edi
call fcn.004b0f30
mov ecx, eax
call fcn.0044fc70
cmp eax, 0xffffffff
je 0x47b737
push 0x64
mov eax, dword [edi + 4]
push eax
mov ecx, ebx
call fcn.00481410
jmp 0x47b7b6
mov eax, dword [edi + 0x20]
test eax, eax
je 0x47b76a
mov ecx, dword [esp + 0x10]
call fcn.00473310
mov ecx, dword [edi + 0x20]
cmp eax, dword [ecx + 4]
je 0x47b763
mov eax, dword [ebx + 0xf0]
mov ecx, dword [edi + 4]
push eax
push ecx
mov ecx, ebp
call fcn.00473030
jmp 0x47b7b6
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x47b7b6
mov dword [esp + 0x1c], 0
mov ecx, edi
call fcn.004b0f30
mov ecx, eax
call fcn.0044fc40
cmp eax, 0x2bc
je 0x47b7b6
mov ecx, edi
call fcn.004b0f30
mov ecx, eax
call fcn.0044fc40
cmp eax, 0x2cd
je 0x47b7b6
mov ecx, dword [esp + 0x10]
call fcn.00473310
push eax
mov ecx, ebp
push esi
call fcn.00473250
push eax
mov ecx, ebx
call fcn.00483910
inc esi
mov ecx, ebp
call fcn.00473240
cmp eax, esi
jg 0x47b65f
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x47ccec
mov ecx, ebp
call fcn.004734a0
fld dword [eax]
call fcn.005351bc
mov ecx, ebp
mov dword [esp + 0x80], eax
call fcn.004734a0
fld dword [eax + 4]
call fcn.005351bc
mov ecx, ebp
mov dword [esp + 0x84], eax
call fcn.00473310
push eax
mov ecx, ebp
push 0xf
call fcn.00473460
mov edx, dword [esp + 0x88]
push eax
lea eax, [esp + 0x38]
push 1
mov ecx, dword [esp + 0x94]
push 1
push eax
push ecx
push edx
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.0049e680
test eax, eax
jne 0x47b862
mov ecx, ebp
call fcn.004734a0
fld dword [eax]
call fcn.005351bc
mov ecx, ebp
mov dword [esp + 0x2c], eax
call fcn.004734a0
fld dword [eax + 4]
call fcn.005351bc
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fild dword [esp + 0x2c]
fxch st(1)
fadd dword [0x550910]
fxch st(1)
fadd dword [0x550910]
mov ecx, dword [esp + 0x10]
sub esp, 4
fxch st(1)
fstp dword [esp]
sub esp, 4
fstp dword [esp]
call fcn.00473310
push eax
mov ecx, ebx
call fcn.00483a40
fild dword [esp + 0x30]
fild dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
push 0xbf800000
sub esp, 4
fxch st(1)
fstp dword [esp]
sub esp, 4
fstp dword [esp]
call fcn.00473500
mov ecx, dword [esp + 0x10]
push 0xc
call fcn.00473450
xor eax, eax
mov ecx, dword [esp + 0x10]
mov al, byte [esp + 0x20]
push eax
call fcn.00473490
push 0x10
mov ecx, ebp
call fcn.00473450
push 1
mov ecx, dword [ebx + 0xf0]
push 0
push 0x16
push ecx
push ebx
mov ecx, ebp
call fcn.00473600
mov ecx, dword [esp + 0x10]
call fcn.00473240
cmp eax, 1
jle 0x47ccec
xor esi, esi
mov ecx, dword [esp + 0x10]
call fcn.00473240
test eax, eax
jle 0x47ccec
mov ecx, dword [esp + 0x10]
push esi
call fcn.00473250
mov edi, eax
mov ecx, dword [esp + 0x10]
call fcn.00473310
cmp edi, eax
je 0x47b97e
mov ecx, dword [esp + 0x10]
push esi
call fcn.00473250
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
test eax, eax
je 0x47b97e
push 0x63
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x14]
sub esp, 4
fld dword [eax + 0x28]
fmul dword [0x550910]
fstp dword [esp]
call fcn.00473310
mov ecx, dword [esp + 0x18]
push eax
push esi
call fcn.00473250
push eax
mov ecx, ebx
call fcn.00482f10
inc esi
mov ecx, dword [esp + 0x10]
call fcn.00473240
cmp eax, esi
jg 0x47b91b
jmp 0x47ccec
mov ecx, ebp
call fcn.00473440
cmp eax, 0x10
jne 0x47bde3
push 0xffffffffffffffff
mov ecx, ebp
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004735d0
push eax
mov ecx, ebx
call fcn.00488170
mov dword [esp + 0x24], eax
test eax, eax
jne 0x47b9f1
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473490
push 1
mov ecx, ebp
call fcn.00473450
push 0
mov ecx, ebp
call fcn.00472f60
jmp 0x47ccec
mov ecx, dword [esp + 0x24]
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov dword [esp + 0x20], eax
test eax, eax
je 0x47bdb0
mov ecx, eax
call fcn.004b0f30
test eax, eax
je 0x47bdb0
mov eax, dword [ebx + 0xf0]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 0xf0]
mov eax, dword [edx + 0xc]
mov ax, word [eax + 0x4a]
cmp word [ecx + 0x4a], ax
jne 0x47bdb0
xor esi, esi
mov ecx, ebp
mov dword [esp + 0x10], 1
mov dword [esp + 0x1c], 1
call fcn.00473240
test eax, eax
jle 0x47bb97
push esi
mov ecx, ebp
call fcn.00473250
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov edi, eax
test edi, edi
je 0x47bb87
mov ecx, edi
call fcn.004b0f30
test eax, eax
je 0x47bb87
mov eax, dword [edi + 0x20]
test eax, eax
je 0x47baa4
mov dword [esp + 0x10], 0
jmp 0x47bb87
mov dword [esp + 0x1c], 0
mov ecx, ebp
call fcn.00473460
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov ecx, ebp
mov dword [esp + 0x14], eax
call fcn.00472f70
cmp eax, 0x64
jne 0x47bb75
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47bb75
mov ecx, edi
call fcn.004b0f30
test eax, eax
je 0x47bb87
mov ecx, edi
call fcn.004b0f30
mov ecx, eax
call fcn.0044fc90
mov ecx, ebp
mov dword [esp + 0x14], eax
call fcn.00473460
cmp dword [esp + 0x14], eax
je 0x47bb87
push 0xffffffffffffffff
mov ecx, edi
push 0xffffffffffffffff
mov eax, dword [edi]
push 1
push 0
call dword [eax + 0x104]
sub esp, 4
mov ecx, ebp
fstp dword [esp]
call fcn.00473460
push eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x18c]
cmp eax, 1
jne 0x47bb87
push 0
mov ecx, ebp
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
call fcn.00473460
push eax
mov ecx, ebp
call fcn.004734a0
mov eax, dword [eax + 4]
mov ecx, ebp
push eax
call fcn.004734a0
mov eax, dword [eax]
mov ecx, ebp
push eax
push esi
call fcn.00473250
push eax
mov ecx, ebx
call fcn.004833a0
jmp 0x47bb87
push 0x64
mov ecx, ebp
push esi
call fcn.00473250
push eax
mov ecx, ebx
call fcn.00481410
inc esi
mov ecx, ebp
call fcn.00473240
cmp eax, esi
jg 0x47ba63
mov eax, dword [esp + 0x1c]
cmp eax, 1
jne 0x47bc1e
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x180]
call fcn.0041ec90
test al, al
je 0x47bbce
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x180]
call fcn.0041ed20
mov cl, byte [eax + 0xc]
cmp cl, 2
jne 0x47ccec
mov ecx, dword [esp + 0x24]
call fcn.004734a0
fld dword [eax + 4]
fadd dword [0x550910]
mov ecx, dword [esp + 0x24]
sub esp, 4
fstp dword [esp]
call fcn.004734a0
fld dword [eax]
fadd dword [0x550910]
mov ecx, dword [esp + 0x28]
sub esp, 4
fstp dword [esp]
call fcn.00473310
push eax
mov ecx, ebx
call fcn.00483a40
mov ecx, dword [esp + 0x24]
push 0xc
call fcn.00473450
jmp 0x47ccec
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47ccec
push 0xffffffffffffffff
mov ecx, ebp
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004735d0
push eax
mov ecx, ebx
call fcn.00488170
mov esi, eax
test esi, esi
je 0x47bca5
push 0xffffffffffffffff
mov ecx, esi
call fcn.00473470
push 0xffffffffffffffff
mov ecx, esi
call fcn.00473490
push 1
mov ecx, esi
call fcn.00473450
push 0
mov ecx, esi
call fcn.00472f60
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, dword [ebx + 0xf0]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x6d
push 0xffffffffffffffff
call fcn.00439130
test eax, eax
je 0x47bca5
push 0x32
mov ecx, dword [eax + 0x3c]
push ecx
mov eax, dword [eax + 0x38]
push eax
mov ecx, esi
call fcn.00473310
push eax
mov ecx, ebx
call fcn.00481460
mov ecx, ebp
call fcn.00472f70
mov ecx, ebp
cmp eax, 0x64
jne 0x47bd56
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov esi, eax
test esi, esi
je 0x47bd39
mov edi, dword [esi]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
push 1
push 0
call dword [edi + 0x104]
sub esp, 4
mov ecx, ebp
fstp dword [esp]
call fcn.00473460
push eax
mov ecx, esi
call dword [edi + 0x18c]
cmp eax, 1
jne 0x47bd39
mov ecx, dword [ebx + 0xf0]
mov edi, dword [ebx + 0x2b0]
mov eax, dword [ecx + 0xf0]
mov edx, dword [eax + 0x3c]
add ecx, 0xf0
cmp edi, 1
mov esi, dword [edx + 4]
mov dword [ebx + 0xd0c], esi
jne 0x47bd32
mov eax, dword [ecx]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ecx + 4]
mov dword [ebx + 0xd14], edx
push 2
jmp 0x47ccca
push 1
mov ecx, ebp
call fcn.00472f60
push 7
mov ecx, ebp
call fcn.00473450
push 1
push 0
push 7
jmp 0x47ccdd
call fcn.00472f70
cmp eax, 0x65
je 0x47bd6c
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x6d
jne 0x47bde3
mov ecx, ebp
call fcn.004734a0
mov eax, dword [eax + 8]
mov ecx, ebp
push eax
call fcn.004734a0
mov eax, dword [eax + 4]
mov ecx, ebp
push eax
call fcn.004734a0
mov eax, dword [eax]
mov ecx, ebp
push eax
call fcn.00473540
push 0
mov ecx, ebp
call fcn.00472f60
push 1
mov ecx, ebp
call fcn.00473450
push 1
push 1
push 1
jmp 0x47ccdd
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473490
push 1
mov ecx, ebp
call fcn.00473450
push 0
mov ecx, ebp
call fcn.00472f60
jmp 0x47ccec
mov ecx, ebp
call fcn.00473440
cmp eax, 0xc
je 0x47ccec
mov ecx, ebp
call fcn.00473440
cmp eax, 0x13
jne 0x47be90
mov eax, dword [ebx + 0xf0]
mov ecx, ebp
push eax
push ebx
call fcn.00474d80
test eax, eax
jne 0x47ccec
mov eax, dword [ebx + 0xf0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov ecx, ebp
mov esi, dword [edx + 4]
call fcn.00474f30
sub esi, eax
mov ecx, 0x3e8
mov eax, esi
sub edx, edx
div ecx
mov esi, eax
push 1
mov eax, dword [ebx + 0xf0]
mov ecx, ebp
push eax
call fcn.00474e70
cmp eax, 1
jne 0x47ccec
cmp esi, 5
jbe 0x47ccec
mov eax, dword [ebx + 0xf0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov ecx, ebp
mov eax, dword [edx + 4]
push eax
call fcn.00474f40
push 0
mov ecx, dword [ebx + 0xf0]
push 1
push 9
push ecx
jmp 0x47cce4
mov ecx, ebp
call fcn.00473440
cmp eax, 3
jne 0x47c025
mov eax, dword [ebx + 0xf0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov ecx, ebp
mov esi, dword [edx + 4]
call fcn.00474f30
sub esi, eax
mov ecx, 0x3e8
mov eax, esi
sub edx, edx
div ecx
cmp dword [ebx + 0x2c4], eax
jae 0x47bf17
push 0
mov ecx, ebp
call fcn.00472f60
push 1
mov ecx, ebp
call fcn.00473450
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473490
push 0xbf800000
mov ecx, ebp
push 0xbf800000
push 0xbf800000
call fcn.00473500
jmp 0x47ccec
mov eax, dword [ebx + 0xf0]
mov ecx, ebp
push eax
push ebx
call fcn.00474d80
test eax, eax
je 0x47c025
push 1
mov ecx, ebp
call fcn.00473450
push 0
mov ecx, ebp
call fcn.00472f60
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x65
je 0x47bf58
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x68
jne 0x47bf7c
mov ecx, ebp
call fcn.00473460
push eax
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00497890
test eax, eax
je 0x47bf7c
mov dword [eax + 0x10], 0
mov ecx, dword [ebx + 0xf0]
add ecx, 0x104
call fcn.004d52e0
test eax, eax
jne 0x47ccec
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x64
jne 0x47bfb1
push 0xffffffffffffffff
mov ecx, ebx
push 0x64
call fcn.004885d0
cmp eax, 1
jg 0x47bfc1
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x64
je 0x47ccec
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x66
jne 0x47bfdc
mov eax, dword [ebx + 0x23c]
dec eax
mov dword [ebx + 0x23c], eax
jmp 0x47c009
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x65
jne 0x47bff7
mov eax, dword [ebx + 0x22c]
dec eax
mov dword [ebx + 0x22c], eax
jmp 0x47c009
mov ecx, ebp
call fcn.00472f70
cmp eax, 0x64
jne 0x47c009
dec dword [ebx + 0x224]
mov eax, dword [ebx + 0xf0]
mov ecx, ebp
push eax
call fcn.00473140
push 0
mov ecx, ebp
call fcn.00473450
jmp 0x47ccec
mov ecx, ebp
call fcn.00473440
cmp eax, 7
jne 0x47c387
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov edi, eax
mov eax, dword [ebx + 0xd34]
dec eax
jns 0x47c0bd
push 4
call fcn.0052f700
mov dword [esp + 0x18], eax
add esp, 4
test eax, eax
je 0x47c0bd
xor edx, edx
mov eax, dword [ebx + 0xd34]
cmp eax, edx
jle 0x47c09a
xor eax, eax
mov ecx, dword [esp + 0x14]
cmp eax, 4
jge 0x47c09a
mov esi, dword [ebx + 0xd28]
add eax, 4
add ecx, 4
inc edx
mov esi, dword [esi + eax - 4]
mov dword [ecx - 4], esi
mov esi, dword [ebx + 0xd34]
cmp esi, edx
jg 0x47c077
mov eax, dword [ebx + 0xd28]
push eax
call fcn.0052f720
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [ebx + 0xd34], 1
mov dword [ebx + 0xd28], eax
mov eax, dword [esp + 0xec]
lea ecx, [ebx + 0xfac]
push eax
mov edx, dword [ebx + 0xd28]
push ecx
push ebp
mov eax, dword [edx]
mov ecx, dword [ebx + 0xf0]
push eax
add ecx, 0xcec
call fcn.0049a0d0
mov esi, eax
mov eax, dword [ebx + 0xfd4]
cmp eax, 1
je 0x47cd7f
xor eax, eax
test esi, esi
je 0x47c10c
mov eax, dword [esi]
mov ecx, dword [ebx + 0xf0]
push eax
call fcn.00439110
test edi, edi
je 0x47c340
test esi, esi
je 0x47c340
test eax, eax
je 0x47c340
xor eax, eax
mov al, byte [esi + 8]
mov dword [esp + 0x58], eax
xor eax, eax
mov al, byte [esi + 9]
mov dword [esp + 0x5c], eax
xor eax, eax
mov al, byte [esi + 0xa]
push 0x1b
mov dword [esp + 0x64], eax
xor eax, eax
mov ecx, dword [edi]
mov al, byte [esi + 0xb]
push eax
push 1
mov edx, dword [ecx + 0x104]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x20], edx
push ecx
mov edx, dword [esi]
mov ecx, edi
push edx
call dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
sub esp, 4
fstp dword [esp]
push ecx
push edx
push eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x190]
cmp eax, 1
jne 0x47c222
push 2
mov ecx, ebp
call fcn.00473450
mov eax, dword [esi]
mov ecx, ebp
push eax
call fcn.00473470
movsx eax, word [esi + 4]
push eax
mov ecx, ebp
call fcn.00473490
xor eax, eax
sub esp, 4
mov al, byte [esi + 0xa]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], 0
fild qword [esp + 0x18]
mov al, byte [esi + 9]
mov dword [esp + 0x18], eax
sub esp, 4
xor eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
mov al, byte [esi + 8]
sub esp, 4
mov ecx, ebp
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fstp dword [esp]
call fcn.00473500
push 1
mov ecx, ebp
call fcn.00472f60
push 1
mov ecx, dword [ebx + 0xf0]
push 0
push 2
push ecx
jmp 0x47cce4
push 0x1b
xor eax, eax
mov al, byte [esi + 0xb]
lea ecx, [esp + 0x98]
push eax
mov edx, dword [esi]
push 1
push 0x16
push 1
push ecx
push edx
mov ecx, edi
call dword [esp + 0x30]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
sub esp, 4
fstp dword [esp]
push ecx
push edx
push eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x19c]
cmp eax, 1
jne 0x47c340
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xc8]
push eax
push ecx
push 2
mov ecx, edi
mov edi, dword [edi]
call dword [edi + 0x1a0]
cmp eax, 1
jne 0x47c340
push 0
mov eax, dword [ebx + 0xf0]
push 1
mov ecx, ebp
push 0xe
push eax
push ebx
call fcn.00473600
push 0xd
mov ecx, ebp
call fcn.00473450
mov eax, dword [esi]
mov ecx, ebp
push eax
call fcn.00473470
movsx eax, word [esi + 4]
push eax
mov ecx, ebp
call fcn.00473490
xor eax, eax
sub esp, 4
mov al, byte [esi + 0xa]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], 0
fild qword [esp + 0x18]
mov al, byte [esi + 9]
mov dword [esp + 0x18], eax
sub esp, 4
xor eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
mov al, byte [esi + 8]
sub esp, 4
mov ecx, ebp
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fstp dword [esp]
call fcn.00473500
push 1
mov ecx, ebp
call fcn.00472f60
push 0xc8
mov ecx, ebp
call fcn.004735c0
mov dword [ebp + 0x1d0], 0xffffffff
jmp 0x47ccec
mov eax, dword [ebx + 0xf0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov ecx, ebp
mov esi, dword [edx + 4]
call fcn.00474f30
sub esi, eax
mov ecx, 0x3e8
mov eax, esi
sub edx, edx
div ecx
mov ecx, dword [ebx + 0x2f4]
shl ecx, 2
cmp ecx, eax
jae 0x47c387
push 7
mov ecx, ebp
call fcn.00473450
push 1
push 0
push 7
jmp 0x47ccdd
mov ecx, ebp
call fcn.00473440
cmp eax, 2
jne 0x47cafb
mov eax, dword [ebp + 0x1d0]
cmp eax, 0xffffffff
jne 0x47cafb
mov eax, dword [ebx + 0x300]
cmp eax, 0x64
jge 0x47c479
xor esi, esi
mov ecx, ebp
call fcn.00473240
test eax, eax
jle 0x47c479
push esi
mov ecx, ebp
call fcn.00473250
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov dword [esp + 0x14], eax
test eax, eax
je 0x47c469
push esi
mov ecx, ebp
call fcn.004732a0
mov edi, eax
mov eax, dword [esp + 0x14]
fld dword [eax + 0x30]
call fcn.005351bc
sub edi, eax
push esi
shl edi, 2
mov ecx, ebp
lea eax, [edi + edi*4]
lea edi, [eax + eax*4]
call fcn.004732a0
mov ecx, eax
mov eax, edi
cdq
idiv ecx
cmp dword [ebx + 0x300], eax
jge 0x47c469
push 0x64
mov ecx, ebp
call fcn.00473570
mov eax, dword [eax + 4]
mov ecx, ebp
push eax
call fcn.00473570
mov eax, dword [eax]
mov ecx, ebp
push eax
push esi
call fcn.00473250
push eax
mov ecx, ebx
call fcn.00481460
mov eax, dword [ebx + 0xf0]
mov ecx, ebp
push eax
push esi
call fcn.00473250
push eax
mov ecx, ebp
call fcn.00473030
mov ecx, ebp
call fcn.00473240
test eax, eax
jne 0x47c46a
jmp 0x47c479
inc esi
mov ecx, ebp
call fcn.00473240
cmp eax, esi
jg 0x47c3c6
mov ecx, ebp
call fcn.00473460
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov esi, eax
test esi, esi
je 0x47c7ee
mov al, byte [esi + 0x48]
cmp al, 2
ja 0x47c7ee
test esi, esi
je 0x47c617
mov ecx, ebp
call fcn.00472f90
cmp eax, 0xffffffff
je 0x47c692
mov ecx, ebp
call fcn.00472f90
test eax, eax
je 0x47c617
mov ecx, ebp
call fcn.00472f90
cmp eax, 4
jne 0x47c617
mov ecx, dword [ebx + 0xf0]
mov eax, dword [esi + 0xc]
mov ax, word [eax + 0x4a]
mov edx, dword [ecx + 0xf0]
cmp word [edx + 0x4a], ax
jne 0x47c617
mov eax, dword [esi + 4]
push eax
call fcn.004a3b90
test eax, eax
je 0x47c617
mov eax, dword [ebx + 0xf0]
mov ecx, dword [esi + 4]
push eax
push ecx
mov ecx, ebp
call fcn.00472fb0
mov ecx, dword [ebx + 0xf0]
add ecx, 0x10e74
call fcn.00462340
lea edx, [esp + 0xb4]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx], ecx
mov ecx, dword [ebx + 0xf0]
mov dword [edx + 4], esi
add ecx, 0x10e74
mov dword [edx + 8], edi
mov dword [edx + 0xc], eax
call fcn.00462350
lea edx, [esp + 0xa4]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
push 0
mov dword [edx], ecx
mov ecx, ebp
mov dword [edx + 4], esi
mov dword [edx + 8], edi
mov dword [edx + 0xc], eax
call fcn.00472f60
push 1
mov ecx, ebp
call fcn.00473450
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473490
push 0xbf800000
mov ecx, ebp
push 0xbf800000
push 0xbf800000
call fcn.00473500
fld dword [esp + 0xac]
fadd dword [esp + 0xbc]
fld dword [esp + 0xa8]
fadd dword [esp + 0xb8]
fxch st(1)
fmul dword [0x550910]
fld dword [esp + 0xa4]
fadd dword [esp + 0xb4]
fxch st(2)
fmul dword [0x550910]
fxch st(2)
fmul dword [0x550910]
sub esp, 4
fxch st(1)
fstp dword [esp]
sub esp, 4
fxch st(1)
fstp dword [esp]
sub esp, 4
fstp dword [esp]
mov ecx, ebp
call fcn.00473540
mov eax, dword [ebx + 0xf0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov ecx, ebp
mov esi, dword [edx + 4]
call fcn.00474f30
sub esi, eax
mov ecx, 0x3e8
mov eax, esi
sub edx, edx
div ecx
cmp dword [ebx + 0x2c4], eax
jae 0x47cafb
push 0
mov ecx, ebp
call fcn.00472f60
push 1
mov ecx, ebp
call fcn.00473450
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473490
push 0xbf800000
mov ecx, ebp
push 0xbf800000
push 0xbf800000
call fcn.00473500
mov dword [ebp + 0x2cc], 0
jmp 0x47ccec
mov eax, dword [ebx + 0xf0]
mov edx, dword [esi + 0xc]
mov ecx, dword [eax + 0xf0]
movsx eax, word [edx + 0x4a]
push eax
mov esi, dword [ecx]
call dword [esi + 0x1c]
push 0
test eax, eax
je 0x47c726
mov ecx, ebp
call fcn.00472f60
push 1
mov ecx, ebp
call fcn.00473450
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473490
push 0xbf800000
mov ecx, ebp
push 0xbf800000
push 0xbf800000
call fcn.00473500
mov dword [ebp + 0x2cc], 0
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
test eax, eax
je 0x47ccec
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x3c]
push ecx
mov eax, dword [eax + 0x38]
push edx
mov ecx, ebp
push eax
call fcn.00473540
jmp 0x47ccec
mov eax, dword [ebx + 0xf0]
mov ecx, ebp
push eax
call fcn.00474e70
cmp eax, 1
jne 0x47c7e3
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov esi, eax
test esi, esi
je 0x47ccec
mov edi, dword [esi]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
push 1
push 0
call dword [edi + 0x104]
sub esp, 4
mov ecx, ebp
fstp dword [esp]
call fcn.00473460
push eax
mov ecx, esi
call dword [edi + 0x18c]
cmp eax, 1
je 0x47c7e3
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x3c]
push eax
mov edx, dword [esi + 0x38]
push ecx
push edx
mov ecx, ebp
call fcn.00473540
push 0
mov ecx, ebp
call fcn.00472f60
push 1
mov ecx, ebp
call fcn.00473450
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473490
push 0xbf800000
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
push 0xbf800000
push 0xbf800000
call fcn.00473500
jmp 0x47ccec
push 1
push 0
push 0x14
jmp 0x47ccdd
mov eax, dword [ebx + 0x258]
cmp eax, 2
jne 0x47c845
push 1
mov ecx, ebp
call fcn.00473450
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473490
push 0xbf800000
mov ecx, ebp
push 0xbf800000
push 0xbf800000
call fcn.00473500
push 0
mov ecx, ebp
push 1
call fcn.00473440
push eax
jmp 0x47ccdd
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov edi, eax
test edi, edi
je 0x47ccec
mov eax, dword [ebx + 0xd34]
dec eax
jns 0x47c8d5
push 4
call fcn.0052f700
mov dword [esp + 0x18], eax
add esp, 4
test eax, eax
je 0x47c8d5
xor eax, eax
mov ecx, dword [ebx + 0xd34]
cmp ecx, eax
jle 0x47c8b2
xor ecx, ecx
mov edx, dword [esp + 0x14]
cmp ecx, 4
jge 0x47c8b2
mov esi, dword [ebx + 0xd28]
add ecx, 4
add edx, 4
inc eax
mov esi, dword [esi + ecx - 4]
mov dword [edx - 4], esi
mov esi, dword [ebx + 0xd34]
cmp esi, eax
jg 0x47c88f
mov eax, dword [ebx + 0xd28]
push eax
call fcn.0052f720
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [ebx + 0xd34], 1
mov dword [ebx + 0xd28], eax
mov eax, dword [esp + 0xec]
lea ecx, [ebx + 0xfac]
push eax
mov edx, dword [ebx + 0xd28]
push ecx
push ebp
mov eax, dword [edx]
mov ecx, dword [ebx + 0xf0]
push eax
add ecx, 0xcec
call fcn.0049a0d0
mov esi, eax
mov eax, dword [ebx + 0xfd4]
cmp eax, 1
je 0x47cd8e
test esi, esi
je 0x47ca08
xor eax, eax
mov al, byte [esi + 8]
mov dword [esp + 0x64], eax
xor eax, eax
mov al, byte [esi + 9]
push 0x1b
mov dword [esp + 0x6c], eax
xor eax, eax
mov al, byte [esi + 0xa]
lea ecx, [esp + 0xc8]
mov edx, dword [esi]
mov dword [esp + 0x70], eax
xor eax, eax
mov al, byte [esi + 0xb]
push eax
push 1
push ecx
mov eax, dword [edi]
push edx
mov ecx, edi
call dword [eax + 0x104]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
sub esp, 4
fstp dword [esp]
push ecx
push edx
push eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x190]
cmp eax, 1
jne 0x47ca08
mov eax, dword [esi]
mov ecx, ebp
push eax
call fcn.00473470
movsx eax, word [esi + 4]
push eax
mov ecx, ebp
call fcn.00473490
xor eax, eax
sub esp, 4
mov al, byte [esi + 0xa]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], 0
fild qword [esp + 0x18]
mov al, byte [esi + 9]
mov dword [esp + 0x18], eax
sub esp, 4
xor eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], 0
fild qword [esp + 0x1c]
mov al, byte [esi + 8]
sub esp, 4
mov ecx, ebp
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fstp dword [esp]
call fcn.00473500
push 1
mov ecx, ebp
call fcn.00472f60
push 0
mov ecx, dword [ebx + 0xf0]
push 0
push 2
push ecx
jmp 0x47cce4
mov ecx, ebp
call fcn.00473480
mov esi, eax
push 0
mov ecx, ebp
call fcn.00472f60
push 1
mov ecx, ebp
call fcn.00473450
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00473470
push 0xffffffffffffffff
mov ecx, ebp
mov dword [ebp + 0x2cc], 0
call fcn.00473490
push 0xbf800000
mov ecx, ebp
push 0xbf800000
push 0xbf800000
call fcn.00473500
mov eax, dword [ebx + 0x258]
test eax, eax
jne 0x47ca77
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x3c]
push eax
mov edx, dword [edi + 0x38]
push ecx
push edx
mov ecx, ebp
call fcn.00473540
jmp 0x47ccec
cmp eax, 3
jne 0x47ccec
cmp esi, 0x7e
je 0x47ccec
cmp esi, 0x59
je 0x47ccec
mov eax, dword [ebx + 0x3b0]
cmp eax, 1
jne 0x47cade
fld dword [edi + 0x3c]
call fcn.005351bc
fld dword [edi + 0x38]
mov esi, eax
call fcn.005351bc
mov ecx, dword [ebx + 0x3b4]
mov edx, dword [ebx + 0x3b4]
add ecx, esi
sub esi, edx
push ecx
mov ecx, dword [ebx + 0x3b4]
add ecx, eax
sub eax, edx
push ecx
push esi
push eax
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00496340
push 1
mov ecx, ebp
call fcn.00472f60
push 7
mov ecx, ebp
call fcn.00473450
push 1
push 0
push 7
jmp 0x47ccdd
mov ecx, ebp
call fcn.00473440
cmp eax, 2
jne 0x47cb62
mov eax, dword [ebp + 0x1d0]
cmp eax, 0xffffffff
je 0x47cb62
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
mov esi, eax
test esi, esi
je 0x47ccec
mov ecx, esi
call fcn.004b0f30
test eax, eax
je 0x47ccec
mov ecx, esi
call fcn.004b0f30
mov ecx, dword [eax + 0x12c]
test ecx, ecx
jne 0x47ccec
mov dword [ebp + 0x1d0], 0xffffffff
jmp 0x47ccec
mov ecx, ebp
call fcn.00473440
cmp eax, 4
jne 0x47cc3b
push 1
mov eax, dword [ebx + 0xf0]
push eax
mov ecx, ebp
call fcn.00474e70
cmp eax, 1
jne 0x47cba5
mov eax, dword [ebx + 0xf0]
mov ecx, ebp
push eax
push ebx
call fcn.00474d80
test eax, eax
jne 0x47cba5
push 0
push 1
push 9
jmp 0x47ccdd
mov ecx, ebp
call fcn.00473460
push eax
mov ecx, dword [ebx + 0xf0]
call fcn.00439110
test eax, eax
jne 0x47cbd3
push 1
mov ecx, ebp
call fcn.00473450
push 0
mov ecx, ebp
call fcn.00472f60
jmp 0x47ccec
mov eax, dword [eax + 8]
movsx ecx, word [eax + 0x14]
push ecx
mov ecx, ebp
call fcn.00473480
push eax
mov ecx, ebp
call fcn.00473310
push eax
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.0049b520
test eax, eax
je 0x47cc3b
mov ecx, ebp
call fcn.00473460
push eax
mov ecx, dword [ebx + 0xf0]
add ecx, 0xcec
call fcn.00497890
test eax, eax
je 0x47cc24
mov dword [eax + 0x10], 0
push 1
mov ecx, ebp
call fcn.00473450
push 0
mov ecx, ebp
call fcn.00472f60
jmp 0x47ccec
mov ecx, ebp
call fcn.00473440
cmp eax, 3
je 0x47ccf6
mov ecx, ebp
call fcn.00473440
cmp eax, 0xd
je 0x47ccf6
mov ecx, ebp
call fcn.004733f0
mov esi, eax
mov ecx, ebp
mov eax, dword [ebx + 0xf0]
push eax
call fcn.004733b0
sub esi, eax
mov ecx, ebp
shl esi, 2
lea eax, [esi + esi*4]
lea edi, [eax + eax*4]
call fcn.004733f0
mov ecx, eax
mov eax, edi
cdq
idiv ecx
mov esi, eax
mov ecx, ebp
call fcn.00473400
mov edi, eax
mov ecx, ebp
call fcn.00473240
sub edi, eax
mov ecx, ebp
shl edi, 2
lea eax, [edi + edi*4]
lea edi, [eax + eax*4]
call fcn.00473400
mov ecx, eax
mov eax, edi
cdq
idiv ecx
cmp dword [ebx + 0x20c], esi
jl 0x47ccc8
mov ecx, dword [ebx + 0x210]
cmp ecx, eax
jge 0x47ccf6
push 3
mov ecx, ebp
call fcn.00473450
push 0
mov ecx, ebp
push 1
call fcn.00473440
push eax
mov eax, dword [ebx + 0xf0]
push eax
push ebx
mov ecx, ebp
call fcn.00473600
mov dword [ebx + 0xfd4], 0
mov eax, dword [ebx + 0xfd4]
test eax, eax
jne 0x47cd63
mov ebp, dword [ebp + 4]
mov eax, ebx
sub eax, ebp
cmp eax, 0xfffff62c
je 0x47cd21
test ebp, ebp
je 0x47cd21
mov ecx, ebp
call fcn.00472f30
mov dword [ebx + 0xf84], eax
jmp 0x47cd2b
mov dword [ebx + 0xf84], 0xffffffff
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
sub eax, ecx
cmp eax, edx
jb 0x47cd4a
jmp 0x47cd63
mov ebp, dword [ebp + 4]
mov eax, ebx
sub eax, ebp
cmp eax, 0xfffff62c
jne 0x47a67e
mov dword [ebx + 0xf84], 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xd8
ret 8
mov ecx, ebp
call fcn.00472f30
mov dword [ebx + 0xf84], eax
jmp 0x47cd63
mov ecx, ebp
call fcn.00472f30
mov dword [ebx + 0xf84], eax
jmp 0x47cd63
mov ecx, ebp
call fcn.00472f30
mov dword [ebx + 0xf84], eax
jmp 0x47cd63