Function at 0x5b5745
Capabilities:
Create process on windows
Log keystrokes via polling

Disassembly:
push ebp
sub esp, 0x60
mov eax, 0x6b1aab
call fcn.00640244
sub esp, 0x104
push ebx
push esi
push edi
mov edi, dword [ebp + 0x6c]
mov eax, 0x2b76
mov esi, ecx
mov dword [ebp + 0x34], esi
cmp edi, eax
jg 0x5b5823
je 0x5b5819
cmp edi, 0x38
jg 0x5b57bf
cmp edi, 0x35
jge 0x5b57b4
cmp edi, 0x2f
je 0x5b57aa
cmp edi, 0x31
jle 0x5b585e
cmp edi, 0x33
jle 0x5b57b4
cmp edi, 0x34
jne 0x5b585e
push dword [esi + 4]
call fcn.005ddc2e
jmp 0x5b6a0f
call fcn.005df48b
jmp 0x5b6a0f
push edi
call fcn.005b726e
jmp 0x5b6a0f
cmp edi, 0x41
je 0x5b57da
cmp edi, 0x2b73
jne 0x5b585e
call fcn.005b7621
jmp 0x5b6a0f
mov ecx, dword [esi + 0xe8]
xor ebx, ebx
add ecx, 0x40
cmp dword [ecx + 0x10], ebx
je 0x5b580e
push ebx
call fcn.00424036
mov ecx, dword [esi + 0xe8]
push dword [eax]
call fcn.005eec10
cmp byte [eax + 0x28], 0x11
jne 0x5b580e
lea ebx, [eax + 0x2c]
cmp dword [ebx + 0x14], 8
jb 0x5b580e
mov ebx, dword [ebx]
push ebx
call fcn.00585b4b
jmp 0x5b6a0f
call fcn.005b7612
jmp 0x5b6a0f
mov eax, edi
sub eax, 0x2b7c
je 0x5b69c9
sub eax, 4
je 0x5b69ab
sub eax, 1
je 0x5b69a4
sub eax, 1
je 0x5b699d
sub eax, 1
je 0x5b6996
dec eax
sub eax, 1
je 0x5b6975
xor ebx, ebx
mov byte [ebp + 0x5f], bl
cmp edi, 0x28
jne 0x5b5878
mov eax, dword [0x7ac798]
cmp eax, 4
jae 0x5b5878
lea edi, [eax + 0x17]
mov dword [ebp + 0x6c], edi
mov eax, dword [esi + 0x23c]
mov ecx, dword [eax + 0x18]
mov eax, ecx
shr eax, 0x1f
test al, 1
jne 0x5b5897
imul eax, ecx, 0xc
call fcn.006408f0
mov dword [ebp + 0x58], esp
jmp 0x5b58ab
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [0x7b0cc8], eax
mov dword [0], ebx
mov dword [ebp + 0x58], ebx
mov eax, dword [esi + 0x23c]
mov ecx, dword [eax + 0x18]
mov eax, ecx
shr eax, 0x1f
test al, 1
jne 0x5b58cc
mov eax, ecx
shl eax, 2
call fcn.006408f0
mov dword [ebp + 0x4c], esp
jmp 0x5b58e0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [0x7b0cc8], eax
mov dword [0], ebx
mov dword [ebp + 0x4c], ebx
mov eax, dword [esi + 0x23c]
push 2
push 0xffffffffffffffff
push 0x100c
push dword [eax + 0xc]
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x54], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp + 0x48], eax
cmp eax, 0xffffffff
je 0x5b5a7d
mov eax, dword [ebp + 0x58]
mov edi, dword [ebp + 0x48]
mov dword [ebp + 0x60], eax
mov eax, dword [esi + 0x23c]
mov ecx, dword [ebp + 0x40]
cmp ecx, dword [eax + 0x18]
jae 0x5b5a7a
lea ecx, [esi + 0x148]
push edi
call fcn.0060dd56
mov ecx, dword [ebp + 0x60]
mov eax, dword [eax + 0x1c]
mov dword [ecx], eax
mov ecx, ebx
mov dword [ebp + 0x48], ecx
cmp eax, 1
jne 0x5b59f6
lea ecx, [ebp - 0xd4]
call fcn.004bdf77
push edi
lea ecx, [esi + 0x148]
mov dword [ebp - 4], ebx
call fcn.0060dd56
push dword [eax + 0xe0]
call fcn.004c0afb
mov ecx, eax
mov eax, ebx
mov dword [ebp + 0x30], ecx
mov dword [ebp + 0x38], eax
cmp dword [ecx + 0x3c], eax
jbe 0x5b59e4
add ecx, 0x2c
mov dword [ebp + 0x44], ecx
push eax
call fcn.004f038d
push edi
lea ecx, [esi + 0x148]
mov dword [ebp + 0x3c], eax
call fcn.0060dd56
mov ecx, dword [ebp + 0x3c]
add eax, 0x20
push eax
add ecx, 0x18
call fcn.00438e88
test eax, eax
jne 0x5b59ca
push edi
lea ecx, [esi + 0x148]
call fcn.0060dd56
mov ecx, dword [ebp + 0x3c]
add eax, 0xe4
push eax
lea ecx, [ecx + 0x30]
call fcn.0040ff04
test eax, eax
je 0x5b59de
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x30]
inc eax
mov dword [ebp + 0x38], eax
cmp eax, dword [ecx + 0x3c]
jae 0x5b59e4
mov ecx, dword [ebp + 0x44]
jmp 0x5b5981
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 0x48], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.0048ca94
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x60]
push edi
mov dword [eax + 8], ecx
lea ecx, [esi + 0x148]
call fcn.0060dd56
cmp dword [eax + 0x1c], ebx
jne 0x5b5a21
push edi
lea ecx, [esi + 0x148]
call fcn.0060dd56
mov ecx, dword [eax + 0xdc]
jmp 0x5b5a23
mov ecx, ebx
mov eax, dword [ebp + 0x60]
mov dword [eax + 4], ecx
cmp dword [eax], ebx
jne 0x5b5a4f
push edi
lea ecx, [esi + 0x148]
call fcn.0060dd56
mov ecx, dword [ebp + 0x54]
mov edx, dword [ebp + 0x4c]
mov eax, dword [eax + 0xdc]
mov dword [edx + ecx*4], eax
inc ecx
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x54], ecx
inc dword [ebp + 0x40]
add eax, 0xc
push 2
mov dword [ebp + 0x60], eax
mov eax, dword [esi + 0x23c]
push edi
push 0x100c
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x5b5913
mov edi, dword [ebp + 0x6c]
cmp edi, 0x25
mov edi, dword [ebp + 0x70]
je 0x5b5bfd
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x54]
cmp eax, 0x2c
je 0x5b5ae4
cmp eax, 0x6a
jne 0x5b5b7b
cmp ecx, 0xa
jbe 0x5b5b7b
test edi, edi
je 0x5b5ab6
cmp byte [edi], 0
je 0x5b5ab6
mov byte [edi], bl
call fcn.00478862
push dword [ebp + 0x54]
mov dword [ebp - 0x4c], 1
push 0x24
mov dword [ebp - 0x48], 4
call fcn.0058c7b7
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004654e1
add esp, 0xc
mov dword [ebp - 4], 3
jmp 0x5b5b29
cmp ecx, 0xa
jbe 0x5b5b7b
test edi, edi
je 0x5b5afd
cmp byte [edi], 0
je 0x5b5afd
mov byte [edi], bl
call fcn.00478862
push dword [ebp + 0x54]
mov dword [ebp - 0x4c], 1
push 0x25
mov dword [ebp - 0x48], 4
call fcn.0058c7b7
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004654e1
add esp, 0xc
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x5b5b31
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0058da56
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x24]
mov dword [ebp + 0x70], eax
call fcn.004281f2
test edi, edi
je 0x5b5b60
cmp byte [edi], 0
jne 0x5b5b60
mov byte [edi], 1
call fcn.00478821
mov eax, dword [ebp + 0x70]
cmp eax, 7
je 0x5b6a0f
cmp eax, 2
je 0x5b6a0f
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x40]
sub edx, ecx
cmp dword [ebp + 0x40], 0
mov dword [ebp + 0x30], edx
je 0x5b6a0f
test ecx, ecx
je 0x5b5ceb
cmp eax, 0x17
je 0x5b5bad
cmp eax, 0x18
je 0x5b5bad
cmp eax, 0x19
je 0x5b5bad
cmp eax, 0x1a
jne 0x5b5ceb
cmp byte [0x7ac4b1], 0
je 0x5b5cb0
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x48], 0x24
mov dword [ebp - 0x4c], 1
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x170]
test al, al
je 0x5b5c4b
cmp byte [0x7ac7ff], 0
je 0x5b5cb0
mov eax, dword [ebp + 0x4c]
push dword [eax]
call fcn.0061cbe6
test al, al
je 0x5b6a0f
jmp 0x5b5cb0
mov eax, dword [ebp + 0x54]
cmp eax, 0xa
jbe 0x5b5b75
test edi, edi
je 0x5b5c1c
cmp byte [edi], 0
je 0x5b5c1c
mov byte [edi], bl
call fcn.00478862
mov eax, dword [ebp + 0x54]
push eax
push 0x23
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x48], 4
call fcn.0058c7b7
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004654e1
add esp, 0xc
mov dword [ebp - 4], 2
jmp 0x5b5b29
test edi, edi
je 0x5b5c5b
cmp byte [edi], 0
je 0x5b5c5b
mov byte [edi], bl
call fcn.00478862
push dword [ebp + 0x54]
lea eax, [ebp - 0x24]
push ebx
push eax
call fcn.005b894c
cmp dword [eax + 0x14], 8
mov dword [ebp - 4], 4
jb 0x5b5c77
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0058da56
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x24]
mov dword [ebp + 0x70], eax
call fcn.004281f2
test edi, edi
je 0x5b5ca6
cmp byte [edi], 0
jne 0x5b5ca6
mov byte [edi], 1
call fcn.00478821
cmp dword [ebp + 0x70], 6
jne 0x5b6a0f
push 0x1b
push dword [esi + 4]
mov dword [ebp - 0x100], 3
mov dword [ebp - 0x104], ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebp - 0x110]
push ecx
push 0xffffffffffffffff
push 0x102b
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esi + 0x23c]
call fcn.00596cfe
mov byte [ebp + 0x53], bl
mov dword [ebp - 4], 6
test edi, edi
jne 0x5b5d05
lea edi, [ebp + 0x53]
mov byte [ebp + 0x53], 1
call fcn.00478821
mov ecx, dword [ebp + 0x6c]
cmp ecx, 0x22
jne 0x5b5d77
mov ecx, dword [ebp + 0x54]
mov eax, ebx
mov dword [ebp + 0x70], eax
test ecx, ecx
je 0x5b5d71
mov edx, dword [ebp + 0x4c]
dec ecx
lea ecx, [edx + ecx*4]
mov dword [ebp + 0x48], ecx
jmp 0x5b5d28
mov edx, dword [ebp + 0x4c]
mov eax, dword [edx + eax*4]
mov ecx, esi
push eax
mov dword [ebp + 0x44], eax
call fcn.005b8d8a
test eax, eax
jne 0x5b5d56
mov edx, dword [ebp + 0x48]
mov esi, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x70]
dec dword [ebp + 0x54]
mov eax, dword [edx]
sub edx, 4
mov dword [ebp + 0x48], edx
mov dword [esi + ecx*4], eax
mov esi, dword [ebp + 0x34]
jmp 0x5b5d65
mov ecx, dword [ebp + 0x44]
mov eax, dword [ecx]
call dword [eax + 0x15c]
test al, 0x20
je 0x5b5dd7
mov eax, dword [ebp + 0x70]
inc eax
mov dword [ebp + 0x70], eax
cmp eax, dword [ebp + 0x54]
jb 0x5b5d25
push 0x23
pop ecx
mov dword [ebp + 0x6c], ecx
cmp ecx, 0x13
jne 0x5b5dc5
cmp dword [0x7bdb7c], 0
je 0x5b5dd7
push dword [0x7a1c9c]
lea eax, [ebp + 0x70]
push eax
call fcn.0048f758
push ecx
mov ecx, dword [eax]
mov edx, esp
mov byte [ebp - 4], 7
mov dword [edx], ecx
test ecx, ecx
je 0x5b5da7
mov eax, dword [ecx]
call dword [eax]
push 0xb
call fcn.004876fd
mov ecx, dword [ebp + 0x70]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x5b5dbe
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0x6c]
mov byte [ebp - 4], 6
cmp ecx, 0x1c
je 0x5b68f8
cmp ecx, 0x1b
je 0x5b68f8
xor eax, eax
mov dword [ebp - 0x68], 7
mov dword [ebp - 0x6c], ebx
mov word [ebp - 0x7c], ax
mov eax, ebx
mov byte [ebp - 4], 9
mov byte [ebp + 0x52], bl
mov dword [ebp + 0x38], ebx
cmp dword [ebp + 0x40], eax
jbe 0x5b6889
mov edx, dword [ebp + 0x58]
imul eax, eax, 0xc
mov ecx, dword [eax + edx + 4]
mov edx, dword [eax + edx + 8]
mov dword [ebp + 0x70], edx
mov edx, dword [ebp + 0x58]
mov dword [ebp + 0x60], ecx
mov eax, dword [eax + edx]
test eax, eax
jne 0x5b672d
push ecx
mov ecx, esi
call fcn.005b8d8a
test eax, eax
je case.0x5b5e93.27
mov ecx, dword [ebp + 0x6c]
lea eax, [ecx - 0x2710]
mov dword [ebp + 0x70], eax
cmp eax, 0x3e7
ja 0x5b5e69
cmp byte [edi], 0
je 0x5b5e50
mov byte [edi], bl
call fcn.00478862
mov eax, dword [ebp + 0x70]
push eax
push dword [ebp + 0x60]
call fcn.0059213f
cmp byte [edi], 0
jne 0x5b5e66
mov byte [edi], 1
call fcn.00478821
mov ecx, dword [ebp + 0x6c]
cmp ecx, 0x6a
jg 0x5b670a
je 0x5b6689
cmp ecx, 0x26
jg 0x5b624a
je 0x5b5ffa
lea eax, [ecx - 0x13]
cmp eax, 0x12
ja case.0x5b5e93.27
jmp dword [eax*4 + 0x5b6a29]
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
call dword [eax + 0x54]
mov byte [ebp + 0x5f], 1
jmp case.0x5b5e93.27
mov ecx, dword [ebp + 0x60]
call fcn.004b2ddc
jmp 0x5b5ea2
mov ecx, dword [ebp + 0x60]
call fcn.004b8541
jmp 0x5b5ea2
mov ecx, dword [ebp + 0x60]
call fcn.004b7367
jmp 0x5b5ea2
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
call dword [eax + 0x15c]
test al, 0x40
jne 0x5b5ea2
mov ecx, dword [ebp + 0x60]
push 1
call fcn.004b3160
jmp 0x5b5ea2
mov edx, dword [ebp + 0x60]
cmp dword [edx + 0x4e4], 0
je 0x5b5ef4
mov byte [ebp + 0x52], 1
movzx ecx, byte [0x7ac7da]
mov eax, dword [ebp + 0x6c]
neg ecx
push 1
sbb ecx, ecx
add eax, 0xffffffe9
and ecx, 4
or ecx, eax
push ecx
mov ecx, edx
call fcn.004b39e2
mov eax, dword [ebp + 0x60]
cmp eax, dword [esi + 0x234]
jne 0x5b5f2a
push ebx
mov ecx, esi
call fcn.005bfb39
mov eax, dword [ebp + 0x60]
cmp eax, dword [esi + 0x1b8]
jne case.0x5b5e93.27
mov eax, dword [esi + 0x23c]
push ebx
push 0xffffffffffffffff
push 0x1076
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x5b5ea2
mov eax, dword [ebp + 0x60]
mov edx, dword [eax]
lea eax, [ecx - 0x1d]
mov ecx, dword [ebp + 0x60]
push eax
call dword [edx + 0x5c]
mov ecx, dword [ebp + 0x60]
push ebx
push 0x20000
call fcn.004a4015
mov ecx, 0x7b1984
call fcn.0051043c
jmp case.0x5b5e93.27
mov edx, dword [ebp + 0x60]
xor ecx, ecx
push edi
mov eax, dword [edx + 0xd8]
mov al, byte [eax + 0x89]
test al, al
sete cl
dec ecx
push ecx
push edx
call fcn.00591665
jmp case.0x5b5e93.27
cmp dword [0x7bdb7c], 0
je case.0x5b5e93.27
mov ecx, dword [esi + 0x23c]
push ebx
push 0xe
call fcn.005964de
mov ecx, dword [0x7bdb7c]
push ebx
push 0xffffffffffffffff
push edi
push dword [ebp + 0x60]
call fcn.005dad53
mov ecx, dword [0x7bdb7c]
mov al, byte [ecx + 0x68]
test al, al
je case.0x5b5e93.27
push edi
push ebx
push ebx
call fcn.005db1fa
jmp case.0x5b5e93.27
mov ecx, dword [ebp + 0x60]
call fcn.004b4225
jmp case.0x5b5e93.27
xor eax, eax
mov dword [ebp - 0xb0], 7
mov dword [ebp - 0xb4], ebx
mov word [ebp - 0xc4], ax
push edi
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x48], 0x23
call fcn.0049531d
push eax
lea eax, [ebp - 0xc4]
push eax
push ebx
push dword [ebp + 0x60]
call fcn.00582913
neg al
sbb al, al
add al, 1
mov byte [ebp + 0x73], al
je 0x5b6233
mov ecx, dword [ebp + 0x60]
mov dword [ebp + 0x14], 7
mov dword [ebp + 0x10], ebx
mov eax, dword [ecx + 0xd8]
mov dword [ebp + 0x48], eax
xor eax, eax
mov word [ebp], ax
mov eax, dword [ecx]
mov byte [ebp - 4], 0xd
call dword [eax + 0x130]
push eax
lea ecx, [ebp + 0x18]
call fcn.00429973
push 1
lea eax, [ebp + 0x18]
mov byte [ebp - 4], 0xe
push eax
sub esp, 0x18
lea eax, [ebp - 0xc4]
mov ecx, esp
push eax
call fcn.00427b8e
lea eax, [ebp - 0x24]
push eax
call fcn.00460380
push eax
lea ecx, [ebp - 0xc4]
call fcn.00427c6d
push ebx
push 1
lea ecx, [ebp - 0x24]
call fcn.004281f2
push ebx
push 1
lea ecx, [ebp + 0x18]
call fcn.004281f2
xor eax, eax
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], ebx
mov word [ebp - 0x94], ax
mov ecx, dword [ebp + 0x48]
mov byte [ebp - 4], 0xf
test ecx, ecx
je 0x5b6140
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5b6140
mov al, byte [ecx + 0x89]
test al, al
je 0x5b6140
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
call dword [eax + 0x4c]
test al, al
je 0x5b6140
mov eax, dword [ebp + 0x48]
push 1
mov eax, dword [eax + 4]
add eax, 0x34
push eax
sub esp, 0x18
lea eax, [ebp - 0xc4]
mov ecx, esp
push eax
call fcn.00427b8e
lea eax, [ebp + 0x18]
push eax
call fcn.00460380
push eax
lea ecx, [ebp - 0x94]
call fcn.00427c6d
push ebx
push 1
lea ecx, [ebp + 0x18]
call fcn.004281f2
jmp 0x5b6155
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x94]
call fcn.0042835e
cmp dword [ebp - 0x80], 8
mov eax, dword [ebp - 0x94]
jae 0x5b6167
lea eax, [ebp - 0x94]
push eax
call fcn.00461054
test al, al
je 0x5b61f8
cmp byte [edi], 0
je 0x5b6181
mov byte [edi], bl
call fcn.00478862
cmp dword [ebp - 0x80], 8
mov eax, dword [ebp - 0x94]
jae 0x5b6193
lea eax, [ebp - 0x94]
push eax
push 0x35e
call fcn.0058c7b7
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.004654e1
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp]
mov byte [ebp - 4], 0x10
call fcn.0042823e
push ebx
push 1
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 0xf
call fcn.004281f2
cmp dword [ebp + 0x14], 8
mov eax, dword [ebp]
jae 0x5b61d6
lea eax, [ebp]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0058da56
cmp eax, 6
pop ecx
sete al
cmp byte [edi], 0
pop ecx
mov byte [ebp + 0x73], al
jne 0x5b61fb
mov byte [edi], 1
call fcn.00478821
mov al, byte [ebp + 0x73]
test al, al
je 0x5b621a
mov ecx, dword [ebp + 0x60]
lea eax, [ebp - 0xc4]
push ebx
push ebx
push eax
call fcn.004ada08
mov ecx, 0x7b1984
call fcn.0051043c
push ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.004281f2
push ebx
push 1
lea ecx, [ebp]
call fcn.004281f2
lea ecx, [ebp - 0xc4]
push ebx
push 1
mov byte [ebp - 4], 9
call fcn.004281f2
jmp case.0x5b5e93.27
cmp ecx, 0x2e
jg 0x5b62f3
je 0x5b68c9
sub ecx, 0x27
je 0x5b62e6
dec ecx
sub ecx, 1
je 0x5b62d9
sub ecx, 1
je 0x5b62d5
sub ecx, 1
je 0x5b62c7
sub ecx, 1
je 0x5b62b7
sub ecx, 1
jne case.0x5b5e93.27
lea ecx, [ebp + 4]
call fcn.0057d4ab
mov ecx, edi
mov byte [ebp - 4], 0x1e
call fcn.005cc786
push dword [ebp + 0x60]
lea eax, [ebp + 4]
push eax
call fcn.005e3cc0
mov ecx, edi
call fcn.005c3db0
lea ecx, [ebp + 4]
mov byte [ebp - 4], 9
call fcn.004727de
jmp case.0x5b5e93.27
push ebx
push 0xffffffffffffffff
push dword [ebp + 0x60]
call fcn.00591596
jmp case.0x5b5e93.27
push ebx
push dword [ebp + 0x60]
call fcn.005e9bb0
jmp case.0x5b5e93.27
push 1
jmp 0x5b62c8
mov ecx, dword [ebp + 0x60]
call fcn.004a19ce
jmp case.0x5b5e93.27
mov ecx, dword [ebp + 0x60]
call fcn.004b3fa2
jmp case.0x5b5e93.27
sub ecx, 0x39
je 0x5b662d
sub ecx, 1
je case.0x5b5e93.22
sub ecx, 3
je 0x5b6328
sub ecx, 1
je 0x5b68d9
sub ecx, 1
jne case.0x5b5e93.27
mov ecx, esi
call fcn.005b55ed
jmp 0x5b68eb
xor eax, eax
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x44], ax
mov eax, dword [ebp + 0x60]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x11
mov byte [ebp + 0x73], bl
mov eax, dword [eax + 0xd8]
mov dword [ebp + 0x3c], eax
add eax, 0x28
push eax
call fcn.00427b8e
cmp dword [ebp - 0x54], 0
mov byte [ebp - 4], 0x12
jne 0x5b6371
push 0xffffffffffffffff
push ebx
push 0x7ac5e0
lea ecx, [ebp - 0x64]
call fcn.0042835e
xor eax, eax
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x9c], ebx
mov word [ebp - 0xac], ax
mov ecx, dword [ebp + 0x3c]
mov byte [ebp - 4], 0x13
mov al, byte [ecx + 0x89]
test al, al
je 0x5b65ac
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
call dword [eax + 0x130]
mov esi, eax
push esi
call fcn.00428460
pop ecx
push eax
push esi
lea ecx, [ebp - 0xac]
call fcn.00438cfb
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x5b63cc
lea eax, [ebp - 0x64]
push 0x5c
push eax
call fcn.0065b08b
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x5b6421
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x24]
call fcn.00427b8e
cmp dword [ebp - 0x50], 8
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x14
jae 0x5b63f8
lea ecx, [ebp - 0x64]
cmp dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x24]
jae 0x5b6404
lea eax, [ebp - 0x24]
sub esi, ecx
lea ecx, [ebp - 0x64]
sar esi, 1
push esi
push eax
call fcn.00438cfb
push ebx
push 1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x13
call fcn.004281f2
mov esi, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
call dword [eax + 0x130]
push eax
push 0x479
call fcn.0058c7b7
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004654e1
add esp, 0xc
lea ecx, [ebp - 0x44]
push eax
call fcn.00427c6d
push ebx
push 1
lea ecx, [ebp - 0x24]
call fcn.004281f2
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp + 0x18]
call fcn.00427b8e
cmp byte [edi], 0
mov byte [ebp - 4], 0x15
je 0x5b647a
mov byte [edi], bl
call fcn.00478862
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x110]
call fcn.00615080
push ebx
push 0x150
mov byte [ebp - 4], 0x16
call fcn.0058dbd3
push eax
lea ecx, [ebp - 0x110]
call fcn.0058f4ca
cmp dword [ebp - 0xd8], 0
jne 0x5b64c8
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp + 0x18]
call fcn.00438e88
test eax, eax
je 0x5b64c8
mov byte [ebp + 0x73], 1
push 1
lea eax, [ebp + 0x18]
push eax
sub esp, 0x18
lea eax, [ebp - 0x64]
mov ecx, esp
push eax
call fcn.00427b8e
lea eax, [ebp]
push eax
call fcn.00460380
cmp byte [ebp + 0x73], 0
mov byte [ebp - 4], 0x17
je 0x5b652c
cmp dword [ebp + 0x14], 8
mov eax, dword [ebp]
jae 0x5b64fb
lea eax, [ebp]
push eax
call fcn.00461054
test al, al
je 0x5b652c
push 0x35f
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 0x30
call fcn.0058c7b7
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0058da56
pop ecx
pop ecx
mov byte [ebp + 0x73], bl
cmp byte [edi], 0
jne 0x5b6539
mov byte [edi], 1
call fcn.00478821
mov al, byte [ebp + 0x73]
test al, al
je 0x5b65de
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 0x70], esp
push ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], 7
call fcn.0042813d
sub esp, 0x18
mov byte [ebp - 4], 0x18
lea eax, [ebp]
mov ecx, esp
push eax
call fcn.00427b8e
mov ecx, dword [ebp + 0x3c]
mov byte [ebp - 4], 0x17
call fcn.00507a85
mov eax, dword [ebp + 0x3c]
cmp dword [eax + 0x38], ebx
je 0x5b65ce
cmp dword [ebp + 0x14], 8
mov ecx, dword [ebp]
jae 0x5b658e
lea ecx, [ebp]
cmp dword [ebp - 0x98], 8
mov eax, dword [ebp - 0xac]
jae 0x5b65a3
lea eax, [ebp - 0xac]
push ecx
push eax
call fcn.00581e44
jmp 0x5b65d0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0xac]
add eax, 0x34
cmp ecx, eax
je 0x5b6424
push 0xffffffffffffffff
push ebx
push eax
call fcn.0042835e
jmp 0x5b6424
mov al, 1
test al, al
je 0x5b65de
mov eax, dword [ebp + 0x60]
or byte [eax + 0x14d], 1
push ebx
push 1
lea ecx, [ebp]
call fcn.004281f2
lea ecx, [ebp - 0x110]
call fcn.0058e83f
push ebx
push 1
lea ecx, [ebp + 0x18]
call fcn.004281f2
push ebx
push 1
lea ecx, [ebp - 0xac]
call fcn.004281f2
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.004281f2
lea ecx, [ebp - 0x44]
jmp 0x5b6239
mov ecx, dword [ebp + 0x60]
call fcn.004b2ff6
jmp 0x5b5ea2
cmp dword [ebp - 0x6c], 0
je 0x5b6640
push 0x6cf6a0
lea ecx, [ebp - 0x7c]
call fcn.0049ed01
mov ecx, dword [ebp + 0x60]
lea eax, [ebp - 0x24]
push eax
call fcn.004a84fb
push eax
lea eax, [ebp + 0x18]
mov byte [ebp - 4], 0x1c
push eax
call fcn.00440897
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x1d
call fcn.0042823e
push ebx
push 1
lea ecx, [ebp + 0x18]
call fcn.004281f2
push ebx
push 1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 9
call fcn.0040f52f
jmp case.0x5b5e93.27
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax + 0xd4]
mov dword [ebp + 0x70], ecx
mov ecx, eax
call fcn.004a7320
cmp dword [eax + 0x14], 8
jb 0x5b66a4
mov eax, dword [eax]
mov ecx, dword [ebp + 0x70]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005242e3
mov ecx, edi
mov byte [ebp - 4], 0x1a
call fcn.005cc786
cmp dword [ebp + 0x2c], 8
mov eax, dword [ebp + 0x18]
jae 0x5b66c8
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x24]
push str.__s_
push eax
call fcn.004654e1
add esp, 0xc
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x1b
jb 0x5b66e6
mov eax, dword [eax]
push eax
call fcn.00462faf
push ebx
push 1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1a
call fcn.004281f2
mov ecx, edi
call fcn.005c3db0
lea ecx, [ebp + 0x18]
jmp 0x5b6239
cmp ecx, 0x6c
jne case.0x5b5e93.27
mov ecx, dword [ebp + 0x60]
push 1
push ebx
push ebx
call fcn.004d4cba
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp case.0x5b5e93.27
cmp eax, 1
jne 0x5b6844
mov ecx, edi
call fcn.005cc786
lea ecx, [ebp - 0xcc]
call fcn.004bdf77
mov eax, dword [ebp + 0x70]
mov byte [ebp - 4], 0x20
push dword [eax + 0x74]
call fcn.004c0afb
mov ecx, dword [ebp + 0x6c]
mov dword [ebp + 0x44], eax
sub ecx, 0x16
je 0x5b677b
sub ecx, 0x1a
je 0x5b67ce
sub ecx, 1
je 0x5b67bf
dec ecx
sub ecx, 1
je 0x5b678e
sub ecx, 8
jne 0x5b6820
cmp dword [ebp + 0x30], 1
jbe 0x5b67eb
push dword [ebp + 0x70]
call fcn.004c23d3
jmp 0x5b6820
mov eax, dword [ebp + 0x70]
lea edx, [eax + 0x30]
cmp dword [edx + 0x14], 0x10
jb 0x5b679c
mov edx, dword [edx]
lea ecx, [eax + 0x18]
cmp dword [ecx + 0x14], 8
jb 0x5b67a7
mov ecx, dword [ecx]
mov eax, dword [ebp + 0x44]
add eax, 0xc
cmp dword [eax + 0x14], 8
jb 0x5b67b5
mov eax, dword [eax]
push edx
push ecx
push eax
call fcn.004bff83
jmp 0x5b6820
push dword [ebp + 0x70]
call fcn.004bf27d
call fcn.005df48b
jmp 0x5b6820
mov eax, dword [ebp + 0x70]
add eax, 0x30
cmp dword [eax + 0x14], 0x10
jb 0x5b67dc
mov eax, dword [eax]
push 1
push ebx
push ebx
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x5b6820
push ebx
push ebx
lea ecx, [ebp + 0x18]
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x2c], ebx
call fcn.004281f2
push ebx
lea eax, [ebp + 0x18]
mov byte [ebp - 4], 0x21
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp + 0x70]
call fcn.004bffbd
push ebx
push 1
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 0x20
call fcn.004281f2
lea ecx, [ebp - 0xcc]
call fcn.004c4365
mov ecx, edi
call fcn.005c3db0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 9
call fcn.0048ca94
mov edx, dword [ebp + 0x58]
mov eax, dword [ebp + 0x38]
inc eax
mov dword [ebp + 0x38], eax
cmp eax, dword [ebp + 0x40]
jb 0x5b5dff
cmp dword [ebp - 0x6c], 0
je 0x5b686f
cmp dword [ebp - 0x68], 8
mov eax, dword [ebp - 0x7c]
jae 0x5b6866
lea eax, [ebp - 0x7c]
push dword [ebp - 0x6c]
push eax
call fcn.0046385a
mov al, byte [ebp + 0x52]
test al, al
je 0x5b6889
push ebx
push ebx
push 0x8017
push dword [0x7e2568]
call dword [sym.imp.USER32.dll_PostMessageW]
push ebx
push 1
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 6
call fcn.004281f2
jmp 0x5b693f
push 0xa3
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
push edi
push dword [ebp + 0x54]
push dword [ebp + 0x4c]
test ax, ax
jns 0x5b68bb
call fcn.00591fbf
jmp 0x5b68c0
call fcn.00602633
mov ecx, esi
call fcn.005c2332
jmp 0x5b68eb
mov ecx, edi
call fcn.005cc786
mov ecx, edi
call fcn.005c3db0
jmp 0x5b68eb
push ebx
push dword [ebp + 0x60]
push 0x8065
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
push ebx
push 1
lea ecx, [ebp - 0x7c]
call fcn.004281f2
jmp 0x5b695a
xor eax, eax
cmp ecx, 0x1b
push 0x10
sete al
add eax, 4
mov dword [ebp + 0x6c], eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
mov eax, dword [ebp + 0x6c]
jns 0x5b6919
or eax, 2
push eax
push dword [ebp + 0x54]
push dword [ebp + 0x4c]
call fcn.0048d46f
mov ecx, 0x7b1984
call fcn.0051043c
mov dword [0x7b16e0], ebx
mov dword [0x7b16e4], ebx
mov byte [ebp + 0x5f], 1
mov ecx, edi
call fcn.005cc786
cmp byte [ebp + 0x5f], 0
je 0x5b6953
mov ecx, esi
call fcn.005bdfb6
mov ecx, esi
call fcn.005c2690
cmp byte [ebp + 0x53], 0
mov dword [ebp - 4], 0x22
je 0x5b6a0f
call fcn.00478862
jmp 0x5b6a0f
push 0
call fcn.005cc6a3
call fcn.005a8e35
push eax
call fcn.005a9637
push eax
push 0x14
push str.http:__utclient.utorrent.com_pro_utorrent_index.html
call fcn.006981ce
jmp 0x5b6a0f
call fcn.005b7240
jmp 0x5b6a0f
call fcn.005b75f2
jmp 0x5b6a0f
call fcn.005b7648
jmp 0x5b6a0f
xor ebx, ebx
push ebx
push ebx
push 0x806f
push dword [esi + 0x1dc]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, esi
call fcn.005b7630
jmp 0x5b6a0f
mov edi, dword [esi + 0xe8]
xor ebx, ebx
cmp dword [edi + 0x50], ebx
jbe 0x5b6a08
push ebx
lea ecx, [edi + 0x40]
call fcn.00424036
mov ecx, dword [esi + 0xe8]
push dword [eax]
call fcn.005eec10
test eax, eax
je 0x5b6a02
cmp byte [eax + 0x28], 0x17
jne 0x5b6a02
mov ecx, dword [esi + 0xe8]
push eax
call fcn.005ef54d
inc ebx
cmp ebx, dword [edi + 0x50]
jb 0x5b69d6
mov ecx, esi
call fcn.005bb773
lea esp, [ebp - 0x11c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x64]
pop ebp
ret 8