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

Disassembly:
mov r11, rsp
push rbx
push rdi
sub rsp, 0x68
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov qword [r11 + 0x10], rbp
mov rbx, rcx
mov rbp, qword [rcx]
mov rcx, qword [rcx + 0x50]
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], r12
mov r12d, edx
mov qword [r11 - 0x20], r14
xor r14d, r14d
mov dword [rsp + 0x3c], 1
mov rax, qword [rcx]
mov dword [rsp + 0x30], edx
lea rdx, [r11 - 0x38]
mov qword [r11 - 0x28], r15
mov r15d, r14d
mov dword [r11 - 0x40], r14d
call qword [rax + 0x30]
mov edi, eax
test eax, eax
jne 0x1800127ae
mov rax, qword [rbx]
mov rsi, qword [rbx + 0x108]
mov rcx, qword [rbx + 0x50]
mov rdx, rsi
mov r8d, dword [rax + 8]
inc r8d
call fcn.180010e40
mov edi, eax
test eax, eax
jne 0x1800127ae
cmp byte [rsi], r14b
je 0x18001263a
lea r9, [rsp + 0x3c]
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call qword [rbp + 0x38]
mov edi, eax
test eax, eax
jne 0x1800127ae
cmp dword [rsp + 0x3c], r14d
je 0x1800127ae
mov r8, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov edx, r12d
mov qword [rsp + 0x60], r13
mov rcx, rbx
mov qword [rbx + 0x60], r14
mov esi, r12d
call fcn.180011260
test eax, eax
jne 0x18001279b
nop dword [rax + rax]
mov ebp, dword [rsp + 0x34]
mov r10, qword [rsp + 0x40]
cmp ebp, 0xffffffff
jne 0x1800126b5
mov r9d, dword [rbx + 0xb8]
mov rax, r10
mov ecx, dword [rbx + 0xbc]
sub rax, r9
add ecx, 8
cqo
movsxd r8, ecx
idiv r8
mov rbp, rax
mov dword [rsp + 0x34], eax
jmp 0x1800126bc
mov r9d, dword [rbx + 0xb8]
test ebp, ebp
jne 0x1800126f1
test esi, esi
jne 0x1800126f1
mov rdx, qword [rbx + 0x60]
mov eax, r9d
add rax, qword [rbx + 0x68]
cmp rax, rdx
jne 0x1800126f1
mov eax, dword [rbx + 0xbc]
add eax, 8
movsxd rcx, eax
mov rax, r10
sub rax, rdx
cqo
idiv rcx
mov ebp, eax
mov dword [rsp + 0x34], eax
mov eax, r9d
cmp qword [rbx + 0x60], rax
jne 0x18001271a
mov esi, dword [rsp + 0x38]
mov rcx, rbx
mov edx, esi
call fcn.1800124a0
mov edi, eax
test eax, eax
jne 0x1800127a4
mov r10, qword [rsp + 0x40]
mov dword [rbx + 0x1c], esi
mov esi, r14d
test ebp, ebp
je 0x180012773
test r12d, r12d
je 0x180012731
mov rcx, rbx
call fcn.180011730
mov r12d, r14d
mov r9d, 1
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea rdx, [rbx + 0x60]
mov rcx, rbx
call fcn.180011e10
mov edi, eax
test eax, eax
jne 0x180012761
inc r15d
inc esi
cmp esi, ebp
jb 0x180012721
mov r10, qword [rsp + 0x40]
jmp 0x180012773
cmp edi, 0x65
jne 0x18001281b
mov r10, qword [rsp + 0x40]
mov qword [rbx + 0x60], r10
mov esi, dword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov edx, esi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x34]
mov r8, r10
mov rcx, rbx
call fcn.180011260
test eax, eax
je 0x180012680
cmp eax, 0x65
mov edi, r14d
cmovne edi, eax
mov r12d, dword [rsp + 0x30]
mov r13, qword [rsp + 0x60]
movzx eax, byte [rbx + 0x10]
mov rbp, qword [rsp + 0x88]
mov byte [rbx + 0x16], al
test edi, edi
jne 0x18001287a
mov rax, qword [rbx]
mov rsi, qword [rbx + 0x108]
mov rcx, qword [rbx + 0x50]
mov rdx, rsi
mov r8d, dword [rax + 8]
inc r8d
call fcn.180010e40
mov edi, eax
test eax, eax
jne 0x18001287a
movzx eax, byte [rbx + 0x14]
dec al
cmp al, 2
jbe 0x180012848
mov rcx, qword [rbx + 0x48]
mov edi, r14d
mov rax, qword [rcx]
test rax, rax
je 0x18001282e
xor r8d, r8d
lea edx, [r8 + 0x15]
call qword [rax + 0x50]
mov edi, eax
cmp eax, 0xc
jne 0x18001282a
mov edi, r14d
jmp 0x18001282e
cmp edi, 0x20a
cmove edi, r14d
jmp 0x1800127a4
test eax, eax
jne 0x180012844
cmp byte [rbx + 0xb], r14b
jne 0x180012844
mov rcx, qword [rbx + 0x48]
movzx edx, byte [rbx + 0xf]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edi, eax
test edi, edi
jne 0x18001287a
cmp byte [rsi], r14b
mov rcx, rbx
setne r14b
xor r8d, r8d
mov edx, r14d
call fcn.180011a70
mov edi, eax
test eax, eax
jne 0x18001287a
cmp byte [rsi], al
je 0x18001287a
cmp dword [rsp + 0x3c], eax
je 0x18001287a
mov rdx, rsi
mov rcx, rbx
call fcn.180012220
mov edi, eax
mov r14, qword [rsp + 0x58]
test r12d, r12d
mov r12, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
je 0x1800128b4
test r15d, r15d
je 0x1800128b4
mov r9, qword [rbx + 0xd8]
lea rdx, str.recovered__d_pages_from__s
mov r8d, r15d
mov ecx, 0x21b
call fcn.180008b50
cmp byte [rbx + 0x10], 0
mov r15, qword [rsp + 0x50]
jne 0x1800128f8
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov edx, 0x1000
test edx, eax
jne 0x1800128f8
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
mov r8, qword [rax + 0x58]
test r8, r8
je 0x1800128fd
call r8
mov edx, eax
cmp eax, 0x20
jl 0x1800128f8
mov eax, 0x10000
cmp edx, eax
cmovg edx, eax
jmp 0x1800128fd
mov edx, 0x200
mov eax, edi
mov dword [rbx + 0xb8], edx
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800cfc90
add rsp, 0x68
pop rdi
pop rbx
ret