Function at 0x180003f4c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
lea ebp, [rdx + 0x467]
mov ebx, r9d
mov ecx, ebp
lea eax, [rdx - 0x474]
xor ecx, 0x19c2
lea esi, [r9 - 0x242]
xor ebx, 0xe88
mov rdi, r8
mov r10d, edx
cmp eax, ecx
jle 0x180003fde
mov rax, qword [section..data]
lea edx, [rsi + 0x4d7]
mov r9d, r10d
mov ecx, dword [rax + 0x134]
mov eax, ebp
add ecx, dword [0x18015e130]
xor eax, 0x1cee
xor ecx, 0x5c3b8d09
mov dword [rsp + 0x20], eax
mov dword [r8 + 0x84], ecx
lea r8d, [rbx + 0xca9]
mov rcx, rdi
call fcn.180005e00
add dword [0x18015e094], 0x2e184
mov r10d, eax
lea ecx, [rsi - 0x3f4]
cmp ebx, ecx
je 0x1800041f7
lea ecx, [rbx + 0x106a]
cmp esi, ecx
je 0x180004172
xor r10d, 0x1f94
lea ecx, [rbx + 0xe20]
mov dword [rsp + 0x28], r10d
lea r9d, [rsi + 0x424]
mov dword [rsp + 0x20], ecx
lea r8d, [rbx + 0x96a]
mov rcx, rdi
lea edx, [rbx + 0xf8a]
call sym.xjyn487lg15.dll_JXiJ0sib
xor r9d, r9d
lea r10d, [r9 + 1]
mov eax, dword [rdi + 0x10c]
add eax, dword [0x18015e07c]
xor eax, r10d
sub dword [rdi + 0x64], eax
movsxd rcx, dword [rdi + 0x88]
mov rax, qword [0x18015e0d8]
mov r8d, dword [r9 + rax]
add r9, 4
imul r8d, dword [rdi + 0x84]
mov rax, qword [0x18015e0e0]
mov edx, r8d
shr edx, 0x18
mov byte [rcx + rax], dl
mov edx, r8d
add dword [rdi + 0x88], r10d
mov rax, qword [section..data]
shr edx, 0x10
movsxd rcx, dword [rax + 0x88]
mov rax, qword [rdi + 0xd0]
mov byte [rcx + rax], dl
mov edx, r8d
mov rax, qword [section..data]
shr edx, 8
add dword [rax + 0x88], r10d
mov eax, 0x77bda
sub eax, dword [rdi + 0x8c]
add dword [rdi + 0x6c], eax
movsxd rcx, dword [0x18015e098]
mov rax, qword [0x18015e0e0]
mov byte [rcx + rax], dl
mov ecx, dword [0x18015e098]
mov eax, dword [0x18015e020]
add ecx, r10d
add dword [0x18015e07c], eax
mov rax, qword [section..data]
mov dword [0x18015e098], ecx
movsxd rdx, ecx
mov rcx, qword [rax + 0xd0]
mov byte [rdx + rcx], r8b
add dword [0x18015e098], r10d
mov eax, dword [rdi + 0x38]
add eax, dword [0x18015e104]
mov rcx, qword [section..data]
xor eax, 0x2334c5
sub dword [rcx + 0x8c], eax
mov rax, qword [section..data]
mov ecx, dword [rax + 0x120]
sub ecx, r10d
add dword [rdi + 0xa4], ecx
mov rax, qword [section..data]
mov ecx, dword [rax + 0x78]
sub ecx, 0x12
or dword [0x18015e0b4], ecx
cmp r9, 0x1b240
jl 0x180004033
cmp dword [0x18015e020], 0x174cb
je 0x1800041f7
mov dword [rdi + 0x84], 0x2d978
jmp 0x1800041f7
mov eax, dword [0x18015e014]
imul eax, ebx
cmp dword [rdi + 0x14c], eax
je 0x1800041f7
mov eax, r10d
sub eax, dword [rdi + 0x134]
and eax, 0xf3b
cmp dword [0x18015e028], eax
jbe 0x1800041f7
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x48]
and eax, ebx
sub eax, ebx
cmp esi, eax
jb 0x1800041f7
mov eax, dword [rdi + 0xe4]
mov r8d, ebx
and eax, r10d
xor r8d, esi
xor dword [rcx + 0x58], eax
sub r8d, ebx
mov ecx, dword [rdi + 0x28]
mov rax, qword [section..data]
mov edx, dword [rax + 0x14]
add edx, ecx
add ecx, 0xfffff1e0
xor edx, dword [0x18015e17c]
call qword [sym.imp.KERNEL32.dll_SetHandleInformation]
mov eax, dword [rdi + 0x74]
mov rcx, qword [section..data]
and eax, dword [0x18015e05c]
or dword [rcx + 0x9c], eax
mov rbx, qword [rsp + 0x40]
lea eax, [rbp - 0x93e]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret