Function at 0x180012530
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 0x18001274e
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.180010de0
mov edi, eax
test eax, eax
jne 0x18001274e
cmp byte [rsi], r14b
je 0x1800125da
lea r9, [rsp + 0x3c]
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call qword [rbp + 0x38]
mov edi, eax
test eax, eax
jne 0x18001274e
cmp dword [rsp + 0x3c], r14d
je 0x18001274e
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.180011200
test eax, eax
jne 0x18001273b
nop dword [rax + rax]
mov ebp, dword [rsp + 0x34]
mov r10, qword [rsp + 0x40]
cmp ebp, 0xffffffff
jne 0x180012655
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 0x18001265c
mov r9d, dword [rbx + 0xb8]
test ebp, ebp
jne 0x180012691
test esi, esi
jne 0x180012691
mov rdx, qword [rbx + 0x60]
mov eax, r9d
add rax, qword [rbx + 0x68]
cmp rax, rdx
jne 0x180012691
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 0x1800126ba
mov esi, dword [rsp + 0x38]
mov rcx, rbx
mov edx, esi
call fcn.180012440
mov edi, eax
test eax, eax
jne 0x180012744
mov r10, qword [rsp + 0x40]
mov dword [rbx + 0x1c], esi
mov esi, r14d
test ebp, ebp
je 0x180012713
test r12d, r12d
je 0x1800126d1
mov rcx, rbx
call fcn.1800116d0
mov r12d, r14d
mov r9d, 1
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea rdx, [rbx + 0x60]
mov rcx, rbx
call fcn.180011db0
mov edi, eax
test eax, eax
jne 0x180012701
inc r15d
inc esi
cmp esi, ebp
jb 0x1800126c1
mov r10, qword [rsp + 0x40]
jmp 0x180012713
cmp edi, 0x65
jne 0x1800127bb
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.180011200
test eax, eax
je 0x180012620
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 0x18001281a
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.180010de0
mov edi, eax
test eax, eax
jne 0x18001281a
movzx eax, byte [rbx + 0x14]
dec al
cmp al, 2
jbe 0x1800127e8
mov rcx, qword [rbx + 0x48]
mov edi, r14d
mov rax, qword [rcx]
test rax, rax
je 0x1800127ce
xor r8d, r8d
lea edx, [r8 + 0x15]
call qword [rax + 0x50]
mov edi, eax
cmp eax, 0xc
jne 0x1800127ca
mov edi, r14d
jmp 0x1800127ce
cmp edi, 0x20a
cmove edi, r14d
jmp 0x180012744
test eax, eax
jne 0x1800127e4
cmp byte [rbx + 0xb], r14b
jne 0x1800127e4
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 0x18001281a
cmp byte [rsi], r14b
mov rcx, rbx
setne r14b
xor r8d, r8d
mov edx, r14d
call fcn.180011a10
mov edi, eax
test eax, eax
jne 0x18001281a
cmp byte [rsi], al
je 0x18001281a
cmp dword [rsp + 0x3c], eax
je 0x18001281a
mov rdx, rsi
mov rcx, rbx
call fcn.1800121c0
mov edi, eax
mov r14, qword [rsp + 0x58]
test r12d, r12d
mov r12, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
je 0x180012854
test r15d, r15d
je 0x180012854
mov r9, qword [rbx + 0xd8]
lea rdx, str.recovered__d_pages_from__s
mov r8d, r15d
mov ecx, 0x21b
call fcn.180008af0
cmp byte [rbx + 0x10], 0
mov r15, qword [rsp + 0x50]
jne 0x180012898
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov edx, 0x1000
test edx, eax
jne 0x180012898
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
mov r8, qword [rax + 0x58]
test r8, r8
je 0x18001289d
call r8
mov edx, eax
cmp eax, 0x20
jl 0x180012898
mov eax, 0x10000
cmp edx, eax
cmovg edx, eax
jmp 0x18001289d
mov edx, 0x200
mov eax, edi
mov dword [rbx + 0xb8], edx
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800cfa80
add rsp, 0x68
pop rdi
pop rbx
ret