Function at 0x1337c0f272c0
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, 0xa0
cmp qword [rdx + 8], 0
mov r14, rdx
mov r15, rcx
mov eax, 1
jne 0x1337c0f272f4
movzx r13d, word [rcx + 0x74]
jmp 0x1337c0f272f7
mov r13d, eax
mov rcx, qword [0x1337c12e4b20]
xor edx, edx
movzx esi, r13w
imul rbx, rsi, 0xe8
lea r8, [rbx + 0x58]
call qword [0x1337c10584e8]
mov rdi, rax
test rax, rax
jne 0x1337c0f27327
mov eax, 0x8007000e
jmp 0x1337c0f27981
lea r8, [rbx + 0x58]
mov qword [rsp + 0xe0], r12
xor edx, edx
mov rcx, rdi
call fcn.1337c1053be0
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 0x1337c0f27374
lea rdx, [rdi + 0x10]
call fcn.1337c0f26720
jmp 0x1337c0f2737a
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 0x1337c0f273a7
lock cmpxchg qword [r15 + 0x28], rcx
mov rcx, rax
je 0x1337c0f273b0
inc rcx
cmp rcx, 1
ja 0x1337c0f27393
je 0x1337c0f273b0
mov ecx, recv
int 0x29
test byte [r14 + 0x10], 1
je 0x1337c0f273ba
or byte [rdi], 0x40
xor ecx, ecx
mov edx, 0xffff
lea eax, [rcx + 2]
lea r12, [rcx - 1]
cmp cx, r13w
jae 0x1337c0f278ba
lea rbx, [rdi + 0x60]
nop word [rax + rax]
mov qword [rbx - 8], rdi
mov qword [rbx], r12
test byte [r15], 2
je 0x1337c0f273f4
mov eax, 0xfff7
jmp 0x1337c0f273fb
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 [0x1337c10583c0]
mov qword [rbx + 0x10], rax
add rbx, 0xe8
sub rsi, 1
jne 0x1337c0f273e0
xor edx, edx
movzx r12d, dx
nop dword [rax]
xor r9d, r9d
movzx eax, r12w
imul rsi, rax, 0xe8
mov dword [rsp + 0x28], 1
lea r8d, [r9 + 0x11]
mov dword [rsp + 0x20], edx
movzx ebx, r12w
lea edx, [r9 + 2]
add rsi, rdi
lea ecx, [rdx + 0x15]
call qword [0x1337c1058700]
mov qword [rsi + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x1337c0f2788c
mov edx, 0x29
mov dword [rbp + 0x7f], 0
mov rcx, qword [rsi + 0x60]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 0xe]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
cmp qword [r14 + 8], 0
jne 0x1337c0f274e8
xor ecx, ecx
mov word [rbp + 0x6f], r12w
mov qword [rsp + 0x40], rcx
lea rax, [rbp - 0x21]
mov qword [rsp + 0x38], rcx
lea r8, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov edx, 0x98000015
mov dword [rsp + 0x28], ecx
lea r9d, [rcx + 2]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsi + 0x60]
call qword [0x1337c10586d8]
test eax, eax
jne 0x1337c0f2788c
xor edx, edx
mov dword [rbp + 0x7f], 1
mov rcx, qword [rsi + 0x60]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
lea r8d, [rdx + 0xe]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
mov edx, 0x29
mov dword [rbp + 0x7f], 1
mov rcx, qword [rsi + 0x60]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 0x1b]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
mov edx, 0x29
mov dword [rbp + 0x7f], 1
mov rcx, qword [rsi + 0x60]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 0x16]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
xor edx, edx
mov dword [rbp + 0x7f], 1
mov rcx, qword [rsi + 0x60]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
lea r8d, [rdx + 0x13]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
mov edx, 0x29
mov dword [rbp + 0x7f], 1
mov rcx, qword [rsi + 0x60]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
lea r8d, [rdx + 9]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
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
lea r8d, [rax + 0x31]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
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 [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
test byte [r15], 2
je 0x1337c0f27660
mov edx, setsockopt
mov dword [rbp + 0x7f], 0xfff7
mov rcx, qword [rsi + 0x60]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 0xe]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
mov rcx, qword [rsi + 0x60]
mov dl, 3
call qword [0x1337c1058548]
test eax, eax
je 0x1337c0f27884
cmp qword [r14 + 8], 0
je 0x1337c0f276aa
lea rcx, [rbp - 0x29]
call qword [0x1337c1058420]
movzx ecx, word [rbp - 0x29]
mov rax, qword [0x1337c131bcc8]
movzx edx, byte [rbp - 0x27]
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 [0x1337c1058540]
cmp qword [rbx + r15 + 0x88], rax
jne 0x1337c0f27884
mov eax, dword [r14 + 0x14]
test eax, eax
je 0x1337c0f27741
mov edx, 0x29
mov dword [rbp + 0x7f], eax
mov rcx, qword [rsi + 0x60]
lea r9, [rbp + 0x7f]
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 0xa]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
mov ecx, dword [r14 + 0x14]
call qword [0x1337c1058698]
xor edx, edx
mov dword [rsp + 0x20], 4
mov dword [rbp + 0x7f], eax
lea r9, [rbp + 0x7f]
mov rcx, qword [rsi + 0x60]
lea r8d, [rdx + 0x1f]
call qword [0x1337c1058690]
cmp eax, 0xffffffff
je 0x1337c0f2788c
test byte [r15], 0x10
je 0x1337c0f277fb
mov rax, qword [r14]
test rax, rax
je 0x1337c0f277fb
movzx ecx, word [rax + 2]
test cx, cx
je 0x1337c0f277fb
xor ebx, ebx
test r12w, r12w
jne 0x1337c0f277bd
mov qword [rsp + 0x40], rbx
lea r9d, [rbx + 4]
mov qword [rsp + 0x38], rbx
lea r8, [rbp - 0x25]
mov eax, 1
mov word [rbp - 0x25], cx
mov rcx, qword [rsi + 0x60]
mov edx, 0x98000064
mov word [rbp - 0x23], ax
lea rax, [rbp - 0x21]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x11]
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], rax
call qword [0x1337c10586d8]
cmp eax, 0xffffffff
je 0x1337c0f2788c
mov rcx, qword [rsi + 0x60]
lea rax, [rbp - 0x21]
mov qword [rsp + 0x40], rbx
lea r8, [rbp - 9]
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 [0x1337c10586d8]
cmp eax, 0xffffffff
je 0x1337c0f2788c
mov rcx, qword [rsi + 0x60]
lea rdx, [rdi + 0x10]
mov r8d, 0x1c
call qword [0x1337c1058730]
cmp eax, 0xffffffff
je 0x1337c0f2788c
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1337c0f2784f
xor eax, eax
lea rdx, [rbp - 1]
xorps xmm0, xmm0
mov qword [rbp + 0xf], rax
movups xmmword [rbp - 1], xmm0
mov dword [rbp + 0x17], eax
call fcn.1337c0f26720
mov rcx, qword [rsi + 0x60]
lea rdx, [rbp - 1]
mov r8d, 0x1c
call qword [0x1337c1058720]
cmp eax, 0xffffffff
je 0x1337c0f2788c
test r12w, r12w
jne 0x1337c0f27873
mov rcx, qword [rsi + 0x60]
lea r8, [rbp - 0x1d]
lea rdx, [rdi + 0x10]
mov dword [rbp - 0x1d], 0x1c
call qword [0x1337c1058710]
cmp eax, 0xffffffff
je 0x1337c0f2788c
inc r12w
cmp r12w, r13w
jae 0x1337c0f278b0
xor edx, edx
jmp 0x1337c0f27430
call qword [0x1337c10583d0]
jmp 0x1337c0f27892
call qword [0x1337c10586e8]
mov ebx, eax
test eax, eax
jle 0x1337c0f278a1
movzx ebx, ax
or ebx, 0x80070000
test ebx, ebx
js 0x1337c0f27993
mov eax, ebx
jmp 0x1337c0f27979
xor ecx, ecx
mov edx, 0xffff
lea eax, [rcx + 2]
cmp word [rdi + 0x18], 0
jne 0x1337c0f278ed
cmp word [rdi + 0x1a], 0
jne 0x1337c0f278ed
cmp word [rdi + 0x1c], 0
jne 0x1337c0f278ed
cmp word [rdi + 0x1e], 0
jne 0x1337c0f278ed
cmp word [rdi + 0x20], 0
jne 0x1337c0f278ed
cmp word [rdi + 0x22], dx
jne 0x1337c0f278ed
mov word [rdi + 0x10], ax
mov eax, dword [rdi + 0x24]
mov dword [rdi + 0x14], eax
mov rax, qword [r14 + 8]
test rax, rax
je 0x1337c0f2790f
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 0x1337c0f27913
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 0x1337c0f27977
nop dword [rax + rax]
test byte [rdi], 4
je 0x1337c0f2793b
movzx eax, word [rdi + 2]
jmp 0x1337c0f2793e
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.1337c0f28090
mov ebx, eax
test eax, eax
js 0x1337c0f27993
inc si
cmp si, r13w
jb 0x1337c0f27930
xor ecx, ecx
mov eax, ecx
mov r12, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx eax, word [rdi + 0x4a]
test ax, ax
je 0x1337c0f279a8
mov rcx, rdi
call fcn.1337c0f27c80
mov eax, ebx
jmp 0x1337c0f27979
lea rsi, [rdi + 0x70]
movzx r14d, r13w
mov rcx, qword [rsi - 0x10]
cmp rcx, 0xffffffffffffffff
je 0x1337c0f279c0
call qword [0x1337c10586e0]
mov rcx, qword [rsi]
call qword [0x1337c10583b8]
add rsi, 0xe8
sub r14, 1
jne 0x1337c0f279b0
mov rax, 0xffffffffffffffff
lock xadd qword [r15 + 0x28], rax
sub rax, 1
jg 0x1337c0f27a01
test rax, rax
jne 0x1337c0f279fa
mov rcx, qword [r15 + 0x30]
call qword [0x1337c10583b0]
jmp 0x1337c0f27a01
mov ecx, recv
int 0x29
mov rcx, qword [0x1337c12e4b20]
mov r8, rdi
xor edx, edx
call qword [0x1337c10584d0]
mov eax, ebx
jmp 0x1337c0f27979