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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x480906
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf0
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [esp + 0x14], esi
test edi, edi
je case.0x418a44.0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je case.0x418a44.0
cmp edi, ebx
je case.0x418a44.0
mov eax, dword [edi + 0x7c]
cmp eax, 4
ja case.0x418a44.0
jmp dword [eax*4 + 0x419548]
mov eax, dword [ebx + 0x7c]
cmp eax, 4
ja case.default.0x418a57
jmp dword [eax*4 + 0x41955c]
fld dword [edi + 0xc]
fld dword [ebx + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x418a98
fld dword [edi + 0x10]
fld dword [ebx + 0x10]
fucompp
fnstsw ax
test ah, 0x44
jp 0x418a98
mov eax, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fld dword [edi + 0x10]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [ebx + 0x28]
fld dword [edi + 0xc]
fstp dword [esp]
call fcn.00418830
add esp, 8
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fld dword [edi + 0x10]
call fcn.00468950
fld dword [edi + 0xc]
push eax
call fcn.00468950
push eax
mov eax, ebx
call fcn.0041a2c0
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [esp + 0xa8]
push eax
mov ecx, ebx
call fcn.00417c50
mov dword [esp + 0x108], 0
fld dword [edi + 0x10]
fstp dword [esp]
push ecx
fld dword [edi + 0xc]
mov edx, eax
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
setne bl
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0xa8]
push ecx
call fcn.00418350
mov al, bl
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebx + 0x7c]
cmp eax, 4
ja case.default.0x418b86
jmp dword [eax*4 + 0x419570]
fld dword [ebx + 0x10]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [edi + 0x28]
fld dword [ebx + 0xc]
fstp dword [esp]
call fcn.00418830
add esp, 8
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebx + 0x28]
lea edx, [edi + 0x28]
call fcn.00417c00
xor edx, edx
test al, al
sete dl
mov al, dl
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
add edi, 0x28
lea ecx, [ebx + 0x28]
mov edx, edi
call fcn.00417c00
test al, al
jne case.0x418a44.0
mov eax, dword [ebx + 0x60]
cmp dword [eax], 0
je 0x418d0e
mov esi, ebx
call fcn.0041a180
mov edx, dword [edi]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [edi + 4]
mov dword [ecx + 4], edx
mov edx, dword [edi + 8]
mov dword [ecx + 8], edx
mov edx, dword [edi + 0xc]
push eax
mov eax, ebx
mov dword [ecx + 0xc], edx
call fcn.0041a3b0
neg eax
sbb eax, eax
neg eax
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
call fcn.00417c50
add esp, 4
mov dword [esp + 0x104], 1
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
xor ebx, ebx
sub eax, esi
mov dword [esp + 0x10], eax
lea esp, [esp]
mov ecx, dword [esp + 0x10]
fld dword [ecx + esi]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [edi + 0x28]
fld dword [esi]
fstp dword [esp]
call fcn.00418830
add esp, 8
test al, al
jne 0x418cf9
inc ebx
add esi, 4
cmp ebx, 4
jl 0x418c80
fld dword [edi + 0x2c]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x20]
fld dword [edi + 0x28]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
je 0x418d27
mov dword [esp + 0x104], 0xffffffff
lea eax, [esp + 0x18]
push eax
call fcn.00418350
mov al, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [esp + 0x104], 0xffffffff
lea edx, [esp + 0x18]
push edx
call fcn.00418350
mov al, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fld dword [edi + 0x2c]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x20]
fld dword [edi + 0x30]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
je 0x418d75
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x18]
push ecx
call fcn.00418350
mov al, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fld dword [edi + 0x34]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x20]
fld dword [edi + 0x28]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
jne 0x418cf9
fld dword [edi + 0x34]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x20]
fld dword [edi + 0x30]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
jne 0x418ccb
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x18]
push ecx
jmp 0x4194a9
mov eax, dword [ebx + 0x7c]
cmp eax, 4
ja case.default.0x418dde
jmp dword [eax*4 + 0x419584]
fld dword [ebx + 0x10]
call fcn.00468950
fld dword [ebx + 0xc]
push eax
call fcn.00468950
push eax
mov eax, edi
call fcn.0041a2c0
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
add ebx, 0x28
lea edx, [edi + 0x28]
mov ecx, ebx
call fcn.00417c00
test al, al
jne case.0x418a44.0
mov edx, dword [edi + 0x60]
cmp dword [edx], 0
je 0x418d0e
mov esi, edi
call fcn.0041a180
mov edx, dword [ebx]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebx + 8]
mov dword [ecx + 8], edx
mov edx, dword [ebx + 0xc]
push eax
mov eax, edi
mov dword [ecx + 0xc], edx
call fcn.0041a3b0
neg eax
sbb eax, eax
neg eax
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebx + 0x28]
lea edx, [edi + 0x28]
call fcn.00417c00
test al, al
jne case.0x418a44.0
mov eax, dword [edi + 0x60]
cmp dword [eax], 0
je 0x418d0e
mov ecx, dword [ebx + 0x60]
cmp dword [ecx], 0
je 0x418d0e
mov esi, edi
call fcn.0041a180
mov esi, ebx
mov dword [esp + 0x10], eax
call fcn.0041a180
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x418a44.0
test eax, eax
je case.0x418a44.0
push eax
push ecx
mov ecx, ebx
mov edx, edi
call fcn.0041a5d0
neg eax
sbb eax, eax
neg eax
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
call fcn.00417c50
mov dword [esp + 0x108], 2
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x34], esp
push eax
lea ecx, [esp + 0x5c]
call fcn.004183c0
mov byte [esp + 0x124], 3
mov byte [esp + 0x124], 2
lea edi, [esp + 0xe8]
call fcn.00418420
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edi, dword [ebp + 8]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
add esp, 0x20
lea ecx, [edi + 0x28]
lea edx, [esp + 0x18]
call fcn.00417c00
test al, al
je 0x418f81
mov dword [esp + 0x104], 0xffffffff
lea eax, [esp + 0x38]
jmp 0x4194a8
mov ecx, dword [edi + 0x60]
cmp dword [ecx], 0
jne 0x4190bb
lea edx, [esp + 0x18]
push edx
mov ecx, edi
call fcn.00417c50
add esp, 4
mov byte [esp + 0x104], 4
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x4c]
sub eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
xor edi, edi
sub ebx, esi
sub eax, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
fld dword [eax + esi]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x40]
fld dword [esi]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
jne 0x41903b
fld dword [ebx + esi]
mov ecx, dword [esp + 0x14]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x20]
fld dword [ecx + esi]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
jne 0x41907b
inc edi
add esi, 4
cmp edi, 4
jl 0x418fc4
mov byte [esp + 0x104], 2
lea eax, [esp + 0x18]
push eax
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x38]
push ecx
jmp 0x4194a9
mov byte [esp + 0x104], 2
lea edx, [esp + 0x18]
push edx
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea eax, [esp + 0x38]
push eax
call fcn.00418350
mov al, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [esp + 0x104], 2
lea ecx, [esp + 0x18]
push ecx
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea edx, [esp + 0x38]
push edx
call fcn.00418350
mov al, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, edi
push esi
mov edi, ebx
call fcn.00418880
test eax, eax
setne bl
mov dword [esp + 0x104], 0xffffffff
lea edx, [esp + 0x38]
push edx
call fcn.00418350
mov al, bl
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebx + 0x7c]
cmp eax, 4
ja case.0x418a44.0
jmp dword [eax*4 + 0x419598]
lea eax, [esp + 0xd8]
push eax
mov ecx, edi
call fcn.00417c50
mov dword [esp + 0x108], 5
fld dword [ebx + 0x10]
fstp dword [esp]
push ecx
fld dword [ebx + 0xc]
mov edx, eax
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
setne bl
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0xd8]
push ecx
call fcn.00418350
mov al, bl
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea edx, [esp + 0x38]
push edx
mov ecx, edi
call fcn.00417c50
add esp, 4
mov dword [esp + 0x104], 6
mov esi, dword [esp + 0x3c]
add ebx, 0x28
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x4c]
xor edi, edi
sub ebx, esi
fld dword [ebx + esi]
mov ecx, dword [esp + 0x14]
sub esp, 8
fstp dword [esp + 4]
fld dword [esi]
fstp dword [esp]
call fcn.00418830
add esp, 8
test al, al
jne 0x41904d
inc edi
add esi, 4
cmp edi, 4
jl 0x41919f
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x38]
push ecx
jmp 0x4194a9
lea edx, [esp + 0x38]
mov esi, edi
push edx
mov ecx, esi
call fcn.00417c50
mov dword [esp + 0x108], 7
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x30], esp
push eax
lea ecx, [esp + 0x5c]
call fcn.004183c0
mov byte [esp + 0x124], 8
mov byte [esp + 0x124], 7
lea edi, [esp + 0xb8]
call fcn.00418420
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
add esp, 0x20
lea ecx, [ebx + 0x28]
lea edx, [esp + 0x18]
call fcn.00417c00
test al, al
jne 0x418f6d
mov ecx, dword [ebx + 0x60]
cmp dword [ecx], 0
jne 0x419397
lea edx, [esp + 0x18]
push edx
mov ecx, ebx
call fcn.00417c50
add esp, 4
mov byte [esp + 0x104], 9
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x2c]
sub eax, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
xor edi, edi
sub ebx, esi
sub eax, esi
mov dword [esp + 0x10], eax
lea ecx, [ecx]
mov eax, dword [esp + 0x14]
fld dword [eax + esi]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x20]
fld dword [esi]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
jne 0x419317
fld dword [ebx + esi]
mov ecx, dword [esp + 0x10]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x40]
fld dword [ecx + esi]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
jne 0x419357
inc edi
add esi, 4
cmp edi, 4
jl 0x4192a0
mov byte [esp + 0x104], 7
lea eax, [esp + 0x18]
push eax
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x38]
push ecx
jmp 0x4194a9
mov byte [esp + 0x104], 7
lea edx, [esp + 0x18]
push edx
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea eax, [esp + 0x38]
push eax
call fcn.00418350
mov al, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [esp + 0x104], 7
lea ecx, [esp + 0x18]
push ecx
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea edx, [esp + 0x38]
push edx
call fcn.00418350
mov al, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, dword [esp + 0x14]
push edx
mov eax, ebx
mov edi, esi
call fcn.00418880
test eax, eax
setne bl
mov dword [esp + 0x104], 0xffffffff
lea eax, [esp + 0x38]
push eax
call fcn.00418350
mov al, bl
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [esp + 0x58]
push ecx
mov ecx, edi
call fcn.00417c50
add esp, 4
mov dword [esp + 0x104], 0xa
lea edx, [esp + 0x78]
push edx
mov ecx, ebx
call fcn.00417c50
add esp, 4
mov byte [esp + 0x104], 0xb
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
sub ecx, eax
xor edi, edi
sub ebx, eax
sub edx, eax
mov esi, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
jmp 0x419434
mov ecx, dword [esp + 0x14]
fld dword [ecx + esi]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x80]
fld dword [esi]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
jne 0x4194c7
fld dword [ebx + esi]
mov eax, dword [esp + 0x10]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x60]
fld dword [eax + esi]
fstp dword [esp]
call fcn.00418550
add esp, 8
test eax, eax
jne 0x419507
inc edi
add esi, 4
cmp edi, 4
jl 0x419430
mov byte [esp + 0x104], 0xa
lea edx, [esp + 0x78]
push edx
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea eax, [esp + 0x58]
push eax
call fcn.00418350
xor al, al
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [esp + 0x104], 0xa
lea ecx, [esp + 0x78]
push ecx
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea edx, [esp + 0x58]
push edx
call fcn.00418350
mov al, 1
mov ecx, dword [esp + 0xfc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [esp + 0x104], 0xa
lea eax, [esp + 0x78]
push eax
call fcn.00418350
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x58]
push ecx
call fcn.00418350
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8