Function at 0x1337c0f2d7b0
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 0x1337c0f2d7e4
movzx r13d, word [rcx + 0x74]
jmp 0x1337c0f2d7e7
mov r13d, eax
mov rcx, qword [0x1337c12aa6f0]
xor edx, edx
movzx esi, r13w
imul rbx, rsi, 0xe8
lea r8, [rbx + 0x58]
call qword [0x1337c10614f8]
mov rdi, rax
test rax, rax
jne 0x1337c0f2d817
mov eax, 0x8007000e
jmp 0x1337c0f2dee9
lea r8, [rbx + 0x58]
mov qword [rsp + 0xd0], r12
xor edx, edx
mov rcx, rdi
call fcn.1337c105bf90
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 0x1337c0f2d864
lea rdx, [rdi + 0x10]
call fcn.1337c0f2cc80
jmp 0x1337c0f2d86a
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 0x1337c0f2d897
lock cmpxchg qword [r15 + 0x28], rcx
mov rcx, rax
je 0x1337c0f2d8a0
inc rcx
cmp rcx, 1
ja 0x1337c0f2d883
je 0x1337c0f2d8a0
mov ecx, recv
int 0x29
test byte [r14 + 0x10], 1
je 0x1337c0f2d8aa
or byte [rdi], 0x40
xor ecx, ecx
mov eax, 2
mov edx, 0xffff
mov r12, 0xffffffffffffffff
cmp cx, r13w
jae 0x1337c0f2de27
lea rbx, [rdi + 0x60]
nop dword [rax + rax]
mov qword [rbx - 8], rdi
mov qword [rbx], r12
test byte [r15], 2
je 0x1337c0f2d8e4
mov eax, 0xfff7
jmp 0x1337c0f2d8eb
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 [0x1337c10613d0]
mov qword [rbx + 0x10], rax
add rbx, 0xe8
sub rsi, 1
jne 0x1337c0f2d8d0
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 [0x1337c1061710]
mov qword [rsi + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x1337c0f2ddf7
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
cmp qword [r14 + 8], 0
jne 0x1337c0f2d9e1
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 [0x1337c10616e8]
test eax, eax
jne 0x1337c0f2ddf7
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
test byte [r15], 2
je 0x1337c0f2db67
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
mov rcx, qword [rsi + 0x60]
mov dl, 3
call qword [0x1337c1061558]
test eax, eax
je 0x1337c0f2ddef
cmp qword [r14 + 8], 0
je 0x1337c0f2dbb1
lea rcx, [rbp - 0x19]
call qword [0x1337c1061430]
movzx ecx, word [rbp - 0x19]
mov rax, qword [0x1337c12e18d0]
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 [0x1337c1061550]
cmp qword [rbx + r15 + 0x88], rax
jne 0x1337c0f2ddef
mov eax, dword [r14 + 0x14]
test eax, eax
je 0x1337c0f2dc4c
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
mov ecx, dword [r14 + 0x14]
call qword [0x1337c10616a8]
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 [0x1337c10616a0]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
test byte [r15], 0x10
je 0x1337c0f2dd08
mov rax, qword [r14]
test rax, rax
je 0x1337c0f2dd08
movzx ecx, word [rax + 2]
test cx, cx
je 0x1337c0f2dd08
xor ebx, ebx
test r12w, r12w
jne 0x1337c0f2dcca
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 [0x1337c10616e8]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
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 [0x1337c10616e8]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
mov rcx, qword [rsi + 0x60]
lea rdx, [rdi + 0x10]
mov r8d, 0x1c
call qword [0x1337c1061740]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1337c0f2ddba
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 0x1337c0f2dd8a
movzx eax, word [rcx + 2]
mov edx, reloc.WS2_32.dll_socket
movups xmm0, xmmword [0x1337c10aa348]
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
jmp 0x1337c0f2dda1
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 [0x1337c1061730]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
test r12w, r12w
jne 0x1337c0f2ddde
mov rcx, qword [rsi + 0x60]
lea r8, [rbp + 0x6f]
lea rdx, [rdi + 0x10]
mov dword [rbp + 0x6f], 0x1c
call qword [0x1337c1061720]
cmp eax, 0xffffffff
je 0x1337c0f2ddf7
inc r12w
cmp r12w, r13w
jae 0x1337c0f2de1b
xor edx, edx
jmp 0x1337c0f2d920
call qword [0x1337c10613e0]
jmp 0x1337c0f2ddfd
call qword [0x1337c10616f8]
mov ebx, eax
test eax, eax
jle 0x1337c0f2de0c
movzx ebx, ax
or ebx, 0x80070000
test ebx, ebx
js 0x1337c0f2defb
mov eax, ebx
jmp 0x1337c0f2dee1
xor ecx, ecx
mov eax, 2
mov edx, 0xffff
cmp word [rdi + 0x18], 0
jne 0x1337c0f2de5a
cmp word [rdi + 0x1a], 0
jne 0x1337c0f2de5a
cmp word [rdi + 0x1c], 0
jne 0x1337c0f2de5a
cmp word [rdi + 0x1e], 0
jne 0x1337c0f2de5a
cmp word [rdi + 0x20], 0
jne 0x1337c0f2de5a
cmp word [rdi + 0x22], dx
jne 0x1337c0f2de5a
mov word [rdi + 0x10], ax
mov eax, dword [rdi + 0x24]
mov dword [rdi + 0x14], eax
mov rax, qword [r14 + 8]
test rax, rax
je 0x1337c0f2de7c
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 0x1337c0f2de80
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 0x1337c0f2dedf
test byte [rdi], 4
je 0x1337c0f2dea3
movzx eax, word [rdi + 2]
jmp 0x1337c0f2dea6
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.1337c0f2e600
mov ebx, eax
test eax, eax
js 0x1337c0f2defb
inc si
cmp si, r13w
jb 0x1337c0f2de98
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 0x1337c0f2df10
mov rcx, rdi
call fcn.1337c0f2e1f0
mov eax, ebx
jmp 0x1337c0f2dee1
lea rsi, [rdi + 0x70]
movzx r14d, r13w
nop dword [rax + rax]
mov rcx, qword [rsi - 0x10]
cmp rcx, 0xffffffffffffffff
je 0x1337c0f2df30
call qword [0x1337c10616f0]
mov rcx, qword [rsi]
call qword [0x1337c10613c8]
add rsi, 0xe8
sub r14, 1
jne 0x1337c0f2df20
mov rax, 0xffffffffffffffff
lock xadd qword [r15 + 0x28], rax
sub rax, 1
jg 0x1337c0f2df71
test rax, rax
je 0x1337c0f2df67
mov ecx, recv
int 0x29
jmp 0x1337c0f2df71
mov rcx, qword [r15 + 0x30]
call qword [0x1337c10613c0]
mov rcx, qword [0x1337c12aa6f0]
mov r8, rdi
xor edx, edx
call qword [0x1337c10614e0]
mov eax, ebx
jmp 0x1337c0f2dee1