Function at 0x1800f53d0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x258]
sub rsp, 0x320
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1802242b8]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
mov rsi, rdx
mov qword [rbp - 0x18], rdx
mov rdi, rcx
mov qword [rbp - 0x20], rcx
xor r14d, r14d
mov byte [rbp + 0xa0], 1
mov dword [rsp + 0x20], 0x1000c0f
mov edx, r14d
nop dword [rax]
lea eax, [rdx + 0x21]
xor byte [rsp + rdx + 0x20], al
inc rdx
cmp rdx, 2
jb 0x1800f5430
mov byte [rsp + 0x23], r14b
lea rax, [rsp + 0x20]
mov qword [rbp + 0x50], rax
lea rcx, [rsp + 0x20]
mov r12, 0xffffffffffffffff
mov rax, r12
nop dword [rax]
inc rax
cmp byte [rcx + rax], r14b
jne 0x1800f5460
mov qword [rbp + 0x58], rax
xor r8d, r8d
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0xa8]
call fcn.180020820
nop
mov dword [rsp + 0x30], 0x47e667a
mov dword [rsp + 0x34], 0x100080b
mov rcx, r14
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx + 0x21]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 6
jb 0x1800f54a0
mov byte [rsp + 0x37], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], r14
mov qword [rbp + 0xe0], r14
lea rax, [rsp + 0x30]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x1800f54d5
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xc8]
call fcn.18001d950
nop
xor eax, eax
mov word [rsp + 0x28], ax
lea rax, [rsp + 0x28]
mov qword [rbp + 0x60], rax
lea rcx, [rsp + 0x28]
mov rax, r12
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1800f5510
mov qword [rbp + 0x68], rax
xor r8d, r8d
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0xe8]
call fcn.180020820
nop
lea r13, [rdi + 0xc8]
mov r8d, 1
lea rdx, [rbp + 0xa0]
mov rcx, r13
call fcn.1800d5da0
nop
lea r9, [fcn.1800dbbc0]
mov edx, 0x68
lea r8d, [rdx - 0x67]
lea rcx, [rbp + 0xa0]
call fcn.180153d18
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x160], xmm0
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 0x160]
call fcn.1800245f0
test eax, eax
jne 0x1800f5fa4
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov r15, qword [rbp + 0x168]
test r15, r15
je 0x1800f55b1
lock inc dword [r15 + 8]
mov r15, qword [rbp + 0x168]
movaps xmm0, xmmword [rbp + 0x160]
movdqa xmmword [rbp + 0x170], xmm0
test r15, r15
je 0x1800f55d1
lock inc dword [r15 + 8]
mov r15, qword [rbp + 0x168]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
test r15, r15
je 0x1800f5624
mov eax, r12d
lock xadd dword [r15 + 8], eax
cmp eax, 1
jne 0x1800f561d
mov rbx, qword [rbp + 0x168]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1800f561d
mov r15, qword [rbp + 0x168]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x1800f5624
mov r15, qword [rbp + 0x168]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x170]
test rbx, rbx
je 0x1800f5e58
mov byte [rbp + 0x180], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x188], xmm0
mov qword [rbp + 0x198], r14
mov qword [rbp + 0x1a0], 7
mov word [rbp + 0x188], r14w
movups xmmword [rbp + 0x1a8], xmm0
mov qword [rbp + 0x1b8], r14
mov qword [rbp + 0x1c0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1a8], 0
movups xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1d8], r14
mov qword [rbp + 0x1e0], 7
mov word [rbp + 0x1c8], r14w
mov r8d, 3
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.18003e2f0
mov rax, qword [rbp - 0x10]
mov edx, dword [rbp - 8]
test edx, edx
je 0x1800f56d8
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x1800f5fb6
cmp eax, 2
jne 0x1800f56e6
mov byte [rbp + 0x180], 0
jmp 0x1800f5722
mov r8d, 3
lea rdx, [rbp]
mov rcx, rbx
call fcn.18003e2f0
mov rax, qword [rbp]
mov edx, dword [rbp + 8]
test edx, edx
je 0x1800f5712
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x1800f5fc7
cmp eax, 3
jne 0x1800f5df1
mov byte [rbp + 0x180], 1
lea rsi, [rbx + 0x20]
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1800f5733
mov rcx, qword [rsi]
lea r14, [rsi + 0x10]
mov rax, qword [r14]
lea rdi, [rcx + rax*2]
mov rbx, rdi
mov rdx, rdi
call fcn.18003e1f0
cmp rax, rdi
je 0x1800f578b
nop
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1800f575f
cmp cx, 0x2f
jne 0x1800f5768
add rax, 2
cmp rax, rdi
jne 0x1800f5750
cmp rax, rdi
je 0x1800f578b
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1800f578b
cmp cx, 0x2f
je 0x1800f578b
mov rbx, rdx
cmp rax, rdx
jne 0x1800f5770
sub rdi, rbx
sar rdi, 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xor ecx, ecx
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rcx
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.180020760
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x188]
call fcn.18000db40
lea rcx, [rbp + 0x10]
call fcn.18000dad0
cmp qword [rbp + 0x198], 0
jne 0x1800f5866
lea rcx, [rbp + 0x1c8]
call fcn.18000dad0
mov rdx, qword [rbp + 0x1c0]
cmp rdx, 0x10
jb 0x1800f5825
inc rdx
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f5820
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f5e51
call fcn.180153a5c
xor r14d, r14d
mov qword [rbp + 0x1b8], r14
mov qword [rbp + 0x1c0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1a8], 0
lea rcx, [rbp + 0x188]
call fcn.18000dad0
lea rcx, [rbp + 0x170]
call fcn.18003dce0
test eax, eax
jne 0x1800f5f95
jmp 0x1800f5630
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1800f5873
mov rcx, qword [rsi]
mov rax, qword [r14]
lea rdi, [rcx + rax*2]
mov rbx, rdi
mov rdx, rdi
call fcn.18003e1f0
cmp rax, rdi
je 0x1800f58cb
nop word [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1800f589f
cmp cx, 0x2f
jne 0x1800f58a8
add rax, 2
cmp rax, rdi
jne 0x1800f5890
cmp rax, rdi
je 0x1800f58cb
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1800f58cb
cmp cx, 0x2f
je 0x1800f58cb
mov rbx, rdx
cmp rax, rdx
jne 0x1800f58b0
sub rdi, rbx
sar rdi, 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xor eax, eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.180020760
nop
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x50]
lea rdi, [rcx + rax*2]
mov rbx, rdi
mov rdx, rdi
call fcn.18003e1f0
cmp rax, rdi
je 0x1800f595c
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1800f592f
cmp cx, 0x2f
jne 0x1800f5938
add rax, 2
cmp rax, rdi
jne 0x1800f5920
cmp rax, rdi
je 0x1800f595c
nop dword [rax]
lea r8, [rbx - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x1800f595c
cmp cx, 0x2f
je 0x1800f595c
mov rbx, r8
cmp rax, r8
jne 0x1800f5940
mov r8d, Ordinal_60
mov rdx, rdi
mov rcx, rbx
call fcn.180152cf0
cmp rbx, rax
je 0x1800f59af
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x1800f59af
cmp word [rdx], 0x2e
jne 0x1800f5992
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x1800f59b2
cmp word [rcx], 0x2e
jne 0x1800f59b2
jmp 0x1800f59af
sub rdx, 2
cmp rbx, rdx
je 0x1800f59af
nop dword [rax + rax]
cmp word [rdx], 0x2e
je 0x1800f59b2
sub rdx, 2
cmp rbx, rdx
jne 0x1800f59a0
mov rdx, rax
sub rax, rdx
sar rax, 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xor ecx, ecx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rcx
mov r8, rax
lea rcx, [rbp + 0x30]
call fcn.180020760
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x1c8]
call fcn.18000db40
lea rcx, [rbp + 0x30]
call fcn.18000dad0
nop
lea rcx, [rbp - 0x60]
call fcn.18000dad0
cmp qword [rsi + 0x18], 8
jb 0x1800f5a02
mov rsi, qword [rsi]
mov rax, qword [r14]
lea rdi, [rsi + rax*2]
mov rbx, rdi
mov rdx, rdi
mov rcx, rsi
call fcn.18003e1f0
cmp rax, rdi
je 0x1800f5a5b
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1800f5a2f
cmp cx, 0x2f
jne 0x1800f5a38
add rax, 2
cmp rax, rdi
jne 0x1800f5a20
cmp rax, rdi
je 0x1800f5a5b
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1800f5a5b
cmp cx, 0x2f
je 0x1800f5a5b
mov rbx, rdx
cmp rax, rdx
jne 0x1800f5a40
sub rdi, rbx
sar rdi, 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xor r14d, r14d
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r14
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.180020760
nop
lea rax, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae rax, qword [rbp - 0x40]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x78], rax
movaps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x90], xmm0
lea r9, [rsp + 0x24]
lea r8, [rbp + 0x90]
mov edx, 0xfde9
lea rcx, [rbp - 0x80]
call fcn.1800d5f50
lea rax, [rbp - 0x80]
mov qword [rsp + 0x58], rax
lea rsi, [rbp - 0x80]
mov r9, qword [rbp - 0x68]
cmp r9, 0x10
setae dl
mov r8, qword [rbp - 0x80]
cmovae rsi, r8
add rsi, qword [rbp - 0x70]
lea rdi, [rbp - 0x80]
test dl, dl
cmovne rdi, r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
cmp rdi, rsi
jne 0x1800f5b16
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x60], r14b
jmp 0x1800f5bde
mov rax, rsi
sub rax, rdi
mov rdx, r14
mov qword [rsp + 0x70], rdx
mov ebx, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x78], rbx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1800f5f8f
cmp rax, 0x10
jb 0x1800f5b90
mov rbx, rax
or rbx, 0xf
cmp rbx, rcx
jbe 0x1800f5b58
mov rbx, rcx
jmp 0x1800f5b65
cmp rbx, 0x16
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb rbx, rax
mov rdx, rbx
add rdx, 1
cmovb rdx, r12
lea rcx, [rsp + 0x60]
call fcn.18000eec0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rbx
mov rdx, qword [rsp + 0x70]
nop dword [rax]
lea rcx, [rsp + 0x60]
cmp rbx, 0x10
cmovae rcx, qword [rsp + 0x60]
movzx eax, byte [rdi]
mov byte [rcx + rdx], al
mov rdx, qword [rsp + 0x70]
inc rdx
mov qword [rsp + 0x70], rdx
inc rdi
cmp rdi, rsi
je 0x1800f5bc1
mov rbx, qword [rsp + 0x78]
jmp 0x1800f5b90
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov byte [rax + rdx], 0
mov r9, qword [rbp - 0x68]
mov r8, qword [rbp - 0x80]
cmp r9, 0x10
jb 0x1800f5c15
lea rdx, [r9 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x1800f5c0d
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f5e4a
mov rcx, r8
call fcn.180153a5c
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x80], 0
movzx edi, byte [rbp + 0x180]
mov rcx, r14
test dil, dil
je 0x1800f5c6c
mov dword [rsp + 0x48], 0x484c647a
mov dword [rsp + 0x4c], 0x75554341
mov dword [rsp + 0x50], 0x1000a00
nop dword [rax]
lea eax, [rcx + 0x21]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 0xa
jb 0x1800f5c50
mov byte [rsp + 0x53], 0
lea r8, [rsp + 0x48]
jmp 0x1800f5caa
mov dword [rsp + 0x38], 0x484a647a
mov dword [rsp + 0x3c], 0x77b40
mov byte [rsp + 0x40], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x21]
xor byte [rsp + rcx + 0x38], al
inc rcx
cmp rcx, 7
jb 0x1800f5c90
mov byte [rsp + 0x40], 0
lea r8, [rsp + 0x38]
mov r9, r12
nop dword [rax]
inc r9
cmp byte [r8 + r9], 0
jne 0x1800f5cb0
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.180012330
movups xmm6, xmmword [rax]
movups xmmword [rbp + 0x140], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp + 0x150], xmm7
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rbp + 0x1c0]
cmp rdx, 0x10
jb 0x1800f5d2b
inc rdx
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f5d26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f5e43
call fcn.180153a5c
movups xmmword [rbp + 0x1a8], xmm6
movups xmmword [rbp + 0x1b8], xmm7
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800f5d76
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f5d71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f5e4a
call fcn.180153a5c
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x60], 0
lea rcx, [rbp - 0x40]
call fcn.18000dad0
mov rbx, qword [r13 + 8]
cmp rbx, qword [r13 + 0x10]
je 0x1800f5dde
mov qword [rsp + 0x58], rbx
mov byte [rbx], dil
lea rcx, [rbx + 8]
lea rdx, [rbp + 0x188]
call fcn.18002c5c0
nop
lea rcx, [rbx + 0x28]
lea rdx, [rbp + 0x1a8]
call fcn.18000de40
nop
lea rcx, [rbx + 0x48]
lea rdx, [rbp + 0x1c8]
call fcn.18002c5c0
nop
add qword [r13 + 8], 0x68
jmp 0x1800f5df1
lea r8, [rbp + 0x180]
mov rdx, rbx
mov rcx, r13
call fcn.1800d6530
nop
lea rcx, [rbp + 0x1c8]
call fcn.18000dad0
mov rdx, qword [rbp + 0x1c0]
cmp rdx, 0x10
jb 0x1800f5828
inc rdx
mov rcx, qword [rbp + 0x1a8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1800f5e39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f5e51
call fcn.180153a5c
jmp 0x1800f5828
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, qword [rbp + 0x178]
test rcx, rcx
je 0x1800f5ea1
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1800f5e9a
mov rbx, qword [rbp + 0x178]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1800f5e9a
mov rcx, qword [rbp + 0x178]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r15, qword [rbp + 0x168]
test r15, r15
je 0x1800f5edc
mov eax, r12d
lock xadd dword [r15 + 8], eax
cmp eax, 1
jne 0x1800f5edc
mov rbx, qword [rbp + 0x168]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r12d
cmp r12d, 1
jne 0x1800f5edc
mov rcx, qword [rbp + 0x168]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rbp - 0x20]
mov r10, qword [rdi + 0xd0]
mov rcx, qword [r13]
mov r8, r10
sub r8, rcx
movabs rax, 0x4ec4ec4ec4ec4ec5
imul r8
sar rdx, 5
mov r8, rdx
shr r8, 0x3f
add r8, rdx
movzx r9d, byte [rsp + 0x24]
mov rdx, r10
call fcn.1800d8bc0
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp + 0x110]
call fcn.1800fa200
lea rcx, [rdi + 0x98]
mov rdx, rax
call fcn.18000db40
lea rcx, [rbp + 0x110]
call fcn.18000dad0
lea rcx, [rdi + 0xb8]
call fcn.1800fa840
mov rax, qword [rdi + 0xe0]
mov byte [rax], 0
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.180153af0
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180007a10
nop
mov edx, eax
lea rcx, str.directory_iterator::operator
call fcn.18003f0f0
nop
mov r8, rsi
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.18003f150
nop
lea r8, [rbx + 0x20]
lea rcx, str.directory_entry::status
call fcn.18003f150
int3
lea r8, [rbx + 0x20]
lea rcx, str.directory_entry::status
call fcn.18003f150
int3