Function at 0x1012d364
Capabilities:
Check for software breakpoints

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x70
push esi
push edi
mov edi, dword [0x101c0bb0]
mov esi, ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x2c], esi
mov eax, dword [edi + 0x1a6c]
mov byte [eax + 0x84], 1
mov eax, dword [edi + 0x1a6c]
mov dword [ebp - 0x20], eax
cmp byte [eax + 0x87], 0
jne 0x1012d7a3
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.100f1430
mov esi, eax
add esp, 4
mov dword [ebp - 0xc], esi
cmp dword [edi + 0x1aa4], esi
jne 0x1012d2ab
mov dword [edi + 0x1aa8], esi
cmp dword [edi + 0x1adc], esi
jne 0x1012d2ba
mov byte [edi + 0x1ae0], 1
mov edx, dword [ebp - 0x2c]
mov eax, edx
mov dword [ebp - 8], esi
cmp edx, 0xffffffff
jae 0x1012d2dd
mov cl, byte [eax]
test cl, cl
je 0x1012d2dd
cmp cl, 0x23
jne 0x1012d2d7
cmp byte [eax + 1], cl
je 0x1012d2dd
inc eax
cmp eax, 0xffffffff
jb 0x1012d2c7
cmp edx, eax
jne 0x1012d2eb
xorps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
jmp 0x1012d33d
movss xmm3, dword [0x101afe18]
movss xmm2, dword [edi + 0x1930]
push 0
push eax
push edx
push ecx
mov ecx, dword [edi + 0x192c]
lea eax, [ebp - 0x48]
mov dword [esp], 0xbf800000
push eax
call fcn.10104640
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [0x101afc28]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x4c], xmm0
movss xmm2, dword [edi + 0x1554]
lea ecx, [ebp - 0x48]
movss xmm1, dword [edi + 0x1554]
addss xmm2, xmm2
mov eax, dword [ebp - 0x20]
movaps xmm0, xmm1
addss xmm0, xmm1
addss xmm2, dword [edi + 0x1930]
movss xmm3, dword [eax + 0xd0]
addss xmm0, dword [0x101afcfc]
movss xmm4, dword [eax + 0xd4]
movss dword [ebp - 0x34], xmm3
addss xmm2, dword [0x101afcc0]
movss dword [ebp - 0x28], xmm4
addss xmm0, xmm4
movss dword [ebp - 0x60], xmm3
movss dword [ebp - 0x5c], xmm4
movss dword [ebp - 0x1c], xmm2
addss xmm2, dword [edi + 0x1568]
movss dword [ebp - 0x54], xmm0
subss xmm0, xmm4
addss xmm2, xmm3
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x58], xmm2
subss xmm2, xmm3
movss dword [ebp - 0x48], xmm2
call fcn.100e1660
push 0
mov edx, esi
lea ecx, [ebp - 0x60]
call fcn.100e1470
add esp, 4
test al, al
je 0x1012d7a3
movss xmm1, dword [ebp - 0x1c]
movss xmm2, dword [ebp - 0x34]
movaps xmm0, xmm1
addss xmm0, dword [0x101afcd4]
subss xmm1, dword [0x101afd00]
movss xmm4, dword [ebp - 0x28]
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101bf848]
addss xmm0, xmm2
movss dword [ebp - 0x70], xmm2
addss xmm1, xmm4
movss dword [ebp - 0x6c], xmm4
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101c6c44]
movaps xmm3, xmm0
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x64], xmm1
addss xmm3, xmm2
addss xmm1, xmm4
movss dword [ebp - 0x68], xmm0
mulss xmm3, dword [0x101afbec]
mulss xmm1, dword [0x101afbec]
movss dword [ebp - 0x1c], xmm3
movss dword [ebp - 0x4c], xmm1
cmp eax, dword [ecx + 4]
jg 0x1012d7ae
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101bf848]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101c6c78]
cmp eax, dword [ecx + 4]
jg 0x1012d7f2
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101bf848]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101c6c48]
cmp eax, dword [ecx + 4]
jg 0x1012d836
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101bf848]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101c6c64]
cmp eax, dword [ecx + 4]
jg 0x1012d87a
push 0
lea eax, [ebp - 2]
mov edx, esi
push eax
lea eax, [ebp - 1]
push eax
lea ecx, [ebp - 0x60]
call fcn.1012e520
add esp, 0xc
mov byte [ebp - 2], al
test al, al
je 0x1012d513
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
sete cl
mov byte [eax], cl
mov eax, dword [0x101c0bb0]
mov word [eax + 0x1ab4], 0x101
mov eax, dword [eax + 0x1a6c]
or dword [eax + 0x118], 4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101bf848]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101c6c94]
cmp eax, dword [ecx + 4]
jg 0x1012d8be
cmp byte [0x101c0c0c], 0
je 0x1012d569
mov esi, dword [0x101c6c70]
mov ecx, 0x101c6c70
push dword [esi + 4]
push 0x101c6c70
call fcn.1002b9e0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov esi, dword [ebp - 0xc]
mov dword [0x101c6c74], 0
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], esi
push eax
lea eax, [ebp - 0x5c]
mov ecx, 0x101c6c70
push eax
call fcn.1002f4e0
mov esi, dword [ebp - 0x54]
mov ecx, dword [0x101c6c70]
cmp byte [esi + 0xd], 0
jne 0x1012d595
mov eax, dword [ebp - 0xc]
cmp eax, dword [esi + 0x10]
jge 0x1012d597
mov esi, ecx
cmp esi, ecx
jne 0x1012d5e7
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0xc0d00000
push eax
lea eax, [ebp - 8]
mov ecx, 0x101c6c70
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10026170
mov eax, dword [ebp - 8]
mov ecx, 0x101c6c70
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.1002f4e0
mov esi, dword [ebp - 0x54]
cmp byte [esi + 0xd], 0
jne 0x1012d5e1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x10]
jge 0x1012d5e7
mov esi, dword [0x101c6c70]
movss xmm1, dword [0x101afce8]
movss xmm0, dword [ebp - 0x1c]
movaps xmm2, xmm1
subss xmm0, xmm1
andps xmm0, xmmword [0x101b1440]
divss xmm2, xmm0
mulss xmm2, dword [0x101afd18]
movss dword [ebp - 8], xmm2
movss xmm2, dword [esi + 0x14]
comiss xmm2, xmm1
jbe 0x1012d626
mov dword [esi + 0x14], 0x40d1999a
jmp 0x1012d63a
movss xmm0, dword [0x101afe6c]
comiss xmm0, xmm2
jbe 0x1012d63a
mov dword [esi + 0x14], 0xc0d1999a
mov eax, dword [ebp - 0x14]
mov edx, dword [0x101c0bb0]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x34], ecx
cmp byte [eax], 0
mov eax, dword [ebp - 0x68]
movss xmm0, dword [edx + 0x18]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x70]
movss dword [ebp - 0xc], xmm0
push 0xf
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], eax
je 0x1012d6bd
mov ecx, dword [edx + 0x1a6c]
lea eax, [ebp - 0x38]
push ecx
mov dword [esp], 0x41c80000
push dword [0x101c6c54]
mov ecx, dword [ecx + 0x284]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10106230
movss xmm1, dword [esi + 0x14]
movss xmm0, dword [0x101afce4]
comiss xmm0, xmm1
jb 0x1012d71d
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x101afd6c]
addss xmm0, dword [ebp - 8]
addss xmm1, xmm0
jmp 0x1012d718
mov eax, dword [0x101c0bb0]
cmp byte [ebp - 1], 0
mov ecx, dword [eax + 0x1a6c]
mov eax, dword [0x101c6c40]
cmovne eax, dword [0x101c6c4c]
push ecx
mov ecx, dword [ecx + 0x284]
mov dword [esp], 0x41c80000
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10106230
movss xmm1, dword [esi + 0x14]
comiss xmm1, dword [0x101afe68]
jb 0x1012d71d
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x101afd6c]
addss xmm0, dword [ebp - 8]
subss xmm1, xmm0
movss dword [esi + 0x14], xmm1
addss xmm1, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x50]
movss xmm2, dword [0x101afcd4]
push 0
push dword [0x101c6c50]
mov ecx, dword [ecx + 0x284]
push eax
movss dword [ebp - 0x50], xmm1
call fcn.100f9d70
movss xmm1, dword [ebp - 0x24]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1012d797
movss xmm0, dword [ebp - 0x44]
xor edx, edx
addss xmm0, dword [edi + 0x1568]
mov ecx, dword [ebp - 0x2c]
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [edi + 0x1554]
addss xmm0, dword [ebp - 0x28]
subss xmm0, dword [0x101afc80]
movss dword [ebp - 0x44], xmm0
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push 1
call fcn.100eec20
add esp, 0xc
mov al, byte [ebp - 2]
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x101c6c44
call fcn.100774e5
add esp, 4
cmp dword [0x101c6c44], 0xffffffff
jne 0x1012d46f
movaps xmm0, xmmword [0x101b0df0]
lea ecx, [ebp - 0x40]
movups xmmword [ebp - 0x40], xmm0
call fcn.100f0840
push 0x101c6c44
mov dword [0x101c6c50], eax
call fcn.1007749b
add esp, 4
jmp 0x1012d46f
push 0x101c6c78
call fcn.100774e5
add esp, 4
cmp dword [0x101c6c78], 0xffffffff
jne 0x1012d48f
movaps xmm0, xmmword [0x101b0b70]
lea ecx, [ebp - 0x40]
movups xmmword [ebp - 0x40], xmm0
call fcn.100f0840
push 0x101c6c78
mov dword [0x101c6c40], eax
call fcn.1007749b
add esp, 4
jmp 0x1012d48f
push 0x101c6c48
call fcn.100774e5
add esp, 4
cmp dword [0x101c6c48], 0xffffffff
jne 0x1012d4af
movaps xmm0, xmmword [0x101b0db0]
lea ecx, [ebp - 0x40]
movups xmmword [ebp - 0x40], xmm0
call fcn.100f0840
push 0x101c6c48
mov dword [0x101c6c54], eax
call fcn.1007749b
add esp, 4
jmp 0x1012d4af
push 0x101c6c64
call fcn.100774e5
add esp, 4
cmp dword [0x101c6c64], 0xffffffff
jne 0x1012d4cf
movaps xmm0, xmmword [0x101b0dc0]
lea ecx, [ebp - 0x40]
movups xmmword [ebp - 0x40], xmm0
call fcn.100f0840
push 0x101c6c64
mov dword [0x101c6c4c], eax
call fcn.1007749b
add esp, 4
jmp 0x1012d4cf
push 0x101c6c94
call fcn.100774e5
add esp, 4
cmp dword [0x101c6c94], 0xffffffff
jne 0x1012d533
mov ecx, 0x101c6c70
call fcn.10025460
push 0x10165800
call fcn.1007738a
add esp, 4
push 0x101c6c94
call fcn.1007749b
add esp, 4
jmp 0x1012d533