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

Disassembly:
mov dword [rsp + 0x18], r8d
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, 0x58
mov rbx, qword [rdx + 0x40]
mov eax, dword [rcx + 0x54]
mov rsi, qword [rcx + 0x10]
movzx r15d, word [rbx + 0x1a]
mov rdi, rcx
movzx ecx, word [rbx + 0x18]
lea r12d, [rcx + r9]
mov r14, rdx
mov rdx, qword [rbx + 0x20]
lea ebp, [rax + 1]
mov dword [rsp + 0xb8], ecx
add eax, r12d
mov rcx, rsi
mov r13d, r8d
mov qword [rsp + 0x38], rbx
mov dword [rdi + 0x54], eax
call fcn.1400513f0
mov rcx, qword [rdi]
mov rdx, rax
call fcn.1400449f0
mov rcx, rax
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x14001a8a0
mov rax, qword [rdi]
mov byte [rax + 0x50], 1
test r15w, r15w
je 0x14001a982
mov r14d, dword [r14 + 8]
mov edx, 0x6c
mov eax, 0x69
test r13d, r13d
mov rcx, rsi
mov r8d, r14d
cmovne edx, eax
xor r9d, r9d
mov dword [rsp + 0x20], 0
call fcn.140068970
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.140068970
mov edx, 0x41
test r13d, r13d
mov ebx, eax
mov eax, 0x3e
movzx edi, r15w
cmovne edx, eax
mov r8d, r14d
mov rcx, rsi
xor r9d, r9d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebp
call fcn.140068a50
mov r8, qword [rsp + 0xa8]
mov dword [r8 + 0x14], eax
mov edx, dword [rsi + 0x3c]
cmp edx, ebx
jbe 0x14001a939
mov rax, qword [rsi + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
xor ebx, ebx
dec ecx
mov dword [rax + 0x64], ecx
test edi, edi
jle 0x14001aa32
nop
lea eax, [rbx + rbp]
mov r9d, ebx
mov r8d, r14d
mov edx, 0x2f
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140068970
inc ebx
cmp ebx, edi
jl 0x14001a950
mov rdi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov r8, qword [rsp + 0xa8]
movzx r13d, r15w
cmp r13d, dword [rsp + 0xb8]
jge 0x14001ac73
movsxd rdx, r12d
lea r12, [rcx + r13]
lea rcx, [r13*8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdx
nop word [rax + rax]
mov rax, qword [rbx + 0x30]
mov ebx, r13d
mov r9d, r13d
mov r14, qword [rcx + rax]
mov eax, dword [rsp + 0xb0]
add ebx, ebp
mov rcx, rdi
mov rdx, r14
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.14001b1e0
mov r15d, eax
cmp eax, ebx
je 0x14001aaa0
cmp qword [rsp + 0x48], 1
jne 0x14001aa52
test ebp, ebp
je 0x14001aa4d
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x14001aa4d
xor ecx, ecx
lea rax, [rdi + 0x88]
cmp dword [rax + 0xc], ebp
je 0x14001aa49
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14001aa13
movzx eax, dl
mov dword [rdi + rax*4 + 0x24], ebp
inc byte [rdi + 0x1f]
mov ebp, r15d
jmp 0x14001aaa0
mov rdi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
jmp 0x14001a98a
mov byte [rax + 6], 1
mov ebp, r15d
jmp 0x14001aaa0
mov rax, qword [rsi + 0x30]
movsxd rdi, dword [rsi + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x14001aa70
mov edx, 1
mov rcx, rsi
call fcn.140029ca0
test eax, eax
jne 0x14001aaa0
mov rax, qword [rsi + 8]
inc dword [rsi + 0x3c]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 0x22
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
test byte [r14 + 0x1a], 0x81
jne 0x14001ac2a
mov rax, qword [r14]
mov rbx, qword [rax + 0x18]
mov rax, rbx
movzx ecx, byte [rax]
add cl, 0x63
cmp cl, 1
ja 0x14001aac6
mov rax, qword [rax + 0x10]
jmp 0x14001aab5
movzx ecx, byte [rax]
cmp cl, 0x9f
jne 0x14001aad2
movzx ecx, byte [rax + 0x36]
cmp cl, 0x61
je 0x14001ab6f
cmp cl, 0x83
jbe 0x14001ab12
cmp cl, 0x86
jbe 0x14001ab6f
cmp cl, 0x9a
jne 0x14001ab12
movzx ecx, word [rax + 0x30]
test cx, cx
js 0x14001ab6f
movsx rcx, cx
lea rdx, [rcx + rcx*2]
mov rcx, qword [rax + 0x40]
mov rax, qword [rcx + 8]
shl rdx, 4
cmp byte [rdx + rax + 0x28], 0
jne 0x14001ab6f
mov rax, qword [rsi + 0x30]
mov r14, qword [rsp + 0xa8]
movsxd rdi, dword [rsi + 0x3c]
mov r14d, dword [r14 + 0xc]
cmp dword [rax + 0x60], edi
jg 0x14001ab3c
mov edx, 1
mov rcx, rsi
call fcn.140029ca0
test eax, eax
jne 0x14001ab6f
mov rax, qword [rsi + 8]
inc dword [rsi + 0x3c]
lea rcx, [rdi + rdi*2]
lea rdx, [rax + rcx*8]
mov eax, r13d
add eax, ebp
mov word [rdx], 0x4c
mov byte [rdx + 3], 0
mov dword [rdx + 8], r14d
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov dword [rdx + 4], eax
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14001ac2f
movzx edi, byte [r12]
mov rcx, rbx
call fcn.140047260
test al, al
je 0x14001ab9f
test dil, dil
je 0x14001aba4
cmp al, 0x43
jge 0x14001abb0
cmp dil, 0x43
jl 0x14001abab
jmp 0x14001abb0
test dil, dil
je 0x14001abab
add al, dil
cmp al, 0x41
jne 0x14001abb0
mov byte [r12], 0x41
movzx edx, byte [r12]
cmp dl, 0x41
je 0x14001ac25
nop word [rax + rax]
movzx eax, byte [rbx]
add al, 0x63
cmp al, 1
ja 0x14001abcf
mov rbx, qword [rbx + 0x10]
jmp 0x14001abc0
movzx eax, byte [rbx]
cmp al, 0x9f
jne 0x14001abda
movzx eax, byte [rbx + 0x36]
movzx ecx, al
sub ecx, 0x61
je 0x14001ac19
sub ecx, 0x23
je 0x14001ac0f
dec ecx
je 0x14001ac05
dec ecx
je 0x14001ac25
cmp ecx, 0x14
jne 0x14001ac2a
cmp word [rbx + 0x30], 0
jge 0x14001ac2a
sub dl, 0x43
cmp dl, 1
jbe 0x14001ac25
jmp 0x14001ac2a
sub dl, 0x43
test dl, 0xfd
jne 0x14001ac2a
jmp 0x14001ac25
sub dl, 0x43
cmp dl, 1
ja 0x14001ac2a
jmp 0x14001ac25
xor eax, eax
cmp dl, 0x42
sete al
test eax, eax
je 0x14001ac2a
mov byte [r12], 0x41
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x38]
add rcx, 8
inc r13d
inc r12
mov qword [rsp + 0x40], rcx
cmp r13d, dword [rsp + 0xb8]
jl 0x14001a9c0
mov rcx, qword [rsp + 0xc0]
mov qword [rcx], rax
jmp 0x14001ac7e
mov rax, qword [rsp + 0xc0]
mov qword [rax], rcx
mov eax, ebp
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret