Function at 0x4b7724
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x350
mov qword [rsp + 0x1c0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov r12, rcx
xor ebx, ebx
mov dword [rsp + 0x78], ebx
lea r8, str.greylink.ico
lea rsi, [0x0085e958]
mov rdx, rsi
lea rcx, [rax - 0x2d8]
call fcn.00402658
nop
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.00401f00
lea r15d, [rbx + 0x10]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
mov r9d, r15d
lea r13d, [rbx + 1]
mov r8d, r13d
mov rdx, qword [rax + 0x48]
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x338], rax
lea rax, [rsp + 0xf0]
mov rcx, qword [rsp + 0x138]
cmp rcx, rax
je 0x4b77f7
cmp rcx, rbx
je 0x4b77f7
mov rax, qword [rsp + 0xf0]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
mov r14d, 0x100
cmp rdx, r14
jbe 0x4b77f0
call fcn.006a4944
jmp 0x4b77fd
call fcn.006a3610
jmp 0x4b77fd
mov r14d, 0x100
lea rax, [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x4b7833
cmp rcx, rbx
je 0x4b7833
mov rdx, qword [rsp + 0xa0]
sub rdx, rcx
cmp rdx, r14
jbe 0x4b782e
call fcn.006a4944
jmp 0x4b7833
call fcn.006a3610
cmp qword [r12 + 0x338], rbx
jne 0x4b786a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
mov r9d, r15d
mov r8d, r13d
mov edx, 0x7b
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x338], rax
lea r8, str.greylink.ico
mov rdx, rsi
lea rcx, [rsp + 0xa0]
call fcn.00402658
nop
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.00401f00
mov dword [rsp + 0x28], r15d
mov edi, 0x20
mov dword [rsp + 0x20], edi
mov r9d, edi
mov r8d, r13d
mov rdx, qword [rax + 0x48]
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x340], rax
lea rax, [rsp + 0xf0]
mov rcx, qword [rsp + 0x138]
cmp rcx, rax
je 0x4b78f8
cmp rcx, rbx
je 0x4b78f8
mov rax, qword [rsp + 0xf0]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, r14
jbe 0x4b78f2
call fcn.006a4944
jmp 0x4b78f8
call fcn.006a3610
nop
lea rax, [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x4b792e
cmp rcx, rbx
je 0x4b792e
mov rdx, qword [rsp + 0xa0]
sub rdx, rcx
cmp rdx, r14
jbe 0x4b7929
call fcn.006a4944
jmp 0x4b792e
call fcn.006a3610
cmp qword [r12 + 0x340], rbx
jne 0x4b7964
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
mov r9d, edi
mov r8d, r13d
mov edx, 0x7b
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x340], rax
lea r8, str.offline.ico
mov rdx, rsi
lea rcx, [rsp + 0xa0]
call fcn.00402658
nop
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.00401f00
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
mov r9d, r15d
mov r8d, r13d
mov rdx, qword [rax + 0x48]
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x348], rax
lea rax, [rsp + 0xf0]
mov rcx, qword [rsp + 0x138]
cmp rcx, rax
je 0x4b79ee
cmp rcx, rbx
je 0x4b79ee
mov rax, qword [rsp + 0xf0]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, r14
jbe 0x4b79e8
call fcn.006a4944
jmp 0x4b79ee
call fcn.006a3610
nop
lea rax, [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x4b7a24
cmp rcx, rbx
je 0x4b7a24
mov rdx, qword [rsp + 0xa0]
sub rdx, rcx
cmp rdx, r14
jbe 0x4b7a1f
call fcn.006a4944
jmp 0x4b7a24
call fcn.006a3610
cmp qword [r12 + 0x348], rbx
jne 0x4b7a5b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
mov r9d, r15d
mov r8d, r13d
mov edx, 0x77
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x348], rax
lea r8, str.offline.ico
mov rdx, rsi
lea rcx, [rsp + 0xa0]
call fcn.00402658
nop
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.00401f00
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], edi
mov r9d, edi
mov r8d, r13d
mov rdx, qword [rax + 0x48]
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x350], rax
lea rax, [rsp + 0xf0]
mov rcx, qword [rsp + 0x138]
cmp rcx, rax
je 0x4b7ae4
cmp rcx, rbx
je 0x4b7ae4
mov rax, qword [rsp + 0xf0]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, r14
jbe 0x4b7ade
call fcn.006a4944
jmp 0x4b7ae4
call fcn.006a3610
nop
lea rax, [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x4b7b1a
cmp rcx, rbx
je 0x4b7b1a
mov rdx, qword [rsp + 0xa0]
sub rdx, rcx
cmp rdx, r14
jbe 0x4b7b15
call fcn.006a4944
jmp 0x4b7b1a
call fcn.006a3610
cmp qword [r12 + 0x350], rbx
jne 0x4b7b50
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
mov r9d, edi
mov r8d, r13d
mov edx, 0x77
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x350], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
mov r9d, r15d
mov r8d, r13d
mov edx, 0x2710
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x358], rax
mov rcx, qword [r12 + 8]
call fcn.0055ad40
lea rcx, str.TaskbarCreated
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [r12 + 0x9f0], eax
mov rcx, qword [0x00862d30]
add rcx, 0x50
call fcn.00593424
lea rdx, str.greylink_5.98
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov edi, 0xffffffec
mov edx, edi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetWindowLongW]
or eax, r15d
mov r8d, eax
mov edx, edi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 0x5600184c
xor r9d, r9d
lea r8, [0x0085ebf8]
mov rdx, qword [r12 + 8]
lea rcx, [r12 + 0x128]
call fcn.004c71dc
mov qword [r12 + 0xb68], rax
mov rax, qword [0x00867c88]
mov qword [r12 + 0x18], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
mov r9d, r15d
mov r8d, r13d
mov edx, 0x116
call qword [sym.imp.USER32.dll_LoadImageW]
mov qword [r12 + 0x9d8], rax
mov dword [rsp + 0x30], 0xa000
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 0xff000000
mov r9d, r15d
mov r8d, r15d
mov edx, 0xd5
mov rcx, qword [0x00861be0]
call qword [sym.imp.COMCTL32.dll_ImageList_LoadImageW]
mov qword [r12 + 0x838], rax
mov rdx, qword [r12 + 0x18]
lea rcx, [r12 + 0x128]
call fcn.004d1658
mov r11, qword [r12 + 0x838]
mov qword [r12 + 0x1a8], r11
mov eax, 0x8004
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x8007
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x8010
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x800e
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x800f
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x424
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x40d
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x43c
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x2765
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x45d
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x8008
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x457
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x42e
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x435
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x8006
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x403
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x8b
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
lea eax, [rdi + 0x7e]
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0xe132
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0xe133
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0xe134
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0xe136
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0xe137
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x27a7
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x5c1
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x84
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x594
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x4ba
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x4bd
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x8009
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0xe141
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x4de
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0xe131
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0xe140
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x427
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov esi, 0x9d
mov word [rsp + 0x60], si
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov word [rsp + 0x60], si
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x8b3
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x65d
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x27d6
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x800a
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x8cb
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov eax, 0x639
mov word [rsp + 0x60], ax
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x4f7
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x406
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x27ab
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
mov r11d, 0x63a
mov word [rsp + 0x60], r11w
lea rdx, [rsp + 0x60]
lea rcx, [r12 + 0x1b0]
call fcn.00407af8
xor edx, edx
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_SetMenu]
mov byte [r12 + 0x9d1], bl
mov rcx, r12
call fcn.004bb120
mov rsi, rax
mov qword [rsp + 0x70], rax
mov rcx, r12
call fcn.004b9e1c
mov qword [rsp + 0x98], rax
mov rcx, r12
call fcn.004ba10c
mov qword [rsp + 0x68], rax
mov rdx, qword [r12 + 8]
mov qword [rsp + 0x58], rbx
mov rcx, qword [0x00861bd8]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], 0xe800
mov qword [rsp + 0x40], rdx
lea eax, [rdi + 0x78]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, 0x56002640
xor r8d, r8d
lea rdx, str.ReBarWindow32
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov rdi, rax
cmp rax, rbx
jne 0x4b829f
mov rdi, rbx
jmp 0x4b82ef
xor eax, eax
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x80], r15d
mov dword [rsp + 0x84], ebx
lea r9, [rsp + 0x80]
xor r8d, r8d
mov edx, 0x404
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, rbx
jne 0x4b82ef
mov rcx, rdi
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdi, rbx
mov qword [r12 + 0x58], rdi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r12 + 0xb68]
mov rcx, r12
call fcn.004c6604
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, r13d
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call fcn.004c6604
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, r13d
xor r8d, r8d
mov rdx, qword [rsp + 0x98]
mov rcx, r12
call fcn.004c6604
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 0xc8
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x68]
mov rcx, r12
call fcn.004c6604
mov word [rsp + 0x250], bx
mov r9d, 0x80
lea r8, [rsp + 0x250]
mov edx, 0xe001
mov rcx, qword [0x00861be0]
call qword [sym.imp.USER32.dll_LoadStringW]
mov r9d, 0xe801
mov r8, qword [r12 + 8]
lea rdx, [rsp + 0x250]
mov ecx, 0x56000100
call qword [sym.imp.COMCTL32.dll_CreateStatusWindowW]
mov qword [r12 + 0x60], rax
mov rdi, qword [r12 + 0x58]
lea r8, [rsp + 0x60]
lea rdx, str.MainToolBar
lea rcx, [rsp + 0xa0]
call fcn.004021a8
nop
lea rdx, [rsp + 0xa0]
mov rcx, qword [0x008bb580]
call fcn.005302ac
mov rsi, rax
cmp rax, rbx
je 0x4b8555
lea rdx, [rax + 0x30]
mov r8b, 0x2c
lea rcx, [rsp + 0xf0]
call fcn.0041fd10
nop
lea rdx, [rsi + 0x60]
mov r8b, 0x2c
lea rcx, [rsp + 0x1c8]
call fcn.0041fd10
nop
lea rdx, [rsi + 0x90]
mov r8b, 0x2c
lea rcx, [rsp + 0x80]
call fcn.0041fd10
cmp dword [rsi + 0xc0], ebx
jle 0x4b852b
mov r15, rbx
mov r12d, r15d
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rax + r15 + 0x28]
call fcn.006a5458
mov r8d, eax
xor r9d, r9d
mov edx, 0x410
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r9, r12d
movsxd r8, eax
mov edx, 0x427
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x1e0], WSAStartup
mov dword [rsp + 0x1e4], 0x141
lea r9, [rsp + 0x1e0]
movsxd r8, r12d
mov edx, 0x41c
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11, qword [rsp + 0x1c8]
mov rcx, qword [r11 + r15 + 0x28]
call fcn.006a5458
mov dword [rsp + 0x218], eax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + r15 + 0x28]
call fcn.006a5458
cmp eax, ebx
jle 0x4b84e8
or dword [rsp + 0x1e8], r13d
jmp 0x4b84f0
and dword [rsp + 0x1e8], 0xfffffffe
lea r9, [rsp + 0x1e0]
movsxd r8, r12d
mov edx, 0x40b
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
add r12d, r13d
add r15, 0x30
cmp r12d, dword [rsi + 0xc0]
jl 0x4b8446
mov r12, qword [rsp + 0x380]
mov r15d, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x80]
call fcn.00401d58
nop
lea rcx, [rsp + 0x1c8]
call fcn.00401d58
nop
lea rcx, [rsp + 0xf0]
call fcn.00401d58
nop
lea rax, [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x4b858b
cmp rcx, rbx
je 0x4b858b
mov rdx, qword [rsp + 0xa0]
sub rdx, rcx
cmp rdx, r14
jbe 0x4b8586
call fcn.006a4944
jmp 0x4b858b
call fcn.006a3610
mov rcx, qword [r12 + 0x60]
mov qword [r12 + 0x710], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x409
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x140], ebx
mov dword [rsp + 0x144], ebx
mov dword [rsp + 0x148], ebx
mov dword [rsp + 0x14c], ebx
mov dword [rsp + 0x150], ebx
mov dword [rsp + 0x154], ebx
mov dword [rsp + 0x158], ebx
mov dword [rsp + 0x15c], ebx
mov dword [rsp + 0x160], ebx
mov dword [rsp + 0x164], ebx
lea r9, [rsp + 0x140]
mov edx, 0x404
mov r8d, 0xa
mov rcx, qword [r12 + 0x710]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, qword [r12 + 0x710]
mov esi, 0x48
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0x170]
call fcn.006aba40
mov dword [rsp + 0x170], esi
mov dword [rsp + 0x174], r15d
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetParent]
mov qword [rsp + 0x178], rax
or dword [rsp + 0x174], r13d
mov qword [rsp + 0x180], rdi
mov rax, qword [0x00861be0]
mov qword [rsp + 0x198], rax
or rsi, 0xffffffffffffffff
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 8
mov dword [rsp + 0x28], 0x80000043
mov qword [rsp + 0x20], rbx
lea r9, [0x0085ebf8]
mov r8, qword [r12 + 0x710]
lea rdx, str.tooltips_class32
lea rcx, [r12 + 0x708]
call fcn.00407d50
mov dword [rsp + 0x30], reloc.WS2_32.dll_send
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, qword [r12 + 0x708]
call qword [sym.imp.USER32.dll_SetWindowPos]
lea r9, [rsp + 0x170]
xor r8d, r8d
mov edx, 0x432
mov rcx, qword [r12 + 0x708]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, 0x403
mov r9d, 0x3a98
lea r8d, [rsi + 3]
mov rcx, qword [r12 + 0x708]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edi, 0x56000001
xor eax, eax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x88], 0xff00
lea esi, [rax - 0x10]
mov edx, esi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov r14d, 0x300000
test r14d, eax
je 0x4b87c1
mov edx, esi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetWindowLongW]
and eax, r14d
or edi, eax
mov edx, esi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov r8d, eax
and r8d, 0xffcfffff
cmp eax, r8d
je 0x4b87c1
mov edx, esi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [rsp + 0x30], 0x3f
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_SetWindowPos]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x58], rax
mov rax, qword [0x00861bd8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0xe900
mov rax, qword [r12 + 8]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, edi
xor r8d, r8d
lea rdx, str.MDIClient
mov ecx, 0x200
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [r12 + 0x68], rax
cmp rax, rbx
je 0x4b883f
mov rcx, rax
call qword [sym.imp.USER32.dll_BringWindowToTop]
mov r11, qword [r12 + 0x68]
mov qword [r12 + 0x10], r11
mov edx, r13d
mov rcx, r12
call fcn.004bfbb8
mov r14, qword [r12 + 0x10]
mov rcx, r14
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x4b8909
mov rcx, qword [r12 + 0x258]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x4b88be
mov rdi, qword [r12 + 0x278]
mov edx, 0xfffffffc
mov rcx, qword [r12 + 0x258]
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
cmp rdi, rax
jne 0x4b88be
mov r8, qword [r12 + 0x288]
mov edx, 0xfffffffc
mov rcx, qword [r12 + 0x258]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
cmp rax, rbx
je 0x4b88be
mov rax, qword [sym.imp.USER32.dll_DefWindowProcW]
mov qword [r12 + 0x288], rax
mov qword [r12 + 0x258], rbx
lea rcx, [r12 + 0x260]
lea r8, [r12 + 0x258]
lea rdx, [0x004102a8]
call fcn.00401cc8
cmp eax, ebx
je 0x4b8909
mov r8, qword [r12 + 0x278]
mov edx, 0xfffffffc
mov rcx, r14
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
cmp rax, rbx
je 0x4b8909
mov qword [r12 + 0x288], rax
mov qword [r12 + 0x258], r14
mov rax, qword [r12 + 0x10]
mov qword [0x008669d8], rax
call fcn.004b0ae0
or dword [rax + 4], 8
mov r14, qword [r12 + 8]
lea rsi, [r12 + 0x718]
call fcn.004b0ae0
cmp qword [rax + 0x50], rbx
jne 0x4b893f
call fcn.004b0ae0
mov qword [rax + 0x50], rbx
call fcn.004b0ae0
mov rcx, rax
lea rdx, [rsi + 0x40]
call fcn.004447a8
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x38], ax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 0x56000000
xor r9d, r9d
lea r8, [0x0085ebf8]
mov rdx, r14
mov rcx, rsi
call fcn.004a3950
mov qword [0x008669e0], rsi
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x31a1], bl
jne 0x4b89ae
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4b89ae
mov edx, 0x321
call fcn.0041024c
jmp 0x4b89b4
mov al, byte [rax + 0x2dc2]
mov byte [r12 + 0xa58], al
mov rdi, qword [r12 + 8]
mov rax, qword [0x0085ffd0]
mov qword [0x0085ffd0], rax
lea rdx, [r12 + 0x3b8]
lea rcx, [0x0085ff80]
call fcn.00407b9c
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x38], ax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 0x56000000
xor r9d, r9d
mov r8, rbx
mov rdx, rdi
lea rcx, [r12 + 0x378]
call fcn.004a3950
mov r11, qword [r12 + 0x380]
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0xd8], rax
mov qword [r12 + 0xe0], r11
lea rcx, [r12 + 0xd8]
call fcn.004c8e5c
mov dword [r12 + 0x11c], r13d
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x2fa7], bl
jne 0x4b8a6d
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4b8a6d
mov edx, 0x127
call fcn.0040a51c
jmp 0x4b8a73
mov eax, dword [rax + 0x28c0]
mov dword [r12 + 0x114], eax
mov rdx, qword [rsp + 0x70]
lea rcx, [r12 + 0xb0]
call fcn.004d1590
mov rdx, qword [rsp + 0x98]
lea rcx, [r12 + 0xb0]
call fcn.004d1590
mov rdx, qword [rsp + 0x68]
lea rcx, [r12 + 0xb0]
call fcn.004d1590
mov r8, qword [r12 + 0xc0]
mov r9, qword [r12 + 0xc8]
cmp r9, rbx
je 0x4b8b51
movzx eax, word [r8]
mov ecx, 0xffff
cmp ax, cx
je 0x4b8b44
mov edx, 0xe800
cmp dx, ax
je 0x4b8b02
add r8, 4
add r9, r15
mov ax, word [r8]
cmp ax, cx
jne 0x4b8ae0
mov edx, 0xfbff
mov r11d, 0x200
jmp 0x4b8b61
mov r11d, 0x200
test word [r9], r11w
jne 0x4b8b29
movzx eax, word [r8 + 2]
or ax, word [r9]
mov edx, 0xfbff
and ax, dx
or ax, r11w
mov word [r9], ax
jmp 0x4b8b2e
mov edx, 0xfbff
movzx eax, word [r8 + 2]
test word [r9], ax
je 0x4b8b61
or word [r12 + 0xd0], ax
jmp 0x4b8b61
mov edx, 0xfbff
mov r11d, 0x200
jmp 0x4b8b61
mov ecx, 0xffff
mov edx, 0xfbff
mov r11d, 0x200
mov r9, qword [r12 + 0xc0]
mov r8, qword [r12 + 0xc8]
cmp r8, rbx
je 0x4b8bcb
movzx eax, word [r9]
cmp ax, cx
je 0x4b8bcb
mov r10d, 0xe801
cmp r10w, ax
je 0x4b8b9d
add r9, 4
add r8, r15
mov ax, word [r9]
cmp ax, cx
jne 0x4b8b85
jmp 0x4b8bcb
test word [r8], r11w
jne 0x4b8bb7
movzx eax, word [r9 + 2]
or ax, word [r8]
and ax, dx
or ax, r11w
mov word [r8], ax
movzx eax, word [r9 + 2]
test word [r8], ax
je 0x4b8bcb
or word [r12 + 0xd0], ax
mov r9, qword [r12 + 0xc0]
mov r8, qword [r12 + 0xc8]
cmp r8, rbx
je 0x4b8c35
movzx eax, word [r9]
cmp ax, cx
je 0x4b8c35
mov r10d, 0x272f
cmp r10w, ax
je 0x4b8c07
add r9, 4
add r8, r15
mov ax, word [r9]
cmp ax, cx
jne 0x4b8bef
jmp 0x4b8c35
test word [r8], r11w
jne 0x4b8c21
movzx eax, word [r9 + 2]
or ax, word [r8]
and ax, dx
or ax, r11w
mov word [r8], ax
movzx eax, word [r9 + 2]
test word [r8], ax
je 0x4b8c35
or word [r12 + 0xd0], ax
mov r9, qword [r12 + 0xc0]
mov r8, qword [r12 + 0xc8]
cmp r8, rbx
je 0x4b8ca1
movzx eax, word [r9]
cmp ax, cx
je 0x4b8ca1
mov r14d, 0x8c
cmp r14w, ax
je 0x4b8c71
add r9, 4
add r8, r15
mov ax, word [r9]
cmp ax, cx
jne 0x4b8c59
jmp 0x4b8ca7
test word [r8], r11w
jne 0x4b8c8b
movzx eax, word [r9 + 2]
or ax, word [r8]
and ax, dx
or ax, r11w
mov word [r8], ax
movzx eax, word [r9 + 2]
test word [r8], ax
je 0x4b8ca7
or word [r12 + 0xd0], ax
jmp 0x4b8ca7
mov r14d, 0x8c
mov r9, qword [r12 + 0xc0]
mov r8, qword [r12 + 0xc8]
cmp r8, rbx
je 0x4b8d11
movzx eax, word [r9]
cmp ax, cx
je 0x4b8d11
mov r10d, 0xa0
cmp r10w, ax
je 0x4b8ce3
add r9, 4
add r8, r15
mov ax, word [r9]
cmp ax, cx
jne 0x4b8ccb
jmp 0x4b8d11
test word [r8], r11w
jne 0x4b8cfd
movzx eax, word [r9 + 2]
or ax, word [r8]
and ax, dx
or ax, r11w
mov word [r8], ax
movzx eax, word [r9 + 2]
test word [r8], ax
je 0x4b8d11
or word [r12 + 0xd0], ax
mov rsi, qword [0x00862cb8]
cmp byte [rsi + 0x31b4], bl
jne 0x4b8d38
mov rcx, qword [rsi + 0xb8]
cmp rcx, rbx
je 0x4b8d38
mov edx, 0x334
call fcn.0041024c
jmp 0x4b8d3e
mov al, byte [rsi + 0x2dd5]
mov r8d, ebx
cmp al, bl
setne r8b
xor r9d, r9d
mov edx, 0x9e
lea rcx, [r12 + 0xb0]
call fcn.004d14d0
cmp byte [rsi + 0x31b5], bl
jne 0x4b8d7c
mov rcx, qword [rsi + 0xb8]
cmp rcx, rbx
je 0x4b8d7c
mov edx, 0x335
call fcn.0041024c
jmp 0x4b8d82
mov al, byte [rsi + 0x2dd6]
mov r8d, ebx
cmp al, bl
setne r8b
xor r9d, r9d
mov edx, 0x9f
lea rcx, [r12 + 0xb0]
call fcn.004d14d0
cmp byte [rsi + 0x31b4], bl
jne 0x4b8dc0
mov rcx, qword [rsi + 0xb8]
cmp rcx, rbx
je 0x4b8dc0
mov edx, 0x334
call fcn.0041024c
jmp 0x4b8dc6
mov al, byte [rsi + 0x2dd5]
cmp al, bl
je 0x4b8dd9
mov rcx, r12
call fcn.004c4588
mov rsi, qword [0x00862cb8]
cmp byte [rsi + 0x31b5], bl
jne 0x4b8df9
mov rcx, qword [rsi + 0xb8]
cmp rcx, rbx
je 0x4b8df9
mov edx, 0x335
call fcn.0041024c
jmp 0x4b8dff
mov al, byte [rsi + 0x2dd6]
cmp al, bl
je 0x4b8e0b
mov rcx, r12
call fcn.004c4614
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
mov rsi, qword [0x00862cb0]
lea rcx, [rsi + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, ebx
mov rax, qword [0x00867308]
cmp dword [rax + 0x10], ebx
jle 0x4b8e47
mov rcx, qword [rax]
cmp dword [rcx], edi
je 0x4b8e4b
add r11d, r13d
add rcx, 4
cmp r11d, dword [rax + 0x10]
jl 0x4b8e36
or r11d, 0xffffffff
cmp r11d, 0xffffffff
jne 0x4b8e56
mov rdi, rbx
jmp 0x4b8e74
cmp r11d, ebx
jl 0x4b9dea
cmp r11d, dword [rax + 0x10]
jge 0x4b9dea
movsxd rdx, r11d
mov rax, qword [rax + 8]
mov rdi, qword [rax + rdx*8]
lea rcx, [rsi + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea r8, [r12 + 0x78]
mov esi, dword [rdi + 0x10]
cmp esi, dword [rdi + 0x14]
jne 0x4b8ef0
mov r9, qword [rdi + 8]
lea rax, [rsp + 0x70]
cmp rax, r9
jb 0x4b8eb6
movsxd rax, dword [rdi + 0x14]
lea rcx, [r9 + rax*8]
lea rax, [rsp + 0x70]
cmp rax, rcx
jae 0x4b8eb6
mov ecx, 0x80004005
call fcn.00401c88
int3
cmp dword [rdi + 0x14], ebx
jne 0x4b8ec0
mov esi, r13d
jmp 0x4b8ece
add esi, esi
cmp esi, ebx
jl 0x4b8f08
cmp esi, 0xfffffff
ja 0x4b8f08
movsxd rdx, esi
mov r8d, 8
mov rcx, r9
call fcn.006a5398
cmp rax, rbx
je 0x4b8f08
mov dword [rdi + 0x14], esi
mov qword [rdi + 8], rax
lea r8, [r12 + 0x78]
movsxd rcx, dword [rdi + 0x10]
mov rax, qword [rdi + 8]
lea rdx, [rax + rcx*8]
cmp rdx, rbx
je 0x4b8f04
mov qword [rdx], r8
add dword [rdi + 0x10], r13d
lea r8, [r12 + 0x80]
mov esi, dword [rdi + 0x20]
cmp esi, dword [rdi + 0x24]
jne 0x4b8f80
mov r9, qword [rdi + 0x18]
lea rax, [rsp + 0x70]
cmp rax, r9
jb 0x4b8f43
movsxd rax, dword [rdi + 0x24]
lea rcx, [r9 + rax*8]
lea rax, [rsp + 0x70]
cmp rax, rcx
jae 0x4b8f43
mov ecx, 0x80004005
call fcn.00401c88
int3
cmp dword [rdi + 0x24], ebx
jne 0x4b8f4d
mov esi, r13d
jmp 0x4b8f5b
add esi, esi
cmp esi, ebx
jl 0x4b8f98
cmp esi, 0xfffffff
ja 0x4b8f98
movsxd rdx, esi
mov r8d, 8
mov rcx, r9
call fcn.006a5398
cmp rax, rbx
je 0x4b8f98
mov dword [rdi + 0x24], esi
mov qword [rdi + 0x18], rax
lea r8, [r12 + 0x80]
movsxd rcx, dword [rdi + 0x20]
mov rax, qword [rdi + 0x18]
lea rdx, [rax + rcx*8]
cmp rdx, rbx
je 0x4b8f94
mov qword [rdx], r8
add dword [rdi + 0x20], r13d
call qword [sym.imp.USER32.dll_CreatePopupMenu]
mov qword [r12 + 0x9e0], rax
mov r9, qword [0x0086ef48]
mov edi, 0x67
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_AppendMenuW]
mov r9, qword [0x0086eb88]
xor edx, edx
mov r8d, 0x4bd
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_AppendMenuW]
xor r9d, r9d
xor r8d, r8d
mov esi, 0x800
mov edx, esi
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov r9, qword [0x0086edb8]
xor edx, edx
mov r8d, 0x4ba
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov r9, qword [0x00868c88]
xor edx, edx
lea r8d, [rdi + 0x1f]
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_AppendMenuW]
xor r9d, r9d
xor r8d, r8d
mov edx, esi
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov r9, qword [0x0086e9f8]
xor edx, edx
mov r8d, 0x427
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_AppendMenuW]
xor r9d, r9d
xor r8d, r8d
mov edx, esi
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov r9, qword [0x0086e6d8]
xor edx, edx
mov r8d, 0xe141
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_AppendMenuW]
xor r8d, r8d
mov edx, edi
mov rcx, qword [r12 + 0x9e0]
call qword [sym.imp.USER32.dll_SetMenuDefaultItem]
call qword [sym.imp.USER32.dll_CreatePopupMenu]
mov qword [r12 + 0x9e8], rax
mov r9, qword [0x0086efe8]
xor edx, edx
mov r8d, 0xe800
mov rcx, rax
call qword [sym.imp.USER32.dll_AppendMenuW]
mov r9, qword [0x00878ef8]
mov r8, r14
xor edx, edx
mov rcx, qword [r12 + 0x9e8]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov r9, qword [0x00877468]
xor edx, edx
lea r8d, [rdi + 0x39]
mov rcx, qword [r12 + 0x9e8]
call qword [sym.imp.USER32.dll_AppendMenuW]
xor r9d, r9d
xor r8d, r8d
mov edx, esi
mov rcx, qword [r12 + 0x9e8]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov r9, qword [0x0087a398]
xor edx, edx
lea r8d, [rdi + 0x38]
mov rcx, qword [r12 + 0x9e8]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov byte [r12 + 0x308], r13b
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x2e96], bl
jne 0x4b9162
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4b9162
lea edx, [rdi - 0x51]
call fcn.004083bc
jmp 0x4b9168
add rax, 0x4e0
mov rcx, rax
call fcn.00595338
nop
mov esi, 0xe801
jmp 0x4b918f
mov rcx, r12
call fcn.004ba864
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x2fb2], bl
jne 0x4b91c1
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b91c1
mov edx, 0x132
call fcn.0040a51c
mov r11d, eax
jmp 0x4b91c8
mov r11d, dword [rdi + 0x28ec]
mov ecx, ebx
movzx eax, byte [0x008655fc]
cmp r11d, ebx
cmove ecx, eax
mov byte [0x00865600], cl
cmp byte [rdi + 0x3143], bl
jne 0x4b91fd
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b91fd
mov edx, 0x2c3
call fcn.0041024c
jmp 0x4b9203
mov al, byte [rdi + 0x2d64]
cmp al, bl
je 0x4b922d
xor r9d, r9d
mov r8d, 0x8004
mov r14d, 0x111
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
jmp 0x4b9233
mov r14d, 0x111
cmp byte [rdi + 0x3144], bl
jne 0x4b9253
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b9253
mov edx, 0x2c4
call fcn.0041024c
jmp 0x4b9259
mov al, byte [rdi + 0x2d65]
cmp al, bl
je 0x4b927b
xor r9d, r9d
mov r8d, 0x800f
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x3145], bl
jne 0x4b929b
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b929b
mov edx, 0x2c5
call fcn.0041024c
jmp 0x4b92a1
mov al, byte [rdi + 0x2d66]
cmp al, bl
je 0x4b92c3
xor r9d, r9d
mov r8d, 0x424
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x3146], bl
jne 0x4b92e3
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b92e3
mov edx, 0x2c6
call fcn.0041024c
jmp 0x4b92e9
mov al, byte [rdi + 0x2d67]
cmp al, bl
je 0x4b930b
xor r9d, r9d
mov r8d, 0x40d
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x3147], bl
jne 0x4b932b
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b932b
mov edx, 0x2c7
call fcn.0041024c
jmp 0x4b9331
mov al, byte [rdi + 0x2d68]
cmp al, bl
je 0x4b9353
xor r9d, r9d
mov r8d, 0x43c
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x314b], bl
jne 0x4b9373
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b9373
mov edx, 0x2cb
call fcn.0041024c
jmp 0x4b9379
mov al, byte [rdi + 0x2d6c]
cmp al, bl
je 0x4b939b
xor r9d, r9d
mov r8d, 0x2765
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x3148], bl
jne 0x4b93bb
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b93bb
mov edx, 0x2c8
call fcn.0041024c
jmp 0x4b93c1
mov al, byte [rdi + 0x2d69]
cmp al, bl
je 0x4b93e3
xor r9d, r9d
mov r8d, 0x45d
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x3149], bl
jne 0x4b9403
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b9403
mov edx, 0x2c9
call fcn.0041024c
jmp 0x4b9409
mov al, byte [rdi + 0x2d6a]
cmp al, bl
je 0x4b942b
xor r9d, r9d
mov r8d, 0x42e
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x314a], bl
jne 0x4b944b
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b944b
mov edx, 0x2ca
call fcn.0041024c
jmp 0x4b9451
mov al, byte [rdi + 0x2d6b]
cmp al, bl
je 0x4b9473
xor r9d, r9d
mov r8d, 0x403
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x314c], bl
jne 0x4b9493
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b9493
mov edx, 0x2cc
call fcn.0041024c
jmp 0x4b9499
mov al, byte [rdi + 0x2d6d]
cmp al, bl
je 0x4b94b9
xor r9d, r9d
lea r8d, [r9 + 0x6a]
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x30e9], bl
jne 0x4b94d9
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b94d9
mov edx, 0x269
call fcn.0041024c
jmp 0x4b94df
mov al, byte [rdi + 0x2d0a]
cmp al, bl
je 0x4b9501
xor r9d, r9d
mov r8d, 0x65a
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x314d], bl
jne 0x4b9521
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b9521
mov edx, 0x2cd
call fcn.0041024c
jmp 0x4b9527
mov al, byte [rdi + 0x2d6e]
cmp al, bl
je 0x4b9549
xor r9d, r9d
mov r8d, 0x8cb
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x313e], bl
jne 0x4b9569
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b9569
mov edx, 0x2be
call fcn.0041024c
jmp 0x4b956f
mov al, byte [rdi + 0x2d5f]
cmp al, bl
jne 0x4b958e
xor r9d, r9d
mov r8, rsi
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x313f], bl
jne 0x4b95ae
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b95ae
mov edx, 0x2bf
call fcn.0041024c
jmp 0x4b95b4
mov al, byte [rdi + 0x2d60]
cmp al, bl
jne 0x4b95d6
xor r9d, r9d
mov r8d, 0xe800
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x3140], bl
jne 0x4b95f6
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b95f6
mov edx, 0x2c0
call fcn.0041024c
jmp 0x4b95fc
mov al, byte [rdi + 0x2d61]
cmp al, bl
jne 0x4b961e
xor r9d, r9d
mov r8d, 0x272f
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x3142], bl
jne 0x4b963e
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b963e
mov edx, 0x2c2
call fcn.0041024c
jmp 0x4b9644
mov al, byte [rdi + 0x2d63]
cmp al, bl
jne 0x4b9666
xor r9d, r9d
mov r8d, 0x8c
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x3141], bl
jne 0x4b9686
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b9686
mov edx, 0x2c1
call fcn.0041024c
jmp 0x4b968c
mov al, byte [rdi + 0x2d62]
cmp al, bl
jne 0x4b96a7
xor r9d, r9d
mov r8d, 0xa0
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov ecx, r15d
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
ja 0x4b96d1
xor r9d, r9d
mov edx, 0x81f4
lea r8d, [r9 + 3]
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
xor r9d, r9d
mov edx, 0x81f4
lea r8d, [r9 + 4]
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov r11, qword [0x00862cb8]
cmp byte [r11 + 0x313c], bl
jne 0x4b9710
mov rcx, qword [r11 + 0xb8]
cmp rcx, rbx
je 0x4b9710
mov edx, 0x2bc
call fcn.0041024c
jmp 0x4b9717
mov al, byte [r11 + 0x2d5d]
mov dl, al
mov rcx, r12
call fcn.004be9c4
xor edx, edx
mov rcx, r12
call fcn.004c46a8
mov r11, qword [0x00862cb8]
cmp byte [r11 + 0x3123], bl
jne 0x4b9753
mov rcx, qword [r11 + 0xb8]
cmp rcx, rbx
je 0x4b9753
mov edx, 0x2a3
call fcn.0041024c
jmp 0x4b975a
mov al, byte [r11 + 0x2d44]
mov cl, al
call fcn.00589af0
mov r11, qword [0x00862cb8]
cmp byte [r11 + 0x3123], bl
jne 0x4b9789
mov rcx, qword [r11 + 0xb8]
cmp rcx, rbx
je 0x4b9789
mov edx, 0x2a3
call fcn.0041024c
jmp 0x4b9790
mov al, byte [r11 + 0x2d44]
movzx r9d, al
mov edi, 0x402
lea r8d, [rdi + 2]
mov edx, edi
mov rcx, qword [r12 + 0x840]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11, qword [0x00862cb8]
cmp byte [r11 + 0x311a], bl
jne 0x4b97d5
mov rcx, qword [r11 + 0xb8]
cmp rcx, rbx
je 0x4b97d5
mov edx, 0x29a
call fcn.0041024c
jmp 0x4b97dc
mov al, byte [r11 + 0x2d3b]
movzx r9d, al
mov r8d, 0x8b1
mov edx, edi
mov rcx, qword [r12 + 0x840]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11, qword [0x00862cb8]
cmp byte [r11 + 0x30c2], bl
jne 0x4b981e
mov rcx, qword [r11 + 0xb8]
cmp rcx, rbx
je 0x4b981e
mov edx, 0x242
call fcn.0041024c
jmp 0x4b9825
mov al, byte [r11 + 0x2ce3]
movzx r9d, al
mov r8d, 0x69
mov edx, edi
mov rcx, qword [r12 + 0x840]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11, qword [0x00862cb8]
cmp byte [r11 + 0x3127], bl
jne 0x4b9867
mov rcx, qword [r11 + 0xb8]
cmp rcx, rbx
je 0x4b9867
mov edx, 0x2a7
call fcn.0041024c
jmp 0x4b986e
mov al, byte [r11 + 0x2d48]
mov r9, rbx
cmp al, bl
sete r9b
mov r8d, 0x5d8
mov edx, edi
mov rcx, qword [r12 + 0x840]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11, qword [0x00862cb8]
cmp byte [r11 + 0x3142], bl
jne 0x4b98b5
mov rcx, qword [r11 + 0xb8]
cmp rcx, rbx
je 0x4b98b5
mov edx, 0x2c2
call fcn.0041024c
jmp 0x4b98bc
mov al, byte [r11 + 0x2d63]
movzx r9d, al
mov r8d, 0x8c
mov edx, edi
mov rcx, qword [r12 + 0x840]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, r12
call fcn.004c4bec
mov r8d, r13d
mov edi, 0x639
mov edx, edi
mov rcx, qword [0x00867c88]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov rcx, qword [0x008668d8]
xor r9d, r9d
mov r8, rdi
mov edx, 0x401
mov rcx, qword [rcx + 0x840]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [r12 + 0x10]
lea rcx, [r12 + 0x850]
call fcn.00447424
mov byte [r12 + 0x8a1], r13b
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x2e91], bl
jne 0x4b9955
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b9955
mov edx, reloc.WS2_32.dll_recvfrom
call fcn.004083bc
jmp 0x4b995c
lea rax, [rdi + 0x3f0]
lea rsi, [r12 + 0x8e0]
cmp rax, rsi
je 0x4b9980
mov r8, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
mov rcx, rsi
call fcn.0040289c
mov rdi, qword [0x00862cb8]
cmp byte [rdi + 0x30b3], bl
jne 0x4b99a0
mov rcx, qword [rdi + 0xb8]
cmp rcx, rbx
je 0x4b99a0
mov edx, 0x233
call fcn.0041024c
jmp 0x4b99a6
mov al, byte [rdi + 0x2cd4]
mov byte [r12 + 0x910], al
mov rdx, rsi
lea rcx, [rsp + 0xa0]
call fcn.00401f00
nop
mov r8b, byte [r12 + 0x910]
mov rdx, qword [rax + 0x48]
lea rcx, [r12 + 0x850]
call fcn.004b0e80
nop
lea rax, [rsp + 0xa0]
mov rcx, qword [rsp + 0xe8]
cmp rcx, rax
je 0x4b9a1a
cmp rcx, rbx
je 0x4b9a1a
mov rax, qword [rsp + 0xa0]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, 0x100
jbe 0x4b9a15
call fcn.006a4944
jmp 0x4b9a1a
call fcn.006a3610
lea rdx, [r12 + 0x88]
mov rcx, qword [0x00862d30]
call fcn.004063e8
lea rdx, [r12 + 0x98]
mov rcx, qword [0x00862cf0]
add rcx, 8
call fcn.004063e8
lea rax, [r12 + 0xa0]
mov qword [rsp + 0x68], rax
mov rsi, qword [0x00862cd0]
lea rdi, [rsi + 0x28]
mov qword [rsp + 0x70], rdi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
lea r8, [rsp + 0x68]
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
call fcn.00414c64
cmp rax, qword [rsi + 0x18]
jne 0x4b9ac2
mov rdx, qword [rsi + 0x18]
cmp rdx, qword [rsi + 0x20]
je 0x4b9aa1
lea rax, [r12 + 0xa0]
mov qword [rdx], rax
add qword [rsi + 0x18], 8
jmp 0x4b9ac2
mov byte [rsp + 0x28], r13b
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x380]
lea r8, [rsp + 0x68]
lea rcx, [rsi + 0x10]
call fcn.004d746c
nop
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rax, [r12 + 0xa8]
mov qword [rsp + 0x68], rax
mov rsi, qword [0x008bb610]
lea rdi, [rsi + 0x28]
mov qword [rsp + 0x70], rdi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
lea r8, [rsp + 0x68]
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
call fcn.00414c64
cmp rax, qword [rsi + 0x18]
jne 0x4b9b47
mov rdx, qword [rsi + 0x18]
cmp rdx, qword [rsi + 0x20]
je 0x4b9b26
lea rax, [r12 + 0xa8]
mov qword [rdx], rax
add qword [rsi + 0x18], 8
jmp 0x4b9b47
mov byte [rsp + 0x28], r13b
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x380]
lea r8, [rsp + 0x68]
lea rcx, [rsi + 0x10]
call fcn.004d746c
nop
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11, qword [0x00862cb8]
cmp byte [r11 + 0x30ab], bl
jne 0x4b9b78
mov rcx, qword [r11 + 0xb8]
cmp rcx, rbx
je 0x4b9b78
mov edx, 0x22b
call fcn.0041024c
jmp 0x4b9b7f
mov al, byte [r11 + 0x2ccc]
cmp al, bl
je 0x4b9c76
lea rcx, [rsp + 0xa0]
call fcn.0058a8d8
nop
mov rdi, qword [0x00862cb8]
lea rcx, [rdi + 0xc0]
cmp rax, rcx
je 0x4b9bb5
mov r8, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
call fcn.0040289c
mov byte [rdi + 0x2e80], r13b
lea rax, [rsp + 0xa0]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x4b9bf6
cmp rcx, rbx
je 0x4b9bf6
mov rdx, qword [rsp + 0xa0]
sub rdx, rcx
cmp rdx, 0x100
jbe 0x4b9bf1
call fcn.006a4944
jmp 0x4b9bf6
call fcn.006a3610
cmp qword [r12 + 0x828], rbx
jne 0x4b9c76
mov ecx, 0x180
call fcn.006a494c
mov rdi, rax
mov qword [rsp + 0x380], rax
cmp rax, rbx
je 0x4b9c5e
mov r8, qword [0x00862cb8]
cmp byte [r8 + 0x2e83], bl
jne 0x4b9c42
mov rcx, qword [r8 + 0xb8]
cmp rcx, rbx
je 0x4b9c42
mov edx, 3
call fcn.004083bc
jmp 0x4b9c49
lea rax, [r8 + 0x150]
mov r8, rax
lea rdx, [r12 + 0x90]
mov rcx, rdi
call fcn.004b0f40
jmp 0x4b9c61
mov rax, rbx
mov qword [r12 + 0x828], rax
call fcn.00615ab8
mov qword [r12 + 0xa60], rax
cmp qword [r12 + 0x830], rbx
jne 0x4b9d4d
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x30f4], bl
jne 0x4b9cab
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4b9cab
mov edx, 0x274
call fcn.0041024c
jmp 0x4b9cb1
mov al, byte [rax + 0x2d15]
cmp al, bl
jne 0x4b9d4d
mov ecx, 0x180
call fcn.006a494c
mov rsi, rax
mov qword [rsp + 0x380], rax
cmp rax, rbx
je 0x4b9cfe
lea rcx, [rsp + 0xf0]
call fcn.0058dd88
nop
mov r15d, r13d
mov dword [rsp + 0x78], r13d
mov r8, rax
lea rdx, [r12 + 0x90]
mov rcx, rsi
call fcn.004b0f40
jmp 0x4b9d06
mov rax, rbx
mov r15d, dword [rsp + 0x78]
mov qword [r12 + 0x830], rax
test r13b, r15b
je 0x4b9d4d
lea rax, [rsp + 0xf0]
mov rcx, qword [rsp + 0x118]
cmp rcx, rax
je 0x4b9d4d
cmp rcx, rbx
je 0x4b9d4d
mov rdx, qword [rsp + 0xf0]
sub rdx, rcx
cmp rdx, 0x100
jbe 0x4b9d48
call fcn.006a4944
jmp 0x4b9d4d
call fcn.006a3610
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x30b0], bl
jne 0x4b9d74
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4b9d74
mov edx, 0x230
call fcn.0041024c
jmp 0x4b9d7a
mov al, byte [rax + 0x2cd1]
cmp al, bl
je 0x4b9d8a
mov rcx, qword [0x008bb610]
call fcn.0061b24c
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x2f4b], bl
jne 0x4b9db4
mov rcx, qword [rax + 0xb8]
cmp rcx, rbx
je 0x4b9db4
mov edx, 0xcb
call fcn.004083bc
mov r11, rax
jmp 0x4b9dbb
lea r11, [rax + 0x26d0]
mov rax, qword [r11 + 0x20]
cmp qword [r11 + 0x28], rax
jne 0x4b9ddc
xor r9d, r9d
mov r8d, 0x8006
mov edx, r14d
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rax, qword [rsp + 0x3a0]
mov dword [rax], ebx
xor eax, eax
jmp 0x4b9dff
xor r9d, r9d
xor r8d, r8d
mov edx, r13d
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret