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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x790
mov rax, qword [0x1403c6030]
xor rax, rsp
mov qword [rsp + 0x780], rax
mov qword [rsp + 0x70], r8
mov r13, rdx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x4f8], rcx
mov qword [rsp + 0x500], rdx
mov qword [rsp + 0x4f0], 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 + 0x68], ecx
imul r14d, ecx, 0x64
add r14d, r8d
movsxd rax, r14d
imul rdx, rax, 0x1f8
add rdx, qword [r13 + 0xf0]
lea rcx, [rsp + 0x580]
call fcn.14008e7d0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x568], xmm0
mov qword [rsp + 0x578], rax
lea rdx, [r13 + 0xf0]
lea rcx, [rsp + 0x568]
call fcn.140295f50
nop
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x538], xmm1
xor esi, esi
mov qword [rsp + 0x548], rsi
movdqu xmmword [rsp + 0x550], xmm1
mov qword [rsp + 0x560], rsi
mov dword [rsp + 0x40], r14d
lea r8, [rsp + 0x40]
xor edx, edx
lea rcx, [rsp + 0x550]
call fcn.1402b5990
nop
mov r15d, esi
movabs r12, 0x8208208208208209
nop
mov rax, qword [rsp + 0x558]
mov rcx, qword [rsp + 0x550]
sub rax, rcx
sar rax, 2
movsxd r8, r15d
cmp r8, rax
jae 0x14008d871
mov eax, 0x51eb851f
imul dword [rcx + r8*4]
mov ebx, edx
sar ebx, 5
mov eax, ebx
shr eax, 0x1f
add ebx, eax
imul eax, ebx, 0x64
mov edi, dword [rcx + r8*4]
sub edi, eax
cmp edi, 0x63
jge 0x14008d323
imul r8d, ebx, 0x64
inc r8d
add r8d, edi
movsxd r9, r8d
mov rcx, qword [rsp + 0x570]
sub rcx, qword [rsp + 0x568]
mov rax, r12
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x14008e7b2
imul rcx, r9, 0x1f8
mov rax, qword [rsp + 0x568]
cmp byte [rcx + rax + 0xc7], 0
je 0x14008d323
cmp dword [rcx + rax + 0xc8], r14d
jne 0x14008d323
cmp byte [rcx + rax + 0xb0], 0
jne 0x14008d323
mov byte [rcx + rax + 0xb0], 1
mov dword [rsp + 0x40], r8d
mov rdx, qword [rsp + 0x558]
cmp rdx, qword [rsp + 0x560]
je 0x14008d20d
mov dword [rdx], r8d
add qword [rsp + 0x558], 4
jmp 0x14008d21f
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x550]
call fcn.1402b5990
lea eax, [rdi + 1]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], ebx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x508], xmm0
mov qword [rsp + 0x518], rsi
mov edx, 2
call fcn.1402995a0
mov qword [rsp + 0x508], rax
lea r8, [rax + 8]
mov qword [rsp + 0x518], r8
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov qword [rsp + 0x510], r8
mov rdx, qword [rsp + 0x540]
cmp rdx, qword [rsp + 0x548]
je 0x14008d2bc
mov rcx, qword [rsp + 0x518]
mov qword [rsp + 0x518], rsi
mov qword [rsp + 0x510], rsi
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0x508], rsi
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
add qword [rsp + 0x540], 0x18
jmp 0x14008d2d2
lea r8, [rsp + 0x508]
lea rcx, [rsp + 0x538]
call fcn.1402b5380
nop
mov rcx, qword [rsp + 0x508]
test rcx, rcx
je 0x14008d323
mov rax, qword [rsp + 0x518]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008d31e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008d31e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402d0d60
test edi, edi
jle 0x14008d4ed
imul r8d, ebx, 0x64
dec r8d
add r8d, edi
movsxd r9, r8d
mov rcx, qword [rsp + 0x570]
sub rcx, qword [rsp + 0x568]
mov rax, r12
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x14008e7b8
imul rcx, r9, 0x1f8
mov rax, qword [rsp + 0x568]
cmp byte [rcx + rax + 0xc7], 0
je 0x14008d4ed
cmp dword [rcx + rax + 0xc8], r14d
jne 0x14008d4ed
cmp byte [rcx + rax + 0xb0], 0
jne 0x14008d4ed
mov byte [rcx + rax + 0xb0], 1
mov dword [rsp + 0x40], r8d
mov rdx, qword [rsp + 0x558]
cmp rdx, qword [rsp + 0x560]
je 0x14008d3ce
mov dword [rdx], r8d
add qword [rsp + 0x558], 4
jmp 0x14008d3e0
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x550]
call fcn.1402b5990
lea eax, [rdi - 1]
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x84], ebx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x508], xmm0
mov qword [rsp + 0x518], rsi
mov edx, 2
call fcn.1402995a0
mov qword [rsp + 0x508], rax
lea r8, [rax + 8]
mov qword [rsp + 0x518], r8
mov rcx, qword [rsp + 0x80]
mov qword [rax], rcx
mov qword [rsp + 0x510], r8
mov rdx, qword [rsp + 0x540]
cmp rdx, qword [rsp + 0x548]
je 0x14008d486
mov rcx, qword [rsp + 0x518]
mov qword [rsp + 0x518], rsi
mov qword [rsp + 0x510], rsi
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0x508], rsi
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
add qword [rsp + 0x540], 0x18
jmp 0x14008d49c
lea r8, [rsp + 0x508]
lea rcx, [rsp + 0x538]
call fcn.1402b5380
nop
mov rcx, qword [rsp + 0x508]
test rcx, rcx
je 0x14008d4ed
mov rax, qword [rsp + 0x518]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008d4e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008d4e8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402d0d60
cmp ebx, 0x3b
jge 0x14008d6af
lea eax, [rbx + 1]
imul r8d, eax, 0x64
add r8d, edi
movsxd r9, r8d
mov rcx, qword [rsp + 0x570]
sub rcx, qword [rsp + 0x568]
mov rax, r12
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x14008e7bd
imul rcx, r9, 0x1f8
mov rax, qword [rsp + 0x568]
cmp byte [rcx + rax + 0xc7], 0
je 0x14008d6af
cmp dword [rcx + rax + 0xc8], r14d
jne 0x14008d6af
cmp byte [rcx + rax + 0xb0], 0
jne 0x14008d6af
mov byte [rcx + rax + 0xb0], 1
mov dword [rsp + 0x40], r8d
mov rdx, qword [rsp + 0x558]
cmp rdx, qword [rsp + 0x560]
je 0x14008d599
mov dword [rdx], r8d
add qword [rsp + 0x558], 4
jmp 0x14008d5ab
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x550]
call fcn.1402b5990
mov dword [rsp + 0x60], edi
lea eax, [rbx + 1]
mov dword [rsp + 0x64], eax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x508], xmm0
mov qword [rsp + 0x518], rsi
mov edx, 2
call fcn.1402995a0
mov qword [rsp + 0x508], rax
lea r8, [rax + 8]
mov qword [rsp + 0x518], r8
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
mov qword [rsp + 0x510], r8
mov rdx, qword [rsp + 0x540]
cmp rdx, qword [rsp + 0x548]
je 0x14008d648
mov rcx, qword [rsp + 0x518]
mov qword [rsp + 0x518], rsi
mov qword [rsp + 0x510], rsi
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0x508], rsi
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
add qword [rsp + 0x540], 0x18
jmp 0x14008d65e
lea r8, [rsp + 0x508]
lea rcx, [rsp + 0x538]
call fcn.1402b5380
nop
mov rcx, qword [rsp + 0x508]
test rcx, rcx
je 0x14008d6af
mov rax, qword [rsp + 0x518]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008d6aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008d6aa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402d0d60
test ebx, ebx
jle 0x14008d869
imul r8d, ebx, 0x64
add r8d, 0xffffff9c
add r8d, edi
movsxd r9, r8d
mov rcx, qword [rsp + 0x570]
sub rcx, qword [rsp + 0x568]
mov rax, r12
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x14008e7c2
imul rcx, r9, 0x1f8
mov rax, qword [rsp + 0x568]
cmp byte [rcx + rax + 0xc7], 0
je 0x14008d869
cmp dword [rcx + rax + 0xc8], r14d
jne 0x14008d869
cmp byte [rcx + rax + 0xb0], 0
jne 0x14008d869
mov byte [rcx + rax + 0xb0], 1
mov dword [rsp + 0x40], r8d
mov rdx, qword [rsp + 0x558]
cmp rdx, qword [rsp + 0x560]
je 0x14008d75b
mov dword [rdx], r8d
add qword [rsp + 0x558], 4
jmp 0x14008d76d
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x550]
call fcn.1402b5990
mov dword [rsp + 0x58], edi
lea eax, [rbx - 1]
mov dword [rsp + 0x5c], eax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x508], xmm0
mov qword [rsp + 0x518], rsi
mov edx, 2
call fcn.1402995a0
mov qword [rsp + 0x508], rax
lea r8, [rax + 8]
mov qword [rsp + 0x518], r8
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
mov qword [rsp + 0x510], r8
mov rdx, qword [rsp + 0x540]
cmp rdx, qword [rsp + 0x548]
je 0x14008d80a
mov rcx, qword [rsp + 0x518]
mov qword [rsp + 0x518], rsi
mov qword [rsp + 0x510], rsi
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0x508], rsi
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
add qword [rsp + 0x540], 0x18
jmp 0x14008d820
lea r8, [rsp + 0x508]
lea rcx, [rsp + 0x538]
call fcn.1402b5380
nop
mov rcx, qword [rsp + 0x508]
test rcx, rcx
je 0x14008d869
mov rdx, qword [rsp + 0x518]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008d864
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008d864
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402d0d60
inc r15d
jmp 0x14008d120
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x48]
jmp 0x14008d8b8
mov rcx, qword [rsp + 0x540]
sub rcx, qword [rsp + 0x538]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rdi, rdx
sar rdi, 2
mov rax, rdi
shr rax, 0x3f
add rdi, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x508], xmm0
movups xmmword [rsp + 0x518], xmm0
movups xmmword [rsp + 0x528], xmm0
je 0x14008e126
test r12, r12
je 0x14008d95f
mov rbx, qword [r12 + 0x30]
lea rdx, [rbx + 0x408]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14008d926
mov rdx, qword [rdx]
lea rcx, [rsp + 0x668]
cmp qword [rsp + 0x680], 0x10
cmovae rcx, qword [rsp + 0x668]
mov r8, qword [rsp + 0x678]
cmp r8, rax
jne 0x14008d95f
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14008d95f
mov r14d, dword [rbx + 0x1b8]
jmp 0x14008d965
mov r14d, 0xffffffff
movzx edx, word [rsp + 0x580]
mov r15d, edx
imul r8, rdx, 0x3b8
add r8, qword [0x1403c8210]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x14008d98e
mov eax, esi
jmp 0x14008da01
cmp byte [r8 + 0x142], 0
je 0x14008d9b5
mov rax, qword [rsp + 0x658]
sub rax, qword [rsp + 0x650]
sar rax, 5
lea eax, [rax*4 + 0x63]
jmp 0x14008da01
cmp eax, 0xd
jne 0x14008d9fc
mov ecx, 0xca
movzx eax, dx
sub ax, cx
cmp ax, 4
ja 0x14008d9d7
mov r8d, reloc.WS2_32.dll_setsockopt
bt r8d, eax
jb 0x14008d998
mov ecx, 0x1382
cmp dx, cx
je 0x14008d998
mov rax, qword [r13 + 0xe0]
sub rax, qword [r13 + 0xd8]
sar rax, 5
lea eax, [rax*4 + 0x63]
jmp 0x14008da01
mov eax, 0x63
lea eax, [rax + rdi*2]
add eax, 0x70
movsxd rbx, eax
mov rcx, rbx
call fcn.1402d160c
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 + 0x528]
mov dword [r12 + 0x18], ecx
mov eax, dword [rsp + 0x52c]
mov dword [r12 + 0x1c], eax
mov eax, dword [rsp + 0x530]
mov dword [r12 + 0x20], eax
mov eax, dword [rsp + 0x534]
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 + 0x540]
mov r14, qword [rsp + 0x538]
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14008dc15
mov r15, rsi
movabs rax, 0x3fffffffffffffff
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x508], xmm0
mov qword [rsp + 0x518], rsi
mov rbx, qword [r15 + r14 + 8]
sub rbx, qword [r15 + r14]
sar rbx, 2
test rbx, rbx
je 0x14008db51
cmp rbx, rax
ja 0x14008e7c8
mov rdx, rbx
call fcn.1402995a0
mov rdi, rax
mov qword [rsp + 0x508], rax
lea rcx, [rax + rbx*4]
mov qword [rsp + 0x518], 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 + 0x510], rax
mov edi, dword [rsp + 0x40]
mov rax, qword [rsp + 0x508]
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 + 0x568]
mov byte [rcx + 0xb0], 0
mov rcx, qword [rsp + 0x508]
test rcx, rcx
je 0x14008dbcd
mov rax, qword [rsp + 0x518]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008dbc8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008dc5c
call fcn.1402d0d60
inc edi
mov dword [rsp + 0x40], edi
add r15, 0x18
add r13, 2
mov rcx, qword [rsp + 0x540]
mov r14, qword [rsp + 0x538]
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 0x14008dace
xorps xmm0, xmm0
movups xmmword [rsp + 0x508], xmm0
movups xmmword [rsp + 0x518], xmm0
movups xmmword [rsp + 0x528], xmm0
movzx edx, word [rsp + 0x580]
imul r8, rdx, 0x3b8
add r8, qword [0x1403c8210]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x14008dc63
mov eax, WSAStartup
jmp 0x14008dcf8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp byte [r8 + 0x142], 0
je 0x14008dc8a
mov rax, qword [rsp + 0x658]
sub rax, qword [rsp + 0x650]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x14008dcf8
cmp eax, 0xd
jne 0x14008dcf3
movzx eax, dx
mov r14d, 0xca
sub ax, r14w
cmp ax, 4
ja 0x14008dcac
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x14008dcd6
mov eax, 0x1382
cmp dx, ax
je 0x14008dcd6
mov r13, qword [rsp + 0x50]
mov rax, qword [r13 + 0xe0]
sub rax, qword [r13 + 0xd8]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x14008dd03
mov rax, qword [rsp + 0x658]
sub rax, qword [rsp + 0x650]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x14008dcfe
mov eax, 0xd3
mov r14d, 0xca
mov r13, qword [rsp + 0x50]
movsxd rbx, eax
mov rcx, rbx
call fcn.1402d160c
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 + 0x508]
mov dword [r15 + 4], ecx
mov dword [r15 + 0xc], 8
mov ecx, dword [rsp + 0x518]
mov dword [r15 + 0x14], ecx
mov ecx, dword [rsp + 0x528]
mov dword [r15 + 0x18], ecx
mov eax, dword [rsp + 0x52c]
mov dword [r15 + 0x1c], eax
mov eax, dword [rsp + 0x530]
mov dword [r15 + 0x20], eax
mov eax, dword [rsp + 0x534]
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 + 0x4f0], rax
lea rax, [rsp + 0x288]
mov qword [rsp + 0x58], rax
mov rdx, r13
lea rcx, [rsp + 0x288]
call fcn.140047650
mov rbx, rax
lea rdx, [rsp + 0x580]
lea rcx, [rsp + 0x90]
call fcn.14008e7d0
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 + 0x70]
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x4f0]
call fcn.14008b980
mov rbx, qword [0x1403c79b0]
mov rdi, qword [rbx + 0x28]
imul rax, qword [rbx + 0x30], 0x1c8
add rax, rdi
cmp rdi, rax
jae 0x14008e116
mov esi, 0x1382
nop word [rax + rax]
cmp dword [rdi + 0x38], 5
jne 0x14008e0f2
mov rdx, qword [rdi + 0x30]
test rdx, rdx
je 0x14008e0f2
add rdx, 0x488
lea rcx, [r13 + 0x28]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14008de50
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14008de5e
mov rcx, qword [rcx]
cmp r8, rax
jne 0x14008e0f2
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14008e0f2
movzx edx, word [rsp + 0x580]
imul rcx, rdx, 0x3b8
mov rax, qword [0x1403c8210]
mov r8d, dword [rcx + rax + 0x390]
cmp r8d, 3
jne 0x14008dea0
mov r8d, WSAStartup
jmp 0x14008df0c
cmp byte [rcx + rax + 0x142], 0
je 0x14008dec8
mov rax, qword [rsp + 0x658]
sub rax, qword [rsp + 0x650]
sar rax, 5
lea r8d, [rax*4 + 0xd3]
jmp 0x14008df0c
cmp r8d, 0xd
jne 0x14008df06
movzx eax, dx
sub ax, r14w
cmp ax, 4
ja 0x14008dee5
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x14008deaa
cmp dx, si
je 0x14008deaa
mov rax, qword [r13 + 0xe0]
sub rax, qword [r13 + 0xd8]
sar rax, 5
lea r8d, [rax*4 + 0xd3]
jmp 0x14008df0c
mov r8d, 0xd3
mov rcx, qword [rsp + 0x540]
sub rcx, qword [rsp + 0x538]
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 0x14008df91
mov edx, dword [r12 + 0x34]
add ecx, 5
add edx, ecx
xor ecx, ecx
call fcn.14000ff40
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 0x14008dfb9
lea eax, [rcx + 5]
movsxd rdx, eax
xor ecx, ecx
call fcn.14000ff40
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.1400101d0
movzx edx, word [rsp + 0x580]
imul r8, rdx, 0x3b8
add r8, qword [0x1403c8210]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x14008dff2
lea ecx, [rax + 0x6d]
jmp 0x14008e05e
cmp byte [r8 + 0x142], 0
je 0x14008e019
mov rax, qword [rsp + 0x658]
sub rax, qword [rsp + 0x650]
sar rax, 5
lea ecx, [rax*4 + 0xd3]
jmp 0x14008e05e
cmp eax, 0xd
jne 0x14008e059
movzx eax, dx
mov ecx, 0xca
sub ax, cx
cmp ax, 4
ja 0x14008e039
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x14008dffc
cmp dx, si
je 0x14008dffc
mov rax, qword [r13 + 0xe0]
sub rax, qword [r13 + 0xd8]
sar rax, 5
lea ecx, [rax*4 + 0xd3]
jmp 0x14008e05e
mov ecx, 0xd3
movsxd r14, ecx
mov r8d, 1
test byte [r15 + 0xc], 8
je 0x14008e0b1
mov edx, dword [r15 + 0x34]
add ecx, 5
add edx, ecx
xor ecx, ecx
call fcn.14000ff40
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 0x14008e0d9
lea eax, [rcx + 5]
movsxd rdx, eax
xor ecx, ecx
call fcn.14000ff40
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.1400101d0
mov rbx, qword [0x1403c79b0]
add rdi, 0x1c8
imul rax, qword [rbx + 0x30], 0x1c8
add rax, qword [rbx + 0x28]
cmp rdi, rax
mov r14d, 0xca
jb 0x14008de20
xor esi, esi
mov rcx, r12
call fcn.1402d0d60
mov rcx, r15
jmp 0x14008e602
mov rbx, qword [r12 + 0x30]
lea rdx, [rbx + 0x408]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14008e140
mov rdx, qword [rdx]
lea rcx, [rsp + 0x668]
cmp qword [rsp + 0x680], 0x10
cmovae rcx, qword [rsp + 0x668]
mov r8, qword [rsp + 0x678]
cmp r8, rax
jne 0x14008e179
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14008e179
mov r14d, dword [rbx + 0x1b8]
jmp 0x14008e17f
mov r14d, 0xffffffff
movzx ebx, word [rsp + 0x580]
mov ecx, 0x38
call fcn.1402d160c
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 + 0x528]
mov dword [rdi + 0x18], eax
mov eax, dword [rsp + 0x52c]
mov dword [rdi + 0x1c], eax
mov eax, dword [rsp + 0x530]
mov dword [rdi + 0x20], eax
mov eax, dword [rsp + 0x534]
mov dword [rdi + 0x24], eax
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x30], r15d
mov rbx, qword [0x1403c79b0]
mov r14, qword [rbx + 0x28]
imul rax, qword [rbx + 0x30], 0x1c8
add rax, r14
cmp r14, rax
jae 0x14008e5ff
mov esi, 0xca
mov r15d, reloc.WS2_32.dll_setsockopt
mov r12d, 0x1382
cmp dword [r14 + 0x38], 5
jne 0x14008e5e1
mov rdx, qword [r14 + 0x30]
test rdx, rdx
je 0x14008e5e1
add rdx, 0x488
lea rcx, [r13 + 0x28]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14008e246
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14008e254
mov rcx, qword [rcx]
cmp r8, rax
jne 0x14008e5e1
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14008e5e1
xor ecx, ecx
lea r8d, [rax + 1]
test byte [rdi + 0xc], 8
je 0x14008e2c8
mov edx, dword [rdi + 0x34]
add edx, 0x3d
call fcn.14000ff40
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 0x14008e304
mov edx, 0x3d
call fcn.14000ff40
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.1400101d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x508], xmm0
movups xmmword [rsp + 0x518], xmm0
movups xmmword [rsp + 0x528], xmm0
movzx edx, word [rsp + 0x580]
imul r8, rdx, 0x3b8
add r8, qword [0x1403c8210]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x14008e355
mov eax, WSAStartup
jmp 0x14008e3bc
cmp byte [r8 + 0x142], 0
je 0x14008e37c
mov rax, qword [rsp + 0x658]
sub rax, qword [rsp + 0x650]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x14008e3bc
cmp eax, 0xd
jne 0x14008e3b7
movzx eax, dx
sub ax, si
cmp ax, 4
ja 0x14008e396
movzx eax, ax
bt r15d, eax
jb 0x14008e35f
cmp dx, r12w
je 0x14008e35f
mov rax, qword [r13 + 0xe0]
sub rax, qword [r13 + 0xd8]
sar rax, 5
lea eax, [rax*4 + 0xd3]
jmp 0x14008e3bc
mov eax, 0xd3
movsxd rbx, eax
mov rcx, rbx
call fcn.1402d160c
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 + 0x508]
mov dword [r15 + 4], ecx
mov dword [r15 + 0xc], 8
mov ecx, dword [rsp + 0x518]
mov dword [r15 + 0x14], ecx
mov ecx, dword [rsp + 0x528]
mov dword [r15 + 0x18], ecx
mov eax, dword [rsp + 0x52c]
mov dword [r15 + 0x1c], eax
mov eax, dword [rsp + 0x530]
mov dword [r15 + 0x20], eax
mov eax, dword [rsp + 0x534]
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 + 0x4f0], rax
lea rax, [rsp + 0x288]
mov qword [rsp + 0x58], rax
mov rdx, r13
lea rcx, [rsp + 0x288]
call fcn.140047650
mov rbx, rax
lea rdx, [rsp + 0x580]
lea rcx, [rsp + 0x90]
call fcn.14008e7d0
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 + 0x4f0]
call fcn.14008b980
movzx edx, word [rsp + 0x580]
imul r8, rdx, 0x3b8
add r8, qword [0x1403c8210]
mov eax, dword [r8 + 0x390]
cmp eax, 3
jne 0x14008e4d1
lea ecx, [rax + 0x6d]
jmp 0x14008e539
cmp byte [r8 + 0x142], 0
je 0x14008e4f8
mov rax, qword [rsp + 0x658]
sub rax, qword [rsp + 0x650]
sar rax, 5
lea ecx, [rax*4 + 0xd3]
jmp 0x14008e539
cmp eax, 0xd
jne 0x14008e534
movzx eax, dx
sub ax, si
cmp ax, 4
ja 0x14008e513
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x14008e4db
cmp dx, r12w
je 0x14008e4db
mov rax, qword [r13 + 0xe0]
sub rax, qword [r13 + 0xd8]
sar rax, 5
lea ecx, [rax*4 + 0xd3]
jmp 0x14008e539
mov ecx, 0xd3
movsxd r12, ecx
mov r8d, 1
test byte [r15 + 0xc], 8
je 0x14008e58c
mov edx, dword [r15 + 0x34]
add ecx, 5
add edx, ecx
xor ecx, ecx
call fcn.14000ff40
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 0x14008e5b4
lea eax, [rcx + 5]
movsxd rdx, eax
xor ecx, ecx
call fcn.14000ff40
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.1400101d0
mov rcx, r15
call fcn.1402d0d60
mov rbx, qword [0x1403c79b0]
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 0x14008e215
xor esi, esi
mov rcx, rdi
call fcn.1402d0d60
nop
mov rcx, qword [rsp + 0x550]
test rcx, rcx
je 0x14008e66d
mov rax, qword [rsp + 0x560]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e654
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008e654
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402d0d60
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x550], xmm0
mov qword [rsp + 0x560], rsi
lea rcx, [rsp + 0x538]
call fcn.140297500
nop
lea rcx, [rsp + 0x568]
call fcn.14029da50
nop
lea rcx, [rsp + 0x740]
call fcn.14029ed10
lea rcx, [rsp + 0x720]
call fcn.14029ed10
lea rcx, [rsp + 0x6e0]
call fcn.14029d8d0
lea rcx, [rsp + 0x6b0]
call fcn.140297500
lea rcx, [rsp + 0x688]
call fcn.14029ed10
lea rcx, [rsp + 0x668]
call fcn.14029ed10
lea rcx, [rsp + 0x650]
call fcn.14029b3a0
lea rcx, [rsp + 0x600]
call fcn.14029ed10
lea rcx, [rsp + 0x5e0]
call fcn.14029ed10
lea rcx, [rsp + 0x5c0]
call fcn.14029ed10
nop
mov rbx, qword [rsp + 0x88]
lea rcx, [rbx + 0x1c0]
call fcn.14029ed10
lea rcx, [rbx + 0x1a0]
call fcn.14029ed10
lea rcx, [rbx + 0x160]
call fcn.14029d8d0
lea rcx, [rbx + 0x130]
call fcn.140297500
lea rcx, [rbx + 0x108]
call fcn.14029ed10
lea rcx, [rbx + 0xe8]
call fcn.14029ed10
lea rcx, [rbx + 0xd0]
call fcn.14029b3a0
lea rcx, [rbx + 0x80]
call fcn.14029ed10
lea rcx, [rbx + 0x60]
call fcn.14029ed10
lea rcx, [rbx + 0x40]
call fcn.14029ed10
nop
mov rcx, r13
call fcn.1400412f0
mov rcx, qword [rsp + 0x780]
xor rcx, rsp
call fcn.1402d0d40
add rsp, 0x790
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.14029d830
nop
call fcn.14029d830
call fcn.14029d830
call fcn.14029d830
nop
call fcn.1402961c0
int3