Function at 0x140167950
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xf0
lea rdi, [rsp + 0x30]
mov ecx, 0x30
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x100]
mov rax, qword [0x140575740]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x64], 0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x80], 0
mov r9d, 0xa6d
lea r8, [0x1405620c0]
mov edx, 1
mov ecx, 0xb0
call fcn.1403ba980
xor r9d, r9d
xor r8d, r8d
mov edx, 0x98
mov rcx, rax
call fcn.1401375b0
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x128], 0
je 0x140167a0b
mov dword [rsp + 0xa0], 2
jmp 0x140167a16
mov dword [rsp + 0xa0], 1
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 0x18], ecx
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax + 0x18]
shl rax, 3
mov r9d, 0xa6f
lea r8, [0x140562110]
mov edx, 1
mov rcx, rax
call fcn.1403ba980
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xa8]
mov qword [rax], rcx
cmp qword [rsp + 0xa8], 0
jne 0x140167ab7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, 0xfe
mov r8d, 0xa6f
lea rdx, [0x140562160]
xor ecx, ecx
call fcn.14014da80
mov r8d, 0xa6f
lea rdx, [0x1405621b0]
lea rcx, [0x1405621f8]
call fcn.140015e70
mov ecx, 0xfe
call fcn.14038e600
nop
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax + 0x18]
shl rax, 3
mov r9d, 0xa70
lea r8, [0x140562220]
mov edx, 1
mov rcx, rax
call fcn.1403ba980
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
mov qword [rax + 8], rcx
cmp qword [rsp + 0xb0], 0
jne 0x140167b4a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, 0xfe
mov r8d, 0xa70
lea rdx, [0x140562270]
xor ecx, ecx
call fcn.14014da80
mov r8d, 0xa70
lea rdx, [0x1405622c0]
lea rcx, [0x140562308]
call fcn.140015e70
mov ecx, 0xfe
call fcn.14038e600
nop
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax + 0x18]
shl rax, 2
mov r9d, 0xa71
lea r8, [0x140562330]
mov edx, 1
mov rcx, rax
call fcn.1403ba980
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x10], rcx
cmp qword [rsp + 0xb8], 0
jne 0x140167bdd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, 0xfe
mov r8d, 0xa71
lea rdx, [0x140562380]
xor ecx, ecx
call fcn.14014da80
mov r8d, 0xa71
lea rdx, [0x1405623d0]
lea rcx, [0x140562418]
call fcn.140015e70
mov ecx, 0xfe
call fcn.14038e600
nop
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x110]
mov qword [rax + rcx], rdx
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 8]
mov rdx, qword [rsp + 0x118]
mov qword [rax + rcx], rdx
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x10]
mov edx, dword [rsp + 0x120]
mov dword [rax + rcx], edx
mov rax, qword [rsp + 0x78]
add rax, 0x78
xor r9d, r9d
mov r8, rax
mov edx, 0x20
mov ecx, 0x150
call fcn.140138010
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x78]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x78]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 0x78]
mov qword [rax + 8], rcx
cmp qword [rsp + 0x118], 5
jbe 0x140167cb2
mov r8d, 5
mov rdx, qword [rsp + 0x110]
lea rcx, [0x14056243c]
call fcn.14038b300
test eax, eax
jne 0x140167cb2
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x88], 1
cmp qword [rsp + 0x128], 0
je 0x140167d14
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x128]
mov qword [rax + rcx], rdx
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 8]
mov rdx, qword [rsp + 0x130]
mov qword [rax + rcx], rdx
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x10]
mov edx, dword [rsp + 0x138]
mov dword [rax + rcx], edx
cmp qword [rsp + 0x148], 0
je 0x140167d33
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x148]
mov qword [rax + 0x80], rcx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x140]
mov qword [rax + 0x90], rcx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x150]
mov qword [rax + 0x50], rcx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x158]
mov qword [rax + 0x58], rcx
mov rax, qword [rsp + 0x108]
movzx eax, word [rax]
cmp eax, 0x17
jne 0x140167d87
mov qword [rsp + 0xc0], 0x1c
jmp 0x140167d93
mov qword [rsp + 0xc0], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x78]
add rax, 0x30
mov r9, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x108]
mov edx, 0x1c
mov rcx, rax
call fcn.14015f0e0
nop
mov dword [rsp + 0x80], 0
jmp 0x140167dd7
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 0x80], eax
jge 0x140167f22
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x10]
cmp dword [rcx + rax*4], 2
jne 0x140167f1d
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 8]
mov r9d, 0xa99
lea r8, [0x140562450]
mov edx, 1
mov rcx, qword [rcx + rax*8]
call fcn.1403ba980
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0
jne 0x140167e8e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, 0xfe
mov r8d, 0xa99
lea rdx, [0x1405624a0]
xor ecx, ecx
call fcn.14014da80
mov r8d, 0xa99
lea rdx, [0x1405624f0]
lea rcx, [0x140562538]
call fcn.140015e70
mov ecx, 0xfe
call fcn.14038e600
nop
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 8]
movsxd rdx, dword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov r8, qword [r8]
movsxd r9, dword [rsp + 0x80]
mov qword [rsp + 0xc8], r9
mov r10, qword [rsp + 0x78]
mov r10, qword [r10 + 8]
mov r9, qword [rcx + rax*8]
mov r8, qword [r8 + rdx*8]
mov rax, qword [rsp + 0xc8]
mov rdx, qword [r10 + rax*8]
mov rcx, qword [rsp + 0x90]
call fcn.14015f0e0
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x90]
mov qword [rcx + rax*8], rdx
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x10]
mov dword [rcx + rax*4], 0
jmp 0x140167dc7
mov rax, qword [rsp + 0x68]
add rax, 0x84
mov rcx, rax
call fcn.14015f2c0
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x70], 1
jle 0x140168132
mov dword [rsp + 0x80], 0
jmp 0x140167f61
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x70]
cmp dword [rsp + 0x80], eax
jge 0x140167fb2
lea r8, [rsp + 0x48]
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x108]
call fcn.140164780
mov dword [rsp + 0x64], eax
movsxd rax, dword [rsp + 0x64]
mov r8, rax
lea rdx, [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x58]
call fcn.140143800
test eax, eax
jne 0x140167fb0
jmp 0x140167fb2
jmp 0x140167f51
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x70]
cmp dword [rsp + 0x80], eax
jne 0x140168130
mov dword [rsp + 0x84], 0xffffffff
mov dword [rsp + 0x88], 0xffffffff
mov dword [rsp + 0x80], 0
jmp 0x140167ffa
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x70]
cmp dword [rsp + 0x80], eax
jge 0x140168113
lea r8, [rsp + 0x48]
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x108]
call fcn.140164780
mov dword [rsp + 0x64], eax
movsxd rax, dword [rsp + 0x64]
mov r8, rax
lea rdx, [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x58]
call fcn.140143930
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
jne 0x14016809c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9d, 0xfd
mov r8d, 0xabb
lea rdx, [0x140562560]
xor ecx, ecx
call fcn.14014da80
mov r8d, 0xabb
lea rdx, [0x1405625b0]
lea rcx, [0x1405625f8]
call fcn.140015e70
mov ecx, 0xfd
call fcn.14038e600
nop
cmp dword [rsp + 0x88], 0xffffffff
jne 0x1401680ce
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3d8]
call fcn.140142c50
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x84], eax
jmp 0x14016810e
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3d8]
call fcn.140142c50
cmp eax, dword [rsp + 0x88]
jge 0x14016810e
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3d8]
call fcn.140142c50
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x84], eax
jmp 0x140167fea
lea r8, [rsp + 0x48]
mov edx, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x108]
call fcn.140164780
mov dword [rsp + 0x64], eax
jmp 0x140168155
mov dword [rsp + 0x80], 0
lea r8, [rsp + 0x48]
xor edx, edx
mov rcx, qword [rsp + 0x108]
call fcn.140164780
mov dword [rsp + 0x64], eax
movsxd rax, dword [rsp + 0x64]
mov r8, rax
lea rdx, [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x58]
call fcn.140143930
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
je 0x1401683be
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rax], rcx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3d8]
call fcn.14013a730
test eax, eax
je 0x1401683a2
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3d8]
call fcn.14013a770
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x80], 0
jne 0x1401681dc
mov dword [rsp + 0xd0], 0
jmp 0x1401681f0
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x80]
dec eax
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0xd0]
mov dword [rax + 0x80], ecx
mov r8d, dword [rsp + 0x64]
lea rdx, [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x60]
call fcn.140143a20
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x78]
call fcn.140144250
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x3a4], 0
jne 0x14016827f
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x3e0], 0
je 0x14016825f
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3e0]
call fcn.14012c870
test eax, eax
je 0x14016827f
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x68]
call fcn.14013a770
mov dword [rsp + 0x30], 1
jmp 0x1401683a0
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x3e0], 0
je 0x1401683a0
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x398], 0
jne 0x1401683a0
mov dword [rsp + 0x80], 0
jmp 0x1401682c1
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 0x80], eax
jge 0x140168324
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 8]
movsxd rdx, dword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov r8, qword [r8]
mov dword [rsp + 0x28], 1
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x20], rax
mov r9, qword [r8 + rdx*8]
mov r8d, 1
xor edx, edx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3e0]
call fcn.14012b2b0
nop
jmp 0x1401682b1
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x80], 0
je 0x1401683a0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x80]
cmp dword [rax + 0x1c], 0
jle 0x140168389
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x80]
cmp qword [rax + 0x20], 0
je 0x140168389
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x80]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x80]
mov r8, qword [rax + 0x20]
mov edx, dword [rcx + 0x1c]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3e0]
call fcn.14012cf70
nop
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3e0]
call fcn.140166bc0
nop
jmp 0x1401683b9
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3d8]
call fcn.14013a770
nop
jmp 0x1401684f5
mov r9d, 0xb03
lea r8, [0x140562620]
mov edx, 1
mov ecx, 0x470
call fcn.1403ba980
xor r9d, r9d
xor r8d, r8d
mov edx, 0x458
mov rcx, rax
call fcn.1401375b0
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rax], rcx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x360], rcx
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x370], 0xffffffff
call fcn.14013a6e0
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x3d8], rax
mov rax, qword [rsp + 0x108]
movzx eax, word [rax]
cmp eax, 0x17
jne 0x140168452
mov qword [rsp + 0xd8], 0x1c
jmp 0x14016845e
mov qword [rsp + 0xd8], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x70]
add rax, 0x28
mov r9, qword [rsp + 0xd8]
mov r8, qword [rsp + 0x108]
mov edx, 0x1c
mov rcx, rax
call fcn.14015f0e0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x408], ecx
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x3d8]
call fcn.14013a770
movsxd rax, dword [rsp + 0x64]
mov r9, qword [rsp + 0x70]
mov r8, rax
lea rdx, [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x58]
call fcn.140143860
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x3a4], 0
jne 0x1401684f5
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x68]
call fcn.14013a770
mov dword [rsp + 0x30], 1
mov rax, qword [rsp + 0x68]
add rax, 0x84
mov rcx, rax
call fcn.14015f2a0
cmp dword [rsp + 0x30], 0
je 0x14016851e
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x20]
call fcn.140140d90
nop
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x78]
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_accept
call fcn.14037c300
mov rax, rdi
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.14037c650
add rsp, 0xf0
pop rdi
ret