Function at 0x180012620
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 0x18001283e
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.180010ed0
mov edi, eax
test eax, eax
jne 0x18001283e
cmp byte [rsi], r14b
je 0x1800126ca
lea r9, [rsp + 0x3c]
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call qword [rbp + 0x38]
mov edi, eax
test eax, eax
jne 0x18001283e
cmp dword [rsp + 0x3c], r14d
je 0x18001283e
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.1800112f0
test eax, eax
jne 0x18001282b
nop dword [rax + rax]
mov ebp, dword [rsp + 0x34]
mov r10, qword [rsp + 0x40]
cmp ebp, 0xffffffff
jne 0x180012745
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 0x18001274c
mov r9d, dword [rbx + 0xb8]
test ebp, ebp
jne 0x180012781
test esi, esi
jne 0x180012781
mov rdx, qword [rbx + 0x60]
mov eax, r9d
add rax, qword [rbx + 0x68]
cmp rax, rdx
jne 0x180012781
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 0x1800127aa
mov esi, dword [rsp + 0x38]
mov rcx, rbx
mov edx, esi
call fcn.180012530
mov edi, eax
test eax, eax
jne 0x180012834
mov r10, qword [rsp + 0x40]
mov dword [rbx + 0x1c], esi
mov esi, r14d
test ebp, ebp
je 0x180012803
test r12d, r12d
je 0x1800127c1
mov rcx, rbx
call fcn.1800117c0
mov r12d, r14d
mov r9d, 1
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea rdx, [rbx + 0x60]
mov rcx, rbx
call fcn.180011ea0
mov edi, eax
test eax, eax
jne 0x1800127f1
inc r15d
inc esi
cmp esi, ebp
jb 0x1800127b1
mov r10, qword [rsp + 0x40]
jmp 0x180012803
cmp edi, 0x65
jne 0x1800128ab
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.1800112f0
test eax, eax
je 0x180012710
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 0x18001290a
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.180010ed0
mov edi, eax
test eax, eax
jne 0x18001290a
movzx eax, byte [rbx + 0x14]
dec al
cmp al, 2
jbe 0x1800128d8
mov rcx, qword [rbx + 0x48]
mov edi, r14d
mov rax, qword [rcx]
test rax, rax
je 0x1800128be
xor r8d, r8d
lea edx, [r8 + 0x15]
call qword [rax + 0x50]
mov edi, eax
cmp eax, 0xc
jne 0x1800128ba
mov edi, r14d
jmp 0x1800128be
cmp edi, 0x20a
cmove edi, r14d
jmp 0x180012834
test eax, eax
jne 0x1800128d4
cmp byte [rbx + 0xb], r14b
jne 0x1800128d4
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 0x18001290a
cmp byte [rsi], r14b
mov rcx, rbx
setne r14b
xor r8d, r8d
mov edx, r14d
call fcn.180011b00
mov edi, eax
test eax, eax
jne 0x18001290a
cmp byte [rsi], al
je 0x18001290a
cmp dword [rsp + 0x3c], eax
je 0x18001290a
mov rdx, rsi
mov rcx, rbx
call fcn.1800122b0
mov edi, eax
mov r14, qword [rsp + 0x58]
test r12d, r12d
mov r12, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
je 0x180012944
test r15d, r15d
je 0x180012944
mov r9, qword [rbx + 0xd8]
lea rdx, str.recovered__d_pages_from__s
mov r8d, r15d
mov ecx, 0x21b
call fcn.180008be0
cmp byte [rbx + 0x10], 0
mov r15, qword [rsp + 0x50]
jne 0x180012988
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov edx, 0x1000
test edx, eax
jne 0x180012988
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
mov r8, qword [rax + 0x58]
test r8, r8
je 0x18001298d
call r8
mov edx, eax
cmp eax, 0x20
jl 0x180012988
mov eax, 0x10000
cmp edx, eax
cmovg edx, eax
jmp 0x18001298d
mov edx, 0x200
mov eax, edi
mov dword [rbx + 0xb8], edx
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800cf6f0
add rsp, 0x68
pop rdi
pop rbx
ret