Function at 0x140215770
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, 0x58
mov rbx, rdx
mov rdx, qword [rdx]
mov qword [rsp + 0x30], r8
mov r15, rcx
cmp word [rdx + 8], 0xd
jbe 0x14021579e
lea rbp, [fcn.14024f580]
jmp 0x140215803
mov r8, qword [rdx + 0x18]
mov rax, qword [rbx + 8]
mov r8b, byte [r8]
mov ecx, dword [rax + 0x14]
test r8b, r8b
je 0x1402157bf
and r8d, 2
jne 0x140215795
mov r9b, 1
mov r8b, 0xff
jmp 0x1402157c5
mov r9b, 0xff
mov r8b, 1
mov byte [rbx + 0x20], r9b
mov byte [rbx + 0x21], r8b
test cl, 4
je 0x1402157e2
mov rax, qword [rax]
lea rbp, [0x140266cf0]
mov qword [rbx + 0x10], rax
jmp 0x140215803
and cl, 0x39
jne 0x140215795
cmp qword [rdx + 0x20], 0
jne 0x140215795
mov rdx, qword [rax + 8]
mov eax, dword [rax + 0x10]
lea rbp, [0x140266dc0]
mov qword [rbx + 0x10], rdx
mov dword [rbx + 0x18], eax
mov byte [rbx + 0x1f], 0
cmp byte [r15], 0
jne 0x14021586c
mov rcx, qword [r15 + 0x88]
cmp byte [rcx + 8], 0
je 0x14021586c
movsx edx, byte [r15 + 0x54]
xor eax, eax
cmp edx, eax
jle 0x14021583f
mov r8, qword [r15 + rax*8 + 0x90]
mov r9w, word [r15 + rax*2 + 0x58]
inc rax
cmp r9w, word [r8 + 0x18]
jae 0x140215821
jmp 0x14021586c
movzx eax, word [rcx + 0x18]
movzx edx, word [r15 + 0x56]
dec eax
cmp edx, eax
jne 0x140215861
mov r9, rbp
mov r8, rbx
call fcn.1401f5e50
test eax, eax
jle 0x140215b7a
cmp byte [r15 + 0x54], 0
jg 0x140215894
mov byte [rbx + 0x1f], 0
mov rcx, r15
call fcn.1401fd2e0
mov edx, eax
test eax, eax
je 0x1402158cc
cmp eax, 0x10
jne 0x140215b89
or eax, 0xffffffff
mov rdi, qword [rsp + 0x30]
xor edx, edx
mov dword [rdi], eax
jmp 0x140215b89
mov rcx, qword [r15 + 0x88]
xor edx, edx
mov r9, rbp
mov r8, rbx
call fcn.1401f5e50
test eax, eax
jg 0x140215868
cmp byte [rbx + 0x1f], 0
jne 0x140215868
mov rax, qword [r15 + 0x88]
and byte [r15 + 1], 0xfb
mov ecx, 0x12796
cmp byte [rax], 0
je 0x140215ac3
lea rax, [r15 + 0x30]
mov qword [rsp + 0x40], rax
mov r14, qword [r15 + 0x88]
xor r12d, r12d
movzx r13d, word [r14 + 0x18]
dec r13d
mov esi, r13d
sar esi, 1
mov rdx, qword [r14 + 0x60]
lea eax, [rsi + rsi]
cdqe
movzx edx, word [rdx + rax]
xchg dl, dh
and dx, word [r14 + 0x1a]
movzx edx, dx
add rdx, qword [r14 + 0x68]
movzx eax, byte [rdx]
mov ecx, eax
cmp byte [r14 + 0xb], al
jb 0x14021591a
inc rdx
mov r8, rbx
jmp 0x14021593c
movzx ecx, byte [rdx + 1]
test cl, cl
js 0x140215943
shl eax, 7
and eax, 0x3f80
add ecx, eax
movzx eax, word [r14 + 0xe]
cmp eax, ecx
jl 0x140215943
add rdx, 2
mov r8, rbx
call rbp
jmp 0x140215a13
movzx eax, byte [r14 + 0xa]
mov r8, qword [rsp + 0x40]
mov rcx, r14
sub rdx, rax
call qword [r14 + pe_nt_image_headers64]
mov rdi, qword [r15 + 0x30]
mov dword [rsp + 0x3c], edi
cmp edi, 1
jle 0x140215977
mov rcx, qword [r15 + 0x20]
mov eax, edi
xor edx, edx
div dword [rcx + 0x38]
cmp dword [rcx + 0x40], eax
jae 0x140215981
mov ecx, 0x127ed
jmp 0x140215a3e
lea ecx, [rdi + 0x12]
movsxd rcx, ecx
call fcn.1402329e0
mov r9, rax
test rax, rax
je 0x140215b6c
xor ecx, ecx
mov word [r15 + 0x56], si
mov r8d, edi
xor edx, edx
mov dword [rsp + 0x20], ecx
mov rcx, r15
movsxd rdi, edi
mov qword [rsp + 0x48], rax
call fcn.1401c3a90
mov r9, qword [rsp + 0x48]
mov ecx, 0x12
mov edx, eax
xor eax, eax
lea r8, [r9 + rdi]
mov rdi, r8
rep stosb byte [rdi], al
and byte [r15 + 1], 0xfb
test edx, edx
je 0x1402159ed
mov rcx, r9
mov dword [rsp + 0x30], edx
call fcn.14025a080
mov edx, dword [rsp + 0x30]
jmp 0x140215b71
mov ecx, dword [rsp + 0x3c]
mov r8, rbx
mov rdx, r9
mov qword [rsp + 0x48], r9
call fcn.14024f580
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x3c], eax
call fcn.14025a080
mov eax, dword [rsp + 0x3c]
test eax, eax
jns 0x140215a1d
lea r12d, [rsi + 1]
jmp 0x140215a4a
je 0x140215a25
lea r13d, [rsi - 1]
jmp 0x140215a4a
mov rax, qword [rsp + 0x30]
xor edx, edx
mov dword [rax], edx
mov word [r15 + 0x56], si
cmp byte [rbx + 0x1f], 0
je 0x140215a6d
mov ecx, 0x1280d
call fcn.140219db0
mov edx, eax
jmp 0x140215b71
cmp r12d, r13d
jg 0x140215a5a
lea esi, [r12 + r13]
sar esi, 1
jmp 0x1402158ec
cmp byte [r14 + 8], 0
je 0x140215a74
mov rdi, qword [rsp + 0x30]
mov word [r15 + 0x56], si
mov dword [rdi], eax
xor edx, edx
jmp 0x140215b71
movzx eax, word [r14 + 0x18]
mov rdx, qword [r14 + 0x50]
cmp eax, r12d
jg 0x140215a8d
movzx eax, byte [r14 + 9]
mov edx, dword [rdx + rax + 8]
jmp 0x140215aa8
mov rcx, qword [r14 + 0x60]
lea eax, [r12 + r12]
cdqe
movzx eax, word [rcx + rax]
xchg al, ah
and ax, word [r14 + 0x1a]
movzx eax, ax
mov edx, dword [rdx + rax]
mov al, byte [r15 + 0x54]
and byte [r15 + 1], 0xf9
bswap edx
mov word [r15 + 0x46], 0
cmp al, 0x12
jle 0x140215ad8
mov ecx, 0x1282c
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140219db0
mov r8, qword [r15 + 0x88]
movsx rcx, al
inc eax
mov word [r15 + rcx*2 + 0x58], r12w
mov qword [r15 + rcx*8 + 0x90], r8
mov rcx, qword [r15 + 0x20]
lea r8, [r15 + 0x88]
mov word [r15 + 0x56], 0
movzx r9d, byte [r15 + 2]
mov byte [r15 + 0x54], al
call fcn.1401f49a0
mov edx, eax
test eax, eax
jne 0x140215b4d
mov rcx, qword [r15 + 0x88]
cmp word [rcx + 0x18], 0
je 0x140215b34
mov al, byte [r15 + 0x55]
cmp byte [rcx + 1], al
je 0x1402158d5
call fcn.140205db0
mov ecx, 0x12837
call fcn.140219db0
mov edx, eax
test eax, eax
je 0x1402158d5
mov al, byte [r15 + 0x54]
dec eax
mov byte [r15 + 0x54], al
movsx rax, al
mov rax, qword [r15 + rax*8 + 0x90]
mov qword [r15 + 0x88], rax
jmp 0x140215b71
mov edx, 7
mov word [r15 + 0x46], 0
jmp 0x140215b89
cmp byte [rbx + 0x1f], 0
jne 0x140215861
jmp 0x140215886
mov eax, edx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret