Function at 0x140003f69
Capabilities:
Initialize winsock library

Disassembly:
push rbp
push rbx
sub rsp, 0x3b8
lea rbp, [rsp + 0x80]
lea rax, [rbp + 0x10]
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
lea rax, [rbp + 0x1b0]
lea rdx, [rbp + 0x1cf]
mov rcx, rax
call fcn.140003c68
lea rax, [rbp + 0x1b0]
mov qword [rbp + 0x2f0], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x2e8], rax
mov rax, qword [rbp + 0x2e8]
movzx eax, byte [rax + 0x13]
test al, al
setne al
test al, al
je 0x14000406a
mov rax, qword [rbp + 0x2f0]
mov rdx, qword [rbp + 0x2f0]
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2d8], rax
mov dword [rbp + 0x2d4], 0
jmp 0x140004060
mov eax, dword [rbp + 0x2d4]
movsxd rdx, eax
mov rax, qword [rbp + 0x2d8]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x2d4]
movsxd rdx, eax
imul rdx, rdx, 0x5397829d
shr rdx, 0x20
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x31
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x33
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x2e0]
mov eax, dword [rbp + 0x2d4]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x2d4], 1
cmp dword [rbp + 0x2d4], 0x13
jle 0x140004001
nop
lea rax, [rbp + 0x1b0]
mov qword [rbp - 0x50], rax
lea rax, [rbp + 0x1d0]
lea rdx, [rbp + 0x1ef]
mov rcx, rax
call fcn.140003d1a
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x2c8], rax
mov rax, qword [rbp + 0x2c8]
mov qword [rbp + 0x2c0], rax
mov rax, qword [rbp + 0x2c0]
movzx eax, byte [rax + 0x13]
test al, al
setne al
test al, al
je 0x140004150
mov rax, qword [rbp + 0x2c8]
mov rdx, qword [rbp + 0x2c8]
mov qword [rbp + 0x2b8], rdx
mov qword [rbp + 0x2b0], rax
mov dword [rbp + 0x2ac], 0
jmp 0x140004146
mov eax, dword [rbp + 0x2ac]
movsxd rdx, eax
mov rax, qword [rbp + 0x2b0]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x2ac]
movsxd rdx, eax
imul rdx, rdx, 0x5397829d
shr rdx, 0x20
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x31
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x33
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x2b8]
mov eax, dword [rbp + 0x2ac]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x2ac], 1
cmp dword [rbp + 0x2ac], 0x13
jle 0x1400040e7
nop
lea rax, [rbp + 0x1d0]
mov qword [rbp - 0x48], rax
lea rax, [rbp + 0x1f0]
lea rdx, [rbp + 0x20f]
mov rcx, rax
call fcn.140003dcc
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rbp + 0x2a0]
mov qword [rbp + 0x298], rax
mov rax, qword [rbp + 0x298]
movzx eax, byte [rax + 0x13]
test al, al
setne al
test al, al
je 0x140004236
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x2a0]
mov qword [rbp + 0x290], rdx
mov qword [rbp + 0x288], rax
mov dword [rbp + 0x284], 0
jmp 0x14000422c
mov eax, dword [rbp + 0x284]
movsxd rdx, eax
mov rax, qword [rbp + 0x288]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x284]
movsxd rdx, eax
imul rdx, rdx, 0x5397829d
shr rdx, 0x20
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x31
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x33
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x290]
mov eax, dword [rbp + 0x284]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x284], 1
cmp dword [rbp + 0x284], 0x13
jle 0x1400041cd
nop
lea rax, [rbp + 0x1f0]
mov qword [rbp - 0x40], rax
lea rax, [rbp + 0x210]
lea rdx, [rbp + 0x22d]
mov rcx, rax
call fcn.140003e7e
lea rax, [rbp + 0x210]
mov qword [rbp + 0x278], rax
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0x270], rax
mov rax, qword [rbp + 0x270]
movzx eax, byte [rax + 0x13]
test al, al
setne al
test al, al
je 0x14000431c
mov rax, qword [rbp + 0x278]
mov rdx, qword [rbp + 0x278]
mov qword [rbp + 0x268], rdx
mov qword [rbp + 0x260], rax
mov dword [rbp + 0x25c], 0
jmp 0x140004312
mov eax, dword [rbp + 0x25c]
movsxd rdx, eax
mov rax, qword [rbp + 0x260]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x25c]
movsxd rdx, eax
imul rdx, rdx, 0x5397829d
shr rdx, 0x20
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x31
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x33
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x268]
mov eax, dword [rbp + 0x25c]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x25c], 1
cmp dword [rbp + 0x25c], 0x13
jle 0x1400042b3
nop
lea rax, [rbp + 0x210]
mov qword [rbp - 0x38], rax
mov dword [rbp + 0x324], 4
mov byte [rbp + 0x32f], 0
mov dword [rbp + 0x328], 0
jmp 0x14000449b
mov eax, dword [rbp + 0x328]
cdqe
mov rax, qword [rbp + rax*8 - 0x50]
mov qword [rbp + 0x318], rax
pxor xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp], xmm0
mov dword [rbp - 0x1c], 2
mov dword [rbp - 0x18], 1
mov rbx, qword [0x1400121e8]
lea rax, [rbp + 0x22e]
lea rdx, [rbp + 0x233]
mov rcx, rax
call fcn.140003f30
lea rax, [rbp + 0x22e]
mov qword [rbp + 0x250], rax
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x248]
movzx eax, byte [rax + 4]
test al, al
setne al
test al, al
je 0x14000445b
mov rax, qword [rbp + 0x250]
mov rdx, qword [rbp + 0x250]
mov qword [rbp + 0x240], rdx
mov qword [rbp + 0x238], rax
mov dword [rbp + 0x234], 0
jmp 0x140004451
mov eax, dword [rbp + 0x234]
movsxd rdx, eax
mov rax, qword [rbp + 0x238]
add rax, rdx
movzx r8d, byte [rax]
mov eax, dword [rbp + 0x234]
movsxd rdx, eax
imul rdx, rdx, 0x5397829d
shr rdx, 0x20
sar edx, 4
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x31
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x33
mov ecx, r8d
xor ecx, eax
mov rdx, qword [rbp + 0x240]
mov eax, dword [rbp + 0x234]
cdqe
mov byte [rdx + rax], cl
add dword [rbp + 0x234], 1
cmp dword [rbp + 0x234], 4
jle 0x1400043f2
nop
lea rdx, [rbp + 0x22e]
lea r8, [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rax, qword [rbp + 0x318]
mov r9, r8
mov r8, rcx
mov rcx, rax
call rbx
mov dword [rbp + 0x314], eax
cmp dword [rbp + 0x314], 0
jne 0x140004494
mov byte [rbp + 0x32f], 1
jmp 0x1400044ad
add dword [rbp + 0x328], 1
mov eax, dword [rbp + 0x328]
cmp eax, dword [rbp + 0x324]
jl 0x140004347
movzx eax, byte [rbp + 0x32f]
xor eax, 1
test al, al
je 0x1400044ce
mov rax, qword [0x1400121d8]
mov ecx, 0x7530
call rax
jmp 0x1400045f5
mov r10, qword [0x1400121f0]
mov rax, qword [rbp - 0x28]
mov ecx, dword [rax + 0xc]
mov rax, qword [rbp - 0x28]
mov edx, dword [rax + 8]
mov rax, qword [rbp - 0x28]
mov eax, dword [rax + 4]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, ecx
mov ecx, eax
call r10
mov qword [rbp + 0x308], rax
cmp qword [rbp + 0x308], 0xffffffffffffffff
jne 0x14000453c
mov rdx, qword [0x1400121f8]
mov rax, qword [rbp - 0x28]
mov rcx, rax
call rdx
mov rax, qword [0x1400121d8]
mov ecx, 0x7530
call rax
jmp 0x1400045f5
mov r9, qword [0x140012210]
mov rax, qword [rbp - 0x28]
mov rax, qword [rax + 0x10]
mov ecx, eax
mov rax, qword [rbp - 0x28]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x308]
mov r8d, ecx
mov rcx, rax
call r9
mov dword [rbp + 0x304], eax
cmp dword [rbp + 0x304], 0xffffffff
jne 0x1400045a7
mov rdx, qword [0x140012200]
mov rax, qword [rbp + 0x308]
mov rcx, rax
call rdx
mov rdx, qword [0x1400121f8]
mov rax, qword [rbp - 0x28]
mov rcx, rax
call rdx
mov rax, qword [0x1400121d8]
mov ecx, 0x7530
call rax
jmp 0x1400045f5
mov rax, qword [rbp + 0x308]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0x2f8]
mov rcx, rax
call fcn.140003a8d
mov rdx, qword [0x140012200]
mov rax, qword [rbp + 0x308]
mov rcx, rax
call rdx
mov rdx, qword [0x1400121f8]
mov rax, qword [rbp - 0x28]
mov rcx, rax
call rdx
mov rax, qword [0x1400121d8]
mov ecx, 0x7530
call rax
jmp 0x140004331