Function at 0x1012f890
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [0x101e6b78]
push edi
mov edi, ecx
test esi, esi
je 0x1012fad4
cmp edx, 0x200
ja 0x1012f9af
je 0x1012f97e
add edx, 0xffffffe0
cmp edx, 0xe5
ja case.0x1012f9c1.515
movzx eax, byte [edx + 0x1012faf0]
jmp dword [eax*4 + 0x1012fadc]
mov eax, dword [ebp + 8]
cmp eax, 0x100
jae case.0x1012f9c1.515
pop edi
mov byte [esi + eax + 0xfc], 1
xor eax, eax
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
cmp eax, 0x100
jae case.0x1012f9c1.515
pop edi
mov byte [esi + eax + 0xfc], 0
xor eax, eax
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 8]
lea eax, [ecx - 1]
cmp eax, 0xfffe
ja 0x1012f95e
mov edi, dword [esi + 0x14f4]
add esi, 0x14f0
movzx ebx, cx
mov ecx, dword [esi]
cmp ecx, edi
jne 0x1012f953
inc ecx
test edi, edi
je 0x1012f941
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1012f946
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.1003cde0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov word [eax + ecx*2], bx
inc dword [esi]
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
cmp word [ebp + 0xc], 1
jne case.0x1012f9c1.515
call fcn.1012f740
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0xc]
movsx eax, cx
sar ecx, 0x10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, cx
movss dword [esi + 0xe0], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0xe4], xmm0
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
lea eax, [edx - 0x201]
cmp eax, 0xb
ja case.0x1012f9c1.515
movzx eax, byte [eax + 0x1012fbe8]
jmp dword [eax*4 + 0x1012fbd8]
xor ebx, ebx
cmp edx, 0x204
sete bl
cmp edx, 0x207
jne 0x1012f9e2
mov ebx, 2
jmp 0x1012fa03
cmp edx, 0x20b
jne 0x1012fa03
movzx eax, word [ebp + 8]
cmp eax, 0x20
jne 0x1012f9f8
lea ebx, [eax - 0x1d]
jmp 0x1012fa03
cmp eax, 0x40
mov ecx, 4
cmove ebx, ecx
call fcn.10116d40
test al, al
jne 0x1012fa1d
call dword [sym.imp.USER32.dll_GetCapture]
test eax, eax
jne 0x1012fa1d
push edi
call dword [sym.imp.USER32.dll_SetCapture]
pop edi
mov byte [ebx + esi + 0xe8], 1
mov eax, 1
pop esi
pop ebx
pop ebp
ret
xor eax, eax
cmp edx, 0x205
sete al
cmp edx, 0x208
jne 0x1012fa49
mov eax, 2
jmp 0x1012fa6a
cmp edx, 0x20c
jne 0x1012fa6a
movzx ecx, word [ebp + 8]
cmp ecx, 0x20
jne 0x1012fa5f
lea eax, [ecx - 0x1d]
jmp 0x1012fa6a
cmp ecx, 0x40
mov edx, 4
cmove eax, edx
mov byte [eax + esi + 0xe8], 0
call fcn.10116d40
test al, al
jne 0x1012f95e
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, edi
jne 0x1012f95e
call dword [sym.imp.USER32.dll_ReleaseCapture]
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
shr eax, 0x10
test ax, ax
jle 0x1012fab2
movss xmm0, dword [0x1017f0d8]
jmp 0x1012faba
movss xmm0, dword [0x1017f35c]
addss xmm0, dword [esi + 0xf0]
pop edi
mov eax, 1
movss dword [esi + 0xf0], xmm0
pop esi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0xd51012f9
clc
adc dl, byte [eax]
clc
adc dl, byte [eax]
psubw mm2, qword [edx]
adc byte [eax + 1053433], ch
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 1
add al, byte [ebx]
add al, 1
add ah, byte [esi - 112]
enter 4857, 0x10
das
cli
adc dl, byte [eax]
popfd
cli
adc dl, byte [eax]
test al, 0xf9
adc dl, byte [eax]
add byte [ecx], al
add eax, dword [eax]
add dword [ebx], eax
add byte [ecx], al
add eax, dword [edx]
add byte [ecx], al
int3