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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov rsi, rdx
mov rdi, rcx
mov ecx, dword [rdx + 0x9c]
xor r12d, r12d
sub ecx, 5
je 0x140091eb7
sub ecx, 1
je 0x140091eb7
sub ecx, 1
je 0x140091eb7
cmp ecx, 1
je 0x140091eb7
xor r14b, r14b
mov r13d, r12d
jmp 0x140091ec1
mov r14b, 1
mov r13d, dword [rdx + 0xa0]
mov rbx, qword [rdi]
mov dword [rbp - 0x39], 1
mov qword [rbp - 0x35], 0xff
mov dword [rbp - 0x2d], r12d
mov qword [rbp - 0x29], rbx
lea rax, [rbx + 0x68]
mov qword [rbp - 0x21], rax
mov word [rbp - 0x19], r12w
mov rax, qword [rbx + 0x78]
cmp qword [rbx + 0x70], rax
jne 0x140091f0e
cmp qword [rbx + 0x90], r12
je 0x140091f0e
mov rax, qword [rbx + 0x88]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x10]
call fcn.1400738b0
mov rax, qword [rbx + 0x78]
add rax, 0xfffffffffffffff0
movups xmm0, xmmword [rax]
mov qword [rbx + 0x78], rax
movups xmmword [rbp - 0x39], xmm0
mov rbx, qword [rbp - 0x29]
movd eax, xmm0
and eax, 0xf00
jne 0x140091f64
lea rdx, [rbp - 0x39]
lea rcx, [rbx + 0x18]
call fcn.14009d5c0
test al, al
jne 0x140091f78
lea rcx, [rbx + 0x40]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x140091f59
movups xmmword [rdx], xmm0
add qword [rcx + 8], 0x10
jmp 0x140091f78
lea r8, [rbp - 0x39]
call fcn.140073db0
jmp 0x140091f78
cmp eax, 0x100
jne 0x140091f78
lea rdx, [rbp - 0x39]
lea rcx, [rbx + 0x18]
call fcn.14009d570
mov byte [rbp - 0x19], 1
mov rbx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
add rcx, 0xe8
mov dword [rbp - 0x59], 1
mov qword [rbp - 0x55], 0xff
mov dword [rbp - 0x4d], r12d
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
mov r9d, 0x24
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x49]
call fcn.1400f10f0
mov dword [rbp - 0x69], 0x4000031
mov eax, dword [rbp - 0x45]
mov dword [rbp - 0x65], eax
mov qword [rbp - 0x61], r12
lea rax, [rbx + 0x1a0]
test rax, rax
cmove rbx, r12
mov rax, qword [rbx]
lea rcx, [0x1401d78d8]
mov qword [rsp + 0x28], rcx
lea rcx, [0x1401d78f8]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x69]
lea r8, [rbp - 0x39]
mov edx, 0x1a7
mov rcx, rbx
call qword [rax + 0x30]
mov rbx, qword [rdi + 0x20]
lea r15, [rbx + 0x1a0]
test r14b, r14b
je 0x1400920d2
mov ecx, dword [rsi + 0xa0]
mov eax, ecx
shr rax, 0x20
mov qword [rbp - 0x69], 3
mov dword [rbp - 0x61], ecx
mov dword [rbp - 0x5d], eax
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
add rcx, 0xe8
mov dword [rbp - 0x59], 1
mov qword [rbp - 0x55], 0xff
mov dword [rbp - 0x4d], r12d
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
mov r9d, 0x24
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x49]
call fcn.1400f10f0
mov dword [rbp - 0x79], 0x4000031
mov eax, dword [rbp - 0x45]
mov dword [rbp - 0x75], eax
mov qword [rbp - 0x71], r12
test r15, r15
cmove rbx, r12
mov rax, qword [rbx]
lea rcx, [0x1401d78d8]
mov qword [rsp + 0x28], rcx
lea rdx, [0x1401d78f8]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x69]
lea r8, [rbp - 0x79]
mov edx, 0x1a2
mov rcx, rbx
call qword [rax + 0x30]
mov rcx, rsi
call fcn.140096b90
mov rax, qword [rdi + 8]
add dword [rax + 0x1c], r13d
jmp 0x140092226
mov rcx, rsi
call fcn.140024f20
mov ecx, dword [rax + 4]
mov dword [rbp - 0x59], 0x4000031
mov dword [rbp - 0x55], ecx
mov qword [rbp - 0x51], r12
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
add rcx, 0xe8
mov dword [rbp - 0x79], 1
mov qword [rbp - 0x75], 0xff
mov dword [rbp - 0x6d], r12d
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
mov r9d, 0x24
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x49]
call fcn.1400f10f0
mov dword [rbp - 0x69], 0x4000031
mov eax, dword [rbp - 0x45]
mov dword [rbp - 0x65], eax
mov qword [rbp - 0x61], r12
test r15, r15
cmove rbx, r12
mov rax, qword [rbx]
lea r15, [0x1401d78d8]
mov qword [rsp + 0x28], r15
lea rcx, [0x1401d78f8]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x59]
lea r8, [rbp - 0x69]
mov edx, 0x1a2
mov rcx, rbx
call qword [rax + 0x30]
mov rcx, rsi
call fcn.140096b90
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
add rcx, 0xe8
mov dword [rbp - 0x79], 1
mov qword [rbp - 0x75], 0xff
mov dword [rbp - 0x6d], r12d
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
mov r9d, 0x24
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x49]
call fcn.1400f10f0
mov dword [rbp - 0x69], 0x4000031
mov eax, dword [rbp - 0x45]
mov dword [rbp - 0x65], eax
mov qword [rbp - 0x61], r12
mov rbx, qword [rdi]
lea rcx, [rbx + 0xe8]
mov r8, qword [rbx + 0x10]
add r8, 0x278
mov r9d, 4
lea rdx, [rbp - 0x49]
call fcn.1400f3000
mov rcx, qword [rbx + 8]
lea rdx, [rcx + 0x1a0]
mov eax, dword [rbp - 0x69]
and eax, 7
mov qword [rsp + 0x28], r15
lea r9, [rbp - 0x69]
lea r8, [rbp - 0x49]
test rdx, rdx
lea rdx, [0x1401d78f8]
cmove rcx, r12
mov qword [rsp + 0x20], rdx
mov rax, qword [rcx]
mov edx, 7
call qword [rax + 0x30]
mov r15d, dword [rdi + 0x48]
mov dword [rbp + 0x6f], r15d
mov ecx, dword [rdi + 0x3c]
add ecx, r15d
mov dword [rbp + 0x67], ecx
mov qword [rbp - 0x69], rdi
lea rax, [rbp + 0x67]
mov qword [rbp - 0x61], rax
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp - 1]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp + 0xf]
call qword [rax + 0x18]
test r14b, r14b
je 0x1400924d4
lea eax, [r13 - 1]
cmp eax, 3
ja 0x140092409
test r13d, r13d
je 0x1400923f3
lea eax, [r13 - 1]
mov dword [rbp - 0x79], 1
mov qword [rbp - 0x75], 0xff
xor r15d, r15d
mov dword [rbp - 0x6d], r15d
cmp r12d, eax
jne 0x1400922a6
mov dword [rdi + 0x54], 3
jmp 0x1400922b4
mov eax, r15d
test r12d, r12d
setne al
inc eax
mov dword [rdi + 0x54], eax
mov rax, qword [rdi]
mov rsi, qword [rax + 0x100]
mov r14, qword [rax + 0x108]
mov rbx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
add rcx, 0xe8
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
mov r9d, 0x24
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x49]
call fcn.1400f10f0
lea rax, [rbx + 0x1a0]
test rax, rax
cmove rbx, r15
mov rax, qword [rbx]
lea rcx, [0x1401d78d8]
mov qword [rsp + 0x28], rcx
lea rcx, [0x1401d78f8]
mov qword [rsp + 0x20], rcx
lea r9, [0x1401d78e8]
lea r8, [rbp - 0x49]
mov edx, 0x93
mov rcx, rbx
call qword [rax + 0x30]
mov rax, qword [rdi]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov r9, qword [rax + 0x58]
mov edx, dword [rbp + 0x67]
mov r8d, dword [r9 + rdx*4]
lea eax, [rdx + 1]
mov r9d, dword [r9 + rax*4]
mov rcx, rdi
call fcn.14008f270
cmp dword [rdi + 0x54], 2
jne 0x1400923df
mov rcx, qword [rdi]
mov rax, qword [rcx + 0xf8]
not rsi
not r14
and rsi, qword [rcx + 0x100]
and r14, qword [rcx + 0x108]
and r14, rax
lea r15, [rcx + 0xe8]
and rsi, rax
je 0x1400923ab
xor ebx, ebx
mov eax, ebx
bt rsi, rax
jae 0x1400923a2
mov edx, ebx
mov rcx, r15
call fcn.1400f2e90
inc rbx
cmp rbx, 0x3e
jb 0x140092390
mov rsi, qword [rdi]
xor r15d, r15d
test r14, r14
je 0x1400923df
mov ebx, r15d
nop dword [rax]
mov eax, ebx
bt r14, rax
jae 0x1400923d6
mov edx, ebx
lea rcx, [rsi + 0xe8]
call fcn.1400f2e90
inc rbx
cmp rbx, 0x3e
jb 0x1400923c0
inc r12d
cmp r12d, r13d
lea eax, [r13 - 1]
jb 0x140092298
mov r15d, dword [rbp + 0x6f]
xor r12d, r12d
lea r14, [0x1401d78d8]
lea r13, [0x1401d78f8]
jmp 0x14009279f
mov rsi, qword [rdi]
mov rbx, r12
nop
mov edx, ebx
lea rcx, [rsi + 0xe8]
call fcn.1400f2e90
inc rbx
cmp rbx, 0x3e
jb 0x140092410
lea rcx, [rsi + 0xe8]
call fcn.1400f23f0
mov rax, qword [rdi]
mov byte [rax + 0xc32], 1
mov dword [rdi + 0x54], 1
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x69]
call fcn.1400928a0
mov dword [rdi + 0x54], 2
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x69]
call fcn.1400928a0
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp - 1]
call qword [rax + 0x28]
mov r8d, 1
movzx edx, r8b
lea rcx, [rbp - 0x69]
call fcn.1400928a0
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x1a0]
test rax, rax
cmove rcx, r12
mov rax, qword [rcx]
lea r14, [0x1401d78d8]
mov qword [rsp + 0x28], r14
lea r13, [0x1401d78f8]
mov qword [rsp + 0x20], r13
lea r9, [0x1401d78e8]
lea r8, [rbp - 1]
mov edx, 0x13d
call qword [rax + 0x30]
mov dword [rdi + 0x54], 3
jmp 0x140092791
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp - 0x49]
call qword [rax + 0x18]
mov rsi, qword [rdi]
mov rbx, r12
nop dword [rax + rax]
mov edx, ebx
lea rcx, [rsi + 0xe8]
call fcn.1400f2e90
inc rbx
cmp rbx, 0x3e
jb 0x1400924f0
lea rcx, [rsi + 0xe8]
call fcn.1400f23f0
mov rax, qword [rdi]
mov byte [rax + 0xc32], 1
mov rbx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
add rcx, 0xe8
mov dword [rbp - 0x79], 1
mov qword [rbp - 0x75], 0xff
mov dword [rbp - 0x6d], r12d
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
mov r9d, 0x24
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x11]
call fcn.1400f10f0
mov dword [rbp - 0x59], 0x4000031
mov eax, dword [rbp - 0xd]
mov dword [rbp - 0x55], eax
mov qword [rbp - 0x51], r12
lea rax, [rbx + 0x1a0]
test rax, rax
cmove rbx, r12
mov rax, qword [rbx]
lea r14, [0x1401d78d8]
mov qword [rsp + 0x28], r14
lea r13, [0x1401d78f8]
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x59]
lea r8, [rbp - 0x59]
mov edx, 0x308
mov rcx, rbx
call qword [rax + 0x30]
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x1a0]
test rax, rax
cmove rcx, r12
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r9, [0x1401d78e8]
lea r8, [rbp + 0xf]
mov edx, 0x143
call qword [rax + 0x30]
mov dword [rdi + 0x54], 1
mov r8d, 1
movzx edx, r8b
lea rcx, [rbp - 0x69]
call fcn.1400928a0
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x1a0]
test rax, rax
cmove rcx, r12
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r9, [0x1401d78e8]
lea r8, [rbp - 0x49]
mov edx, 0x143
call qword [rax + 0x30]
mov rbx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
add rcx, 0xe8
mov dword [rbp - 0x79], 1
mov qword [rbp - 0x75], 0xff
mov dword [rbp - 0x6d], r12d
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
mov r9d, 0x24
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x11]
call fcn.1400f10f0
mov dword [rbp - 0x59], 0x4000031
mov eax, dword [rbp - 0xd]
mov dword [rbp - 0x55], eax
mov qword [rbp - 0x51], r12
lea rax, [rbx + 0x1a0]
test rax, rax
cmove rbx, r12
mov rax, qword [rbx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x59]
lea r8, [rbp - 0x59]
mov edx, 0x308
mov rcx, rbx
call qword [rax + 0x30]
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x1a0]
test rax, rax
cmove rcx, r12
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r9, [0x1401d78e8]
lea r8, [rbp + 0xf]
mov edx, 0x143
call qword [rax + 0x30]
mov dword [rdi + 0x54], 2
mov r8d, 1
movzx edx, r8b
lea rcx, [rbp - 0x69]
call fcn.1400928a0
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x1a0]
test rax, rax
cmove rcx, r12
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r9, [0x1401d78e8]
lea r8, [rbp - 0x49]
mov edx, 0x143
call qword [rax + 0x30]
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp - 1]
call qword [rax + 0x28]
mov r8d, 1
movzx edx, r8b
lea rcx, [rbp - 0x69]
call fcn.1400928a0
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x1a0]
test rax, rax
cmove rcx, r12
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r9, [0x1401d78e8]
lea r8, [rbp - 1]
mov edx, 0x13d
call qword [rax + 0x30]
mov dword [rdi + 0x54], 3
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp - 0x49]
call qword [rax + 0x28]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x69]
call fcn.1400928a0
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp + 0xf]
call qword [rax + 0x28]
mov rax, qword [rdi]
mov byte [rax + 0xc32], 0
mov dword [rdi + 0x54], r12d
mov rbx, qword [rdi + 0x58]
mov rsi, qword [rdi + 0x60]
cmp rbx, rsi
je 0x1400927e4
mov rcx, rbx
call fcn.140024fd0
add rbx, 0xa8
cmp rbx, rsi
jne 0x1400927c8
mov rax, qword [rdi + 0x58]
mov qword [rdi + 0x60], rax
mov rbx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
add rcx, 0xe8
mov dword [rbp - 0x79], 1
mov qword [rbp - 0x75], 0xff
mov dword [rbp - 0x6d], r12d
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
mov r9d, 0x24
lea r8, [rbp - 0x79]
lea rdx, [rbp - 0x11]
call fcn.1400f10f0
mov dword [rbp - 0x59], 0x4000031
mov eax, dword [rbp - 0xd]
mov dword [rbp - 0x55], eax
mov qword [rbp - 0x51], 0
lea rax, [rbx + 0x1a0]
test rax, rax
cmove rbx, r12
mov rax, qword [rbx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x39]
lea r8, [rbp - 0x59]
mov edx, 0x1a7
mov rcx, rbx
call qword [rax + 0x30]
add dword [rdi + 0x48], r15d
lea rcx, [rbp - 0x39]
call fcn.1400738b0
nop
mov rbx, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret