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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x102100f8]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
push edi
mov edi, dword [0x102c7274]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], edi
mov eax, dword [edi + 0x1ac0]
mov ecx, eax
and eax, 0xffffffef
shr ecx, 4
mov dword [edi + 0x1ac0], eax
and ecx, 0xffffff01
mov eax, dword [edi + 0x1a3c]
mov dword [esp + 0x78], ecx
mov byte [eax + 0x84], 1
mov eax, dword [edi + 0x1a3c]
mov dword [esp + 0x58], eax
cmp byte [eax + 0x87], 0
jne 0x100a3b10
push ecx
push 0x101e6eab
mov ecx, eax
call fcn.10070d30
mov esi, dword [0x102c7274]
mov ecx, 0x101e6eab
mov dword [esp + 0x28], eax
mov eax, ecx
cmp eax, 0xffffffff
jae 0x100a3665
nop
mov al, byte [ecx]
test al, al
je 0x100a3665
cmp al, 0x23
jne 0x100a365f
cmp byte [ecx + 1], al
je 0x100a3665
inc ecx
cmp ecx, 0xffffffff
jb 0x100a3650
movss xmm4, dword [esi + 0x18f4]
xorps xmm2, xmm2
cmp ecx, 0x101e6eab
jne 0x100a3680
movss dword [esp + 0x54], xmm2
jmp 0x100a36d2
movss xmm3, dword [0x101f8e68]
lea eax, [esp + 0x10]
push ecx
push ecx
push 0x101e6eab
push ecx
mov ecx, dword [esi + 0x18f0]
movaps xmm2, xmm4
mov dword [esp], 0xbf800000
push eax
call fcn.1009b3c0
movss xmm0, dword [esp + 0x10]
xorps xmm2, xmm2
addss xmm0, dword [0x101f8b48]
movss xmm4, dword [esp + 0x14]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x54], xmm0
test byte [esi + 0x1b20], 1
mov ecx, dword [esi + 0x1a3c]
je 0x100a36eb
movss xmm0, dword [esi + 0x1b24]
jmp 0x100a36f3
movss xmm0, dword [ecx + 0x1ac]
comiss xmm2, xmm0
jbe 0x100a372b
mov eax, ecx
cmp dword [eax + 0x194], 0
movss xmm1, dword [eax + 0x244]
je 0x100a3713
movss xmm1, dword [eax + 0x214]
subss xmm1, dword [ecx + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x101f8b50]
maxss xmm0, xmm1
movss xmm7, dword [edi + 0x1554]
mov eax, dword [esp + 0x58]
movaps xmm1, xmm7
cvttss2si esi, xmm0
movss xmm5, dword [eax + 0xd0]
addss xmm1, xmm7
movss xmm6, dword [eax + 0xd4]
movaps xmm3, xmm5
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x30], xmm6
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm1, xmm4
addss xmm3, xmm0
movss xmm0, dword [esp + 0x54]
comiss xmm0, xmm2
addss xmm1, xmm6
movss dword [esp + 0x34], xmm3
jbe 0x100a378f
addss xmm0, dword [edi + 0x1568]
jmp 0x100a3792
xorps xmm0, xmm0
addss xmm3, xmm0
movss dword [esp + 0x40], xmm5
movaps xmm0, xmm1
movss dword [esp + 0x44], xmm6
addss xmm1, dword [0x101f8c08]
addss xmm0, xmm2
lea ecx, [esp + 0x10]
movss dword [esp + 0x48], xmm3
subss xmm3, xmm5
movss dword [esp + 0x38], xmm1
movaps xmm1, xmm7
movss dword [esp + 0x4c], xmm0
subss xmm0, xmm6
movss dword [esp + 0x10], xmm3
movss dword [esp + 0x14], xmm0
call fcn.1007d440
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x2c]
push eax
mov edx, edi
lea ecx, [esp + 0x44]
call fcn.1007d5a0
add esp, 4
test al, al
je 0x100a3b10
push 0
lea eax, [esp + 0x13]
mov edx, edi
push eax
lea eax, [esp + 0x23]
push eax
lea ecx, [esp + 0x38]
call fcn.100a0fc0
mov byte [esp + 0x1b], al
add esp, 0xc
mov eax, dword [0x102c7274]
mov dword [esp + 0x1c], eax
mov edi, dword [eax + 0x1b88]
cmp dword [eax + 0x1b7c], edi
jle 0x100a386f
test edi, edi
jns 0x100a3856
push 0x20000
push str.ERROR
push str._i___0__i___Size_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1b84]
lea ecx, [edi + edi*8]
mov edx, dword [esp + 0x28]
cmp dword [eax + ecx*4], edx
jne 0x100a3873
mov byte [esp + 0xe], 1
jmp 0x100a3878
mov edx, dword [esp + 0x28]
mov byte [esp + 0xe], 0
movss xmm1, dword [0x101f8b50]
mov ecx, 7
call fcn.1006ede0
movss xmm0, dword [esp + 0x34]
lea ecx, [esp + 0x2c]
subss xmm0, dword [0x101f8a8c]
movss xmm1, dword [esp + 0x2c]
mov edi, eax
push 1
maxss xmm1, xmm0
movss dword [esp + 0x20], xmm1
call fcn.1006fe40
movss xmm0, dword [esp + 0x20]
lea eax, [esp + 0x14]
add esp, 4
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x14], xmm0
push 0xf
push ecx
mov ecx, dword [esp + 0x60]
mov dword [esp], 0x40400000
push edi
push eax
mov ecx, dword [ecx + 0x280]
lea eax, [esp + 0x3c]
push eax
call fcn.10093be0
push dword [esp + 0x38]
mov edi, dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x38]
movss xmm0, dword [edi + 0x1558]
push dword [esp + 0x38]
call fcn.1006fc90
mov edx, dword [esp + 0x34]
add esp, 0x10
test edx, edx
je 0x100a3980
mov edi, dword [0x102c7274]
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0x68], 0
movups xmm0, xmmword [edi + 0x15e0]
lea ecx, [edi + 0x1b34]
movups xmmword [esp + 0x6c], xmm0
call fcn.10085d00
cmp byte [esp + 0xe], 0
mov edx, dword [esp + 0x24]
jne 0x100a396e
cmp byte [esp + 0x1b], 0
jne 0x100a3965
movaps xmm0, xmmword [0x101f92d0]
jmp 0x100a3975
movaps xmm0, xmmword [0x101f9330]
jmp 0x100a3975
movaps xmm0, xmmword [0x101f93a0]
movups xmmword [edi + 0x15e0], xmm0
mov edi, dword [esp + 0x20]
movss xmm1, dword [edi + 0x18f4]
mov ecx, edx
mulss xmm1, dword [0x101f8b18]
mov dword [esp + 0x5c], 0
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x2c]
mov dword [esp + 0x60], 0
mov dword [esp + 0x1c], edx
subss xmm1, dword [0x101f8bc0]
addss xmm0, dword [edi + 0x1550]
addss xmm1, dword [esp + 0x30]
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x1554]
movss dword [esp + 0x14], xmm0
cmp edx, 0xffffffff
jae 0x100a3a19
nop dword [eax]
mov al, byte [ecx]
test al, al
je 0x100a3a15
cmp al, 0x23
jne 0x100a3a0f
cmp byte [ecx + 1], al
je 0x100a3a15
inc ecx
cmp ecx, 0xffffffff
jb 0x100a3a00
mov dword [esp + 0x1c], ecx
mov eax, ecx
sub eax, edx
je 0x100a3a74
mov edi, dword [0x102c7274]
lea eax, [esp + 0x5c]
push 0
push eax
push 0
push ecx
mov ecx, dword [edi + 0x1a3c]
lea eax, [esp + 0x50]
push edx
push eax
lea edx, [esp + 0x28]
mov ecx, dword [ecx + 0x280]
call fcn.1006f6b0
add esp, 0x18
cmp byte [edi + 0x2e78], 0
je 0x100a3a6a
push dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x14]
call fcn.100835c0
add esp, 4
mov edi, dword [esp + 0x20]
movss xmm1, dword [esp + 0x3c]
movss xmm0, dword [edi + 0x18f4]
mov ecx, 1
mulss xmm0, dword [0x101f8b18]
subss xmm0, dword [0x101f8bc0]
subss xmm1, xmm0
movss dword [esp + 0x3c], xmm1
movss dword [esp + 0x30], xmm1
call fcn.1006f010
movss xmm0, dword [esp + 0x54]
comiss xmm0, dword [0x101f8a8c]
jbe 0x100a3af6
movss xmm0, dword [esp + 0x34]
xor edx, edx
addss xmm0, dword [edi + 0x1568]
push 1
mov ecx, 0x101e6eab
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [edi + 0x1554]
movss dword [esp + 0x18], xmm0
push dword [esp + 0x18]
push dword [esp + 0x18]
call fcn.1006f3a0
add esp, 0xc
cmp byte [esp + 0xf], 0
mov eax, dword [esp + 0x28]
jne 0x100a3b26
cmp dword [edi + 0x1ba0], eax
je 0x100a3b26
cmp byte [esp + 0xe], 0
jne 0x100a3b49
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.101559ea
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0xe], 0
jne 0x100a3b49
mov ecx, dword [esp + 0x58]
cmp dword [ecx + 0x13c], 0
jne 0x100a3b40
mov dword [ecx + 0x324], eax
xor edx, edx
mov ecx, eax
call fcn.1007ea50
cmp byte [esp + 0x78], 0
je 0x100a3b74
movss xmm0, dword [edi + 0x1afc]
or dword [edi + 0x1ac0], 0x10
movd xmm1, esi
cvtdq2ps xmm1, xmm1
maxss xmm0, xmm1
movss dword [edi + 0x1afc], xmm0
jmp 0x100a3bf2
mov eax, dword [0x102c7274]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x7f7fffff
movss xmm0, dword [eax + 0x1564]
movss xmm1, dword [eax + 0x1520]
movaps xmm2, xmm0
addss xmm2, dword [eax + 0x18f4]
or dword [eax + 0x1ac0], 0x10
addss xmm1, xmm1
mov dword [eax + 0x1b0c], 0
mov dword [eax + 0x1b10], 0
mulss xmm2, dword [0x101f8c00]
subss xmm2, xmm0
addss xmm2, xmm1
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x4c], xmm2
movss dword [esp + 0x40], xmm1
movups xmm0, xmmword [esp + 0x40]
movups xmmword [eax + 0x1afc], xmm0
push dword [edi + 0x1b88]
lea eax, [esp + 0x80]
push str.Combo__02d
push 0x10
push eax
call fcn.1006e0e0
add esp, 0x10
lea ecx, [esp + 0x7c]
call fcn.10076720
mov esi, eax
test esi, esi
je 0x100a3d7c
cmp byte [esi + 0x83], 0
je 0x100a3d7c
mov edx, esi
lea ecx, [esp + 0x5c]
call fcn.10076e00
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x44]
call fcn.10076eb0
add esp, 4
lea ecx, [esp + 0x10]
mov edx, esi
push dword [esp + 0x44]
push dword [esp + 0x44]
call fcn.10076bd0
movss xmm6, dword [0x101f9450]
lea eax, [esi + 0x9c]
mov esi, dword [0x102c7274]
xorps xmm3, xmm3
add esp, 8
movss xmm4, dword [esi + 0x15c0]
movss xmm7, dword [esi + 0x14]
movaps xmm0, xmm4
movss xmm2, dword [esi + 0x15bc]
addss xmm0, xmm4
movss xmm5, dword [esi + 0x10]
movaps xmm1, xmm7
subss xmm1, xmm3
comiss xmm1, xmm0
jbe 0x100a3caa
xorps xmm4, xmm6
jmp 0x100a3cad
xorps xmm4, xmm4
movaps xmm1, xmm5
movaps xmm0, xmm2
subss xmm1, xmm3
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x100a3cc5
xorps xmm2, xmm6
jmp 0x100a3cc8
xorps xmm2, xmm2
xorps xmm0, xmm0
lea ecx, [esp + 0x2c]
subss xmm0, xmm2
push 1
push ecx
lea ecx, [esp + 0x6c]
push ecx
movss dword [esp + 0x70], xmm0
subss xmm3, xmm4
movss xmm0, dword [esp + 0x38]
addss xmm5, xmm2
addss xmm7, xmm4
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x44]
lea edx, [esp + 0x4c]
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x78], xmm3
push eax
lea ecx, [esp + 0x70]
movss dword [esp + 0x80], xmm5
movss dword [esp + 0x84], xmm7
movss dword [esp + 0x58], xmm0
call fcn.1007f320
movss xmm1, dword [esp + 0x74]
add esp, 0x14
addss xmm1, dword [0x101f8bf0]
movss xmm0, dword [esp + 0x5c]
or dword [esi + 0x1ac0], 1
movss dword [esi + 0x1ad0], xmm0
mov dword [esi + 0x1ad8], 0
movss dword [esi + 0x1ad4], xmm1
mov dword [esi + 0x1adc], 0
mov dword [esi + 0x1ac4], 1
push 0x4000147
xor edx, edx
lea ecx, [esp + 0x80]
call fcn.10078f30
add esp, 4
test al, al
jne 0x100a3dc8
call fcn.1007f270
push 0x20000
push str.ERROR
push 0x101ef3fc
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.101559ea
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x8c]
mov al, 1
pop edi
pop esi
xor ecx, esp
call fcn.101559ea
mov esp, ebp
pop ebp
ret