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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rdi, qword [rsp + 0x90]
mov rbx, rdx
xor esi, esi
mov r10d, dword [rdi + 0x54]
mov edx, r10d
mov eax, dword [rdi + 0x4c]
sub edx, eax
mov ebp, dword [rdi + 0x44]
mov r11d, ebp
mov ecx, dword [rdi + 0x58]
mov r8d, ecx
mov r12d, dword [rdi + 0x48]
mov r9d, r12d
mov r14d, dword [rdi + 0x3c]
sub r11d, r14d
mov r15d, dword [rdi + 0x50]
sub r8d, r15d
mov r13d, dword [rdi + 0x40]
sub r9d, r13d
cmp r10d, eax
jle 0x140012ea2
cmp ebp, r14d
jle 0x140012ea2
cmp ecx, r15d
jle 0x140012ea2
cmp r12d, r13d
jle 0x140012ea2
mov dword [rbx + 0x68], esi
mov eax, 0x10000
mov dword [rbx + 0x6c], eax
lea r12d, [rsi + 1]
mov dword [rbx + 0x70], eax
cmp edx, r11d
jne 0x140012d03
cmp r8d, r9d
je 0x140012d61
mov eax, 0x7fff
cmp edx, eax
ja 0x140012ea2
cmp r11d, eax
ja 0x140012ea2
cmp r8d, eax
ja 0x140012ea2
cmp r9d, eax
ja 0x140012ea2
shl edx, 0x10
mov eax, edx
xor edx, edx
shl rax, 0x10
shl r11d, 0x10
mov ecx, r11d
div rcx
shl r8d, 0x10
xor edx, edx
mov dword [rbx + 0x6c], eax
shl r9d, 0x10
mov eax, r8d
shl rax, 0x10
mov ecx, r9d
div rcx
mov dword [rbx + 0x68], r12d
mov dword [rbx + 0x70], eax
or dword [rbx + 8], r12d
mov rbp, qword [rsp + 0x88]
mov r14, qword [rsp + 0x80]
test rbp, rbp
je 0x140012d82
mov dword [rbx + 0x14], esi
mov eax, dword [rbp + 0x50]
jmp 0x140012d8a
mov dword [rbx + 0x14], r12d
mov eax, dword [r14 + 0x50]
mov dword [rbx + 0x10], eax
movabs r13, 0x20bd7f00000
movsxd rcx, dword [r14 + 8]
cmp ecx, 0x29
ja 0x140012da6
bt r13, rcx
jb 0x140012daf
cmp ecx, 0x71
jne 0x140012e9d
lea rdx, [rsp + 0x90]
call fcn.140003294
mov r15, qword [rsp + 0x60]
lea r8, [rbx + 0x1c]
mov rdx, qword [rsp + 0x70]
mov rcx, r15
call fcn.140008b90
mov qword [rbx + 0x28], r14
mov eax, dword [rdi + 0x4c]
mov dword [rbx + 0x30], eax
mov eax, dword [rdi + 0x50]
mov dword [rbx + 0x34], eax
mov eax, dword [r14 + 0x1c]
mov dword [rbx + 0x38], eax
movzx eax, byte [rsp + 0x90]
mov dword [rbx + 0x3c], eax
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140012e0d
lea r8, [rbx + 0x44]
mov rdx, rax
mov rcx, r15
call fcn.140008b90
test rbp, rbp
je 0x140012e44
movsxd rcx, dword [rbp + 8]
cmp ecx, 0x29
ja 0x140012e21
bt r13, rcx
jb 0x140012e26
cmp ecx, 0x71
jne 0x140012e9d
lea rdx, [rsp + 0x90]
call fcn.140003294
mov eax, dword [rbp + 0x1c]
mov dword [rbx + 0x60], eax
movzx eax, byte [rsp + 0x90]
mov dword [rbx + 0x64], eax
mov qword [rbx + 0x50], rbp
xor edx, edx
mov eax, dword [rdi + 0x3c]
mov dword [rbx + 0x58], eax
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x5c], eax
lea r8d, [rdx + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.14002e640
mov rax, qword [rdi + 0x28]
mov dword [rax], r12d
mov rax, qword [rdi + 0x28]
and dword [rax + 4], 0xff000000
add qword [rdi + 0x28], 0x18
mov rax, qword [rdi + 0x28]
mov dword [rax], 2
mov rcx, qword [rdi + 0x28]
mov eax, dword [rcx + 4]
and eax, 0xff000001
or eax, r12d
mov dword [rcx + 4], eax
add qword [rdi + 0x28], 0x18
jmp 0x140012ea2
mov esi, 0xc000000d
mov rbx, qword [rsp + 0x68]
mov eax, esi
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret