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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x10089040]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
push edi
mov edi, dword [0x10099d40]
mov byte [esp + 0x19], dl
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], edi
mov eax, dword [edi + 0x3e48]
mov byte [eax + 0xac], 1
mov esi, dword [edi + 0x3e48]
mov dword [esp + 0x38], esi
cmp byte [esi + 0xaf], 0
jne 0x100456ee
mov ecx, dword [esi + 0xe4]
xor edx, edx
mov eax, dword [esi + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x28]
call fcn.10003a00
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x1c], eax
cmp dword [ecx + 0x3e7c], eax
jne 0x10044d72
push ecx
push dword [esp + 0x28]
mov edx, 0xb
mov ecx, eax
call fcn.10019c20
add esp, 8
mov eax, dword [esp + 0x24]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10044d96
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x10044d96
cmp dl, 0x23
jne 0x10044d90
cmp byte [ecx + 1], dl
je 0x10044d96
inc ecx
cmp ecx, 0xffffffff
jb 0x10044d80
mov edx, dword [0x10099d40]
xorps xmm0, xmm0
movss xmm1, dword [edx + 0x3bb8]
cmp eax, ecx
jne 0x10044db0
xorps xmm2, xmm2
jmp 0x10044df9
movss xmm3, dword [0x10083754]
movaps xmm2, xmm1
push 0
push ecx
push eax
push ecx
mov ecx, dword [edx + 0x3bb4]
lea eax, [esp + 0x58]
mov dword [esp], 0xbf800000
push eax
call fcn.10029b10
movss xmm0, dword [esp + 0x48]
addss xmm0, dword [0x100835f4]
movss xmm1, dword [esp + 0x4c]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov ecx, dword [ebp + 0xc]
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x40], xmm2
movss xmm3, dword [ecx + 4]
ucomiss xmm3, xmm0
movss dword [esp + 0x20], xmm3
lahf
test ah, 0x44
jp 0x10044e25
movaps xmm3, xmm1
movss dword [esp + 0x20], xmm1
movss xmm1, dword [ecx]
ucomiss xmm1, xmm0
movss dword [esp + 0x28], xmm1
lahf
test ah, 0x44
jp 0x10044e41
movaps xmm1, xmm2
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x30], xmm1
lea ecx, [esp + 0x30]
movss xmm1, dword [esi + 0xf0]
movss dword [esp + 0x2c], xmm1
movss xmm1, dword [esi + 0xf4]
addss xmm1, dword [esi + 0x128]
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x48], xmm1
xorps xmm1, xmm1
call fcn.10012210
mov edx, dword [ebp + 8]
mov ecx, edx
movss xmm2, dword [esp + 0x2c]
shr ecx, 1
and cl, 1
mov dword [esp + 0x30], ecx
je 0x10044ea5
movss xmm6, dword [esi + 0x200]
movss xmm1, dword [esi + 0x208]
jmp 0x10044eb0
movss xmm1, dword [esi + 0x1f8]
movaps xmm6, xmm2
mov eax, dword [ebp + 0xc]
xorps xmm4, xmm4
movss xmm0, dword [eax]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x10044ecb
test edx, 0x1000000
je 0x10044edb
movss xmm5, dword [esp + 0x40]
subss xmm1, xmm6
maxss xmm5, xmm1
jmp 0x10044ee1
movss xmm5, dword [esp + 0x28]
movss xmm7, dword [esp + 0x48]
addss xmm5, xmm6
movss dword [esp + 0x7c], xmm2
movaps xmm0, xmm7
movss dword [esp + 0x80], xmm7
movss dword [esp + 0x6c], xmm6
movss dword [esp + 0x70], xmm7
movss dword [esp + 0x84], xmm5
movss dword [esp + 0x74], xmm5
addss xmm0, dword [esp + 0x20]
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x88], xmm0
movss dword [esp + 0x78], xmm0
test edx, 0x4000000
jne 0x10044fad
test cl, cl
jne 0x10044f47
movss xmm4, dword [edi + 0x37d4]
movss xmm3, dword [edi + 0x37d8]
movaps xmm0, xmm4
mulss xmm0, dword [0x100835a8]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100835a8]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm4, xmm2
subss xmm3, xmm0
subss xmm6, xmm2
subss xmm7, xmm0
addss xmm4, xmm5
addss xmm3, dword [esp + 0x48]
movss dword [esp + 0x6c], xmm6
movss dword [esp + 0x70], xmm7
movss dword [esp + 0x74], xmm4
movss dword [esp + 0x78], xmm3
movss xmm0, dword [esi + 0x210]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esi + 0x218]
movss dword [esp + 0x20], xmm0
test cl, cl
je 0x10044fe5
mov eax, dword [esi + 0x200]
mov dword [esi + 0x210], eax
mov eax, dword [esi + 0x208]
mov dword [esi + 0x218], eax
mov eax, edx
lea ecx, [esp + 0x6c]
mov edx, dword [esp + 0x1c]
shr eax, 3
and eax, 0xffffff01
mov dword [esp + 0x28], eax
movzx eax, al
shl eax, 2
push eax
push 0
call fcn.10012370
mov cl, al
add esp, 8
mov eax, dword [esp + 0x30]
test al, al
je 0x10045032
movss xmm0, dword [esp + 0x48]
movss dword [esi + 0x210], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esi + 0x218], xmm0
test cl, cl
je 0x100456ee
mov ecx, dword [edi + 0x46a0]
shr ecx, 2
and ecx, 0xffffff01
cmp byte [esp + 0x28], 0
mov dword [esp + 0x2c], ecx
je 0x10045061
test cl, cl
jne 0x10045061
call fcn.1000fb30
mov eax, dword [esp + 0x30]
test al, al
je 0x100451e3
cmp dword [esi + 0x190], 0
je 0x10045122
mov eax, dword [0x10099d40]
mov ecx, dword [eax + 0x3e48]
mov dword [esp + 0x48], ecx
mov edx, dword [ecx + 0x190]
cmp dword [edx + 0x10], 1
je 0x100451e3
movups xmm0, xmmword [ecx + 0x210]
push 0
movups xmmword [edx + 0x3c], xmm0
mov eax, dword [ecx + 0x264]
movups xmm0, xmmword [edx + 0x2c]
movss xmm4, dword [edx + 0x2c]
movss xmm3, dword [edx + 0x30]
movss xmm2, dword [edx + 0x34]
movss xmm1, dword [edx + 0x38]
movups xmmword [ecx + 0x210], xmm0
movss dword [esp + 0x54], xmm4
movss dword [esp + 0x58], xmm3
movss dword [esp + 0x5c], xmm2
movss dword [esp + 0x60], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [ecx + 0x264]
movups xmm0, xmmword [esp + 0x54]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movups xmmword [eax + ecx*8 - 0x10], xmm0
mov eax, dword [esp + 0x4c]
lea ecx, [edx + 0x68]
push dword [eax + 0x264]
call fcn.10026750
jmp 0x100451e3
cmp dword [edi + 0x4a04], 0
je 0x100451e3
mov eax, dword [0x10099d40]
mov esi, dword [eax + 0x3e48]
mov ecx, dword [eax + 0x4a04]
movups xmm0, xmmword [esi + 0x210]
movups xmmword [ecx + 0x13c], xmm0
mov eax, dword [esi + 0x264]
movups xmm0, xmmword [ecx + 0x11c]
movss xmm4, dword [ecx + 0x11c]
movss xmm3, dword [ecx + 0x120]
movss xmm2, dword [ecx + 0x124]
movss xmm1, dword [ecx + 0x128]
movups xmmword [esi + 0x210], xmm0
movss dword [esp + 0x50], xmm4
movss dword [esp + 0x54], xmm3
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x5c], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [esi + 0x264]
movups xmm0, xmmword [esp + 0x50]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add edx, edx
movups xmmword [eax + edx*8 - 0x10], xmm0
movzx eax, word [ecx + 0x1d2]
mov ecx, dword [ecx + 0x160]
push eax
push dword [esi + 0x264]
call fcn.10026750
mov esi, dword [esp + 0x38]
mov ecx, dword [ebp + 8]
shr ecx, 3
and ecx, 0x20000
mov al, byte [esp + 0x19]
mov edx, ecx
mov byte [esp + 0x1a], al
or edx, 0x100000
test dword [ebp + 8], 0x8000000
cmove edx, ecx
mov ecx, edx
or ecx, 0x10
test dword [ebp + 8], 0x400000
cmove ecx, edx
mov edx, ecx
or edx, 0x80
test dword [ebp + 8], 0x800000
cmove edx, ecx
mov ecx, edx
or ecx, 0x120
test byte [ebp + 8], 4
cmove ecx, edx
mov edx, dword [ebp + 8]
and edx, 0x10
mov eax, ecx
or eax, 0x1000
mov dword [esp + 0x48], edx
test edx, edx
mov edx, dword [esp + 0x1c]
cmove eax, ecx
lea ecx, [esp + 0x6c]
push eax
lea eax, [esp + 0x1f]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10035290
mov cl, al
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [esp + 0x17], cl
test eax, 0x200000
je 0x100452a9
mov edx, dword [edi + 0x47e4]
test edx, edx
je 0x100452a9
mov eax, dword [edi + 0x47e8]
cmp eax, dword [edi + 0x469c]
jne 0x100452a6
mov eax, dword [esp + 0x1c]
cmp edx, eax
jne 0x100452a6
mov byte [esp + 0x17], 1
mov byte [esp + 0x19], 1
jmp 0x100452c8
mov eax, dword [ebp + 8]
test cl, cl
jne 0x100452c4
mov cl, byte [esp + 0x18]
test cl, cl
je 0x100453eb
test eax, 0x2000000
je 0x100453eb
mov eax, dword [esp + 0x1c]
cmp byte [edi + 0x4803], 0
jne 0x1004535e
cmp dword [edi + 0x47c8], esi
jne 0x1004535e
mov edx, dword [esi + 0x148]
cmp dword [edi + 0x47fc], edx
jne 0x1004535e
movss xmm1, dword [esi + 0x100]
lea ecx, [esp + 0x50]
movss xmm0, dword [esp + 0x6c]
movss xmm2, dword [esi + 0x104]
subss xmm0, xmm1
push ecx
push dword [edi + 0x469c]
mov ecx, eax
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x78]
subss xmm0, xmm2
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0x7c]
subss xmm0, xmm1
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x80]
subss xmm0, xmm2
movss dword [esp + 0x64], xmm0
call fcn.100140a0
add esp, 8
mov byte [edi + 0x4802], 1
cmp byte [esp + 0x17], 0
mov eax, dword [0x10099d40]
je 0x1004538a
mov ecx, dword [eax + 0x3e94]
cmp ecx, dword [esp + 0x1c]
je 0x1004537a
test ecx, ecx
jne 0x10045383
mov word [eax + 0x3ea4], 0x101
or dword [eax + 0x46c4], 4
mov cl, byte [esp + 0x18]
cmp dword [esp + 0x48], 0
je 0x100453b9
mov edx, dword [eax + 0x46bc]
cmp dword [eax + 0x3e80], edx
jne 0x100453aa
mov byte [eax + 0x3e88], 1
cmp dword [eax + 0x3e94], edx
jne 0x100453b9
mov byte [eax + 0x3ea1], 1
mov al, byte [esp + 0x19]
cmp al, byte [esp + 0x1a]
je 0x100453ca
or dword [edi + 0x46c4], 8
test cl, cl
jne 0x100453d6
test al, al
je 0x1004545d
cmp byte [esp + 0x1b], 0
je 0x100453f2
test cl, cl
je 0x100453f2
mov dword [esp + 0x20], 0x1a
jmp 0x10045400
mov eax, dword [0x10099d40]
jmp 0x1004538e
xor eax, eax
test cl, cl
setne al
add eax, 0x18
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
movss xmm1, dword [0x100835fc]
mov dword [esp + 0x54], edx
mov edx, dword [0x10099d40]
push 0
push ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x74]
mov edx, dword [edx + 0x3e48]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], eax
mov dword [esp], 0
call fcn.10004310
mov ecx, dword [edx + 0x264]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.100257f0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x6c]
push 0xa
call fcn.10005100
add esp, 4
cmp byte [esp + 0x30], 0
je 0x100455d1
cmp dword [esi + 0x190], 0
je 0x1004551e
mov eax, dword [0x10099d40]
mov esi, dword [eax + 0x3e48]
mov edx, dword [esi + 0x190]
cmp dword [edx + 0x10], 1
je 0x100455d1
movups xmm0, xmmword [edx + 0x3c]
mov eax, dword [esi + 0x264]
movss xmm4, dword [edx + 0x3c]
movss xmm3, dword [edx + 0x40]
movss xmm2, dword [edx + 0x44]
movss xmm1, dword [edx + 0x48]
movups xmmword [esi + 0x210], xmm0
movss dword [esp + 0x50], xmm4
movss dword [esp + 0x54], xmm3
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x5c], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [esi + 0x264]
movups xmm0, xmmword [esp + 0x50]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movups xmmword [eax + ecx*8 - 0x10], xmm0
mov eax, dword [edx + 0xc]
lea ecx, [edx + 0x68]
inc eax
push eax
push dword [esi + 0x264]
jmp 0x100455cc
cmp dword [edi + 0x4a04], 0
je 0x100455d1
mov eax, dword [0x10099d40]
mov ecx, dword [eax + 0x4a04]
mov edi, dword [eax + 0x3e48]
imul esi, dword [ecx + 0x48], 0x70
movups xmm0, xmmword [ecx + 0x13c]
mov eax, dword [edi + 0x264]
movss xmm4, dword [ecx + 0x13c]
movss xmm3, dword [ecx + 0x140]
add esi, dword [ecx + 0x10]
movss xmm2, dword [ecx + 0x144]
movss xmm1, dword [ecx + 0x148]
movups xmmword [edi + 0x210], xmm0
movss dword [esp + 0x50], xmm4
movss dword [esp + 0x54], xmm3
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x5c], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [edi + 0x264]
movups xmm0, xmmword [esp + 0x50]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add edx, edx
movups xmmword [eax + edx*8 - 0x10], xmm0
movzx eax, word [esi + 0x5c]
mov ecx, dword [ecx + 0x160]
push eax
push dword [edi + 0x264]
call fcn.10026750
mov edx, dword [esp + 0x24]
mov edi, edx
cmp edx, 0xffffffff
jae 0x100455f6
nop dword [eax]
mov cl, byte [edi]
test cl, cl
je 0x100455f6
cmp cl, 0x23
jne 0x100455f0
cmp byte [edi + 1], cl
je 0x100455f6
inc edi
cmp edi, 0xffffffff
jb 0x100455e0
mov eax, edi
sub eax, edx
je 0x10045655
mov esi, dword [0x10099d40]
lea eax, [esp + 0x6c]
push eax
mov eax, dword [esp + 0x40]
add eax, 0x3828
mov ecx, dword [esi + 0x3e48]
push eax
lea eax, [esp + 0x48]
push eax
mov ecx, dword [ecx + 0x264]
lea eax, [esp + 0x90]
push edi
push edx
push eax
lea edx, [esp + 0x94]
call fcn.10004650
add esp, 0x18
cmp byte [esi + 0x5aa4], 0
je 0x10045655
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x7c]
push edi
call fcn.10018720
add esp, 4
cmp byte [esp + 0x17], 0
je 0x10045681
mov eax, dword [esp + 0x38]
test dword [eax + 0xc], 0x4000000
je 0x10045681
test byte [ebp + 8], 1
jne 0x10045681
mov eax, dword [esp + 0x3c]
test byte [eax + 0x46c0], 0x20
jne 0x10045681
call fcn.10013710
cmp byte [esp + 0x28], 0
je 0x100456d6
cmp byte [esp + 0x2c], 0
jne 0x100456d6
mov esi, dword [0x10099d40]
mov edx, dword [esi + 0x46a0]
dec dword [esi + 0x4788]
dec word [esi + 0x5a04]
mov ecx, dword [esi + 0x4788]
mov eax, dword [esi + 0x4790]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x46a0], eax
test dl, 1
je 0x100456d6
test al, 4
jne 0x100456d6
mov eax, dword [esi + 0x5a00]
mov dword [esi + 0x3788], eax
mov al, byte [esp + 0x17]
pop edi
pop esi
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.10074ff7
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x8c]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.10074ff7
mov esp, ebp
pop ebp
ret