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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor r15d, r15d
mov r13, rdx
mov rbx, rcx
mov edi, r15d
test rdx, rdx
je 0x140116567
mov esi, dword [rdx + 0x18]
mov ecx, 0x200
call fcn.140160ac0
mov r14, rax
test rax, rax
je 0x14011655d
lea rcx, [rax + 4]
xor edx, edx
mov r8d, 0x1fc
call sub.VCRUNTIME140.dll_memset
mov dword [r14], esi
lea rsi, [rbx + 0x60]
mov eax, dword [r13 + 0x18]
mov rcx, qword [rsi]
mov r12, rcx
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
mov qword [rsp + 0xa0], rcx
cmp qword [rbx + 0x128], rdi
jne 0x1401166d2
mov rax, qword [r13 + 8]
mov rbp, rcx
test rax, rax
cmovne rbp, rax
mov rax, qword [r13]
mov qword [rsi], rax
nop dword [rax]
cmp qword [rsi], rbp
jge 0x14011654c
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.140117b40
mov edi, eax
test eax, eax
je 0x140116520
jmp 0x1401167aa
mov r13, qword [rsp + 0xa0]
lea rsi, [rbx + 0x60]
jmp 0x1401166e3
mov eax, 7
jmp 0x1401169ae
mov eax, dword [rcx + 0x24]
mov r14, r15
mov rbp, qword [rcx + 0x128]
mov dword [rcx + 0x20], eax
movzx eax, byte [rcx + 0x10]
mov byte [rcx + 0x17], al
test rbp, rbp
je 0x1401166bf
mov eax, dword [rcx + 0x24]
mov esi, r15d
mov dword [rcx + 0x20], eax
cmp byte [rbp + 0x40], sil
je 0x140116628
mov r15d, dword [rbp + 0x58]
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x58], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x68], xmm0
mov edi, dword [rbp + 0x58]
inc edi
lea r14d, [rdi + 0x1000]
cmp edi, r15d
ja 0x140116617
mov r8, qword [rbp + 0x30]
mov eax, r14d
sub rax, 0xfdf
shr rax, 0xc
test eax, eax
jne 0x1401165ee
mov rax, qword [r8]
mov edx, dword [rax + rdi*4 + 0x84]
jmp 0x140116604
cdqe
lea edx, [rdi - 1]
add rdx, 0x22
and edx, 0xfff
mov rcx, qword [r8 + rax*8]
mov edx, dword [rcx + rdx*4]
mov rcx, rbx
call fcn.140116b30
inc edi
inc r14d
mov esi, eax
test eax, eax
je 0x1401165c8
cmp r15d, dword [rbp + 0x58]
je 0x140116625
mov rcx, rbp
call fcn.1401a0210
xor r15d, r15d
mov rcx, qword [rbx + 0x120]
call fcn.140164aa0
test rax, rax
je 0x1401166b8
nop dword [rax]
test esi, esi
jne 0x1401166b8
mov edx, dword [rax + 0x30]
mov rcx, rbx
mov rbp, qword [rax + 0x20]
mov esi, r15d
call fcn.1401627d0
mov rdi, rax
test rax, rax
je 0x14011668b
cmp qword [rax + 0x38], 1
mov rcx, rax
jne 0x14011666f
call fcn.140164c70
jmp 0x14011668b
call fcn.14011cf10
mov esi, eax
test eax, eax
jne 0x140116683
mov rcx, rdi
call qword [rbx + 0x108]
mov rcx, rdi
call fcn.140163e40
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x1401166b0
nop dword [rax]
nop dword [rax + rax]
mov dword [rcx + 0x18], 1
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x1401166a0
mov rax, rbp
test rbp, rbp
jne 0x140116640
mov eax, esi
jmp 0x1401169ae
mov rax, qword [rcx + 0x60]
lea rsi, [rcx + 0x60]
mov qword [rsp + 0xa0], rax
mov r12, rax
mov r13, qword [rsp + 0xa0]
mov qword [rsi], r15
jmp 0x1401166e3
xor r15d, r15d
cmp qword [rsi], r12
jge 0x140116796
lea rax, [rsp + 0xa8]
mov dword [rsp + 0xa0], r15d
lea r9, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r8, r12
xor edx, edx
mov rcx, rbx
call fcn.14011d010
mov r15d, dword [rsp + 0xa0]
mov edi, eax
test r15d, r15d
jne 0x140116757
mov eax, dword [rbx + 0xb8]
add rax, qword [rbx + 0x68]
mov rcx, qword [rsi]
cmp rax, rcx
jne 0x140116757
mov rax, r13
sub rax, rcx
mov rcx, qword [rbx + 0xc8]
add rcx, 8
cqo
idiv rcx
mov r15, rax
mov dword [rsp + 0xa0], eax
xor ebp, ebp
test edi, edi
jne 0x140116796
nop dword [rax]
cmp ebp, r15d
jae 0x1401166e0
cmp qword [rsi], r12
jge 0x1401166e0
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.140117b40
inc ebp
mov edi, eax
test eax, eax
je 0x140116760
mov r13, qword [rsp + 0x98]
test r13, r13
je 0x14011691e
xor r15d, r15d
mov rcx, qword [rbx + 0xc8]
mov eax, dword [r13 + 0x1c]
add rcx, 4
mov rsi, qword [rbx + 0x128]
imul rcx, rax
mov qword [rsp + 0x30], rcx
test rsi, rsi
je 0x1401168ee
mov eax, dword [rsi + 0x88]
cmp dword [r13 + 0x30], eax
je 0x1401167ec
mov dword [r13 + 0x24], r15d
mov eax, dword [rsi + 0x88]
mov dword [r13 + 0x30], eax
mov ecx, dword [r13 + 0x24]
cmp ecx, dword [rsi + 0x58]
jae 0x1401168e5
mov dword [rsi + 0x58], ecx
mov eax, dword [r13 + 0x28]
mov dword [rsi + 0x60], eax
mov eax, dword [r13 + 0x2c]
mov dword [rsi + 0x64], eax
test ecx, ecx
je 0x1401168e5
lea edi, [rcx + 0x1000]
sub rdi, 0xfdf
shr rdi, 0xc
cmp dword [rsi + 0x28], edi
jle 0x140116842
mov rax, qword [rsi + 0x30]
movsxd rcx, edi
mov r8, qword [rax + rcx*8]
mov qword [rsp + 0x40], r8
test r8, r8
je 0x140116842
mov eax, r15d
jmp 0x140116856
lea r8, [rsp + 0x40]
mov edx, edi
mov rcx, rsi
call fcn.1401a0870
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x1401168e5
lea rdx, [r8 + 0x4000]
mov qword [rsp + 0x38], rdx
test edi, edi
jne 0x140116885
add r8, 0x88
mov dword [rsp + 0x48], r15d
mov qword [rsp + 0x40], r8
mov edi, r15d
jmp 0x14011688f
shl edi, 0xc
sub edi, 0x22
mov dword [rsp + 0x48], edi
test eax, eax
jne 0x1401168e5
mov r10d, dword [rsi + 0x58]
mov r9d, 0x2000
sub r10d, edi
mov r8, rdx
movzx eax, word [rdx]
cmp eax, r10d
jle 0x1401168af
mov word [r8], r15w
add r8, 2
add rdx, 2
sub r9, 1
jne 0x1401168a3
mov ecx, dword [rsp + 0x38]
lea eax, [r10*4]
sub ecx, eax
xor edx, edx
sub ecx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movsxd r8, ecx
movsxd rcx, r10d
lea rcx, [rax + rcx*4]
call sub.VCRUNTIME140.dll_memset
mov esi, dword [r13 + 0x1c]
mov edi, r15d
jmp 0x1401168f6
mov esi, dword [r13 + 0x1c]
test edi, edi
jne 0x14011691e
cmp esi, dword [rbx + 0x3c]
jae 0x14011691e
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov r8, r14
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140117b40
inc esi
mov edi, eax
test eax, eax
je 0x1401168f6
test r14, r14
je 0x1401169a4
cmp dword [r14 + 8], 0
je 0x140116949
lea rsi, [r14 + 0x10]
mov ebp, 0x3e
mov rcx, qword [rsi]
call fcn.14012f070
lea rsi, [rsi + 8]
sub rbp, 1
jne 0x140116937
cmp dword [0x14020e0b0], 0
je 0x14011699b
mov rcx, qword [0x1402136d0]
test rcx, rcx
je 0x140116964
call qword [0x14020e130]
mov rcx, r14
call qword [0x14020e0e8]
dec qword [0x140213658]
mov rcx, r14
movsxd rdx, eax
sub qword [0x140213610], rdx
call qword [0x14020e0d8]
mov rcx, qword [0x1402136d0]
test rcx, rcx
je 0x1401169a4
call qword [0x14020e140]
jmp 0x1401169a4
mov rcx, r14
call qword [0x14020e0d8]
test edi, edi
jne 0x1401169ac
mov qword [rbx + 0x60], r12
mov eax, edi
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret