Function at 0x1337c0f27eb0
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 0x1337c0f27ee4
movzx r13d, word [rcx + 0x74]
jmp 0x1337c0f27ee7
mov r13d, eax
mov rcx, qword [0x1337c12e2b20]
xor edx, edx
movzx esi, r13w
imul rbx, rsi, 0xe8
lea r8, [rbx + 0x58]
call qword [0x1337c10594e8]
mov rdi, rax
test rax, rax
jne 0x1337c0f27f17
mov eax, 0x8007000e
jmp 0x1337c0f28571
lea r8, [rbx + 0x58]
mov qword [rsp + 0xe0], r12
xor edx, edx
mov rcx, rdi
call fcn.1337c10547d0
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 0x1337c0f27f64
lea rdx, [rdi + 0x10]
call fcn.1337c0f27310
jmp 0x1337c0f27f6a
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 0x1337c0f27f97
lock cmpxchg qword [r15 + 0x28], rcx
mov rcx, rax
je 0x1337c0f27fa0
inc rcx
cmp rcx, 1
ja 0x1337c0f27f83
je 0x1337c0f27fa0
mov ecx, recv
int 0x29
test byte [r14 + 0x10], 1
je 0x1337c0f27faa
or byte [rdi], 0x40
xor ecx, ecx
mov edx, 0xffff
lea eax, [rcx + 2]
lea r12, [rcx - 1]
cmp cx, r13w
jae 0x1337c0f284aa
lea rbx, [rdi + 0x60]
nop word [rax + rax]
mov qword [rbx - 8], rdi
mov qword [rbx], r12
test byte [r15], 2
je 0x1337c0f27fe4
mov eax, 0xfff7
jmp 0x1337c0f27feb
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 [0x1337c10593c0]
mov qword [rbx + 0x10], rax
add rbx, 0xe8
sub rsi, 1
jne 0x1337c0f27fd0
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 [0x1337c1059700]
mov qword [rsi + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x1337c0f2847c
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
cmp qword [r14 + 8], 0
jne 0x1337c0f280d8
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 [0x1337c10596d8]
test eax, eax
jne 0x1337c0f2847c
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
test byte [r15], 2
je 0x1337c0f28250
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
mov rcx, qword [rsi + 0x60]
mov dl, 3
call qword [0x1337c1059548]
test eax, eax
je 0x1337c0f28474
cmp qword [r14 + 8], 0
je 0x1337c0f2829a
lea rcx, [rbp - 0x29]
call qword [0x1337c1059420]
movzx ecx, word [rbp - 0x29]
mov rax, qword [0x1337c1319cc8]
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 [0x1337c1059540]
cmp qword [rbx + r15 + 0x88], rax
jne 0x1337c0f28474
mov eax, dword [r14 + 0x14]
test eax, eax
je 0x1337c0f28331
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
mov ecx, dword [r14 + 0x14]
call qword [0x1337c1059698]
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 [0x1337c1059690]
cmp eax, 0xffffffff
je 0x1337c0f2847c
test byte [r15], 0x10
je 0x1337c0f283eb
mov rax, qword [r14]
test rax, rax
je 0x1337c0f283eb
movzx ecx, word [rax + 2]
test cx, cx
je 0x1337c0f283eb
xor ebx, ebx
test r12w, r12w
jne 0x1337c0f283ad
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 [0x1337c10596d8]
cmp eax, 0xffffffff
je 0x1337c0f2847c
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 [0x1337c10596d8]
cmp eax, 0xffffffff
je 0x1337c0f2847c
mov rcx, qword [rsi + 0x60]
lea rdx, [rdi + 0x10]
mov r8d, 0x1c
call qword [0x1337c1059730]
cmp eax, 0xffffffff
je 0x1337c0f2847c
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1337c0f2843f
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.1337c0f27310
mov rcx, qword [rsi + 0x60]
lea rdx, [rbp - 1]
mov r8d, 0x1c
call qword [0x1337c1059720]
cmp eax, 0xffffffff
je 0x1337c0f2847c
test r12w, r12w
jne 0x1337c0f28463
mov rcx, qword [rsi + 0x60]
lea r8, [rbp - 0x1d]
lea rdx, [rdi + 0x10]
mov dword [rbp - 0x1d], 0x1c
call qword [0x1337c1059710]
cmp eax, 0xffffffff
je 0x1337c0f2847c
inc r12w
cmp r12w, r13w
jae 0x1337c0f284a0
xor edx, edx
jmp 0x1337c0f28020
call qword [0x1337c10593d0]
jmp 0x1337c0f28482
call qword [0x1337c10596e8]
mov ebx, eax
test eax, eax
jle 0x1337c0f28491
movzx ebx, ax
or ebx, 0x80070000
test ebx, ebx
js 0x1337c0f28583
mov eax, ebx
jmp 0x1337c0f28569
xor ecx, ecx
mov edx, 0xffff
lea eax, [rcx + 2]
cmp word [rdi + 0x18], 0
jne 0x1337c0f284dd
cmp word [rdi + 0x1a], 0
jne 0x1337c0f284dd
cmp word [rdi + 0x1c], 0
jne 0x1337c0f284dd
cmp word [rdi + 0x1e], 0
jne 0x1337c0f284dd
cmp word [rdi + 0x20], 0
jne 0x1337c0f284dd
cmp word [rdi + 0x22], dx
jne 0x1337c0f284dd
mov word [rdi + 0x10], ax
mov eax, dword [rdi + 0x24]
mov dword [rdi + 0x14], eax
mov rax, qword [r14 + 8]
test rax, rax
je 0x1337c0f284ff
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 0x1337c0f28503
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 0x1337c0f28567
nop dword [rax + rax]
test byte [rdi], 4
je 0x1337c0f2852b
movzx eax, word [rdi + 2]
jmp 0x1337c0f2852e
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.1337c0f28c80
mov ebx, eax
test eax, eax
js 0x1337c0f28583
inc si
cmp si, r13w
jb 0x1337c0f28520
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 0x1337c0f28598
mov rcx, rdi
call fcn.1337c0f28870
mov eax, ebx
jmp 0x1337c0f28569
lea rsi, [rdi + 0x70]
movzx r14d, r13w
mov rcx, qword [rsi - 0x10]
cmp rcx, 0xffffffffffffffff
je 0x1337c0f285b0
call qword [0x1337c10596e0]
mov rcx, qword [rsi]
call qword [0x1337c10593b8]
add rsi, 0xe8
sub r14, 1
jne 0x1337c0f285a0
mov rax, 0xffffffffffffffff
lock xadd qword [r15 + 0x28], rax
sub rax, 1
jg 0x1337c0f285f1
test rax, rax
jne 0x1337c0f285ea
mov rcx, qword [r15 + 0x30]
call qword [0x1337c10593b0]
jmp 0x1337c0f285f1
mov ecx, recv
int 0x29
mov rcx, qword [0x1337c12e2b20]
mov r8, rdi
xor edx, edx
call qword [0x1337c10594d0]
mov eax, ebx
jmp 0x1337c0f28569