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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x7a0
mov rax, qword [0x140295010]
xor rax, rsp
mov qword [rsp + 0x790], rax
mov qword [rsp + 0xa0], r8
mov r13, rdx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x500], rcx
mov qword [rsp + 0x508], rdx
mov qword [rsp + 0x4f8], r8
mov r8d, dword [rcx + 0xc8]
mov eax, 0x51eb851f
imul r8d
mov ecx, edx
sar ecx, 5
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov dword [rsp + 0x48], ecx
imul eax, ecx, 0x64
sub r8d, eax
mov dword [rsp + 0x44], r8d
mov dword [rsp + 0x98], ecx
imul r14d, ecx, 0x64
add r14d, r8d
movsxd rax, r14d
imul rdx, rax, 0x1f8
add rdx, qword [r13 + 0xc8]
lea rcx, [rsp + 0x590]
call fcn.140065b90
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x570], xmm0
mov qword [rsp + 0x580], rax
lea rdx, [r13 + 0xc8]
lea rcx, [rsp + 0x570]
call fcn.1401c3080
nop
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x540], xmm1
xor esi, esi
mov qword [rsp + 0x550], rsi
movdqu xmmword [rsp + 0x558], xmm1
mov qword [rsp + 0x568], rsi
mov dword [rsp + 0x40], r14d
lea r8, [rsp + 0x40]
xor edx, edx
lea rcx, [rsp + 0x558]
call fcn.1401dcd30
nop
mov r15d, esi
movabs r12, 0x8208208208208209
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 0x560]
mov rdi, qword [rsp + 0x558]
sub rax, rdi
sar rax, 2
movsxd rcx, r15d
cmp rcx, rax
jae 0x140064c28
mov eax, 0x51eb851f
imul dword [rdi + rcx*4]
mov ebx, edx
sar ebx, 5
mov eax, ebx
shr eax, 0x1f
add ebx, eax
imul eax, ebx, 0x64
mov edi, dword [rdi + rcx*4]
sub edi, eax
cmp edi, 0x63
jge 0x1400646da
imul r8d, ebx, 0x64
inc r8d
add r8d, edi
movsxd r9, r8d
mov rcx, qword [rsp + 0x578]
sub rcx, qword [rsp + 0x570]
mov rax, r12
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x140065b71
imul rcx, r9, 0x1f8
mov rax, qword [rsp + 0x570]
cmp byte [rcx + rax + 0xc7], 0
je 0x1400646da
cmp dword [rcx + rax + 0xc8], r14d
jne 0x1400646da
cmp byte [rcx + rax + 0xb0], 0
jne 0x1400646da
mov byte [rcx + rax + 0xb0], 1
mov dword [rsp + 0x40], r8d
mov rdx, qword [rsp + 0x560]
cmp rdx, qword [rsp + 0x568]
je 0x1400645bb
mov dword [rdx], r8d
add qword [rsp + 0x560], 4
jmp 0x1400645cd
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x558]
call fcn.1401dcd30
lea eax, [rdi + 1]
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], ebx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x510], xmm0
mov qword [rsp + 0x520], rsi
mov edx, 2
call fcn.1401c5f20
mov qword [rsp + 0x510], rax
lea r8, [rax + 8]
mov qword [rsp + 0x520], r8
mov rcx, qword [rsp + 0xa8]
mov qword [rax], rcx
mov qword [rsp + 0x518], r8
mov rdx, qword [rsp + 0x548]
cmp rdx, qword [rsp + 0x550]
je 0x140064673
mov rcx, qword [rsp + 0x520]
mov qword [rsp + 0x520], rsi
mov qword [rsp + 0x518], rsi
mov rax, qword [rsp + 0x510]
mov qword [rsp + 0x510], rsi
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
add qword [rsp + 0x548], 0x18
jmp 0x140064689
lea r8, [rsp + 0x510]
lea rcx, [rsp + 0x540]
call fcn.1401dc6d0
nop
mov rcx, qword [rsp + 0x510]
test rcx, rcx
je 0x1400646da
mov rax, qword [rsp + 0x520]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400646d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400646d5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401e8250
test edi, edi
jle 0x1400648a4
imul r8d, ebx, 0x64
dec r8d
add r8d, edi
movsxd r9, r8d
mov rcx, qword [rsp + 0x578]
sub rcx, qword [rsp + 0x570]
mov rax, r12
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x140065b77
imul rcx, r9, 0x1f8
mov rax, qword [rsp + 0x570]
cmp byte [rcx + rax + 0xc7], 0
je 0x1400648a4
cmp dword [rcx + rax + 0xc8], r14d
jne 0x1400648a4
cmp byte [rcx + rax + 0xb0], 0
jne 0x1400648a4
mov byte [rcx + rax + 0xb0], 1
mov dword [rsp + 0x40], r8d
mov rdx, qword [rsp + 0x560]
cmp rdx, qword [rsp + 0x568]
je 0x140064785
mov dword [rdx], r8d
add qword [rsp + 0x560], 4
jmp 0x140064797
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x558]
call fcn.1401dcd30
lea eax, [rdi - 1]
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xb4], ebx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x510], xmm0
mov qword [rsp + 0x520], rsi
mov edx, 2
call fcn.1401c5f20
mov qword [rsp + 0x510], rax
lea r8, [rax + 8]
mov qword [rsp + 0x520], r8
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
mov qword [rsp + 0x518], r8
mov rdx, qword [rsp + 0x548]
cmp rdx, qword [rsp + 0x550]
je 0x14006483d
mov rcx, qword [rsp + 0x520]
mov qword [rsp + 0x520], rsi
mov qword [rsp + 0x518], rsi
mov rax, qword [rsp + 0x510]
mov qword [rsp + 0x510], rsi
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
add qword [rsp + 0x548], 0x18
jmp 0x140064853
lea r8, [rsp + 0x510]
lea rcx, [rsp + 0x540]
call fcn.1401dc6d0
nop
mov rcx, qword [rsp + 0x510]
test rcx, rcx
je 0x1400648a4
mov rax, qword [rsp + 0x520]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006489f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006489f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401e8250
cmp ebx, 0x3b
jge 0x140064a66
lea eax, [rbx + 1]
imul r8d, eax, 0x64
add r8d, edi
movsxd r9, r8d
mov rcx, qword [rsp + 0x578]
sub rcx, qword [rsp + 0x570]
mov rax, r12
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x140065b7c
imul rcx, r9, 0x1f8
mov rax, qword [rsp + 0x570]
cmp byte [rcx + rax + 0xc7], 0
je 0x140064a66
cmp dword [rcx + rax + 0xc8], r14d
jne 0x140064a66
cmp byte [rcx + rax + 0xb0], 0
jne 0x140064a66
mov byte [rcx + rax + 0xb0], 1
mov dword [rsp + 0x40], r8d
mov rdx, qword [rsp + 0x560]
cmp rdx, qword [rsp + 0x568]
je 0x140064950
mov dword [rdx], r8d
add qword [rsp + 0x560], 4
jmp 0x140064962
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x558]
call fcn.1401dcd30
mov dword [rsp + 0x60], edi
lea eax, [rbx + 1]
mov dword [rsp + 0x64], eax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x510], xmm0
mov qword [rsp + 0x520], rsi
mov edx, 2
call fcn.1401c5f20
mov qword [rsp + 0x510], rax
lea r8, [rax + 8]
mov qword [rsp + 0x520], r8
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
mov qword [rsp + 0x518], r8
mov rdx, qword [rsp + 0x548]
cmp rdx, qword [rsp + 0x550]
je 0x1400649ff
mov rcx, qword [rsp + 0x520]
mov qword [rsp + 0x520], rsi
mov qword [rsp + 0x518], rsi
mov rax, qword [rsp + 0x510]
mov qword [rsp + 0x510], rsi
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
add qword [rsp + 0x548], 0x18
jmp 0x140064a15
lea r8, [rsp + 0x510]
lea rcx, [rsp + 0x540]
call fcn.1401dc6d0
nop
mov rcx, qword [rsp + 0x510]
test rcx, rcx
je 0x140064a66
mov rax, qword [rsp + 0x520]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064a61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140064a61
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401e8250
test ebx, ebx
jle 0x140064c20
imul r8d, ebx, 0x64
add r8d, 0xffffff9c
add r8d, edi
movsxd r9, r8d
mov rcx, qword [rsp + 0x578]
sub rcx, qword [rsp + 0x570]
mov rax, r12
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x140065b81
imul rcx, r9, 0x1f8
mov rax, qword [rsp + 0x570]
cmp byte [rcx + rax + 0xc7], 0
je 0x140064c20
cmp dword [rcx + rax + 0xc8], r14d
jne 0x140064c20
cmp byte [rcx + rax + 0xb0], 0
jne 0x140064c20
mov byte [rcx + rax + 0xb0], 1
mov dword [rsp + 0x40], r8d
mov rdx, qword [rsp + 0x560]
cmp rdx, qword [rsp + 0x568]
je 0x140064b12
mov dword [rdx], r8d
add qword [rsp + 0x560], 4
jmp 0x140064b24
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x558]
call fcn.1401dcd30
mov dword [rsp + 0x58], edi
lea eax, [rbx - 1]
mov dword [rsp + 0x5c], eax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x510], xmm0
mov qword [rsp + 0x520], rsi
mov edx, 2
call fcn.1401c5f20
mov qword [rsp + 0x510], rax
lea r8, [rax + 8]
mov qword [rsp + 0x520], r8
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
mov qword [rsp + 0x518], r8
mov rdx, qword [rsp + 0x548]
cmp rdx, qword [rsp + 0x550]
je 0x140064bc1
mov rcx, qword [rsp + 0x520]
mov qword [rsp + 0x520], rsi
mov qword [rsp + 0x518], rsi
mov rax, qword [rsp + 0x510]
mov qword [rsp + 0x510], rsi
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
add qword [rsp + 0x548], 0x18
jmp 0x140064bd7
lea r8, [rsp + 0x510]
lea rcx, [rsp + 0x540]
call fcn.1401dc6d0
nop
mov rcx, qword [rsp + 0x510]
test rcx, rcx
je 0x140064c20
mov rdx, qword [rsp + 0x520]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064c1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140064c1b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401e8250
inc r15d
jmp 0x1400644d0
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0xa0]
mov r15d, dword [rsp + 0x48]
jmp 0x140064c78
mov rcx, qword [rsp + 0x548]
sub rcx, qword [rsp + 0x540]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rdi, rdx
sar rdi, 2
mov rax, rdi
shr rax, 0x3f
add rdi, rax
xorps xmm0, xmm0
je 0x1400654d6
movups xmmword [rsp + 0x510], xmm0
movups xmmword [rsp + 0x520], xmm0
movups xmmword [rsp + 0x530], xmm0
test r12, r12
je 0x140064d1f
mov r14, qword [r12 + 0x30]
lea rdx, [r14 + 0x250]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140064ce6
mov rdx, qword [rdx]
lea rcx, [rsp + 0x678]
cmp qword [rsp + 0x690], 0x10
cmovae rcx, qword [rsp + 0x678]
mov r8, qword [rsp + 0x688]
cmp r8, rax
jne 0x140064d1f
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140064d1f
mov r14d, dword [r14 + 0xe8]
jmp 0x140064d25
mov r14d, 0xffffffff
movzx edx, word [rsp + 0x590]
mov r15d, edx
imul r8, rdx, 0x3b8
add r8, qword [0x140296980]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x140064d4e
mov eax, esi
jmp 0x140064dc1
cmp byte [r8 + 0x142], 0
je 0x140064d75
mov rax, qword [rsp + 0x668]
sub rax, qword [rsp + 0x660]
sar rax, 5
lea eax, [rax*4 + 0x63]
jmp 0x140064dc1
cmp eax, 0xd
jne 0x140064dbc
mov ecx, 0xca
movzx eax, dx
sub ax, cx
cmp ax, 4
ja 0x140064d97
mov r8d, reloc.WS2_32.dll_setsockopt
bt r8d, eax
jb 0x140064d58
mov ecx, 0x1382
cmp dx, cx
je 0x140064d58
mov rax, qword [r13 + 0xb8]
sub rax, qword [r13 + 0xb0]
sar rax, 5
lea eax, [rax*4 + 0x63]
jmp 0x140064dc1
mov eax, 0x63
lea eax, [rax + rdi*2]
add eax, 0x70
movsxd rbx, eax
mov rcx, rbx
call fcn.1401e85bc
mov r12, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov dword [r12], reloc.WS2_32.dll_ntohs
mov dword [r12 + 4], r14d
mov edx, 8
mov dword [r12 + 0xc], edx
mov dword [r12 + 0x14], r15d
mov ecx, dword [rsp + 0x530]
mov dword [r12 + 0x18], ecx
mov eax, dword [rsp + 0x534]
mov dword [r12 + 0x1c], eax
mov eax, dword [rsp + 0x538]
mov dword [r12 + 0x20], eax
mov eax, dword [rsp + 0x53c]
mov dword [r12 + 0x24], eax
mov eax, dword [rsp + 0x44]
mov dword [r12 + 0x2c], eax
mov eax, dword [rsp + 0x48]
mov dword [r12 + 0x30], eax
mov word [r12 + 8], di
mov word [r12 + 0xc], dx
lea r13, [r12 + 0x38]
mov edi, esi
mov dword [rsp + 0x40], esi
mov rcx, qword [rsp + 0x548]
mov r14, qword [rsp + 0x540]
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140064fd5
mov r15, rsi
movabs rax, 0x3fffffffffffffff
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x510], xmm0
mov qword [rsp + 0x520], rsi
mov rbx, qword [r15 + r14 + 8]
sub rbx, qword [r15 + r14]
sar rbx, 2
test rbx, rbx
je 0x140064f11
cmp rbx, rax
ja 0x140065b87
mov rdx, rbx
call fcn.1401c5f20
mov rdi, rax
mov qword [rsp + 0x510], rax
lea rcx, [rax + rbx*4]
mov qword [rsp + 0x520], rcx
mov rbx, qword [r15 + r14 + 8]
mov rdx, qword [r15 + r14]
sub rbx, rdx
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rsp + 0x518], rax
mov edi, dword [rsp + 0x40]
mov rax, qword [rsp + 0x510]
mov ecx, dword [rax]
imul eax, dword [rax + 4], 0x64
add ecx, eax
mov word [r13], cx
movsxd rax, ecx
imul rcx, rax, 0x1f8
add rcx, qword [rsp + 0x570]
mov byte [rcx + 0xb0], 0
mov rcx, qword [rsp + 0x510]
test rcx, rcx
je 0x140064f8d
mov rax, qword [rsp + 0x520]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064f88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140065016
call fcn.1401e8250
inc edi
mov dword [rsp + 0x40], edi
add r15, 0x18
add r13, 2
mov rcx, qword [rsp + 0x548]
mov r14, qword [rsp + 0x540]
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edi
cmp rax, rdx
jb 0x140064e8e
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
movzx edx, word [rsp + 0x590]
imul r8, rdx, 0x3b8
add r8, qword [0x140296980]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x14006501d
mov eax, WSAStartup
jmp 0x1400650b2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp byte [r8 + 0x142], 0
je 0x140065044
mov rax, qword [rsp + 0x668]
sub rax, qword [rsp + 0x660]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x1400650b2
cmp eax, 0xd
jne 0x1400650ad
movzx eax, dx
mov r14d, 0xca
sub ax, r14w
cmp ax, 4
ja 0x140065066
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x140065090
mov eax, 0x1382
cmp dx, ax
je 0x140065090
mov r13, qword [rsp + 0x50]
mov rax, qword [r13 + 0xb8]
sub rax, qword [r13 + 0xb0]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x1400650bd
mov rax, qword [rsp + 0x668]
sub rax, qword [rsp + 0x660]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x1400650b8
mov eax, 0xd3
mov r14d, 0xca
mov r13, qword [rsp + 0x50]
movsxd rbx, eax
mov rcx, rbx
call fcn.1401e85bc
mov r15, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov dword [r15], 5
mov ecx, dword [rsp + 0x68]
mov dword [r15 + 4], ecx
mov dword [r15 + 0xc], 8
mov ecx, dword [rsp + 0x78]
mov dword [r15 + 0x14], ecx
mov ecx, dword [rsp + 0x88]
mov dword [r15 + 0x18], ecx
mov eax, dword [rsp + 0x8c]
mov dword [r15 + 0x1c], eax
mov eax, dword [rsp + 0x90]
mov dword [r15 + 0x20], eax
mov eax, dword [rsp + 0x94]
mov dword [r15 + 0x24], eax
mov eax, dword [rsp + 0x44]
mov dword [r15 + 0x2c], eax
mov eax, dword [rsp + 0x48]
mov dword [r15 + 0x30], eax
lea rax, [r15 + 0x38]
mov qword [rsp + 0x4f8], rax
lea rax, [rsp + 0x2b8]
mov qword [rsp + 0x58], rax
mov rdx, r13
lea rcx, [rsp + 0x2b8]
call fcn.1400440b0
mov rbx, rax
lea rdx, [rsp + 0x590]
lea rcx, [rsp + 0xc0]
call fcn.140065b90
nop
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x30], 0xffffffff
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9, qword [rsp + 0xa0]
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x4f8]
call fcn.140062c80
mov rbx, qword [0x1402962f0]
mov rdi, qword [rbx + 0x28]
imul rax, qword [rbx + 0x30], 0x1c8
add rax, rdi
cmp rdi, rax
jae 0x1400654c6
mov esi, 0x1382
nop
cmp dword [rdi + 0x38], 5
jne 0x1400654a2
mov rdx, qword [rdi + 0x30]
test rdx, rdx
je 0x1400654a2
add rdx, 0x2b0
lea rcx, [r13 + 8]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140065200
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14006520e
mov rcx, qword [rcx]
cmp r8, rax
jne 0x1400654a2
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400654a2
movzx edx, word [rsp + 0x590]
imul rcx, rdx, 0x3b8
mov rax, qword [0x140296980]
mov r8d, dword [rcx + rax + 0x390]
cmp r8d, 3
jne 0x140065250
mov r8d, WSAStartup
jmp 0x1400652bc
cmp byte [rcx + rax + 0x142], 0
je 0x140065278
mov rax, qword [rsp + 0x668]
sub rax, qword [rsp + 0x660]
sar rax, 5
lea r8d, [rax*4 + 0xd3]
jmp 0x1400652bc
cmp r8d, 0xd
jne 0x1400652b6
movzx eax, dx
sub ax, r14w
cmp ax, 4
ja 0x140065295
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x14006525a
cmp dx, si
je 0x14006525a
mov rax, qword [r13 + 0xb8]
sub rax, qword [r13 + 0xb0]
sar rax, 5
lea r8d, [rax*4 + 0xd3]
jmp 0x1400652bc
mov r8d, 0xd3
mov rcx, qword [rsp + 0x548]
sub rcx, qword [rsp + 0x540]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea ecx, [r8 + rdx*2]
movsxd r14, ecx
mov r8d, 1
test byte [r12 + 0xc], 8
je 0x140065341
mov edx, dword [r12 + 0x34]
add ecx, 5
add edx, ecx
xor ecx, ecx
call fcn.1400131e0
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov dword [rcx], 4
mov rcx, qword [rax + 0x10]
add rcx, 4
mov r8, r14
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [r12 + 0x34]
mov rcx, qword [rbx + 0x10]
add rcx, 4
add rcx, r14
xor edx, edx
jmp 0x140065369
lea eax, [rcx + 5]
movsxd rdx, eax
xor ecx, ecx
call fcn.1400131e0
mov rbx, rax
mov rax, qword [rax + 0x10]
mov dword [rax], 4
mov rcx, qword [rbx + 0x10]
add rcx, 4
mov r8, r14
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov r8, rbx
xor edx, edx
mov rcx, rdi
call fcn.1400134b0
movzx edx, word [rsp + 0x590]
imul r8, rdx, 0x3b8
add r8, qword [0x140296980]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x1400653a2
lea ecx, [rax + 0x6d]
jmp 0x14006540e
cmp byte [r8 + 0x142], 0
je 0x1400653c9
mov rax, qword [rsp + 0x668]
sub rax, qword [rsp + 0x660]
sar rax, 5
lea ecx, [rax*4 + 0xd3]
jmp 0x14006540e
cmp eax, 0xd
jne 0x140065409
movzx eax, dx
mov ecx, 0xca
sub ax, cx
cmp ax, 4
ja 0x1400653e9
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x1400653ac
cmp dx, si
je 0x1400653ac
mov rax, qword [r13 + 0xb8]
sub rax, qword [r13 + 0xb0]
sar rax, 5
lea ecx, [rax*4 + 0xd3]
jmp 0x14006540e
mov ecx, 0xd3
movsxd r14, ecx
mov r8d, 1
test byte [r15 + 0xc], 8
je 0x140065461
mov edx, dword [r15 + 0x34]
add ecx, 5
add edx, ecx
xor ecx, ecx
call fcn.1400131e0
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov dword [rcx], 4
mov rcx, qword [rax + 0x10]
add rcx, 4
mov r8, r14
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [r15 + 0x34]
mov rcx, qword [rbx + 0x10]
add rcx, 4
add rcx, r14
xor edx, edx
jmp 0x140065489
lea eax, [rcx + 5]
movsxd rdx, eax
xor ecx, ecx
call fcn.1400131e0
mov rbx, rax
mov rax, qword [rax + 0x10]
mov dword [rax], 4
mov rcx, qword [rbx + 0x10]
add rcx, 4
mov r8, r14
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r8, rbx
xor edx, edx
mov rcx, rdi
call fcn.1400134b0
mov rbx, qword [0x1402962f0]
add rdi, 0x1c8
imul rax, qword [rbx + 0x30], 0x1c8
add rax, qword [rbx + 0x28]
cmp rdi, rax
mov r14d, 0xca
jb 0x1400651d0
xor esi, esi
mov rcx, r12
call fcn.1401e8250
mov rcx, r15
jmp 0x1400659c1
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
mov rbx, qword [r12 + 0x30]
lea rdx, [rbx + 0x250]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140065502
mov rdx, qword [rdx]
lea rcx, [rsp + 0x678]
cmp qword [rsp + 0x690], 0x10
cmovae rcx, qword [rsp + 0x678]
mov r8, qword [rsp + 0x688]
cmp r8, rax
jne 0x14006553b
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14006553b
mov r14d, dword [rbx + 0xe8]
jmp 0x140065541
mov r14d, 0xffffffff
movzx ebx, word [rsp + 0x590]
mov ecx, 0x38
call fcn.1401e85bc
mov rdi, rax
mov dword [rax + 8], esi
mov qword [rax + 0xc], 8
mov dword [rax + 0x28], esi
mov dword [rax + 0x34], esi
mov dword [rax], reloc.WS2_32.dll_ntohs
mov dword [rax + 4], r14d
mov dword [rax + 0x14], ebx
mov eax, dword [rsp + 0x88]
mov dword [rdi + 0x18], eax
mov eax, dword [rsp + 0x8c]
mov dword [rdi + 0x1c], eax
mov eax, dword [rsp + 0x90]
mov dword [rdi + 0x20], eax
mov eax, dword [rsp + 0x94]
mov dword [rdi + 0x24], eax
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x30], r15d
mov rbx, qword [0x1402962f0]
mov r14, qword [rbx + 0x28]
imul rax, qword [rbx + 0x30], 0x1c8
add rax, r14
cmp r14, rax
jae 0x1400659be
mov esi, 0xca
mov r15d, reloc.WS2_32.dll_setsockopt
mov r12d, 0x1382
nop word [rax + rax]
cmp dword [r14 + 0x38], 5
jne 0x1400659a0
mov rdx, qword [r14 + 0x30]
test rdx, rdx
je 0x1400659a0
add rdx, 0x2b0
lea rcx, [r13 + 8]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140065611
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14006561f
mov rcx, qword [rcx]
cmp r8, rax
jne 0x1400659a0
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400659a0
xor ecx, ecx
lea r8d, [rax + 1]
test byte [rdi + 0xc], 8
je 0x140065693
mov edx, dword [rdi + 0x34]
add edx, 0x3d
call fcn.1400131e0
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov dword [rcx], 4
mov rcx, qword [rax + 0x10]
movups xmm0, xmmword [rdi]
movups xmmword [rcx + 4], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rcx + 0x14], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rcx + 0x24], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rcx + 0x34], xmm1
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rax + 0x10]
add rcx, 0x3c
xor edx, edx
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400656cf
mov edx, 0x3d
call fcn.1400131e0
mov rbx, rax
mov rax, qword [rax + 0x10]
mov dword [rax], 4
mov rax, qword [rbx + 0x10]
movups xmm0, xmmword [rdi]
movups xmmword [rax + 4], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0x14], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rax + 0x24], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rax + 0x34], xmm1
mov r8, rbx
xor edx, edx
mov rcx, r14
call fcn.1400134b0
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
movzx edx, word [rsp + 0x590]
imul r8, rdx, 0x3b8
add r8, qword [0x140296980]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x14006571a
mov eax, WSAStartup
jmp 0x140065781
cmp byte [r8 + 0x142], 0
je 0x140065741
mov rax, qword [rsp + 0x668]
sub rax, qword [rsp + 0x660]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x140065781
cmp eax, 0xd
jne 0x14006577c
movzx eax, dx
sub ax, si
cmp ax, 4
ja 0x14006575b
movzx eax, ax
bt r15d, eax
jb 0x140065724
cmp dx, r12w
je 0x140065724
mov rax, qword [r13 + 0xb8]
sub rax, qword [r13 + 0xb0]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x140065781
mov eax, 0xd3
movsxd rbx, eax
mov rcx, rbx
call fcn.1401e85bc
mov r15, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov dword [r15], 5
mov ecx, dword [rsp + 0x68]
mov dword [r15 + 4], ecx
mov dword [r15 + 0xc], 8
mov ecx, dword [rsp + 0x78]
mov dword [r15 + 0x14], ecx
mov ecx, dword [rsp + 0x88]
mov dword [r15 + 0x18], ecx
mov eax, dword [rsp + 0x8c]
mov dword [r15 + 0x1c], eax
mov eax, dword [rsp + 0x90]
mov dword [r15 + 0x20], eax
mov eax, dword [rsp + 0x94]
mov dword [r15 + 0x24], eax
mov eax, dword [rsp + 0x44]
mov dword [r15 + 0x2c], eax
mov eax, dword [rsp + 0x48]
mov dword [r15 + 0x30], eax
lea rax, [r15 + 0x38]
mov qword [rsp + 0x4f8], rax
lea rax, [rsp + 0x2b8]
mov qword [rsp + 0x58], rax
mov rdx, r13
lea rcx, [rsp + 0x2b8]
call fcn.1400440b0
mov rbx, rax
lea rdx, [rsp + 0x590]
lea rcx, [rsp + 0xc0]
call fcn.140065b90
nop
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x30], 0xffffffff
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9, r14
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x4f8]
call fcn.140062c80
movzx edx, word [rsp + 0x590]
imul r8, rdx, 0x3b8
add r8, qword [0x140296980]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x140065890
lea ecx, [rax + 0x6d]
jmp 0x1400658f8
cmp byte [r8 + 0x142], 0
je 0x1400658b7
mov rax, qword [rsp + 0x668]
sub rax, qword [rsp + 0x660]
sar rax, 5
lea ecx, [rax*4 + 0xd3]
jmp 0x1400658f8
cmp eax, 0xd
jne 0x1400658f3
movzx eax, dx
sub ax, si
cmp ax, 4
ja 0x1400658d2
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x14006589a
cmp dx, r12w
je 0x14006589a
mov rax, qword [r13 + 0xb8]
sub rax, qword [r13 + 0xb0]
sar rax, 5
lea ecx, [rax*4 + 0xd3]
jmp 0x1400658f8
mov ecx, 0xd3
movsxd r12, ecx
mov r8d, 1
test byte [r15 + 0xc], 8
je 0x14006594b
mov edx, dword [r15 + 0x34]
add ecx, 5
add edx, ecx
xor ecx, ecx
call fcn.1400131e0
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov dword [rcx], 4
mov rcx, qword [rax + 0x10]
add rcx, 4
mov r8, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [r15 + 0x34]
mov rcx, qword [rbx + 0x10]
add rcx, 4
add rcx, r12
xor edx, edx
jmp 0x140065973
lea eax, [rcx + 5]
movsxd rdx, eax
xor ecx, ecx
call fcn.1400131e0
mov rbx, rax
mov rax, qword [rax + 0x10]
mov dword [rax], 4
mov rcx, qword [rbx + 0x10]
add rcx, 4
mov r8, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r8, rbx
xor edx, edx
mov rcx, r14
call fcn.1400134b0
mov rcx, r15
call fcn.1401e8250
mov rbx, qword [0x1402962f0]
mov r12d, 0x1382
mov r15d, reloc.WS2_32.dll_setsockopt
add r14, 0x1c8
imul rax, qword [rbx + 0x30], 0x1c8
add rax, qword [rbx + 0x28]
cmp r14, rax
jb 0x1400655e0
xor esi, esi
mov rcx, rdi
call fcn.1401e8250
nop
mov rcx, qword [rsp + 0x558]
test rcx, rcx
je 0x140065a2c
mov rax, qword [rsp + 0x568]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140065a13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140065a13
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401e8250
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x558], xmm0
mov qword [rsp + 0x568], rsi
lea rcx, [rsp + 0x540]
call fcn.1401c3e70
nop
lea rcx, [rsp + 0x570]
call fcn.1401c9de0
nop
lea rcx, [rsp + 0x750]
call fcn.1401ca7b0
lea rcx, [rsp + 0x730]
call fcn.1401ca7b0
lea rcx, [rsp + 0x6f0]
call fcn.1401c9d20
lea rcx, [rsp + 0x6c0]
call fcn.1401c3e70
lea rcx, [rsp + 0x698]
call fcn.1401ca7b0
lea rcx, [rsp + 0x678]
call fcn.1401ca7b0
lea rcx, [rsp + 0x660]
call fcn.1401c5f90
lea rcx, [rsp + 0x610]
call fcn.1401ca7b0
lea rcx, [rsp + 0x5f0]
call fcn.1401ca7b0
lea rcx, [rsp + 0x5d0]
call fcn.1401ca7b0
nop
mov rbx, qword [rsp + 0xb8]
lea rcx, [rbx + 0x1c0]
call fcn.1401ca7b0
lea rcx, [rbx + 0x1a0]
call fcn.1401ca7b0
lea rcx, [rbx + 0x160]
call fcn.1401c9d20
lea rcx, [rbx + 0x130]
call fcn.1401c3e70
lea rcx, [rbx + 0x108]
call fcn.1401ca7b0
lea rcx, [rbx + 0xe8]
call fcn.1401ca7b0
lea rcx, [rbx + 0xd0]
call fcn.1401c5f90
lea rcx, [rbx + 0x80]
call fcn.1401ca7b0
lea rcx, [rbx + 0x60]
call fcn.1401ca7b0
lea rcx, [rbx + 0x40]
call fcn.1401ca7b0
nop
mov rcx, r13
call fcn.14003e310
mov rcx, qword [rsp + 0x790]
xor rcx, rsp
call fcn.1401e8230
add rsp, 0x7a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.1401c9c80
nop
call fcn.1401c9c80
call fcn.1401c9c80
call fcn.1401c9c80
nop
call fcn.1401c32f0
int3