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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov r13, qword [rcx + 0x10]
xor edi, edi
xor ebp, ebp
mov dword [rsp + 0x34], edi
mov r15, r8
mov rsi, rcx
mov dword [rsp + 0x48], ebp
cmp dword [rcx + 0x30], edi
jne 0x14022b84e
and dword [rsp + 0x3c], edi
mov r14, qword [r8 + 0x28]
mov byte [r8], 1
cmp dword [r8 + 0x30], edi
jle 0x14022b7e5
mov rax, qword [r14]
xor ebp, ebp
and dword [rsp + 0x38], 0
and dword [rsp + 0x30], ebp
test dword [rax + 4], 0x1000000
mov r10, qword [rax + 0x20]
mov qword [rsp + 0x50], r10
je 0x14022b4dd
mov rax, qword [rax + 0x40]
mov rbx, qword [rax + 0x48]
cmp dword [r15 + 0x24], ebp
je 0x14022b4b8
mov rax, qword [r14 + 8]
test byte [rax + 4], 0x20
je 0x14022b4b8
test edx, edx
je 0x14022b4b8
test edi, edi
jne 0x14022b4a1
inc dword [rsi + 0x38]
mov edi, dword [rsi + 0x38]
mov dword [rsp + 0x34], edi
and dword [rsp + 0x20], ebp
mov r8d, edx
mov edx, 0x50
mov r9d, edi
mov rcx, r13
call fcn.1402156c4
dec dword [rsi + 0x44]
mov r9d, 0x10
mov r12d, dword [rsi + 0x44]
mov rdx, rbx
mov r8d, r12d
mov dword [rsp + 0x38], r12d
mov rcx, rsi
call fcn.1401f0e88
mov r10, qword [rsp + 0x50]
cmp dword [r14 + 0x18], ebp
jl 0x14022b688
mov rax, qword [r14]
cmp byte [r14 + 0x1d], 0
mov ebx, dword [r10]
mov rcx, qword [rax + 0x10]
mov rdi, qword [rcx + 0x20]
mov eax, dword [rdi]
lea ebp, [rax + 1]
cmovne ebp, eax
cmp byte [r14 + 0x1c], 0
je 0x14022b50b
add ebp, ebx
cmp byte [r14 + 0x1e], 0
je 0x14022b514
add ebp, ebx
inc ebp
mov rcx, rsi
mov edx, ebp
call fcn.1402001dc
xor r9d, r9d
mov dword [rsp + 0x30], eax
mov r8d, eax
mov byte [rsp + 0x20], 1
mov rcx, rsi
mov rdx, rdi
mov r12d, eax
call fcn.1401ee5b0
cmp byte [r14 + 0x1d], 0
mov edi, dword [rdi]
jne 0x14022b562
mov r8d, dword [r14 + 0x18]
lea r9d, [rdi + r12]
and dword [rsp + 0x20], 0
mov edx, 0x7e
mov rcx, r13
call fcn.1402156c4
inc edi
cmp byte [r14 + 0x1c], 0
je 0x14022b58b
mov rdx, qword [rsp + 0x50]
lea eax, [rdi + r12]
mov r8d, eax
mov dword [rsp + 0x30], eax
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov rcx, rsi
call fcn.1401ee5b0
add edi, ebx
cmp byte [r14 + 0x1e], 0
mov ecx, dword [rsp + 0x30]
je 0x14022b5eb
cmp byte [r14 + 0x1c], 0
mov eax, r12d
cmovne eax, ecx
and dword [rsp + 0x40], 0
test ebx, ebx
jle 0x14022b5eb
mov r15d, dword [rsp + 0x40]
add edi, r12d
mov esi, eax
and dword [rsp + 0x20], 0
lea r8d, [r15 + rsi]
mov r9d, edi
mov edx, 0xb5
mov rcx, r13
call fcn.1402156c4
inc r15d
inc edi
cmp r15d, ebx
jl 0x14022b5b4
mov rsi, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0x30]
mov edi, dword [rsp + 0x34]
mov r10, qword [rsp + 0x50]
mov r8d, dword [r14 + 0x10]
test r8d, r8d
js 0x14022b637
test r10, r10
je 0x14022b637
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x14022b618
dec dword [rsi + 0x44]
mov eax, dword [rsi + 0x44]
mov r8d, dword [r14 + 0x10]
mov dword [rsp + 0x38], eax
mov edx, dword [rsp + 0xc8]
mov r9d, eax
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov qword [rsp + 0x20], r10
call fcn.140195c64
mov dword [r14 + 0x10], eax
cmp dword [r14 + 0x18], 0
jl 0x14022b6c9
lea edi, [rbp - 1]
mov r8d, r12d
lea ebx, [rbp - 1]
add edi, r12d
mov r9d, ebx
mov dword [rsp + 0x20], edi
mov edx, 0x61
mov rcx, r13
call fcn.1402156c4
mov r8d, dword [r14 + 0x18]
mov r9d, edi
mov edx, 0x8a
mov dword [rsp + 0x28], ebx
mov rcx, r13
mov dword [rsp + 0x20], r12d
call fcn.1402157d8
mov edi, dword [rsp + 0x34]
jmp 0x14022b79e
test r10, r10
je 0x14022b6bb
mov ebx, dword [r10]
mov rcx, rsi
mov edx, ebx
call fcn.1402001dc
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov r8d, eax
mov rcx, rsi
mov rdx, r10
mov r12d, eax
call fcn.1401ee5b0
mov ecx, r12d
jmp 0x14022b5ef
mov ecx, dword [rsp + 0x30]
xor ebx, ebx
xor r12d, r12d
jmp 0x14022b5f4
mov rax, qword [r14 + 8]
test byte [rax + 4], 0x20
je 0x14022b747
mov rbp, qword [rsp + 0x50]
xor edi, edi
add rbp, 8
cmp edi, ebx
jge 0x14022b6fe
mov rdx, qword [rbp]
mov rcx, rsi
call fcn.1401f05fc
inc edi
add rbp, 0x20
test rax, rax
je 0x14022b6de
mov rbp, rax
jmp 0x14022b705
mov rax, qword [rsi]
mov rbp, qword [rax + 0x10]
mov edi, dword [rsp + 0x34]
test edi, edi
jne 0x14022b71d
cmp dword [r15 + 0x24], edi
je 0x14022b71d
inc dword [rsi + 0x38]
mov edi, dword [rsi + 0x38]
mov dword [rsp + 0x34], edi
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, edi
mov rcx, r13
lea edx, [r9 + 0x55]
call fcn.1402156c4
mov r9d, 0xfffffffe
mov r8, rbp
mov edx, eax
mov rcx, r13
call fcn.140215ab8
mov eax, dword [r15 + 0x20]
mov r9d, r12d
add eax, dword [r15 + 0xc]
xor r8d, r8d
add eax, dword [rsp + 0x3c]
mov edx, 0xa2
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1402156c4
mov rdx, qword [r14 + 8]
mov r8d, 0xfffffff9
mov rcx, r13
call fcn.140215a40
movsxd rax, dword [r13 + 0x90]
test eax, eax
jle 0x14022b79c
lea rcx, [rax + rax*2]
movzx r8d, bl
mov rax, qword [r13 + 0x88]
mov word [rax + rcx*8 - 0x16], r8w
mov ebp, ebx
mov r8d, ebp
mov edx, r12d
mov rcx, rsi
call fcn.14020c980
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x14022b7be
mov edx, eax
mov rcx, r13
call fcn.1402201dc
mov ecx, dword [rsp + 0x3c]
add r14, 0x20
mov edx, dword [rsp + 0xb8]
inc ecx
mov dword [rsp + 0x3c], ecx
cmp ecx, dword [r15 + 0x30]
jl 0x14022b457
test edi, edi
jne 0x14022b7f3
mov ebp, dword [rsp + 0x48]
mov eax, dword [r15 + 0x24]
test eax, eax
je 0x14022b810
mov edi, edx
test edx, edx
je 0x14022b810
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, edi
mov rcx, r13
lea edx, [r9 + 0x10]
call fcn.1402156c4
mov ebp, eax
mov eax, dword [r15 + 0x24]
mov rdi, qword [r15 + 0x18]
xor ebx, ebx
test eax, eax
jle 0x14022b83c
add rdi, 8
mov r8d, dword [r15 + 0xc]
mov rcx, rsi
mov rdx, qword [rdi]
add r8d, ebx
call fcn.1401ee4cc
inc ebx
lea rdi, [rdi + 0x18]
cmp ebx, dword [r15 + 0x24]
jl 0x14022b81e
mov byte [r15], 0
test ebp, ebp
je 0x14022b84e
mov edx, ebp
mov rcx, r13
call fcn.14021df14
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret