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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [0x140430040]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r15d, dword [rcx + 0x30]
test r15d, r15d
jne 0x1401b0642
mov ebx, r8d
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14043f640]
test rax, rax
jne 0x1401b07e4
cmp byte [rsi + 0x15], 3
jb 0x1401b063f
cmp byte [rsi + 0x10], 0
jne 0x1401b066d
cmp qword [rsi + 0x128], 0
jne 0x1401b0689
mov r14, qword [rsi + 0x48]
test rdi, rdi
jne 0x1401b07ab
mov rax, qword [r14]
test rax, rax
je 0x1401b0403
mov rax, qword [rax + 0x60]
mov rcx, r14
call qword [str._a_]
bt eax, 0xe
jb 0x1401b081a
xor ebp, ebp
cmp byte [rsi + 0x17], 0
jne 0x1401b04d9
cmp dword [rsi + 0x20], 0
je 0x1401b04d9
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r12, [rsp + 0x30]
mov qword [r12], rax
mov rax, qword [rsi + 0x110]
mov rcx, rsi
mov edx, 1
mov r8, r12
xor r9d, r9d
call qword [str._a_]
mov rcx, qword [r12]
test eax, eax
jne 0x1401b0802
mov rax, qword [rcx + 0x28]
test byte [rcx + 0x34], 4
je 0x1401b052c
mov edx, dword [rax + 0x20]
cmp edx, dword [rcx + 0x30]
jb 0x1401b052c
cmp dword [rax + 0x80], 0
je 0x1401b0487
call fcn.140246690
mov r15d, eax
mov rcx, qword [rsp + 0x30]
test eax, eax
jne 0x1401b04bc
test rcx, rcx
je 0x1401b04b5
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x28]
mov edx, dword [rdx + 0x88]
bswap edx
inc edx
bswap edx
mov dword [rax + 0x18], edx
mov rax, qword [rcx + 8]
mov dword [rax + 0x5c], edx
mov rax, qword [rcx + 8]
mov dword [rax + 0x60], 0x707a2e00
mov byte [rsi + 0x17], 1
xor r15d, r15d
test rcx, rcx
je 0x1401b04d0
test byte [rcx + 0x34], 0x20
jne 0x1401b0765
call fcn.1402465d0
test r15d, r15d
jne 0x1401b0642
test rdi, rdi
jne 0x1401b08f5
mov rcx, rsi
xor edx, edx
call fcn.1401b6780
test eax, eax
jne 0x1401b07dc
mov rcx, qword [rsi + 0x120]
call fcn.140246d30
mov r12, rax
test bpl, bpl
jne 0x1401b0b8d
mov rcx, rsi
mov rdx, r12
call fcn.1401b6a40
mov r15d, eax
test r15d, r15d
jne 0x1401b0642
mov r14, qword [rsi + 0x120]
jmp 0x1401b058a
mov r15d, dword [rax + 0x30]
test r15d, r15d
jne 0x1401b04bc
mov edx, dword [rax + 0xb8]
cmp edx, dword [rax + 0xc8]
ja 0x1401b0ad5
call fcn.1401bf320
jmp 0x1401b047b
mov qword [rdx + 0x40], r8
mov eax, dword [rcx + 0x34]
and eax, 0xfffffff0
inc eax
mov word [rcx + 0x34], ax
cmp qword [rcx + 0x38], 0
jne 0x1401b058a
mov r8, qword [rcx + 0x18]
cmp byte [r8 + 0x30], 0
je 0x1401b058a
mov rax, qword [0x14043f598]
mov rdx, qword [rcx]
mov rcx, qword [r8 + 0x48]
xor r8d, r8d
call qword [str._a_]
mov rcx, qword [r14]
test rcx, rcx
je 0x1401b05d3
mov rax, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x48]
cmp qword [rax + 0x10], rcx
je 0x1401b05cd
mov r8, qword [rcx + 0x40]
lea r9, [rax + 8]
lea r10, [r8 + 0x48]
test r8, r8
cmove r10, r9
mov qword [r10], rdx
mov r8, qword [rcx + 0x40]
test rdx, rdx
jne 0x1401b0551
mov qword [rax], r8
test r8, r8
jne 0x1401b0555
mov byte [rax + 0x31], 2
jmp 0x1401b0555
mov qword [rax + 0x10], rdx
jmp 0x1401b05a0
mov edx, dword [rsi + 0x20]
cmp edx, dword [rsi + 0x28]
ja 0x1401b08b4
test ebx, ebx
jne 0x1401b0631
mov rcx, qword [rsi + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1401b060a
mov rax, qword [rax + 0x50]
mov edx, reloc.WS2_32.dll_setsockopt
mov r8, rdi
call qword [str._a_]
cmp eax, 0xc
jne 0x1401b080a
cmp byte [rsi + 0xb], 0
jne 0x1401b0631
movzx edx, byte [rsi + 0xe]
test edx, edx
je 0x1401b0631
mov rcx, qword [rsi + 0x48]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [str._a_]
mov r15d, eax
test r15d, r15d
jne 0x1401b0642
cmp qword [rsi + 0x128], 0
jne 0x1401b063f
mov byte [rsi + 0x15], 5
xor r15d, r15d
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
cmp rcx, qword [0x140430040]
je 0x1401b0659
call fcn.140278ca0
int3
mov eax, r15d
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 0x48]
cmp qword [rax], 0
jne 0x1401b083b
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x1401b0631
jmp 0x1401b0c53
mov qword [rsp + 0x30], 0
mov rcx, qword [rsi + 0x120]
call fcn.140246d30
test rax, rax
je 0x1401b0c63
mov r8d, dword [rsi + 0x20]
mov rcx, rsi
mov rdx, rax
mov r9d, 1
call fcn.1401b6670
mov r15d, eax
mov rcx, qword [rsp + 0x30]
test rcx, rcx
jne 0x1401b08aa
test r15d, r15d
jne 0x1401b062c
mov rdi, qword [rsi + 0x120]
jmp 0x1401b0718
mov qword [rdx + 0x40], r8
mov eax, dword [rcx + 0x34]
and eax, 0xfffffff0
inc eax
mov word [rcx + 0x34], ax
cmp qword [rcx + 0x38], 0
jne 0x1401b0718
mov r8, qword [rcx + 0x18]
cmp byte [r8 + 0x30], 0
je 0x1401b0718
mov rax, qword [0x14043f598]
mov rdx, qword [rcx]
mov rcx, qword [r8 + 0x48]
xor r8d, r8d
call qword [str._a_]
mov rcx, qword [rdi]
test rcx, rcx
je 0x1401b062c
mov rax, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x48]
cmp qword [rax + 0x10], rcx
je 0x1401b075f
mov r8, qword [rcx + 0x40]
lea r9, [rax + 8]
lea r10, [r8 + 0x48]
test r8, r8
cmove r10, r9
mov qword [r10], rdx
mov r8, qword [rcx + 0x40]
test rdx, rdx
jne 0x1401b06df
mov qword [rax], r8
test r8, r8
jne 0x1401b06e3
mov byte [rax + 0x31], 2
jmp 0x1401b06e3
mov qword [rax + 0x10], rdx
jmp 0x1401b0732
mov rax, qword [rcx + 0x28]
dec dword [rax + 0x98]
mov rdx, qword [rax + 0xa8]
mov qword [rcx + 0x20], rdx
mov qword [rax + 0xa8], rcx
mov edx, dword [rcx + 0x30]
dec edx
imul rdx, qword [rax + 0xc8]
mov r8, qword [rcx + 8]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
mov rax, qword [rax + 0x90]
call qword [str._a_]
jmp 0x1401b04d0
mov rcx, qword [rsi + 0x50]
lea rax, reloc.WS2_32.dll_accept
cmp qword [rcx], rax
jne 0x1401b0403
cmp dword [rcx + 0xc], 0
jg 0x1401b07cf
test byte [rcx + 0x39], 8
je 0x1401b0403
call fcn.140359b10
test eax, eax
je 0x1401b0403
mov r15d, eax
jmp 0x1401b0642
mov ecx, 0x190
call qword [str._a_]
mov r15d, 0xa
test eax, eax
je 0x1401b03b5
jmp 0x1401b0642
mov r15d, eax
jmp 0x1401b04bc
mov r15d, eax
test eax, eax
je 0x1401b060a
jmp 0x1401b0642
cmp byte [rsi + 0xb], 0
jne 0x1401b0403
mov rax, qword [rsi + 0x50]
lea rcx, reloc.WS2_32.dll_accept
cmp qword [rax], rcx
sete bpl
jmp 0x1401b0405
mov r8, qword [rsi + 0x120]
movsxd rax, dword [r8 + 0x20]
test rax, rax
jns 0x1401b0875
shl rax, 0xa
neg rax
movsxd rcx, dword [r8 + 0x28]
movsxd r9, dword [r8 + 0x2c]
add r9, rcx
cqo
idiv r9
mov rcx, rax
mov eax, 0x3b9aca00
cmp rcx, 0x3b9aca00
cmovl rax, rcx
mov rdx, qword [r8]
xor ecx, ecx
jmp 0x1401b0884
mov rdx, qword [rdx + 0x40]
add rcx, 0x64
test rdx, rdx
jne 0x1401b087c
test eax, eax
je 0x1401b067b
movsxd r8, eax
mov rax, rcx
cqo
idiv r8
cmp eax, 0x18
jle 0x1401b067b
jmp 0x1401b03c9
call fcn.140359440
jmp 0x1401b06cd
xor eax, eax
cmp edx, dword [rsi + 0xc0]
sete al
sub edx, eax
mov rcx, rsi
call fcn.14035b8d0
test eax, eax
jne 0x1401b07dc
jmp 0x1401b05df
mov qword [rsp + 0x28], 0
xor r12d, r12d
xor r13d, r13d
jmp 0x1401b0946
mov qword [rsp + 0x20], 0
jmp 0x1401b097d
cmp byte [rsi + 9], 4
je 0x1401b04e2
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x30], rax
mov rcx, qword [rsi + 0x50]
cmp qword [rcx], 0
je 0x1401b04e2
mov byte [rsi + 0x18], 1
mov al, byte [rdi]
test al, al
je 0x1401b08d6
xor r13d, r13d
xor r12d, r12d
movsx eax, al
add r12d, eax
mov al, byte [rdi + r13 + 1]
inc r13
test al, al
jne 0x1401b092c
mov eax, r13d
mov qword [rsp + 0x28], rax
cmp byte [rsi + 0xc], 0
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x20], rax
je 0x1401b0986
cmp qword [rsp + 0x20], 0
je 0x1401b08e7
mov rax, qword [rsp + 0x20]
dec rax
mov r8d, dword [rsi + 0xb8]
cqo
idiv r8
inc rax
imul rax, r8
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsi + 0x60], rax
mov eax, dword [rsi + 0xc0]
bswap eax
lea rdx, [rsp + 0x3c]
mov dword [rdx], eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8d, 4
mov r9, qword [rsp + 0x20]
call qword [str._a_]
test eax, eax
jne 0x1401b07dc
mov r9, qword [rsp + 0x20]
add r9, 4
mov rcx, qword [rsi + 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rdx, rdi
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x20], r9
call qword [str._a_]
test eax, eax
jne 0x1401b07dc
mov r9, qword [rsp + 0x20]
add r9, r13
mov rcx, qword [rsi + 0x50]
mov rax, qword [rsp + 0x28]
bswap eax
lea rdx, [rsp + 0x3c]
mov dword [rdx], eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8d, 4
mov r13, r9
call qword [str._a_]
test eax, eax
jne 0x1401b07dc
lea r9, [r13 + 4]
mov rcx, qword [rsi + 0x50]
bswap r12d
lea rdx, [rsp + 0x3c]
mov dword [rdx], r12d
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8d, 4
call qword [str._a_]
test eax, eax
jne 0x1401b07dc
mov r9, r13
add r9, 8
mov rcx, qword [rsi + 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [0x14040fa73]
mov r8d, 8
call qword [str._a_]
test eax, eax
jne 0x1401b07dc
mov eax, dword [rsp + 0x28]
mov rcx, qword [rsi + 0x50]
mov rdx, qword [rsi + 0x60]
add rax, rdx
add rax, 0x14
mov qword [rsi + 0x60], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
lea rdx, [rsp + 0x30]
call qword [str._a_]
test eax, eax
jne 0x1401b07dc
mov rdx, qword [rsi + 0x60]
cmp qword [rsp + 0x30], rdx
jle 0x1401b04e2
mov rcx, qword [rsi + 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [str._a_]
test eax, eax
je 0x1401b04e2
jmp 0x1401b07dc
call fcn.14035c2e0
jmp 0x1401b047b
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jbe 0x1401b0b2f
mov rax, qword [rsi + 0xc8]
mov r13, qword [rsi + 0x118]
movsxd rbp, eax
mov rcx, r13
xor edx, edx
mov r8, rbp
call fcn.1402b6a10
mov r9d, dword [rsi + 0x20]
imul r9, qword [rsi + 0xc8]
sub r9, rbp
mov rcx, qword [rsi + 0x48]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rdx, r13
mov r8d, ebp
call qword [str._a_]
test eax, eax
jne 0x1401b0b6c
mov rax, qword [r14]
test rax, rax
je 0x1401b0bcd
mov rax, qword [rax + 0x50]
xor r15d, r15d
mov rcx, r14
mov edx, 0x20
xor r8d, r8d
call qword [str._a_]
test eax, eax
jne 0x1401b0b6c
jmp 0x1401b0bcd
mov rcx, rsi
mov rdx, r12
call fcn.1401b6a40
test eax, eax
je 0x1401b0adf
mov ebp, eax
mov rax, qword [r14]
test rax, rax
je 0x1401b0bb6
mov rax, qword [rax + 0x50]
mov rcx, r14
mov edx, 0x21
xor r8d, r8d
call qword [str._a_]
jmp 0x1401b0bb6
mov rax, qword [r14]
mov r15d, recv
test rax, rax
je 0x1401b0bcd
mov rax, qword [rax + 0x50]
mov rcx, r14
mov edx, 0x1f
xor r8d, r8d
call qword [str._a_]
mov ebp, eax
test eax, eax
je 0x1401b0b59
cmp bpl, 0xa
setne al
cmp ebp, 0xc0a
sete cl
or cl, al
mov r15d, ebp
je 0x1401b0bf6
mov r14, qword [rsi + 0x50]
mov rax, qword [r14]
test rax, rax
je 0x1401b051a
mov rax, qword [rax + 8]
mov rcx, r14
call qword [str._a_]
mov qword [r14], 0
jmp 0x1401b051a
mov rcx, qword [rsi + 0x50]
lea rax, reloc.WS2_32.dll_accept
cmp qword [rcx], rax
jne 0x1401b050c
cmp dword [rcx + 0xc], 0
jg 0x1401b0c1a
test byte [rcx + 0x39], 8
je 0x1401b050c
call fcn.140359b10
test eax, eax
je 0x1401b050c
mov r15d, eax
mov rsi, qword [rsi + 0x50]
mov rax, qword [rsi]
test rax, rax
je 0x1401b0642
mov rax, qword [rax + 8]
mov rcx, rsi
call qword [str._a_]
mov qword [rsi], 0
jmp 0x1401b0642
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
jmp 0x1401b067f
mov rax, qword [rsi + 0x110]
lea rdi, [rsp + 0x30]
mov rcx, rsi
mov edx, 1
mov r8, rdi
xor r9d, r9d
call qword [str._a_]
mov r15d, eax
mov rax, qword [rdi]
mov qword [rax + 0x20], 0
test rax, rax
jne 0x1401b06a7
jmp 0x1401b06cd