Function at 0x4ad260
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xb4
push esi
mov esi, ecx
mov eax, dword [esi + 0x618]
test eax, eax
jne 0x4ad287
mov eax, dword [esi + 0x61c]
test eax, eax
jne 0x4ad287
mov eax, dword [esi + 0x620]
test eax, eax
je 0x4ad2e5
mov ecx, dword [0x750814]
mov eax, dword [ecx]
call dword [eax + 0x3c]
test al, al
jne 0x4ad2b1
mov esi, dword [esi + 0x638]
test esi, esi
je 0x4ad2e5
mov ecx, esi
call fcn.005b3130
xor al, al
pop esi
add esp, 0xb4
ret
mov ecx, esi
call fcn.004a8750
test al, al
je 0x4ad2e5
mov ecx, dword [esi + 0x638]
call fcn.005b3030
test al, al
je 0x4ad2e5
mov ecx, dword [0x750814]
mov edx, dword [ecx]
call dword [edx + 0x40]
test al, al
jne 0x4ad2ef
mov ecx, dword [esi + 0x638]
call fcn.005b3130
xor al, al
pop esi
add esp, 0xb4
ret
push ebx
push ebp
push edi
xor ebx, ebx
push ebx
push 0x3f800000
push ebx
mov eax, 0x100
push 1
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov eax, dword [0x750814]
lea edx, [esp + 0xa4]
push edx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov eax, dword [eax + 0x1dc]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x90]
call fcn.0041a560
fld dword [0x6d3398]
fdiv dword [esi + 0x440]
mov al, byte [eax + 0x9d2]
mov edi, dword [0x74c650]
shr al, 2
and al, 1
mov byte [esp + 0x27], al
mov dword [esp + 0x14], edi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
fld st(0)
fmul dword [esi + 0x468]
fstp dword [esp + 0x48]
fmul dword [esi + 0x46c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x48]
fmul dword [0x6dbdd0]
call fcn.0063199c
fld dword [esp + 0x4c]
fmul dword [0x6dbdd0]
mov ebx, eax
call fcn.0063199c
mov ebp, eax
lea eax, [edi + 0x458]
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x2c], eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, ebp
cdq
sub eax, edx
mov dword [esp + 0x84], ecx
add ecx, ebx
mov edx, eax
mov eax, dword [esp + 0x2c]
sar edx, 1
mov dword [esp + 0x8c], ecx
sub eax, edx
lea ecx, [eax + ebp]
mov dword [esp + 0x90], ecx
mov ecx, dword [edi + 0x74]
shl ecx, 6
mov dword [esp + 0x40], ecx
mov ecx, dword [edi + 0x78]
shl ecx, 5
xor edx, edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x84]
cmp ecx, edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
jge 0x4ad424
neg ecx
mov dword [esp + 0x5c], ecx
test eax, eax
jge 0x4ad42e
neg eax
mov dword [esp + 0x60], eax
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x88]
call fcn.00425f30
fild dword [esp + 0x84]
fstp dword [esp + 0x50]
fld dword [0x6d3398]
fdiv dword [esp + 0x48]
fst dword [esp + 0x34]
fmul dword [esp + 0x50]
call fcn.0063199c
fld dword [0x6d3398]
fdiv dword [esp + 0x4c]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x30]
fild dword [esp + 0x88]
fst dword [esp + 0x18]
fmul dword [esp + 0x30]
call fcn.0063199c
fild dword [esp + 0x8c]
mov dword [esp + 0x3c], eax
fst dword [esp + 0x7c]
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x90]
mov edi, eax
fst dword [esp + 0x54]
fmul dword [esp + 0x30]
call fcn.0063199c
fild dword [esp + 0x5c]
mov ebx, eax
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x60]
mov ebp, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x618]
test eax, eax
mov dword [esp + 0x28], ebp
je 0x4ad5a6
fld dword [0x6d3398]
fdiv dword [esi + 0x468]
fld dword [esp + 0x50]
fmul st(1)
call fcn.0063199c
fld dword [0x6d3398]
fdiv dword [esi + 0x46c]
mov dword [esp + 0x5c], eax
fst dword [esp + 0x10]
fmul dword [esp + 0x18]
call fcn.0063199c
fmul dword [esp + 0x7c]
mov dword [esp + 0x60], eax
call fcn.0063199c
fld dword [esp + 0x10]
fmul dword [esp + 0x54]
mov ebp, eax
mov dword [esp + 0x64], ebp
call fcn.0063199c
mov edx, dword [esp + 0x38]
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
sub ebp, dword [esp + 0x5c]
mov dword [esp + 0x10], ebp
fidiv dword [esp + 0x10]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov edx, ebx
sub edx, ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x68], eax
sub eax, ecx
mov ecx, dword [esi + 0x618]
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x50]
push edx
lea edx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
push edx
fstp dword [esp + 0x60]
fild dword [esp + 0x28]
mov dword [esp + 0x28], eax
fidiv dword [esp + 0x28]
fstp dword [esp + 0x64]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esi + 0x61c]
test eax, eax
je 0x4ad671
fld dword [0x6d3398]
fdiv dword [esi + 0x468]
fld dword [esp + 0x50]
fmul st(1)
call fcn.0063199c
fld dword [0x6d3398]
fdiv dword [esi + 0x46c]
mov dword [esp + 0x5c], eax
fst dword [esp + 0x10]
fmul dword [esp + 0x18]
call fcn.0063199c
fmul dword [esp + 0x7c]
mov dword [esp + 0x60], eax
call fcn.0063199c
fld dword [esp + 0x10]
fmul dword [esp + 0x54]
mov ebp, eax
mov dword [esp + 0x64], ebp
call fcn.0063199c
mov edx, dword [esp + 0x38]
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
sub ebp, dword [esp + 0x5c]
mov dword [esp + 0x10], ebp
fidiv dword [esp + 0x10]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov edx, ebx
sub edx, ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x68], eax
sub eax, ecx
mov ecx, dword [esi + 0x61c]
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x50]
push edx
lea edx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
push edx
fstp dword [esp + 0x60]
fild dword [esp + 0x28]
mov dword [esp + 0x28], eax
fidiv dword [esp + 0x28]
fstp dword [esp + 0x64]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esi + 0x620]
test eax, eax
je 0x4ad736
fld dword [0x6d3398]
fdiv dword [esi + 0x468]
fld dword [esp + 0x50]
fmul st(1)
call fcn.0063199c
fld dword [0x6d3398]
fdiv dword [esi + 0x46c]
mov dword [esp + 0x5c], eax
fst dword [esp + 0x10]
fmul dword [esp + 0x18]
call fcn.0063199c
fmul dword [esp + 0x7c]
mov dword [esp + 0x60], eax
call fcn.0063199c
fld dword [esp + 0x10]
fmul dword [esp + 0x54]
mov ebp, eax
mov dword [esp + 0x64], ebp
call fcn.0063199c
sub edi, dword [esp + 0x38]
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
sub ebp, dword [esp + 0x5c]
mov dword [esp + 0x10], ebp
fidiv dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
sub ebx, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], ebx
sub eax, ecx
mov ecx, dword [esi + 0x620]
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x50]
push edx
lea edx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
push edx
fstp dword [esp + 0x60]
fild dword [esp + 0x28]
mov dword [esp + 0x28], eax
fidiv dword [esp + 0x28]
fstp dword [esp + 0x64]
mov eax, dword [ecx]
call dword [eax + 8]
call fcn.004ad200
mov ecx, eax
call fcn.00416190
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
call fcn.00609f10
mov ecx, dword [eax + 0x15c]
mov edx, dword [eax + 0x160]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x3b4]
mov dword [esp + 0x4c], edx
cmp eax, dword [ecx + 0x3b8]
mov dword [esp + 0x50], eax
je 0x4ada91
lea esp, [esp]
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x5c]
test byte [eax + 0x1e], 0x20
jne 0x4ada74
mov eax, dword [esp + 0x50]
mov ebx, dword [eax]
mov eax, dword [ebx + 0x34]
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ecx, dword [ebx + 0x38]
sub eax, edi
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
sub ecx, edx
mov dword [esp + 0x58], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x58]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov edx, dword [esp + 0x2c]
mov ebp, eax
mov eax, dword [esp + 0x28]
add ebp, edx
mov edx, dword [ebx]
mov ecx, ebx
add edi, eax
call dword [edx + 0x5c]
mov cl, byte [eax + 9]
test cl, cl
jns 0x4ad8a5
mov eax, dword [esi + 0x62c]
test eax, eax
je 0x4ad8a5
lea eax, [ebp - 0xa]
push 0
lea ebx, [edi - 0xa]
push 0xffffffffffffffff
mov dword [esp + 0xb0], eax
add edi, 0x14
add ebp, 0x14
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esp + 0xb0]
push eax
push ecx
mov ecx, dword [esi + 0x62c]
push ebx
call fcn.0041e3e0
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x5c]
add edx, ecx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x4c]
add ebx, eax
add edi, eax
mov eax, dword [esp + 0x48]
add ebp, ecx
push edx
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ebp
call fcn.00425ee0
test al, al
je 0x4ada74
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx]
add edx, 4
push 0
push edx
call fcn.004ad200
mov ecx, eax
call fcn.004ad180
jmp 0x4ada74
mov ebx, dword [esp + 0x50]
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x5c]
test byte [eax + 9], 0x20
je 0x4ad95b
mov eax, dword [esi + 0x630]
test eax, eax
je 0x4ad95b
lea ecx, [ebp - 0xa]
push 0
lea ebx, [edi - 0xa]
push 0xffffffffffffffff
mov dword [esp + 0xc0], ecx
add edi, 0x14
add ebp, 0x14
call sub.WINMM.dll_timeGetTime
mov edx, dword [esp + 0xc0]
mov ecx, dword [esi + 0x630]
push eax
push edx
push ebx
call fcn.0041e3e0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xb8]
add ebx, eax
add edi, eax
mov eax, dword [esp + 0x4c]
add edx, ecx
add ebp, ecx
mov ecx, dword [esp + 0x48]
push eax
push ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], edx
mov dword [esp + 0x80], ebp
call fcn.00425ee0
test al, al
je 0x4ada74
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
add eax, 4
push 0
push eax
call fcn.004ad200
mov ecx, eax
call fcn.004ad180
jmp 0x4ada74
mov al, byte [esp + 0x27]
test al, al
je 0x4ada74
mov ebx, dword [ebx]
mov ecx, ebx
mov dword [esp + 0x18], 0
call fcn.00440430
mov edx, dword [ebx]
mov ecx, ebx
mov dword [esp + 0x10], eax
call dword [edx + 0x10]
mov byte [esp + 0x83], al
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4ada08
add eax, 0xfffffffe
cmp eax, 3
ja case.0x4ada1e.9
jmp dword [eax*4 + 0x4aea08]
mov ecx, ebx
call fcn.00440410
cmp eax, 0xffffffff
je 0x4ad9e0
mov ecx, dword [0x74c650]
push eax
call fcn.00412120
test eax, eax
je 0x4ad9e0
movzx eax, byte [eax + 0x481]
mov ecx, dword [0x74c4f0]
cmp dword [ecx + 0x110], eax
jne 0x4ad9e0
mov dword [esp + 0x18], 0xff800080
jmp case.0x4ada1e.9
mov dword [esp + 0x18], 0xffcc00ff
jmp case.0x4ada1e.9
mov dword [esp + 0x18], 0xff0030ff
jmp case.0x4ada1e.9
mov dword [esp + 0x18], 0xffff33cc
jmp case.0x4ada1e.9
mov dword [esp + 0x18], 0xff66ffcc
jmp case.0x4ada1e.9
mov ebx, dword [ebx + 0x74]
test ebx, ebx
je case.0x4ada1e.9
mov ebx, dword [ebx + 0x24]
cmp ebx, 0x1f
ja case.0x4ada1e.9
movzx edx, byte [ebx + 0x4aea24]
jmp dword [edx*4 + 0x4aea18]
mov dword [esp + 0x18], 0xffff0000
jmp case.0x4ada1e.9
mov dword [esp + 0x18], 0xffffffff
mov eax, dword [esp + 0x18]
add edi, 0xfffffffe
add ebp, 0xfffffffe
test eax, eax
je 0x4ada74
mov al, byte [esp + 0x83]
test al, al
jne 0x4ada74
mov eax, dword [esi + 0x53c]
test eax, eax
je 0x4ada74
mov eax, dword [esp + 0x18]
push 0
push eax
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
push eax
push ebp
push edi
call fcn.0041e3e0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x3b8]
add eax, 4
cmp eax, edx
mov dword [esp + 0x50], eax
jne 0x4ad790
mov eax, dword [esi + 0x4f8]
xor edi, edi
cmp eax, edi
je 0x4adaa6
push eax
call fcn.00630114
add esp, 4
mov dword [esi + 0x4f8], edi
mov dword [esi + 0x4fc], edi
mov dword [esi + 0x500], edi
mov eax, dword [esi + 0x478]
cmp eax, edi
je 0x4adacb
push eax
call fcn.00630114
add esp, 4
mov dword [esi + 0x478], edi
mov dword [esi + 0x47c], edi
mov dword [esi + 0x480], edi
mov eax, dword [esi + 0x508]
cmp eax, edi
je 0x4adaf0
push eax
call fcn.00630114
add esp, 4
mov al, byte [esp + 0x27]
test al, al
mov dword [esi + 0x508], edi
mov dword [esi + 0x50c], edi
mov dword [esi + 0x510], edi
mov dword [esp + 0x7c], edi
je 0x4adb5b
lea ecx, [esi + 0x484]
call fcn.005d5970
lea ecx, [esi + 0x494]
call fcn.005d5970
lea ecx, [esi + 0x4a4]
call fcn.005d5970
lea ecx, [esi + 0x4b4]
call fcn.005d5970
lea ecx, [esi + 0x4c4]
call fcn.005d5970
lea ecx, [esi + 0x4d4]
call fcn.005d5970
lea ecx, [esi + 0x4e4]
call fcn.005d5970
mov eax, dword [esp + 0x1c]
mov edx, dword [0x74ce08]
mov ecx, dword [eax]
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x3c4]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + 0xa0a]
cmp edi, dword [eax + 0x3c8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x54], edi
je 0x4add33
nop
mov ecx, dword [edi]
mov eax, dword [ecx]
call dword [eax + 0x5c]
test byte [eax + 0x1e], 0x20
jne 0x4add16
mov edi, dword [edi]
mov ecx, dword [edi + 0x3c]
shr ecx, 3
test cl, 1
mov ebx, edi
mov dword [esp + 0x18], ebx
je 0x4adbbd
mov dword [esp + 0x7c], ebx
jmp 0x4add16
mov ecx, edi
call fcn.0041f4b0
test al, al
je 0x4adbd8
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x504]
jmp 0x4add11
mov ebp, dword [0x74ce10]
test ebp, ebp
je 0x4adc09
push 0xb
lea eax, [ebx + 4]
push eax
mov ecx, ebp
call fcn.00500470
test al, al
je 0x4adc03
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esi + 0x4f4]
jmp 0x4add11
mov ebp, dword [0x74ce10]
mov edx, dword [edi + 0x3c]
shr edx, 3
test dl, 1
jne 0x4adc3d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4adc3d
mov eax, dword [ebx + 0x28]
mov ecx, dword [esp + 0x10]
push eax
call fcn.004200a0
test eax, eax
je 0x4adc3d
mov ecx, dword [esp + 0x54]
push ecx
lea ecx, [esi + 0x474]
jmp 0x4add11
mov al, byte [esp + 0x27]
test al, al
je 0x4add16
test ebp, ebp
je 0x4adc74
push 1
lea edx, [ebx + 4]
push edx
mov ecx, ebp
call fcn.00500470
test al, al
je 0x4adc6e
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x484]
jmp 0x4add11
mov ebp, dword [0x74ce10]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx]
movzx eax, byte [edx + 0x481]
cmp eax, dword [esp + 0x1c]
je 0x4adcaf
mov ecx, dword [0x74c4f0]
cmp dword [ecx + 0x110], eax
jne 0x4adca2
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x4a4]
jmp 0x4add11
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x494]
jmp 0x4add11
test ebp, ebp
je 0x4adcf0
push 3
lea edi, [ebx + 4]
push edi
mov ecx, ebp
call fcn.00500470
test al, al
je 0x4adcd1
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esi + 0x4b4]
jmp 0x4add11
mov ecx, dword [0x74ce10]
push 0
push edi
call fcn.00500470
test al, al
je 0x4adcf0
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x4c4]
jmp 0x4add11
cmp dword [ebx + 0x451], 0x79
jb 0x4add06
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x4d4]
jmp 0x4add11
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esi + 0x4e4]
call fcn.0042be90
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x3c8]
add edi, 4
cmp edi, eax
mov dword [esp + 0x54], edi
jne 0x4adb90
mov al, byte [esp + 0x27]
test al, al
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
je 0x4ae3e4
mov eax, dword [esi + 0x4e8]
cmp eax, dword [esi + 0x4ec]
mov dword [esp + 0x14], eax
je 0x4ade17
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
sub eax, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebx
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
add eax, ecx
add eax, 0xfffffffe
add edi, edx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x53c]
add edi, 0xfffffffe
test eax, eax
mov dword [esp + 0x6c], edi
je 0x4addfe
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
mov di, word [ecx + 0xa]
test di, di
je 0x4addfe
xor edx, edx
cmp di, 1
je 0x4adde1
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
push 0
push 0xff00ff00
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x4ec]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4add63
call sub.WINMM.dll_timeGetTime
sub eax, dword [0x74d538]
cmp eax, 0x3e8
jbe 0x4adf04
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x4dc]
mov dword [0x74d538], eax
mov eax, dword [esi + 0x4d8]
cmp eax, ecx
mov dword [esp + 0x14], eax
je 0x4adf04
nop
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
sub eax, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebx
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
add eax, ecx
add eax, 0xfffffffe
add edi, edx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x53c]
add edi, 0xfffffffe
test eax, eax
mov dword [esp + 0x6c], edi
je 0x4adeeb
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
mov di, word [ecx + 0xa]
test di, di
je 0x4adeeb
xor edx, edx
cmp di, 1
je 0x4adece
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
push 0
push 0xffff0000
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x4dc]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4ade50
mov eax, dword [esi + 0x4c8]
cmp eax, dword [esi + 0x4cc]
mov dword [esp + 0x14], eax
je 0x4adfd4
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
sub eax, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebx
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
add eax, ecx
add eax, 0xfffffffe
add edi, edx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x53c]
add edi, 0xfffffffe
test eax, eax
mov dword [esp + 0x6c], edi
je 0x4adfbb
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
mov di, word [ecx + 0xa]
test di, di
je 0x4adfbb
xor edx, edx
cmp di, 1
je 0x4adf9e
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
push 0
push 0xff5da9d4
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x4cc]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4adf20
mov eax, dword [esi + 0x4b8]
cmp eax, dword [esi + 0x4bc]
mov dword [esp + 0x14], eax
je 0x4ae0a4
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
sub eax, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebx
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
add eax, ecx
add eax, 0xfffffffe
add edi, edx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x53c]
add edi, 0xfffffffe
test eax, eax
mov dword [esp + 0x6c], edi
je 0x4ae08b
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
mov di, word [ecx + 0xa]
test di, di
je 0x4ae08b
xor edx, edx
cmp di, 1
je 0x4ae06e
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
push 0
push 0xffffca07
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x4bc]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4adff0
mov eax, dword [esi + 0x498]
cmp eax, dword [esi + 0x49c]
mov dword [esp + 0x14], eax
je 0x4ae174
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
sub eax, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebx
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
add eax, ecx
add eax, 0xfffffffe
add edi, edx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x53c]
add edi, 0xfffffffe
test eax, eax
mov dword [esp + 0x6c], edi
je 0x4ae15b
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
mov di, word [ecx + 0xa]
test di, di
je 0x4ae15b
xor edx, edx
cmp di, 1
je 0x4ae13e
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
push 0
push 0xff000000
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x49c]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4ae0c0
mov eax, dword [esi + 0x4a8]
cmp eax, dword [esi + 0x4ac]
mov dword [esp + 0x14], eax
je 0x4ae244
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
sub eax, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebx
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
add eax, ecx
add eax, 0xfffffffe
add edi, edx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x53c]
add edi, 0xfffffffe
test eax, eax
mov dword [esp + 0x6c], edi
je 0x4ae22b
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
mov di, word [ecx + 0xa]
test di, di
je 0x4ae22b
xor edx, edx
cmp di, 1
je 0x4ae20e
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
push 0
push 0xffff80c0
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x4ac]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4ae190
mov eax, dword [esi + 0x508]
cmp eax, dword [esi + 0x50c]
mov dword [esp + 0x14], eax
je 0x4ae314
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
sub eax, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebx
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
add eax, ecx
add eax, 0xfffffffe
add edi, edx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x53c]
add edi, 0xfffffffe
test eax, eax
mov dword [esp + 0x6c], edi
je 0x4ae2fb
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
mov di, word [ecx + 0xa]
test di, di
je 0x4ae2fb
xor edx, edx
cmp di, 1
je 0x4ae2de
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
push 0
push 0xff000000
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x50c]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4ae260
mov eax, dword [esi + 0x488]
cmp eax, dword [esi + 0x48c]
mov dword [esp + 0x14], eax
je 0x4ae3e4
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
sub eax, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebx
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
add eax, ecx
add eax, 0xfffffffe
add edi, edx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x53c]
add edi, 0xfffffffe
test eax, eax
mov dword [esp + 0x6c], edi
je 0x4ae3cb
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x53c]
mov di, word [ecx + 0xa]
test di, di
je 0x4ae3cb
xor edx, edx
cmp di, 1
je 0x4ae3ae
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
push 0
push 0xff877a8a
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x48c]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4ae330
mov eax, dword [esi + 0x478]
cmp eax, dword [esi + 0x47c]
mov dword [esp + 0x14], eax
je 0x4ae5c4
jmp 0x4ae410
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x14]
mov edi, edi
mov ecx, dword [eax]
mov eax, dword [ecx + 0x34]
sub eax, ebp
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ecx + 0x38]
fmul dword [esp + 0x34]
sub ecx, ebx
mov dword [esp + 0x58], ecx
call fcn.0063199c
fild dword [esp + 0x58]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0x624]
add edi, ebx
add eax, edx
test ecx, ecx
je 0x4ae5ab
mov ecx, dword [esp + 0x60]
lea ebp, [eax - 0xa]
add eax, 0x14
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
lea ebx, [edi - 0xa]
add edi, 0x14
add edi, eax
mov edx, ebx
add edx, eax
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x44]
mov eax, ebp
add eax, ecx
add edi, ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], edi
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x624]
mov di, word [ecx + 0xa]
test di, di
je 0x4ae4d2
xor edx, edx
cmp di, 1
je 0x4ae4c0
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov edx, dword [eax]
push 0
push 0xffffffffffffffff
push ebp
push ebx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
jl 0x4ae5ab
cmp eax, dword [esp + 0x40]
jge 0x4ae5ab
cmp ecx, dword [esp + 0x3c]
jl 0x4ae5ab
cmp ecx, dword [esp + 0x44]
jge 0x4ae5ab
mov ebx, dword [esp + 0x1c]
add ebx, 4
mov dword [esp + 0x10], ebx
call fcn.004ad200
mov ebp, eax
mov edi, dword [ebp + 4]
test edi, edi
je 0x4ae586
mov ebx, dword [ebp + 8]
mov ecx, ebx
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
je 0x4ae582
cmp edi, ebx
je 0x4ae56b
nop
cmp dword [edi + 0x18], 0x10
jb 0x4ae552
mov ecx, dword [edi + 4]
push ecx
call fcn.00630114
add esp, 4
mov dword [edi + 0x18], 0xf
mov dword [edi + 0x14], 0
mov byte [edi + 4], 0
add edi, 0x1c
cmp edi, ebx
jne 0x4ae540
mov edx, dword [ebp + 4]
push edx
call fcn.00630114
add esp, 4
xor eax, eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x4ae5ab
push ebx
call fcn.0062f7d0
add esp, 4
cmp eax, 1
jb 0x4ae5ab
push 0xa
push ebp
push ebx
call fcn.0044a100
add esp, 0xc
mov ecx, ebp
call fcn.004aa4f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x47c]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4ae3fc
mov eax, dword [esi + 0x4f8]
cmp eax, dword [esi + 0x4fc]
mov dword [esp + 0x14], eax
je 0x4ae7a5
lea ebx, [ebx]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x34]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
sub eax, edx
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ecx + 0x38]
fmul dword [esp + 0x34]
sub ecx, ebp
mov dword [esp + 0x58], ecx
call fcn.0063199c
fild dword [esp + 0x58]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0x634]
add edi, ebx
add eax, edx
test ecx, ecx
je 0x4ae78c
mov ecx, dword [esp + 0x60]
lea ebp, [eax - 0xa]
add eax, 0x14
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
lea ebx, [edi - 0xa]
add edi, 0x14
add edi, eax
mov edx, ebx
add edx, eax
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x44]
mov eax, ebp
add eax, ecx
add edi, ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], edi
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x634]
mov di, word [ecx + 0xa]
test di, di
je 0x4ae6b4
xor edx, edx
cmp di, 1
je 0x4ae6a2
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov edx, dword [eax]
push 0
push 0xffffffffffffffff
push ebp
push ebx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
jl 0x4ae78c
cmp eax, dword [esp + 0x40]
jge 0x4ae78c
cmp ecx, dword [esp + 0x3c]
jl 0x4ae78c
cmp ecx, dword [esp + 0x44]
jge 0x4ae78c
mov ebx, dword [esp + 0x1c]
add ebx, 4
mov dword [esp + 0x10], ebx
call fcn.004ad200
mov ebp, eax
mov edi, dword [ebp + 4]
test edi, edi
je 0x4ae767
mov ebx, dword [ebp + 8]
mov ecx, ebx
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
je 0x4ae763
cmp edi, ebx
je 0x4ae74c
cmp dword [edi + 0x18], 0x10
jb 0x4ae733
mov ecx, dword [edi + 4]
push ecx
call fcn.00630114
add esp, 4
mov dword [edi + 0x18], 0xf
mov dword [edi + 0x14], 0
mov byte [edi + 4], 0
add edi, 0x1c
cmp edi, ebx
jne 0x4ae721
mov edx, dword [ebp + 4]
push edx
call fcn.00630114
add esp, 4
xor eax, eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x4ae78c
push ebx
call fcn.0062f7d0
add esp, 4
cmp eax, 1
jb 0x4ae78c
push 0xa
push ebp
push ebx
call fcn.0044a100
add esp, 0xc
mov ecx, ebp
call fcn.004aa4f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x4fc]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jne 0x4ae5e0
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x4ae953
mov eax, dword [ecx + 0x34]
mov edx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x38]
mov ebp, dword [esp + 0x88]
sub eax, edx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub ecx, ebp
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x34]
call fcn.0063199c
fild dword [esp + 0x20]
mov edi, eax
fmul dword [esp + 0x30]
call fcn.0063199c
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0x628]
add edi, ebx
add eax, edx
test ecx, ecx
je 0x4ae953
mov ecx, dword [esp + 0x60]
lea ebp, [eax - 0xa]
add eax, 0x14
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
lea ebx, [edi - 0xa]
add edi, 0x14
add edi, eax
mov edx, ebx
add edx, eax
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x44]
mov eax, ebp
add eax, ecx
add edi, ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], edi
call sub.WINMM.dll_timeGetTime
mov ecx, dword [esi + 0x628]
mov di, word [ecx + 0xa]
test di, di
je 0x4ae87b
xor edx, edx
cmp di, 1
je 0x4ae869
div dword [ecx + 0xc]
movzx edi, di
xor edx, edx
div edi
mov eax, dword [ecx]
push edx
call dword [eax]
mov edx, dword [eax]
push 0
push 0xffffffffffffffff
push ebp
push ebx
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
jl 0x4ae953
cmp eax, dword [esp + 0x40]
jge 0x4ae953
cmp ecx, dword [esp + 0x3c]
jl 0x4ae953
cmp ecx, dword [esp + 0x44]
jge 0x4ae953
mov ebx, dword [esp + 0x7c]
add ebx, 4
mov dword [esp + 0x10], ebx
call fcn.004ad200
mov ebp, eax
mov edi, dword [ebp + 4]
test edi, edi
je 0x4ae92e
mov ebx, dword [ebp + 8]
mov ecx, ebx
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
je 0x4ae92a
cmp edi, ebx
je 0x4ae913
cmp dword [edi + 0x18], 0x10
jb 0x4ae8fa
mov ecx, dword [edi + 4]
push ecx
call fcn.00630114
add esp, 4
mov dword [edi + 0x18], 0xf
mov dword [edi + 0x14], 0
mov byte [edi + 4], 0
add edi, 0x1c
cmp edi, ebx
jne 0x4ae8e8
mov edx, dword [ebp + 4]
push edx
call fcn.00630114
add esp, 4
xor eax, eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x4ae953
push ebx
call fcn.0062f7d0
add esp, 4
cmp eax, 1
jb 0x4ae953
push 0xa
push ebp
push ebx
call fcn.0044a100
add esp, 0xc
mov ecx, ebp
call fcn.004aa4f0
mov ecx, dword [0x750814]
call fcn.005b3d50
test al, al
jne 0x4ae9c2
mov eax, dword [esi + 0x63c]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x4ae9a5
mov ecx, eax
mov edx, dword [ecx]
call dword [edx + 4]
push 0x6dbbf8
call fcn.0057da20
mov edi, eax
add esp, 4
test edi, edi
je 0x4ae9a5
mov ecx, dword [esi + 0x63c]
lea eax, [esi + 0x444]
push eax
push edi
call fcn.005b36c0
push edi
call fcn.0057acc0
add esp, 4
mov ecx, dword [esi + 0x63c]
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x4ae9c2
push 0xc
push 0xff000000
push 0
push 0
call fcn.005b3a30
mov eax, 0x80
push eax
push eax
call fcn.004ad200
mov ecx, eax
call fcn.004aa2f0
mov ecx, dword [0x750814]
mov edx, dword [ecx]
call dword [edx + 0x44]
mov ecx, dword [esi + 0x638]
push 0
call fcn.005b3300
mov ecx, dword [esi + 0x638]
mov bl, al
call fcn.005b3130
pop edi
pop ebp
mov al, bl
pop ebx
pop esi
add esp, 0xb4
ret