Function at 0x1401ee810
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x78
mov rbp, qword [rcx]
mov r13d, r9d
xor r9d, r9d
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x48], r9d
mov rbx, r8
mov dword [rsp + 0x44], r9d
mov rsi, rdx
mov rdi, rcx
mov r12d, r9d
test r8, r8
jne 0x1401ee859
xor eax, eax
add rsp, 0x78
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp qword [rcx + 0x188], r9
jne 0x1401ee84a
cmp qword [r8 + 0x68], r9
jne 0x1401ee84a
call fcn.1401bdca0
test rax, rax
jne 0x1401ee84a
cmp dword [rsi + 0x54], r12d
jne 0x1401ee84a
cmp r13d, 0xb
jne 0x1401ee896
cmp word [rsi + 0x44], r12w
jl 0x1401ee890
movzx r13d, byte [rsi + 0x4e]
cmp r13d, 0xb
jne 0x1401ee896
mov r13d, 2
mov r8, qword [rbx + 0x28]
cmp dword [r8], 1
jne 0x1401ee84a
cmp qword [r8 + 0x30], r12
jne 0x1401ee84a
cmp qword [rbx + 0x30], r12
jne 0x1401ee84a
cmp qword [rbx + 0x48], r12
jne 0x1401ee84a
cmp qword [rbx + 0x38], r12
jne 0x1401ee84a
cmp qword [rbx + 0x60], r12
jne 0x1401ee84a
cmp qword [rbx + 0x50], r12
jne 0x1401ee84a
test byte [rbx + 4], 1
jne 0x1401ee84a
mov rax, qword [rbx + 0x20]
cmp dword [rax], 1
jne 0x1401ee84a
mov rax, qword [rax + 8]
cmp byte [rax], 0xb1
jne 0x1401ee84a
add r8, 8
mov qword [rsp + 0xb8], r14
xor edx, edx
mov rcx, rdi
call fcn.1401ad240
mov qword [rsp + 0x58], rax
mov r14, rax
test rax, rax
je 0x1401ee954
mov eax, dword [rsi + 0x38]
cmp dword [r14 + 0x38], eax
jne 0x1401ee91a
mov rax, qword [rsi + 0x70]
cmp qword [r14 + 0x70], rax
je 0x1401ee954
mov ecx, dword [rsi + 0x40]
mov eax, dword [r14 + 0x40]
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x1401ee954
cmp dword [r14 + 0x54], r12d
jne 0x1401ee954
cmp qword [r14 + 0x18], r12
jne 0x1401ee954
movzx ecx, word [rsi + 0x46]
cmp cx, word [r14 + 0x46]
jne 0x1401ee954
movzx eax, word [r14 + 0x44]
cmp word [rsi + 0x44], ax
je 0x1401ee95b
xor eax, eax
jmp 0x1401ef21a
xor r9d, r9d
mov qword [rsp + 0x70], r15
mov r15d, r9d
cmp r9w, cx
jge 0x1401eea7c
mov ebp, r9d
mov r14d, r9d
nop word [rax + rax]
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsi + 8]
add rbx, r14
mov rdi, qword [rax + 8]
add rdi, r14
movzx ecx, word [rbx + 0x1c]
and cx, 0x60
movzx eax, word [rdi + 0x1c]
and ax, 0x60
cmp cx, ax
jne 0x1401ef1ed
test cx, cx
je 0x1401ee9cc
mov r8, qword [rbx + 8]
or r9d, 0xffffffff
mov rdx, qword [rdi + 8]
xor ecx, ecx
call fcn.1401a0230
test eax, eax
jne 0x1401ef1ed
movzx eax, byte [rdi + 0x19]
cmp byte [rbx + 0x19], al
jne 0x1401ef1ed
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.14014bae0
test eax, eax
jne 0x1401ef1ed
cmp byte [rbx + 0x18], r12b
je 0x1401ee9fe
cmp byte [rdi + 0x18], r12b
je 0x1401ef1ed
test byte [rbx + 0x1c], 0x60
jne 0x1401eea5b
test rbp, rbp
jle 0x1401eea5b
mov r8, qword [rdi + 8]
xor r9d, r9d
mov rdx, qword [rbx + 8]
test r8, r8
mov ecx, r9d
mov eax, r9d
sete cl
test rdx, rdx
sete al
cmp eax, ecx
jne 0x1401ef1ed
test rdx, rdx
je 0x1401eea5b
mov rax, qword [rdx + 8]
mov r8, qword [r8 + 8]
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1401eea53
inc rax
test ecx, ecx
jne 0x1401eea40
test edx, edx
jne 0x1401ef1ed
movsx eax, word [rsi + 0x46]
inc r15d
inc rbp
add r14, 0x20
cmp r15d, eax
jl 0x1401ee980
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsi + 0x10]
mov eax, 1
test rdi, rdi
je 0x1401eeb03
nop word [rax + rax]
cmp byte [rdi + 0x62], 0
mov rbx, qword [r14 + 0x10]
cmovne r12d, eax
test rbx, rbx
je 0x1401ef1ed
mov rdx, rbx
mov rcx, rdi
call fcn.1401ee6f0
test eax, eax
jne 0x1401eeac2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401eeaa5
jmp 0x1401ef215
mov eax, dword [rdi + 0x58]
cmp dword [rbx + 0x58], eax
jne 0x1401eeaf3
mov rax, qword [rsi + 0x70]
cmp qword [r14 + 0x70], rax
jne 0x1401eeaf3
mov rax, qword [0x1403dd2a8]
test rax, rax
je 0x1401ef1ed
mov ecx, 0x19b
call rax
test eax, eax
je 0x1401ef1ed
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x1401eeb03
mov eax, 1
jmp 0x1401eea90
mov rdx, qword [rsi + 0x30]
test rdx, rdx
je 0x1401eeb21
mov rcx, qword [r14 + 0x30]
or r8d, 0xffffffff
call fcn.1401a18c0
test eax, eax
jne 0x1401ef1ed
mov rax, qword [rbp + 0x30]
bt rax, 0xe
jae 0x1401eeb37
cmp qword [rsi + 0x20], 0
jne 0x1401ef1ed
movabs rcx, 0x100000000
test rcx, rax
jne 0x1401ef1ed
mov rdx, qword [r14 + 0x70]
mov rcx, rbp
call fcn.1401b8500
mov r15, qword [rsp + 0xb0]
mov ebx, eax
mov dword [rsp + 0x38], eax
mov r14, qword [r15 + 0x10]
test r14, r14
jne 0x1401eeb8f
cmp qword [r15 + 0xa0], r14
jne 0x1401eeb84
mov rax, qword [r15]
test byte [rax + 0x5c], 8
jne 0x1401eeb84
mov byte [r15 + 0x23], 1
mov rcx, r15
call fcn.1401c2750
mov r14, rax
mov rcx, qword [r15 + 0xa0]
mov rdx, r15
test rcx, rcx
cmovne rdx, rcx
mov ecx, dword [rdx + 0x74]
bt ecx, ebx
jb 0x1401eebbb
bts ecx, ebx
mov dword [rdx + 0x74], ecx
cmp ebx, 1
jne 0x1401eebbb
mov rcx, rdx
call fcn.1401ae5a0
mov edi, dword [r15 + 0x34]
mov r8, rsi
mov edx, dword [rsp + 0xd0]
mov rcx, r15
mov dword [rsp + 0x3c], edi
lea ebx, [rdi + 1]
lea eax, [rbx + 1]
mov dword [rsp + 0x30], ebx
mov dword [r15 + 0x34], eax
call fcn.140161a40
movzx ecx, byte [r15 + 0x1f]
mov ebp, eax
test cl, cl
jne 0x1401eebfc
inc dword [r15 + 0x38]
mov ecx, dword [r15 + 0x38]
mov dword [rsp + 0x34], ecx
jmp 0x1401eec11
dec cl
movzx eax, cl
mov byte [r15 + 0x1f], al
mov eax, dword [r15 + rax*4 + 0xcc]
mov dword [rsp + 0x34], eax
movzx eax, byte [r15 + 0x1f]
test al, al
jne 0x1401eec24
inc dword [r15 + 0x38]
mov eax, dword [r15 + 0x38]
jmp 0x1401eec35
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov eax, dword [r15 + rax*4 + 0xcc]
mov r8d, dword [rsp + 0xd0]
mov r9, rsi
mov edx, ebx
mov dword [rsp + 0xc0], eax
mov rcx, r15
mov dword [rsp + 0x20], 0x61
call fcn.1401ae150
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
jne 0x1401eecb4
cmp word [rsi + 0x44], 0
jge 0x1401eec72
cmp qword [rsi + 0x10], 0
jne 0x1401eec80
test r12d, r12d
jne 0x1401eec80
lea eax, [r13 - 1]
cmp eax, 1
jbe 0x1401eecb4
xor r9d, r9d
mov r8d, ebx
mov rcx, r14
mov r12d, ebx
lea edx, [r9 + 0x25]
call fcn.1401c1c20
mov edx, listen
mov rcx, r14
mov ebx, eax
call fcn.1401c1b40
mov edx, ebx
mov dword [rsp + 0x48], eax
mov rcx, r14
call fcn.1401caa30
jmp 0x1401eecb7
mov r12d, ebx
mov rbx, qword [rsp + 0x58]
mov rcx, r15
test byte [rbx + 0x40], 0x80
jne 0x1401eef05
mov r8d, dword [rsp + 0x38]
mov r9, rbx
mov edx, edi
mov dword [rsp + 0x20], 0x60
call fcn.1401ae150
xor r9d, r9d
mov r8d, edi
mov rcx, r14
lea edx, [r9 + 0x25]
call fcn.1401c1c20
cmp word [rsi + 0x44], 0
mov dword [rsp + 0x44], eax
jl 0x1401eed5d
mov ebx, dword [rsp + 0xc0]
mov r8d, edi
mov r9d, ebx
mov edx, 0x7f
mov rcx, r14
call fcn.1401c1c20
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov rcx, r14
mov edi, eax
lea edx, [r9 + 0x20]
call fcn.1401c1c90
mov r8, rsi
mov edx, r13d
mov rcx, r15
mov ebx, eax
call fcn.1401b71a0
mov edx, ebx
mov rcx, r14
call fcn.1401caa30
mov r8d, dword [rsp + 0xc0]
mov edx, ebp
mov rcx, r15
call fcn.140161b40
jmp 0x1401eed93
cmp qword [rsi + 0x10], 0
jne 0x1401eed79
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 8
jne 0x1401eed79
mov r8d, r12d
mov edx, 0x78
jmp 0x1401eed81
mov r8d, edi
mov edx, 0x7f
mov r9d, dword [rsp + 0xc0]
mov rcx, r14
call fcn.1401c1c20
mov edi, eax
mov r13d, dword [rsp + 0x34]
mov eax, 1
mov ebp, dword [rsp + 0x3c]
mov r9d, r13d
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x7d]
call fcn.1401c1c90
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x1401eedd8
mov r8d, r12d
mov edx, 0x81
mov rcx, r14
call fcn.1401c1bb0
mov ebx, reloc.WS2_32.dll_gethostname
jmp 0x1401eeddd
mov ebx, 0x29
movsxd rdx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], edx
jg 0x1401eee0f
mov eax, dword [rsp + 0xc0]
mov r9d, r13d
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov edx, 0x79
mov rcx, r14
call fcn.140178b80
mov edx, eax
jmp 0x1401eee4a
mov r8d, dword [rsp + 0xc0]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor r9d, r9d
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r9
mov rcx, qword [r14]
cmp byte [rcx + 0x61], 0
je 0x1401eee62
mov r8, rsi
mov edx, 0xfffffffa
call fcn.140175770
jmp 0x1401eeea3
test edx, edx
jns 0x1401eee6f
mov edx, dword [r14 + 0x90]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401eee9b
mov r9d, 0xfffffffa
mov r8, rsi
mov rcx, r14
call fcn.1401dd120
jmp 0x1401eeea3
mov qword [rdx + 0x10], rsi
mov byte [rdx + 1], 0xfa
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x1401eeec3
dec eax
movsxd rcx, eax
mov rax, qword [r14 + 0x88]
lea rdx, [rcx + rcx*2]
mov word [rax + rdx*8 + 2], bx
mov r9d, edi
mov r8d, ebp
mov edx, 5
mov rcx, r14
call fcn.1401c1c20
xor r9d, r9d
mov r8d, ebp
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.1401c1c20
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.1401c1c20
mov rbx, qword [rsp + 0x58]
mov edi, dword [rsp + 0x38]
jmp 0x1401eef3d
mov rax, qword [rsi]
mov r9b, 1
mov r8d, dword [rsi + 0x38]
mov edx, dword [rsp + 0xd0]
mov qword [rsp + 0x20], rax
call fcn.1401bd690
mov rax, qword [rbx]
xor r9d, r9d
mov edi, dword [rsp + 0x38]
mov rcx, r15
mov r8d, dword [rbx + 0x38]
mov edx, edi
mov qword [rsp + 0x20], rax
call fcn.1401bd690
mov rbp, qword [rsi + 0x10]
test rbp, rbp
je 0x1401ef150
mov esi, dword [rsp + 0x3c]
nop
mov rbx, qword [rbx + 0x10]
xor r13b, r13b
test rbx, rbx
je 0x1401eef78
nop dword [rax]
mov rdx, rbx
mov rcx, rbp
call fcn.1401ee6f0
test eax, eax
jne 0x1401eef78
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401eef60
mov r9d, dword [rbx + 0x58]
mov r8d, esi
mov edx, 0x60
mov dword [rsp + 0x20], edi
mov rcx, r14
call fcn.1401c1c90
mov rdx, rbx
mov rcx, r15
call fcn.1401cd860
mov eax, dword [rsp + 0xd0]
mov r8d, r12d
mov r9d, dword [rbp + 0x58]
mov edx, 0x61
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1401c1c90
mov rdx, rbp
mov rcx, r15
call fcn.1401cd860
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x1401eefea
dec eax
movsxd rcx, eax
mov rax, qword [r14 + 0x88]
lea rdx, [rcx + rcx*2]
mov ecx, 1
mov word [rax + rdx*8 + 2], cx
xor r9d, r9d
mov r8d, esi
mov rcx, r14
lea edx, [r9 + 0x25]
call fcn.1401c1c20
mov r9d, dword [rsp + 0x34]
mov edi, eax
mov dword [rsp + 0x40], eax
mov r8d, esi
mov eax, 1
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x7d]
call fcn.1401c1c90
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x1401ef0a7
movzx r12d, word [rbx + 0x60]
xor eax, eax
mov edi, eax
mov r11d, eax
test r12d, r12d
je 0x1401ef086
mov r10, qword [rbx + 0x40]
lea r15, [0x1402f5d08]
mov r9, qword [r10]
test r9, r9
je 0x1401ef07a
mov r8, r15
sub r9, r15
movzx eax, byte [r8]
movzx ecx, byte [r9 + r8]
cmp eax, ecx
jne 0x1401ef1f1
test eax, eax
jne 0x1401ef208
inc edi
inc r11
add r10, 8
cmp r11, r12
jl 0x1401ef045
mov r15, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x3c]
cmp edi, r12d
mov r12d, dword [rsp + 0x30]
jne 0x1401ef0a3
mov r8d, r12d
mov edx, 0x81
mov rcx, r14
mov r13b, reloc.WS2_32.dll_recv
call fcn.1401c1bb0
mov edi, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
test byte [rbx + 0x40], 0x80
je 0x1401ef0bf
mov eax, dword [rbp + 0x64]
and al, 3
cmp al, 2
jne 0x1401ef0bf
or r13b, 1
mov r9d, dword [rsp + 0x34]
mov r8d, r12d
mov edx, 0x83
mov rcx, r14
call fcn.1401c1c20
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x1401ef0fd
or r13b, 8
dec eax
movzx r8d, r13b
movsxd rcx, eax
mov rax, qword [r14 + 0x88]
lea rdx, [rcx + rcx*2]
mov word [rax + rdx*8 + 2], r8w
lea r9d, [rdi + 1]
mov r8d, esi
mov edx, 5
mov rcx, r14
call fcn.1401c1c20
mov edx, edi
mov rcx, r14
call fcn.1401caa30
xor r9d, r9d
mov r8d, esi
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.1401c1c20
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.1401c1c20
mov rbp, qword [rbp + 0x28]
mov edi, dword [rsp + 0x38]
test rbp, rbp
jne 0x1401eef50
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1401ef162
mov edx, eax
mov rcx, r14
call fcn.1401caa30
mov ecx, dword [rsp + 0xc0]
test ecx, ecx
je 0x1401ef185
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x1401ef185
movzx eax, al
mov dword [r15 + rax*4 + 0xcc], ecx
inc byte [r15 + 0x1f]
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x1401ef1a5
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x1401ef1a5
movzx eax, al
mov dword [r15 + rax*4 + 0xcc], ecx
inc byte [r15 + 0x1f]
mov ebx, dword [rsp + 0x48]
test ebx, ebx
je 0x1401ef210
cmp qword [r15 + 0x98], 0
je 0x1401ef1bf
mov rcx, r15
call fcn.140161bb0
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x44]
call fcn.1401c1c20
mov edx, ebx
mov rcx, r14
call fcn.1401caa30
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.1401c1c20
xor eax, eax
jmp 0x1401ef215
lea rbx, [0x1402f68a0]
movzx edx, byte [rcx + rbx]
movzx eax, byte [rax + rbx]
cmp eax, edx
jne 0x1401ef07a
inc r8
jmp 0x1401ef053
mov eax, 1
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0xb8]
add rsp, 0x78
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret