Function at 0x1007cd60
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x120
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x10087160
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov edi, dword [0x10258f60]
mov eax, dword [edi + 0x19e4]
mov byte [eax + 0x7c], 1
mov ebx, dword [edi + 0x19e4]
cmp byte [ebx + 0x7f], 0
jne 0x1007cf1b
mov esi, dword [ebp + 8]
mov ecx, ebx
push 0
push esi
call fcn.1004b2b0
mov dword [ebp - 0x20], eax
movss xmm1, dword [ebx + 0x14]
addss xmm1, dword [0x101a7a40]
movups xmmword [ebp - 0x88], xmm1
movss xmm0, dword [0x101aea10]
minss xmm0, xmm1
movups xmmword [ebp - 0x78], xmm0
lea eax, [ebp - 0xb0]
push 0xbf800000
push 1
push 0
push esi
push eax
call fcn.10049ee0
add esp, 0x14
movss xmm3, dword [ebp - 0xac]
addss xmm3, dword [0x101a79bc]
movss xmm0, dword [ebp - 0xb0]
movups xmm4, xmmword [ebp - 0x78]
addss xmm4, dword [0x101a78f4]
xorps xmm2, xmm2
movups xmm1, xmmword [ebp - 0x88]
movss xmm2, xmm1
movaps xmm1, xmmword [0x101aedb0]
unpcklps xmm1, xmm0
cmpltps xmm2, xmm1
movaps xmm1, xmmword [0x101aedc0]
unpcklps xmm1, xmm3
movaps xmm3, xmmword [0x101aedd0]
movss xmm3, xmm4
andps xmm1, xmm2
pextrw eax, xmm2, 2
andnps xmm2, xmm3
orps xmm1, xmm2
movsd xmm2, qword [ebx + 0xc8]
addps xmm1, xmm2
addps xmm1, xmmword [0x101a7c60]
movss xmm3, dword [0x101aeaa0]
addps xmm3, xmm2
movlhps xmm3, xmm1
movups xmmword [ebp - 0xa8], xmm3
xorps xmm2, xmm2
test al, 1
je 0x1007ce99
addss xmm0, dword [edi + 0x1550]
movaps xmm2, xmm0
movaps xmm0, xmmword [0x101aede0]
movss xmm0, xmm2
addps xmm0, xmm1
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x12c], eax
movlps qword [ebp - 0x124], xmm0
movss xmm0, dword [edi + 0x153c]
sub esp, 8
movss dword [esp + 4], xmm0
lea esi, [ebp - 0x12c]
mov dword [esp], esi
call fcn.1004bf60
add esp, 8
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0x20]
push esi
call fcn.1004bfb0
add esp, 0xc
test al, al
je 0x1007cf1b
mov eax, dword [ebp + 0xc]
cmp eax, 6
jae 0x1007d93f
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x1007cf33
test eax, eax
je 0x1007cf3f
mov dword [ebp - 0x78], esi
jmp 0x1007cf5b
xor ebx, ebx
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, ebx
add esp, 0x120
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x101ae8fc]
jmp 0x1007cf58
push 0x101edc37
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x1007cf16
mov ecx, esi
call fcn.10078de0
mov dword [ebp - 0x78], eax
push 1
mov esi, dword [ebp - 0x20]
push esi
push ebx
call fcn.1004c730
add esp, 0xc
mov dword [ebp - 0x88], ebx
mov ebx, eax
push esi
lea eax, [ebp - 0xa8]
push eax
call fcn.1004c5c0
add esp, 8
test bl, bl
mov esi, dword [ebp - 0x88]
jne 0x1007cfa8
test al, al
je 0x1007cf99
cmp byte [edi + 0x3d0], 0
jne 0x1007cfa8
mov eax, dword [ebp - 0x20]
cmp dword [edi + 0x1afc], eax
jne 0x1007d172
push esi
mov ebx, dword [ebp - 0x20]
push ebx
call fcn.1004baa0
add esp, 8
push esi
push ebx
call fcn.1004bba0
add esp, 8
push esi
call fcn.1004d770
add esp, 4
mov dword [edi + 0x1a1c], 0xc
xorps xmm0, xmm0
movups xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x1007d947
mov esi, eax
cmp eax, 0xf
mov dword [ebp - 0x28], edi
ja 0x1007d03a
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], 0xf
lea eax, [ebp - 0xf0]
push esi
push dword [ebp + 8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, ebp
add esi, 0xffffff10
jmp 0x1007d09b
mov eax, esi
or eax, 0xf
cmp eax, 0x17
mov ebx, 0x16
cmovae ebx, eax
cmp ebx, 0xfff
jb 0x1007d069
lea eax, [ebx + 0x24]
push eax
call fcn.10155a6b
add esp, 4
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x1007d077
lea eax, [ebx + 1]
push eax
call fcn.10155a6b
add esp, 4
mov edi, eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], ebx
push esi
push dword [ebp + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, edi
mov edi, dword [ebp - 0x28]
mov byte [esi], 0
cmp dword [ebp - 0xe0], 0
je 0x1007d94c
mov eax, dword [ebp - 0xdc]
cmp eax, 0x10
jb 0x1007d0d1
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x23
jne 0x1007d0dc
xor ebx, ebx
cmp eax, 0x10
jae 0x1007d22b
jmp 0x1007d25e
lea ecx, [ebp - 0xf0]
cmp byte [ecx], 0x23
je 0x1007d0c1
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x1007d958
mov ebx, eax
cmp eax, 0xf
ja 0x1007d12f
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
push ebx
push dword [ebp + 8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, ebp
add ebx, 0xffffffc0
jmp 0x1007d1cb
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x24], ebx
or ebx, 0xf
cmp ebx, 0x17
mov ecx, 0x16
cmovae ecx, ebx
cmp ecx, 0xfff
mov dword [ebp - 0x44], ecx
jb 0x1007d195
lea eax, [ecx + 0x24]
mov dword [ebp - 0x10], 0
push eax
call fcn.10155a6b
add esp, 4
mov esi, eax
add esi, 0x23
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1007d1aa
mov eax, dword [ebp - 0x20]
cmp dword [edi + 0x1b08], eax
jne 0x1007cfd2
mov eax, dword [ebp - 0x20]
cmp dword [edi + 0x2c40], eax
jne 0x1007cfa8
jmp 0x1007cfd2
lea eax, [ecx + 1]
mov dword [ebp - 0x10], 0
push eax
call fcn.10155a6b
add esp, 4
mov esi, eax
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x2c], eax
push ebx
push dword [ebp + 8]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, esi
mov byte [ebx], 0
cmp dword [ebp - 0x30], 1
jbe 0x1007d964
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
lea edx, [ebp - 0x40]
cmovae edx, eax
cmp byte [edx + 1], 0x23
setne bl
cmp ecx, 0x10
jb 0x1007d220
lea esi, [ecx + 1]
cmp esi, 0x1000
jb 0x1007d216
mov edx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, edx
cmp eax, 0x20
jae 0x1007d970
add ecx, 0x24
mov esi, ecx
mov eax, edx
push esi
push eax
call fcn.10155aa0
add esp, 8
mov eax, dword [ebp - 0xdc]
cmp eax, 0x10
jb 0x1007d25e
mov ecx, dword [ebp - 0xf0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1007d254
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007d970
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10155aa0
add esp, 8
mov dword [ebp - 0x10], 0xffffffff
test bl, bl
mov ebx, dword [ebp - 0x88]
je 0x1007d2c2
mov esi, dword [ebx + 0x274]
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeae0]
movsd qword [ebp - 0xf0], xmm1
mov dword [ebp - 0xe8], 0x3f34b4b5
movss dword [ebp - 0xe4], xmm0
lea eax, [ebp - 0xf0]
push eax
call fcn.10048d50
add esp, 4
mov ecx, esi
push 0
push dword [ebp + 8]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.10062de0
movss xmm0, dword [0x101a784c]
movss xmm1, dword [ebp - 0xac]
addss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm2, dword [ebp - 0xb0]
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movsd xmm0, qword [ebp - 0xa8]
xorps xmm1, xmm1
unpcklps xmm1, xmm2
addps xmm1, xmm0
movlps qword [ebp - 0x40], xmm1
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x38], eax
push 0
call fcn.1004c4c0
add esp, 4
mov esi, dword [ebx + 0x274]
test al, al
je 0x1007d3f3
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeb50]
movsd qword [ebp - 0xf0], xmm1
mov dword [ebp - 0xe8], 0x3e38b8b9
movss dword [ebp - 0xe4], xmm0
lea eax, [ebp - 0xf0]
push eax
call fcn.10048d50
add esp, 4
mov dword [ebp - 0x24], eax
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeb50]
movsd qword [ebp - 0x98], xmm1
mov dword [ebp - 0x90], 0x3e38b8b9
movss dword [ebp - 0x8c], xmm0
lea eax, [ebp - 0x98]
push eax
call fcn.10048d50
add esp, 4
mov ebx, eax
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeb60]
movsd qword [ebp - 0x58], xmm1
mov dword [ebp - 0x50], 0x3e9e9e9f
movss dword [ebp - 0x4c], xmm0
lea eax, [ebp - 0x58]
push eax
call fcn.10048d50
add esp, 4
mov ecx, edi
mov edi, eax
movss xmm0, dword [ecx + 0x1500]
movsd xmm1, qword [0x101aeb60]
movsd qword [ebp - 0x68], xmm1
mov dword [ebp - 0x60], 0x3e9e9e9f
jmp 0x1007d4b7
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeab0]
movsd qword [ebp - 0xf0], xmm1
mov dword [ebp - 0xe8], 0x3e109091
movss dword [ebp - 0xe4], xmm0
lea eax, [ebp - 0xf0]
push eax
call fcn.10048d50
add esp, 4
mov dword [ebp - 0x24], eax
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeab0]
movsd qword [ebp - 0x98], xmm1
mov dword [ebp - 0x90], 0x3e109091
movss dword [ebp - 0x8c], xmm0
lea eax, [ebp - 0x98]
push eax
call fcn.10048d50
add esp, 4
mov ebx, eax
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeb40]
movsd qword [ebp - 0x58], xmm1
mov dword [ebp - 0x50], 0x3e8a8a8b
movss dword [ebp - 0x4c], xmm0
lea eax, [ebp - 0x58]
push eax
call fcn.10048d50
add esp, 4
mov ecx, edi
mov edi, eax
movss xmm0, dword [ecx + 0x1500]
movsd xmm1, qword [0x101aeb40]
movsd qword [ebp - 0x68], xmm1
mov dword [ebp - 0x60], 0x3e8a8a8b
movss dword [ebp - 0x5c], xmm0
lea eax, [ebp - 0x68]
push eax
call fcn.10048d50
add esp, 4
lea edx, [ebp - 0x40]
mov ecx, esi
push dword [ebp - 0x24]
push ebx
push edi
push eax
lea eax, [ebp - 0x38]
push eax
push edx
call fcn.10061fa0
mov dword [ebp - 0x48], 0
movaps xmm0, xmmword [0x101a7870]
movups xmmword [ebp - 0x98], xmm0
sub esp, 0x2c
lea eax, [ebp - 0x48]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x98]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xa8]
mov dword [esp], eax
movss xmm0, dword [ebp + 0x20]
movss dword [esp + 0x1c], xmm0
mov eax, dword [ebp - 0x78]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x20]
mov dword [esp + 4], esi
mov dword [esp + 0x20], 0
call fcn.10079190
add esp, 0x2c
mov ebx, eax
test al, al
je 0x1007d563
push esi
call fcn.1004bcc0
add esp, 4
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x274]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x28]
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeb30]
movsd qword [ebp - 0xf0], xmm1
mov dword [ebp - 0xe8], 0x3df0f0f1
movss dword [ebp - 0xe4], xmm0
lea eax, [ebp - 0xf0]
push eax
call fcn.10048d50
add esp, 4
mov dword [ebp - 0x24], eax
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aeb30]
movsd qword [ebp - 0x58], xmm1
mov dword [ebp - 0x50], 0x3df0f0f1
movss dword [ebp - 0x4c], xmm0
lea eax, [ebp - 0x58]
push eax
call fcn.10048d50
add esp, 4
mov dword [ebp - 0x44], eax
movsd xmm0, qword [0x101fc450]
movups xmm1, xmmword [0x101fc44c]
movlhps xmm1, xmm0
movss xmm2, dword [edi + 0x1500]
shufps xmm2, xmm0, 0xd4
shufps xmm1, xmm2, 0x28
movups xmmword [ebp - 0x68], xmm1
lea eax, [ebp - 0x68]
push eax
call fcn.10048d50
add esp, 4
mov dword [ebp - 0xfc], eax
movsd xmm0, qword [0x101fc450]
movups xmm1, xmmword [0x101fc44c]
movlhps xmm1, xmm0
movss xmm2, dword [edi + 0x1500]
shufps xmm2, xmm0, 0xd4
shufps xmm1, xmm2, 0x28
movups xmmword [ebp - 0x11c], xmm1
lea eax, [ebp - 0x11c]
push eax
call fcn.10048d50
add esp, 4
mov esi, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebp - 0x48]
movss xmm1, dword [ebp - 0x34]
movss dword [ebp - 0xf8], xmm1
divss xmm0, dword [0x101a79a8]
movss xmm2, dword [ebp - 0x40]
movss dword [ebp - 0xf4], xmm2
movss xmm1, dword [ebp - 0x38]
subss xmm1, xmm2
mulss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
add esp, 8
fstp dword [ebp - 0x104]
movss xmm0, dword [ebp - 0xf4]
addss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x108], xmm0
lea eax, [ebp - 0x10c]
lea edx, [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x44]
push dword [ebp - 0xfc]
push esi
push eax
push edx
call fcn.10061fa0
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 0x274]
movss xmm0, dword [edi + 0x1500]
movsd xmm1, qword [0x101aedf0]
movsd qword [ebp - 0xf0], xmm1
mov dword [ebp - 0xe8], 0x3c40c0c1
movss dword [ebp - 0xe4], xmm0
lea eax, [ebp - 0xf0]
mov edi, eax
push eax
call fcn.10048d50
add esp, 4
mov ecx, esi
push 0x3f800000
push 0xf
push 0
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.10061d80
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1007d773
cmp ecx, 1
jne 0x1007d7a9
mov eax, dword [ebp + 0x10]
push dword [eax]
push dword [ebp - 0x78]
push 0x40
push edi
call fcn.100485e0
add esp, 0x10
jmp 0x1007d806
mov esi, dword [ebp + 0x10]
mov eax, dword [esi]
sub eax, dword [ebp + 0x24]
mov dword [esi], eax
push eax
push dword [ebp - 0x78]
push 0x40
push edi
call fcn.100485e0
add esp, 0x10
push 0xbf800000
push 0
push 0
push edi
lea eax, [ebp - 0x68]
push eax
call fcn.10049ee0
add esp, 0x14
mov eax, dword [ebp + 0x24]
add dword [esi], eax
jmp 0x1007d81c
mov eax, ecx
and eax, 0xfffffffe
cmp eax, 2
mov eax, dword [ebp - 0x78]
jne 0x1007d7c4
mov ecx, dword [ebp + 0x10]
push dword [ecx + 4]
push dword [ecx]
push eax
push 0x40
push edi
jmp 0x1007d7fe
cmp ecx, 5
je 0x1007d7df
cmp ecx, 4
jne 0x1007d93f
mov ecx, dword [ebp + 0x10]
movss xmm0, dword [ecx]
cvtss2sd xmm0, xmm0
jmp 0x1007d7e6
mov ecx, dword [ebp + 0x10]
movsd xmm0, qword [ecx]
sub esp, 0x14
movsd qword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [esp + 4], 0x40
call fcn.100485e0
add esp, 0x14
push 0xbf800000
push 0
push 0
push edi
lea eax, [ebp - 0x68]
push eax
call fcn.10049ee0
add esp, 0x14
call fcn.1004d5c0
mov eax, dword [eax + 0x8c]
cmp dword [eax + 0x34], 1
jle 0x1007d93f
mov eax, dword [eax + 0x3c]
push dword [eax + 4]
call fcn.1005a8c0
add esp, 4
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 0x274]
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x1500]
movsd xmm1, qword [0x101aeae0]
movsd qword [ebp - 0x58], xmm1
mov dword [ebp - 0x50], 0x3f34b4b5
movss dword [ebp - 0x4c], xmm0
lea eax, [ebp - 0x58]
push eax
call fcn.10048d50
add esp, 4
movss xmm1, dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x64]
mulss xmm0, dword [0x101a62c0]
subss xmm1, xmm0
addss xmm1, dword [0x101a77b0]
movss dword [ebp - 0x20], xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebp - 0x48]
mov edi, eax
divss xmm0, dword [0x101a79a8]
movss xmm2, dword [ebp - 0x40]
movss dword [ebp - 0x88], xmm2
movss xmm1, dword [ebp - 0x38]
subss xmm1, xmm2
mulss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
add esp, 8
fstp dword [ebp - 0x100]
movss xmm1, dword [ebp - 0x88]
addss xmm1, dword [ebp - 0x100]
movss xmm0, dword [0x101a62c0]
mulss xmm0, dword [ebp - 0x68]
subss xmm1, xmm0
movss dword [ebp - 0x11c], xmm1
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x118], xmm0
mov ecx, esi
push 0
lea eax, [ebp - 0xf0]
push eax
push edi
lea eax, [ebp - 0x11c]
push eax
call fcn.10062de0
call fcn.1005aa60
jmp 0x1007cf1d
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.1001ab80
mov dword [ebp - 0x10], 0
call fcn.100339a0
mov dword [ebp - 0x10], 0
call fcn.1001ab80
mov dword [ebp - 0x10], 1
call fcn.100339a0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop word cs:[eax + eax]
push ebp
sub esp, 0x2c
add ebp, 0xc
lea ecx, [ebp - 0x40]
call fcn.10014f60
add esp, 0x2c
pop ebp
ret