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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov r10, qword [rdx]
mov rbx, rdx
mov rsi, qword [rcx + 0x10]
xor edi, edi
movsxd r14, r9d
mov r15, r8
mov r11, rcx
mov qword [rsp + 0x50], r10
movzx edx, byte [r10]
mov r12d, 0x400
lea eax, [rdx - 0x2d]
test al, 0xf7
je 0x1401a238a
cmp dl, 0x32
jne 0x1401a1c65
mov ebp, dword [rsp + 0xe8]
lea edx, [rdi + 0x48]
mov r9d, ebp
xor r8d, r8d
mov rcx, rsi
call fcn.140205e00
jmp 0x1401a1fe1
mov r13, qword [r8 + 0x50]
mov ebp, edi
mov dword [rsp + 0x3c], 5
mov r12, rdi
mov qword [rsp + 0x48], r13
test dword [r13 + 0x28], 0x400
jne 0x1401a1ca6
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x1401a1ca6
mov rax, qword [rax + 0x38]
cmp byte [r14 + rax], dil
je 0x1401a1ca6
cmp dword [rsp + 0xe0], edi
mov eax, edi
sete al
jmp 0x1401a1cad
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x34], eax
test r9d, r9d
jle 0x1401a1cda
mov r8, qword [r13 + 0x38]
mov rax, rdi
nop dword [rax]
mov rcx, qword [r8 + rax*8]
test rcx, rcx
je 0x1401a1cd2
cmp qword [rcx], r10
je 0x1401a1d75
inc rax
cmp rax, r14
jl 0x1401a1cc0
movzx r8d, word [r13 + 0x2c]
cmp r14d, r8d
jge 0x1401a1d08
mov rax, qword [r13 + 0x38]
sub r8d, r14d
lea rdx, [rax + r14*8]
nop
mov rax, qword [rdx]
lea ecx, [rbp + 1]
lea rdx, [rdx + 8]
cmp qword [rax], r10
cmovne ecx, ebp
mov ebp, ecx
sub r8, 1
jne 0x1401a1cf0
test dword [r10 + 4], 0x800
mov eax, edi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
je 0x1401a1e19
mov rax, qword [r10 + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
je 0x1401a1e19
mov r8, qword [rsp + 0x48]
mov r9, r10
mov r13, qword [r11]
mov edx, r14d
mov rcx, r11
call fcn.1401c29c0
mov r15, rax
cmp byte [r13 + 0x63], dil
jne 0x1401a1de9
mov rcx, qword [rsp + 0xc0]
movsxd r14, ebp
shl r14, 2
mov rcx, qword [rcx]
test rcx, rcx
je 0x1401a1d8c
mov rdx, r14
call fcn.1401d86e0
jmp 0x1401a1d94
mov rdx, rbx
mov rcx, r15
call fcn.1401a7710
mov eax, dword [rsp + 0xe8]
jmp 0x1401a23cf
mov rcx, r14
call fcn.1401edac0
mov r12, rax
test rax, rax
je 0x1401a1da9
mov r8, r14
xor edx, edx
mov rcx, rax
call fcn.140145ae0
mov rcx, qword [rsp + 0xc0]
lea rax, [rsp + 0x30]
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov rdx, r15
mov qword [rsp + 0x20], r12
lea r8d, [r9 + 4]
call fcn.1401e1680
mov ecx, dword [rsp + 0x30]
mov r14d, dword [rsp + 0xd8]
mov dword [rsp + 0x3c], eax
mov rax, qword [rbx]
mov dword [rsp + 0x38], ecx
mov dword [rax + 0x2c], ecx
test r15, r15
je 0x1401a1df9
mov rdx, r15
mov rcx, r13
call fcn.1401dfa00
mov rax, qword [rbx]
mov r15, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0x38]
mov r13, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x3c]
jmp 0x1401a1e48
xor r9d, r9d
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov rdx, r10
mov rcx, r11
mov qword [rsp + 0x20], rdi
lea r8d, [r9 + 4]
call fcn.1401e1680
mov r8d, dword [rsp + 0x30]
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], eax
cmp eax, 4
jne 0x1401a1e5c
cmp dword [rsp + 0x34], edi
mov eax, edi
sete al
mov dword [rsp + 0x34], eax
jmp 0x1401a1e60
mov eax, dword [rsp + 0x34]
test eax, eax
mov ecx, 0x21
mov edx, 0x25
cmovne edx, ecx
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1401a1e8f
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.1401b3dc0
jmp 0x1401a1ebf
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], di
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [rax + rcx*8 + 1], dil
or dword [r13 + 0x28], 0x800
mov rcx, qword [rsp + 0xc0]
cmp dword [r15 + 0x40], edi
jne 0x1401a1edf
dec dword [rcx + 0x44]
mov eax, dword [rcx + 0x44]
mov dword [r15 + 0x10], eax
test r14d, r14d
jle 0x1401a1ef6
mov eax, dword [r13 + 0x28]
bt eax, 0x14
jb 0x1401a1ef6
bts eax, 0x12
mov dword [r13 + 0x28], eax
movsxd r13, dword [r15 + 0x40]
mov eax, r13d
add eax, ebp
mov rbp, qword [r15 + 0x48]
mov dword [r15 + 0x40], eax
mov r15, qword [rcx]
cdqe
lea r8, [rax + rax*4]
shl r8, 2
test rbp, rbp
jne 0x1401a1f26
mov rdx, r8
mov rcx, r15
call fcn.1401d86e0
jmp 0x1401a1f76
cmp rbp, qword [r15 + 0x1d0]
jae 0x1401a1f6b
cmp rbp, qword [r15 + 0x1c0]
jb 0x1401a1f41
cmp r8, 0x80
jmp 0x1401a1f55
cmp rbp, qword [r15 + 0x1c8]
jb 0x1401a1f6b
movzx eax, word [r15 + 0x186]
cmp r8, rax
ja 0x1401a1f6b
mov r15, qword [rsp + 0xd0]
mov r14, rbp
mov qword [r15 + 0x48], rbp
jmp 0x1401a2048
mov rdx, rbp
mov rcx, r15
call fcn.1401a66e0
mov r14, rax
test rax, rax
jne 0x1401a2033
test rbp, rbp
je 0x1401a2033
mov rdx, rbp
mov rcx, r15
call fcn.1401d8550
mov r15, qword [rsp + 0xd0]
mov qword [r15 + 0x48], r14
mov dword [r15 + 0x40], edi
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
test r12, r12
je 0x1401a1fd4
test rcx, rcx
je 0x1401a2324
cmp qword [rcx + 0x2e0], rdi
je 0x1401a22db
mov rdx, r12
call fcn.1401b7aa0
mov ebp, dword [rsp + 0xe8]
mov r12d, 0x400
test byte [rbx + 0x12], 4
jne 0x1401a23cd
mov edx, 0x200
cmp dword [r15], 0
je 0x1401a2003
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1401a23cd
mov rax, qword [rbx + 0x30]
test qword [r15 + 0x58], rax
jne 0x1401a23cd
test edi, edi
je 0x1401a23a2
movzx eax, word [rbx + 0x12]
test r12w, ax
je 0x1401a23a2
or ax, dx
mov word [rbx + 0x12], ax
jmp 0x1401a23a7
mov r15, qword [rsp + 0xd0]
mov qword [r15 + 0x48], r14
test r14, r14
je 0x1401a1fa2
mov rdx, qword [rsp + 0x48]
lea rcx, [r13*4]
add rcx, r13
movsxd r13, dword [rsp + 0xd8]
movzx eax, word [rdx + 0x2c]
cmp r13d, eax
jge 0x1401a2264
mov r15d, dword [rsp + 0x38]
lea r14, [r14 + rcx*4]
mov ecx, dword [rsp + 0xe8]
lea r9, [r13*8]
mov rbx, qword [rsp + 0x50]
mov r8d, ecx
sub r8d, r13d
mov qword [rsp + 0x60], r9
add r14, 0x10
mov dword [rsp + 0x30], r8d
mov eax, r13d
mov qword [rsp + 0x58], r12
sub eax, ecx
mov r10, r12
mov dword [rsp + 0x40], eax
mov ebp, ecx
mov rax, qword [rdx + 0x38]
mov rcx, qword [r9 + rax]
cmp qword [rcx], rbx
jne 0x1401a222f
cmp dword [rsp + 0x3c], 1
jne 0x1401a211b
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1401a20f6
mov r9d, ebp
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov edx, 0x82
mov rcx, rsi
call fcn.1401b3dc0
mov edx, eax
jmp 0x1401a2189
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x82
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edi
jmp 0x1401a217f
test r12, r12
je 0x1401a212e
mov r8d, dword [r10]
add r10, 4
mov qword [rsp + 0x58], r10
jmp 0x1401a2131
mov r8d, edi
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1401a215b
mov r9d, r8d
mov dword [rsp + 0x20], ebp
mov r8d, r15d
mov edx, 0x5a
mov rcx, rsi
call fcn.1401b3dc0
mov edx, eax
jmp 0x1401a2189
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rdi
mov dword [rax + rcx*8 + 4], r15d
mov dword [r14 - 0xc], edx
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1401a21b4
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov rcx, rsi
lea edx, [r9 + 0x32]
call fcn.1401b3dc0
jmp 0x1401a21dd
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x32
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov ecx, dword [rsp + 0x40]
add ecx, ebp
cmp ecx, r13d
jne 0x1401a2213
cmp dword [rsp + 0x34], edi
mov dword [r14 - 0x10], r15d
sete al
add al, 4
mov byte [r14], al
test r13d, r13d
jle 0x1401a220b
mov eax, dword [rsp + 0x30]
mov dword [r14 - 8], eax
mov dword [r14 - 4], ecx
jmp 0x1401a2217
mov ecx, edi
mov dword [r14 - 4], ecx
jmp 0x1401a2217
mov byte [r14], 0xb0
mov rdx, qword [rsp + 0x48]
add r14, 0x14
mov r8d, dword [rsp + 0x30]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x40]
inc ebp
movzx eax, word [rdx + 0x2c]
dec r8d
add r9, 8
mov dword [rsp + 0x30], r8d
add ecx, ebp
mov qword [rsp + 0x60], r9
cmp ecx, eax
jl 0x1401a20b1
mov rbx, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xd0]
test r13d, r13d
jle 0x1401a1fa6
test dword [rdx + 0x28], 0x100400
jne 0x1401a1fa6
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r15 + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1401a22a9
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x78]
call fcn.1401b3dc0
jmp 0x1401a1fa6
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x78
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x1401a1fa6
cmp r12, qword [rcx + 0x1d0]
jae 0x1401a2324
cmp r12, qword [rcx + 0x1c0]
jb 0x1401a2304
mov rax, qword [rcx + 0x1b8]
mov qword [r12], rax
mov qword [rcx + 0x1b8], r12
jmp 0x1401a1fd4
cmp r12, qword [rcx + 0x1c8]
jb 0x1401a2324
mov rax, qword [rcx + 0x1a8]
mov qword [r12], rax
mov qword [rcx + 0x1a8], r12
jmp 0x1401a1fd4
cmp dword [0x1402d7de0], edi
je 0x1401a237c
mov rcx, qword [0x1402e2580]
test rcx, rcx
je 0x1401a233e
call qword [0x1402d7e60]
mov rcx, r12
call qword [0x1402d7e18]
dec qword [0x1402e2518]
movsxd rcx, eax
sub qword [0x1402e24d0], rcx
mov rcx, r12
call qword [0x1402d7e08]
mov rcx, qword [0x1402e2580]
test rcx, rcx
je 0x1401a1fd4
call qword [0x1402d7e70]
jmp 0x1401a1fd4
mov rcx, r12
call qword [0x1402d7e08]
jmp 0x1401a1fd4
mov r8d, dword [rsp + 0xe8]
mov rdx, qword [r10 + 0x18]
call fcn.1401de050
mov ebp, eax
jmp 0x1401a1fe1
or word [rbx + 0x12], 4
movsxd rax, dword [rbx + 0x18]
test eax, eax
js 0x1401a23cd
mov rcx, qword [rbx + 8]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x1401a23cd
inc edi
test byte [rbx + 0x12], 4
je 0x1401a1ff0
mov eax, ebp
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret