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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor r12d, r12d
mov r15, r8
mov rbx, rdx
mov rdi, rcx
test rcx, rcx
je 0x140022541
test rdx, rdx
je 0x140022541
cmp dword [rdx + 4], 0x160
jne 0x140022541
lea r14, [rdx + 0x160]
mov byte [rdx + 0x164], r12b
mov edx, dword [rdx + 0x3c]
mov qword [rsp + 0x30], r14
mov dword [r14], r12d
cmp edx, 8
jbe 0x1400221f4
lea r8d, [r12 + 8]
lea rcx, [0x140031d40]
call fcn.14002d564
mov dword [r14], 3
xor eax, eax
jmp 0x140022546
cmp byte [rbx + 0x20], r12b
je 0x14002221d
test r15, r15
jne 0x14002221d
lea esi, [r15 + 2]
mov ecx, esi
lea rdx, [0x140031d80]
call fcn.140019598
mov byte [rbx + 0x164], 1
mov dword [r14], esi
jmp 0x1400221ed
add rcx, 0x26fc
mov rdx, rdi
call fcn.14000bae8
lea rcx, [rdi + 0x1640]
mov rdx, rdi
call fcn.14000bae8
mov rax, qword [rbx + 0x18]
lea rbp, [rbx + 0x24]
mov r9d, dword [rbx + 0x10]
mov rcx, rdi
mov r8d, dword [rbx + 0xc]
mov edx, dword [rbx + 8]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call fcn.14001d75c
mov rdx, rbp
mov rcx, rdi
call fcn.14001971c
mov rcx, rdi
call fcn.140008ac0
mov esi, 2
test al, al
jne 0x140022291
lea rdx, [0x140031dc0]
mov ecx, esi
call fcn.140019598
mov byte [rbx + 0x164], 1
mov eax, dword [rdi + 0x458]
cmp eax, esi
jl 0x1400222c2
mov r9d, dword [rdi + 0x45c]
lea r8, [0x140031e00]
lea rdx, [0x140031e30]
mov dword [rsp + 0x20], eax
mov ecx, esi
call fcn.140019598
mov byte [rbx + 0x164], 1
mov r8, r14
mov rdx, rbp
mov rcx, rdi
call fcn.14001fcc4
test al, al
jne 0x1400222e1
cmp byte [rdi + 0x12b6], r12b
je 0x14002251e
cmp byte [rbx + 0x164], r12b
jne 0x14002251e
cmp byte [rbx + 0x20], r12b
je 0x14002251e
cmp dword [rdi + 0x458], esi
jge 0x14002251e
inc dword [rdi + 0x45c]
lea rdx, [0x140031e60]
mov r8d, dword [rdi + 0x45c]
mov ecx, esi
mov dword [rdi + 0x458], esi
call fcn.140019598
cmp byte [rdi + 0x12b9], r12b
je 0x140022332
mov al, 1
jmp 0x140022341
mov al, r12b
cmp byte [rdi + 0x12b8], r12b
jne 0x140022341
mov al, byte [rbx + 0x21]
mov byte [rdi + 0x52c], al
lea rdx, [rdi + 0x460]
mov eax, dword [rdi + 0x548]
mov r8, rbp
mov dword [rdi + 0x534], eax
mov rcx, rdi
mov eax, dword [rdi + 0x540]
mov dword [rdi + 0x530], eax
mov qword [rdi + 0x538], r15
call fcn.14001e934
mov ebp, r12d
lea r13, [rbx + 0x60]
lea r12, [0x14003d2b8]
sub r12, rdi
lea rsi, [0x14003d2b4]
lea r14, [0x14003d2bc]
mov qword [rsp + 0x80], r12
sub rsi, rdi
lea rbx, [0x14003d2b0]
sub r14, rdi
lea r15, [rdi + 0x470]
sub rbx, rdi
mov qword [rsp + 0x98], rbx
jmp 0x1400223c8
mov r12, qword [rsp + 0x80]
cmp byte [r15 - 4], 0
je 0x140022483
mov eax, dword [r15 + 4]
lea rdx, [0x140031e80]
mov r9d, dword [r15]
mov r8d, ebp
mov ecx, 6
mov dword [rsp + 0x20], eax
call fcn.140019598
mov eax, dword [rbx + r15 - 0x468]
movsd xmm0, qword [rbx + r15 - 0x470]
movsd qword [r14 + r15 - 0x470], xmm0
mov dword [r14 + r15 - 0x468], eax
imul edx, dword [r13], 0x3e8
mov ecx, dword [r15 + 4]
mov eax, dword [r15]
mov dword [rbx + r15 - 0x470], eax
mov dword [rsi + r15 - 0x470], ecx
mov dword [r12 + r15 - 0x470], edx
mov rdx, qword [rdi + 0x200]
mov eax, ebp
and al, 0x1f
mov r8d, ebp
shr r8, 5
movzx ecx, al
mov eax, dword [rdx + r8*4 + 0x10]
bt eax, ecx
mov edx, ebp
jae 0x140022468
mov rcx, rdi
call fcn.140020510
jmp 0x14002247e
lea rcx, [0x140031eb0]
call fcn.14002d564
mov edx, ebp
mov rcx, rdi
call fcn.140020a50
mov r12d, eax
jmp 0x1400224b5
lea rbx, [rdi + 0x1650]
mov rdx, rdi
mov rcx, rbx
call fcn.14000bae8
mov edx, ebp
mov rcx, rdi
call fcn.14001d114
mov rdx, rdi
mov rcx, rbx
mov r12d, eax
call fcn.140011540
mov rbx, qword [rsp + 0x98]
mov ecx, 0xc0000000
mov eax, r12d
and eax, ecx
cmp eax, ecx
je 0x1400224d6
inc ebp
add r13, 0x24
add r15, 0x18
cmp ebp, 8
jb 0x1400223c0
mov r14, qword [rsp + 0x30]
mov esi, 2
test r12d, r12d
js 0x14002250d
mov eax, dword [rdi + 0x12e8]
lea edx, [rsi + 6]
mov rcx, rdi
imul rbx, rax, 0xffffffffffffd8f0
call fcn.14000ee50
mov r8, rbx
lea edx, [rsi + 6]
mov rcx, rdi
call fcn.14000ef08
jmp 0x14002251e
lea rdx, [0x140031ed0]
xor ecx, ecx
call fcn.140019598
mov dword [r14], esi
mov rdx, rdi
lea rcx, [rdi + 0x1640]
call fcn.140011540
mov rdx, rdi
lea rcx, [rdi + 0x26fc]
call fcn.140011540
jmp 0x1400221ed
mov eax, 0xc000000d
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret