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

Disassembly:
push esi
mov esi, dword [esp + 8]
xor eax, eax
cmp esi, eax
je 0x43c542
cmp dword [esp + 0xc], eax
je 0x43c542
fldz
mov dword [esi + 0x28], eax
fld st(0)
mov dword [esi + 0x2c], eax
fld1
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
lea ecx, [esi + 0x6c]
lea edx, [eax + 7]
fld st(2)
fld dword [ecx]
fcomp dword [ecx - 4]
fnstsw ax
test ah, 5
jp 0x43c081
fxch st(1)
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x43c07f
fstp st(1)
fld dword [ecx - 4]
fdiv dword [ecx]
jmp 0x43c0a4
fxch st(1)
fld dword [ecx - 4]
fcomp dword [ecx]
fnstsw ax
test ah, 5
jp 0x43c0a4
fxch st(1)
fcom dword [ecx - 4]
fnstsw ax
test ah, 5
jp 0x43c0a2
fstp st(1)
fld dword [ecx]
fdiv dword [ecx - 4]
jmp 0x43c0a4
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x43c0b1
fstp st(2)
jmp 0x43c0b3
fstp st(0)
add ecx, 4
sub edx, 1
jne 0x43c05d
push ebx
fstp st(2)
push ebp
fstp st(1)
push edi
fstp dword [esi + 0x114]
lea ebp, [esi + 0x1c]
lea edi, [esi + 0x64]
push ebp
push edi
lea ebx, [edx + 8]
call fcn.0043b980
fstp dword [esi + 0x110]
mov eax, dword [esi + 0x20]
mov dword [ebp], eax
lea eax, [esi + 0x28]
push eax
lea ebx, [esi + 0x68]
push ebx
call fcn.004428f0
mov dword [esi + 0x24], eax
fld dword [ebx]
fstp dword [esi + 0x48]
lea ebp, [esi + 0xe8]
fld dword [esi + 0xa8]
mov eax, dword [esp + 0x2c]
fstp dword [esi + 0x88]
mov ebx, 1
fld dword [ebp]
add esp, 0x10
fstp dword [esi + 0xc8]
fld dword [esi + 0x6c]
fstp dword [esi + 0x4c]
fld dword [esi + 0xac]
fstp dword [esi + 0x8c]
fld dword [esi + 0xec]
fstp dword [esi + 0xcc]
fld dword [esi + 0x70]
fstp dword [esi + 0x50]
fld dword [esi + 0xb0]
fstp dword [esi + 0x90]
fld dword [esi + 0xf0]
fstp dword [esi + 0xd0]
fld dword [esi + 0x74]
fstp dword [esi + 0x54]
fld dword [esi + 0xb4]
fstp dword [esi + 0x94]
fld dword [esi + 0xf4]
fstp dword [esi + 0xd4]
fld dword [esi + 0x78]
fstp dword [esi + 0x58]
fld dword [esi + 0xb8]
fstp dword [esi + 0x98]
fld dword [esi + 0xf8]
fstp dword [esi + 0xd8]
fld dword [esi + 0x7c]
fstp dword [esi + 0x5c]
fld dword [esi + 0xbc]
fstp dword [esi + 0x9c]
fld dword [esi + 0xfc]
fstp dword [esi + 0xdc]
fld dword [esi + 0x80]
fstp dword [esi + 0x60]
fld dword [esi + 0xc0]
fstp dword [esi + 0xa0]
fld dword [esi + 0x100]
fstp dword [esi + 0xe0]
fld dword [esi + 0x84]
fstp dword [edi]
fld dword [esi + 0xc4]
fstp dword [esi + 0xa4]
fld dword [esi + 0x104]
fstp dword [esi + 0xe4]
cmp dword [esi], ebx
jne 0x43c233
mov edi, dword [esp + 0x18]
push 0x400
lea ebx, [esi + 0x288]
push edi
mov ecx, esi
call fcn.0043b440
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esi + 0x2b0]
push edx
push edi
mov edi, 0x80
mov eax, esi
call fcn.0043bb60
add esp, 0x14
lea ebx, [edi - 0x7f]
jmp 0x43c24a
mov ecx, dword [esp + 0x18]
push eax
push 0
push ecx
mov edi, 0x80
mov eax, esi
call fcn.0043bb60
add esp, 0xc
fldz
mov edi, dword [esi]
fld dword [esi + 0xa4]
mov dword [esi + 0x14], 0
fld dword [esi + 0xe4]
mov ecx, 2
fld dword [0x48ed78]
mov edx, ebp
fld dword [0x48ed70]
jmp 0x43c278
fxch st(3)
fld dword [esi + 0x118]
fmul st(2)
fxch st(4)
fmul st(1)
faddp st(4)
fxch st(3)
fst dword [esi + 0x118]
fld dword [esi + 4]
fmul dword [edx - 0x40]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c2a6
lea eax, [ecx - 2]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], eax
fld dword [edx - 0x40]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43c2b8
fstp st(4)
fld st(3)
fxch st(4)
cmp edi, ebx
jne 0x43c2fc
fld dword [esi + 0x11c]
fmul st(2)
fxch st(3)
fmul st(4)
faddp st(3)
fxch st(2)
fst dword [esi + 0x11c]
fld dword [esi + 8]
fmul dword [edx]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c2e9
lea eax, [ecx - 2]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], eax
fld dword [edx]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43c2fa
fstp st(4)
fld st(3)
fxch st(4)
fxch st(2)
fld dword [esi + 0x118]
fmul st(2)
fxch st(1)
fmul st(4)
faddp st(1)
fst dword [esi + 0x118]
fld dword [esi + 4]
fmul dword [edx - 0x3c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c328
lea eax, [ecx - 1]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], eax
fld dword [edx - 0x3c]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43c33a
fstp st(4)
fld st(3)
fxch st(4)
cmp edi, ebx
jne 0x43c380
fld dword [esi + 0x11c]
fmul st(2)
fxch st(3)
fmul st(4)
faddp st(3)
fxch st(2)
fst dword [esi + 0x11c]
fld dword [esi + 8]
fmul dword [edx + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c36c
lea eax, [ecx - 1]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], eax
fld dword [edx + 4]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43c37e
fstp st(4)
fld st(3)
fxch st(4)
fxch st(2)
fld dword [esi + 0x118]
fmul st(2)
fxch st(1)
fmul st(4)
faddp st(1)
fst dword [esi + 0x118]
fld dword [esi + 4]
fmul dword [edx - 0x38]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c3a9
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], ecx
fld dword [edx - 0x38]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43c3bb
fstp st(4)
fld st(3)
fxch st(4)
cmp edi, ebx
jne 0x43c3fe
fld dword [esi + 0x11c]
fmul st(2)
fxch st(3)
fmul st(4)
faddp st(3)
fxch st(2)
fst dword [esi + 0x11c]
fld dword [esi + 8]
fmul dword [edx + 8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c3ea
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], ecx
fld dword [edx + 8]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43c3fc
fstp st(4)
fld st(3)
fxch st(4)
fxch st(2)
fld dword [esi + 0x118]
fmul st(2)
fxch st(1)
fmul st(4)
faddp st(1)
fst dword [esi + 0x118]
fld dword [esi + 4]
fmul dword [edx - 0x34]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c42a
lea eax, [ecx + 1]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], eax
fld dword [edx - 0x34]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43c43c
fstp st(4)
fld st(3)
fxch st(4)
cmp edi, ebx
jne 0x43c482
fld dword [esi + 0x11c]
fmul st(2)
fxch st(3)
fmul st(4)
faddp st(3)
fxch st(2)
fst dword [esi + 0x11c]
fld dword [esi + 8]
fmul dword [edx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c46e
lea eax, [ecx + 1]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], eax
fld dword [edx + 0xc]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43c480
fstp st(4)
fld st(3)
fxch st(4)
fxch st(2)
add ecx, 4
lea eax, [ecx - 2]
add edx, 0x10
cmp eax, 8
jl 0x43c276
fstp st(2)
xor edi, edi
fstp st(0)
fstp st(1)
fstp st(0)
fcomp qword [0x48f0d0]
fnstsw ax
test ah, 5
jp 0x43c4ae
mov dword [esi + 0x14], edi
mov eax, dword [esi + 0x14]
cmp eax, edi
jne 0x43c4c8
cmp dword [esi + 0x18], edi
je 0x43c4c8
cmp dword [esi + 0x1c], 7
jne 0x43c4c3
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], edi
jmp 0x43c4cb
mov dword [esi + 0x18], eax
mov al, byte [esp + 0x20]
test al, 0x10
je 0x43c4e3
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0xc], edi
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
ret
test al, 0x20
je 0x43c4f5
pop edi
pop ebp
pop ebx
mov dword [esi + 0xc], 2
xor eax, eax
pop esi
ret
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
neg eax
mov edx, 2
sbb eax, eax
and eax, edx
cmp eax, edx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], eax
lea ecx, [edx + 1]
jne 0x43c52f
cmp dword [esi + 0xc], edi
jne 0x43c51b
mov dword [esi + 0xc], ebx
cmp dword [esi + 0xc], ecx
jne 0x43c52f
mov dword [esi + 0xc], edx
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x30], edx
cmp eax, edi
jne 0x43c4dc
cmp dword [esi + 0xc], edx
jne 0x43c4dc
pop edi
pop ebp
pop ebx
mov dword [esi + 0x10], ecx
xor eax, eax
pop esi
ret
mov eax, 1
pop esi
ret