Function at 0x4bbebc
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
mov rax, rsp
push r12
push r13
push r14
sub rsp, 0x340
mov qword [rsp + 0xe8], 0xfffffffffffffffe
mov qword [rax + 8], rbp
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov rdi, r9
mov rbp, r8
mov r12, rcx
test r8, r8
jne 0x4bbf21
mov qword [rax - 0x278], r9
lea rdx, [r9 + 0x58]
lea rcx, [r9 + 8]
mov r9, qword [r9 + 0xa8]
mov r8, rdi
call fcn.00451f90
nop
lea edx, [rbp + 1]
mov rcx, rdi
call fcn.004c434c
jmp 0x4bca8c
mov r13d, 1
cmp r8, r13
jne 0x4bc052
mov qword [rsp + 0xf0], r9
mov r9, qword [r9]
mov rcx, qword [0x008adec0]
mov r8, qword [0x008adeb8]
sub rcx, r8
sar rcx, 3
sub rcx, r13
movabs rax, 0x842108421084211
mul r9
mov rax, r9
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 7
xor edx, edx
div rcx
mov rax, qword [r8 + rdx*8]
mov rcx, qword [r8 + rdx*8 + 8]
cmp rax, rcx
je 0x4bbf9d
cmp qword [rax + 8], r9
je 0x4bbf91
mov rax, qword [rax]
cmp rax, rcx
jne 0x4bbf83
cmp rax, rcx
je 0x4bbf9d
mov qword [rsp + 0x68], rax
jmp 0x4bbfa4
xor eax, eax
mov qword [rsp + 0x68], rax
test rax, rax
setne cl
test cl, cl
je 0x4bbfe5
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x78]
lea rcx, [0x008adea8]
call fcn.00594210
mov r9d, reloc.WS2_32.dll_recv
lea r8, [0x007951e0]
mov rdx, qword [0x00882c28]
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4bbff5
lea rdx, [rdi + 8]
xor r8d, r8d
mov rcx, rdi
call fcn.0045214c
nop
lea rdx, [rdi + 8]
mov rcx, qword [rdx + 0x28]
cmp rcx, rdx
je 0x4bc023
test rcx, rcx
je 0x4bc023
mov rdx, qword [rdx]
sub rdx, rcx
mov esi, 0x100
cmp rdx, rsi
jbe 0x4bc01e
call fcn.006a4944
jmp 0x4bc023
call fcn.006a3610
mov rcx, qword [rdi]
test rcx, rcx
je 0x4bc045
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
add eax, 0xffffffff
jne 0x4bc045
test rcx, rcx
je 0x4bc045
mov rax, qword [rcx]
mov edx, r13d
call qword [rax]
mov rcx, rdi
call fcn.006a4944
jmp 0x4bca8c
cmp r8, 0xb
jne 0x4bc1ba
mov qword [rsp + 0xf8], r9
lea rdx, [rsp + 0x130]
mov rcx, qword [r9]
call fcn.00414e04
nop
mov r8, rax
lea rdx, [0x008992d0]
lea rcx, [rsp + 0x190]
call fcn.00402448
mov rsi, rax
lea rbp, [rdi + 8]
mov ecx, 0x208
call fcn.006a494c
mov qword [rsp + 0x370], rax
test rax, rax
je 0x4bc0c1
mov r9, rbp
mov r8, rsi
lea rdx, [0x0085e850]
mov rcx, rax
call fcn.0052d1e4
jmp 0x4bc0c3
xor eax, eax
and qword [rsp + 0x80], 0
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x008669d8]
mov rcx, rax
call fcn.0052e6e0
nop
lea rax, [rsp + 0x190]
mov esi, 0x100
mov rcx, qword [rsp + 0x1b8]
cmp rcx, rax
je 0x4bc12e
test rcx, rcx
je 0x4bc12e
mov rdx, qword [rsp + 0x190]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4bc128
call fcn.006a4944
jmp 0x4bc12e
call fcn.006a3610
nop
lea rax, [rsp + 0x130]
mov rcx, qword [rsp + 0x158]
cmp rcx, rax
je 0x4bc165
test rcx, rcx
je 0x4bc165
mov rdx, qword [rsp + 0x130]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4bc15f
call fcn.006a4944
jmp 0x4bc165
call fcn.006a3610
nop
mov rcx, qword [rbp + 0x28]
cmp rcx, rbp
je 0x4bc18b
test rcx, rcx
je 0x4bc18b
mov rdx, qword [rbp]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4bc186
call fcn.006a4944
jmp 0x4bc18b
call fcn.006a3610
mov rcx, qword [rdi]
test rcx, rcx
je 0x4bc1ad
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
add eax, 0xffffffff
jne 0x4bc1ad
test rcx, rcx
je 0x4bc1ad
mov rax, qword [rcx]
mov edx, r13d
call qword [rax]
mov rcx, rdi
call fcn.006a4944
jmp 0x4bca8c
cmp r8, 5
jne 0x4bc2b9
mov qword [rsp + 0x88], r9
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x31bf], 0
jne 0x4bc1f4
mov rcx, qword [rax + 0xb8]
test rcx, rcx
je 0x4bc1f4
mov edx, 0x33f
call fcn.0041024c
jmp 0x4bc1fa
mov al, byte [rax + 0x2de0]
mov esi, 0x100
test al, al
je 0x4bc221
mov dword [rsp + 0x28], r13d
and qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rdi + 0x48]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x4bc278
mov rcx, rdi
call fcn.0052d6f8
mov rdx, rdi
lea rcx, [rsp + 0x1f0]
call fcn.00402190
mov rcx, rax
call fcn.00594f58
lea r11, [rsp + 0x1f0]
mov rcx, qword [rsp + 0x218]
cmp rcx, r11
je 0x4bc278
test rcx, rcx
je 0x4bc278
mov rdx, qword [rsp + 0x1f0]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4bc272
call fcn.006a4944
jmp 0x4bc278
call fcn.006a3610
nop
test rdi, rdi
je 0x4bca8c
mov rcx, qword [rdi + 0x48]
cmp rcx, rdi
je 0x4bc2ac
test rcx, rcx
je 0x4bc2ac
mov rdx, qword [rdi]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
cmp rdx, rsi
jbe 0x4bc2a7
call fcn.006a4944
jmp 0x4bc2ac
call fcn.006a3610
mov rcx, rdi
call fcn.006a4944
jmp 0x4bca8c
cmp r8, 0xe
jne 0x4bc354
mov rdx, r9
lea rcx, [rsp + 0x48]
call fcn.00557ff4
nop
mov rdi, qword [0x0085e158]
test rdi, rdi
je 0x4bc2fa
mov rcx, qword [rdi + 0x38]
add rcx, 0xa88
lea rdx, [rsp + 0x48]
call fcn.0041e350
mov rdi, qword [rdi]
test rdi, rdi
jne 0x4bc2dd
mov rdi, qword [0x0085e270]
test rdi, rdi
je 0x4bc323
mov rcx, qword [rdi + 0x10]
add rcx, 0x3c0
lea rdx, [rsp + 0x48]
call fcn.0041e350
mov rdi, qword [rdi]
test rdi, rdi
jne 0x4bc306
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x4bca8c
or ecx, 0xffffffff
lock xadd dword [rax + 8], ecx
add ecx, 0xffffffff
jne 0x4bca8c
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov edx, r13d
call qword [rax]
jmp 0x4bca8c
cmp r8, 2
jne 0x4bc41d
mov qword [rsp + 0x60], r9
mov rdx, r9
call fcn.004bb9a0
mov r11d, dword [0x008bbbf0]
add r11d, r13d
mov dword [0x008bbbf0], r11d
test r11b, 0x3f
jne 0x4bc3ff
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x370]
lea rdx, str.MainToolBar
lea rcx, [rsp + 0x100]
call fcn.004021a8
nop
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x008bb580]
call fcn.0052fb74
nop
lea rax, [rsp + 0x100]
mov rcx, qword [rsp + 0x128]
cmp rcx, rax
je 0x4bc3ff
test rcx, rcx
je 0x4bc3ff
mov rdx, qword [rsp + 0x100]
sub rdx, rcx
mov esi, 0x100
cmp rdx, rsi
jbe 0x4bc3f9
call fcn.006a4944
jmp 0x4bc3ff
call fcn.006a3610
nop
test rdi, rdi
je 0x4bca8c
mov rcx, rdi
call fcn.00406314
mov rcx, rdi
call fcn.006a4944
jmp 0x4bca8c
cmp r8, 3
jne 0x4bc438
mov rdx, qword [0x00862c98]
sub rdx, 0xffffffffffffff80
call fcn.004be700
jmp 0x4bca8c
cmp r8, 4
jne 0x4bc4bc
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
lea r8, [rsp + 0x41]
lea rcx, [rsp + 0x250]
call fcn.004023b4
nop
lea rdx, [rsp + 0x250]
mov rcx, r12
call fcn.004bcaac
nop
lea rax, [rsp + 0x250]
mov rcx, qword [rsp + 0x298]
cmp rcx, rax
je 0x4bca8c
test rcx, rcx
je 0x4bca8c
mov rdx, qword [rsp + 0x250]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
mov esi, 0x100
cmp rdx, rsi
jbe 0x4bc4b2
call fcn.006a4944
jmp 0x4bca8c
call fcn.006a3610
jmp 0x4bca8c
cmp r8, 7
je 0x4bc689
cmp r8, 8
je 0x4bc689
cmp r8, 9
jne 0x4bc56f
lea rbp, [r9 + 0x50]
or dword [rsp + 0x20], 0xffffffff
mov r9d, dword [r9 + 0xa0]
mov r8, rdi
mov rdx, rbp
mov rcx, qword [0x008bb578]
call fcn.004dc69c
mov qword [rsp + 0x370], rdi
mov rcx, qword [rbp + 0x48]
mov esi, 0x100
cmp rcx, rbp
je 0x4bc537
test rcx, rcx
je 0x4bc537
mov rax, qword [rbp]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x4bc531
call fcn.006a4944
jmp 0x4bc537
call fcn.006a3610
nop
mov rcx, qword [rdi + 0x48]
cmp rcx, rdi
je 0x4bc562
test rcx, rcx
je 0x4bc562
mov rdx, qword [rdi]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
cmp rdx, rsi
jbe 0x4bc55d
call fcn.006a4944
jmp 0x4bc562
call fcn.006a3610
mov rcx, rdi
call fcn.006a4944
jmp 0x4bca8c
cmp r8, 0x10
jne 0x4bc589
mov edx, r9d
mov rcx, qword [0x008bb578]
call fcn.004dcda0
jmp 0x4bca8c
cmp r8, 0xa
jne 0x4bc623
mov r12, qword [0x008bb578]
lea rdi, [r12 + 0x10]
cmp qword [rdi], rdi
je 0x4bca8c
mov rsi, qword [rdi]
cmp rsi, rdi
je 0x4bca8c
mov rax, qword [0x00862cb8]
cmp byte [rax + 0x2fba], 0
jne 0x4bc5de
mov rcx, qword [rax + 0xb8]
test rcx, rcx
je 0x4bc5de
mov edx, 0x13a
call fcn.0040a51c
mov ebp, eax
jmp 0x4bc5e4
mov ebp, dword [rax + 0x290c]
call fcn.00615ab8
imul ebp, ebp, 0x3e8
movsxd rdx, ebp
mov rcx, qword [rsi + 0x10]
add rdx, qword [rcx + 0x50]
cmp rdx, rax
jae 0x4bc616
mov edx, dword [rcx + 0x48]
mov rcx, r12
call fcn.004dcda0
cmp qword [rdi], rdi
je 0x4bca8c
mov rsi, qword [rdi]
mov rsi, qword [rsi]
cmp rsi, rdi
jne 0x4bc5b4
jmp 0x4bca8c
cmp r8, 0xd
jne 0x4bc66f
cmp byte [rcx + 0x9d4], 0
jne 0x4bca8c
cmp byte [0x008669f0], 0
je 0x4bc64c
cmp byte [rcx + 0x9d3], 0
je 0x4bca8c
cmp qword [rcx + 0x360], 0
je 0x4bca8c
mov dl, r13b
call fcn.004c46a8
mov byte [r12 + 0x9d4], r13b
jmp 0x4bca8c
cmp r8, 0xc
jne 0x4bca8c
mov dl, byte [rcx + 0x9d4]
call fcn.004c46a8
jmp 0x4bca8c
mov rcx, qword [rcx + 0x710]
call qword [sym.imp.USER32.dll_IsWindow]
mov esi, 0x100
test eax, eax
je 0x4bc9e2
lea rcx, [rsp + 0x160]
call fcn.00589528
nop
mov r8, rax
lea rdx, [0x0079b064]
lea rcx, [rsp + 0x220]
call fcn.0040fe34
nop
lea r8, [0x00795b30]
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.00402658
nop
mov rdx, rax
lea rcx, [rsp + 0x2a0]
call fcn.00401f00
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.0040fc8c
nop
lea rax, [rsp + 0x2a0]
mov rcx, qword [rsp + 0x2e8]
cmp rcx, rax
je 0x4bc744
test rcx, rcx
je 0x4bc744
mov rax, qword [rsp + 0x2a0]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x4bc73e
call fcn.006a4944
jmp 0x4bc744
call fcn.006a3610
nop
lea rax, [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1e8]
cmp rcx, rax
je 0x4bc77b
test rcx, rcx
je 0x4bc77b
mov rdx, qword [rsp + 0x1c0]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4bc775
call fcn.006a4944
jmp 0x4bc77b
call fcn.006a3610
nop
lea rax, [rsp + 0x220]
mov rcx, qword [rsp + 0x248]
cmp rcx, rax
je 0x4bc7b2
test rcx, rcx
je 0x4bc7b2
mov rdx, qword [rsp + 0x220]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4bc7ac
call fcn.006a4944
jmp 0x4bc7b2
call fcn.006a3610
nop
lea rax, [rsp + 0x160]
mov rcx, qword [rsp + 0x188]
cmp rcx, rax
je 0x4bc7e8
test rcx, rcx
je 0x4bc7e8
mov rdx, qword [rsp + 0x160]
sub rdx, rcx
cmp rdx, rsi
jbe 0x4bc7e3
call fcn.006a4944
jmp 0x4bc7e8
call fcn.006a3610
mov r9, qword [rsp + 0xd8]
xor r8d, r8d
mov edx, 0x40b
mov rcx, qword [r12 + 0x710]
call qword [sym.imp.USER32.dll_SendMessageW]
add r12, 0x6a0
mov rcx, qword [r12 + 8]
sub rcx, qword [r12]
movabs r14, 0x6666666666666667
mov rax, r14
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
lea rcx, [rdx + rax + 1]
cmp rcx, 0xa
jbe 0x4bc86d
mov rdx, qword [r12]
mov rcx, r12
call fcn.004a3b58
mov rcx, qword [r12 + 8]
sub rcx, qword [r12]
mov rax, r14
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
lea rax, [rdx + rax + 1]
cmp rax, 0xa
ja 0x4bc83c
mov edx, reloc.WS2_32.dll_listen
xor r8d, r8d
lea rcx, [rsp + 0x90]
call fcn.00421278
cmp rax, 0xffffffffffffffff
jne 0x4bc8e9
mov rax, qword [r12 + 8]
cmp rax, qword [r12 + 0x10]
je 0x4bc8c2
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x4bc8b7
lea rdx, [rsp + 0x90]
mov rcx, rax
call fcn.004021f8
nop
add qword [r12 + 8], 0x50
jmp 0x4bc9a5
mov byte [rsp + 0x28], r13b
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x90]
mov rdx, rax
mov rcx, r12
call fcn.0040827c
jmp 0x4bc9a5
mov edx, reloc.WS2_32.dll_listen
xor r8d, r8d
lea rcx, [rsp + 0x90]
call fcn.00421278
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0x90]
call fcn.00421328
nop
mov rcx, qword [r12 + 8]
cmp rcx, qword [r12 + 0x10]
je 0x4bc949
mov qword [rsp + 0x370], rcx
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x4bc941
mov rdx, rax
call fcn.004021f8
nop
add qword [r12 + 8], 0x50
jmp 0x4bc967
mov byte [rsp + 0x28], r13b
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x42]
mov r8, rax
mov rdx, rcx
mov rcx, r12
call fcn.0040827c
nop
lea rax, [rsp + 0x2f0]
mov rcx, qword [rsp + 0x338]
cmp rcx, rax
je 0x4bc9a5
test rcx, rcx
je 0x4bc9a5
mov rax, qword [rsp + 0x2f0]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x4bc99f
call fcn.006a4944
jmp 0x4bc9a5
call fcn.006a3610
nop
lea rax, [rsp + 0x90]
mov rcx, qword [rsp + 0xd8]
cmp rcx, rax
je 0x4bc9e2
test rcx, rcx
je 0x4bc9e2
mov rax, qword [rsp + 0x90]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x4bc9dd
call fcn.006a4944
jmp 0x4bc9e2
call fcn.006a3610
cmp rbp, 8
jne 0x4bca54
mov rcx, qword [0x00862ca0]
call fcn.0059b364
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x4bca06
lock add dword [rax + 8], r13d
mov dword [rsp + 0x58], 0x22
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.004e01f8
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x4bca54
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
add eax, 0xffffffff
jne 0x4bca54
test rcx, rcx
je 0x4bca54
mov rax, qword [rcx]
mov edx, r13d
call qword [rax]
test rdi, rdi
je 0x4bca8c
mov rcx, qword [rdi + 0x48]
cmp rcx, rdi
je 0x4bca84
test rcx, rcx
je 0x4bca84
mov rdx, qword [rdi]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
cmp rdx, rsi
jbe 0x4bca7f
call fcn.006a4944
jmp 0x4bca84
call fcn.006a3610
mov rcx, rdi
call fcn.006a4944
xor eax, eax
lea r11, [rsp + 0x340]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
ret