Function at 0x100101c0
Capabilities:
Enumerate gui resources
Swap mouse buttons

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0xc]
mov cl, byte [eax]
mov byte [ebp - 1], cl
mov edx, dword [0x10070ae4]
xor eax, eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x44], 0xc9eb587c
jne 0x10010228
cmp dword [ebp - 0x40], 0
jne 0x10010228
push 0
call dword [sym.imp.USER32.dll_LoadMenuIndirectW]
push 0
call dword [sym.imp.USER32.dll_DestroyMenu]
push 0
call dword [sym.imp.USER32.dll_SwapMouseButton]
push 0
push 0
call dword [sym.imp.USER32.dll_ChangeClipboardChain]
push 0
call dword [sym.imp.USER32.dll_GetSysColor]
push 0
push 0
call dword [sym.imp.USER32.dll_EnumWindows]
call dword [sym.imp.USER32.dll_GetMessagePos]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
add edx, dword [ebp + 0x10]
mov al, byte [edx]
mov byte [ecx], al
mov dword [ebp - 0x14], 0x2116
mov dword [ebp - 8], 0x946
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xc], 0x186d
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0xa6
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x6aa
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
sub eax, 0xc58
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0xc]
sub ecx, 0x251
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x24], 0
jmp 0x100102b7
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x25
jge 0x100102c8
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
jmp 0x100102ae
mov ecx, dword [ebp - 8]
add ecx, 0xed1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], 0
jmp 0x10010308
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0xb
jge 0x10010319
mov eax, dword [ebp - 8]
add eax, 5
mov dword [ebp - 8], eax
jmp 0x100102ff
mov dword [ebp - 0x1c], 0xfee
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
sub eax, 0x9c3
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x22ed
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
sub edx, 0x8d2
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x2c], 0
jmp 0x10010367
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x4f
jge 0x10010378
mov ecx, dword [ebp - 8]
add ecx, 7
mov dword [ebp - 8], ecx
jmp 0x1001035e
mov edx, dword [ebp - 8]
add edx, 0x1f8f
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], 0
jmp 0x100103a8
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0x14
jge 0x100103b9
mov eax, dword [ebp - 0x1c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x1001039f
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 0x5c3
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100103f9
cmp dword [ebp - 8], 0
jle 0x100103f9
mov edx, dword [ebp - 8]
add edx, 0x2344
mov dword [ebp - 8], edx
jmp 0x10010404
mov eax, dword [ebp - 8]
sub eax, 0x2344
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
add eax, 0x79b
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x13e9
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x13e2
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
mov dword [ebp - 0x34], 0
jmp 0x10010465
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x1a
jge 0x10010476
mov ecx, dword [ebp - 0x14]
add ecx, 8
mov dword [ebp - 0x14], ecx
jmp 0x1001045c
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x1820
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x10]
add edx, 0x1591
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0xda5
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
sub eax, 0x1571
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x14e9
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x955
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x104f
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
sub edx, 0xc53
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x25f1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
add eax, 0x169d
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x1f47
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x14]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10010550
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
jmp 0x10010536
mov eax, dword [ebp - 0xc]
sub eax, 0x2432
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x3f0
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
add edx, 0xc33
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 8]
add eax, 0x130d
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 8]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100105a1
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x10010587
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0
jmp 0x100105bc
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], 0xa
jge 0x100105cd
mov edx, dword [ebp - 0x1c]
sub edx, 2
mov dword [ebp - 0x1c], edx
jmp 0x100105b3
mov eax, dword [ebp - 8]
add eax, 0x2215
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x257
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
sub edx, 0xe76
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1c]
add eax, 0xf2b
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x1d77
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
add edx, 0x1f5c
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x1001062d
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
jmp 0x10010613
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
add ecx, 0x2ba
mov dword [ebp - 8], ecx
mov dword [ebp - 0x3c], 0
jmp 0x10010654
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 0x55
jge 0x10010665
mov eax, dword [ebp - 0xc]
add eax, 4
mov dword [ebp - 0xc], eax
jmp 0x1001064b
mov ecx, dword [ebp - 0x18]
sub ecx, 0x53a
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x12bf
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x14ba
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 0x8a0
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0xb09
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
add eax, 0x1d8d
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 8]
add ecx, 0x26a4
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x15ba
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x229
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x2343
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
add edx, 0x88c
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
sub eax, 0x22f0
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x261d
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
sub eax, 0x127c
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x2136
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 8]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
sub eax, 0x822
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x10]
sub eax, 0x1099
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x1cf7
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x23e5
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp + 0x10]
mov dl, byte [ebp - 1]
mov byte [ecx], dl
mov esp, ebp
pop ebp
ret