Function at 0x180003348
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r13, qword [rcx + 0x4c8]
mov rbx, rcx
mov rax, qword [rcx + 0x510]
mov rdi, rdx
or r12d, 0xffffffff
mov esi, 0x3c32
xor r14d, r14d
movsxd r9, dword [r13 + 0x3c]
mov r8, qword [rax + 0x108]
add r9, r13
mov rax, qword [rcx + 0xe8]
sub r8, rdx
mov qword [rax + 0xc8], r8
mov rax, qword [rcx + 0x118]
mov r8, qword [rcx + 0x190]
mov edx, dword [rax + 0x168]
mov rax, qword [r8 + 0x328]
sub edx, 0x318d
add rax, rdi
mov r9d, dword [r9 + rdx*8 + 0x88]
add qword [rcx + 0x210], rax
add r9, r13
mov rdx, qword [rcx + 0x4e0]
mov rcx, qword [rcx + 0x2a0]
imul rax, rdx, 0x30f3
mov qword [rsp + 0x70], r9
imul rcx, rax
lea rax, [rdx + rdi]
mov qword [rbx], rax
mov rax, qword [rbx + 0x340]
mov qword [rbx + 0x78], rax
dec rax
mov qword [rbx + 0x340], rax
mov qword [rbx + 0x2a0], rcx
mov r15d, dword [r9 + 0x20]
imul rax, rdi, 0x37b1
add r15, r13
xor qword [rbx + 0x170], rax
imul rax, qword [rbx + 0x230], 0x3182
mov qword [r8 + 0x108], rax
mov rax, qword [rbx + 0x118]
mov ebp, dword [r9 + 0x24]
add rbp, r13
mov rcx, qword [rax + 0x2c0]
mov rax, qword [rbx + 0x108]
add rcx, rsi
imul rax, rcx
mov qword [rbx + 0x108], rax
cmp dword [r9 + 0x18], r14d
jbe 0x180003582
lea rdx, [rbx + 0x138]
mov rax, qword [rbx + 0x30]
mov r8d, 0x3a6b
mov rcx, qword [rbx + 0xe8]
add rax, rdi
xor qword [rbx + 0x170], rax
mov r9d, dword [r15]
mov rax, qword [rbx + 0x290]
add r9, r13
sub rax, 0x338c
mov byte [rsp + 0x30], 0
mov qword [rbx + 0x210], rax
mov rax, qword [rbx + 0x108]
sub rax, 0x318c
or qword [rcx + 0x28], rax
mov rax, qword [rbx + 0xe8]
mov ecx, dword [rax + 0x4f8]
sub ecx, 0x39f6
mov dword [rsp + 0x28], ecx
mov ecx, 0x3655
mov qword [rsp + 0x20], rdx
mov rdx, rbx
call fcn.18000162c
mov r9, qword [rsp + 0x70]
test eax, eax
je 0x180003531
mov rax, qword [rbx + 0x30]
lea rdx, [rbx + 0x138]
sub qword [rbx + 0x250], rax
add r15, 4
inc qword [rbx + 0x30]
add rbp, 2
xor qword [rbx + 0x230], 0x6e80
inc r14d
cmp r14d, dword [r9 + 0x18]
jb 0x18000347c
jmp 0x180003582
mov rax, qword [rbx + 0x118]
mov rax, qword [rax + 0x2a0]
add rax, rdi
mov qword [rbx + 0xa0], rax
mov rax, qword [rbx + 0xe8]
movzx r12d, word [rbp]
mov rcx, qword [rax]
mov rax, qword [rbx + 0x170]
sub rcx, rdi
or qword [rbx + 0x538], rcx
mov rcx, qword [rbx + 0x2a8]
sub rcx, 0x3a05
imul rax, rcx
mov qword [rbx + 0x170], rax
mov rax, qword [rbx + 0x118]
mov rdx, qword [rbx + 0x28]
imul rcx, qword [rax + 0x290], 0x378a
sub qword [rbx + 0x30], rcx
cmp rdx, qword [rbx + 0x290]
jb 0x1800035b1
imul rax, qword [rbx + 0x30], 0x646e
mov qword [rbx + 0x30], rax
test r12d, r12d
jns 0x1800035e7
movzx ecx, byte [0x1801ae794]
mov rax, qword [rbx + 0x108]
xor rcx, 0x338c
mov qword [rbx + 0x28], rcx
cmp qword [rbx + 0x2a0], rax
jae 0x1800035e0
add qword [rbx + 0x78], 0xffffffffffff9983
xor eax, eax
jmp 0x180003688
sub qword [rbx + 0x170], rdi
mov ecx, dword [r9 + 0x1c]
mov r9d, 0xdbe
mov rax, qword [rbx + 0xf8]
add rcx, r13
xor rax, rdi
mov qword [rbx + 0xc0], rax
imul rax, qword [rbx + 0x210], 0x37b1
sub qword [rbx + 0x550], rax
movsxd rax, r12d
mov r8d, dword [rcx + rax*4]
mov rax, qword [rbx + 0x160]
add r8, r13
mov qword [rbx + 0x2b0], rax
inc rax
mov qword [rbx + 0x160], rax
mov rax, qword [rbx + 0x60]
add rax, rdi
xor rax, rdx
mov qword [rbx + 0x28], rax
mov eax, dword [rbx + 0x168]
xor eax, r9d
cmp eax, esi
jb 0x180003685
movzx edx, byte [0x1801ae87e]
inc esi
sub edx, 0x3a05
movsxd rcx, edx
xor qword [rbx + 0x380], rcx
mov edx, dword [rbx + 0x168]
xor rdx, r9
movsxd rcx, esi
cmp rcx, rdx
jbe 0x18000365b
mov rax, r8
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret