Function at 0x18007f440
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x180150340]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rax, qword [rcx + 8]
mov edi, dword [rcx]
movzx r9d, byte [rdx + 2]
movzx ecx, byte [rdx]
movzx r11d, byte [rdx + 3]
movzx ebp, byte [rdx + 0xb]
movzx r14d, byte [rdx + 0xf]
shl r11d, 8
or r11d, r9d
shl ebp, 8
movzx r9d, byte [rdx + 7]
shl r9d, 8
shl r14d, 8
shl r11d, 8
mov qword [rsp + 0x70], r8
movzx r8d, byte [rdx + 1]
or r11d, r8d
shl r11d, 8
or r11d, ecx
movzx ecx, byte [rdx + 6]
xor r11d, dword [rax]
or r9d, ecx
movzx ecx, byte [rdx + 5]
mov r12d, r11d
shl r9d, 8
mov r13d, r11d
or r9d, ecx
shr r12d, 8
movzx ecx, byte [rdx + 4]
mov ebx, r11d
shl r9d, 8
or r9d, ecx
shr ebx, 0x18
xor r9d, dword [rax + 4]
mov ecx, r9d
shr r13d, 0x10
shr ecx, 0x18
mov r15d, r9d
mov dword [rsp + 0x38], ecx
mov esi, r9d
movzx ecx, byte [rdx + 0xa]
or ebp, ecx
shr esi, 8
movzx ecx, byte [rdx + 9]
shl ebp, 8
or ebp, ecx
shr r15d, 0x10
movzx ecx, byte [rdx + 8]
shl ebp, 8
or ebp, ecx
mov dword [rsp + 0x40], ebx
xor ebp, dword [rax + 8]
mov ecx, ebp
mov dword [rsp + 0x34], esi
shr ecx, 0x18
mov dword [rsp + 0x30], ecx
mov ecx, ebp
shr ecx, 8
mov dword [rsp + 0x20], ecx
mov ecx, ebp
shr ecx, 0x10
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [rdx + 0xe]
or r14d, ecx
movzx ecx, byte [rdx + 0xd]
shl r14d, 8
or r14d, ecx
movzx ecx, byte [rdx + 0xc]
shl r14d, 8
or r14d, ecx
xor r14d, dword [rax + 0xc]
mov ecx, r14d
shr ecx, 8
mov dword [rsp + 0x2c], ecx
mov ecx, r14d
shr ecx, 0x10
mov dword [rsp + 0x28], ecx
mov ecx, r14d
shr ecx, 0x18
mov dword [rsp + 0x24], ecx
add rax, 0x10
sar edi, 1
dec edi
test edi, edi
jle 0x18007f8d3
mov r10d, dword [rsp + 0x20]
mov ecx, esi
jmp 0x18007f5a6
mov r15d, dword [rsp + 0x54]
movzx ecx, cl
lea rsi, [0x180000000]
movzx edx, r11b
mov ebx, dword [rsi + rdx*4 + 0x152cf0]
xor ebx, dword [rsi + rcx*4 + 0x1530f0]
mov ecx, dword [rsp + 0x3c]
movzx ecx, cl
movzx edx, r9b
xor ebx, dword [rsi + rcx*4 + 0x1534f0]
mov r11d, dword [rsi + rdx*4 + 0x152cf0]
movzx ecx, byte [rsp + 0x24]
xor ebx, dword [rsi + rcx*4 + 0x1538f0]
xor ebx, dword [rax]
movzx ecx, r10b
mov r10d, dword [rsp + 0x38]
movzx edx, r10b
xor r11d, dword [rsi + rcx*4 + 0x1530f0]
movzx ecx, byte [rsp + 0x28]
mov r10d, dword [rsi + rdx*4 + 0x1538f0]
movzx edx, r14b
xor r11d, dword [rsi + rcx*4 + 0x1534f0]
movzx ecx, byte [rsp + 0x40]
mov r8d, dword [rsi + rdx*4 + 0x152cf0]
xor r11d, dword [rsi + rcx*4 + 0x1538f0]
movzx ecx, byte [rsp + 0x2c]
xor r11d, dword [rax + 4]
xor r10d, dword [rsi + rcx*4 + 0x1530f0]
movzx ecx, bpl
xor r10d, dword [rsi + rcx*4 + 0x152cf0]
movzx ecx, r13b
xor r10d, dword [rsi + rcx*4 + 0x1534f0]
xor r10d, dword [rax + 8]
movzx ecx, r12b
xor r8d, dword [rsi + rcx*4 + 0x1530f0]
movzx ecx, byte [rsp + 0x30]
xor r8d, dword [rsi + rcx*4 + 0x1538f0]
movzx ecx, r15b
lea r15, [0x180000000]
xor r8d, dword [rsi + rcx*4 + 0x1534f0]
mov ecx, r10d
xor r8d, dword [rax + 0xc]
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
mov r9d, r8d
shr r8, 0x18
mov esi, dword [rsi + r8*4 + 0x1538f0]
xor esi, dword [r15 + rdx*4 + 0x1534f0]
movzx edx, cl
movzx ecx, bl
xor esi, dword [r15 + rdx*4 + 0x1530f0]
xor esi, dword [r15 + rcx*4 + 0x152cf0]
mov ecx, r9d
xor esi, dword [rax + 0x10]
shr ecx, 0x10
mov r12d, esi
movzx r8d, cl
mov r14d, esi
mov ecx, r10d
shr r12d, 8
shr ecx, 8
mov ebp, esi
movzx edx, cl
mov ecx, ebx
mov r8d, dword [r15 + r8*4 + 0x1534f0]
shr rcx, 0x18
shr r14d, 0x10
xor r8d, dword [r15 + rdx*4 + 0x1530f0]
shr ebp, 0x18
xor r8d, dword [r15 + rcx*4 + 0x1538f0]
movzx ecx, r11b
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x60], ebp
xor r8d, dword [r15 + rcx*4 + 0x152cf0]
xor r8d, dword [rax + 0x14]
mov ecx, r8d
shr ecx, 0x10
mov dword [rsp + 0x34], ecx
mov ecx, r8d
shr ecx, 0x18
mov r13d, r8d
mov dword [rsp + 0x50], ecx
dec edi
mov ecx, r9d
shr r13d, 8
shr ecx, 8
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
shr r11d, 0x10
mov dword [rsp + 0x58], r13d
mov r15d, dword [r15 + rdx*4 + 0x1530f0]
lea rdx, [0x180000000]
xor r15d, dword [rdx + rcx*4 + 0x1538f0]
mov ecx, ebx
shr ecx, 0x10
movzx edx, cl
lea rcx, [0x180000000]
shr ebx, 8
mov byte [rsp + 0x40], bpl
xor r15d, dword [rcx + rdx*4 + 0x1534f0]
lea rdx, [0x180000000]
movzx ecx, r10b
shr r10, 0x18
xor r15d, dword [rdx + rcx*4 + 0x152cf0]
xor r15d, dword [rax + 0x18]
mov ecx, r15d
movzx ebp, r15b
shr ecx, 0x18
mov dword [rsp + 0x20], ecx
mov ecx, r15d
shr ecx, 8
mov dword [rsp + 0x48], ecx
mov ecx, r15d
shr ecx, 0x10
mov dword [rsp + 0x44], ecx
movzx ecx, r11b
lea r11, [0x180000000]
mov edx, dword [r11 + r10*4 + 0x1538f0]
xor edx, dword [r11 + rcx*4 + 0x1534f0]
movzx ecx, bl
xor edx, dword [r11 + rcx*4 + 0x1530f0]
movzx ecx, r9b
mov r9d, dword [rsp + 0x44]
mov byte [rsp + 0x3c], r9b
movzx r9d, r8b
xor edx, dword [r11 + rcx*4 + 0x152cf0]
movzx r11d, sil
xor edx, dword [rax + 0x1c]
add rax, 0x20
mov ebx, edx
mov ecx, edx
shr ebx, 8
mov r10d, edx
shr r10d, 0x18
shr ecx, 0x10
mov dword [rsp + 0x64], ebx
mov byte [rsp + 0x2c], bl
mov ebx, dword [rsp + 0x50]
mov dword [rsp + 0x4c], ecx
movzx ecx, r13b
mov r13d, dword [rsp + 0x4c]
mov byte [rsp + 0x38], bl
mov ebx, dword [rsp + 0x34]
mov byte [rsp + 0x54], bl
mov ebx, dword [rsp + 0x20]
mov byte [rsp + 0x28], r13b
movzx r13d, r14b
mov dword [rsp + 0x5c], r10d
movzx r14d, dl
mov byte [rsp + 0x24], r10b
movzx r10d, byte [rsp + 0x48]
mov byte [rsp + 0x30], bl
test edi, edi
jg 0x18007f5a1
mov r9d, dword [rsp + 0x5c]
movzx edi, r10b
mov edx, dword [rsp + 0x20]
movzx esi, byte [rsp + 0x58]
movzx ecx, byte [rsp + 0x44]
movzx ebx, byte [rsp + 0x60]
movzx r13d, byte [rsp + 0x68]
movzx r10d, byte [rsp + 0x50]
movzx r15d, byte [rsp + 0x34]
mov byte [rsp + 0x24], r9b
movzx r9d, r8b
mov r8d, dword [rsp + 0x4c]
mov byte [rsp + 0x28], r8b
mov r8d, dword [rsp + 0x64]
mov byte [rsp + 0x2c], r8b
mov byte [rsp + 0x30], dl
jmp 0x18007f8e0
mov r10d, dword [rsp + 0x38]
mov edi, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x3c]
movzx edx, byte [rsp + 0x24]
lea r8, [0x180000000]
movzx ecx, cl
mov r8d, dword [r8 + rdx*4 + 0x1538f0]
lea rdx, [0x180000000]
xor r8d, dword [rdx + rcx*4 + 0x1534f0]
movzx ecx, sil
xor r8d, dword [rdx + rcx*4 + 0x1530f0]
movzx edx, bl
movzx ecx, r11b
lea r11, [0x180000000]
xor r8d, dword [r11 + rcx*4 + 0x152cf0]
xor r8d, dword [rax]
movzx ecx, byte [rsp + 0x28]
mov esi, r8d
mov r8d, dword [r11 + rdx*4 + 0x1538f0]
mov dword [rsp + 0x88], esi
xor r8d, dword [r11 + rcx*4 + 0x1534f0]
movzx ecx, dil
movzx edx, r10b
xor r8d, dword [r11 + rcx*4 + 0x1530f0]
movzx ecx, r9b
xor r8d, dword [r11 + rcx*4 + 0x152cf0]
xor r8d, dword [rax + 4]
mov edi, r8d
movzx ecx, r13b
lea r13, [0x180000000]
mov r11d, dword [r13 + rdx*4 + 0x1538f0]
movzx edx, byte [rsp + 0x30]
mov dword [rsp + 0x8c], edi
xor r11d, dword [r13 + rcx*4 + 0x1534f0]
movzx ecx, byte [rsp + 0x2c]
mov r8d, dword [r13 + rdx*4 + 0x1538f0]
xor r11d, dword [r13 + rcx*4 + 0x1530f0]
movzx ecx, bpl
xor r11d, dword [r13 + rcx*4 + 0x152cf0]
xor r11d, dword [rax + 8]
movzx ecx, r15b
mov dword [rsp + 0x90], r11d
xor r8d, dword [r13 + rcx*4 + 0x1534f0]
movzx ecx, r12b
xor r8d, dword [r13 + rcx*4 + 0x1530f0]
movzx ecx, r14b
xor r8d, dword [r13 + rcx*4 + 0x152cf0]
xor r8d, dword [rax + 0xc]
mov ecx, r8d
shr rcx, 0x18
mov r10d, r8d
mov dword [rsp + 0x94], r10d
movzx ebx, byte [rcx + r13 + 0x152bf0]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
shl ebx, 8
movzx ecx, byte [rdx + r13 + 0x152bf0]
xor ebx, ecx
mov ecx, edi
shr ecx, 8
movzx edx, cl
shl ebx, 8
movzx ecx, byte [rdx + r13 + 0x152bf0]
xor ebx, ecx
movzx ecx, sil
shl ebx, 8
movzx ecx, byte [rcx + r13 + 0x152bf0]
xor ebx, ecx
mov ecx, esi
xor ebx, dword [rax + 0x10]
shr rcx, 0x18
mov dword [rsp + 0x78], ebx
movzx r9d, byte [rcx + r13 + 0x152bf0]
mov ecx, r8d
shr ecx, 0x10
movzx edx, cl
shl r9d, 8
movzx ecx, byte [rdx + r13 + 0x152bf0]
xor r9d, ecx
mov ecx, r11d
shl r9d, 8
shr ecx, 8
movzx edx, cl
movzx ecx, byte [rdx + r13 + 0x152bf0]
xor r9d, ecx
movzx ecx, dil
shl r9d, 8
movzx ecx, byte [rcx + r13 + 0x152bf0]
xor r9d, ecx
mov ecx, edi
xor r9d, dword [rax + 0x14]
shr rcx, 0x18
mov dword [rsp + 0x7c], r9d
shr edi, 0x10
movzx r8d, byte [rcx + r13 + 0x152bf0]
mov ecx, esi
shr ecx, 0x10
movzx edx, cl
shl r8d, 8
shr esi, 8
movzx ecx, byte [rdx + r13 + 0x152bf0]
xor r8d, ecx
mov ecx, r10d
shr ecx, 8
movzx edx, cl
shl r8d, 8
movzx ecx, byte [rdx + r13 + 0x152bf0]
xor r8d, ecx
movzx ecx, r11b
shl r8d, 8
shr r11, 0x18
movzx ecx, byte [rcx + r13 + 0x152bf0]
xor r8d, ecx
movzx ecx, dil
xor r8d, dword [rax + 0x18]
movzx edx, byte [r11 + r13 + 0x152bf0]
shl edx, 8
movzx ecx, byte [rcx + r13 + 0x152bf0]
xor edx, ecx
mov dword [rsp + 0x80], r8d
shl edx, 8
movzx ecx, sil
movzx ecx, byte [rcx + r13 + 0x152bf0]
xor edx, ecx
movzx ecx, r10b
shl edx, 8
movzx ecx, byte [rcx + r13 + 0x152bf0]
xor edx, ecx
mov rcx, qword [rsp + 0x70]
xor edx, dword [rax + 0x1c]
mov eax, ebx
shr eax, 8
mov dword [rsp + 0x84], edx
mov byte [rcx + 1], al
mov eax, ebx
shr eax, 0x10
mov byte [rcx + 2], al
mov eax, r9d
shr eax, 8
mov byte [rcx + 5], al
mov eax, r9d
shr eax, 0x10
mov byte [rcx + 6], al
mov eax, r8d
shr eax, 8
mov byte [rcx + 9], al
mov eax, r8d
shr eax, 0x10
mov byte [rcx + 0xa], al
mov eax, edx
shr eax, 8
mov byte [rcx + 0xd], al
mov eax, edx
mov byte [rcx], bl
shr ebx, 0x18
mov byte [rcx + 4], r9b
shr r9d, 0x18
mov byte [rcx + 8], r8b
shr r8d, 0x18
shr eax, 0x10
mov byte [rcx + 3], bl
mov byte [rcx + 7], r9b
mov byte [rcx + 0xb], r8b
mov byte [rcx + 0xc], dl
shr edx, 0x18
mov byte [rcx + 0xf], dl
mov edx, 0x20
mov byte [rcx + 0xe], al
lea rcx, [rsp + 0x78]
call fcn.18007cc10
xor eax, eax
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.1800d0660
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret