Function at 0x10072840
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov eax, ecx
movss dword [ebp - 0x10], xmm2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], eax
push esi
mov esi, dword [0x1017bfd8]
push edi
cmp eax, 4
je 0x1007286a
cmp eax, 5
je 0x1007286a
xor dl, dl
jmp 0x1007286c
mov dl, 1
mov ebx, dword [ebp + 0xc]
xorps xmm3, xmm3
mov edi, dword [ebp + 8]
mov ecx, ebx
sub ecx, edi
mov byte [ebp - 5], dl
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jp 0x100728ad
cmp edi, ebx
je 0x100728ad
movss xmm0, dword [0x101452dc]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100728ad
movaps xmm2, xmm1
mulss xmm2, dword [esi + 0x2c60]
movss dword [ebp - 0x10], xmm2
mov eax, dword [esi + 0x1a34]
xorps xmm1, xmm1
cmp eax, 1
jne 0x10072938
test esi, esi
jne 0x100728c6
push esi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
movss xmm0, dword [esi + 0xe0]
movss xmm4, dword [0x10145370]
comiss xmm0, xmm4
movss xmm5, dword [esi + 0xe4]
jb 0x100729ed
comiss xmm5, xmm4
jb 0x100729ed
movss xmm0, dword [esi + 0x434]
comiss xmm0, dword [0x10145040]
jbe 0x100729ed
cmp byte [esi + 0xfa], 0
movss xmm1, dword [esi + 0x370]
je 0x1007291e
mulss xmm1, dword [0x10144f1c]
cmp byte [esi + 0xf9], 0
je 0x100729ed
mulss xmm1, dword [0x10145124]
jmp 0x100729ed
cmp eax, 2
jne 0x100729ed
test dl, dl
je 0x100729b1
mov ecx, dword [ebp + 0x10]
call fcn.10068f90
movss xmm3, dword [0x10144f64]
mov edx, 3
push ecx
mov dword [esp], 0x41200000
lea ecx, [ebp - 0x18]
push 5
mov dword [ebp + 0xc], eax
call fcn.1004f660
add esp, 8
movss xmm1, dword [eax]
mov eax, dword [ebp + 0xc]
movaps xmm0, xmm1
movss dword [ebp - 0x14], xmm0
test eax, eax
jns 0x1007298f
movss xmm0, dword [0x10144ea8]
jmp 0x100729e2
cmp eax, 0xa
jl 0x100729d9
movss xmm0, dword [0x10145124]
neg eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_powf
movss xmm1, dword [ebp - 0x14]
jmp 0x100729e2
movss xmm3, dword [0x10144f64]
xor eax, eax
push ecx
mov dword [esp], 0x41200000
lea ecx, [ebp - 0x18]
push 5
lea edx, [eax + 3]
call fcn.1004f660
add esp, 8
movss xmm1, dword [eax]
xor eax, eax
movss xmm0, dword [eax*4 + 0x10142a68]
maxss xmm0, dword [ebp - 0x10]
xorps xmm3, xmm3
movaps xmm2, xmm0
mov cl, byte [esi + 0x1a14]
mulss xmm1, xmm2
movss dword [ebp + 0xc], xmm1
cmp edi, ebx
je 0x10072a1b
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
cmp eax, ebx
jl 0x10072a0e
comiss xmm1, xmm3
ja 0x10072a17
cmp eax, edi
jg 0x10072a1b
comiss xmm3, xmm1
jbe 0x10072a1b
mov al, 1
jmp 0x10072a1d
xor al, al
test cl, cl
jne 0x10072a4a
test al, al
jne 0x10072a4a
ucomiss xmm1, xmm3
lahf
test ah, 0x44
jnp 0x10072a5b
movaps xmm0, xmm1
mov byte [esi + 0x2c58], 1
addss xmm0, dword [esi + 0x2c5c]
movss dword [esi + 0x2c5c], xmm0
jmp 0x10072a5b
mov dword [esi + 0x2c5c], 0
mov byte [esi + 0x2c58], 0
cmp byte [esi + 0x2c58], 0
je 0x10072b1d
cvttss2si eax, dword [esi + 0x2c5c]
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x10]
mov edx, dword [edi]
add edx, eax
push edx
mov edx, dword [ebp - 0x1c]
call fcn.10075250
movss xmm1, dword [esi + 0x2c5c]
mov ecx, eax
mov byte [esi + 0x2c58], 0
xor edx, edx
sub ecx, dword [edi]
add esp, 4
test eax, eax
cmovne edx, eax
movd xmm0, ecx
mov eax, edx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [esi + 0x2c5c], xmm1
mov ecx, dword [edi]
mov edi, ecx
cmp ecx, edx
je 0x10072b0b
mov edi, dword [ebp + 8]
cmp edi, ebx
je 0x10072b0f
movss xmm0, dword [ebp + 0xc]
xorps xmm1, xmm1
cmp edx, edi
jl 0x10072ae6
mov esi, ecx
cmp edx, ecx
jle 0x10072aef
comiss xmm1, xmm0
jbe 0x10072aef
mov dl, byte [ebp - 5]
test dl, dl
jne 0x10072af2
mov eax, edi
jmp 0x10072af2
mov dl, byte [ebp - 5]
mov eax, edi
mov esi, ecx
jmp 0x10072af2
mov dl, byte [ebp - 5]
cmp eax, ebx
jg 0x10072b07
mov edi, ecx
cmp eax, ecx
jge 0x10072b0b
comiss xmm0, xmm1
jbe 0x10072b0b
mov edi, esi
test dl, dl
jne 0x10072b0b
mov eax, ebx
mov edi, esi
cmp edi, eax
je 0x10072b1d
mov edx, dword [ebp - 0xc]
mov dword [edx], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret