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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
mov eax, dword [0x6b9dcc]
cmp byte [eax + 0x4d2], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x1c], ebx
je 0x418681
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov ecx, edi
sub ecx, dword [ebx + 0x2a0]
cmp ecx, 0xea60
jb 0x4181ab
push 0
mov esi, ebx
call fcn.004125c0
mov dword [ebx + 0x2a0], edi
xor edi, edi
lea ecx, [ecx]
mov esi, dword [ebx + 0x88]
mov ecx, dword [esi + 0x978]
test ecx, ecx
je 0x4182f3
mov eax, dword [esi + 0x97c]
sub eax, ecx
sar eax, 2
cmp edi, eax
jae 0x4182f3
test ecx, ecx
je 0x4181ea
mov eax, dword [esi + 0x97c]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x4181ef
call fcn.0062492b
mov edx, dword [esi + 0x978]
cmp dword [edx + edi*4], 0
je 0x4182eb
mov esi, dword [ebx + 0x88]
mov ecx, dword [esi + 0x978]
add esi, 0x974
test ecx, ecx
je 0x418221
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x418226
call fcn.0062492b
mov eax, dword [esi + 4]
mov ecx, dword [eax + edi*4]
cmp byte [ecx + 0x942], 0
jne 0x4182eb
mov esi, dword [ebx + 0x88]
mov ecx, dword [esi + 0x978]
add esi, 0x974
test ecx, ecx
je 0x41825b
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x418260
call fcn.0062492b
mov edx, dword [esi + 4]
mov eax, dword [edx + edi*4]
lea esi, [eax + 0x150]
call fcn.00433480
test al, al
je 0x4182eb
mov esi, dword [ebx + 0x88]
mov ecx, dword [esi + 0x978]
add esi, 0x974
test ecx, ecx
je 0x418297
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x41829c
call fcn.0062492b
mov eax, dword [esi + 4]
mov ecx, dword [eax + edi*4]
mov esi, dword [ebx + 0x88]
add esi, 0x974
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4182c5
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x4182ca
call fcn.0062492b
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x28]
mov esi, dword [eax + edi*4]
fld qword [edx + 0x1b8]
sub esp, 8
add esi, 0x150
fstp qword [esp]
call fcn.00433310
add edi, 1
jmp 0x4181b0
add esi, 0x760
cmp byte [ebx + 0x299], 0
je 0x418374
mov ecx, dword [esi + 4]
mov ebx, dword [ecx]
mov edi, esi
lea esp, [esp]
test edi, edi
mov edx, dword [esi + 4]
mov dword [esp + 0x34], edx
je 0x41831f
cmp edi, esi
je 0x418324
call fcn.0062492b
cmp ebx, dword [esp + 0x34]
je 0x4183d4
test edi, edi
jne 0x418337
call fcn.0062492b
cmp ebx, dword [edi + 4]
jne 0x418341
call fcn.0062492b
mov esi, dword [ebx + 8]
mov al, byte [esi + 0x26]
mov byte [esp + 0x1b], al
mov byte [esi + 0x26], 0
call fcn.004a1e50
mov edx, dword [esi]
mov eax, dword [edx + 0x58]
mov ecx, esi
call eax
mov cl, byte [esp + 0x1b]
mov byte [esi + 0x26], cl
cmp ebx, dword [edi + 4]
jne 0x41836e
call fcn.0062492b
mov ebx, dword [ebx]
mov esi, edi
jmp 0x418310
mov edx, dword [esi + 4]
test esi, esi
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
je 0x41838c
cmp esi, esi
je 0x418391
call fcn.0062492b
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x2c], ecx
je 0x4183d8
test esi, esi
jne 0x4183a4
call fcn.0062492b
mov edx, dword [esp + 0x2c]
cmp edx, dword [esi + 4]
jne 0x4183b2
call fcn.0062492b
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
call eax
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esi + 4]
jne 0x4183ce
call fcn.0062492b
mov edx, dword [esp + 0x2c]
jmp 0x418377
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x234]
test eax, eax
mov dword [esp + 0x20], eax
je 0x418678
cmp byte [ebx + 0x57], 0
je 0x418678
cmp byte [ebx + 0x59], 0
je 0x418678
mov eax, dword [ebx + 0x10]
call fcn.0055a480
test al, al
je 0x418413
cmp byte [ebx + 0x288], 0
jne 0x418420
cmp dword [ebx + 0x28c], 0
je 0x418678
mov edx, ebx
call fcn.00413b40
cmp dword [ebx + 0x294], 0
je 0x41855c
fstp dword [esp + 0x24]
call fcn.00413bb0
mov esi, dword [esp + 0x1c]
fstp dword [esp + 0x20]
lea ebx, [esp + 0x20]
lea edi, [esp + 0x24]
call fcn.004135f0
fld dword [esp + 0x24]
fld st(0)
mov ecx, esi
fld dword [ecx + 0x270]
fucompp
fnstsw ax
fld dword [esp + 0x20]
test ah, 0x44
jp 0x418482
fld st(0)
fld dword [ecx + 0x274]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x418670
fxch st(1)
add ecx, 0x21c
fstp dword [ecx + 0x54]
mov esi, ecx
mov dword [esp + 0x28], ecx
fstp dword [ecx + 0x58]
mov edx, dword [ecx + 4]
mov edi, dword [edx]
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], esi
test esi, esi
mov ebx, dword [ecx + 4]
je 0x4184ae
cmp esi, ecx
je 0x4184b3
call fcn.0062492b
cmp edi, ebx
je 0x418674
test esi, esi
jne 0x4184c4
call fcn.0062492b
cmp edi, dword [esi + 4]
jne 0x4184ce
call fcn.0062492b
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x294]
cmp eax, 1
mov esi, dword [edi + 0xc]
je 0x418527
cmp eax, 2
je 0x418527
cmp eax, 3
je 0x418527
cmp eax, 4
jne 0x418542
mov edx, dword [esi]
fld dword [esp + 0x24]
mov eax, dword [edx + 0x78]
fstp qword [esp + 0x38]
mov ecx, esi
call eax
fsubr qword [esp + 0x38]
mov edx, dword [esi]
mov eax, dword [edx + 0x7c]
fstp dword [esi + 0xb8]
mov ecx, esi
fld dword [esp + 0x20]
fstp qword [esp + 0x38]
call eax
fsubr qword [esp + 0x38]
fstp dword [esi + 0xbc]
jmp 0x418542
fld dword [esp + 0x20]
mov edx, dword [esi]
mov eax, dword [edx + 0x34]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esp + 0x2c]
fstp dword [esp]
call eax
lea esi, [esp + 0x30]
call fcn.0044be10
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
jmp 0x4184a3
fsub dword [ebx + 0x268]
fstp dword [esp + 0x24]
call fcn.00413bb0
fsub dword [ebx + 0x26c]
mov esi, dword [esp + 0x1c]
lea ebx, [esp + 0x28]
lea edi, [esp + 0x24]
fstp dword [esp + 0x28]
call fcn.004135f0
fld dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
fstp qword [esp + 0x38]
call fcn.004a0f80
fsubr qword [esp + 0x38]
mov ecx, esi
mov ecx, dword [ecx + 0x234]
fstp dword [esp + 0x20]
fld dword [esp + 0x28]
fstp qword [esp + 0x38]
call fcn.004a0fa0
fsubr qword [esp + 0x38]
fstp dword [esp + 0x24]
fldz
fcom dword [esp + 0x20]
fnstsw ax
test ah, 0x44
jp 0x4185da
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x44
jnp 0x418674
jmp 0x4185dc
fstp st(0)
mov edi, esi
mov edx, dword [edi + 0x220]
mov ebx, dword [edx]
add edi, 0x21c
mov esi, edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], esi
test esi, esi
mov eax, dword [edi + 4]
mov dword [esp + 0x3c], eax
je 0x418605
cmp esi, edi
je 0x41860a
call fcn.0062492b
cmp ebx, dword [esp + 0x3c]
je 0x418674
test esi, esi
jne 0x418619
call fcn.0062492b
cmp ebx, dword [esi + 4]
jne 0x418623
call fcn.0062492b
fld dword [esp + 0x24]
mov esi, dword [ebx + 0xc]
mov ecx, dword [esp + 0x1c]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
push esi
call fcn.00414b60
fld dword [esp + 0x24]
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esp + 0x28]
fstp dword [esp]
call eax
lea esi, [esp + 0x30]
call fcn.0044be10
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
jmp 0x4185f6
fstp st(1)
fstp st(0)
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx]
mov eax, dword [edx + 0x44]
mov ecx, ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret