Function at 0x1000a7d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x1008eb38
push 0x10074aac
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x10093400]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, ecx
wait
mov dword [ebp - 4], 0
mov eax, dword [0x10094df4]
cmp dword [eax], 0
je 0x1000ab8e
xor esi, esi
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], esi
cmp esi, 0xf
jg 0x1000aa53
mov ecx, esi
call fcn.10008040
cmp eax, 1
jl 0x1000aa4d
mov eax, dword [0x10096e94]
cmp dword [eax], 4
je 0x1000aa4d
mov ecx, dword [0x10096c80]
sub ecx, dword [0x10096b54]
add ecx, dword [0x10096d28]
mov eax, dword [0x10094b2c]
mov ecx, dword [eax + ecx]
mov eax, esi
and eax, reloc.WS2_32.dll_accept
jns 0x1000a877
dec eax
or eax, 0xfffffffe
add eax, 1
sete al
not cl
and cl, 1
xor al, cl
cmp al, 1
jne 0x1000aa44
cmp dword [0x10094d10], 0
je 0x1000a91a
mov ecx, esi
call fcn.10008040
mov dword [ebp - 0x38], eax
push str.Head
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.100080d0
add esp, 4
test al, al
je 0x1000a91a
movss xmm1, dword [ebp - 0x50]
addss xmm1, dword [0x1008dacc]
movss xmm2, dword [ebp - 0x54]
movss dword [ebp - 0x48], xmm2
movss dword [ebp - 0x44], xmm1
movss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x40], xmm0
sub esp, 0xc
mov ecx, esp
unpcklps xmm2, xmm1
movq qword [ebp - 0x48], xmm2
movq qword [ecx], xmm2
mov eax, dword [ebp - 0x40]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x78]
call fcn.100081b0
add esp, 0xc
test al, al
je 0x1000a91a
movd xmm0, dword [ebp - 0x38]
cvtdq2ps xmm0, xmm0
push ecx
movss dword [esp], xmm0
mov ecx, esi
call fcn.10008fa0
add esp, 4
cmp dword [0x10094a24], 1
jne 0x1000a97d
push str.Head
mov edx, esi
lea ecx, [ebp - 0x60]
call fcn.100080d0
sub esp, 8
mov ecx, esp
movq xmm0, qword [ebp - 0x60]
movq qword [ecx], xmm0
mov eax, dword [ebp - 0x58]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x6c]
call fcn.100081b0
add esp, 0xc
test al, al
je 0x1000a97d
movss xmm1, dword [ebp - 0x68]
movss xmm0, dword [0x1008db20]
subss xmm1, xmm0
mov edx, edi
mov ecx, 0xffff0000
movaps xmm3, xmm0
movaps xmm2, xmm0
movss xmm0, dword [ebp - 0x6c]
call fcn.10008460
cmp dword [0x10094e08], 1
jne 0x1000a991
push ecx
mov ecx, esi
call fcn.10009dd0
add esp, 4
cmp dword [0x10094be8], 1
jne 0x1000a9a5
push edi
mov ecx, esi
call fcn.10009330
add esp, 4
cmp dword [0x10094b58], 1
jne 0x1000a9b9
push edi
mov ecx, esi
call fcn.10009d00
add esp, 4
cmp dword [0x10094ac4], 1
jne 0x1000aa27
mov ecx, esi
call fcn.10008040
cmp eax, 0x6e
mov ecx, 0xff96ff00
cmovge ebx, ecx
mov dword [ebp - 0x34], ebx
mov ecx, 0xff00ff00
cmovl ebx, ecx
mov dword [ebp - 0x34], ebx
cmp eax, 0x5a
mov ecx, 0xff00f7ff
cmovle ebx, ecx
mov dword [ebp - 0x34], ebx
cmp eax, 0x46
mov ecx, 0xffff7200
cmovle ebx, ecx
mov dword [ebp - 0x34], ebx
cmp eax, 0x32
mov ecx, 0xffffff00
cmovle ebx, ecx
mov dword [ebp - 0x34], ebx
cmp eax, 0x19
mov eax, 0xffd61e1e
cmovle ebx, eax
mov dword [ebp - 0x34], ebx
push edi
mov edx, ebx
mov ecx, esi
call fcn.100086e0
add esp, 4
cmp dword [0x10094a80], 0
je 0x1000aa44
push edi
mov ecx, esi
call fcn.10008040
mov edx, eax
mov ecx, esi
call fcn.10009150
add esp, 4
mov edx, esi
mov ecx, edi
call fcn.10017b60
inc esi
jmp 0x1000a823
cmp dword [0x10094c0c], 0
je 0x1000aab7
mov eax, dword [0x10094b94]
shr eax, 1
sub eax, 2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1008dbc0]
cvtpd2ps xmm1, xmm0
mov eax, dword [0x10094b90]
shr eax, 1
sub eax, 2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1008dbc0]
cvtpd2ps xmm0, xmm0
mov edx, edi
mov ecx, 0xff00ff00
movss xmm2, dword [0x1008db28]
movaps xmm3, xmm2
call fcn.10008460
cmp byte [0x10094b1d], 0
je 0x1000aac9
push ecx
call fcn.10009ba0
add esp, 4
mov dword [ebp - 0x30], 0x14
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_GetCursorInfo]
cmp dword [0x10094a84], 0
je 0x1000ab07
cmp byte [0x100949f2], 0
jne 0x1000ab2c
push 1
mov edx, 0x10087c94
mov ecx, dword [0x10096c5c]
call fcn.10005a30
mov byte [0x100949f2], 1
jmp 0x1000ab29
cmp byte [0x100949f2], 1
jne 0x1000ab2c
push 1
mov edx, 0x10088be0
mov ecx, dword [0x10096c5c]
call fcn.10005a30
mov byte [0x100949f2], 0
add esp, 4
mov eax, dword [0x10094df4]
cmp dword [eax], 0
je 0x1000ab8e
mov eax, dword [0x10094bac]
dec eax
neg eax
sbb eax, eax
add eax, 2
mov dword [0x100940f8], eax
cmp dword [ebp - 0x2c], 0
jne 0x1000ab8e
mov ecx, dword [0x10096c80]
sub ecx, dword [0x10096b54]
add ecx, dword [0x10096d28]
mov eax, dword [0x10094b2c]
mov ecx, dword [ecx + eax]
call fcn.10008040
test eax, eax
jle 0x1000ab8e
call fcn.1000ae20
push edi
mov ecx, eax
call fcn.10009460
call fcn.1000acc0
push edi
mov ecx, eax
call fcn.100097d0
add esp, 8
cmp dword [0x10094d58], 0
je 0x1000abce
cmp byte [0x10094c07], 0
je 0x1000abac
push 0x10088d3c
push 0xff00ff00
jmp 0x1000abb6
push 0x10088d40
push 0xffffff00
push 0x1c2
push 0x12c
push dword [0x10094cbc]
call fcn.100084c0
add esp, 0x14
mov ecx, edi
call fcn.1000a030
cmp dword [0x10094fa0], 0
je 0x1000ac16
mov edx, 1
lea ecx, [edx + 0x22]
call fcn.1000b010
test eax, eax
je 0x1000ac16
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x1000ac16
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
wait
jmp 0x1000ac22
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.10074adb
mov esp, ebp
pop ebp
ret