Function at 0x10084e50
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [0x101e0c0c]
push edi
mov edi, ecx
test esi, esi
je 0x100850b9
cmp edx, 0x200
ja 0x10084f71
je 0x10084f40
add edx, 0xffffffe0
cmp edx, 0xe5
ja case.0x10084f83.515
movzx eax, byte [edx + 0x100850d8]
jmp dword [eax*4 + 0x100850c4]
mov eax, dword [ebp + 8]
cmp eax, 0x100
jae case.0x10084f83.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.0x10084f83.515
pop edi
mov byte [esi + eax + 0xfc], 0
xor eax, eax
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
test eax, eax
je 0x10084f20
cmp eax, 0x10000
jae 0x10084f20
mov ecx, dword [esi + 0x14f0]
add esi, 0x14f0
movzx ebx, ax
mov edi, dword [esi + 4]
cmp ecx, edi
jne 0x10084f17
inc ecx
test edi, edi
je 0x10084f03
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10084f08
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.10052b50
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.0x10084f83.515
call fcn.10084960
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.0x10084f83.515
movzx eax, byte [eax + 0x100851d0]
jmp dword [eax*4 + 0x100851c0]
xor ebx, ebx
cmp edx, 0x204
sete bl
cmp edx, 0x207
jne 0x10084fa4
mov ebx, 2
jmp 0x10084fc5
cmp edx, 0x20b
jne 0x10084fc5
movzx eax, word [ebp + 8]
cmp eax, 0x20
jne 0x10084fba
lea ebx, [eax - 0x1d]
jmp 0x10084fc5
cmp eax, 0x40
mov ecx, 4
cmove ebx, ecx
xor eax, eax
nop word [eax + eax]
cmp byte [esi + eax + 0xe8], 0
jne 0x10084ff1
inc eax
cmp eax, 5
jl 0x10084fd0
call dword [sym.imp.USER32.dll_GetCapture]
test eax, eax
jne 0x10084ff1
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 0x1008501d
mov eax, 2
jmp 0x1008503e
cmp edx, 0x20c
jne 0x1008503e
movzx ecx, word [ebp + 8]
cmp ecx, 0x20
jne 0x10085033
lea eax, [ecx - 0x1d]
jmp 0x1008503e
cmp ecx, 0x40
mov edx, 4
cmove eax, edx
mov byte [eax + esi + 0xe8], 0
xor eax, eax
nop dword [eax + eax]
cmp byte [esi + eax + 0xe8], 0
jne 0x10084f20
inc eax
cmp eax, 5
jl 0x10085050
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, edi
jne 0x10084f20
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 0x10085097
movss xmm0, dword [0x10162728]
jmp 0x1008509f
movss xmm0, dword [0x10162a14]
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]
nop dword [eax]
sub cl, byte [edi + 8]
adc byte [ebp - 1307572146], dl
dec esi
or byte [eax], dl
iretd