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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rsi, rdx
mov rdx, qword [rdx]
mov qword [rsp + 0x40], r8
mov rbx, rcx
cmp word [rdx + 8], 0xd
jbe 0x1401c09de
lea r12, [fcn.1401fbf10]
jmp 0x1401c0a3b
mov r8, qword [rdx + 0x18]
mov rax, qword [rsi + 8]
mov r8b, byte [r8]
mov ecx, dword [rax + 0x14]
test r8b, r8b
je 0x1401c09ff
and r8b, 2
jne 0x1401c09d5
mov word [rsi + 0x20], 0xff01
jmp 0x1401c0a05
mov word [rsi + 0x20], 0x1ff
test cl, 4
je 0x1401c0a1a
mov rax, qword [rax]
lea r12, [0x1402128b0]
mov qword [rsi + 0x10], rax
jmp 0x1401c0a3b
and cl, 0x39
jne 0x1401c09d5
cmp qword [rdx + 0x20], 0
jne 0x1401c09d5
mov rdx, qword [rax + 8]
mov eax, dword [rax + 0x10]
lea r12, [0x140212980]
mov qword [rsi + 0x10], rdx
mov dword [rsi + 0x18], eax
mov byte [rsi + 0x1f], 0
cmp byte [rbx], 0
jne 0x1401c0aa4
mov rcx, qword [rbx + 0x88]
cmp byte [rcx + 8], 0
je 0x1401c0aa4
movsx edx, byte [rbx + 0x54]
xor eax, eax
cmp edx, eax
jle 0x1401c0a75
mov r8, qword [rbx + rax*8 + 0x90]
mov r9w, word [rbx + rax*2 + 0x58]
inc rax
cmp r9w, word [r8 + 0x18]
jae 0x1401c0a57
jmp 0x1401c0aa4
movzx eax, word [rcx + 0x18]
movzx edx, word [rbx + 0x56]
dec eax
cmp edx, eax
jne 0x1401c0a96
mov r9, r12
mov r8, rsi
call fcn.1401a2640
test eax, eax
jle 0x1401c0cf2
cmp byte [rbx + 0x54], 0
jg 0x1401c0d08
mov byte [rsi + 0x1f], 0
mov rcx, rbx
call fcn.1401a94e0
mov r15d, eax
test eax, eax
je 0x1401c0acf
cmp eax, 0x10
jne 0x1401c0d5c
mov rax, qword [rsp + 0x40]
mov dword [rax], 0xffffffff
xor r15d, r15d
jmp 0x1401c0d5c
lea rax, [rbx + 0x30]
mov qword [rsp + 0x48], rax
mov r13, qword [rbx + 0x88]
xor r14d, r14d
movzx r15d, word [r13 + 0x18]
lea eax, [r15 - 1]
mov dword [rsp + 0x3c], eax
mov ebp, eax
sar ebp, 1
mov rdx, qword [r13 + 0x60]
lea eax, [rbp + rbp]
cdqe
movzx edx, word [rdx + rax]
xchg dl, dh
and dx, word [r13 + 0x1a]
movzx edx, dx
add rdx, qword [r13 + 0x68]
movzx ecx, byte [rdx]
cmp cl, byte [r13 + 0xb]
ja 0x1401c0b1d
inc rdx
jmp 0x1401c0b43
mov al, byte [rdx + 1]
test al, al
js 0x1401c0b51
shl ecx, 7
and ecx, 0x3f80
mov r8d, ecx
movzx ecx, al
movzx eax, word [r13 + 0xe]
add ecx, r8d
cmp eax, ecx
jl 0x1401c0b51
add rdx, 2
mov r8, rsi
call r12
mov r15d, eax
jmp 0x1401c0c25
movzx eax, byte [r13 + 0xa]
mov r8, qword [rsp + 0x48]
mov rcx, r13
sub rdx, rax
call qword [r13 + pe_nt_image_headers64]
mov r11, qword [rbx + 0x30]
mov eax, r11d
cmp r11d, 1
jle 0x1401c0b83
mov rcx, qword [rbx + 0x20]
xor edx, edx
div dword [rcx + 0x38]
cmp eax, dword [rcx + 0x40]
jbe 0x1401c0b8d
mov ecx, 0x1227c
jmp 0x1401c0c59
lea ecx, [r11 + 0x12]
mov qword [rsp + 0x50], r11
movsxd rcx, ecx
call fcn.1401dc700
mov r9, rax
test rax, rax
je 0x1401c0ce4
mov r11, qword [rsp + 0x50]
mov word [rbx + 0x56], bp
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x20], 0
mov r8d, r11d
mov qword [rsp + 0x58], rax
call fcn.140171580
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov ecx, 0x12
mov r15d, eax
xor eax, eax
movsxd rdx, r11d
add rdx, r9
mov rdi, rdx
rep stosb byte [rdi], al
and byte [rbx + 1], 0xfb
test r15d, r15d
je 0x1401c0c02
mov rcx, r9
call fcn.1402067c0
jmp 0x1401c0cea
mov rdx, r9
mov ecx, r11d
mov r8, rsi
mov qword [rsp + 0x50], r9
call fcn.1401fbf10
mov r9, qword [rsp + 0x50]
mov r15d, eax
mov rcx, r9
call fcn.1402067c0
test r15d, r15d
jns 0x1401c0c30
lea r14d, [rbp + 1]
jmp 0x1401c0c66
je 0x1401c0c3b
lea eax, [rbp - 1]
mov dword [rsp + 0x3c], eax
jmp 0x1401c0c66
mov rax, qword [rsp + 0x40]
mov dword [rax], 0
mov word [rbx + 0x56], bp
cmp byte [rsi + 0x1f], 0
je 0x1401c0cea
mov ecx, 0x1229c
call fcn.1401c4970
mov r15d, eax
jmp 0x1401c0cea
cmp r14d, dword [rsp + 0x3c]
jg 0x1401c0c7c
mov eax, dword [rsp + 0x3c]
lea ebp, [r14 + rax]
sar ebp, 1
jmp 0x1401c0af3
cmp byte [r13 + 8], 0
je 0x1401c0c94
mov rax, qword [rsp + 0x40]
mov word [rbx + 0x56], bp
mov dword [rax], r15d
xor r15d, r15d
jmp 0x1401c0cea
movzx eax, word [r13 + 0x18]
mov rdx, qword [r13 + 0x50]
cmp eax, r14d
jg 0x1401c0cad
movzx eax, byte [r13 + 9]
mov edx, dword [rdx + rax + 8]
jmp 0x1401c0cc8
mov rcx, qword [r13 + 0x60]
lea eax, [r14 + r14]
cdqe
movzx eax, word [rcx + rax]
xchg al, ah
and ax, word [r13 + 0x1a]
movzx eax, ax
mov edx, dword [rdx + rax]
mov word [rbx + 0x56], r14w
mov rcx, rbx
bswap edx
call fcn.1401a9380
mov r15d, eax
test eax, eax
je 0x1401c0ad8
jmp 0x1401c0cea
mov r15d, 7
mov word [rbx + 0x46], 0
jmp 0x1401c0d5c
cmp byte [rsi + 0x1f], 0
jne 0x1401c0a96
mov rdi, qword [rsp + 0x40]
mov dword [rdi], eax
jmp 0x1401c0ac7
mov rcx, qword [rbx + 0x88]
xor edx, edx
mov r9, r12
mov r8, rsi
call fcn.1401a2640
test eax, eax
jg 0x1401c0aa0
cmp byte [rsi + 0x1f], 0
jne 0x1401c0aa0
mov rax, qword [rbx + 0x88]
and byte [rbx + 1], 0xfb
cmp byte [rax], 0
jne 0x1401c0acf
mov ecx, 0x12225
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401c4970
mov eax, r15d
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret