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

Disassembly:
push rbx
push rdi
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x1801d72c0]
xor rax, rsp
mov qword [rsp + 0x68], rax
movzx eax, byte [r8]
mov r15, r9
mov r13, qword [rsp + 0xe8]
mov rdi, r8
mov r14, rdx
mov rbx, rcx
cmp al, 0x2c
jne 0x18012a1be
mov eax, dword [rsp + 0xe0]
mov r8, qword [r8 + 0x18]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
call fcn.18012a160
mov rax, qword [rdi + 0x10]
mov rdi, rax
movzx eax, byte [rax]
cmp al, 0x35
je 0x18012a1cb
cmp byte [rdi], 0x2d
jne 0x18012a401
mov qword [rsp + 0x88], rbp
mov rbp, qword [rdi + 0x10]
mov qword [rsp + 0x78], r12
mov r12, qword [rdi + 0x18]
mov qword [rsp + 0x30], rbp
cmp byte [rbp], 0xa7
jne 0x18012a3f4
mov qword [rsp + 0x38], 0
mov eax, 1
mov word [rsp + 0x5c], ax
lea rax, [fcn.1800c0270]
mov qword [rsp + 0x40], rax
lea rax, [0x1800bfff0]
mov qword [rsp + 0x48], rax
test r12, r12
je 0x18012a238
mov rdx, r12
lea rcx, [rsp + 0x38]
call fcn.1800b83e0
cmp word [rsp + 0x5c], 0
je 0x18012a3f4
test dword [rdi + 4], 0x400
mov qword [rsp + 0x80], rsi
je 0x18012a253
mov rsi, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
jmp 0x18012a25b
mov rsi, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x10]
test dword [rdx + 4], 0x200
jne 0x18012a282
test rsi, rsi
je 0x18012a272
test dword [rsi + 4], 0x200
jne 0x18012a27f
mov rcx, rbx
call fcn.1800bc990
test rax, rax
jne 0x18012a28f
mov rdx, rsi
mov rcx, rbx
call fcn.1800bc990
test rax, rax
je 0x18012a2a0
lea rcx, [0x18013de30]
cmp qword [rax + 0x18], rcx
jne 0x18012a3ec
movsx rdx, word [rbp + 0x30]
test dx, dx
js 0x18012a3ec
mov rax, qword [r14 + 0x18]
lea rcx, [rdx + rdx*2]
mov rax, qword [rax + 8]
movzx r14d, byte [rax + rcx*8 + 0xc]
cmp r14b, 0x42
jb 0x18012a3ec
test r13, r13
je 0x18012a3dd
mov rsi, qword [rbx]
test rsi, rsi
je 0x18012a2ea
mov edx, 0x20
mov rcx, rsi
call fcn.180074de0
jmp 0x18012a2f4
mov ecx, 0x20
call fcn.180074650
mov rdi, rax
test rax, rax
je 0x18012a3ec
movzx ebp, byte [r13 + 0x3c]
and bpl, 0x48
test r12, r12
je 0x18012a321
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.1800be8b0
jmp 0x18012a323
xor eax, eax
mov qword [rdi], rax
lea rsi, [rbx + 0x68]
mov eax, dword [r13 + 0x44]
test bpl, bpl
mov dword [rdi + 8], eax
mov eax, dword [rsp + 0xe0]
mov dword [rdi + 0xc], eax
mov rax, qword [rsp + 0x30]
movsx eax, word [rax + 0x30]
mov dword [rdi + 0x10], eax
setne al
mov byte [rdi + 0x14], al
mov rax, qword [rsi]
mov qword [rdi + 0x18], rax
mov byte [rdi + 0x15], r14b
mov qword [rsi], rdi
cmp qword [rdi + 0x18], 0
jne 0x18012a3ec
mov rax, qword [0x1801d8340]
test rax, rax
je 0x18012a395
mov ecx, 0x12c
call rax
mov rcx, qword [rbx]
test eax, eax
je 0x18012a398
call fcn.1800750f0
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.18012a050
jmp 0x18012a3ec
mov rcx, qword [rbx]
test rcx, rcx
je 0x18012a3a9
mov edx, 0x18
call fcn.180074de0
jmp 0x18012a3b3
mov ecx, 0x18
call fcn.180074650
mov rcx, rax
test rax, rax
je 0x18012a388
mov rax, qword [rbx + 0xc8]
mov qword [rcx], rax
lea rax, [fcn.18012a050]
mov qword [rbx + 0xc8], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rsi
jmp 0x18012a3ec
cmp edx, 0x3f
jge 0x18012a3ec
mov rax, qword [r15]
btr rax, rdx
mov qword [r15], rax
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov r12, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1801525e0
add rsp, 0x90
pop r15
pop r14
pop r13
pop rdi
pop rbx
ret