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

Disassembly:
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
cmp qword [rdx + 8], 0
mov r14, rdx
mov r15, rcx
mov eax, 1
jne 0x1337c0f276f4
movzx r13d, word [rcx + 0x74]
jmp 0x1337c0f276f7
mov r13d, eax
mov rcx, qword [0x1337c12d7b30]
xor edx, edx
movzx esi, r13w
imul rbx, rsi, 0xe8
lea r8, [rbx + 0x58]
call qword [0x1337c105a4e8]
mov rdi, rax
test rax, rax
jne 0x1337c0f27727
mov eax, 0x8007000e
jmp 0x1337c0f27e18
lea r8, [rbx + 0x58]
mov qword [rsp + 0xd0], r12
xor edx, edx
mov rcx, rdi
call fcn.1337c1055900
mov rax, qword [r14 + 0x18]
mov qword [rdi + 0x50], rax
mov rax, qword [r14 + 8]
neg rax
mov qword [rdi + 8], r15
movzx eax, byte [rdi]
sbb cl, cl
and al, 0xfb
and cl, 4
or cl, al
and cl, 0xdc
mov byte [rdi], cl
mov rcx, qword [r14]
test rcx, rcx
je 0x1337c0f27774
lea rdx, [rdi + 0x10]
call fcn.1337c0f26b90
jmp 0x1337c0f2777a
mov word [rdi + 0x10], reloc.WS2_32.dll_socket
mov word [rdi + 0x48], 0x5dc
prefetchw byte [r15 + 0x28]
mov rax, qword [r15 + 0x28]
lea rcx, [rax + 1]
cmp rcx, 1
jbe 0x1337c0f277a7
lock cmpxchg qword [r15 + 0x28], rcx
mov rcx, rax
je 0x1337c0f277b0
inc rcx
cmp rcx, 1
ja 0x1337c0f27793
je 0x1337c0f277b0
mov ecx, recv
int 0x29
test byte [r14 + 0x10], 1
je 0x1337c0f277ba
or byte [rdi], 0x40
xor ecx, ecx
mov eax, 2
mov edx, 0xffff
mov r12, 0xffffffffffffffff
cmp cx, r13w
jae 0x1337c0f27d56
lea rbx, [rdi + 0x60]
nop dword [rax + rax]
mov qword [rbx - 8], rdi
mov qword [rbx], r12
test byte [r15], 2
je 0x1337c0f277f4
mov eax, 0xfff7
jmp 0x1337c0f277fb
movzx eax, word [rdi + 0x48]
sub eax, 0x1c
xor r9d, r9d
mov dword [rbx + 0x18], eax
xor r8d, r8d
mov qword [rbx + 8], 1
xor edx, edx
xor ecx, ecx
call qword [0x1337c105a3c0]
mov qword [rbx + 0x10], rax
add rbx, 0xe8
sub rsi, 1
jne 0x1337c0f277e0
xor edx, edx
movzx r12d, dx
nop dword [rax]
movzx eax, r12w
xor r9d, r9d
imul rsi, rax, 0xe8
mov dword [rsp + 0x28], 1
mov ecx, reloc.WS2_32.dll_socket
mov dword [rsp + 0x20], edx
mov r8d, setsockopt
mov edx, 2
add rsi, rdi
movzx ebx, r12w
call qword [0x1337c105a700]
mov qword [rsi + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x1337c0f27d26
mov dword [rbp + 0x7f], 0
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
mov edx, 0x29
mov r8d, 0x1b
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
cmp qword [r14 + 8], 0
jne 0x1337c0f278f1
xor ecx, ecx
mov word [rbp + 0x6f], r12w
mov qword [rsp + 0x40], rcx
lea rax, [rbp - 0x11]
mov qword [rsp + 0x38], rcx
lea r8, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov r9d, 2
mov dword [rsp + 0x28], ecx
mov edx, 0x98000015
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsi + 0x60]
call qword [0x1337c105a6d8]
test eax, eax
jne 0x1337c0f27d26
mov dword [rbp + 0x7f], 1
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
xor edx, edx
mov r8d, recv
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov dword [rbp + 0x7f], 1
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
mov edx, 0x29
mov r8d, recv
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov dword [rbp + 0x7f], 1
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
mov edx, 0x29
mov r8d, reloc.WS2_32.dll_send
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov dword [rbp + 0x7f], 1
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
xor edx, edx
mov r8d, reloc.WS2_32.dll_send
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov dword [rbp + 0x7f], 1
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
mov edx, 0x29
mov r8d, 0x32
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov eax, 1
mov dword [rsp + 0x20], 4
mov dword [rbp + 0x7f], eax
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
xor edx, edx
mov r8d, 0x32
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov dword [rbp + 0x7f], 0x7fffffff
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
mov edx, 0xffff
mov r8d, 0x1002
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
test byte [r15], 2
je 0x1337c0f27a77
mov dword [rbp + 0x7f], 0xfff7
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
mov edx, setsockopt
mov r8d, 3
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov rcx, qword [rsi + 0x60]
mov dl, 3
call qword [0x1337c105a548]
test eax, eax
je 0x1337c0f27d1e
cmp qword [r14 + 8], 0
je 0x1337c0f27ac1
lea rcx, [rbp - 0x19]
call qword [0x1337c105a420]
movzx ecx, word [rbp - 0x19]
mov rax, qword [0x1337c130ed08]
movzx edx, byte [rbp - 0x17]
add dx, word [rax + rcx*4]
movzx ecx, word [r15 + 0x74]
movzx eax, dx
xor edx, edx
div ecx
mov ebx, edx
mov word [rdi + 2], dx
mov rcx, qword [rsi + 0x60]
lea r8, [rsi + 0x58]
movzx eax, bx
xor r9d, r9d
lea rbx, [rax + rax*4]
shl rbx, 5
mov rdx, qword [rbx + r15 + 0x88]
call qword [0x1337c105a540]
cmp qword [rbx + r15 + 0x88], rax
jne 0x1337c0f27d1e
mov eax, dword [r14 + 0x14]
test eax, eax
je 0x1337c0f27b5c
mov dword [rbp + 0x7f], eax
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
mov edx, 0x29
mov r8d, 0x1f
mov dword [rsp + 0x20], 4
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov ecx, dword [r14 + 0x14]
call qword [0x1337c105a698]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
mov dword [rbp + 0x7f], eax
xor edx, edx
mov rcx, qword [rsi + 0x60]
mov r8d, 0x1f
call qword [0x1337c105a690]
cmp eax, 0xffffffff
je 0x1337c0f27d26
test byte [r15], 0x10
je 0x1337c0f27c18
mov rax, qword [r14]
test rax, rax
je 0x1337c0f27c18
movzx ecx, word [rax + 2]
test cx, cx
je 0x1337c0f27c18
xor ebx, ebx
test r12w, r12w
jne 0x1337c0f27bda
mov qword [rsp + 0x40], rbx
lea r8, [rbp - 0x15]
mov qword [rsp + 0x38], rbx
mov eax, 1
mov word [rbp - 0x13], ax
mov r9d, 4
lea rax, [rbp - 0x11]
mov word [rbp - 0x15], cx
mov rcx, qword [rsi + 0x60]
mov edx, 0x98000064
mov qword [rsp + 0x30], rax
lea rax, [rbp - 9]
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], rax
call qword [0x1337c105a6d8]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov rcx, qword [rsi + 0x60]
lea rax, [rbp - 0x11]
mov qword [rsp + 0x40], rbx
lea r8, [rbp - 1]
mov qword [rsp + 0x38], rbx
mov r9d, 8
mov qword [rsp + 0x30], rax
mov edx, 0x98000066
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
call qword [0x1337c105a6d8]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov rcx, qword [rsi + 0x60]
lea rdx, [rdi + 0x10]
mov r8d, 0x1c
call qword [0x1337c105a730]
cmp eax, 0xffffffff
je 0x1337c0f27d26
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1337c0f27ce9
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rax
mov dword [rbp + 0x1f], eax
cmp word [rcx], 2
jne 0x1337c0f27cb9
movzx eax, word [rcx + 2]
mov edx, reloc.WS2_32.dll_socket
movups xmm0, xmmword [0x1337c10a3348]
mov word [rbp + 7], dx
xor edx, edx
mov dword [rbp + 0xb], edx
movups xmmword [rbp + 0xf], xmm0
mov word [rbp + 9], ax
movzx eax, byte [rcx + 4]
mov byte [rbp + 0x1b], al
movzx eax, byte [rcx + 5]
mov byte [rbp + 0x1c], al
movzx eax, byte [rcx + 6]
mov byte [rbp + 0x1d], al
movzx eax, byte [rcx + 7]
mov byte [rbp + 0x1e], al
mov dword [rbp + 0x1f], edx
mov eax, dword [rcx + 4]
mov dword [rbp - 0xd], eax
cmp eax, 0xffffffff
je 0x1337c0f27cd0
mov ecx, eax
lea rdx, [rbp - 0xd]
and ecx, 0xf0
test dl, 3
je 0x1337c0f27cd0
mov dword [rbp + 0x6f], eax
jmp 0x1337c0f27cd0
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 7], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [rbp + 0x17], xmm1
mov eax, dword [rcx + 0x18]
mov dword [rbp + 0x1f], eax
mov rcx, qword [rsi + 0x60]
lea rdx, [rbp + 7]
mov r8d, 0x1c
call qword [0x1337c105a720]
cmp eax, 0xffffffff
je 0x1337c0f27d26
test r12w, r12w
jne 0x1337c0f27d0d
mov rcx, qword [rsi + 0x60]
lea r8, [rbp + 0x6f]
lea rdx, [rdi + 0x10]
mov dword [rbp + 0x6f], 0x1c
call qword [0x1337c105a710]
cmp eax, 0xffffffff
je 0x1337c0f27d26
inc r12w
cmp r12w, r13w
jae 0x1337c0f27d4a
xor edx, edx
jmp 0x1337c0f27830
call qword [0x1337c105a3d0]
jmp 0x1337c0f27d2c
call qword [0x1337c105a6e8]
mov ebx, eax
test eax, eax
jle 0x1337c0f27d3b
movzx ebx, ax
or ebx, 0x80070000
test ebx, ebx
js 0x1337c0f27e2a
mov eax, ebx
jmp 0x1337c0f27e10
xor ecx, ecx
mov eax, 2
mov edx, 0xffff
cmp word [rdi + 0x18], 0
jne 0x1337c0f27d89
cmp word [rdi + 0x1a], 0
jne 0x1337c0f27d89
cmp word [rdi + 0x1c], 0
jne 0x1337c0f27d89
cmp word [rdi + 0x1e], 0
jne 0x1337c0f27d89
cmp word [rdi + 0x20], 0
jne 0x1337c0f27d89
cmp word [rdi + 0x22], dx
jne 0x1337c0f27d89
mov word [rdi + 0x10], ax
mov eax, dword [rdi + 0x24]
mov dword [rdi + 0x14], eax
mov rax, qword [r14 + 8]
test rax, rax
je 0x1337c0f27dab
movups xmm0, xmmword [rax]
movups xmmword [rdi + 0x2c], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rdi + 0x3c], xmm1
mov eax, dword [rax + 0x18]
mov dword [rdi + 0x44], eax
jmp 0x1337c0f27daf
mov word [rdi + 0x2e], cx
or byte [rdi], 8
movzx esi, cx
mov rax, qword [rbp + 0x77]
mov qword [rax], rdi
mov word [rdi + 0x4a], r13w
cmp cx, r13w
jae 0x1337c0f27e0e
test byte [rdi], 4
je 0x1337c0f27dd2
movzx eax, word [rdi + 2]
jmp 0x1337c0f27dd5
movzx eax, si
movzx eax, ax
lea rdx, [rax + rax*4]
movzx eax, si
shl rdx, 5
imul rcx, rax, 0xe8
sub rdx, 0xffffffffffffff80
add rcx, 0x58
add rdx, r15
add rcx, rdi
call fcn.1337c0f28530
mov ebx, eax
test eax, eax
js 0x1337c0f27e2a
inc si
cmp si, r13w
jb 0x1337c0f27dc7
xor ecx, ecx
mov eax, ecx
mov r12, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx eax, word [rdi + 0x4a]
test ax, ax
je 0x1337c0f27e3f
mov rcx, rdi
call fcn.1337c0f28120
mov eax, ebx
jmp 0x1337c0f27e10
lea rsi, [rdi + 0x70]
movzx r14d, r13w
nop word [rax + rax]
mov rcx, qword [rsi - 0x10]
cmp rcx, 0xffffffffffffffff
je 0x1337c0f27e60
call qword [0x1337c105a6e0]
mov rcx, qword [rsi]
call qword [0x1337c105a3b8]
add rsi, 0xe8
sub r14, 1
jne 0x1337c0f27e50
mov rax, 0xffffffffffffffff
lock xadd qword [r15 + 0x28], rax
sub rax, 1
jg 0x1337c0f27ea1
test rax, rax
je 0x1337c0f27e97
mov ecx, recv
int 0x29
jmp 0x1337c0f27ea1
mov rcx, qword [r15 + 0x30]
call qword [0x1337c105a3b0]
mov rcx, qword [0x1337c12d7b30]
mov r8, rdi
xor edx, edx
call qword [0x1337c105a4d0]
mov eax, ebx
jmp 0x1337c0f27e10