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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x31c]
mov ecx, dword [esi + 0x320]
push edi
mov dword [esp + 0x6c], eax
cmp ecx, eax
jge 0x442d60
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x18]
lea edx, [edx + edx*2]
shl edx, 4
fld qword [eax + edx + 0x20]
mov eax, dword [eax + edx]
shl eax, 5
fstp qword [esp + 0x38]
add eax, dword [esi + 4]
mov dword [esp + 0x70], edx
mov edi, dword [eax]
mov dword [esp + 0x78], edi
mov edi, dword [eax + 4]
mov dword [esp + 0x7c], edi
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x314]
mov eax, dword [esp + 0x2c]
mov edi, dword [ecx + eax*4]
mov ecx, dword [esi + 0x18]
fld qword [edx + ecx + 8]
lea eax, [edx + ecx]
fst qword [esp + 0x40]
mov dword [esp + 0x74], edi
fld qword [eax + 0x10]
lea edi, [edi + edi*2]
fst qword [esp + 0x48]
shl edi, 4
fld qword [eax + 0x18]
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + edi + 8]
fst qword [esp + 0x50]
mov ebx, dword [eax + edi + 0xc]
add eax, edi
test ecx, ecx
jne 0x44296d
mov ebx, dword [eax + 0x14]
fstp st(2)
mov eax, dword [eax + 0x10]
fstp st(0)
fstp st(0)
cmp eax, 2
jne 0x442d8f
jmp 0x442a92
cmp ecx, 2
jne 0x442d89
cmp dword [eax + 0x10], 2
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x28], ecx
jne 0x442a8c
fld qword [esi + 0xb8]
sub esp, 0x30
fstp qword [esp + 0x28]
mov eax, ebx
fld qword [esi + 0x2e8]
shl eax, 5
add eax, dword [esi + 4]
fstp qword [esp + 0x20]
fld qword [esp + 0x68]
mov edx, dword [eax]
fstp qword [esp + 0x18]
mov ecx, dword [eax + 4]
fstp qword [esp + 0x10]
mov dword [esp + 0x88], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
fstp qword [esp + 8]
mov dword [esp + 0x8c], ecx
fstp qword [esp]
lea ecx, [esp + 0x88]
mov dword [esp + 0x90], edx
push ecx
lea edx, [esp + 0xac]
push edx
mov dword [esp + 0x9c], eax
call fcn.00441d50
fstp qword [esp + 0x68]
fld qword [esi + 0xb8]
mov eax, dword [esp + 0x60]
fstp qword [esp + 0x30]
add esp, 8
fld qword [esi + 0x2e8]
shl eax, 5
add eax, dword [esi + 4]
fstp qword [esp + 0x20]
fld qword [esp + 0x68]
mov ecx, dword [eax]
fstp qword [esp + 0x18]
mov edx, dword [eax + 4]
fld qword [esp + 0x80]
fstp qword [esp + 0x10]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax + 8]
fld qword [esp + 0x78]
fstp qword [esp + 8]
mov dword [esp + 0x8c], edx
mov edx, dword [eax + 0xc]
fld qword [esp + 0x70]
fstp qword [esp]
lea eax, [esp + 0x88]
mov dword [esp + 0x90], ecx
push eax
lea ecx, [esp + 0xac]
push ecx
mov dword [esp + 0x9c], edx
call fcn.00441d50
fcomp qword [esp + 0x68]
add esp, 0x38
fnstsw ax
test ah, 5
jp 0x442a92
mov ebx, dword [esp + 0x28]
jmp 0x442a92
fstp st(2)
fstp st(0)
fstp st(0)
mov edx, dword [ebp + 8]
mov eax, ebx
shl eax, 5
add eax, dword [esi + 4]
push ebx
fld qword [eax]
push edx
fstp qword [esp + 0x90]
mov ecx, esi
fld qword [eax + 8]
fstp qword [esp + 0x98]
call fcn.00430010
test al, al
je 0x442ad4
fld qword [esp + 0x40]
fld qword [esp + 0x48]
fld qword [esp + 0x50]
fld qword [0x57c480]
jmp 0x442bd8
mov eax, dword [ebp + 8]
push ebx
push eax
mov ecx, esi
call fcn.00430030
test al, al
je 0x442b01
fld qword [esp + 0x40]
fchs
fld qword [esp + 0x48]
fchs
fld qword [esp + 0x50]
fchs
fld qword [0x57c480]
jmp 0x442bd8
fld qword [esp + 0x88]
fld qword [esp + 0x40]
fmul st(1), st(0)
fld qword [esp + 0x90]
fld qword [esp + 0x48]
fmul st(1), st(0)
fxch st(3)
faddp st(1)
fadd qword [esp + 0x50]
fst qword [esp + 0x30]
fld qword [0x57c480]
fcom st(1)
fnstsw ax
test ah, 1
jne 0x442b99
fld qword [0x57bf38]
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x442b99
fstp st(1)
sub esp, 0x20
fstp qword [esp + 0x18]
lea ecx, [esp + 0xa8]
fld qword [esp + 0x58]
lea edx, [esp + 0x98]
fstp qword [esp + 0x10]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
push ecx
push edx
call fcn.0043a9c0
add esp, 0x28
test eax, eax
je 0x442dad
fld qword [esp + 0x40]
fld qword [esp + 0x48]
fld qword [0x57c480]
fld qword [esp + 0x30]
fxch st(2)
fxch st(3)
fxch st(2)
fxch st(1)
fldz
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x442bb2
fxch st(1)
fchs
fxch st(2)
fchs
fxch st(2)
fxch st(1)
fld st(2)
fxch st(2)
fchs
fld qword [esp + 0x88]
fmulp st(4)
fxch st(3)
fchs
fld qword [esp + 0x90]
fmul st(4)
fsubp st(1)
fxch st(2)
fxch st(3)
fxch st(2)
fxch st(1)
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x38]
add eax, edi
mov edi, dword [eax]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*2]
shl ecx, 4
fld qword [ecx + edx]
add ecx, edx
fld qword [ecx + 0x10]
fld qword [ecx + 8]
fmul st(5)
fxch st(2)
fmul st(6)
faddp st(2)
fxch st(1)
fadd st(3)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x442c17
fstp st(0)
mov dword [esp + 0x28], 1
jmp 0x442c34
fcomp qword [0x57bf38]
mov dword [esp + 0x28], 0xffffffff
fnstsw ax
test ah, 5
jnp 0x442c34
mov dword [esp + 0x28], 0
lea eax, [edi + edi*2]
shl eax, 4
fld qword [edx + eax]
add edx, eax
fld qword [edx + 0x10]
fld qword [edx + 8]
fmul st(6)
fxch st(2)
fmul st(7)
faddp st(2)
fxch st(1)
faddp st(4)
fxch st(3)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x442c65
fstp st(0)
mov eax, 1
jmp 0x442c79
fcomp qword [0x57bf38]
fnstsw ax
test ah, 5
jp 0x442c77
or eax, 0xffffffff
jmp 0x442c79
xor eax, eax
mov edi, dword [esp + 0x28]
neg edi
cmp eax, edi
jne 0x442d6b
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x442d7b
fcompp
fnstsw ax
test ah, 1
je 0x442d7f
mov eax, 2
cmp dword [edx + 0x1c], eax
jne 0x442d7f
cmp dword [ecx + 0x1c], eax
jne 0x442d7f
mov edi, dword [esp + 0x74]
fchs
lea ecx, [esp + 0xa8]
fstp qword [esp + 0xb0]
push ecx
lea edx, [esp + 0x9c]
fstp qword [esp + 0xbc]
push edx
push edi
lea eax, [esp + 0xbc]
push eax
push ebx
mov ecx, esi
call fcn.0045a310
test al, al
je 0x442d83
fld qword [esi + 0x2e8]
sub esp, 8
fstp qword [esp]
push 0
lea ecx, [esp + 0xa4]
push ecx
push edi
mov ecx, esi
call fcn.00437520
test al, al
je 0x442d83
fld qword [esp + 0xa8]
sub esp, 0x18
fstp qword [esp + 0x10]
mov ecx, esi
fld qword [esp + 0xb8]
fstp qword [esp + 8]
fld qword [esp + 0xb0]
fstp qword [esp]
call fcn.00432e40
push 1
mov ebx, eax
push ebx
push edi
mov ecx, esi
call fcn.00433b30
mov eax, dword [esi + 0x38]
lea edx, [ebx + ebx*2]
add edx, edx
mov dword [eax + edx*8 + 0x1c], 4
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esp + 0x70]
fstp st(3)
fstp st(3)
fstp st(2)
fstp st(1)
fstp st(0)
jmp 0x442d8f
fstp st(2)
fstp st(2)
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x70]
jmp 0x442d8f
fstp st(2)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [esp + 0x6c]
jl 0x44290f
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebp + 8]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
mov dword [esp + 0x38], 2
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], edx
call fcn.00436970
mov ecx, esi
call fcn.004369a0
test al, al
je 0x442da2
pop edi
mov byte [esi + 0xe8], 1
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4