Function at 0x18004073c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
xor ebx, ebx
lea rsi, [0x18018d010]
mov dword [rbp - 0x20], ebx
mov dword [rbp - 8], 0x3350
mov dword [rbp - 0x10], ebx
mov dword [rbp - 0x1c], ebx
mov dword [rbp - 0xc], 0x3ce9
mov dword [rbp - 0x18], ebx
mov dword [rbp - 0x14], ebx
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x1c]
add ecx, 0x412c
cmp eax, ecx
je 0x180040bb3
mov ecx, dword [rbp - 8]
mov eax, dword [rbp - 0x20]
add ecx, 0xfffffdc3
cmp eax, ecx
mov rax, qword [section..data]
je 0x1800409a8
lea ecx, [rbx + 1]
mov dword [0x18018d020], ebx
mov dword [0x18018d010], ecx
mov r11d, 0x391b
mov qword [0x18018d014], rcx
mov edi, 0x4431
mov dword [0x18018d030], ecx
mov dword [0x18018d034], 6
mov dword [0x18018d03c], ebx
mov dword [rax + 0x30], ebx
mov rax, qword [section..data]
mov dword [0x18018d048], ecx
mov dword [0x18018d058], 0x53
mov dword [rax + 0x4c], ecx
mov rax, qword [section..data]
mov dword [0x18018d06c], ecx
mov dword [0x18018d07c], ecx
mov dword [rax + 0x78], ecx
mov rax, qword [section..data]
mov dword [0x18018d0a8], ecx
mov dword [0x18018d0a0], 0x4f
mov dword [rax + 0x9c], 0x13
mov rax, qword [section..data]
mov dword [0x18018d0d4], ecx
mov dword [0x18018d0b4], ebx
mov dword [rax + 0xd4], ecx
mov rax, qword [section..data]
mov dword [rax + 0xd8], ecx
mov rax, qword [section..data]
mov dword [0x18018d124], ecx
mov dword [0x18018d108], ebx
mov dword [0x18018d10c], 0xf
mov dword [0x18018d114], ebx
mov dword [0x18018d120], ebx
mov dword [rax + 0x134], ebx
mov rax, qword [section..data]
mov dword [rax + 0x148], 0x11
mov rax, qword [section..data]
mov dword [0x18018d15c], ecx
mov ecx, dword [rbp - 0x20]
mov edx, dword [rbp - 0xc]
add ecx, 0x3fd3
mov r8d, dword [rbp - 8]
sub edx, 0x669
mov r9d, dword [rbp - 0x20]
add r8d, 0x2ef
mov r10d, dword [rbp - 0x10]
add r9d, r11d
mov dword [rax + 0x154], 9
add r10d, edi
mov eax, dword [rbp - 0x1c]
xor eax, r11d
mov dword [0x18018d16c], ebx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.180049404
mov dword [rbp - 0x14], eax
mov eax, 0x412c
mov edx, dword [rbp - 0xc]
mov r8d, dword [rbp - 0x18]
sub edx, 0xb24
mov r9d, dword [rbp - 0x1c]
add r8d, eax
mov r10d, dword [rbp - 0x10]
add r9d, edi
mov ecx, dword [rbp - 0xc]
add r10d, eax
mov eax, dword [rbp - 0x1c]
xor ecx, 0xfb9
add eax, 0x363f
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.1800496c0
mov dword [rbp - 0x18], eax
add dword [rbp - 0x10], 0x322b
mov rax, qword [section..data]
mov ecx, dword [rax + 0xf8]
add ecx, dword [0x18018d010]
xor ecx, 0x18633b
add dword [0x18018d074], ecx
xor dword [rbp - 0x18], 0xfb1
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x48]
cmp dword [rcx + 0x14c], eax
jb 0x180040bb3
mov eax, dword [0x18018d144]
xor eax, dword [0x18018d05c]
xor eax, 0x2730b9e4
sub dword [0x18018d074], eax
jmp 0x180040bb3
imul ecx, dword [rax + 4], 0x3fd3
mov edi, 0x338a
mov eax, dword [rbp - 0x20]
cmp eax, ecx
jb 0x180040a50
mov eax, dword [rbp - 0x14]
mov r9d, dword [rbp - 0x18]
mov ecx, dword [0x18018d048]
mov edx, dword [0x18018d040]
sub ecx, eax
mov rax, qword [section..data]
xor edx, 0x31c5
mov r8d, dword [rax + 0x108]
mov eax, dword [rbp - 0xc]
xor r9d, eax
mov r10d, dword [rbp - 0x10]
mov rax, qword [section..data]
sub r8d, dword [0x18018d10c]
xor r9d, dword [0x18018d05c]
xor r10d, dword [rax + 0xb8]
mov eax, dword [0x18018d0ac]
imul eax, dword [0x18018d040]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.180049404
mov dword [rbp - 0x14], eax
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x20]
imul ecx, eax
mov eax, dword [0x18018d0f0]
add eax, 0xfffffe09
mov dword [0x18018d0ac], ecx
mov dword [rbp - 0x1c], eax
jmp 0x180040ac6
mov eax, dword [rbp - 0x20]
mov ecx, dword [0x18018d164]
sub ecx, eax
mov eax, dword [rbp - 0x20]
sub ecx, edi
cmp eax, ecx
jne 0x180040ac6
mov ecx, dword [rbp - 8]
mov eax, dword [rbp - 0x20]
and ecx, eax
mov edx, dword [rbp - 0xc]
mov rax, qword [section..data]
add edx, ecx
mov r10d, dword [0x18018d03c]
mov r8d, dword [0x18018d0b0]
add r8d, dword [0x18018d05c]
mov r9d, dword [rax + 0xa4]
and r8d, edi
mov eax, dword [rbp - 0x14]
lea ecx, [r10 - 0x3fd3]
imul eax, dword [0x18018d058]
add r9d, 0x330
mov qword [rsp + 0x28], rsi
sub eax, dword [0x18018d164]
mov dword [rsp + 0x20], eax
call sym.xellxsz554sa6.dll_FoOixh
mov dword [rbp - 0x18], eax
mov rax, qword [section..data]
mov r11d, 0x391b
mov ecx, dword [rax + 0x54]
mov eax, dword [rbp - 0x20]
add ecx, r11d
cmp eax, ecx
jbe 0x180040bb3
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp - 0x20]
and ecx, eax
mov rax, qword [section..data]
xor ecx, edi
cmp dword [rax + 0x114], ecx
jae 0x180040bb3
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp - 0x10]
sub ecx, eax
movsxd rdx, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x1c]
or rdx, 0x38e9
mov eax, dword [rbp - 8]
sub r8d, eax
movsxd r8, r8d
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov edx, dword [rbp - 0x18]
mov rax, qword [section..data]
mov ecx, dword [rax + 0x3c]
mov rax, qword [section..data]
sub ecx, 0x322b
add edx, ecx
mov ecx, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x1c]
mov r9d, dword [rbp - 0x18]
imul ecx, dword [rax + 4]
mov eax, dword [rbp - 0x20]
sub r9d, eax
mov r10d, dword [rbp - 8]
or r9d, 0x388d
mov rax, qword [section..data]
xor r8d, ecx
mov ecx, dword [0x18018d064]
or ecx, dword [0x18018d16c]
xor r10d, dword [rax + 0x15c]
xor ecx, dword [0x18018d164]
mov eax, dword [rbp - 0x20]
or eax, dword [0x18018d03c]
sub r10d, dword [0x18018d120]
or eax, 0x3113
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.1800426d0
mov dword [rbp - 0x1c], eax
mov edx, dword [rbp - 0x18]
mov r8d, dword [rbp - 8]
mov r9d, dword [rbp - 0x18]
add r8d, 0x3d4
mov r10d, dword [rbp - 0xc]
xor r9d, 0xfb1
mov ecx, dword [rbp - 0x14]
xor r10d, 0xd2c
mov eax, dword [rbp - 0x14]
sub ecx, 0xdf2
sub eax, 0x131e
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.1800426d0
mov dword [rbp - 0x10], eax
mov ecx, dword [rbp - 0x14]
mov edx, dword [rbp - 0x1c]
sub ecx, 0xba4
mov r8d, dword [rbp - 0x10]
add edx, 0x3245
mov r9d, dword [rbp - 0x18]
sub r8d, 0xb2
mov r10d, dword [rbp - 0xc]
mov eax, dword [rbp - 0x20]
xor r10d, 0x78d8
xor eax, 0x3a56
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.180048c6c
mov dword [rbp - 0x20], eax
mov qword [0x18018d128], rsi
xor dword [rbp - 0x14], 0x720e
mov rcx, qword [section..data]
mov eax, dword [rcx + 0xc]
add eax, dword [0x18018d024]
add eax, dword [0x18018d0fc]
xor eax, 0x347df415
mov dword [rcx + 0x158], eax
mov r10, qword [section..data]
mov r9d, dword [0x18018d080]
mov eax, dword [r10 + 0x24]
mov edx, dword [0x18018d048]
sub eax, edx
mov r8d, dword [0x18018d158]
add eax, 0x6cbce
or edx, eax
mov ecx, r8d
mov eax, dword [0x18018d03c]
sub ecx, edx
mov dword [0x18018d048], edx
add ecx, 0x2a0dfb
imul eax, ecx
mov dword [0x18018d03c], eax
imul r8d, dword [r10 + 0x6c]
mov rax, qword [0x18018d0c0]
mov dword [0x18018d158], r8d
xor dword [rbx + rax], r9d
add rbx, 4
mov r9d, dword [0x18018d080]
mov r10, qword [section..data]
add r9d, dword [r10 + 0xe8]
mov dword [0x18018d080], r9d
cmp rbx, 0xdb32c
jl 0x180040c87
cmp dword [0x18018d06c], 0xdda9
je 0x180040d1d
mov rax, qword [0x18018d0c0]
mov qword [0x18018d090], rax
jmp 0x180040d35
mov eax, dword [0x18018d0e4]
add eax, 0xdda9
xor dword [0x18018d158], eax
mov rax, qword [0x18018d090]
mov rdx, qword [0x18018d128]
mov ecx, dword [0x18018d168]
call rax
lea r11, [rsp + 0x60]
mov dword [0x18018d100], eax
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret