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

Disassembly:
push 0xffffffffffffffff
push 0x86984c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x354
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.0045ce40
fld dword [esp + 0x37c]
fdiv dword [esp + 0x380]
mov ecx, dword [esp + 0x378]
mov dword [esp + 0x30], eax
mov eax, dword [0x9b38a8]
mov dword [esp + 0x58], eax
mov eax, dword [ecx]
lea ebx, [esi + 0x38]
mov edx, ebx
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov eax, dword [esp + 0x384]
xor edi, edi
cmp ax, di
mov dword [edx + 8], ecx
mov word [esi + 0x5c], ax
mov word [esi + 0x5e], 0xffff
fstp dword [esi + 0x60]
jl 0x441d32
mov ebp, dword [esp + 0x388]
mov ecx, dword [0x9b38c0]
movsx edx, ax
imul edx, edx, 0xb
add edx, ebp
movzx ecx, word [ecx + edx*2]
mov ebp, dword [0x9b38bc]
shl ecx, 5
add ecx, ebp
push eax
push ecx
call fcn.00766680
add esp, 8
cmp eax, edi
je 0x441d32
mov dx, word [eax + 8]
mov word [esi + 0x5e], dx
push ebx
call fcn.00410220
fstp st(0)
fld dword [esp + 0x380]
mov ebp, dword [esp + 0x378]
fmul dword [ebx]
add esp, 4
lea ecx, [esp + 0x24]
fadd dword [ebp]
fstp dword [esi + 0x44]
fld dword [esp + 0x37c]
fmul dword [ebx + 4]
fadd dword [ebp + 4]
fstp dword [esi + 0x48]
fld dword [esp + 0x37c]
fmul dword [ebx + 8]
fadd dword [ebp + 8]
fstp dword [esi + 0x4c]
fld dword [esp + 0x380]
fmul dword [ebx]
fadd dword [ebp]
fstp dword [esi + 0x50]
fld dword [esp + 0x380]
fmul dword [ebx + 4]
fadd dword [ebp + 4]
fstp dword [esi + 0x54]
fld dword [esp + 0x380]
fmul dword [ebx + 8]
fadd dword [ebp + 8]
fstp dword [esi + 0x58]
call fcn.0041c8a0
mov dword [esp + 0x28], eax
mov byte [eax + 0xf], 1
mov eax, dword [esp + 0x28]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x28]
mov dword [eax], eax
mov eax, dword [esp + 0x28]
mov dword [eax + 8], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x36c], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], 0x891594
push 0x40
lea ecx, [esp + 0x4c]
mov byte [esp + 0x370], 1
call fcn.0041b250
mov ecx, dword [0x9b38a8]
lea eax, [esp + 0x48]
push eax
push 0x41c80000
push ebp
call fcn.0077ae20
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
lea ecx, [eax + ecx*4]
cmp eax, ecx
mov edx, eax
mov dword [esp + 0x10], edx
je 0x441ebf
jmp 0x441e30
mov edi, dword [esp + 0x58]
mov ecx, dword [edx]
mov edi, dword [edi + 0x20]
mov edi, dword [edi + ecx*4]
test edi, edi
je 0x441ea7
movzx ecx, byte [edi + 0xb]
xor ebp, ebp
test ecx, ecx
mov dword [esp + 0x14], ecx
jle 0x441ea0
mov edi, edi
movzx edx, word [edi + 0x12]
lea eax, [edx + edi + 0x14]
cmp byte [esi], 0
mov eax, dword [eax + ebp*4]
mov dword [esp + 0x44], eax
je 0x441e7c
mov edx, dword [0x9b38c0]
movsx eax, ax
imul eax, eax, 0x16
movzx eax, word [eax + edx + 0xa]
shr eax, 0xf
test al, 1
je 0x441e93
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x2c]
call fcn.00438750
mov ecx, dword [esp + 0x14]
inc ebp
cmp ebp, ecx
jl 0x441e50
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x374]
mov ecx, dword [esp + 0x54]
add edx, 4
lea ecx, [eax + ecx*4]
cmp edx, ecx
mov dword [esp + 0x10], edx
jne 0x441e30
xor edi, edi
lea ecx, [esp + 0x7c]
call fcn.0077b9e0
push edi
lea ecx, [esp + 0x80]
mov byte [esp + 0x370], 2
call fcn.007658a0
mov eax, 3
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf4], 2
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov byte [esp + 0x36c], al
mov eax, dword [esp + 0x2c]
cmp eax, 0x21
jg 0x441f15
mov eax, 0x21
push eax
lea ecx, [esp + 0x38]
call fcn.00438810
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
cmp edi, eax
je 0x4421fd
lea ecx, [ecx]
mov ecx, dword [0x9b3874]
xor eax, eax
mov ax, word [edi + 0xc]
movsx edx, ax
cmp edx, ecx
jge 0x4421a8
push 0
push ebx
push ebp
push eax
lea ecx, [esp + 0x8c]
call fcn.0077beb0
movsx eax, word [esp + 0x10a]
mov ecx, dword [0x9b38c0]
imul eax, eax, 0x16
mov dl, byte [eax + ecx + 0xa]
shr dl, 6
test dl, 1
je 0x441f89
mov al, byte [esp + 0x108]
test al, al
jne 0x441f89
lea ecx, [esp + 0x7c]
call fcn.0077bac0
mov eax, dword [esp + 0x340]
push eax
lea ecx, [esp + 0x80]
call fcn.007749a0
fstp dword [esp + 0x10]
fld dword [esp + 0x340]
fld dword [esp + 0x10]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x441fc8
mov ecx, dword [esp + 0x10]
push 0
push ecx
lea ecx, [esp + 0x84]
call fcn.00778250
fld dword [ebp + 8]
fsub dword [esp + 0x11c]
fld dword [ebp]
fsub dword [esp + 0x114]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
fstp st(0)
push edx
fstp st(0)
call fcn.005c5e80
fsub dword [0x890d3c]
add esp, 4
fld dword [0x890968]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x442018
fstp st(0)
fld dword [0x890968]
fld dword [ebp + 4]
fsub dword [esp + 0x118]
fabs
fsub dword [0x890d3c]
fld dword [0x890968]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x442041
fstp st(0)
fld dword [0x890968]
fmul dword [0x890604]
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x140]
mov ecx, dword [esp + 0x13c]
fadd st(1)
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
fstp dword [esp + 0x44]
mov dword [esp + 0x1c], 0
fstp st(0)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
push eax
call fcn.005c5e80
fld dword [0x890968]
fld st(1)
add esp, 4
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4420ce
fdivr dword [0x89096c]
fld dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x18]
fld dword [0x890968]
fmul st(1)
fstp dword [esp + 0x1c]
fmul dword [esp + 0x20]
jmp 0x4420d4
fstp st(0)
fld dword [esp + 0x20]
fld dword [esp + 0x1c]
movsx edx, byte [esp + 0x108]
fmul dword [ebx + 4]
mov cx, word [esp + 0x10a]
mov eax, dword [esp + 0x10c]
fxch st(1)
fmul dword [ebx + 8]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x114]
faddp st(1)
mov word [esp + 0x60], cx
fld dword [esp + 0x18]
mov ecx, dword [esp + 0x340]
fmul dword [ebx]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
test edx, edx
faddp st(1)
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x118]
fsubr dword [0x89096c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x74], eax
fadd st(0), st(0)
mov dword [esp + 0x78], ecx
fadd dword [esp + 0x44]
fstp dword [esp + 0x5c]
je 0x442193
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
sub eax, edx
sub ecx, edx
sar eax, 5
sar ecx, 5
cmp eax, ecx
jae 0x442193
mov edx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x64]
push ecx
push 1
push edx
call fcn.00425a80
mov eax, dword [esp + 0x50]
add esp, 0x14
add eax, 0x20
mov dword [esp + 0x3c], eax
jmp 0x4421a8
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x5c]
push eax
push 1
push ecx
lea ecx, [esp + 0x40]
call fcn.00436210
mov al, byte [edi + 0xf]
test al, al
jne 0x4421f3
mov ecx, dword [edi + 8]
mov al, byte [ecx + 0xf]
test al, al
jne 0x4421d1
mov eax, dword [ecx]
mov dl, byte [eax + 0xf]
test dl, dl
jne 0x4421cd
mov ecx, eax
mov eax, dword [ecx]
mov dl, byte [eax + 0xf]
test dl, dl
je 0x4421c2
mov edi, ecx
jmp 0x4421f3
mov eax, dword [edi + 4]
mov cl, byte [eax + 0xf]
test cl, cl
jne 0x4421f1
jmp 0x4421e0
cmp edi, dword [eax + 8]
jne 0x4421f1
mov edi, eax
mov eax, dword [eax + 4]
mov cl, byte [eax + 0xf]
test cl, cl
je 0x4421e0
mov edi, eax
cmp edi, dword [esp + 0x28]
jne 0x441f30
mov ebp, dword [esp + 0x38]
xor edi, edi
cmp ebp, edi
je 0x44221a
mov ebx, dword [esp + 0x3c]
mov eax, ebx
sub eax, ebp
sar eax, 5
cmp eax, edi
jne 0x4422a3
cmp ebp, edi
mov byte [esp + 0x36c], 2
je 0x442243
mov eax, dword [esp + 0x40]
sub eax, ebp
sar eax, 5
push 0x890f10
shl eax, 5
push eax
push ebp
mov ecx, 0x925b30
call fcn.005d0370
lea ecx, [esp + 0x7c]
mov byte [esp + 0x36c], 1
call fcn.0076e220
lea ecx, [esp + 0x48]
mov byte [esp + 0x36c], 0
call fcn.0042cbf0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push eax
push ecx
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x378], 0xffffffff
call fcn.00436150
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x44229c
push edi
push 0x10
push eax
mov ecx, 0x925b30
call fcn.005d0370
xor al, al
jmp 0x442400
push eax
push ebx
push ebp
call fcn.00434ee0
mov dword [esi + 0x94], edi
mov dword [esi + 0x98], edi
add esp, 0xc
mov dword [esi + 4], 0x7f7fffff
mov edi, ebp
jmp 0x4422d0
mov ebx, dword [esp + 0x3c]
lea esp, [esp]
cmp dword [esi + 0x94], 0x20
jge 0x442350
cmp edi, ebx
je 0x442350
fld dword [edi]
fst dword [esi + 0x90]
fcomp dword [esi + 4]
fnstsw ax
test ah, 1
je 0x442350
lea eax, [esi + 0x74]
lea ecx, [edi + 4]
mov ebx, dword [ecx]
mov edx, eax
mov dword [edx], ebx
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [edx + 8], ebx
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [edi + 0x14]
lea edx, [esi + 0x84]
mov dword [edx], ecx
mov ecx, dword [edi + 0x18]
mov dword [edx + 4], ecx
mov ecx, dword [edi + 0x1c]
mov dword [edx + 8], ecx
mov edx, dword [esp + 0x380]
mov ecx, dword [esp + 0x37c]
push 0
push edx
push ecx
push eax
mov ecx, esi
call fcn.00422d50
mov eax, dword [esi + 0x98]
add edi, 0x20
cmp eax, 0xa
jl 0x4422c5
mov edx, dword [esp + 0x30]
push edx
call fcn.00462430
fadd dword [0x90d5fc]
add esp, 4
fstp dword [0x90d5fc]
fld dword [esi + 4]
fcomp dword [0x890cd8]
fnstsw ax
test ah, 5
jp 0x44237d
mov bl, 1
jmp 0x44237f
xor bl, bl
mov eax, dword [esp + 0x40]
sub eax, ebp
sar eax, 5
push 0x890f10
shl eax, 5
push eax
push ebp
mov ecx, 0x925b30
mov byte [esp + 0x378], 2
call fcn.005d0370
lea ecx, [esp + 0x7c]
mov byte [esp + 0x36c], 1
call fcn.0076e220
lea ecx, [esp + 0x48]
mov byte [esp + 0x36c], 0
call fcn.0042cbf0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push eax
push ecx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x378], 0xffffffff
call fcn.00436150
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4423fe
push 0
push 0x10
push eax
mov ecx, 0x925b30
call fcn.005d0370
mov al, bl
mov ecx, dword [esp + 0x364]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x360
ret 0x18