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

Disassembly:
sub esp, 0x78
push ebx
push ebp
push esi
push edi
mov edi, dword [0x100c6d88]
mov esi, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], esi
mov eax, dword [edi + 0x1a50]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x199c]
mov dword [edi + 0x1a50], 0
mov byte [eax + 0x7c], 1
mov ebp, dword [edi + 0x199c]
cmp byte [ebp + 0x7f], 0
jne 0x1003cebb
mov ecx, dword [ebp + 0x1c0]
xor edx, edx
mov eax, dword [ebp + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.1001a390
mov ebx, eax
add esp, 4
cmp dword [edi + 0x19bc], ebx
jne 0x1003ca11
mov dword [edi + 0x19c4], ebx
cmp dword [edi + 0x19c0], ebx
jne 0x1003ca20
mov byte [edi + 0x19d0], 1
movss xmm0, dword [edi + 0x1538]
mov eax, esi
movss xmm5, dword [edi + 0x18bc]
addss xmm0, xmm0
addss xmm0, xmm5
movss dword [esp + 0x24], xmm0
cmp esi, 0xffffffff
jae 0x1003ca5b
mov cl, byte [eax]
test cl, cl
je 0x1003ca5b
cmp cl, 0x23
jne 0x1003ca55
cmp byte [eax + 1], cl
je 0x1003ca5b
inc eax
cmp eax, 0xffffffff
jb 0x1003ca45
xorps xmm4, xmm4
cmp esi, eax
jne 0x1003ca67
xorps xmm6, xmm6
jmp 0x1003caaf
movss xmm3, dword [0x100b9bb8]
movaps xmm2, xmm5
push ecx
push eax
push esi
push ecx
mov ecx, dword [edi + 0x18b8]
lea eax, [esp + 0x2c]
mov dword [esp], 0xbf800000
push eax
call fcn.10038530
movss xmm0, dword [esp + 0x1c]
xorps xmm4, xmm4
addss xmm0, dword [0x100b9a54]
movss xmm5, dword [esp + 0x20]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [esp + 0x28], xmm6
call fcn.10024b80
comiss xmm6, xmm4
movss xmm3, dword [ebp + 0xc8]
movss xmm2, dword [edi + 0x1538]
movaps xmm1, xmm3
movss xmm7, dword [ebp + 0xcc]
addss xmm1, xmm0
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmm2
addss xmm0, xmm2
movss dword [esp + 0x58], xmm3
movss dword [esp + 0x5c], xmm7
movss dword [esp + 0x60], xmm1
addss xmm0, xmm5
addss xmm0, xmm7
movss dword [esp + 0x64], xmm0
jbe 0x1003cb18
movaps xmm2, xmm6
addss xmm2, dword [edi + 0x154c]
jmp 0x1003cb1b
xorps xmm2, xmm2
addss xmm1, xmm2
movss dword [esp + 0x48], xmm3
addss xmm0, xmm4
movss dword [esp + 0x4c], xmm7
lea ecx, [esp + 0x14]
movss dword [esp + 0x50], xmm1
subss xmm1, xmm3
movss dword [esp + 0x54], xmm0
subss xmm0, xmm7
movss dword [esp + 0x14], xmm1
movss xmm1, dword [edi + 0x1538]
movss dword [esp + 0x18], xmm0
call fcn.1001cb40
lea eax, [esp + 0x58]
mov edx, ebx
push eax
lea ecx, [esp + 0x4c]
call fcn.1001cc50
add esp, 4
test al, al
je 0x1003cebb
push 0
lea eax, [esp + 0x17]
mov edx, ebx
push eax
lea eax, [esp + 0x1a]
push eax
lea ecx, [esp + 0x64]
call fcn.1003a300
mov esi, dword [0x100c6d88]
add esp, 0xc
mov byte [esp + 0x13], al
mov ecx, dword [esi + 0x1a34]
cmp dword [esi + 0x1a28], ecx
jle 0x1003cbc0
lea edx, [ecx + ecx*8]
mov byte [esp + 0x11], 1
mov ecx, dword [esi + 0x1a30]
cmp dword [ecx + edx*4], ebx
je 0x1003cbc5
mov byte [esp + 0x11], 0
movss xmm0, dword [esp + 0x64]
xorps xmm1, xmm1
movss xmm2, dword [esp + 0x60]
subss xmm0, xmm1
movss xmm1, dword [esp + 0x58]
xor ecx, ecx
subss xmm2, dword [esp + 0x24]
cmp byte [esp + 0x12], cl
movss dword [esp + 0x68], xmm1
movss xmm1, dword [esp + 0x5c]
setne cl
movss dword [esp + 0x6c], xmm1
add ecx, 7
movss xmm1, dword [0x100b9a58]
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x74], xmm0
call fcn.1001afc0
push 1
mov edx, ebx
lea ecx, [esp + 0x5c]
mov esi, eax
call fcn.1001baa0
movss xmm0, dword [esp + 0x18]
lea eax, [esp + 0x44]
add esp, 4
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [edi + 0x153c]
push 5
push ecx
mov ecx, dword [ebp + 0x274]
movss dword [esp], xmm0
push esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.10035960
movss xmm0, dword [esp + 0x24]
mov eax, 0xa
comiss xmm0, dword [esp + 0x1c]
mov ecx, 0xf
movss xmm1, dword [edi + 0x153c]
cmovae eax, ecx
cmp byte [esp + 0x11], 0
jne 0x1003cca4
cmp byte [esp + 0x12], 0
mov ecx, 0x15
je 0x1003cca9
mov ecx, 0x16
movss xmm0, dword [esp + 0x14]
push eax
push ecx
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp], xmm1
movss xmm1, dword [0x100b9a58]
movss dword [esp + 0x4c], xmm0
call fcn.1001afc0
mov ecx, dword [ebp + 0x274]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10035960
mov edx, dword [0x100c6d88]
xor ecx, ecx
movss xmm2, dword [edi + 0x1538]
movaps xmm7, xmm2
addss xmm7, dword [esp + 0x14]
movss xmm0, dword [edx + 0x18bc]
addss xmm2, dword [esp + 0x5c]
movaps xmm6, xmm0
mulss xmm0, dword [0x100b9a18]
mulss xmm6, dword [0x100b9a10]
addss xmm7, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
movaps xmm1, xmm6
movaps xmm4, xmm6
mulss xmm1, dword [0x100b9a48]
movaps xmm3, xmm6
mulss xmm3, dword [0x100b9bd4]
movaps xmm5, xmm6
mulss xmm5, dword [0x100b9a38]
mulss xmm6, dword [0x100b9bd0]
mulss xmm4, xmm0
movaps xmm0, xmm7
addss xmm0, xmm1
movss dword [esp + 0x24], xmm2
movss xmm1, dword [0x100b9a58]
addss xmm2, xmm6
movss dword [esp + 0x40], xmm0
movaps xmm0, xmm7
addss xmm0, xmm3
movss dword [esp + 0x44], xmm2
addss xmm7, xmm4
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, xmm5
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x4c], xmm0
call fcn.1001afc0
mov ecx, dword [edx + 0x199c]
push eax
lea eax, [esp + 0x44]
push eax
mov ecx, dword [ecx + 0x274]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10035c30
push dword [esp + 0x64]
movss xmm0, dword [edi + 0x153c]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.1001b810
mov eax, dword [esp + 0x3c]
add esp, 0x10
test eax, eax
je 0x1003ce57
movss xmm0, dword [esp + 0x58]
lea ecx, [esp + 0x48]
addss xmm0, dword [edi + 0x1534]
push 0
push ecx
push 0
push 0
movss dword [esp + 0x50], xmm0
lea edx, [esp + 0x80]
movss xmm0, dword [esp + 0x6c]
lea ecx, [esp + 0x50]
addss xmm0, dword [edi + 0x1538]
push eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
movss dword [esp + 0x58], xmm0
call fcn.1001b660
add esp, 0x14
movss xmm1, dword [esp + 0x28]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1003cea5
movss xmm0, dword [esp + 0x60]
xor edx, edx
addss xmm0, dword [edi + 0x154c]
mov ecx, dword [esp + 0x34]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x5c]
addss xmm0, dword [edi + 0x1538]
movss dword [esp + 0x30], xmm0
push dword [esp + 0x30]
push dword [esp + 0x30]
push 1
call fcn.1001b250
add esp, 0xc
cmp byte [esp + 0x13], 0
jne 0x1003cec5
cmp dword [edi + 0x1ab4], ebx
je 0x1003cec5
cmp byte [esp + 0x11], 0
jne 0x1003cee2
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
cmp byte [esp + 0x11], 0
jne 0x1003cee2
cmp dword [ebp + 0x134], 0
jne 0x1003cedb
mov dword [ebp + 0x300], ebx
mov ecx, ebx
call fcn.10025830
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1003cf08
movss xmm0, dword [edi + 0x1a80]
maxss xmm0, dword [esp + 0x1c]
mov dword [edi + 0x1a50], eax
movss dword [edi + 0x1a80], xmm0
jmp 0x1003cf47
mov ecx, 8
mov dword [esp + 0x48], 0x7f7fffff
call fcn.1003c950
movss dword [esp + 0x4c], xmm0
lea edx, [esp + 0x48]
movss xmm0, dword [esp + 0x1c]
lea ecx, [esp + 0x40]
sub esp, 8
movss dword [esp + 0x48], xmm0
mov dword [esp + 0x4c], 0
call fcn.10024f40
add esp, 8
push dword [edi + 0x1a34]
lea eax, [esp + 0x7c]
push str.Combo__02d
push 0x10
push eax
call fcn.1001a350
add esp, 0x10
lea ecx, [esp + 0x78]
call fcn.100202a0
mov esi, eax
test esi, esi
je 0x1003d029
cmp byte [esi + 0x7b], 0
je 0x1003d029
mov edx, esi
lea ecx, [esp + 0x48]
call fcn.10020900
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x44]
call fcn.100209c0
add esp, 4
lea ecx, [esp + 0x38]
mov edx, esi
push dword [eax + 4]
push dword [eax]
call fcn.10020720
lea ecx, [esp + 0x70]
lea edx, [esi + 0xa0]
call fcn.10025e60
movss xmm0, dword [esp + 0x60]
lea eax, [esp + 0x60]
push 1
push eax
mov eax, ecx
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x74]
lea ecx, [esp + 0x50]
push eax
push edx
lea eax, [esp + 0x50]
movss dword [esp + 0x64], xmm0
push eax
lea edx, [esp + 0x64]
call fcn.10025f10
mov edx, dword [0x100c6d88]
add esp, 0x1c
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [edx + 0x1a5c], eax
mov dword [edx + 0x1a60], ecx
mov dword [edx + 0x1a64], 0
mov dword [edx + 0x1a68], 0
mov dword [edx + 0x1a40], 1
movss xmm0, dword [edi + 0x1534]
lea edx, [esp + 0x48]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [edi + 0x1508]
movss dword [esp + 0x4c], xmm0
call fcn.10024d10
push 0x4000143
xor edx, edx
lea ecx, [esp + 0x7c]
call fcn.100217d0
add esp, 4
mov ecx, 1
mov bl, al
call fcn.10024d70
test bl, bl
jne 0x1003d080
call fcn.10025d60
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x78
ret