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

Disassembly:
push 0xd0
mov eax, 0x100b5cea
call fcn.10090b5a
mov esi, dword [0x1010ef08]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x24], esi
mov eax, dword [esi + 0x3e40]
mov byte [eax + 0xac], cl
mov edi, dword [esi + 0x3e40]
mov dword [ebp - 0x18], edi
cmp byte [edi + 0xaf], 0
je 0x10049406
xor al, al
jmp 0x10049d51
mov eax, dword [ebp + 0x14]
and eax, 0x3000000
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x54]
push eax
call fcn.10007537
cmp dword [ebp - 0x1c], 0
xorps xmm1, xmm1
movss xmm2, dword [0x100bbe20]
pop ecx
je 0x10049435
movss xmm1, dword [ebp - 0x50]
maxss xmm1, xmm2
movss xmm0, dword [ebp - 0x54]
mov eax, dword [ebp + 0x18]
maxss xmm0, xmm2
push ecx
push ecx
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x5c]
push eax
call fcn.1000fae4
movss xmm1, dword [ebp - 0x5c]
add esp, 0x14
cmp dword [ebp - 0x1c], 0
addss xmm1, dword [edi + 0xf0]
movss xmm0, dword [ebp - 0x58]
addss xmm0, dword [edi + 0xf4]
mov eax, dword [edi + 0xf0]
mov ecx, dword [edi + 0xf4]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0x40], xmm0
je 0x100494e3
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.1000fa3a
pop ecx
pop ecx
test al, al
je 0x100494e3
movss xmm0, dword [ebp - 0x44]
lea eax, [ebp - 0x3c]
subss xmm0, dword [ebp - 0x4c]
push ecx
mov dword [esp], 0xbf800000
push eax
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x38], xmm0
call fcn.1000f657
pop ecx
xor al, al
jmp 0x10049d50
push dword [ebp + 0xc]
lea ecx, [esi + 0x49f8]
call fcn.1004e3b8
mov edi, eax
mov ecx, 0x1e8
mov dword [ebp - 0x30], edi
mov eax, dword [edi + 4]
mov dword [ebp - 0x38], eax
mov eax, edi
sub eax, dword [esi + 0x4a00]
cdq
idiv ecx
mov ecx, dword [esi + 0x49e8]
inc ecx
mov dword [ebp - 0x34], eax
mov dword [esi + 0x49e8], ecx
cmp ecx, dword [esi + 0x49ec]
jle 0x10049554
lea ecx, [ebp - 0xd4]
call fcn.1004e220
and dword [ebp - 4], 0
lea ecx, [esi + 0x49ec]
push eax
push dword [esi + 0x49e8]
call fcn.1004e80e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
call fcn.10016dca
imul ecx, dword [esi + 0x49e8], 0x68
mov eax, dword [esi + 0x49f4]
push dword [ebp - 0x18]
add eax, 0xffffff98
push dword [ebp + 0x14]
add ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], ecx
mov dword [ecx], eax
xor ecx, ecx
mov eax, dword [edi + 0xc]
inc ecx
add eax, 0x10
mov dword [edi + 0x160], eax
and dword [eax], 0
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x14]
and eax, 0xe000
neg eax
sbb al, al
inc al
mov byte [edi + 0x1e2], al
call fcn.1004e498
pop ecx
pop ecx
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0x14], eax
cmp ecx, dword [esi + 0x3de0]
je 0x100495b9
xor edx, edx
jmp 0x100495be
movsx edx, word [edi + 0x4c]
inc edx
mov ecx, dword [ebp + 0xc]
movss xmm0, dword [ebp + 0x1c]
mov dword [edi + 4], eax
mov dword [edi], ecx
mov eax, dword [esi + 0x3de0]
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp - 0x28]
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x150], eax
mov dword [edi + 0x14c], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x40], eax
mov byte [edi + 0x1d6], 0
movss dword [edi + 0xa0], xmm0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, esi
mov dword [ebp - 0x10], edx
mov dword [eax + 0xc], ecx
mov word [edi + 0x4c], dx
test edx, edx
jle 0x10049656
lea ecx, [edi + 0x174]
cmp dword [ecx], edx
jge 0x10049639
and dword [ebp - 0x6c], 0
lea eax, [ebp - 0x6c]
and dword [ebp - 0x60], 0
and dword [ebp - 0x64], 0
and dword [ebp - 0x68], 0
push eax
call fcn.1001fb05
push dword [ebp + 0xc]
push 0
push str.Instances
call fcn.1000f5d7
push eax
push dword [ebp - 0x10]
call fcn.1000f61e
add esp, 0x14
jmp 0x10049659
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
movsx eax, word [edi + 0x4c]
push eax
push edi
call fcn.1001da26
cmp dword [ebp - 0x1c], 0
mov esi, dword [ebp - 0x24]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
push 0x44
mov dword [eax], ecx
pop edx
je 0x100497f3
mov ecx, dword [ebp - 0x14]
mov eax, ecx
movss xmm1, dword [0x100bbeb4]
and eax, 0x3000000
movaps xmm3, xmm1
movaps xmm2, xmm1
cmp eax, 0x1000000
jne 0x100496a5
movss xmm2, dword [0x100d0aac]
test ecx, 0x1000000
je 0x100496c5
movss xmm4, dword [ebp + 0x1c]
xorps xmm0, xmm0
comiss xmm4, xmm0
jbe 0x100496c5
ucomiss xmm4, xmm1
movaps xmm3, xmm4
lahf
test dl, ah
jp 0x100496cd
ucomiss xmm2, xmm1
lahf
test dl, ah
jnp 0x100496f7
ucomiss xmm2, xmm1
lahf
test dl, ah
jp 0x100496d8
xorps xmm2, xmm2
ucomiss xmm3, xmm1
lahf
test dl, ah
jp 0x100496e3
xorps xmm3, xmm3
lea eax, [ebp - 0x20]
movss dword [ebp - 0x20], xmm3
push eax
movss dword [ebp - 0x1c], xmm2
call fcn.10007354
pop ecx
test dword [ebp - 0x38], 0x3000000
jne 0x10049712
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x20]
and dword [ebp - 0x1c], 0
push eax
call fcn.100073c5
pop ecx
movss xmm0, dword [ebp - 0x44]
subss xmm0, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
shr eax, 0xd
and eax, 0x800
push eax
movss dword [ebp - 0x20], xmm0
lea eax, [ebp - 0x20]
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
push 0
push eax
push dword [ebp - 0x2c]
push dword [ebp + 8]
movss dword [ebp - 0x1c], xmm0
call fcn.1000ffb9
mov eax, dword [esi + 0x3e40]
add esp, 0x14
mov dword [edi + 0x150], eax
add edi, 0xdc
cmp dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x30]
lea esi, [eax + 0x1f0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm2, dword [eax + 0x14]
lea esi, [eax + 0x1d0]
movss xmm3, dword [eax + 0x18]
lea edi, [ecx + 0xcc]
movss xmm0, dword [eax + 0x1c]
movss xmm1, dword [eax + 0x20]
movss dword [ecx + 0xbc], xmm2
addss xmm2, xmm0
movss dword [ecx + 0xc0], xmm3
addss xmm3, xmm1
movss dword [ecx + 0xc4], xmm2
movss dword [ecx + 0xc8], xmm3
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jne 0x100497d4
mov al, byte [ecx + 0x1e3]
mov byte [ecx + 0x1e4], al
mov byte [ecx + 0x1e3], 0
mov eax, dword [ecx + 0x150]
xorps xmm1, xmm1
movss xmm0, dword [eax + 0x84]
comiss xmm0, xmm1
seta al
or byte [ecx + 0x1e3], al
jmp 0x1004981d
lea eax, [edi + 0xcc]
mov ecx, dword [ebp - 0x30]
mov edi, eax
lea esi, [ebp - 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ecx + 0xbc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ecx + 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp + 0xc]
call fcn.1000f59e
cmp dword [ebp - 0x10], 0
pop ecx
jle 0x10049835
push dword [ebp - 0x2c]
call fcn.1000f59e
pop ecx
mov ecx, dword [ebp - 0x30]
xorps xmm1, xmm1
movss xmm4, dword [0x100bbe20]
push 1
mov edx, dword [ecx + 0x150]
lea edi, [ecx + 0x12c]
mov dword [ebp - 0x10], edx
mov eax, dword [edx + 0x134]
lea esi, [edx + 0x210]
mov dword [ecx + 0x84], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov al, byte [edx + 0xaf]
lea esi, [edx + 0x1f0]
mov byte [ecx + 0x1e6], al
mov eax, dword [ebp - 0x28]
lea edi, [eax + 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x34]
lea esi, [edx + 0x200]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x18]
mov eax, dword [edi + 0x138]
mov dword [esi + 0x5c], eax
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ecx
mov eax, dword [edx + 0x118]
mov ecx, dword [edx + 0x11c]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ecx
mov eax, dword [edx + 0x108]
mov ecx, dword [edx + 0x10c]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
mov eax, dword [edi + 0x1a0]
mov dword [esi + 0x60], eax
mov eax, dword [edi + 0x1a8]
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
movups xmmword [edx + 0x118], xmm1
mov edx, eax
shr eax, 0xa
and al, 1
test ecx, 0x200000
movzx eax, al
pop ecx
cmovne eax, ecx
xor ecx, ecx
test edx, 0x400000
movzx eax, al
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, edx
mov ecx, eax
xor edx, edx
shr ecx, 0x17
inc edx
not cl
and cl, dl
and eax, 0x200
je 0x10049935
movaps xmm5, xmm4
jmp 0x10049938
xorps xmm5, xmm5
test cl, cl
je 0x10049a46
test eax, eax
jne 0x10049a46
mov edx, dword [ebp - 0x24]
movss xmm2, dword [edx + 0x37fc]
xorps xmm3, xmm3
test dword [ebp - 0x14], 0x400
movaps xmm0, xmm2
mov ecx, dword [ebp - 0x30]
addss xmm0, xmm5
movss dword [ecx + 0x9c], xmm2
movss dword [ecx + 0x98], xmm0
movss dword [ecx + 0x90], xmm3
mov eax, dword [edx + 0x3800]
mov dword [ecx + 0x94], eax
jne 0x10049990
xorps xmm4, xmm4
cmp byte [ebp - 0x1c], 0
je 0x1004999e
movss xmm1, dword [edx + 0x37fc]
or dword [ecx + 0x48], 0xffffffff
addss xmm1, xmm4
or dword [ecx + 0x44], 0xffffffff
xor eax, eax
and dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x10]
mov word [ecx + 0x66], ax
lea eax, [ecx + 0xdc]
subss xmm1, xmm3
lea esi, [edx + 0x210]
movss dword [ecx + 0x8c], xmm1
add ecx, 0xec
cmp edx, edi
mov edi, ecx
cmove esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm1, dword [eax]
movss xmm0, dword [ecx + 4]
maxss xmm0, dword [eax + 4]
maxss xmm1, dword [ecx]
mov esi, dword [ebp - 0x30]
movss dword [ecx + 4], xmm0
movss dword [ecx], xmm1
movss xmm1, dword [ecx + 8]
movss xmm0, dword [ecx + 0xc]
minss xmm1, dword [eax + 8]
minss xmm0, dword [eax + 0xc]
lea eax, [esi + 0x12c]
push eax
movss dword [ecx + 8], xmm1
movss dword [ecx + 0xc], xmm0
call fcn.1004e2df
test dword [ebp - 0x14], 0x20000
mov eax, dword [ebp - 0x10]
je 0x10049a6e
movss xmm0, dword [eax + 0x1fc]
minss xmm0, dword [esi + 0xf8]
jmp 0x10049a76
mov edx, dword [ebp - 0x24]
xorps xmm2, xmm2
movss dword [ebp - 0x2c], xmm2
test cl, cl
je 0x10049953
test eax, eax
je 0x10049953
movss xmm3, dword [edx + 0x37fc]
jmp 0x10049956
movss xmm0, dword [eax + 0x21c]
and dword [esi + 0x5c], 0
xor eax, eax
mov dword [esi + 0x1c6], eax
mov dword [esi + 0x1ca], eax
inc eax
push ecx
movss dword [esi + 0xf8], xmm0
movss xmm0, dword [esi + 0xe0]
mov byte [esi + 0x1e1], al
xor eax, eax
mov dword [esp], 0x3f800000
push 0x2b
movss dword [esi + 0x54], xmm0
movss dword [esi + 0x50], xmm0
mov word [esi + 0x1aa], ax
call fcn.10007cd0
add esp, 4
mov dword [esi + 0x74], eax
mov dword [esp], 0x3f800000
push 0x2c
call fcn.10007cd0
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
mov dword [esi + 0x78], eax
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
mov dword [edi + 0x49e4], esi
mov dword [eax + 0x194], edx
cmp ecx, eax
je 0x10049afc
mov dword [ecx + 0x194], edx
test byte [ebp - 0x38], 2
je 0x10049b11
test byte [ebp - 0x14], 2
jne 0x10049b11
xor eax, eax
inc eax
mov byte [esi + 0x1e0], al
lea ecx, [edi + 0x4a18]
cmp edx, dword [ecx]
jl 0x10049b32
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0xbf800000
push eax
lea eax, [edx + 1]
push eax
call fcn.1003f8ca
mov edx, dword [ebp - 0x34]
movsd xmm0, qword [edi + 0x3dd8]
mov eax, dword [edi + 0x4a20]
cvtpd2ps xmm0, xmm0
push 0x70
pop ecx
movss dword [eax + edx*4], xmm0
movsd xmm0, qword [edi + 0x3dd8]
mov eax, dword [ebp - 0x28]
cvtpd2ps xmm0, xmm0
movss dword [eax + 4], xmm0
xor eax, eax
mov byte [esi + 0x1e5], al
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x10]
cdq
idiv ecx
mov ecx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x10049b97
cmp ecx, eax
je 0x10049b97
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x38], ecx
mov ecx, dword [esi + 8]
and dword [esi + 8], 0
mov dword [ebp - 0x1c], ecx
cmp dword [esi + 8], 0
jne 0x10049bb5
push eax
push esi
call fcn.10049d57
xor eax, eax
inc eax
pop ecx
pop ecx
mov byte [esi + 0x1dc], al
mov byte [esi + 0x1d8], al
cmp byte [esi + 0x1df], 0
je 0x10049bc5
push esi
call fcn.1004d229
pop ecx
cmp byte [esi + 0x1d8], 0
je 0x10049cb4
or ecx, 0xffffffff
xor eax, eax
inc eax
mov dword [esi + 0x38], ecx
mov byte [esi + 0x1d9], al
xor eax, eax
mov word [esi + 0x4e], cx
mov word [esi + 0x1c4], cx
mov word [esi + 0x1b4], cx
mov word [esi + 0x1b2], cx
mov word [esi + 0x1b8], cx
mov word [esi + 0x1b0], cx
mov word [esi + 0x1ae], cx
mov word [esi + 0x1ac], cx
mov dword [ebp - 0x18], eax
cmp dword [ebp + 0x10], eax
jle 0x10049cb4
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov edx, dword [esi + 0x10]
mov esi, dword [ebp - 0x38]
add edx, ecx
mov dword [ebp - 0x28], edx
test esi, esi
je 0x10049c48
cmp eax, dword [ebp - 0x2c]
jge 0x10049c48
add esi, ecx
mov edi, edx
push 0x1c
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x10049c85
movss xmm0, dword [edx + 0x14]
lea ecx, [ebp - 0xdc]
movss dword [ebp - 0x14], xmm0
call fcn.1004e1a0
mov edx, dword [ebp - 0x28]
mov esi, eax
movss xmm0, dword [ebp - 0x14]
xor eax, eax
inc eax
mov edi, edx
push 0x1c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [edx + 0x69], al
mov byte [edx + 0x64], al
mov byte [edx + 0x63], al
mov byte [edx + 0x62], al
mov eax, dword [ebp - 0x18]
movss dword [edx + 0x14], xmm0
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x18]
movzx ecx, ax
mov eax, dword [esi + 0x18]
mov word [eax + edi*2], cx
mov eax, edi
mov word [edx + 0x52], cx
inc eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x70
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], ecx
cmp eax, dword [ebp + 0x10]
jl 0x10049c29
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10049cc2
push eax
call fcn.1000aa3a
pop ecx
cmp byte [esi + 0x1dc], 0
je 0x10049cd2
push esi
call fcn.1004cec4
pop ecx
movss xmm0, dword [esi + 0xb8]
xorps xmm1, xmm1
movss xmm2, dword [edi + 0x3bd0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10049d21
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x10049d21
mov ecx, dword [ebp + 0x10]
movaps xmm1, xmm2
divss xmm1, xmm0
test ecx, ecx
jle 0x10049d21
xor edx, edx
mov eax, dword [esi + 0x10]
movaps xmm0, xmm1
lea edx, [edx + 0x70]
mulss xmm0, dword [eax + edx - 0x60]
movss dword [eax + edx - 0x60], xmm0
sub ecx, 1
jne 0x10049d07
mov eax, dword [ebp - 0x10]
xor ecx, ecx
inc ecx
movss dword [esi + 0xb8], xmm2
mov byte [eax + 0xaf], cl
lea ecx, [esi + 0x154]
cmp dword [ecx], 0
jle 0x10049d47
push 0
call fcn.1001ffc2
push esi
call fcn.10049e47
xor eax, eax
inc eax
pop ecx
call fcn.10090b37
ret