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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
cmp cx, word [rsp + 0x60]
jne 0x14009e009
cmp byte [rdx], 0
je 0x14009e06d
mov byte [rdx], 0
mov rax, qword [r12]
lea rcx, [rax + 1]
mov qword [r12], rcx
mov byte [rax], 0x2e
movzx ecx, byte [r15 + 0x17]
test cl, cl
jns 0x14009dfd7
mov rcx, qword [r15 + 8]
xor eax, eax
test rcx, rcx
je 0x14009e21c
mov rcx, qword [r11]
mov rdx, rcx
sub rdx, r14
cmp rdx, 0x9f
jg 0x14009e21c
mov edx, dword [r10]
lea rbx, [rcx + 4]
mov qword [r11], rbx
mov dword [rcx], edx
jmp 0x14009e21c
cmp cx, word [rsp + 0x68]
jne 0x14009e057
movzx eax, byte [r15 + 0x17]
test al, al
jns 0x14009e01d
mov rax, qword [r15 + 8]
test rax, rax
je 0x14009e057
cmp byte [rdx], 0
je 0x14009e06d
mov rcx, qword [r11]
mov rdx, rcx
sub rdx, r14
xor eax, eax
cmp rdx, 0x9f
jg 0x14009e21c
mov edx, dword [r10]
lea rbx, [rcx + 4]
mov qword [r11], rbx
mov dword [rcx], edx
mov dword [r10], 0
jmp 0x14009e21c
mov rsi, qword [rsp + 0x90]
cmp word [rsi], cx
jne 0x14009e077
xor edi, edi
xor ebx, ebx
jmp 0x14009e1ad
mov eax, 0xffffffff
jmp 0x14009e21c
cmp word [rsi + 2], cx
jne 0x14009e087
mov ebx, 1
jmp 0x14009e1ab
cmp word [rsi + 4], cx
jne 0x14009e097
mov ebx, 2
jmp 0x14009e1ab
cmp word [rsi + 6], cx
jne 0x14009e0a7
mov ebx, 3
jmp 0x14009e1ab
cmp word [rsi + 8], cx
jne 0x14009e0b7
mov ebx, 4
jmp 0x14009e1ab
cmp word [rsi + 0xa], cx
jne 0x14009e0c7
mov ebx, 5
jmp 0x14009e1ab
cmp word [rsi + 0xc], cx
jne 0x14009e0d7
mov ebx, 6
jmp 0x14009e1ab
cmp word [rsi + 0xe], cx
jne 0x14009e0e7
mov ebx, 7
jmp 0x14009e1ab
cmp word [rsi + 0x10], cx
jne 0x14009e0f7
mov ebx, 8
jmp 0x14009e1ab
cmp word [rsi + 0x12], cx
jne 0x14009e107
mov ebx, 9
jmp 0x14009e1ab
cmp word [rsi + 0x14], cx
jne 0x14009e117
mov ebx, 0xa
jmp 0x14009e1ab
cmp word [rsi + 0x16], cx
jne 0x14009e127
mov ebx, ntohs
jmp 0x14009e1ab
cmp word [rsi + 0x18], cx
jne 0x14009e134
mov ebx, ntohs
jmp 0x14009e1ab
cmp word [rsi + 0x1a], cx
jne 0x14009e141
mov ebx, reloc.WS2_32.dll_listen
jmp 0x14009e1ab
cmp word [rsi + 0x1c], cx
jne 0x14009e14e
mov ebx, ntohs
jmp 0x14009e1ab
cmp word [rsi + 0x1e], cx
jne 0x14009e15b
mov ebx, reloc.WS2_32.dll_ntohs
jmp 0x14009e1ab
cmp word [rsi + 0x20], cx
jne 0x14009e168
mov ebx, reloc.WS2_32.dll_recv
jmp 0x14009e1ab
cmp word [rsi + 0x22], cx
jne 0x14009e175
mov ebx, select
jmp 0x14009e1ab
cmp word [rsi + 0x24], cx
jne 0x14009e182
mov ebx, reloc.WS2_32.dll_select
jmp 0x14009e1ab
cmp word [rsi + 0x26], cx
jne 0x14009e18f
mov ebx, reloc.WS2_32.dll_send
jmp 0x14009e1ab
cmp word [rsi + 0x28], cx
jne 0x14009e19c
mov ebx, setsockopt
jmp 0x14009e1ab
cmp word [rsi + 0x2a], cx
jne 0x14009e226
mov ebx, reloc.WS2_32.dll_setsockopt
xor edi, edi
lea rax, str.0123456789abcdefABCDEFxX_pPiInN
movzx ebx, byte [rbx + rax]
mov eax, ebx
and eax, 0x5f
movsx ecx, byte [r8]
cmp eax, ecx
jne 0x14009e202
or cl, 0x80
mov byte [r8], cl
cmp byte [rdx], 0
je 0x14009e202
mov byte [rdx], 0
movzx ecx, byte [r15 + 0x17]
test cl, cl
jns 0x14009e1e0
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14009e202
mov rcx, qword [r11]
mov rax, rcx
sub rax, r14
cmp rax, 0x9f
jg 0x14009e202
mov eax, dword [r10]
lea rdx, [rcx + 4]
mov qword [r11], rdx
mov dword [rcx], eax
mov rax, qword [r12]
lea rcx, [rax + 1]
mov qword [r12], rcx
mov byte [rax], bl
xor eax, eax
test dil, dil
jne 0x14009e21c
inc dword [r10]
xor eax, eax
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, reloc.WS2_32.dll_shutdown
cmp word [rsi + 0x2c], cx
je 0x14009e23c
mov eax, reloc.WS2_32.dll_socket
cmp word [rsi + 0x2e], cx
jne 0x14009e25a
lea rcx, str.0123456789abcdefABCDEFxX_pPiInN
mov al, byte [rax + rcx]
mov byte [r8], 0x50
mov rcx, qword [r12]
lea rdx, [rcx + 1]
mov qword [r12], rdx
mov byte [rcx], al
jmp 0x14009e21a
mov edi, 0x18
cmp word [rsi + 0x30], cx
je 0x14009e270
mov edi, 0x19
cmp word [rsi + 0x32], cx
jne 0x14009e29a
mov rcx, qword [r12]
cmp rcx, r9
je 0x14009e28e
mov dl, byte [rcx - 1]
and dl, 0x5f
mov bl, byte [r8]
and bl, 0x7f
mov eax, 0xffffffff
cmp dl, bl
jne 0x14009e21c
lea rax, str.0123456789abcdefABCDEFxX_pPiInN
mov al, byte [rdi + rax]
jmp 0x14009e24e
mov ebx, 0x1a
mov dil, 1
cmp word [rsi + 0x34], cx
je 0x14009e1ad
mov ebx, 0x1b
cmp word [rsi + 0x36], cx
je 0x14009e1ad
mov ebx, 0x1c
cmp word [rsi + 0x38], cx
je 0x14009e1ad
mov ebx, 0x1d
cmp word [rsi + 0x3a], cx
je 0x14009e1ad
mov ebx, 0x1e
cmp word [rsi + 0x3c], cx
je 0x14009e1ad
mov eax, 0xffffffff
mov ebx, 0x1f
cmp word [rsi + 0x3e], cx
je 0x14009e1ad
jmp 0x14009e21c