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

Disassembly:
push edi
push esi
push ebp
push ebx
mov esi, dword [esp + 0x14]
sub esp, 0x8fc
mov edi, esi
add edi, 0x5c
mov eax, dword [esi]
test al, 1
lea ebp, [esp + 0x10]
je 0x44bc2b
mov edx, dword [esi + 0x50]
mov ecx, dword [edx]
test cl, 2
je 0x44c1a4
mov edx, dword [esi + 0x34]
mov edx, dword [edx + 4]
test edx, edx
je 0x44bc3e
test ah, 0x40
je 0x44c4d0
mov eax, dword [esp + 0x81c]
mov edx, 0x3f800000
or eax, 0x20003
xor ecx, ecx
mov dword [esp + 0x81c], eax
mov dword [esp + 0x838], edx
mov dword [esp + 0x824], edx
mov dword [esp + 0x810], edx
mov dword [esp + 0x820], ecx
mov dword [esp + 0x818], ecx
mov dword [esp + 0x814], ecx
mov dword [esp + 0x834], ecx
mov dword [esp + 0x830], ecx
mov dword [esp + 0x828], ecx
mov dword [esp + 0x848], ecx
mov dword [esp + 0x844], ecx
mov dword [esp + 0x840], ecx
mov eax, dword [esp + 0x810]
add ebp, 0x40
mov dword [esp + 0x10], eax
mov dword [esp + 0x8e4], ebp
mov eax, dword [esp + 0x814]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x818]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x81c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x820]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x824]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x828]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x82c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x830]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x834]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x838]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x83c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x840]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x844]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x848]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x84c]
mov dword [esp + 0x4c], eax
mov eax, dword [esi]
mov edx, dword [esi + 0x3c]
mov ecx, 0x1000
and ecx, eax
mov ebx, 0x2000
and ebx, eax
and eax, 2
mov dword [esp + 0x8d8], ecx
mov dword [esp + 0x8e0], ebx
mov dword [esp + 0x8dc], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x8d4], edx
mov dword [esp + 0x8e8], eax
mov eax, dword [esi + 4]
mov edx, ebx
mov ebx, dword [esi + 0x28]
test edx, edx
je 0x44bdc3
mov edx, dword [esi + 0x34]
mov ecx, dword [edx + 0xa0]
mov dl, byte [ecx + 3]
test dl, 3
je 0x44c26a
test eax, eax
jle 0x44c194
shl eax, 6
mov ebp, ebx
add ebx, eax
mov esi, edi
mov dword [esp + 0x8d0], ebx
mov ebx, dword [esp + 0x8e8]
mov edi, dword [ebx + 8]
test edi, 2
je 0x44bea3
mov eax, dword [esp + 0x8e4]
mov edx, dword [esp + 0x810]
mov ecx, eax
add eax, 0x40
mov dword [ecx], edx
mov dword [esp + 0x8e4], eax
mov eax, dword [esp + 0x814]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x818]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x81c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x820]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x824]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x828]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x82c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x830]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x834]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x838]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x83c]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x840]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x844]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x848]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x84c]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 0x910]
mov edx, 0x44c960
mov eax, dword [eax + 0x40]
cmp eax, edx
je 0x44c380
lea edx, [esp + 0x890]
mov dword [esp + 4], esi
mov dword [esp], edx
call eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x44bf9d
mov eax, dword [esp + 0x8d8]
test eax, eax
je 0x44bf9d
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x890]
mov ecx, dword [esp + 0x8e0]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x894]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x898]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x89c]
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0x8a0]
mov dword [eax + 0x20], edx
mov edx, dword [esp + 0x8a4]
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0x8a8]
mov dword [eax + 0x28], edx
mov edx, dword [esp + 0x8ac]
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x8b0]
mov dword [eax + 0x30], edx
mov edx, dword [esp + 0x8b4]
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0x8b8]
mov dword [eax + 0x38], edx
mov edx, dword [esp + 0x8bc]
mov dword [eax + 0x3c], edx
mov edx, dword [esp + 0x8c0]
mov dword [eax + 0x40], edx
mov edx, dword [esp + 0x8c4]
mov dword [eax + 0x44], edx
mov edx, dword [esp + 0x8c8]
mov dword [eax + 0x48], edx
mov edx, dword [esp + 0x8cc]
mov dword [eax + 0x4c], edx
test ecx, ecx
jne 0x44bf9d
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call fcn.0045acd0
lea eax, [esp + 0x850]
lea edx, [esp + 0x890]
lea ecx, [esp + 0x810]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call fcn.004593d0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x44c097
mov eax, dword [esp + 0x8e0]
test eax, eax
je 0x44c097
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x850]
mov dword [eax + 0x50], edx
mov edx, dword [esp + 0x854]
mov dword [eax + 0x54], edx
mov edx, dword [esp + 0x858]
mov dword [eax + 0x58], edx
mov edx, dword [esp + 0x85c]
mov dword [eax + 0x5c], edx
mov edx, dword [esp + 0x860]
mov dword [eax + 0x60], edx
mov edx, dword [esp + 0x864]
mov dword [eax + 0x64], edx
mov edx, dword [esp + 0x868]
mov dword [eax + 0x68], edx
mov edx, dword [esp + 0x86c]
mov dword [eax + 0x6c], edx
mov edx, dword [esp + 0x870]
mov dword [eax + 0x70], edx
mov edx, dword [esp + 0x874]
mov dword [eax + 0x74], edx
mov edx, dword [esp + 0x878]
mov dword [eax + 0x78], edx
mov edx, dword [esp + 0x87c]
mov dword [eax + 0x7c], edx
mov edx, dword [esp + 0x880]
mov dword [eax + 0x80], edx
mov edx, dword [esp + 0x884]
mov dword [eax + 0x84], edx
mov edx, dword [esp + 0x888]
mov dword [eax + 0x88], edx
mov edx, dword [esp + 0x88c]
mov dword [eax + 0x8c], edx
mov eax, dword [ebx + 0xc]
mov dl, byte [eax + 3]
or dl, 8
mov byte [eax + 3], dl
mov eax, dword [esp + 0x8dc]
test eax, eax
je 0x44c2db
test edi, 1
je 0x44c0d0
mov eax, dword [esp + 0x8e4]
add eax, 0xffffffc0
mov dword [esp + 0x8e4], eax
jmp 0x44c0d7
lea eax, [esp + 0x850]
mov edx, dword [eax]
mov ecx, dword [esp + 0x8d4]
mov dword [esp + 0x810], edx
mov edx, dword [eax + 4]
add esi, ecx
mov dword [esp + 0x814], edx
mov edx, dword [eax + 8]
add ebp, 0x40
mov dword [esp + 0x818], edx
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0x8d0]
mov dword [esp + 0x81c], edx
mov edx, dword [eax + 0x10]
add ebx, 0x10
mov dword [esp + 0x820], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x824], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x828], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x82c], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x830], edx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x834], edx
mov edx, dword [eax + 0x28]
mov dword [esp + 0x838], edx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x83c], edx
mov edx, dword [eax + 0x30]
mov dword [esp + 0x840], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x844], edx
mov edx, dword [eax + 0x38]
mov dword [esp + 0x848], edx
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x84c], eax
cmp ebp, ecx
jl 0x44bde2
add esp, 0x8fc
mov eax, 1
pop ebx
pop ebp
pop esi
pop edi
ret
mov ecx, dword [esi + 0x58]
cmp ecx, 0xffffffff
je 0x44bc2b
mov edx, dword [edx + 0x28]
shl ecx, 6
mov eax, dword [edx + ecx]
mov dword [esp + 0x810], eax
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x814], eax
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x818], eax
mov eax, dword [edx + ecx + 0xc]
mov dword [esp + 0x81c], eax
mov eax, dword [edx + ecx + 0x10]
mov dword [esp + 0x820], eax
mov eax, dword [edx + ecx + 0x14]
mov dword [esp + 0x824], eax
mov eax, dword [edx + ecx + 0x18]
mov dword [esp + 0x828], eax
mov eax, dword [edx + ecx + 0x1c]
mov dword [esp + 0x82c], eax
mov eax, dword [edx + ecx + 0x20]
mov dword [esp + 0x830], eax
mov eax, dword [edx + ecx + 0x24]
mov dword [esp + 0x834], eax
mov eax, dword [edx + ecx + 0x28]
mov dword [esp + 0x838], eax
mov eax, dword [edx + ecx + 0x2c]
mov dword [esp + 0x83c], eax
mov eax, dword [edx + ecx + 0x30]
mov dword [esp + 0x840], eax
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x844], eax
mov eax, dword [edx + ecx + 0x38]
mov dword [esp + 0x848], eax
mov edx, dword [edx + ecx + 0x3c]
mov dword [esp + 0x84c], edx
jmp 0x44bcac
mov edx, dword [0x504988]
mov edx, dword [edx + 0xbc]
mov dword [ecx + 8], edx
mov edx, dword [esi + 0x34]
mov ecx, dword [0x504988]
mov edx, dword [edx + 0xa0]
add ecx, 0xbc
mov dword [edx + 0xc], ecx
mov edx, dword [esi + 0x34]
mov ecx, dword [0x504988]
mov edx, dword [edx + 0xa0]
mov ecx, dword [ecx + 0xbc]
add edx, 8
mov dword [ecx + 4], edx
mov edx, dword [esi + 0x34]
mov ecx, dword [0x504988]
mov edx, dword [edx + 0xa0]
add edx, 8
mov dword [ecx + 0xbc], edx
mov edx, dword [esi + 0x34]
mov edx, dword [edx + 0xa0]
mov cl, byte [edx + 3]
or cl, 2
mov byte [edx + 3], cl
jmp 0x44bdc3
mov eax, dword [esp + 0x850]
mov dword [ebp], eax
mov eax, dword [esp + 0x854]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x858]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x85c]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x860]
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x864]
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x868]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x86c]
mov dword [ebp + 0x1c], eax
mov eax, dword [esp + 0x870]
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x874]
mov dword [ebp + 0x24], eax
mov eax, dword [esp + 0x878]
mov dword [ebp + 0x28], eax
mov eax, dword [esp + 0x87c]
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x880]
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x884]
mov dword [ebp + 0x34], eax
mov eax, dword [esp + 0x888]
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x88c]
mov dword [ebp + 0x3c], eax
jmp 0x44c0a6
fld dword [esi + 0xc]
fld dword [esi + 8]
fxch st(1)
fmul st(0)
fld dword [esi + 8]
fmul dword [esi + 0x14]
fld dword [esi + 0x14]
fmul dword [esi + 0xc]
fld dword [esi + 0xc]
fmul dword [esi + 0x10]
fld dword [esi + 0x10]
fxch st(5)
fmul st(0)
fld dword [esi + 0x10]
fmul dword [esi + 8]
fld dword [esi + 8]
fmul dword [esi + 0xc]
fxch st(7)
mov eax, 3
xor edx, edx
fmul st(0)
fxch st(7)
fstp qword [esp + 0x8f0]
fld st(5)
fadd st(2)
fmul dword [0x52588c]
fsubr dword [0x525888]
fxch st(7)
fadd st(2), st(0)
faddp st(6)
fld dword [esi + 0x10]
fmul dword [esi + 0x14]
fxch st(7)
fstp dword [esp + 0x8b8]
fxch st(1)
fmul dword [0x525878]
fsubr dword [0x525874]
fxch st(5)
fmul dword [0x525864]
fsubr dword [0x525860]
fxch st(5)
fstp dword [esp + 0x8a4]
fxch st(4)
fstp dword [esp + 0x890]
fld st(0)
fsub st(3)
fmul dword [0x525884]
fxch st(1)
faddp st(3)
fstp dword [esp + 0x8b4]
fld qword [esp + 0x8f0]
fsub st(4)
fmul dword [0x525870]
fstp dword [esp + 0x8a0]
fld st(0)
fadd st(3)
fmul dword [0x525880]
fxch st(1)
fsubp st(3)
fstp dword [esp + 0x8b0]
fmul dword [0x52587c]
mov dword [esp + 0x89c], eax
mov dword [esp + 0x8c8], edx
fstp dword [esp + 0x8a8]
fmul dword [0x52586c]
fxch st(1)
fadd qword [esp + 0x8f0]
fmul dword [0x525868]
fxch st(1)
fstp dword [esp + 0x898]
fstp dword [esp + 0x894]
mov dword [esp + 0x8c4], edx
mov dword [esp + 0x8c0], edx
mov eax, dword [esi + 0x18]
mov dword [esp + 0x8c0], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x8c4], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x8c8], eax
jmp 0x44beca
mov eax, dword [edx + 0x10]
mov dword [esp + 0x810], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x814], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x818], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x81c], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x820], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x824], eax
mov eax, dword [edx + 0x28]
mov dword [esp + 0x828], eax
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x82c], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x830], eax
mov eax, dword [edx + 0x34]
mov dword [esp + 0x834], eax
mov eax, dword [edx + 0x38]
mov dword [esp + 0x838], eax
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x83c], eax
mov eax, dword [edx + 0x40]
mov dword [esp + 0x840], eax
mov eax, dword [edx + 0x44]
mov dword [esp + 0x844], eax
mov eax, dword [edx + 0x48]
mov dword [esp + 0x848], eax
mov eax, dword [edx + 0x4c]
mov dword [esp + 0x84c], eax
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x44bcac
nop
lea esi, [esi]
mov eax, dword [esp + 0x810]
mov edx, dword [esp + 0x814]
mov ecx, dword [esp + 0x818]
mov dword [esp + 0x850], eax
mov eax, dword [esp + 0x81c]
mov dword [esp + 0x854], edx
mov edx, dword [esp + 0x820]
mov dword [esp + 0x858], ecx
mov ecx, dword [esp + 0x824]
mov dword [esp + 0x85c], eax
mov eax, dword [esp + 0x828]
mov dword [esp + 0x860], edx
mov edx, dword [esp + 0x82c]
mov dword [esp + 0x864], ecx
mov ecx, dword [esp + 0x830]
mov dword [esp + 0x868], eax
mov eax, dword [esp + 0x834]
mov dword [esp + 0x86c], edx
mov edx, dword [esp + 0x838]
mov dword [esp + 0x870], ecx
mov ecx, dword [esp + 0x83c]
mov dword [esp + 0x874], eax
mov eax, dword [esp + 0x840]
mov dword [esp + 0x878], edx
mov edx, dword [esp + 0x844]
mov dword [esp + 0x87c], ecx
mov ecx, dword [esp + 0x848]
mov dword [esp + 0x880], eax
mov eax, dword [esp + 0x84c]
mov dword [esp + 0x884], edx
lea edx, [esp + 0x810]
mov dword [esp + 0x888], ecx
lea ecx, [esp + 0x850]
mov dword [esp + 0x88c], eax
lea eax, [ebx + 0x10]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.004593d0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x44c580
jmp 0x44bcac