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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24c
mov eax, dword [0x475084]
xor eax, esp
mov dword [esp + 0x248], eax
mov eax, dword [ebp + 8]
and dword [eax + 0x80], 0
add eax, 0x70
cmp dword [eax + 0x14], 8
push ebx
push esi
push edi
mov dword [esp + 0x28], eax
jb 0x43e32b
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
call fcn.0043a7a9
call dword [eax + 0x70]
and dword [esp + 0x38], 0
mov dword [esp + 0x1c], 0x51
mov dword [esp + 0x10], 0x47
mov dword [esp + 0x30], 0x2b
mov dword [esp + 0x10], 0x4b
push 0x5b
mov dword [esp + 0x10], 0x3e
pop esi
mov dword [esp + 0x10], esi
mov edi, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jle 0x43e3ab
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
imul eax, eax, 0x5f
sub eax, ecx
mov ecx, dword [esp + 0x10]
sub eax, ecx
add eax, dword [esp + 0x1c]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
imul eax, ecx
imul eax, eax, 0x5a
mov dword [esp + 0x30], eax
call fcn.0043a7a9
lea ecx, [esp + 0x38]
push ecx
push edi
call dword [eax + 0x18c]
fld qword [0x46f8c8]
fstp qword [esp + 0x10]
mov ebx, eax
fld qword [0x46f8c0]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fmul qword [esp + 0x10]
fstp qword [esp + 0x20]
fld qword [esp + 0x10]
fsub qword [0x46f8b8]
fadd qword [esp + 0x10]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x46f8b0]
fsubp st(1)
fld qword [esp + 0x20]
fmul qword [esp + 0x10]
fsubp st(1)
fsub qword [esp + 0x20]
fsub qword [0x46f8a8]
fstp qword [esp + 0x20]
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fadd qword [0x46f8a0]
fstp qword [esp + 0x10]
fld qword [esp + 0x20]
fld qword [esp + 0x10]
fmul qword [0x46f898]
fsubp st(1)
fadd qword [esp + 0x10]
fld qword [esp + 0x10]
fld qword [0x46f890]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fsubrp st(1)
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
test ebx, ebx
je 0x43ea63
xor edi, edi
inc edi
cmp dword [esp + 0x38], edi
jle 0x43ea04
mov dword [esp + 0x30], 0x51
mov dword [esp + 0x10], 0x47
mov dword [esp + 0xc], 0x2b
mov dword [esp + 0x10], 0x4b
mov dword [esp + 0x1c], 0x3e
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp eax, ecx
jle 0x43e4d2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
imul eax, eax, 0x5f
sub eax, ecx
mov ecx, dword [esp + 0x10]
sub eax, ecx
add eax, dword [esp + 0x30]
add eax, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
imul eax, ecx
imul eax, eax, 0x5a
mov dword [esp + 0xc], eax
push dword [0x47687c]
push dword [ebx + edi*4]
call fcn.0041291c
pop ecx
pop ecx
test eax, eax
je 0x43e4f6
inc edi
cmp edi, dword [esp + 0x38]
jl 0x43e469
jmp 0x43ea04
lea eax, [edi + 1]
cmp eax, dword [esp + 0x38]
jge 0x43e515
mov esi, dword [ebx + edi*4 + 4]
push esi
call fcn.00411e89
pop ecx
mov ecx, esi
mov esi, dword [esp + 0x28]
call fcn.00404c26
lea esi, [edi + 4]
cmp esi, dword [esp + 0x38]
jge 0x43ea04
fld qword [0x46f8c8]
xor ecx, ecx
fstp qword [esp + 0x10]
fld qword [0x46f8c0]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fmul qword [esp + 0x10]
fstp qword [esp + 0x20]
fld qword [esp + 0x10]
fsub qword [0x46f8b8]
fadd qword [esp + 0x10]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [0x46f8b0]
fsubp st(1)
fld qword [esp + 0x20]
fmul qword [esp + 0x10]
fsubp st(1)
fsub qword [esp + 0x20]
fsub qword [0x46f8a8]
fstp qword [esp + 0x20]
fld qword [esp + 0x10]
fmul qword [esp + 0x10]
fadd qword [0x46f8a0]
fstp qword [esp + 0x10]
fld qword [esp + 0x20]
fld qword [esp + 0x10]
fmul qword [0x46f898]
fsubp st(1)
fadd qword [esp + 0x10]
fld qword [esp + 0x10]
fld qword [0x46f890]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fsubrp st(1)
fadd qword [esp + 0x10]
mov dword [esp + 0x3c], ecx
fstp qword [esp + 0x10]
fld qword [0x46f938]
fstp qword [esp + 0x20]
fld qword [0x46f930]
fstp qword [esp + 0x10]
fld qword [0x46f928]
fstp qword [esp + 0x30]
fld qword [0x46f920]
fstp qword [esp + 0x30]
fld qword [esp + 0x20]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x43e627
fld qword [esp + 0x10]
fld qword [esp + 0x20]
fmul qword [0x46f918]
fsubp st(1)
fsub qword [0x46f910]
fadd qword [esp + 0x30]
fsub qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [esp + 0x20]
fsubp st(1)
fsub qword [0x46f908]
fstp qword [esp + 0x10]
lea eax, [esp + 0x3c]
push eax
push dword [0x476880]
mov dword [esp + 0x4c], ecx
push dword [ebx + edi*4 + 8]
mov dword [esp + 0x4c], ecx
call fcn.00412a70
add esp, 0xc
lea eax, [esp + 0x44]
push eax
push dword [0x476884]
push dword [ebx + edi*4 + 0xc]
call fcn.00412a70
mov dword [esp + 0x2c], 0x13
mov dword [esp + 0x28], 0x63
mov dword [esp + 0x18], 0x29
mov dword [esp + 0x1c], 0x57
mov dword [esp + 0x3c], 0x17
mov dword [esp + 0x3c], 0x11
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
imul eax, ecx
mov ecx, dword [esp + 0x18]
imul eax, ecx
mov ecx, dword [esp + 0x2c]
imul eax, ecx
mov ecx, dword [esp + 0x3c]
imul ecx, ecx, 0xffffffda
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x3c]
sub ecx, eax
add ecx, dword [esp + 0x3c]
add esp, 0xc
add ecx, dword [esp + 0xc]
push 0x45
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
sub dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
imul eax, ecx
cdq
pop ecx
idiv ecx
mov ecx, dword [esp + 0x1c]
imul eax, ecx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x40]
push eax
push dword [0x476884]
push dword [ebx + esi*4]
call fcn.00412a70
xor edi, edi
add esp, 0xc
cmp dword [esp + 0x3c], edi
je 0x43ea04
cmp dword [esp + 0x44], edi
je 0x43ea04
cmp dword [esp + 0x40], edi
je 0x43ea04
push dword [esp + 0x3c]
call fcn.0043bddf
mov esi, eax
cmp esi, edi
je 0x43e96e
call fcn.0043a7a9
call dword [eax + 0x78]
push 0x477f8c
push eax
push dword [esp + 0x4c]
push esi
call fcn.0043bdbe
call fcn.0043a7a9
call dword [eax + 0x78]
push 0x477f90
push eax
push dword [esp + 0x48]
push esi
call fcn.0043bdbe
fld qword [0x46f900]
fst qword [esp + 0x20]
fstp qword [esp + 0x10]
fld qword [0x46f930]
fstp qword [esp + 0x30]
fld qword [esp + 0x10]
fld qword [esp + 0x10]
fdiv qword [0x46f8f8]
fsubp st(1)
fld qword [esp + 0x20]
fmul qword [0x46f8f0]
faddp st(1)
fadd qword [esp + 0x20]
fadd qword [esp + 0x30]
fstp qword [esp + 0x10]
fld qword [esp + 0x20]
fld qword [esp + 0x10]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43e7df
fld qword [esp + 0x20]
fld qword [esp + 0x10]
fmul qword [esp + 0x20]
fmul qword [0x46f8e8]
fsubp st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x30]
fsub qword [esp + 0x20]
fstp qword [esp + 0x10]
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x14], 8
jb 0x43e7eb
mov eax, dword [eax]
push eax
call fcn.0043a2b3
test eax, eax
jne 0x43e967
push 0x206
mov word [esp + 0x4c], ax
lea eax, [esp + 0x4e]
push edi
push eax
call fcn.004126c0
add esp, 0xc
lea eax, [esp + 0x48]
push eax
push esi
call fcn.0043a7c4
fld qword [0x46f900]
fst qword [esp + 0x10]
fstp qword [esp + 0x28]
fld qword [0x46f930]
fstp qword [esp + 0x20]
fld qword [esp + 0x28]
fld qword [esp + 0x28]
fdiv qword [0x46f8f8]
fsubp st(1)
fld qword [esp + 0x10]
fmul qword [0x46f8f0]
faddp st(1)
fadd qword [esp + 0x10]
fadd qword [esp + 0x20]
fstp qword [esp + 0x28]
fld qword [esp + 0x10]
fld qword [esp + 0x28]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43e891
fld qword [esp + 0x10]
fld qword [esp + 0x28]
fmul qword [esp + 0x10]
fmul qword [0x46f8e8]
fsubp st(1)
fstp qword [esp + 0x28]
fld qword [esp + 0x20]
fsub qword [esp + 0x10]
fstp qword [esp + 0x28]
cmp word [esp + 0x48], di
je 0x43e967
lea eax, [esp + 0x48]
push eax
call fcn.0043ac84
mov dword [esp + 0xc], 0xb
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
sub eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
imul eax, eax, 0xd
sub eax, ecx
mov ecx, dword [esp + 0xc]
sub eax, ecx
add eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 0x39]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
sub eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
imul eax, eax, 0x1b
push 0x63
pop ecx
sub ecx, eax
mov eax, dword [esp + 0xc]
sub ecx, eax
add ecx, dword [esp + 0xc]
push 0xffffffffffffff85
add ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
imul eax, ecx
mov ecx, dword [esp + 0x10]
imul eax, eax, 0x42
mov edx, dword [esp + 0x10]
imul ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x10]
lea eax, [eax + ecx - 0x20]
add eax, dword [esp + 0x10]
pop ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
sub ecx, eax
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ecx
call fcn.0043a7a9
lea ecx, [esp + 0x48]
push ecx
call dword [eax + 0x98]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
fld qword [0x46f8c8]
fstp qword [esp + 0x28]
fld qword [0x46f8c0]
fstp qword [esp + 0x10]
fld qword [esp + 0x10]
fmul qword [esp + 0x28]
fstp qword [esp + 0x10]
fld qword [esp + 0x28]
fsub qword [0x46f8b8]
fadd qword [esp + 0x28]
fsub qword [esp + 0x28]
fld qword [esp + 0x28]
fmul qword [0x46f8b0]
fsubp st(1)
fld qword [esp + 0x10]
fmul qword [esp + 0x28]
fsubp st(1)
fsub qword [esp + 0x10]
fsub qword [0x46f8a8]
fstp qword [esp + 0x10]
fld qword [esp + 0x28]
fmul qword [esp + 0x28]
fadd qword [0x46f8a0]
fstp qword [esp + 0x28]
fld qword [esp + 0x10]
fld qword [esp + 0x28]
fmul qword [0x46f898]
fsubp st(1)
fadd qword [esp + 0x28]
fld qword [esp + 0x28]
fld qword [0x46f890]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fsubrp st(1)
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
mov dword [esp + 0xc], 0x26
mov dword [esp + 0x1c], 0x55
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
imul eax, eax, 0x32
imul ecx, ecx, 0x2e
sub ecx, eax
add ecx, dword [esp + 0x1c]
push 0x57
add ecx, dword [esp + 0x10]
pop esi
mov dword [esp + 0xc], ecx
add dword [esp + 0x1c], 0x63
add dword [esp + 0xc], 0x4e
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
imul ecx, eax
mov eax, dword [esp + 0x1c]
cdq
idiv esi
push ebx
sub eax, ecx
add eax, dword [esp + 0x20]
add eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.0043b4fa
fld qword [0x46f938]
fstp qword [esp + 0x10]
fld qword [0x46f930]
fstp qword [esp + 0x28]
fld qword [0x46f928]
fstp qword [esp + 0x20]
fld qword [0x46f920]
fstp qword [esp + 0x20]
fld qword [esp + 0x10]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 5
jp 0x43eacc
fld qword [esp + 0x28]
fld qword [esp + 0x10]
fmul qword [0x46f918]
fsubp st(1)
fsub qword [0x46f910]
fadd qword [esp + 0x20]
fsub qword [esp + 0x28]
fld qword [esp + 0x28]
fmul qword [esp + 0x10]
fsubp st(1)
fsub qword [0x46f908]
fstp qword [esp + 0x28]
mov ecx, dword [esp + 0x254]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004105e9
mov esp, ebp
pop ebp
ret 4