Function at 0x14002a440
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Create udp socket
Get memory capacity
Get storage device properties
Receive data
Receive data on socket
Resolve function by parsing pe exports
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1278
call fcn.1400d1fa0
sub rsp, rax
movaps xmmword [rsp + 0x1260], xmm8
movaps xmmword [rsp + 0x1250], xmm7
movaps xmmword [rsp + 0x1240], xmm6
mov rax, qword [0x14013aa80]
xor rax, rsp
mov qword [rsp + 0x1238], rax
lea rcx, [rsp + 0xf8]
call fcn.1400018f0
cmp qword [rsp + 0xf8], 0
je 0x14002a555
xorps xmm6, xmm6
movaps xmmword [rsp + 0xe0], xmm6
mov qword [rsp + 0xf0], 0
movaps xmmword [rsp + 0x1c0], xmm6
movabs rax, 0x152534d42
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x130], 0
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x130]
lea rsi, [rsp + 0x160]
mov ecx, 0x4c
mov r8, rsi
call fcn.14003dab0
test rax, rax
je 0x14002a5b9
mov rdi, rax
mov rdx, qword [rsp + 0x130]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
mov r9, rcx
sub r9, rax
mov r8, rdx
sub r8, r9
jae 0x14002a55c
add rax, rdx
mov qword [rsp + 0xe8], rax
jmp 0x14002a598
xor esi, esi
jmp 0x14002da56
jbe 0x14002a598
mov r9, qword [rsp + 0xf0]
sub r9, rax
cmp r9, rdx
jae 0x14002a585
lea rcx, [rsp + 0xe0]
lea r8, [rsp + 0x1200]
call fcn.14000b500
jmp 0x14002a598
lea rbx, [rcx + r8]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0xe8], rbx
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x130]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
movaps xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0xd0], 0
movaps xmmword [rsp + 0x160], xmm6
mov dword [rsp + 0x160], 0x41435049
mov qword [rsp + 0x11c0], 0
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x11c0]
lea rsi, [rsp + 0x130]
mov ecx, 0x4c
mov r8, rsi
call fcn.14003dab0
test rax, rax
je 0x14002a801
mov rdi, rax
cmp qword [rsp + 0x11c0], 0x11
jb 0x14002a7f8
mov r15d, reloc.WS2_32.dll_recv
xorps xmm6, xmm6
movabs r13, 0x141435049
lea r12, [rsp + 0x1200]
lea rbx, [rsp + 0x110]
lea r14, [rsp + 0x11e0]
jmp 0x14002a687
call fcn.1400d1e6c
add r15, 4
cmp qword [rsp + 0x11c0], r15
jbe 0x14002a7f8
mov eax, dword [rdi + r15]
movaps xmmword [rsp + 0x1200], xmm6
mov qword [rsp + 0x1200], r13
mov dword [rsp + 0x1208], eax
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x11e0], r12
mov qword [rsp + 0x11e8], 0x10
mov ecx, 0x4c
mov rdx, rbx
mov r8, r14
call fcn.14003dab0
test rax, rax
je 0x14002a675
mov rbp, rax
movaps xmmword [rsp + 0x1c0], xmm6
mov qword [rsp + 0x1d0], 0
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x14002a730
lea rcx, [rsp + 0x1c0]
lea r8, [rsp + 0xa0]
call fcn.14000b500
mov rcx, qword [rsp + 0x1c0]
mov r8, qword [rsp + 0x110]
jmp 0x14002a735
xor r8d, r8d
xor ecx, ecx
lea rdx, [rbp + 0x10]
add r8, 0xfffffffffffffff0
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xd0]
je 0x14002a790
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x1d0], 0
movdqa xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x1c0], xmm6
movdqu xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
add qword [rsp + 0xc8], 0x18
jmp 0x14002a7a5
lea rcx, [rsp + 0xc0]
lea r8, [rsp + 0x1c0]
call fcn.14002f7d0
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x1c0]
test rcx, rcx
je 0x14002a675
mov rdx, qword [rsp + 0x1d0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14002a670
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14002de50
add rdx, 0x27
mov rcx, rax
jmp 0x14002a670
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xorps xmm6, xmm6
movups xmmword [rsp + 0x1a8], xmm6
movups xmmword [rsp + 0x198], xmm6
movups xmmword [rsp + 0x188], xmm6
movups xmmword [rsp + 0x178], xmm6
movups xmmword [rsp + 0x168], xmm6
mov ecx, 0x30
call fcn.1400d1e28
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax + 0x28], 0
mov qword [rax + 0x20], 0
mov qword [rsp + 0x160], rax
mov ecx, 0x18
call fcn.1400d1e28
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsp + 0x180], rax
movups xmmword [rsp + 0x1f0], xmm6
movups xmmword [rsp + 0x1e0], xmm6
movups xmmword [rsp + 0x1d0], xmm6
lea r12, [0x1400dbab8]
lea rdi, [rsp + 0x1c0]
xor ebp, ebp
jmp 0x14002a8c7
mov qword [r14 + 0x10], r15
mov byte [rbx + r15], 0
add rbp, 4
cmp rbp, 0xc
je 0x14002aaf3
mov eax, dword [rbp + r12]
xor ecx, ecx
xchg rbx, r8
cpuid
xchg rbx, r8
mov dword [rsp + 0x1c0], eax
mov dword [rsp + 0x1c4], r8d
mov dword [rsp + 0x1c8], ecx
mov dword [rsp + 0x1cc], edx
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x130], xmm6
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x14002debd
mov rbx, rax
cmp rax, 0xf
ja 0x14002a950
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsp
add rbx, 0x130
jmp 0x14002a9c5
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov r15, rbx
or r15, 0xf
cmp r15, 0x17
mov eax, socket
cmovb r15, rax
cmp r15, 0xfff
jb 0x14002a990
lea rcx, [r15 + 0x28]
call fcn.1400d1e28
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14002a99c
lea rcx, [r15 + 1]
call fcn.1400d1e28
mov r14, rax
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], r15
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, r14
mov byte [rbx], 0
mov rbx, qword [rsp + 0x160]
mov r8, qword [rsp + 0x140]
cmp qword [rsp + 0x148], 0x10
mov r9, rsi
jb 0x14002a9ee
mov r9, qword [rsp + 0x130]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x14002aa20
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov rdx, r8
call fcn.1400226d0
jmp 0x14002aa41
lea r14, [rcx + r8]
mov qword [rbx + 0x10], r14
cmp rax, 0x10
jb 0x14002aa31
mov rbx, qword [rbx]
add rcx, rbx
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r14], 0
mov rax, qword [rsp + 0x148]
cmp rax, 0x10
jb 0x14002aa88
mov rcx, qword [rsp + 0x130]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002aa83
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov r14, qword [rsp + 0x160]
mov r13, qword [r14 + 0x18]
mov rbx, r14
cmp r13, 0x10
jb 0x14002aaa0
mov rbx, qword [r14]
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r15, rax
mov rcx, qword [r14 + 0x10]
mov r8, rax
sub r8, rcx
jbe 0x14002a8b0
sub r13, rcx
cmp r13, r8
jae 0x14002aae0
mov byte [rsp + 0x20], 0
mov rcx, r14
mov rdx, r8
mov r9, r8
call fcn.140007e50
jmp 0x14002a8b9
mov qword [r14 + 0x10], r15
add rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
jmp 0x14002a8b4
mov eax, 1
xor ecx, ecx
xchg rbx, r8
cpuid
xchg rbx, r8
shr r8d, 0x10
movzx eax, r8b
mov rcx, qword [rsp + 0x160]
mov dword [rcx + 0x24], eax
xor ecx, ecx
xor eax, eax
xchg rbx, r8
cpuid
xchg rbx, r8
cmp r8b, 0x41
je 0x14002ab49
movzx ecx, r8b
mov eax, 0xffffffff
cmp ecx, 0x47
jne 0x14002ab5d
mov eax, 4
xor ecx, ecx
xchg rbx, r8
cpuid
xchg rbx, r8
shr eax, 0x1a
jmp 0x14002ab5b
xor ecx, ecx
mov eax, 0x80000008
xchg rbx, r8
cpuid
xchg rbx, r8
movzx eax, cl
inc eax
mov rcx, qword [rsp + 0x160]
mov dword [rcx + 0x20], eax
xor r8d, r8d
xor ecx, ecx
mov eax, 1
xchg rbx, r9
cpuid
xchg rbx, r9
mov rax, qword [rsp + 0x160]
test edx, 0x10000000
je 0x14002ab94
mov ecx, dword [rax + 0x24]
cmp ecx, dword [rax + 0x20]
setg r8b
mov byte [rax + 0x28], r8b
lea rcx, [0x1400dbdc0]
lea rdx, [rsp + 0x11c0]
call sub.dxgi.dll_CreateDXGIFactory
test eax, eax
jne 0x14002abe1
mov rcx, qword [rsp + 0x11c0]
mov rax, qword [rcx]
lea r8, [rsp + 0x110]
xor edx, edx
call qword [rax + 0x38]
cmp eax, 0x887a0002
jne 0x14002dabf
mov rcx, qword [rsp + 0x11c0]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
mov dword [rsp + 0x1c0], 0x40
lea rcx, [rsp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rax, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x180]
mov qword [rcx], rax
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x180]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x180]
mov qword [rcx + 0x10], rax
xor r12d, r12d
lea r15, [rsp + 0x1ea]
mov esi, 0xcccccccd
lea r13, str.Global__PhysicalDrive
lea rbp, [rsp + 0x1200]
jmp 0x14002ac92
call fcn.1400d1e6c
inc r12d
cmp r12d, 0x1e
je 0x14002b611
mov eax, reloc.WS2_32.dll_sendto
xor r8d, r8d
mov ecx, r12d
nop dword [rax]
mov edx, ecx
imul rdx, rsi
shr rdx, 0x23
lea r9d, [rdx + rdx]
lea r9d, [r9 + r9*4]
mov r10d, ecx
sub r10d, r9d
or r10d, 0x30
mov word [rsp + rax*2 + 0x1c0], r10w
add r8, 2
dec rax
cmp ecx, 9
mov ecx, edx
ja 0x14002aca0
movaps xmmword [rsp + 0x1210], xmm6
movaps xmmword [rsp + 0x1200], xmm6
cmp rax, 0x14
jne 0x14002ad10
mov qword [rsp + 0x1218], 7
mov word [rsp + 0x1200], 0
mov edx, 7
xor eax, eax
jmp 0x14002ad31
mov rdx, r15
sub rdx, r8
sar r8, 1
mov rcx, rbp
call fcn.14002fbb0
mov rax, qword [rsp + 0x1210]
mov rdx, qword [rsp + 0x1218]
mov rcx, rdx
sub rcx, rax
cmp rcx, 0x17
jae 0x14002ad60
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x28], reloc.WS2_32.dll_socket
mov edx, reloc.WS2_32.dll_socket
mov rcx, rbp
xor r9d, r9d
call fcn.140030120
jmp 0x14002adf8
lea rcx, [rax + 0x17]
mov qword [rsp + 0x1210], rcx
cmp rdx, 8
mov rcx, qword [rsp + 0x1200]
mov rdi, rbp
cmovae rdi, rcx
mov r14d, reloc.WS2_32.dll_socket
lea r8, [0x140122ca6]
cmp rdi, r8
jae 0x14002adaa
lea r8, [rdi + rax*2]
cmp r8, r13
jb 0x14002adaa
mov r14, rdi
sub r14, r13
jbe 0x14002ada7
sar r14, 1
jmp 0x14002adaa
xor r14d, r14d
cmp rdx, 8
cmovb rcx, rbp
add rcx, 0x2e
lea r8, [rax + rax]
add r8, 2
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rbx, [r14 + r14]
mov rcx, rdi
mov rdx, r13
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [r14*2 + 0x2e]
add rdx, r13
lea rcx, [rdi + r14*2]
mov r8d, 0x2e
sub r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, rbp
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x140], xmm1
movdqa xmmword [rsp + 0x130], xmm0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 7
mov word [rax], 0
mov rax, qword [rsp + 0x1218]
cmp rax, 8
jb 0x14002ae74
mov rcx, qword [rsp + 0x1200]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002ae6f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
movaps xmmword [rsp + 0x1200], xmm6
cmp qword [rsp + 0x148], 8
lea rdi, [rsp + 0x130]
jb 0x14002ae97
mov rdi, qword [rsp + 0x130]
test rdi, rdi
je 0x14002aeb0
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
lea ecx, [rax + rax]
add ecx, 2
add eax, eax
jmp 0x14002aeb4
xor eax, eax
xor ecx, ecx
mov word [rsp + 0x1200], ax
mov word [rsp + 0x1202], cx
mov qword [rsp + 0x1208], rdi
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
mov dword [rsp + 0x1c0], 0x30
mov dword [rsp + 0x1d8], 0x40
mov qword [rsp + 0x1d0], rbp
lea r8, [rsp + 0x1c0]
movups xmmword [r8 + 0x20], xmm6
movaps xmmword [rsp + 0x11e0], xmm6
mov qword [rsp + 0xa0], 0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0xa0]
mov edx, 0x12019f
lea r9, [rsp + 0x11e0]
call qword [sym.imp.ntdll.dll_NtCreateFile]
test eax, eax
js 0x14002b5bb
mov rcx, qword [rsp + 0xa0]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x14002b5bb
movaps xmmword [rsp + 0x11c0], xmm6
mov dword [rsp + 0x118], 0
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x80], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x11c0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x48], 8
mov dword [rsp + 0x38], reloc.WS2_32.dll_inet_ntoa
mov dword [rsp + 0x28], 0x2d1400
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
js 0x14002b5ad
mov ebx, dword [rsp + 0x84]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x14002b5ad
mov rdi, rax
mov rcx, qword [rsp + 0xa0]
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x11c0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], reloc.WS2_32.dll_inet_ntoa
mov dword [rsp + 0x28], 0x2d1400
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
js 0x14002b5a4
mov ecx, 0x80
call fcn.1400d1e28
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
movups xmmword [rax + 0x20], xmm6
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], reloc.WS2_32.dll_ntohs
movups xmmword [rax + 0x40], xmm6
mov qword [rax + 0x50], 0
mov qword [rax + 0x58], reloc.WS2_32.dll_ntohs
movups xmmword [rax + 0x60], xmm6
mov qword [rax + 0x70], 0
mov qword [rax + 0x78], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x60], rax
mov r14d, dword [rdi + 0x18]
test r14, r14
je 0x14002b1e9
mov rbx, rax
add r14, rdi
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r15, rax
cmp rax, 0xf
jbe 0x14002b112
mov rcx, rbx
mov rdx, r15
mov r9, r14
call fcn.1400038c0
mov rbx, qword [rsp + 0x60]
jmp 0x14002b129
mov qword [rbx + 0x10], r15
mov rcx, rbx
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r15], 0
mov r8, qword [rbx + 0x18]
cmp r8, 0x10
mov rdx, qword [rbx]
mov r14, qword [rbx + 0x10]
mov rcx, rbx
cmovae rcx, rdx
lea rax, [rcx + r14]
test r14, r14
lea r15, [rsp + 0x1ea]
je 0x14002b177
xor r9d, r9d
nop word cs:[rax + rax]
cmp byte [rcx + r9], 0x20
je 0x14002b174
inc r9
cmp r14, r9
jne 0x14002b160
mov rcx, rax
jmp 0x14002b1b3
add rcx, r9
cmp rcx, rax
je 0x14002b1b3
lea r9, [rcx + 1]
cmp r9, rax
jne 0x14002b198
jmp 0x14002b1b3
inc r9
cmp r9, rax
je 0x14002b1a8
movzx edx, byte [r9]
cmp dl, 0x20
je 0x14002b190
mov byte [rcx], dl
inc rcx
jmp 0x14002b190
mov r8, qword [rbx + 0x18]
mov rdx, qword [rbx]
mov r14, qword [rbx + 0x10]
cmp r8, 0x10
cmovb rdx, rbx
mov r9, rcx
sub r9, rdx
sub rax, rcx
mov rdx, r14
sub rdx, r9
cmp rdx, rax
cmovae rdx, rax
sub r14, rdx
mov r8, r14
sub r8, r9
inc r8
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbx + 0x10], r14
mov ebx, dword [rdi + 0xc]
test rbx, rbx
je 0x14002b30a
add rbx, rdi
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
mov rax, qword [rsp + 0x60]
lea r15, [rax + 0x20]
mov rcx, qword [rax + 0x38]
cmp rcx, r14
jae 0x14002b225
mov rcx, r15
mov rdx, r14
mov r9, rbx
call fcn.1400038c0
jmp 0x14002b246
cmp rcx, 0x10
jb 0x14002b22f
mov r15, qword [rax + 0x20]
mov qword [rax + 0x30], r14
mov rcx, r15
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memmove
mov byte [r15 + r14], 0
mov rbx, qword [rsp + 0x60]
lea rax, [rbx + 0x20]
mov rdx, qword [rbx + 0x38]
cmp rdx, 0x10
mov r9, qword [rbx + 0x20]
mov r14, qword [rbx + 0x30]
mov rcx, rax
cmovae rcx, r9
lea r8, [rcx + r14]
test r14, r14
lea r15, [rsp + 0x1ea]
je 0x14002b297
xor r10d, r10d
nop word [rax + rax]
cmp byte [rcx + r10], 0x20
je 0x14002b294
inc r10
cmp r14, r10
jne 0x14002b280
mov rcx, r8
jmp 0x14002b2d4
add rcx, r10
cmp rcx, r8
je 0x14002b2d4
lea r10, [rcx + 1]
cmp r10, r8
jne 0x14002b2b8
jmp 0x14002b2d4
inc r10
cmp r10, r8
je 0x14002b2c8
movzx edx, byte [r10]
cmp dl, 0x20
je 0x14002b2b0
mov byte [rcx], dl
inc rcx
jmp 0x14002b2b0
mov rdx, qword [rbx + 0x38]
mov r9, qword [rbx + 0x20]
mov r14, qword [rbx + 0x30]
cmp rdx, 0x10
cmovae rax, r9
mov r9, rcx
sub r9, rax
sub r8, rcx
mov rdx, r14
sub rdx, r9
cmp rdx, r8
cmovae rdx, r8
sub r14, rdx
mov r8, r14
sub r8, r9
inc r8
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbx + 0x30], r14
mov ebx, dword [rdi + 0x10]
test rbx, rbx
je 0x14002b42a
add rbx, rdi
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
mov rax, qword [rsp + 0x60]
lea r15, [rax + 0x40]
mov rcx, qword [rax + 0x58]
cmp rcx, r14
jae 0x14002b346
mov rcx, r15
mov rdx, r14
mov r9, rbx
call fcn.1400038c0
jmp 0x14002b367
cmp rcx, 0x10
jb 0x14002b350
mov r15, qword [rax + 0x40]
mov qword [rax + 0x50], r14
mov rcx, r15
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memmove
mov byte [r15 + r14], 0
mov rbx, qword [rsp + 0x60]
lea rax, [rbx + 0x40]
mov rdx, qword [rbx + 0x58]
cmp rdx, 0x10
mov r9, qword [rbx + 0x40]
mov r14, qword [rbx + 0x50]
mov rcx, rax
cmovae rcx, r9
lea r8, [rcx + r14]
test r14, r14
lea r15, [rsp + 0x1ea]
je 0x14002b3b7
xor r10d, r10d
nop dword [rax + rax]
cmp byte [rcx + r10], 0x20
je 0x14002b3b4
inc r10
cmp r14, r10
jne 0x14002b3a0
mov rcx, r8
jmp 0x14002b3f4
add rcx, r10
cmp rcx, r8
je 0x14002b3f4
lea r10, [rcx + 1]
cmp r10, r8
jne 0x14002b3d8
jmp 0x14002b3f4
inc r10
cmp r10, r8
je 0x14002b3e8
movzx edx, byte [r10]
cmp dl, 0x20
je 0x14002b3d0
mov byte [rcx], dl
inc rcx
jmp 0x14002b3d0
mov rdx, qword [rbx + 0x58]
mov r9, qword [rbx + 0x40]
mov r14, qword [rbx + 0x50]
cmp rdx, 0x10
cmovae rax, r9
mov r9, rcx
sub r9, rax
sub r8, rcx
mov rdx, r14
sub rdx, r9
cmp rdx, r8
cmovae rdx, r8
sub r14, rdx
mov r8, r14
sub r8, r9
inc r8
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbx + 0x50], r14
mov eax, dword [rdi + 0x14]
test rax, rax
je 0x14002b54a
mov rbx, rdi
add rbx, rax
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
mov rax, qword [rsp + 0x60]
lea r15, [rax + 0x60]
mov rcx, qword [rax + 0x78]
cmp rcx, r14
jae 0x14002b469
mov rcx, r15
mov rdx, r14
mov r9, rbx
call fcn.1400038c0
jmp 0x14002b48a
cmp rcx, 0x10
jb 0x14002b473
mov r15, qword [rax + 0x60]
mov qword [rax + 0x70], r14
mov rcx, r15
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memmove
mov byte [r15 + r14], 0
mov rbx, qword [rsp + 0x60]
lea rax, [rbx + 0x60]
mov rdx, qword [rbx + 0x78]
cmp rdx, 0x10
mov r9, qword [rbx + 0x60]
mov r14, qword [rbx + 0x70]
mov rcx, rax
cmovae rcx, r9
lea r8, [rcx + r14]
test r14, r14
lea r15, [rsp + 0x1ea]
je 0x14002b4d7
xor r10d, r10d
nop
cmp byte [rcx + r10], 0x20
je 0x14002b4d4
inc r10
cmp r14, r10
jne 0x14002b4c0
mov rcx, r8
jmp 0x14002b514
add rcx, r10
cmp rcx, r8
je 0x14002b514
lea r10, [rcx + 1]
cmp r10, r8
jne 0x14002b4f8
jmp 0x14002b514
inc r10
cmp r10, r8
je 0x14002b508
movzx edx, byte [r10]
cmp dl, 0x20
je 0x14002b4f0
mov byte [rcx], dl
inc rcx
jmp 0x14002b4f0
mov rdx, qword [rbx + 0x78]
mov r9, qword [rbx + 0x60]
mov r14, qword [rbx + 0x70]
cmp rdx, 0x10
cmovae rax, r9
mov r9, rcx
sub r9, rax
sub r8, rcx
mov rdx, r14
sub rdx, r9
cmp rdx, r8
cmovae rdx, r8
sub r14, rdx
mov r8, r14
sub r8, r9
inc r8
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbx + 0x70], r14
mov rdx, qword [rsp + 0x190]
cmp rdx, qword [rsp + 0x198]
je 0x14002b578
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x60], 0
mov qword [rdx], rax
add qword [rsp + 0x190], 8
jmp 0x14002b58a
lea rcx, [rsp + 0x188]
lea r8, [rsp + 0x60]
call fcn.140030300
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x14002b5a4
mov rcx, rbx
call fcn.140030700
mov rcx, rbx
call fcn.1400d1e64
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.ntdll.dll_NtClose]
mov rax, qword [rsp + 0x148]
cmp rax, 8
jb 0x14002ac85
mov rcx, qword [rsp + 0x130]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002ac80
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
jmp 0x14002ac80
mov word [rsp + 0x130], 2
mov cx, 0x76c
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x132], ax
lea rcx, str.239.255.255.250
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x134], eax
mov qword [rsp + 0x138], 0
mov ecx, 2
mov edx, 2
mov r8d, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.WS2_32.dll_socket]
cmp rax, 0xffffffffffffffff
je 0x14002ba1d
mov rdi, rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
lea rdx, str.M_SEARCH__HTTP_1.1_r_nHOST:239.255.255.250:1900_r_nST:upnp:rootdevice_r_nMX:2_r_nMAN:_ssdp:discover__r_n_r_n
mov rcx, rdi
mov r8d, 0x61
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x14002ba14
mov qword [rsp + 0x11c0], 0xa
mov dword [rsp + 0x20], 8
lea r9, [rsp + 0x11c0]
mov rcx, rdi
mov edx, 0xffff
mov r8d, 0x1006
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14002ba14
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
mov rcx, rax
cmp rbx, 0x989680
jne 0x14002de56
imul rax, rcx, 0x64
movabs rdx, 0x7ffffffffffffffe
lea rsi, [rdx - 0x3b9ac9ff]
lea rcx, [rax + 0x3b9aca00]
inc rdx
cmp rax, rsi
cmovl rdx, rcx
mov qword [rsp + 0x1c0], rdx
lea rbx, [rsp + 0x1c0]
mov rcx, rbx
call fcn.140028da0
xorps xmm6, xmm6
jmp 0x14002b749
test r12d, r12d
jle 0x14002ba14
mov ecx, 0x40
call fcn.1400d1e28
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
movups xmmword [rax + 0x20], xmm6
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x110], rax
mov r8d, 0x1000
mov rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
movaps xmmword [rsp + 0x1200], xmm6
mov dword [rsp + 0xa0], reloc.WS2_32.dll_recv
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1200]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbx
mov r8d, 0x1000
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recvfrom]
mov r12d, eax
test eax, eax
jle 0x14002b8f5
mov r15, qword [rsp + 0x110]
mov r14d, r12d
xor r13d, r13d
jmp 0x14002b805
mov edx, 1
mov rcx, r15
call fcn.140030860
inc r13
cmp r14, r13
je 0x14002b840
movzx r9d, byte [rsp + r13 + 0x1c0]
mov rax, qword [r15 + 0x10]
mov rcx, qword [r15 + 0x18]
cmp rax, rcx
jae 0x14002b7f0
lea rdx, [rax + 1]
mov qword [r15 + 0x10], rdx
mov rdx, r15
cmp rcx, 0x10
jb 0x14002b82f
mov rdx, qword [r15]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x14002b7fd
mov ecx, dword [rsp + 0x1204]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r15, rax
mov rbp, qword [rsp + 0x110]
lea r14, [rbp + 0x20]
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r13, rax
mov rax, qword [rbp + 0x38]
cmp rax, r13
jae 0x14002b880
mov rcx, r14
mov rdx, r13
mov r9, r15
call fcn.1400038c0
jmp 0x14002b8a1
cmp rax, 0x10
jb 0x14002b88a
mov r14, qword [rbp + 0x20]
mov qword [rbp + 0x30], r13
mov rcx, r14
mov rdx, r15
mov r8, r13
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + r13], 0
mov rdx, qword [rsp + 0x1a8]
cmp rdx, qword [rsp + 0x1b0]
je 0x14002b8e0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], 0
mov qword [rdx], rax
add qword [rsp + 0x1a8], 8
jmp 0x14002b8f5
lea rcx, [rsp + 0x1a0]
lea r8, [rsp + 0x110]
call fcn.1400309b0
call sub.MSVCP140.dll__Query_perf_frequency
mov r15, rax
call sub.MSVCP140.dll__Query_perf_counter
mov rcx, rax
cmp r15, 0x989680
jne 0x14002b965
imul rax, rcx, 0x64
lea rcx, [rax + 0x3b9aca00]
movabs rdx, 0x7ffffffffffffffe
inc rdx
cmp rax, rsi
cmovl rdx, rcx
mov qword [rsp + 0x11e0], rdx
lea rcx, [rsp + 0x11e0]
call fcn.140028da0
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x14002b740
lea rcx, [rsp + 0x110]
call fcn.140030db0
jmp 0x14002b740
mov rax, rcx
cmp r15, 0x16e3600
jne 0x14002b9cc
movabs r9, 0xb2f4fc0794908cf3
imul r9
mov r8, rdx
add r8, rcx
mov rax, r8
shr rax, 0x3f
sar r8, 0x18
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
imul rcx, rcx, 0x3b9aca00
mov rax, rcx
imul r9
mov rax, rdx
imul rdx, r8, 0x3b9aca00
add rax, rcx
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x18
add rax, rcx
add rax, rdx
jmp 0x14002b912
or rax, r15
shr rax, 0x20
je 0x14002b9df
mov rax, rcx
cqo
idiv r15
jmp 0x14002b9e6
mov eax, ecx
xor edx, edx
div r15d
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, r15
or rdx, rax
shr rdx, 0x20
je 0x14002ba07
cqo
idiv r15
jmp 0x14002ba0c
xor edx, edx
div r15d
add rax, rcx
jmp 0x14002b912
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
xorps xmm6, xmm6
movaps xmmword [rsp + 0xa0], xmm6
mov qword [rsp + 0xb0], 0
movaps xmmword [rsp + 0x80], xmm6
lea r8, [rsp + 0x80]
mov ecx, reloc.WS2_32.dll_inet_addr
xor edx, edx
call fcn.14003dab0
test rax, rax
je 0x14002c530
mov r13, rax
movaps xmmword [rsp + 0x110], xmm6
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x68], 0
mov ecx, 0x48
call fcn.1400d1e28
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x60], rax
cmp dword [r13], 0
je 0x14002c4c0
movabs rsi, 0x7ffffffffffffffe
xorps xmm7, xmm7
lea r12, [rsp + 0x130]
xor ebp, ebp
jmp 0x14002badf
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
inc rbp
mov eax, dword [r13]
cmp rbp, rax
jae 0x14002c4c0
movaps xmmword [rsp + 0x1c0], xmm7
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x1e0], 0
imul rax, rbp, 0x128
lea rdi, [rax + r13]
add rdi, 0x30
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0x138], rax
call fcn.1400d2708
lea rdi, [rsp + 0x1200]
mov rcx, rdi
mov edx, eax
mov r8, r12
call fcn.1400317e0
cmp qword [rsp + 0x1218], 8
mov rcx, rdi
jb 0x14002bb62
mov rcx, qword [rsp + 0x1200]
mov rax, qword [rsp + 0x1210]
lea rdi, [rcx + rax*2]
mov rdx, rdi
call fcn.140031d30
mov rdx, rdi
cmp rax, rdi
je 0x14002bbb3
mov rdx, rax
jmp 0x14002bb99
add rdx, 2
cmp rdx, rdi
je 0x14002bbb0
movzx eax, word [rdx]
cmp eax, 0x5c
je 0x14002bb90
cmp eax, 0x2f
je 0x14002bb90
jmp 0x14002bbb3
mov rdx, rdi
mov rax, rdi
nop word cs:[rax + rax]
cmp rax, rdx
je 0x14002bbde
movzx ecx, word [rax - 2]
add rax, 0xfffffffffffffffe
cmp ecx, 0x5c
je 0x14002bbd7
cmp ecx, 0x2f
jne 0x14002bbc0
add rax, 2
mov rdx, rax
sub rdi, rdx
sar rdi, 1
movaps xmmword [rsp + 0x11d0], xmm7
movaps xmmword [rsp + 0x11c0], xmm7
lea r15, [rsp + 0x11c0]
mov rcx, r15
mov r8, rdi
call fcn.14002fbb0
movaps xmmword [rsp + 0x11f0], xmm7
movaps xmmword [rsp + 0x11e0], xmm7
mov rdi, qword [rsp + 0x11d0]
cmp qword [rsp + 0x11d8], 8
jb 0x14002bc32
mov r15, qword [rsp + 0x11c0]
cmp rdi, rsi
ja 0x14002debd
cmp rdi, 7
ja 0x14002bc70
mov qword [rsp + 0x11f0], rdi
mov qword [rsp + 0x11f8], 7
movdqu xmm0, xmmword [r15]
movdqa xmmword [rsp + 0x11e0], xmm0
mov eax, 7
jmp 0x14002bd14
mov qword [rsp + 0x11f8], 7
mov r14, rdi
or r14, 7
cmp r14, rsi
ja 0x14002ded5
cmp r14, 0xb
mov eax, 0xa
cmovb r14, rax
lea rcx, [r14 + r14]
cmp r14, 0x7ff
jb 0x14002bcd0
lea rax, [rsi - 0x12]
cmp r14, rax
jae 0x14002ded5
add rcx, 0x29
call fcn.1400d1e28
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14002bcdc
add rcx, 2
call fcn.1400d1e28
mov rcx, rax
mov qword [rsp + 0x11e0], rcx
mov qword [rsp + 0x11f0], rdi
mov qword [rsp + 0x11f8], r14
lea r8, [rdi + rdi]
add r8, 2
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0x11f0]
mov rax, qword [rsp + 0x11f8]
mov rdx, qword [rsp + 0x11e0]
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x140], xmm7
test rdi, rdi
je 0x14002bd80
cmp rax, 8
lea rax, [rsp + 0x11e0]
cmovb rdx, rax
lea r8, [rdx + rdi*2]
mov rcx, r12
mov r9, rdi
call fcn.14002fad0
mov rbx, qword [rsp + 0x148]
mov rdi, r12
cmp rbx, 0x10
jb 0x14002bd69
mov rdi, qword [rsp + 0x130]
mov r15, qword [rsp + 0x140]
jmp 0x14002bd9f
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x130], 0
mov ebx, reloc.WS2_32.dll_ntohs
xor r15d, r15d
mov rdi, r12
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
mov r8, rax
sub r8, r15
jbe 0x14002bdd0
sub rbx, r15
cmp rbx, r8
jae 0x14002bde0
mov byte [rsp + 0x20], 0
mov rcx, r12
mov rdx, r8
mov r9, r8
call fcn.140007e50
jmp 0x14002bdfa
mov qword [rsp + 0x140], r14
jmp 0x14002bdf5
mov qword [rsp + 0x140], r14
add r15, rdi
mov rcx, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [rdi + r14], 0
mov rdi, qword [rsp + 0x130]
movups xmm8, xmmword [rsp + 0x138]
mov r14, qword [rsp + 0x148]
mov rax, qword [rsp + 0x1d8]
cmp rax, 0x10
jb 0x14002be5a
mov rcx, qword [rsp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002be55
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov qword [rsp + 0x1c0], rdi
movups xmmword [rsp + 0x1c8], xmm8
mov qword [rsp + 0x1d8], r14
mov rax, qword [rsp + 0x11f8]
cmp rax, 8
jb 0x14002bec1
mov rcx, qword [rsp + 0x11e0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002bebc
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov qword [rsp + 0x11f0], 0
mov qword [rsp + 0x11f8], 7
mov word [rsp + 0x11e0], 0
mov rax, qword [rsp + 0x11d8]
cmp rax, 8
jb 0x14002bf31
mov rcx, qword [rsp + 0x11c0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002bf2c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
movaps xmmword [rsp + 0x11f0], xmm7
movaps xmmword [rsp + 0x11e0], xmm7
mov r14, qword [rsp + 0x1210]
cmp qword [rsp + 0x1218], 8
lea rdi, [rsp + 0x1200]
jb 0x14002bf64
mov rdi, qword [rsp + 0x1200]
cmp r14, rsi
ja 0x14002debd
cmp r14, 7
ja 0x14002bfa0
mov qword [rsp + 0x11f0], r14
mov qword [rsp + 0x11f8], 7
movdqu xmm0, xmmword [rdi]
movdqa xmmword [rsp + 0x11e0], xmm0
jmp 0x14002c034
mov qword [rsp + 0x11f8], 7
mov r15, r14
or r15, 7
cmp r15, rsi
ja 0x14002ded5
cmp r15, 0xb
mov eax, 0xa
cmovb r15, rax
lea rcx, [r15 + r15]
cmp r15, 0x7ff
jb 0x14002c000
lea rax, [rsi - 0x12]
cmp r15, rax
jae 0x14002ded5
add rcx, 0x29
call fcn.1400d1e28
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14002c00c
add rcx, 2
call fcn.1400d1e28
mov rcx, rax
mov qword [rsp + 0x11e0], rcx
mov qword [rsp + 0x11f0], r14
mov qword [rsp + 0x11f8], r15
lea r8, [r14 + r14]
add r8, 2
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x20], 0
mov rcx, r12
lea rdx, [rsp + 0x11e0]
lea r8, [rsp + 0x110]
lea r9, [rsp + 0x60]
call fcn.140030e70
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x130], 0
mov rdx, qword [rsp + 0x1e0]
mov qword [rsp + 0x1e0], rax
test rdx, rdx
je 0x14002c0a1
lea rcx, [rsp + 0x1e0]
call fcn.140033430
mov rdx, qword [rsp + 0x130]
test rdx, rdx
je 0x14002c0a1
mov rcx, r12
call fcn.140033430
movaps xmmword [rsp + 0x11d0], xmm7
movaps xmmword [rsp + 0x11c0], xmm7
mov rdi, qword [rsp + 0x1210]
cmp qword [rsp + 0x1218], 8
lea r15, [rsp + 0x1200]
jb 0x14002c0d4
mov r15, qword [rsp + 0x1200]
cmp rdi, rsi
ja 0x14002debd
cmp rdi, 7
ja 0x14002c110
mov qword [rsp + 0x11d0], rdi
mov qword [rsp + 0x11d8], 7
movdqu xmm0, xmmword [r15]
movdqa xmmword [rsp + 0x11c0], xmm0
mov eax, 7
jmp 0x14002c1b4
mov qword [rsp + 0x11d8], 7
mov r14, rdi
or r14, 7
cmp r14, rsi
ja 0x14002ded5
cmp r14, 0xb
mov eax, 0xa
cmovb r14, rax
lea rcx, [r14 + r14]
cmp r14, 0x7ff
jb 0x14002c170
lea rax, [rsi - 0x12]
cmp r14, rax
jae 0x14002ded5
add rcx, 0x29
call fcn.1400d1e28
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14002c17c
add rcx, 2
call fcn.1400d1e28
mov rcx, rax
mov qword [rsp + 0x11c0], rcx
mov qword [rsp + 0x11d0], rdi
mov qword [rsp + 0x11d8], r14
lea r8, [rdi + rdi]
add r8, 2
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0x11d0]
mov rax, qword [rsp + 0x11d8]
mov rdx, qword [rsp + 0x11c0]
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x140], xmm7
test rdi, rdi
je 0x14002c220
cmp rax, 8
lea rax, [rsp + 0x11c0]
cmovb rdx, rax
lea r8, [rdx + rdi*2]
mov rcx, r12
mov r9, rdi
call fcn.14002fad0
mov rbx, qword [rsp + 0x148]
mov rdi, r12
cmp rbx, 0x10
jb 0x14002c209
mov rdi, qword [rsp + 0x130]
mov r15, qword [rsp + 0x140]
jmp 0x14002c23f
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x130], 0
mov ebx, reloc.WS2_32.dll_ntohs
xor r15d, r15d
mov rdi, r12
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
mov r8, rax
sub r8, r15
jbe 0x14002c270
sub rbx, r15
cmp rbx, r8
jae 0x14002c280
mov byte [rsp + 0x20], 0
mov rcx, r12
mov rdx, r8
mov r9, r8
call fcn.140007e50
jmp 0x14002c29a
mov qword [rsp + 0x140], r14
jmp 0x14002c295
mov qword [rsp + 0x140], r14
add r15, rdi
mov rcx, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [rdi + r14], 0
movzx edi, byte [rsp + 0x130]
lea rcx, [rsp + 0x131]
mov rax, qword [rcx]
mov rcx, qword [rcx + 7]
mov qword [rsp + 0x1220], rax
mov qword [rsp + 0x1227], rcx
movaps xmm8, xmmword [rsp + 0x140]
mov r14, qword [rsp + 0x1e0]
mov rax, qword [r14 + 0x18]
cmp rax, 0x10
jb 0x14002c310
mov rcx, qword [r14]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002c30b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov byte [r14], dil
mov rax, qword [rsp + 0x1220]
mov rcx, qword [rsp + 0x1227]
mov qword [r14 + 1], rax
mov qword [r14 + 8], rcx
movups xmmword [r14 + 0x10], xmm8
mov rax, qword [rsp + 0x11d8]
cmp rax, 8
jb 0x14002c37e
mov rcx, qword [rsp + 0x11c0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002c379
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov rdx, qword [rsp + 0xa8]
cmp rdx, qword [rsp + 0xb0]
je 0x14002c3b0
mov rcx, rdx
lea rdx, [rsp + 0x1c0]
call fcn.140033780
add qword [rsp + 0xa8], 0x28
jmp 0x14002c3c5
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x1c0]
call fcn.1400334f0
mov rax, qword [rsp + 0x11f8]
cmp rax, 8
jb 0x14002c413
mov rcx, qword [rsp + 0x11e0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002c40e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov rax, qword [rsp + 0x1218]
cmp rax, 8
jb 0x14002c461
mov rcx, qword [rsp + 0x1200]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002c45c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov rdx, qword [rsp + 0x1e0]
test rdx, rdx
je 0x14002c47b
lea rcx, [rsp + 0x1e0]
call fcn.140033430
mov rax, qword [rsp + 0x1d8]
cmp rax, 0x10
jb 0x14002bacf
mov rcx, qword [rsp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002baca
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x14002bac0
jmp 0x14002de50
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x60]
mov r8, qword [rax + 8]
lea rcx, [rsp + 0x60]
mov rdx, rcx
call fcn.140033ad0
mov rcx, qword [rsp + 0x60]
mov edx, 0x48
call fcn.1400d1e6c
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x14002c530
mov rdx, qword [rsp + 0x120]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14002c52b
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14002de50
add rdx, 0x27
mov rcx, rax
call fcn.1400d1e6c
movaps xmmword [rsp + 0x80], xmm6
mov qword [rsp + 0x90], 0
movaps xmmword [rsp + 0x110], xmm6
lea r8, [rsp + 0x110]
mov ecx, 5
xor edx, edx
call fcn.14003dab0
test rax, rax
je 0x14002cc04
mov rsi, rax
xorps xmm6, xmm6
movaps xmmword [rsp + 0x11e0], xmm6
mov qword [rsp + 0x11f0], 0
mov qword [rsp + 0x68], 0
mov ecx, 0x48
call fcn.1400d1e28
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rsi
cmp dword [rsi], 0
je 0x14002cb92
lea r15, [rsp + 0x1200]
lea r12, [rsp + 0x130]
lea rbp, [rsp + 0x1c0]
mov rsi, qword [rsp + 0x58]
jmp 0x14002c5fb
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
cmp dword [rsi], 0
je 0x14002cb92
movzx r8d, word [rsi + 0x38]
mov rdx, qword [rsi + 0x40]
movaps xmmword [rsp + 0x1210], xmm6
movaps xmmword [rsp + 0x1200], xmm6
mov rcx, r15
call fcn.14002fbb0
cmp word [rsi + 0x38], 0
je 0x14002c660
mov rax, qword [rsp + 0x1210]
mov r9, qword [rsp + 0x1218]
cmp r9, rax
jne 0x14002c670
mov word [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov edx, 1
mov rcx, r15
call fcn.140033b70
jmp 0x14002c69c
mov eax, dword [rsi]
add rsi, rax
jmp 0x14002cb49
mov rcx, r15
cmp r9, 8
jb 0x14002c681
mov rcx, qword [rsp + 0x1200]
lea rdx, [rax + 1]
mov qword [rsp + 0x1210], rdx
movzx edx, word [rcx + rax*2]
mov word [rcx + rax*2 + 2], dx
mov word [rcx + rax*2], 0
mov r10, qword [rsp + 0x1200]
movaps xmmword [rsp + 0x1c0], xmm6
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], reloc.WS2_32.dll_ntohs
lea rax, [rsp + 0x1e8]
movups xmmword [rax], xmm6
movdqu xmm0, xmmword [rsi + 0x50]
pshufd xmm0, xmm0, 0xe8
movq qword [rsp + 0x1e0], xmm0
mov rax, qword [rsi + 0x20]
movabs rcx, 0xfe624e212ac18000
add rax, rcx
movabs rcx, 0xd6bf94d5e57a42bd
mul rcx
mov rax, qword [rsp + 0x1218]
shr rdx, 0x17
mov qword [rsp + 0x1e8], rdx
mov r9, qword [rsp + 0x1210]
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm6
test r9, r9
je 0x14002c770
cmp rax, 8
cmovb r10, r15
lea r8, [r10 + r9*2]
mov rcx, r12
mov rdx, r10
call fcn.14002fad0
mov r13, qword [rsp + 0x148]
mov rdi, r12
cmp r13, 0x10
jb 0x14002c761
mov rdi, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x140]
jmp 0x14002c78f
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x130], 0
mov r13d, reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov rdi, r12
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
mov r8, rax
sub r8, rbx
jbe 0x14002c7c0
sub r13, rbx
cmp r13, r8
jae 0x14002c7ca
mov byte [rsp + 0x20], 0
mov rcx, r12
mov rdx, r8
mov r9, r8
call fcn.140007e50
jmp 0x14002c7e4
mov qword [rsp + 0x140], r14
jmp 0x14002c7df
mov qword [rsp + 0x140], r14
add rbx, rdi
mov rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [rdi + r14], 0
mov rdi, qword [rsp + 0x130]
movups xmm7, xmmword [rsp + 0x138]
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x1d8]
cmp rax, 0x10
jb 0x14002c843
mov rcx, qword [rsp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002c83e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov qword [rsp + 0x1c0], rdi
movups xmmword [rsp + 0x1c8], xmm7
mov qword [rsp + 0x1d8], rbx
mov ecx, 0x1000
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
mov rax, qword [rsi + 0x50]
mov qword [rsp + 0x11c0], rax
mov dword [rsp + 0x11c8], 0x10000000
mov qword [rsp + 0x11d0], rdi
lea rax, [rsp + 0x11c0]
mov qword [rsp + 0x1220], rax
mov qword [rsp + 0x1228], 0x18
mov ecx, 0x58
xor edx, edx
lea r8, [rsp + 0x1220]
call fcn.14003dab0
test rax, rax
je 0x14002c950
mov rbx, rax
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x11c0], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x11d0], rax
movzx r8d, word [rsp + 0x11c8]
test r8, r8
je 0x14002c95b
shr r8, 1
mov rdx, qword [rsp + 0x11d0]
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm6
mov rcx, r12
call fcn.14002fbb0
mov rax, qword [rsp + 0x140]
mov r9, qword [rsp + 0x148]
cmp r9, rax
jne 0x14002c9ae
mov word [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov edx, 1
mov rcx, r12
call fcn.140033b70
jmp 0x14002c9da
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14002c96c
mov rcx, rdi
mov rdi, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rdi
mov rcx, rbx
call rdi
mov rdx, qword [rsp + 0x88]
cmp rdx, qword [rsp + 0x90]
je 0x14002c994
mov rcx, rdx
mov rdx, rbp
call fcn.140034090
add qword [rsp + 0x88], 0x38
jmp 0x14002c9a4
lea rcx, [rsp + 0x80]
mov r8, rbp
call fcn.140033e00
mov eax, dword [rsi]
add rsi, rax
jmp 0x14002cae8
mov rcx, r12
cmp r9, 8
jb 0x14002c9bf
mov rcx, qword [rsp + 0x130]
lea rdx, [rax + 1]
mov qword [rsp + 0x140], rdx
movzx edx, word [rcx + rax*2]
mov word [rcx + rax*2 + 2], dx
mov word [rcx + rax*2], 0
mov byte [rsp + 0x20], 1
lea rcx, [rsp + 0x108]
mov rdx, r12
lea r8, [rsp + 0x11e0]
lea r9, [rsp + 0x60]
call fcn.140030e70
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x108], 0
mov rdx, qword [rsp + 0x1f0]
mov qword [rsp + 0x1f0], rax
test rdx, rdx
je 0x14002ca4c
lea rcx, [rsp + 0x1f0]
call fcn.140033430
mov rdx, qword [rsp + 0x108]
test rdx, rdx
je 0x14002ca4c
lea rcx, [rsp + 0x108]
call fcn.140033430
mov rdx, qword [rsp + 0x88]
cmp rdx, qword [rsp + 0x90]
je 0x14002ca74
mov rcx, rdx
mov rdx, rbp
call fcn.140034090
add qword [rsp + 0x88], 0x38
jmp 0x14002ca84
lea rcx, [rsp + 0x80]
mov r8, rbp
call fcn.140033e00
mov rcx, rdi
mov rdi, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rdi
mov rcx, rbx
call rdi
mov edi, dword [rsi]
mov rax, qword [rsp + 0x148]
cmp rax, 8
jb 0x14002cae5
mov rcx, qword [rsp + 0x130]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002cae0
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
add rsi, rdi
mov rdx, qword [rsp + 0x1f0]
test rdx, rdx
je 0x14002cb02
lea rcx, [rsp + 0x1f0]
call fcn.140033430
mov rax, qword [rsp + 0x1d8]
cmp rax, 0x10
jb 0x14002cb49
mov rcx, qword [rsp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002cb44
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov rax, qword [rsp + 0x1218]
cmp rax, 8
jb 0x14002c5f2
mov rcx, qword [rsp + 0x1200]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002c5ed
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x14002c5e0
jmp 0x14002de50
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x60]
mov r8, qword [rax + 8]
lea rcx, [rsp + 0x60]
mov rdx, rcx
call fcn.140033ad0
mov rcx, qword [rsp + 0x60]
mov edx, 0x48
call fcn.1400d1e6c
mov rcx, qword [rsp + 0x11e0]
test rcx, rcx
je 0x14002cc04
mov rdx, qword [rsp + 0x11f0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14002cbff
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14002de50
add rdx, 0x27
mov rcx, rax
call fcn.1400d1e6c
xorps xmm6, xmm6
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x70], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x58], rax
mov rax, qword [rax + 0x18]
test rax, rax
je 0x14002d62b
cmp byte [rax + 4], 0
je 0x14002d62b
xorps xmm7, xmm7
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x1228], 0
mov ecx, 0x48
call fcn.1400d1e28
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x1220], rax
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
mov r15, qword [rcx + 0x10]
add rcx, 0x10
cmp r15, rcx
je 0x14002d5c4
lea rbp, [rsp + 0x1200]
lea r13, str.___
lea r12, [rsp + 0x130]
jmp 0x14002cceb
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov r15, qword [r15]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
add rax, 0x10
cmp r15, rax
je 0x14002d5b8
movzx r8d, word [r15 + 0x48]
shr r8, 1
mov rdx, qword [r15 + 0x50]
movaps xmmword [rsp + 0x1210], xmm7
movaps xmmword [rsp + 0x1200], xmm7
mov rcx, rbp
call fcn.14002fbb0
mov rax, qword [rsp + 0x1210]
mov r9, qword [rsp + 0x1218]
cmp r9, rax
jne 0x14002cd50
mov word [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov edx, 1
mov rcx, rbp
call fcn.140033b70
jmp 0x14002cd7c
mov rcx, rbp
cmp r9, 8
jb 0x14002cd61
mov rcx, qword [rsp + 0x1200]
lea rdx, [rax + 1]
mov qword [rsp + 0x1210], rdx
movzx edx, word [rcx + rax*2]
mov word [rcx + rax*2 + 2], dx
mov word [rcx + rax*2], 0
mov rdi, qword [rsp + 0x1210]
mov rax, qword [rsp + 0x1218]
mov rbx, rbp
cmp rax, 8
jb 0x14002cd9d
mov rbx, qword [rsp + 0x1200]
movaps xmmword [rsp + 0x11f0], xmm7
movaps xmmword [rsp + 0x11e0], xmm7
movabs rcx, 0x7ffffffffffffffe
cmp rdi, rcx
ja 0x14002debd
cmp rdi, 7
ja 0x14002cdf0
mov qword [rsp + 0x11f0], rdi
mov qword [rsp + 0x11f8], 7
movdqu xmm0, xmmword [rbx]
movdqa xmmword [rsp + 0x11e0], xmm0
jmp 0x14002cea4
mov qword [rsp + 0x11f8], 7
mov r14, rdi
or r14, 7
movabs rax, 0x7ffffffffffffffe
cmp r14, rax
ja 0x14002ded5
cmp r14, 0xb
mov eax, 0xa
cmovb r14, rax
lea rcx, [r14 + r14]
cmp r14, 0x7ff
jb 0x14002ce60
movabs rax, 0x7ffffffffffffffe
add rax, 0xffffffffffffffee
cmp r14, rax
jae 0x14002ded5
add rcx, 0x29
call fcn.1400d1e28
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14002ce6c
add rcx, 2
call fcn.1400d1e28
mov rcx, rax
mov qword [rsp + 0x11e0], rcx
mov qword [rsp + 0x11f0], rdi
mov qword [rsp + 0x11f8], r14
lea r8, [rdi + rdi]
add r8, 2
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0x1210]
mov rax, qword [rsp + 0x1218]
mov rcx, rax
sub rcx, rdi
cmp rcx, 4
jae 0x14002cee0
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x28], 4
mov edx, 4
mov rcx, rbp
xor r9d, r9d
call fcn.140030120
jmp 0x14002cf75
lea rcx, [rdi + 4]
mov qword [rsp + 0x1210], rcx
cmp rax, 8
mov rcx, qword [rsp + 0x1200]
mov rbx, rbp
cmovae rbx, rcx
mov r14d, 4
lea rdx, [0x140122d1a]
cmp rbx, rdx
jae 0x14002cf2a
lea rdx, [rbx + rdi*2]
cmp rdx, r13
jb 0x14002cf2a
mov r14, rbx
sub r14, r13
jbe 0x14002cf27
sar r14, 1
jmp 0x14002cf2a
xor r14d, r14d
cmp rax, 8
cmovb rcx, rbp
add rcx, 8
lea r8, [rdi + rdi]
add r8, 2
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rdi, [r14 + r14]
mov rcx, rbx
mov rdx, r13
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [r14*2 + 8]
add rdx, r13
lea rcx, [rbx + r14*2]
mov r8d, 8
sub r8, rdi
call sub.VCRUNTIME140.dll_memcpy
movaps xmmword [rsp + 0x1c0], xmm7
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x210], 0
lea rax, [rsp + 0x1c0]
movups xmmword [rax + 0x3c], xmm7
movups xmmword [rax + 0x30], xmm7
movups xmmword [rax + 0x20], xmm7
mov byte [rsp + 0x20], 0
mov rcx, r12
mov rdx, rbp
lea r8, [rsp + 0x110]
lea r9, [rsp + 0x1220]
call fcn.140030e70
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x130], 0
mov rdx, qword [rsp + 0x210]
mov qword [rsp + 0x210], rax
test rdx, rdx
je 0x14002d020
lea rcx, [rsp + 0x210]
call fcn.140033430
mov rdx, qword [rsp + 0x130]
test rdx, rdx
je 0x14002d020
mov rcx, r12
call fcn.140033430
mov rax, qword [rsp + 0x11f8]
mov rdx, qword [rsp + 0x11e0]
mov r9, qword [rsp + 0x11f0]
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x140], xmm7
test r9, r9
je 0x14002d090
cmp rax, 8
lea rax, [rsp + 0x11e0]
cmovb rdx, rax
lea r8, [rdx + r9*2]
mov rcx, r12
call fcn.14002fad0
mov rsi, qword [rsp + 0x148]
mov rbx, r12
cmp rsi, 0x10
jb 0x14002d082
mov rbx, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x140]
jmp 0x14002d0ae
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x130], 0
mov esi, reloc.WS2_32.dll_ntohs
xor edi, edi
mov rbx, r12
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
mov r8, rax
sub r8, rdi
jbe 0x14002d0e0
sub rsi, rdi
cmp rsi, r8
jae 0x14002d0f0
mov byte [rsp + 0x20], 0
mov rcx, r12
mov rdx, r8
mov r9, r8
call fcn.140007e50
jmp 0x14002d10a
mov qword [rsp + 0x140], r14
jmp 0x14002d105
mov qword [rsp + 0x140], r14
add rdi, rbx
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [rbx + r14], 0
lea rsi, [rsp + 0x11c0]
movzx ebx, byte [rsp + 0x130]
lea rcx, [rsp + 0x131]
mov rax, qword [rcx]
mov rcx, qword [rcx + 7]
mov qword [rsp + 0x11c0], rax
mov qword [rsp + 0x11c7], rcx
movaps xmm8, xmmword [rsp + 0x140]
mov rdi, qword [rsp + 0x210]
mov rax, qword [rdi + 0x18]
cmp rax, 0x10
jb 0x14002d188
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002d183
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov byte [rdi], bl
mov rax, qword [rsp + 0x11c0]
mov rcx, qword [rsp + 0x11c7]
mov qword [rdi + 1], rax
mov qword [rdi + 8], rcx
movups xmmword [rdi + 0x10], xmm8
movzx r8d, word [r15 + 0x58]
shr r8, 1
mov rdx, qword [r15 + 0x60]
movaps xmmword [rsp + 0x11d0], xmm7
movaps xmmword [rsp + 0x11c0], xmm7
mov rcx, rsi
call fcn.14002fbb0
mov rax, qword [rsp + 0x11d0]
mov r9, qword [rsp + 0x11d8]
cmp r9, rax
jne 0x14002d200
mov word [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov edx, 1
mov rcx, rsi
call fcn.140033b70
jmp 0x14002d22c
mov rcx, rsi
cmp r9, 8
jb 0x14002d211
mov rcx, qword [rsp + 0x11c0]
lea rdx, [rax + 1]
mov qword [rsp + 0x11d0], rdx
movzx edx, word [rcx + rax*2]
mov word [rcx + rax*2 + 2], dx
mov word [rcx + rax*2], 0
mov rax, qword [rsp + 0x11d8]
mov rdx, qword [rsp + 0x11c0]
mov r9, qword [rsp + 0x11d0]
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x140], xmm7
test r9, r9
je 0x14002d290
cmp rax, 8
cmovb rdx, rsi
lea r8, [rdx + r9*2]
mov rcx, r12
call fcn.14002fad0
mov rsi, qword [rsp + 0x148]
mov rbx, r12
cmp rsi, 0x10
jb 0x14002d286
mov rbx, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x140]
jmp 0x14002d2ae
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x130], 0
mov esi, reloc.WS2_32.dll_ntohs
xor edi, edi
mov rbx, r12
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
mov r8, rax
sub r8, rdi
jbe 0x14002d2e0
sub rsi, rdi
cmp rsi, r8
jae 0x14002d2f0
mov byte [rsp + 0x20], 0
mov rcx, r12
mov rdx, r8
mov r9, r8
call fcn.140007e50
jmp 0x14002d30a
mov qword [rsp + 0x140], r14
jmp 0x14002d305
mov qword [rsp + 0x140], r14
add rdi, rbx
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [rbx + r14], 0
mov rdi, qword [rsp + 0x130]
movups xmm8, xmmword [rsp + 0x138]
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x1d8]
cmp rax, 0x10
jb 0x14002d36a
mov rcx, qword [rsp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002d365
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov qword [rsp + 0x1c0], rdi
movups xmmword [rsp + 0x1c8], xmm8
mov qword [rsp + 0x1d8], rbx
movdqu xmm0, xmmword [r15 + 0x30]
movdqa xmmword [rsp + 0x1e0], xmm0
mov eax, dword [r15 + 0x40]
mov qword [rsp + 0x1f0], rax
mov eax, dword [r15 + 0x80]
mov qword [rsp + 0x1f8], rax
mov rax, qword [r15 + 0xb8]
mov qword [rsp + 0x200], rax
mov eax, dword [r15 + 0x10c]
mov dword [rsp + 0x208], eax
mov rdx, qword [rsp + 0x68]
cmp rdx, qword [rsp + 0x70]
je 0x14002d460
movups xmmword [rdx + 0x10], xmm7
movups xmmword [rdx], xmm7
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x1c0], 0
lea rax, [rsp + 0x1c0]
movdqu xmm0, xmmword [rax + 0x20]
movups xmm1, xmmword [rax + 0x30]
movups xmm2, xmmword [rax + 0x3c]
movups xmmword [rdx + 0x3c], xmm2
movups xmmword [rdx + 0x30], xmm1
movdqu xmmword [rdx + 0x20], xmm0
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x210], 0
mov qword [rdx + 0x50], rax
add rdx, 0x58
mov qword [rsp + 0x68], rdx
jmp 0x14002d472
lea rcx, [rsp + 0x60]
lea r8, [rsp + 0x1c0]
call fcn.1400342a0
mov rax, qword [rsp + 0x11d8]
cmp rax, 8
jb 0x14002d4c0
mov rcx, qword [rsp + 0x11c0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002d4bb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov rdx, qword [rsp + 0x210]
test rdx, rdx
je 0x14002d4da
lea rcx, [rsp + 0x210]
call fcn.140033430
mov rax, qword [rsp + 0x1d8]
cmp rax, 0x10
jb 0x14002d521
mov rcx, qword [rsp + 0x1c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002d51c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov rax, qword [rsp + 0x11f8]
cmp rax, 8
jb 0x14002d56f
mov rcx, qword [rsp + 0x11e0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002d56a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov rax, qword [rsp + 0x1218]
cmp rax, 8
jb 0x14002ccd2
mov rcx, qword [rsp + 0x1200]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002cccd
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x14002ccc0
jmp 0x14002de50
mov rax, qword [rsp + 0x1220]
mov rax, qword [rax + 8]
lea rcx, [rsp + 0x1220]
mov rdx, rcx
mov r8, rax
call fcn.140033ad0
mov rcx, qword [rsp + 0x1220]
mov edx, 0x48
call fcn.1400d1e6c
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x14002d62b
mov rdx, qword [rsp + 0x120]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14002d626
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14002de50
add rdx, 0x27
mov rcx, rax
call fcn.1400d1e6c
mov dword [rsp + 0x1c0], 0
movups xmmword [rsp + 0x1c8], xmm6
movups xmmword [rsp + 0x1d8], xmm6
movups xmmword [rsp + 0x1e8], xmm6
movups xmmword [rsp + 0x1f8], xmm6
mov dword [rsp + 0x208], 0
movups xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x140], xmm6
mov ecx, 0x1c
call fcn.1400d1e28
mov dword [rax + 0x10], 0
mov ecx, dword [0x7ffe0260]
mov dword [rax], ecx
mov ecx, dword [0x7ffe026c]
mov dword [rax + 4], ecx
mov ecx, dword [0x7ffe0270]
mov dword [rax + 8], ecx
mov ecx, dword [0x7ffe0264]
mov dword [rax + 0xc], ecx
movzx ecx, byte [0x7ffe02d4]
mov byte [rax + 0x10], cl
mov ecx, dword [0x7ffe02c4]
mov dword [rax + 0x14], ecx
mov ecx, dword [0x7ffe02f0]
mov dword [rax + 0x18], ecx
mov qword [rsp + 0x130], rax
mov rsi, qword gs:[0x60]
mov ecx, 0x18
call fcn.1400d1e28
mov dword [rax], 0
movzx ecx, byte [rsi + 2]
mov byte [rax], cl
mov ecx, dword [rsi + 0xbc]
mov dword [rax + 4], ecx
mov ecx, dword [rsi + 0x118]
mov dword [rax + 0xc], ecx
mov ecx, dword [rsi + 0x11c]
mov dword [rax + 0x10], ecx
movzx ecx, word [rsi + 0x120]
mov dword [rax + 8], ecx
mov rcx, qword [rsi + 0x20]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x14], ecx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x11e0], 8
lea rax, [rsp + 0x11e0]
mov qword [rsp + 0x1200], rax
mov qword [rsp + 0x1208], 8
lea r8, [rsp + 0x1200]
mov ecx, 0x67
xor edx, edx
call fcn.14003dab0
test rax, rax
je 0x14002d786
mov rcx, qword [rax]
mov qword [rsp + 0x11e0], rcx
shr rcx, 0x20
mov dword [rsp + 0x158], ecx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x11e0], xmm6
lea r8, [rsp + 0x11e0]
mov ecx, __WSAFDIsSet
xor edx, edx
call fcn.14003dab0
test rax, rax
je 0x14002d7ed
mov rdi, rax
mov ecx, 3
call fcn.1400d1e28
movzx ecx, byte [rdi]
mov byte [rax], cl
movzx ecx, byte [rdi + 1]
mov byte [rax + 1], cl
movzx ecx, byte [rdi + 2]
mov byte [rax + 2], cl
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x140], rax
test rcx, rcx
je 0x14002d7e4
call fcn.1400d1e64
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
movaps xmmword [rsp + 0x11c0], xmm6
lea rax, [rsp + 0x11c0]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], reloc.WS2_32.dll_recv
lea r8, [rsp + 0x110]
mov ecx, 0x5b
xor edx, edx
call fcn.14003dab0
test rax, rax
je 0x14002d884
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x11c0], xmm0
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, 3
call fcn.1400d1e28
movzx ecx, byte [rsp + 0x11c0]
mov byte [rax], cl
movzx ecx, byte [rsp + 0x11c1]
mov byte [rax + 1], cl
movzx ecx, byte [rsp + 0x11c2]
mov byte [rax + 2], cl
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x148], rax
test rcx, rcx
je 0x14002d884
call fcn.1400d1e64
xorps xmm6, xmm6
movaps xmmword [rsp + 0x11c0], xmm6
lea r8, [rsp + 0x11c0]
mov ecx, 0x91
xor edx, edx
call fcn.14003dab0
test rax, rax
je 0x14002d8e4
mov rdi, rax
mov ecx, 2
call fcn.1400d1e28
movzx ecx, byte [rdi]
mov byte [rax], cl
movzx ecx, byte [rdi + 1]
mov byte [rax + 1], cl
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x150], rax
test rcx, rcx
je 0x14002d8db
call fcn.1400d1e64
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
movaps xmmword [rsp + 0x1220], xmm6
lea r8, [rsp + 0x1220]
mov ecx, 0xc4
xor edx, edx
call fcn.14003dab0
test rax, rax
je 0x14002d917
mov ecx, dword [rax]
mov dword [rsp + 0x15c], ecx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0xf8]
lea rax, [rsp + 0x130]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0xc0]
lea r9, [rsp + 0x160]
call fcn.14002df10
mov esi, eax
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x14002d98e
call fcn.1400d1e64
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x14002d9a0
call fcn.1400d1e64
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x14002d9b2
call fcn.1400d1e64
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x14002d9c4
call fcn.1400d1e64
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x14002d9d6
call fcn.1400d1e64
lea rcx, [rsp + 0x60]
call fcn.14003bb70
lea rcx, [rsp + 0x80]
call fcn.14003bc60
lea rcx, [rsp + 0xa0]
call fcn.14003bd50
lea rcx, [rsp + 0x160]
call fcn.14002e7a0
lea rcx, [rsp + 0xc0]
call fcn.14003bf20
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x14002da56
mov rdx, qword [rsp + 0xf0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14002da51
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14002de50
add rdx, 0x27
mov rcx, rax
call fcn.1400d1e6c
mov rdi, qword [rsp + 0x100]
test rdi, rdi
je 0x14002da80
lock dec dword [rdi + 8]
jne 0x14002da80
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock dec dword [rdi + 0xc]
jne 0x14002da80
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rsp + 0x1238]
xor rcx, rsp
call fcn.1400d2000
mov eax, esi
movaps xmm6, xmmword [rsp + 0x1240]
movaps xmm7, xmmword [rsp + 0x1250]
movaps xmm8, xmmword [rsp + 0x1260]
add rsp, 0x1278
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edi, 1
lea rbp, [rsp + 0x131]
lea rbx, [rsp + 0x1c0]
xorps xmm6, xmm6
lea rsi, [rsp + 0x1200]
lea r12, [rsp + 0x130]
jmp 0x14002db2d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov rcx, r15
call fcn.1400d1e64
mov rcx, qword [rsp + 0x11c0]
mov rax, qword [rcx]
mov edx, edi
lea r8, [rsp + 0x110]
call qword [rax + 0x38]
inc edi
cmp eax, 0x887a0002
lea rsi, [rsp + 0x1200]
je 0x14002abd3
mov rcx, qword [rsp + 0x110]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x40]
mov ecx, 0x48
call fcn.1400d1e28
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x30], xmm6
mov qword [rax + 0x40], 0
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0x1210], xmm6
movaps xmmword [rsp + 0x1200], xmm6
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
mov rcx, rsi
mov rdx, rbx
mov r8, rax
call fcn.14002fbb0
mov rax, qword [rsp + 0x1218]
mov rdx, qword [rsp + 0x1200]
mov r9, qword [rsp + 0x1210]
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm6
test r9, r9
je 0x14002dc00
cmp rax, 8
cmovb rdx, rsi
lea r8, [rdx + r9*2]
mov rcx, r12
call fcn.14002fad0
mov r14, qword [rsp + 0x148]
mov r15, r12
cmp r14, 0x10
jb 0x14002dbf3
mov r15, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x140]
jmp 0x14002dc1f
mov qword [rsp + 0x148], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x130], 0
mov r14d, reloc.WS2_32.dll_ntohs
xor esi, esi
mov r15, r12
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r13, rax
mov r8, rax
sub r8, rsi
jbe 0x14002dc50
sub r14, rsi
cmp r14, r8
jae 0x14002dc60
mov byte [rsp + 0x20], 0
mov rcx, r12
mov rdx, r8
mov r9, r8
call fcn.140007e50
jmp 0x14002dc7a
mov qword [rsp + 0x140], r13
jmp 0x14002dc75
mov qword [rsp + 0x140], r13
add rsi, r15
mov rcx, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [r15 + r13], 0
movzx esi, byte [rsp + 0x130]
mov rax, qword [rbp]
mov rcx, qword [rbp + 7]
mov qword [rsp + 0x11e0], rax
mov qword [rsp + 0x11e7], rcx
movaps xmm7, xmmword [rsp + 0x140]
mov r15, qword [rsp + 0xa0]
mov rax, qword [r15 + 0x18]
cmp rax, 0x10
jb 0x14002dce8
mov rcx, qword [r15]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002dce3
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov byte [r15], sil
mov rax, qword [rsp + 0x11e0]
mov rcx, qword [rsp + 0x11e7]
mov qword [r15 + 1], rax
mov qword [r15 + 8], rcx
movups xmmword [r15 + 0x10], xmm7
mov rax, qword [rsp + 0x1218]
cmp rax, 8
jb 0x14002dd56
mov rcx, qword [rsp + 0x1200]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14002dd51
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14002de50
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400d1e6c
mov ecx, dword [rsp + 0x2c0]
mov rax, qword [rsp + 0xa0]
mov dword [rax + 0x20], ecx
mov ecx, dword [rsp + 0x2c4]
mov dword [rax + 0x24], ecx
mov ecx, dword [rsp + 0x2c8]
mov dword [rax + 0x28], ecx
mov ecx, dword [rsp + 0x2cc]
mov dword [rax + 0x2c], ecx
mov rcx, qword [rsp + 0x2d0]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0x2d8]
mov qword [rax + 0x38], rcx
mov rcx, qword [rsp + 0x2e0]
mov qword [rax + 0x40], rcx
mov rdx, qword [rsp + 0x170]
cmp rdx, qword [rsp + 0x178]
je 0x14002dde0
mov qword [rsp + 0xa0], 0
mov qword [rdx], rax
add qword [rsp + 0x170], 8
jmp 0x14002ddf5
lea rcx, [rsp + 0x168]
lea r8, [rsp + 0xa0]
call fcn.14002fca0
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x14002de08
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov r15, qword [rsp + 0xa0]
test r15, r15
je 0x14002db00
mov rax, qword [r15 + 0x18]
cmp rax, 0x10
jb 0x14002daf8
mov rcx, qword [r15]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14002daf3
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x14002dae9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov rax, rcx
cmp rbx, 0x16e3600
jne 0x14002dec2
movabs r9, 0xb2f4fc0794908cf3
imul r9
mov r8, rdx
add r8, rcx
mov rax, r8
shr rax, 0x3f
sar r8, 0x18
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
imul rcx, rcx, 0x3b9aca00
mov rax, rcx
imul r9
mov rax, rdx
imul rdx, r8, 0x3b9aca00
add rax, rcx
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x18
add rax, rcx
add rax, rdx
jmp 0x14002b701
call fcn.140001300
or rax, rbx
shr rax, 0x20
je 0x14002deda
mov rax, rcx
cqo
idiv rbx
jmp 0x14002dee0
call fcn.1400037c0
mov eax, ecx
xor edx, edx
div ebx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rbx
or rdx, rax
shr rdx, 0x20
je 0x14002df01
cqo
idiv rbx
jmp 0x14002df05
xor edx, edx
div ebx
add rax, rcx
jmp 0x14002b701