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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
push esi
push edi
mov edi, dword [0x44f978]
mov esi, ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x3c], edi
mov eax, dword [edi + 0x1a50]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x199c]
mov dword [edi + 0x1a50], 0
mov byte [eax + 0x7c], 1
mov eax, dword [edi + 0x199c]
mov dword [esp + 0x44], eax
cmp byte [eax + 0x7f], 0
jne 0x425694
mov ecx, dword [eax + 0x1c4]
xor edx, edx
mov eax, dword [eax + 0x1cc]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.00402dc0
add esp, 4
mov dword [esp + 0x40], eax
cmp dword [edi + 0x19bc], eax
jne 0x4250d2
mov dword [edi + 0x19c4], eax
cmp dword [edi + 0x19c0], eax
jne 0x4250e1
mov byte [edi + 0x19d0], 1
movss xmm0, dword [edi + 0x1548]
mov ecx, esi
addss xmm0, xmm0
addss xmm0, dword [edi + 0x18bc]
movss dword [esp + 0x48], xmm0
cmp esi, 0xffffffff
jae 0x425118
mov dl, byte [ecx]
test dl, dl
je 0x425118
cmp dl, 0x23
jne 0x425112
cmp byte [ecx + 1], dl
je 0x425118
inc ecx
cmp ecx, 0xffffffff
jb 0x425102
movss xmm6, dword [edi + 0x18bc]
xorps xmm2, xmm2
movss xmm0, dword [0x44ad7c]
cmp esi, ecx
jne 0x425134
xorps xmm7, xmm7
jmp 0x425177
push ecx
push ecx
push esi
push ecx
mov ecx, dword [edi + 0x18b8]
lea eax, [esp + 0x60]
mov dword [esp], 0xbf800000
movaps xmm3, xmm0
push eax
movaps xmm2, xmm6
call fcn.00421120
movss xmm0, dword [esp + 0x50]
xorps xmm2, xmm2
addss xmm0, dword [0x44ac50]
movss xmm6, dword [esp + 0x54]
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov esi, dword [edi + 0x199c]
movss dword [esp + 0x64], xmm7
movss xmm3, dword [esi + 0x170]
comiss xmm2, xmm3
jbe 0x425201
movss xmm4, dword [esi + 0xc8]
movss xmm1, dword [esi + 0x218]
mov ecx, dword [esi + 0x1c0]
subss xmm4, dword [esi + 0xc]
subss xmm1, dword [esi + 0xc]
test ecx, ecx
je 0x4251ed
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [esi + 0x1c0]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
subss xmm1, dword [esi + 0x3c]
subss xmm1, xmm4
addss xmm1, xmm3
movss xmm3, dword [0x44ac54]
maxss xmm3, xmm1
comiss xmm7, xmm2
mov eax, dword [esp + 0x44]
movss xmm4, dword [eax + 0xc8]
cvttss2si esi, xmm3
movss xmm3, dword [edi + 0x1548]
movaps xmm1, xmm4
movss xmm5, dword [eax + 0xcc]
movss dword [esp + 0x24], xmm4
movss dword [esp + 0x28], xmm5
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movaps xmm0, xmm3
addss xmm0, xmm3
movss dword [esp + 0x2c], xmm1
addss xmm0, xmm6
addss xmm0, xmm5
movss dword [esp + 0x30], xmm0
jbe 0x425268
movaps xmm3, xmm7
addss xmm3, dword [edi + 0x155c]
jmp 0x42526b
xorps xmm3, xmm3
addss xmm1, xmm3
movss dword [esp + 0x10], xmm4
addss xmm0, xmm2
movss dword [esp + 0x14], xmm5
lea ecx, [esp + 0x50]
movss dword [esp + 0x18], xmm1
subss xmm1, xmm4
movss dword [esp + 0x1c], xmm0
subss xmm0, xmm5
movss dword [esp + 0x50], xmm1
movss xmm1, dword [edi + 0x1548]
movss dword [esp + 0x54], xmm0
call fcn.00404fc0
mov edi, dword [esp + 0x40]
lea eax, [esp + 0x24]
push eax
mov edx, edi
lea ecx, [esp + 0x14]
call fcn.004050d0
add esp, 4
test al, al
je 0x425694
push 0
lea eax, [esp + 0x12]
mov edx, edi
push eax
lea eax, [esp + 0x17]
push eax
lea ecx, [esp + 0x30]
call fcn.00422dc0
mov byte [esp + 0x1a], al
add esp, 0xc
mov eax, dword [0x44f978]
mov ecx, dword [eax + 0x1a34]
cmp dword [eax + 0x1a28], ecx
jle 0x425313
lea edx, [ecx + ecx*8]
mov byte [esp + 0xd], 1
mov ecx, dword [eax + 0x1a30]
cmp dword [ecx + edx*4], edi
je 0x425318
mov byte [esp + 0xd], 0
movss xmm0, dword [esp + 0x30]
xor ecx, ecx
movss xmm1, dword [esp + 0x24]
movss xmm2, dword [esp + 0x2c]
subss xmm2, dword [esp + 0x48]
cmp byte [esp + 0xf], cl
movss dword [esp + 0x50], xmm0
subss xmm0, dword [0x44abb8]
movss dword [esp + 0x6c], xmm1
setne cl
movss dword [esp + 0x78], xmm1
add ecx, 7
movss xmm1, dword [esp + 0x28]
movss dword [esp + 0x7c], xmm1
movss xmm1, dword [0x44ac54]
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x80], xmm2
movss dword [esp + 0x84], xmm0
call fcn.00403580
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x24]
push 1
mov edi, eax
call fcn.00404320
movss xmm0, dword [esp + 0x38]
add esp, 4
mov eax, dword [esp + 0x3c]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x50]
push 5
push ecx
mov ecx, dword [esp + 0x4c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [eax + 0x154c]
lea eax, [esp + 0x18]
movss dword [esp], xmm0
mov ecx, dword [ecx + 0x278]
push edi
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0041e470
cmp byte [esp + 0xd], 0
jne 0x4253f4
cmp byte [esp + 0xf], 0
mov ecx, 0x15
je 0x4253f9
mov ecx, 0x16
movss xmm0, dword [esp + 0x34]
mov eax, 0xa
mov edi, dword [esp + 0x3c]
movd xmm1, esi
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x28]
lea edx, [eax + 5]
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x48]
comiss xmm0, xmm1
movss xmm0, dword [edi + 0x154c]
movss xmm1, dword [0x44ac54]
cmovae eax, edx
push eax
push ecx
movss dword [esp], xmm0
call fcn.00403580
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x278]
call fcn.0041e470
mov edx, dword [0x44f978]
xor ecx, ecx
movss xmm1, dword [esp + 0x34]
movss xmm6, dword [edi + 0x1548]
addss xmm1, xmm6
movss xmm0, dword [edx + 0x18bc]
addss xmm6, dword [esp + 0x28]
movaps xmm5, xmm0
mulss xmm0, dword [0x44ac20]
mulss xmm5, dword [0x44ac18]
addss xmm1, xmm0
addss xmm6, xmm0
movaps xmm3, xmm5
movaps xmm4, xmm5
mulss xmm3, dword [0x44abb8]
movaps xmm2, xmm5
mulss xmm4, dword [0x44ac3c]
movaps xmm0, xmm5
mulss xmm2, dword [0x44ad94]
addss xmm3, xmm1
mulss xmm0, dword [0x44ac48]
addss xmm4, xmm6
mulss xmm5, dword [0x44ad90]
addss xmm2, xmm1
addss xmm0, xmm1
movss dword [esp + 0x34], xmm3
movss xmm1, dword [0x44ac54]
addss xmm5, xmm6
movss dword [esp + 0x38], xmm4
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x14], xmm5
movss dword [esp + 0x4c], xmm5
call fcn.00403580
mov ecx, dword [edx + 0x199c]
push eax
lea eax, [esp + 0x14]
push eax
mov ecx, dword [ecx + 0x278]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0041e850
push dword [esp + 0x30]
movss xmm0, dword [edi + 0x154c]
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.00403d90
mov edx, dword [esp + 0x70]
add esp, 0x10
movss xmm1, dword [esp + 0x28]
test edx, edx
je 0x425631
movss xmm0, dword [esp + 0x6c]
mov ecx, edx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x48], ecx
addss xmm0, dword [edi + 0x1544]
movss dword [esp + 0x34], xmm0
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x1548]
movss dword [esp + 0x38], xmm0
cmp edx, 0xffffffff
jae 0x4255d3
mov dl, byte [ecx]
test dl, dl
je 0x4255cb
cmp dl, 0x23
jne 0x4255c5
cmp byte [ecx + 1], dl
je 0x4255cb
inc ecx
cmp ecx, 0xffffffff
jb 0x4255b5
mov edx, dword [esp + 0x60]
mov dword [esp + 0x48], ecx
mov eax, ecx
sub eax, edx
je 0x425631
mov edi, dword [0x44f978]
lea eax, [esp + 0x10]
push 0
push eax
push 0
push ecx
mov ecx, dword [edi + 0x199c]
lea eax, [esp + 0x90]
push edx
push eax
lea edx, [esp + 0x4c]
mov ecx, dword [ecx + 0x278]
call fcn.004038a0
add esp, 0x18
cmp byte [edi + 0x2d0c], 0
je 0x425627
push dword [esp + 0x48]
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x38]
call fcn.00412ef0
add esp, 4
mov edi, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x28]
movss xmm0, dword [esp + 0x64]
comiss xmm0, dword [0x44abb8]
jbe 0x42567a
addss xmm1, dword [edi + 0x1548]
movss xmm0, dword [esp + 0x2c]
xor edx, edx
addss xmm0, dword [edi + 0x155c]
mov ecx, dword [esp + 0x70]
movss dword [esp + 0x68], xmm1
push dword [esp + 0x68]
movss dword [esp + 0x68], xmm0
push dword [esp + 0x68]
push 1
call fcn.00403740
add esp, 0xc
cmp byte [esp + 0xe], 0
mov eax, dword [esp + 0x40]
jne 0x42569c
cmp dword [edi + 0x1ab4], eax
je 0x42569c
cmp byte [esp + 0xd], 0
jne 0x4256bd
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0xd], 0
jne 0x4256bd
mov ecx, dword [esp + 0x44]
cmp dword [ecx + 0x130], 0
jne 0x4256b6
mov dword [ecx + 0x304], eax
mov ecx, eax
call fcn.0040df10
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4256eb
movss xmm0, dword [edi + 0x1a80]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mov dword [edi + 0x1a50], eax
maxss xmm0, xmm1
movss dword [edi + 0x1a80], xmm0
jmp 0x425775
mov eax, dword [0x44f978]
movss xmm0, dword [eax + 0x1558]
movss xmm1, dword [eax + 0x1518]
movaps xmm2, xmm0
addss xmm2, dword [eax + 0x18bc]
addss xmm1, xmm1
mov dword [eax + 0x1a50], 1
mulss xmm2, dword [0x44acf8]
subss xmm2, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm2, xmm1
movss dword [esp + 0x10], xmm0
movss dword [eax + 0x1a80], xmm0
xorps xmm0, xmm0
movss dword [eax + 0x1a84], xmm0
movss xmm0, dword [0x44ad7c]
movss dword [eax + 0x1a88], xmm0
movss dword [eax + 0x1a8c], xmm2
mov dword [eax + 0x1a90], 0
mov dword [eax + 0x1a94], 0
push dword [edi + 0x1a34]
lea eax, [esp + 0x8c]
push str.Combo__02d
push 0x10
push eax
call fcn.00402d80
add esp, 0x10
lea ecx, [esp + 0x88]
call fcn.004083d0
mov esi, eax
mov dword [esp + 0x58], esi
test esi, esi
je 0x4258fa
cmp byte [esi + 0x7b], 0
je 0x4258fa
mov edx, esi
lea ecx, [esp + 0x10]
call fcn.004089d0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x68]
call fcn.00408a90
add esp, 4
lea ecx, [esp + 0x70]
mov edx, esi
push dword [eax + 4]
push dword [eax]
call fcn.00408800
mov esi, dword [0x44f978]
xorps xmm2, xmm2
movss xmm7, dword [0x44aef0]
add esp, 8
movss xmm4, dword [esi + 0x15a8]
movss xmm6, dword [esi + 0x14]
movaps xmm0, xmm4
movss xmm3, dword [esi + 0x15a4]
addss xmm0, xmm4
movss xmm5, dword [esi + 0x10]
movaps xmm1, xmm6
subss xmm1, xmm2
comiss xmm1, xmm0
jbe 0x425828
xorps xmm4, xmm7
jmp 0x42582b
xorps xmm4, xmm4
movaps xmm1, xmm5
movaps xmm0, xmm3
subss xmm1, xmm2
addss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x425843
xorps xmm3, xmm7
jmp 0x425846
xorps xmm3, xmm3
xorps xmm0, xmm0
lea eax, [esp + 0x24]
push 1
push eax
subss xmm0, xmm3
lea eax, [esp + 0x80]
push eax
mov eax, dword [esp + 0x64]
subss xmm2, xmm4
add eax, 0xa0
addss xmm5, xmm3
movss dword [esp + 0x84], xmm0
addss xmm6, xmm4
movss xmm0, dword [esp + 0x78]
lea edx, [esp + 0x1c]
push eax
movss dword [esp + 0x20], xmm0
lea eax, [esp + 0x80]
movss xmm0, dword [esp + 0x60]
lea ecx, [esp + 0x68]
push eax
movss dword [esp + 0x90], xmm2
movss dword [esp + 0x94], xmm5
movss dword [esp + 0x98], xmm6
movss dword [esp + 0x28], xmm0
call fcn.0040e5d0
mov eax, dword [esp + 0x6c]
add esp, 0x14
mov ecx, dword [esp + 0x5c]
mov dword [esi + 0x1a5c], eax
mov dword [esi + 0x1a60], ecx
mov dword [esi + 0x1a64], 0
mov dword [esi + 0x1a68], 0
mov dword [esi + 0x1a40], 1
jmp 0x425900
mov esi, dword [0x44f978]
movss xmm0, dword [edi + 0x1544]
lea eax, [esp + 0x10]
movss xmm1, dword [esi + 0x1514]
lea ecx, [esi + 0x1a10]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [edi + 0x1518]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esi + 0x1518]
push eax
mov dword [esp + 0x14], 1
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x1c], xmm0
call fcn.00413f10
movss xmm0, dword [esp + 0x58]
lea ecx, [esp + 0x88]
movss dword [esi + 0x1514], xmm0
xor edx, edx
movss xmm0, dword [esp + 0x70]
push 0x4000143
movss dword [esi + 0x1518], xmm0
call fcn.004099a0
add esp, 4
mov byte [esp + 0xe], al
mov ecx, 1
call fcn.0040d530
cmp byte [esp + 0xe], 0
jne 0x4259a4
call fcn.0040e4e0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret