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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
lea rdx, [r8 + 0x140]
mov dword [rsp + 0x20], 0
mov rax, rdx
mov qword [rsp + 0xa0], rdx
sub rax, r8
lea rsi, [0x140000000]
mov r11, rcx
mov qword [rsp + 0xb0], rax
xor ecx, ecx
mov r14, r8
xor eax, eax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
xor r12d, r12d
mov qword [rsp + 0x98], rdx
xor r10d, r10d
mov dword [rsp + 0x1d8], r12d
xor edi, edi
mov qword [rsp + 0x88], r10
mov qword [rsp + 0x90], rdi
mov r9, rdx
nop dword [rax]
mov edx, dword [r9]
xor ebx, ebx
xor r8d, r8d
mov dword [rsp + 0x24], ebx
xor ebp, ebp
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x28], ebp
test edx, edx
js 0x140010642
mov edi, dword [rsi + rcx*4 + 0xc39f0]
lea r15, [rsp + 0x131]
mov eax, dword [rsi + rcx*4 + 0xc39f8]
xor esi, esi
xor r10d, r10d
mov dword [rsp + 0x2c], edi
mov qword [rsp + 0x70], r10
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], r15
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r9 + 0x10]
movups xmm0, xmmword [rax + rsi]
movups xmm1, xmmword [rax + rsi + 0x10]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
movups xmm0, xmmword [rax + rsi + 0x20]
movups xmm1, xmmword [rax + rsi + 0x30]
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm1
cmp ebp, edx
jne 0x14000fc22
mov eax, 1
jmp 0x14000fc2a
mov rax, qword [r9 + 8]
mov eax, dword [r10 + rax]
add eax, ebx
lea r13, [r8 + r8*2]
shl r13, 4
lea rsi, [r8 + r8*2]
add r13, qword [rsp + 0x40]
lea r14, [r14 + r8*2]
add r13, qword [rsp + 0x90]
add rsi, rsi
mov dword [rsp + 0x54], eax
sub r14, 0xffffffffffffff80
cdqe
add r13, r11
mov qword [rsp + 0xa8], rax
xor ebp, ebp
lea rax, [r8 + r8*2]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x58], rax
add rax, qword [rsp + 0x88]
mov qword [rsp + 0x68], r14
lea rcx, [rcx + rax*2]
lea r10, [r11 + rcx*8]
mov qword [rsp + 0x48], r10
nop dword [rax + rax]
movzx ecx, word [r14 - 0x80]
movzx eax, byte [rsp + 0x130]
mov r9, qword [rsp + 0x1c8]
imul ecx, eax
test r9, r9
je 0x14000fcbb
mov eax, 0xcccccccd
mul ecx
shr edx, 7
mov dword [r9 + r8*4], edx
mov r15d, dword [rsp + 0x50]
lea rsi, [0x140000000]
mov r12d, 0x1000
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
shr edx, 5
lea r9d, [rdx*4]
movzx edx, di
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, di
sub dx, r9w
cmp r8d, edi
mov edi, 1
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
lea ebx, [rdi + 7]
mov word [rax], cx
movzx eax, byte [rdi + rsi + 0xc3790]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax - 6], cx
movzx eax, byte [rdi + rsi + 0xc3791]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rax + rbx - 4], cx
movzx eax, byte [rdi + rsi + 0xc3792]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax - 2], cx
movzx eax, byte [rdi + rsi + 0xc3793]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax], cx
movzx eax, byte [rdi + rsi + 0xc3794]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 2], cx
movzx eax, byte [rdi + rsi + 0xc3795]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 4], cx
movzx eax, byte [rdi + rsi + 0xc3796]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 6], cx
movzx eax, byte [rdi + rsi + 0xc3797]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 8], cx
movzx eax, byte [rdi + rsi + 0xc3798]
movzx ecx, byte [rsp + rax + 0x130]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r12d
mov r9d, edx
movzx edx, r15w
shr r9d, 5
shl r9d, 2
cmp r9d, r12d
mov r8d, r9d
cmova r8d, r12d
sub ax, r9w
xor ecx, ecx
cmp r9d, r12d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r15w
sub dx, r9w
cmp r8d, r15d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 0xa], cx
add rbx, 0x12
lea rdi, [rdi + 9]
cmp rbx, 0x86
jl 0x14000fd20
mov rax, qword [rsp + 0x40]
xor r14d, r14d
mov r15, qword [rsp + 0x80]
xor ebx, ebx
mov rsi, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x38]
test rax, rax
js 0x14001017f
mov edx, dword [rsp + 0x20]
mov r8d, 3
xor edi, edi
mov eax, r12d
cmp r14d, edx
cmovl eax, r8d
test eax, eax
je 0x14001016a
mov r12d, eax
lea rax, [rsi + rbx]
lea rsi, [r11 + rax*8]
nop dword [rax]
mov rdx, qword [rsi]
mov r8d, 0x80
mov rcx, qword [r13]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400105a3
inc rdi
add rsi, 0x10
cmp rdi, r12
jl 0x140010120
mov rsi, qword [rsp + 0x30]
mov r8d, 3
mov r11, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x38]
mov r12d, dword [rsp + 0x1d8]
mov edx, dword [rsp + 0x20]
inc r14d
inc rbx
cmp rbx, rcx
jle 0x140010101
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov ebx, dword [rsp + 0x24]
add r13, 0x30
mov r8, qword [rsp + 0x60]
inc ebx
add qword [rsp + 0x68], 2
inc r8
add qword [rsp + 0x58], 3
add rsi, 6
add r10, 0x30
mov dword [rsp + 0x24], ebx
inc ebp
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x48], r10
cmp r8, qword [rsp + 0xa8]
jge 0x1400105d2
mov rcx, qword [rsp + 0xb0]
mov r12, r15
mov rax, qword [rsp + 0x98]
mov edi, 4
mov r9d, dword [rsp + 0x54]
mov r8, qword [rsp + 0x78]
sub r9d, ebx
mov rbx, r15
mov rdx, qword [rcx + rax - 0x130]
mov rax, qword [rcx + rax - 0x138]
add r8, rdx
mov rcx, qword [rsp + 0x70]
sub r12, rdx
sub rbx, rdx
mov r10d, dword [rcx + rax]
mov rax, r15
sub rax, rdx
lea rcx, [r8 + 1]
inc rax
mov qword [rsp + 0xb8], rax
mov rax, r15
sub rax, rdx
mov r14, qword [rsp + 0xb8]
add rax, 2
lea r11d, [r10 + r10]
mov qword [rsp + 0xc0], rax
mov rax, r15
sub rax, rdx
mov rsi, qword [rsp + 0xc0]
add rax, 3
mov qword [rsp + 0xc8], rax
mov rax, r15
sub rax, rdx
add rax, 4
mov qword [rsp + 0xd0], rax
mov rax, r15
mov r13, qword [rsp + 0xd0]
sub rax, rdx
add rax, 5
mov qword [rsp + 0xd8], rax
mov rax, r15
sub rax, rdx
add rax, 6
mov qword [rsp + 0xe0], rax
mov rax, r15
sub rax, rdx
add rax, 7
mov qword [rsp + 0xe8], rax
mov rax, r15
sub rax, rdx
add rax, 8
mov qword [rsp + 0xf0], rax
mov rax, r15
sub rax, rdx
add rax, 9
mov qword [rsp + 0xf8], rax
mov rax, r15
sub rax, rdx
add rax, 0xa
mov qword [rsp + 0x100], rax
mov rax, r15
sub rax, rdx
add rax, 0xb
mov qword [rsp + 0x108], rax
mov rax, r15
sub rax, rdx
add rax, 0xc
mov qword [rsp + 0x110], rax
mov rax, r15
sub rax, rdx
add rax, 0xd
mov qword [rsp + 0x118], rax
mov rax, r15
mov r15, qword [rsp + 0xc8]
sub rax, rdx
add rax, 0xe
mov qword [rsp + 0x120], rax
nop dword [rax]
movzx edx, byte [r8 + 0x40]
imul edx, ebp
movzx eax, byte [r8]
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
movzx edx, byte [rcx + 0x40]
mov byte [r8 + r12 - 1], al
imul edx, ebp
movzx eax, byte [rcx]
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
movzx edx, byte [rcx + 0x41]
mov byte [rbx + r8], al
imul edx, ebp
movzx eax, byte [rcx + 1]
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
movzx edx, byte [rcx + 0x42]
mov byte [r8 + r14], al
movzx eax, byte [rcx + 2]
imul eax, r9d
imul edx, ebp
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
movzx edx, byte [rcx + 0x43]
mov byte [r8 + rsi], al
movzx eax, byte [rcx + 3]
imul eax, r9d
imul edx, ebp
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
movzx edx, byte [rcx + 0x44]
mov byte [r8 + r15], al
movzx eax, byte [rcx + 4]
imul eax, r9d
imul edx, ebp
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
movzx edx, byte [rcx + 0x45]
mov byte [r8 + r13], al
movzx eax, byte [rcx + 5]
imul eax, r9d
imul edx, ebp
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0xd8]
mov byte [r8 + rdx], al
movzx edx, byte [rcx + 0x46]
movzx eax, byte [rcx + 6]
imul eax, r9d
imul edx, ebp
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0xe0]
mov byte [r8 + rdx], al
movzx edx, byte [rcx + 0x47]
movzx eax, byte [rcx + 7]
imul eax, r9d
imul edx, ebp
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0xe8]
lea r8, [r8 + 0x10]
lea rcx, [rcx + 0x10]
mov byte [r8 + rdx - 0x10], al
movzx edx, byte [rcx + 0x38]
imul edx, ebp
movzx eax, byte [rcx - 8]
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0xf0]
mov byte [r8 + rdx - 0x10], al
movzx edx, byte [rcx + 0x39]
imul edx, ebp
movzx eax, byte [rcx - 7]
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0xf8]
mov byte [r8 + rdx - 0x10], al
movzx edx, byte [rcx + 0x3a]
movzx eax, byte [rcx - 6]
imul edx, ebp
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0x100]
mov byte [r8 + rdx - 0x10], al
movzx edx, byte [rcx + 0x3b]
movzx eax, byte [rcx - 5]
imul edx, ebp
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0x108]
mov byte [r8 + rdx - 0x10], al
movzx edx, byte [rcx + 0x3c]
movzx eax, byte [rcx - 4]
imul edx, ebp
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0x110]
mov byte [r8 + rdx - 0x10], al
movzx edx, byte [rcx + 0x3d]
movzx eax, byte [rcx - 3]
imul edx, ebp
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0x118]
mov byte [r8 + rdx - 0x10], al
movzx edx, byte [rcx + 0x3e]
movzx eax, byte [rcx - 2]
imul edx, ebp
imul eax, r9d
add edx, eax
lea eax, [r10 + rdx*2]
cdq
idiv r11d
mov rdx, qword [rsp + 0x120]
mov byte [r8 + rdx - 0x10], al
sub rdi, 1
jne 0x140010340
mov r13, qword [rsp + 0x128]
mov r8, qword [rsp + 0x60]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x1c0]
mov r14, qword [rsp + 0x68]
mov edi, dword [rsp + 0x2c]
jmp 0x14000fc90
mov rax, qword [rsp + 0x58]
mov r11, qword [rsp + 0x1c0]
add rax, rdi
mov r10, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x30]
lea rcx, [rbx + rax*2]
mov rax, qword [r11 + rcx*8]
mov rcx, qword [rsp + 0x38]
mov qword [r10], rax
jmp 0x14001017a
mov ebp, dword [rsp + 0x28]
sub r15, 0x40
mov r10, qword [rsp + 0x70]
inc ebp
mov rsi, qword [rsp + 0x78]
add r10, 4
mov r9, qword [rsp + 0x98]
add rsi, 0x40
mov edi, dword [rsp + 0x2c]
mov r14, qword [rsp + 0x1d0]
mov dword [rsp + 0x28], ebp
mov edx, dword [r9]
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], r15
cmp ebp, edx
jle 0x14000fbe0
mov r12d, dword [rsp + 0x1d8]
lea rsi, [0x140000000]
mov r10, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
inc r12d
inc r10
add rdi, 0x10
mov dword [rsp + 0x1d8], r12d
add r9, 0x18
mov qword [rsp + 0x88], r10
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], r9
cmp r12d, 3
jl 0x14000fb80
mov rdx, qword [rsp + 0xa0]
inc rcx
inc dword [rsp + 0x20]
add rdx, 0x48
add rax, 8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xa0], rdx
cmp rax, 0x10
jl 0x14000fb52
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret