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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
mov eax, esi
sub eax, 0
mov dword [esp + 0x60], edi
mov dword [esp + 0x58], esi
je 0x44238e
dec eax
je 0x44237f
dec eax
je 0x442370
or edx, 0xffffffff
jmp 0x44239d
mov eax, dword [ecx + 4]
mov edx, dword [edi + 4]
shl eax, 5
mov edx, dword [eax + edx + 0x10]
jmp 0x44239d
mov eax, dword [ecx + 4]
mov edx, dword [edi + 0x28]
imul eax, eax, 0x68
mov edx, dword [eax + edx + 0x60]
jmp 0x44239d
mov eax, dword [ecx + 4]
mov edx, dword [edi + 0x18]
lea eax, [eax + eax*2]
add eax, eax
mov edx, dword [edx + eax*8 + 0x28]
mov ebx, dword [edi + 0x48]
mov ecx, dword [ecx + 4]
lea eax, [edx + edx*2]
shl eax, 4
add eax, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x3c], ecx
cmp dword [eax + 0x14], ecx
jne 0x4423c2
cmp dword [eax + 0x10], esi
jne 0x4423c2
mov ecx, dword [eax + 4]
jmp 0x4423c4
mov ecx, dword [eax]
mov dword [esp + 0x40], edx
mov edx, dword [edi + 0x38]
mov dword [esp + 0x54], edx
nop
mov esi, dword [esp + 0x54]
lea edx, [ecx + ecx*2]
add edx, edx
cmp dword [esi + edx*8 + 0x1c], 3
jne 0x442883
cmp dword [eax], ecx
jne 0x4423ed
mov edx, dword [eax + 0x18]
jmp 0x4423f0
mov edx, dword [eax + 0x20]
lea eax, [edx + edx*2]
shl eax, 4
mov esi, dword [eax + ebx]
add eax, ebx
cmp esi, ecx
jne 0x442404
mov ecx, dword [eax + 4]
jmp 0x442406
mov ecx, esi
cmp edx, dword [esp + 0x40]
jne 0x4423d0
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0x3c]
lea ecx, [ebx + ebx*2]
shl ecx, 4
add ecx, dword [edi + 0x18]
mov edx, dword [ecx]
cmp edx, esi
je 0x44242b
cmp dword [ecx + 4], esi
jne 0x4424ff
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.00441dc0
mov edx, dword [esp + 0x48]
lea ecx, [eax + eax*2]
shl ecx, 4
add edx, ecx
cmp dword [edx + 0x14], esi
jne 0x442455
mov ecx, dword [esp + 0x58]
cmp dword [edx + 0x10], ecx
jne 0x442455
mov ecx, dword [edx + 4]
jmp 0x442457
mov ecx, dword [edx]
mov dword [esp + 0x40], eax
jmp 0x442460
mov edi, dword [esp + 0x54]
lea ebx, [ecx + ecx*2]
add ebx, ebx
cmp esi, dword [edi + ebx*8 + 0x24]
je 0x4424a2
cmp dword [edx], ecx
jne 0x442478
mov eax, dword [edx + 0x18]
jmp 0x44247b
mov eax, dword [edx + 0x20]
lea edx, [eax + eax*2]
shl edx, 4
add edx, dword [esp + 0x48]
mov esi, dword [edx]
cmp esi, ecx
jne 0x442490
mov ecx, dword [edx + 4]
jmp 0x442492
mov ecx, esi
cmp eax, dword [esp + 0x40]
je 0x442892
mov esi, dword [esp + 0x3c]
jmp 0x442460
lea ecx, [ecx + ecx*2]
add ecx, ecx
fld qword [edi + ecx*8]
push esi
mov esi, dword [esp + 0x64]
fstp qword [esp + 0x94]
fld qword [edi + ecx*8 + 8]
lea edx, [esp + 0x58]
fstp qword [esp + 0x9c]
push edx
fld qword [edi + ecx*8 + 0x10]
lea ecx, [esp + 0x98]
push ecx
fstp qword [esp + 0x8c]
push eax
mov ecx, esi
call fcn.00434490
mov eax, dword [esp + 0x54]
mov ecx, dword [esi + 0x38]
lea edx, [eax + eax*2]
add edx, edx
mov eax, 1
mov dword [ecx + edx*8 + 0x1c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esp + 0x3c]
mov esi, dword [edi + 4]
shl eax, 5
fld qword [eax + esi]
fst qword [esp + 0x70]
fld qword [eax + esi + 8]
fst qword [esp + 0x78]
fld qword [ecx + 8]
fst qword [esp + 0x48]
fld qword [ecx + 0x10]
fst qword [esp + 0x40]
fxch st(3)
fmul st(1)
fxch st(2)
fmul st(3)
faddp st(2)
fxch st(1)
fadd qword [ecx + 0x18]
fst qword [esp + 0x58]
fld qword [0x57c480]
fcom st(1)
fnstsw ax
test ah, 1
jne 0x44262c
fld qword [0x57bf38]
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x44262c
shl edx, 5
fstp st(1)
mov eax, dword [edx + esi]
add edx, esi
mov dword [esp + 0x80], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [edx + 8]
sub esp, 0x20
fstp qword [esp + 0x18]
mov dword [esp + 0xa8], eax
mov edx, dword [edx + 0xc]
mov dword [esp + 0xac], edx
fld qword [ecx + 0x20]
fstp qword [esp + 0x10]
lea eax, [esp + 0x90]
fxch st(1)
lea ecx, [esp + 0xa0]
fstp qword [esp + 8]
fstp qword [esp]
push eax
push ecx
call fcn.0043a9c0
add esp, 0x28
test eax, eax
jne 0x442607
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, edi
mov dword [esp + 0x70], 2
mov dword [esp + 0x74], edx
mov dword [esp + 0x6c], ebx
call fcn.00436970
mov ecx, edi
call fcn.004369a0
test al, al
je 0x442607
mov byte [edi + 0xe8], 1
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fld qword [esp + 0x58]
fld qword [esp + 0x48]
fld qword [esp + 0x40]
fxch st(2)
fldz
fcompp
fnstsw ax
fxch st(1)
test ah, 5
jp 0x442630
fst qword [esp + 0x68]
fxch st(1)
fchs
jmp 0x442638
fstp st(0)
jmp 0x442615
fchs
fst qword [esp + 0x68]
fxch st(1)
mov edx, dword [ebp + 8]
fst qword [esp + 0x58]
fld qword [esp + 0x70]
push edx
fmul st(2)
mov ecx, edi
fchs
fld qword [esp + 0x7c]
fmul st(2)
fsubp st(1)
fstp qword [esp + 0x74]
fchs
fstp qword [esp + 0xb4]
fstp qword [esp + 0xbc]
call fcn.00441dc0
mov ecx, dword [ebp + 8]
mov ebx, eax
mov eax, dword [edi + 0x48]
lea esi, [ebx + ebx*2]
shl esi, 4
mov edx, dword [eax + esi + 0x14]
add eax, esi
cmp edx, dword [ecx + 4]
jne 0x442696
mov edx, dword [eax + 0x10]
cmp edx, dword [ecx]
jne 0x442696
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x3c], edx
jmp 0x4426a1
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov edx, ecx
mov ecx, dword [edi + 0x38]
lea eax, [eax + eax*2]
add eax, eax
fld qword [ecx + eax*8]
fld qword [ecx + eax*8 + 8]
fld qword [ecx + eax*8 + 0x10]
fxch st(2)
fmul qword [esp + 0x68]
fxch st(1)
fmul qword [esp + 0x58]
faddp st(1)
fadd qword [esp + 0x70]
fld qword [0x57c480]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4426de
fstp st(1)
mov ecx, 1
jmp 0x4426f6
fld qword [0x57bf38]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4426f4
or ecx, 0xffffffff
jmp 0x4426f6
xor ecx, ecx
mov dword [esp + 0x40], ebx
mov eax, dword [edi + 0x38]
lea edx, [edx + edx*2]
add edx, edx
fld qword [eax + edx*8]
fst qword [esp + 0x90]
fld qword [eax + edx*8 + 8]
fst qword [esp + 0x98]
fld qword [eax + edx*8 + 0x10]
fst qword [esp + 0x60]
fxch st(1)
fmul qword [esp + 0x58]
fxch st(2)
fmul qword [esp + 0x68]
faddp st(2)
fxch st(1)
fadd qword [esp + 0x70]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x442748
fstp st(0)
mov dword [esp + 0x48], 1
jmp 0x442765
fcomp qword [0x57bf38]
mov dword [esp + 0x48], 0xffffffff
fnstsw ax
test ah, 5
jnp 0x442765
mov dword [esp + 0x48], 0
neg ecx
cmp dword [esp + 0x48], ecx
jne 0x442800
fcom st(1)
fnstsw ax
test ah, 0x41
jnp 0x442800
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x4427e6
lea ecx, [esp + 0x80]
fstp st(0)
push ecx
fstp st(0)
mov ecx, dword [ebp + 8]
lea edx, [esp + 0xa4]
push edx
mov edx, dword [ecx + 4]
push ebx
lea eax, [esp + 0xbc]
push eax
push edx
mov ecx, edi
call fcn.0045a310
test al, al
je 0x4427da
fld qword [edi + 0x2e8]
sub esp, 8
fstp qword [esp]
push 0
lea eax, [esp + 0xac]
push eax
push ebx
mov ecx, edi
call fcn.00437520
test al, al
jne 0x442836
fld qword [0x57c480]
fld qword [esp + 0x60]
fxch st(1)
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x60], ecx
cmp dword [eax + esi], edx
jne 0x442804
mov ebx, dword [eax + esi + 0x18]
jmp 0x442808
fstp st(2)
jmp 0x4427e6
mov ebx, dword [eax + esi + 0x20]
lea esi, [ebx + ebx*2]
shl esi, 4
mov ecx, dword [eax + esi]
cmp ecx, edx
jne 0x44281f
mov edx, dword [eax + esi + 4]
mov dword [esp + 0x3c], edx
jmp 0x442823
mov dword [esp + 0x3c], ecx
cmp ebx, dword [esp + 0x40]
je 0x44288e
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x3c]
jmp 0x4426fa
fld qword [esp + 0x80]
sub esp, 0x18
fstp qword [esp + 0x10]
mov ecx, edi
fld qword [esp + 0xc0]
fstp qword [esp + 8]
fld qword [esp + 0xb8]
fstp qword [esp]
call fcn.00432e40
push 1
push eax
push ebx
mov ecx, edi
mov dword [esp + 0x60], eax
call fcn.00433b30
mov eax, dword [esp + 0x54]
mov ecx, dword [edi + 0x38]
lea eax, [eax + eax*2]
add eax, eax
mov dword [ecx + eax*8 + 0x1c], 4
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fstp st(0)
fstp st(0)
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8