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

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, qword [rcx + 0x10]
mov r14, qword [rcx]
mov rsi, rcx
xor edi, edi
add rbx, 0x38
xor r12d, r12d
lea edx, [rdi + 8]
mov rcx, rbx
xor r15d, r15d
call fcn.1402226b0
cmp dword [rsi + 0x84], 7
mov qword [rsi + 0x28], rdi
jne 0x1402228f9
mov byte [r14 + 0x50], 1
lea eax, [rdi + 1]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov r9d, dword [rsi + 0x8c]
mov r10d, dword [rsi + 0x3c]
mov qword [rsp + 0x50], rbp
and r9d, 3
cmp r9d, 1
jne 0x14022297d
mov r15, qword [rsi + 0x10]
add r15, 0x1f8
test byte [r15 + 0x24], 0x10
je 0x140222931
movsxd r12, dword [r15 + 0x20]
mov rdi, qword [r15 + 8]
shr r12, 3
movsxd rbp, r12d
xor edx, edx
xor r8d, r8d
xor ecx, ecx
cmp rbp, 2
jl 0x140222969
lea r11, [rbp - 1]
nop word [rax + rax]
mov rax, qword [rdi + rcx*8]
add rcx, 2
add edx, dword [rax + 8]
mov rax, qword [rdi + rcx*8 - 8]
add r8d, dword [rax + 8]
cmp rcx, r11
jl 0x140222950
cmp rcx, rbp
jge 0x140222976
mov rax, qword [rdi + rcx*8]
add r10d, dword [rax + 8]
lea eax, [r8 + rdx]
add r10d, eax
mov qword [rsp + 0x58], r13
nop dword [rax]
nop word [rax + rax]
movsxd rdx, dword [rsi + 0x80]
lea eax, [rdx + 1]
mov dword [rsi + 0x80], eax
cmp edx, r10d
jge 0x140222d57
cmp r9d, 2
jne 0x1402229bd
mov rax, qword [rsi + 8]
lea rcx, [rdx + rdx*2]
cmp byte [rax + rcx*8], 0x9c
jne 0x140222990
mov eax, dword [r14 + 0x138]
test eax, eax
je 0x140222a04
mov rax, qword [0x140308958]
lea r9, [0x140311c00]
lea rcx, [rsi + 0x48]
test rax, rax
lea r8, [0x140346ba8]
mov rdx, r14
cmovne r9, rax
mov dword [rsi + 0x84], 9
mov edi, 1
call fcn.140202260
jmp 0x140222d66
mov eax, dword [rsi + 0x3c]
cmp edx, eax
jge 0x140222a18
mov rax, qword [rsi + 8]
mov r8, rdx
lea rcx, [rdx + rdx*2]
jmp 0x140222a56
sub edx, eax
mov rax, qword [rdi]
xor r9d, r9d
mov ecx, dword [rax + 8]
cmp edx, ecx
jl 0x140222a45
xor r8d, r8d
nop word [rax + rax]
mov rax, qword [rdi + r8*8 + 8]
sub edx, ecx
lea r8, [r8 + 1]
mov ecx, dword [rax + 8]
inc r9d
cmp edx, ecx
jge 0x140222a30
movsxd rax, r9d
movsxd r8, edx
mov rax, qword [rdi + rax*8]
lea rcx, [r8 + r8*2]
mov rax, qword [rax]
lea r13, [rax + rcx*8]
mov eax, dword [rsi + 0x8c]
mov r14d, 4
and al, 3
mov ecx, 0xa02
cmp al, 1
jne 0x140222b26
mov word [rbx + 0x24], r14w
mov qword [rbx + 0x18], r8
mov word [rbx + 0x5c], cx
movzx eax, byte [r13]
lea rcx, [0x1403082f0]
mov rcx, qword [rcx + rax*8]
mov qword [rbx + 0x40], rcx
mov rax, rcx
test rcx, rcx
je 0x140222ab2
cmp byte [rcx], 0
je 0x140222aab
inc rax
cmp byte [rax], 0
jne 0x140222aa3
sub eax, ecx
and eax, 0x3fffffff
mov dword [rbx + 0x58], eax
mov byte [rbx + 0x5e], 1
add rbx, 0x70
cmp byte [r13 + 1], 0xee
jne 0x140222b26
xor ecx, ecx
lea ebp, [r12*8 + 8]
test r12d, r12d
jle 0x140222af0
mov rdx, qword [r13 + 0x10]
xor eax, eax
movsxd r8, r12d
nop dword [rax]
cmp qword [rdi + rax*8], rdx
je 0x140222af0
inc rax
inc ecx
cmp rax, r8
jl 0x140222ae0
cmp ecx, r12d
jne 0x140222b26
xor r8d, r8d
test r12d, r12d
mov edx, ebp
setne r8b
mov rcx, r15
call fcn.14021feb0
test eax, eax
jne 0x140222b26
mov rax, qword [r13 + 0x10]
mov rcx, qword [r15 + 8]
movsxd rdx, r12d
mov qword [rcx + rdx*8], rax
or word [r15 + 0x24], 0x10
mov dword [r15 + 0x20], ebp
mov word [rbx + 0x24], r14w
movsxd rax, dword [r13 + 4]
xor r8d, r8d
mov qword [rbx + 0x18], rax
mov word [rbx + 0x5c], r14w
movsxd rax, dword [r13 + 8]
mov qword [rbx + 0x50], rax
mov word [rbx + 0x94], r14w
movsxd rax, dword [r13 + 0xc]
mov qword [rbx + 0x88], rax
add rbx, 0xa8
lea edx, [r8 + 0x20]
mov rcx, rbx
call fcn.14021feb0
test eax, eax
jne 0x140222ce5
mov rdx, qword [rbx + 8]
mov r12d, 0x202
mov rcx, r13
mov word [rbx + 0x24], r12w
call fcn.140222160
mov rcx, qword [rbx + 8]
mov rbp, rax
cmp rax, rcx
je 0x140222c93
test rax, rax
jne 0x140222be1
test byte [rbx + 0x24], 0x40
je 0x140222bbc
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rdx]
mov rax, qword [rcx + 0xf8]
mov qword [rdx + 8], rax
mov qword [rcx + 0xf8], rdx
test byte [rbx + 0x24], 0x20
je 0x140222bcb
mov rcx, qword [rbx + 0x18]
call fcn.14020b730
mov eax, 0xbe01
and word [rbx + 0x24], ax
or word [rbx + 0x24], 1
xor r15d, r15d
jmp 0x140222cc1
mov rax, qword [rbx]
test rax, rax
je 0x140222bee
mov ecx, dword [rax + 0x68]
jmp 0x140222bf3
mov ecx, 0x3b9aca00
xor r15d, r15d
movsxd rcx, ecx
mov edi, r15d
mov eax, r15d
test rcx, rcx
js 0x140222c14
cmp byte [rax + rbp], r15b
je 0x140222c14
inc rax
inc edi
cmp rax, rcx
jle 0x140222c04
lea rax, [0x140201c80]
movzx r14d, r12w
test rax, rax
mov eax, 0x2460
jne 0x140222c52
test word [rbx + 0x24], ax
je 0x140222c37
mov rcx, rbx
call fcn.140220310
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x140222c4c
mov rcx, qword [rbx]
call fcn.140201d40
mov qword [rbx + 0x30], r15
mov qword [rbx + 0x30], rbp
jmp 0x140222c7b
test word [rbx + 0x24], ax
je 0x140222c60
mov rcx, rbx
call fcn.140220310
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x140222c75
mov rcx, qword [rbx]
call fcn.140201d40
mov qword [rbx + 0x30], r15
mov r14d, 0xa02
mov word [rbx + 0x24], r14w
mov qword [rbx + 0x28], r15
mov qword [rbx + 8], rbp
mov r14d, 4
mov dword [rbx + 0x20], edi
jmp 0x140222cbd
mov rax, rcx
test rcx, rcx
jne 0x140222ca3
xor r15d, r15d
mov eax, r15d
jmp 0x140222cba
cmp byte [rcx], 0
je 0x140222cb0
inc rax
cmp byte [rax], 0
jne 0x140222ca8
sub eax, ecx
and eax, 0x3fffffff
xor r15d, r15d
mov dword [rbx + 0x20], eax
mov byte [rbx + 0x26], 1
mov eax, dword [rsi + 0x8c]
mov ebp, 2
and al, 3
cmp al, 1
jne 0x140222d21
lea rcx, [rbx + 0x38]
xor r8d, r8d
mov edx, r14d
call fcn.14021feb0
test eax, eax
je 0x140222cef
mov eax, 1
jmp 0x140222d68
mov rdx, qword [rbx + 0x40]
mov word [rbx + 0x5c], r12w
mov dword [rbx + 0x58], ebp
movzx r9d, byte [r13 + 3]
lea r8, str._.2x
mov ecx, 3
call fcn.140203bb0
mov edi, 1
mov byte [rbx + 0x5e], 1
mov word [rbx + 0x94], di
movzx eax, word [rsi + 0x8c]
mov dword [rsi + 0x84], r15d
mov edi, 0x64
and ax, 3
dec ax
sub bp, ax
mov rax, qword [rsi + 0x10]
shl bp, 2
add rax, 0x38
mov qword [rsi + 0x28], rax
mov word [rsi + 0x88], bp
jmp 0x140222d66
mov dword [rsi + 0x84], 0
mov edi, 0x65
mov eax, edi
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret