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

Disassembly:
mov r11, rsp
push rbp
sub rsp, 0xb0
lea eax, [rdx - 1]
mov rbp, rcx
cmp eax, 5
ja case.default.0x180012dba
mov qword [r11 + 8], rbx
mov qword [r11 - 0x10], rsi
mov qword [r11 - 0x18], rdi
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r13
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
lea r15, [0x180000000]
cdqe
mov eax, dword [r15 + rax*4 + 0x13428]
add rax, r15
jmp rax
mov r11d, dword [rbp + 0x2c]
mov rcx, qword [rcx + 0x14]
mov r8d, dword [rbp + 0x34]
cmp r11d, 0x3c000
jae 0x1800133e4
cmp r11d, 4
jl 0x1800133e4
cmp edx, 2
sete r10b
add r11d, 0xfffffffc
xor r9d, r9d
add r10b, 0xe8
test r11d, r11d
jle 0x1800133e4
nop word [rax + rax]
movzx eax, byte [rcx]
inc rcx
inc r9d
inc r8d
cmp al, 0xe8
je 0x180012e15
cmp al, r10b
jne 0x180012e46
mov edx, dword [rcx]
test edx, edx
jns 0x180012e2d
lea eax, [r8 + rdx]
test eax, eax
js 0x180012e3a
lea eax, [rdx + 0x1000000]
mov dword [rcx], eax
jmp 0x180012e3a
cmp edx, 0x1000000
jge 0x180012e3a
sub edx, r8d
mov dword [rcx], edx
add rcx, 4
add r9d, 4
add r8d, 4
cmp r9d, r11d
jl 0x180012e00
jmp 0x1800133e4
mov eax, dword [rcx + 0x2c]
mov rbx, qword [rcx + 0x14]
cmp eax, 0x3c000
jae 0x1800133e4
cmp eax, 0x15
jl 0x1800133e4
mov r12d, dword [rcx + 0x34]
add eax, 0xffffffeb
shr r12d, 4
test eax, eax
jle 0x1800133e4
lea r14d, [rax - 1]
shr r14d, 4
inc r14d
nop dword [rax]
movzx eax, byte [rbx]
and eax, 0x1f
sub eax, 0x10
js 0x180012f8e
cdqe
movzx ecx, byte [rax + r15 + 0x3a1f8]
test cl, cl
je 0x180012f8e
mov esi, 1
movzx r13d, cl
lea edi, [rsi + 0x11]
nop
test esi, r13d
je 0x180012f80
lea r9d, [rdi + 0x18]
mov eax, r9d
and r9d, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
inc eax
movzx r8d, byte [rcx + rbx]
movsxd rcx, eax
inc eax
movzx edx, byte [rcx + rbx]
cdqe
movzx ecx, r9b
shl edx, 8
or r8d, edx
movzx edx, byte [rax + rbx + 1]
movzx eax, byte [rax + rbx]
shl edx, 8
or edx, eax
shl edx, 0x10
or edx, r8d
shr edx, cl
and edx, 0xf
cmp dl, 5
jne 0x180012f80
mov eax, edi
mov dword [rsp + 0x20], 0x14
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
inc eax
movzx r9d, byte [rcx + rbx]
movsxd rcx, eax
inc eax
movzx edx, byte [rcx + rbx]
cdqe
mov ecx, edi
movzx r8d, byte [rax + rbx + 1]
movzx eax, byte [rax + rbx]
shl edx, 8
shl r8d, 8
or r9d, edx
and ecx, 7
or r8d, eax
mov rdx, rbx
shl r8d, 0x10
or r8d, r9d
mov r9d, edi
shr r8d, cl
mov rcx, rbp
sub r8d, r12d
and r8d, 0xfffff
call fcn.180012a70
add edi, 0x29
rol esi, 1
cmp edi, 0x64
jle 0x180012ec0
add rbx, 0x10
inc r12d
sub r14, 1
jne 0x180012e90
jmp 0x1800133e4
movsxd rcx, dword [rcx + 0x2c]
mov rax, qword [rbp + 0x14]
mov edx, dword [rbp + 0x1c]
lea r8d, [rcx + rcx]
mov dword [rax + 0x3c020], ecx
cmp ecx, 0x1e000
jae 0x1800133e4
xor r9d, r9d
test edx, edx
jle 0x1800133e4
movsxd r11, edx
movsxd r8, r8d
mov r10, rcx
mov rbx, rdx
nop dword [rax]
xor dl, dl
cmp r10, r8
mov rcx, r10
jge 0x180013007
nop word [rax + rax]
mov rax, qword [rbp + 0x14]
inc r9
sub dl, byte [rax + r9 - 1]
mov byte [rax + rcx], dl
add rcx, r11
cmp rcx, r8
jl 0x180012ff0
inc r10
sub rbx, 1
jne 0x180012fe0
jmp 0x1800133e4
movsxd rdx, dword [rcx + 0x2c]
mov eax, dword [rcx + 0x1c]
mov rsi, qword [rbp + 0x14]
mov ecx, dword [rcx + 0x20]
sub eax, 3
mov dword [rsp + 0xc8], edx
lea r14, [rsi + rdx]
mov dword [rsi + 0x3c020], edx
mov dword [rsp + 0xd0], ecx
cmp edx, 0x1e000
jae 0x1800133e4
test eax, eax
js 0x1800133e4
test ecx, ecx
js 0x1800133e4
cdqe
xor r9d, r9d
mov qword [rsp + 0xd8], rax
neg rax
mov r15d, r9d
mov qword [rsp + 0x58], rax
cmp r15d, edx
mov r8d, r9d
jge 0x18001312d
mov ecx, edx
mov rdi, rax
lea rbx, [rax + r14]
sub ecx, r15d
mov eax, 0xaaaaaaab
dec ecx
mul ecx
mov rax, qword [rsp + 0xd8]
shr edx, 1
lea r13d, [rdx + 1]
cmp rdi, 3
jl 0x180013104
movzx ebp, byte [rbx]
movzx r12d, byte [rbx - 3]
mov ecx, ebp
sub ecx, r12d
add ecx, r8d
mov eax, ecx
sub eax, r8d
cdq
mov r10d, eax
mov eax, ecx
sub ecx, r12d
sub eax, ebp
xor r10d, edx
sub r10d, edx
cdq
mov r11d, eax
mov eax, ecx
xor r11d, edx
sub r11d, edx
cdq
xor eax, edx
sub eax, edx
cmp r10d, r11d
jg 0x1800130f2
cmp r10d, eax
jg 0x1800130f2
mov rax, qword [rsp + 0xd8]
jmp 0x180013104
cmp r11d, eax
mov rax, qword [rsp + 0xd8]
mov r8d, r12d
cmovle r8d, ebp
sub r8b, byte [rsi]
add rbx, 3
inc rsi
movzx r8d, r8b
add rdi, 3
sub r13, 1
mov byte [rbx + rax - 3], r8b
jne 0x1800130a1
mov rax, qword [rsp + 0x58]
mov edx, dword [rsp + 0xc8]
inc rax
inc r15d
cmp r15d, 3
mov qword [rsp + 0x58], rax
jl 0x180013072
movsxd rcx, dword [rsp + 0xd0]
lea eax, [rdx - 2]
movsxd rdx, eax
cmp rcx, rdx
jge 0x1800133e4
nop dword [rax]
movzx eax, byte [rcx + r14 + 1]
add rcx, 3
add byte [rcx + r14 - 3], al
add byte [rcx + r14 - 1], al
cmp rcx, rdx
jl 0x180013160
jmp 0x1800133e4
movsxd r13, dword [rcx + 0x2c]
mov r10, qword [rcx + 0x14]
movsxd rax, dword [rcx + 0x1c]
lea rdx, [r10 + r13]
mov dword [r10 + 0x3c020], r13d
mov qword [rsp + 0x70], rdx
cmp r13d, 0x1e000
jae 0x1800133e4
xor r9d, r9d
mov r14, rax
mov ecx, r9d
mov r15, r9
mov qword [rsp + 0x68], r9
mov dword [rsp + 0x50], ecx
test eax, eax
jle 0x1800133e4
xor r8d, r8d
cmp ecx, r13d
mov dword [rsp + 0x54], r9d
mov dword [rsp + 0xd8], r9d
mov dword [rsp + 0xc8], r9d
mov eax, r9d
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], r8d
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x44], r8d
mov dword [rsp + 0x48], r8d
mov r11d, r9d
mov ebx, r9d
mov edi, r9d
mov esi, ecx
mov r12d, r9d
jge 0x1800133cd
lea rbp, [r15 + rdx]
mov r15d, r14d
mov r8d, eax
movzx edx, byte [r10]
mov ecx, dword [rsp + 0xd8]
mov eax, ecx
inc r10
sub eax, dword [rsp + 0xc8]
mov dword [rsp + 0xc8], ecx
mov qword [rsp + 0x60], r10
mov dword [rsp + 0xd0], eax
mov r10d, dword [rsp + 0x54]
mov eax, ebx
imul eax, dword [rsp + 0xd0]
mov ecx, r8d
imul ecx, edi
add ecx, eax
mov eax, r11d
imul eax, dword [rsp + 0xd8]
add ecx, eax
lea eax, [rcx + r10*8]
shr eax, 3
movzx ecx, al
sub ecx, edx
movzx eax, cl
mov byte [rbp], cl
mov dword [rsp + 0x54], ecx
sub al, r10b
mov r10d, dword [rsp + 0x30]
movsx eax, al
mov dword [rsp + 0xd8], eax
movsx eax, dl
lea ecx, [rax*8]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
add r10d, eax
mov eax, ecx
sub eax, dword [rsp + 0xc8]
mov dword [rsp + 0x30], r10d
cdq
xor eax, edx
sub eax, edx
add dword [rsp + 0x34], eax
mov eax, dword [rsp + 0xc8]
add eax, ecx
cdq
xor eax, edx
sub eax, edx
add dword [rsp + 0x38], eax
mov eax, ecx
sub eax, dword [rsp + 0xd0]
cdq
xor eax, edx
sub eax, edx
add dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0xd0]
add eax, ecx
cdq
xor eax, edx
sub eax, edx
add dword [rsp + 0x40], eax
mov eax, ecx
sub eax, r8d
cdq
xor eax, edx
sub eax, edx
add dword [rsp + 0x44], eax
lea eax, [rcx + r8]
cdq
xor eax, edx
sub eax, edx
add dword [rsp + 0x48], eax
test r12b, 0x1f
jne case.default.0x180013367
mov r8d, r9d
mov dword [rsp + 0x30], r9d
mov eax, 1
lea rcx, [rsp + 0x34]
mov edx, dword [rcx]
cmp edx, r10d
jae 0x18001333e
mov r10d, edx
mov r8d, eax
inc eax
mov dword [rcx], r9d
add rcx, 4
cmp eax, 7
jb 0x180013331
dec r8d
cmp r8d, 5
ja case.default.0x180013367
lea rdx, [0x180000000]
mov ecx, dword [rdx + r8*4 + 0x13440]
add rcx, rdx
jmp rcx
cmp r11d, 0xfffffff0
jl case.default.0x180013367
dec r11d
jmp case.default.0x180013367
cmp r11d, 0x10
jge case.default.0x180013367
inc r11d
jmp case.default.0x180013367
cmp ebx, 0xfffffff0
jl case.default.0x180013367
dec ebx
jmp case.default.0x180013367
cmp ebx, 0x10
jge case.default.0x180013367
inc ebx
jmp case.default.0x180013367
cmp edi, 0xfffffff0
jl case.default.0x180013367
dec edi
jmp case.default.0x180013367
cmp edi, 0x10
jge case.default.0x180013367
inc edi
mov r10, qword [rsp + 0x60]
mov eax, dword [rsp + 0xd0]
add esi, r15d
add rbp, r14
inc r12d
cmp esi, r13d
jl 0x180013220
mov r15, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
inc r15
inc ecx
cmp r15, r14
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x68], r15
jl 0x1800131c4
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x80]
add rsp, 0xb0
pop rbp
ret