Function at 0x10072240
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [0x101e0c0c]
push esi
push edi
mov esi, ebx
mov byte [ebp - 8], 0
xor edi, edi
call fcn.1006ef20
test eax, eax
je 0x1007226d
mov dword [esi + 0x1adc], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xorps xmm5, xmm5
cmp dword [esi + 0x1ae0], edi
je 0x100722b9
cmp dword [esi + 0x1adc], edi
jne 0x100722b9
comiss xmm5, dword [esi + 0x1bec]
movss xmm0, dword [esi + 0x18]
mulss xmm0, dword [0x10162838]
movss xmm1, dword [esi + 0x1aec]
subss xmm1, xmm0
maxss xmm1, xmm5
movss dword [esi + 0x1aec], xmm1
jb 0x100722b9
comiss xmm5, xmm1
jb 0x100722b9
mov dword [esi + 0x1ae0], edi
mov eax, dword [esi + 0x1adc]
mov ecx, 1
test eax, eax
jne 0x100722e2
mov edx, ecx
lea ecx, [eax + 3]
call fcn.100706c0
comiss xmm0, xmm5
jbe 0x100722dc
mov byte [ebp - 1], dl
jmp 0x100722ea
mov eax, dword [esi + 0x1adc]
mov byte [ebp - 1], 0
test eax, eax
jne 0x1007231b
cmp byte [esi + 0xf8], 0
je 0x1007231b
mov ecx, dword [ebx + 0x34]
test ecx, ecx
js 0x1007231b
mov dl, 1
call fcn.100685a0
test al, al
je 0x10072315
test byte [esi + 8], 1
je 0x10072315
mov ebx, dword [0x101e0c0c]
mov al, 1
jmp 0x1007231d
mov ebx, dword [0x101e0c0c]
xor al, al
cmp byte [ebp - 1], 0
mov byte [ebp - 2], al
jne 0x1007232a
test al, al
je 0x1007237d
mov eax, dword [esi + 0x1a9c]
test eax, eax
jne 0x1007234e
mov ecx, dword [esi + 0x1958]
mov edx, Ordinal_2
push 0xffffffffffffffff
dec ecx
call fcn.10072140
add esp, 4
test eax, eax
je 0x1007237d
mov dword [esi + 0x1ae0], eax
mov dword [esi + 0x1adc], eax
mov al, byte [ebp - 2]
xor al, 1
mov dword [esi + 0x1aec], edi
mov byte [esi + 0x1af0], al
movzx eax, al
add eax, 3
mov dword [esi + 0x1ae8], edi
mov dword [esi + 0x1ac4], eax
movss xmm0, dword [esi + 0x1ae8]
addss xmm0, dword [esi + 0x18]
mov ecx, dword [esi + 0x1adc]
movss xmm2, dword [0x10162674]
movss xmm3, dword [0x10162860]
movss dword [esi + 0x1ae8], xmm0
test ecx, ecx
je 0x1007252d
cmp dword [esi + 0x1ac4], 4
jne 0x100724ad
subss xmm0, xmm2
xorps xmm5, xmm5
mulss xmm0, xmm3
comiss xmm5, xmm0
jbe 0x100723d2
xorps xmm0, xmm0
jmp 0x100723da
minss xmm0, dword [0x10162728]
movss xmm6, dword [esi + 0x1aec]
mov edx, 4
maxss xmm6, xmm0
lea ecx, [edx + 9]
movss dword [esi + 0x1aec], xmm6
call fcn.100706c0
xor ebx, ebx
lea ecx, [edx + 8]
comiss xmm0, xmm5
seta bl
call fcn.100706c0
mov ecx, dword [esi + 0x1adc]
xor eax, eax
comiss xmm0, xmm5
seta al
sub eax, ebx
je 0x10072444
mov ecx, eax
call fcn.100721a0
movss xmm0, dword [0x10162728]
xorps xmm5, xmm5
mov ecx, dword [esi + 0x1adc]
movaps xmm6, xmm0
mov dword [esi + 0x1aec], 0x3f800000
jmp 0x1007244c
movss xmm0, dword [0x10162728]
mov ebx, dword [0x101e0c0c]
comiss xmm5, dword [ebx + 0x308]
jb 0x10072495
comiss xmm0, xmm6
seta al
and byte [esi + 0x1af0], al
je 0x10072484
cmp dword [esi + 0x1a9c], edi
je 0x10072486
mov byte [ebp - 8], 1
mov dword [esi + 0x1adc], 0
jmp 0x1007252d
mov edi, ecx
mov dword [esi + 0x1adc], 0
jmp 0x1007252d
movss xmm2, dword [0x10162674]
movss xmm3, dword [0x10162860]
test ecx, ecx
je 0x1007252d
cmp dword [esi + 0x1ac4], 3
jne 0x1007252d
movss xmm1, dword [esi + 0x1ae8]
xorps xmm0, xmm0
subss xmm1, xmm2
mulss xmm1, xmm3
comiss xmm0, xmm1
jbe 0x100724d3
xorps xmm1, xmm1
jmp 0x100724db
minss xmm1, dword [0x10162728]
movss xmm0, dword [esi + 0x1aec]
maxss xmm0, xmm1
movss dword [esi + 0x1aec], xmm0
mov ecx, dword [ebx + 0x34]
test ecx, ecx
js 0x1007251e
mov dl, 1
call fcn.100685a0
test al, al
je 0x10072518
xor ecx, ecx
cmp byte [esi + 0xf9], cl
setne cl
lea ecx, [ecx*2 - 1]
call fcn.100721a0
mov ebx, dword [0x101e0c0c]
cmp byte [esi + 0xf8], 0
jne 0x1007252d
mov edi, dword [esi + 0x1adc]
cmp dword [esi + 0x19ac], 0
je 0x10072543
cmp byte [esi + 0x19bd], 0
je 0x100725d2
mov edx, 2
lea ecx, [edx + 0xe]
call fcn.100706c0
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100725d2
lea eax, [esi + 0xe0]
test ebx, ebx
jne 0x10072569
push ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
test eax, eax
jne 0x10072573
lea eax, [ebx + 0xe0]
movss xmm0, dword [eax]
movss xmm2, dword [0x10162a68]
comiss xmm0, xmm2
movss xmm3, dword [eax + 4]
jb 0x10072592
comiss xmm3, xmm2
jb 0x10072592
mov dl, 1
jmp 0x10072594
xor dl, dl
lea eax, [esi + 0x378]
test eax, eax
jne 0x100725a4
lea eax, [ebx + 0xe0]
movss xmm0, dword [eax]
comiss xmm0, xmm2
movss xmm3, dword [eax + 4]
jb 0x100725bb
comiss xmm3, xmm2
jb 0x100725bb
mov al, 1
jmp 0x100725bd
xor al, al
mov ecx, dword [ebp - 8]
cmp dl, al
movzx ecx, cl
mov edx, 1
cmove ecx, edx
mov dword [ebp - 8], ecx
jmp 0x100725d7
mov edx, 1
mov eax, dword [esi + 0x1adc]
test eax, eax
je 0x100726c6
test byte [eax + 8], 4
jne 0x100726c6
mov eax, dword [esi + 0x1ac4]
cmp eax, 3
jne 0x1007260d
cmp byte [esi + 0xf9], 0
jne 0x100726c6
push ecx
lea ecx, [ebp - 0x10]
jmp 0x1007261c
cmp eax, 4
jne 0x100726c6
push ecx
mov edx, eax
lea ecx, [ebp - 0x18]
mov dword [esp], 0
xorps xmm3, xmm3
push 0
call fcn.10070830
add esp, 8
xorps xmm1, xmm1
movss xmm2, dword [eax]
movss xmm3, dword [eax + 4]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x1007264e
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x100726c6
movss xmm0, dword [esi + 0xa8]
minss xmm0, dword [esi + 0xa4]
mulss xmm0, dword [esi + 0x18]
mulss xmm0, dword [0x10162998]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [esi + 0x1adc]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x2f0]
mulss xmm2, xmm0
mulss xmm3, xmm0
addss xmm2, dword [eax + 0xc]
addss xmm3, dword [eax + 0x10]
movss dword [eax + 0xc], xmm2
movss dword [eax + 0x10], xmm3
mov eax, dword [esi + 0x1adc]
mov byte [esi + 0x1aff], 1
test dword [eax + 8], 0x100
jne 0x100726c6
comiss xmm1, dword [ebx + 0x2c3c]
jb 0x100726c6
mov eax, dword [ebx + 0x1c]
mov dword [ebx + 0x2c3c], eax
test edi, edi
je 0x10072747
mov eax, dword [esi + 0x1a9c]
test eax, eax
je 0x100726dc
cmp edi, dword [eax + 0x2f0]
je 0x10072735
mov word [esi + 0x1afe], 0x100
mov eax, dword [edi + 0x2fc]
test eax, eax
cmovne edi, eax
mov ecx, edi
call fcn.1006f100
mov ecx, edi
call fcn.1006df90
cmp dword [edi + 0x300], 0
jne 0x10072710
xor dl, dl
mov ecx, edi
call fcn.100704f0
cmp dword [edi + 0x13c], 2
mov ecx, dword [0x101e0c0c]
jne 0x1007273b
mov dword [esi + 0x1af4], 1
mov dword [esi + 0x1adc], 0
jmp 0x1007274d
mov ecx, dword [0x101e0c0c]
mov dword [esi + 0x1adc], 0
jmp 0x1007274d
mov ecx, dword [0x101e0c0c]
cmp byte [ebp - 8], 0
je 0x100727db
mov ebx, dword [esi + 0x1a9c]
test ebx, ebx
je 0x100727db
mov edi, ebx
test byte [edi + 0x13c], 2
jne 0x1007278e
nop dword [eax]
mov eax, dword [edi + 8]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x1007278e
mov edi, dword [edi + 0x2ec]
test byte [edi + 0x13c], 2
je 0x10072770
cmp edi, ebx
je 0x100727ab
mov ecx, edi
call fcn.1006df90
mov ecx, dword [0x101e0c0c]
mov dword [edi + 0x2fc], ebx
mov ebx, dword [esi + 0x1a9c]
mov word [esi + 0x1afe], 0x100
test byte [ebx + 0x13c], 2
je 0x100727e2
mov eax, dword [esi + 0x1af4]
xor eax, 1
mov dword [ecx + 0x1af4], eax
je 0x100727ec
mov ecx, dword [ecx + 0x1a9c]
mov dl, 1
call fcn.100704f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ecx + 0x1af4], 0
mov edx, dword [ecx + 0x1a9c]
mov eax, dword [edx + 0x2fc]
test eax, eax
cmovne edx, eax
mov dword [ecx + 0x1a9c], edx
mov esi, dword [edx + 0x300]
test esi, esi
je 0x100727ce
lea eax, [edx + 0x308]
mov ecx, esi
push eax
xor edx, edx
call fcn.10065bd0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret