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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov r12, r9
mov r14, r8
mov r13, rdx
mov rbp, rcx
mov r15, qword [rsp + 0x178]
movzx r8d, byte [rsp + 0x170]
mov edi, 0x2600
mov qword [rsp + 0x70], r9
nop word [rax + rax]
cmp r12, r14
je 0x1401616b9
movzx eax, byte [r12]
movzx ecx, al
test cl, cl
js 0x140161340
inc r12
cmp ecx, 0xd
jbe 0x1401613c0
jmp 0x1401613e0
mov edx, ecx
and edx, 0x1f
movzx esi, byte [r12 + 1]
and esi, 0x3f
cmp cl, 0xdf
jbe 0x140161392
movzx ebx, byte [r12 + 2]
shl esi, 6
and ebx, 0x3f
or ebx, esi
cmp al, 0xf0
jb 0x1401613a4
movzx ecx, byte [r12 + 3]
and edx, 7
shl edx, 0x12
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
or ecx, edx
cmp ecx, 0x110000
je 0x1401616b9
add r12, 4
cmp ecx, 0xd
jbe 0x1401613c0
jmp 0x1401613e0
add r12, 2
shl edx, 6
or edx, esi
mov ecx, edx
cmp ecx, 0xd
jbe 0x1401613c0
jmp 0x1401613e0
add r12, 3
shl edx, 0xc
or ebx, edx
mov ecx, ebx
cmp ecx, 0xd
ja 0x1401613e0
nop word cs:[rax + rax]
mov edx, 0x110000
bt edi, ecx
jae 0x1401613e0
cmp edx, 0x110000
je 0x140161310
jmp 0x1401613ee
mov edx, ecx
cmp edx, 0x110000
je 0x140161310
cmp edx, 0x3e
jg 0x140161448
cmp edx, 0x23
je 0x1401616f2
cmp edx, 0x2f
je 0x140161456
cmp dword [r15 + 0x18], 0
mov qword [rsp + 0x88], rbp
je 0x140161872
lea rax, [r15 + 0x1c]
mov r9d, dword [rax]
mov rdi, qword [r15 + 8]
test r9, r9
je 0x140161891
mov rsi, qword [r15 + 0x10]
cmp rsi, r9
jbe 0x140161a4c
cmp byte [rdi + r9], 0xbf
jle 0x140161a52
mov rsi, r9
jmp 0x140161c62
cmp edx, 0x3f
je 0x140161757
cmp edx, 0x5c
jne 0x140161401
mov byte [rsp + 0x78], r8b
mov qword [rsp + 0x88], rbp
xor r8d, r8d
mov ecx, 0x2600
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rdx
jmp 0x14016148d
mov eax, ebx
cmp eax, 0x110000
jne 0x140161550
cmp rdx, r14
je 0x140161562
movzx eax, byte [rdx]
movzx ebx, al
test bl, bl
js 0x1401614b0
inc rdx
cmp ebx, 0xd
jbe 0x140161530
jmp 0x140161480
mov esi, ebx
and esi, 0x1f
movzx ebp, byte [rdx + 1]
and ebp, 0x3f
cmp bl, 0xdf
jbe 0x1401614f8
movzx edi, byte [rdx + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp al, 0xf0
jb 0x14016150d
movzx ebx, byte [rdx + 3]
and esi, 7
shl esi, 0x12
shl edi, 6
and ebx, 0x3f
or ebx, edi
or ebx, esi
cmp ebx, 0x110000
je 0x140161562
add rdx, 4
cmp ebx, 0xd
jbe 0x140161530
jmp 0x140161480
add rdx, 2
shl esi, 6
or esi, ebp
mov ebx, esi
cmp ebx, 0xd
jbe 0x140161530
jmp 0x140161480
add rdx, 3
shl esi, 0xc
or edi, esi
mov ebx, edi
cmp ebx, 0xd
ja 0x140161480
nop word cs:[rax + rax]
mov eax, 0x110000
bt ecx, ebx
jb 0x140161482
jmp 0x140161480
cmp eax, 0x5c
je 0x14016155a
cmp eax, 0x2f
jne 0x140161562
inc r8d
jmp 0x140161470
cmp r8d, 1
jbe 0x140161796
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x140161827
mov qword [rsp + 0x100], rax
mov rax, qword [r13 + 0x18]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 1
mov qword [rsp + 0xa0], 0
lea rdi, [rsp + 0x90]
mov r12d, 0x2600
mov rsi, qword [rsp + 0x70]
nop word cs:[rax + rax]
cmp rsi, r14
je 0x1401617d3
movzx ebx, byte [rsi]
movzx eax, bl
test al, al
js 0x1401615f0
inc rsi
cmp eax, 0xd
jbe 0x140161660
jmp 0x1401616b0
mov ecx, eax
and ecx, 0x1f
movzx ebp, byte [rsi + 1]
and ebp, 0x3f
cmp al, 0xdf
jbe 0x14016163b
movzx edx, byte [rsi + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x14016164d
movzx eax, byte [rsi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x1401617d3
add rsi, 4
cmp eax, 0xd
jbe 0x140161660
jmp 0x1401616b0
add rsi, 2
shl ecx, 6
or ecx, ebp
mov eax, ecx
cmp eax, 0xd
jbe 0x140161660
jmp 0x1401616b0
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0xd
ja 0x1401616b0
nop dword [rax]
mov ebx, 0x110000
bt r12d, eax
jae 0x1401616b0
cmp ebx, 0x2f
je 0x140161685
cmp ebx, 0x110000
je 0x1401615d0
cmp ebx, 0x5c
jne 0x1401617d3
mov rcx, rdi
mov edx, ebx
call fcn.14015fce0
cmp ebx, 0x2f
je 0x1401615d0
cmp ebx, 0x5c
je 0x1401615d0
jmp 0x1401617d3
mov ebx, eax
cmp ebx, 0x2f
jne 0x140161670
jmp 0x140161685
cmp dword [r15 + 0x20], 0
je 0x140161865
mov esi, dword [r15 + 0x24]
mov r14, qword [r15 + 8]
test rsi, rsi
je 0x140161a36
mov rdx, qword [r15 + 0x10]
cmp rdx, rsi
jbe 0x140161bd5
cmp byte [r14 + rsi], 0xbf
jg 0x140161bdb
jmp 0x1401621a5
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmm3, xmmword [r13 + 0x30]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x90]
mov rcx, rbp
mov r8, r15
mov r9, r14
call fcn.140167260
jmp 0x1401620f6
cmp dword [r15 + 0x18], 0
je 0x1401618b3
lea rax, [r15 + 0x1c]
mov r9d, dword [rax]
mov rdx, qword [r15 + 8]
test r9, r9
je 0x1401618d2
mov rsi, qword [r15 + 0x10]
cmp rsi, r9
jbe 0x140161a63
cmp byte [rdx + r9], 0xbf
jle 0x140161a69
mov rsi, r9
jmp 0x140161ff7
mov esi, dword [r15 + 0x38]
mov rbp, qword [r15 + 8]
test rsi, rsi
je 0x1401618ed
mov rdx, qword [r15 + 0x10]
cmp rdx, rsi
jbe 0x1401618e7
cmp byte [rbp + rsi], 0xbf
jg 0x1401618ed
lea rax, str._X__
mov qword [rsp + 0x20], rax
mov rcx, rbp
jmp 0x1401621b4
mov r8, qword [rsp + 0x98]
mov bl, 1
cmp qword [rsp + 0xa0], 2
jne 0x1401617f4
movzx eax, word [r8]
cmp eax, 0x2f2f
setne bl
cmp qword [rsp + 0x90], 0
je 0x14016180e
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test bl, bl
mov rcx, qword [rsp + 0x100]
je 0x140161827
mov dl, 3
mov rax, qword [rsp + 0xf8]
call qword [rax + 0x28]
mov r12d, dword [r15 + 0x28]
mov esi, r12d
mov rdi, qword [r15 + 8]
inc esi
je 0x140161a86
mov rdx, qword [r15 + 0x10]
cmp rdx, rsi
jbe 0x140161a80
cmp byte [rdi + rsi], 0xbf
jg 0x140161a86
lea rax, str._X__
mov qword [rsp + 0x20], rax
mov rcx, rdi
jmp 0x1401621b4
mov r14, qword [r15 + 8]
mov rsi, qword [r15 + 0x10]
jmp 0x140161bdb
cmp dword [r15 + 0x20], 0
je 0x140161c5a
lea rax, [r15 + 0x24]
mov r9d, dword [rax]
mov rdi, qword [r15 + 8]
test r9, r9
jne 0x140161428
lea rax, [r13 + 0x28]
mov qword [rsp + 0x80], rax
lea rax, [r13 + 0x38]
xor esi, esi
mov r12d, r8d
mov qword [rsp + 0x78], rax
mov rbx, qword [rax]
jmp 0x140161c8e
cmp dword [r15 + 0x20], 0
je 0x140161fef
lea rax, [r15 + 0x24]
mov r9d, dword [rax]
mov rdx, qword [r15 + 8]
test r9, r9
jne 0x140161776
mov r12d, r8d
lea rdi, [r13 + 0x28]
lea rax, [r13 + 0x38]
xor esi, esi
mov rbx, qword [rax]
jmp 0x140162012
jne 0x1401617bf
lea rdi, [r13 + 0x28]
mov rax, qword [r13 + 0x28]
mov rbx, qword [r13 + 0x38]
sub rax, rbx
cmp rax, rsi
jb 0x14016210a
mov rcx, qword [r13 + 0x30]
add rcx, rbx
mov rdx, rbp
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsi
mov qword [r13 + 0x38], rbx
cmp rbx, qword [r13 + 0x28]
jne 0x140161933
mov rcx, rdi
mov rdx, rbx
call fcn.14006a800
mov rbx, qword [r13 + 0x38]
mov rax, qword [r13 + 0x30]
mov byte [rax + rbx], 0x2f
inc rbx
mov qword [r13 + 0x38], rbx
mov byte [rsp + 0x90], 1
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
lea r8, [rsp + 0x90]
mov rcx, r13
movzx r14d, byte [rsp + 0x78]
mov edx, r14d
mov r9, rsi
call fcn.1401640e0
mov rcx, qword [r13 + 0x40]
mov qword [rsp + 0xd0], rcx
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmm3, xmmword [r13 + 0x30]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov r9d, dword [r15 + 0x28]
mov r8d, dword [r15 + 0x2c]
mov ebp, dword [r15 + 0x30]
mov ebx, dword [r15 + 0x34]
movzx ecx, byte [r15 + 0x50]
mov byte [rsp + 0xf0], cl
movups xmm0, xmmword [r15 + 0x40]
movaps xmmword [rsp + 0xe0], xmm0
movzx ecx, word [r15 + 0x3c]
movzx esi, word [r15 + 0x3e]
mov edi, dword [r15 + 0x38]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], edi
mov word [rsp + 0x48], si
mov word [rsp + 0x40], cx
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], r8d
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov r8d, r14d
call fcn.1401657a0
jmp 0x1401620f6
mov rdi, rbp
lea rbp, [r13 + 0x28]
lea r12, [r13 + 0x38]
xor esi, esi
mov rbx, qword [r12]
jmp 0x140161bf6
je 0x140161c62
lea rax, str._X__
mov qword [rsp + 0x20], rax
mov rcx, rdi
jmp 0x140161a78
je 0x140161ff7
lea rax, str._X__
mov qword [rsp + 0x20], rax
mov rcx, rdx
mov rdx, rsi
jmp 0x140161cf5
jne 0x140161851
mov rax, qword [r13 + 0x28]
mov rbx, qword [r13 + 0x38]
sub rax, rbx
cmp rax, rsi
jb 0x140162121
mov rcx, qword [r13 + 0x30]
add rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsi
mov qword [r13 + 0x38], rbx
mov qword [rsp + 0x90], r14
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x98], rax
lea rcx, [0x140215458]
lea r8, [rsp + 0x90]
mov edx, 2
call fcn.1401621d0
test al, al
je 0x140161b62
mov r9, qword [rsp + 0x98]
test r9, r9
je 0x140161b62
mov r8, qword [rsp + 0x90]
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmm3, xmmword [r13 + 0x30]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov dword [rsp + 0x28], r12d
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
call fcn.140162390
jmp 0x1401620f6
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmm3, xmmword [r13 + 0x30]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov dword [rsp + 0x28], r12d
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov r8, r14
mov r9, qword [rsp + 0x80]
call fcn.140162390
jmp 0x1401620f6
jne 0x1401621a5
mov rdi, rbp
lea rbp, [r13 + 0x28]
mov rax, qword [r13 + 0x28]
mov rbx, qword [r13 + 0x38]
sub rax, rbx
cmp rax, rsi
jb 0x140162139
mov rcx, qword [r13 + 0x30]
add rcx, rbx
mov rdx, r14
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsi
mov qword [r13 + 0x38], rbx
mov rax, qword [rbp + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rbp]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rdi + 0x40], xmm0
movzx eax, byte [r15 + 0x50]
mov byte [rdi + 0x50], al
mov eax, dword [r15 + 0x38]
mov rcx, qword [r15 + 0x18]
mov qword [rdi + 0x18], rcx
mov dword [rdi + 0x20], 0
movups xmm0, xmmword [r15 + 0x28]
movups xmmword [rdi + 0x28], xmm0
mov dword [rdi + 0x38], eax
mov eax, dword [r15 + 0x3c]
mov dword [rdi + 0x3c], eax
jmp 0x1401620f6
mov rdi, qword [r15 + 8]
mov rsi, qword [r15 + 0x10]
lea rax, [r13 + 0x28]
mov qword [rsp + 0x80], rax
lea rcx, [r13 + 0x38]
mov rax, qword [r13 + 0x28]
mov rbx, qword [r13 + 0x38]
sub rax, rbx
cmp rax, rsi
jb 0x140162150
mov qword [rsp + 0x78], rcx
mov r12d, r8d
mov rcx, qword [r13 + 0x30]
add rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsi
mov qword [r13 + 0x38], rbx
mov r8d, dword [r15 + 0x38]
mov rcx, r13
mov edx, r12d
call fcn.140169790
mov rsi, qword [r13 + 0x38]
mov ecx, dword [r15 + 0x38]
mov rax, qword [rsp + 0x70]
cmp rsi, rcx
jne 0x140161e2e
mov r9d, dword [r15 + 0x28]
mov rcx, qword [r15 + 8]
test r9, r9
je 0x140161d01
mov rdx, qword [r15 + 0x10]
cmp rdx, r9
jbe 0x140161cff
cmp byte [rcx + r9], 0xbf
jg 0x140161d01
lea rax, str._X__
mov qword [rsp + 0x20], rax
xor r8d, r8d
call fcn.14016f7f0
ud2
jne 0x140161ce9
mov rdx, r9
call fcn.140167530
cmp al, 2
jne 0x140161de4
mov r8d, 0x2600
mov rcx, qword [rsp + 0x70]
jmp 0x140161d2b
mov eax, edx
cmp eax, 0x110000
jne 0x140161de4
cmp rcx, r14
je 0x140161e10
movzx eax, byte [rcx]
movzx edx, al
test dl, dl
js 0x140161d50
inc rcx
cmp edx, 0xd
jbe 0x140161dd0
jmp 0x140161d1e
mov ebx, edx
and ebx, 0x1f
movzx ebp, byte [rcx + 1]
and ebp, 0x3f
cmp dl, 0xdf
jbe 0x140161d9c
movzx edi, byte [rcx + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp al, 0xf0
jb 0x140161db1
movzx edx, byte [rcx + 3]
and ebx, 7
shl ebx, 0x12
shl edi, 6
and edx, 0x3f
or edx, edi
or edx, ebx
cmp edx, 0x110000
je 0x140161e10
add rcx, 4
cmp edx, 0xd
jbe 0x140161dd0
jmp 0x140161d1e
add rcx, 2
shl ebx, 6
or ebx, ebp
mov edx, ebx
cmp edx, 0xd
jbe 0x140161dd0
jmp 0x140161d1e
add rcx, 3
shl ebx, 0xc
or edi, ebx
mov edx, edi
cmp edx, 0xd
ja 0x140161d1e
nop word cs:[rax + rax]
mov eax, 0x110000
bt r8d, edx
jb 0x140161d20
jmp 0x140161d1e
mov rcx, qword [rsp + 0x80]
cmp rsi, qword [rcx]
jne 0x140161e01
mov rdx, rsi
call fcn.14006a800
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
mov rax, qword [r13 + 0x30]
mov byte [rax + rsi], 0x2f
inc rsi
mov qword [r13 + 0x38], rsi
mov rax, qword [rsp + 0x70]
jmp 0x140161e2e
mov edx, ecx
cmp edx, 0x110000
jne 0x140161ee8
cmp rax, r14
je 0x140161efb
movzx ebx, byte [rax]
movzx ecx, bl
test cl, cl
js 0x140161e50
inc rax
cmp ecx, 0xd
jbe 0x140161ed0
jmp 0x140161e20
mov edx, ecx
and edx, 0x1f
movzx ebp, byte [rax + 1]
and ebp, 0x3f
cmp cl, 0xdf
jbe 0x140161e99
movzx edi, byte [rax + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp bl, 0xf0
jb 0x140161eae
movzx ecx, byte [rax + 3]
and edx, 7
shl edx, 0x12
shl edi, 6
and ecx, 0x3f
or ecx, edi
or ecx, edx
cmp ecx, 0x110000
je 0x140161efb
add rax, 4
cmp ecx, 0xd
jbe 0x140161ed0
jmp 0x140161e20
add rax, 2
shl edx, 6
or edx, ebp
mov ecx, edx
cmp ecx, 0xd
jbe 0x140161ed0
jmp 0x140161e20
add rax, 3
shl edx, 0xc
or edi, edx
mov ecx, edi
cmp ecx, 0xd
ja 0x140161e20
nop word cs:[rax + rax]
mov edx, 0x110000
mov ebp, 0x2600
bt ebp, ecx
jb 0x140161e22
jmp 0x140161e20
cmp edx, 0x2f
jne 0x140161efb
mov byte [rsp + 0x90], 1
mov r9d, dword [r15 + 0x38]
jmp 0x140161f0c
mov byte [rsp + 0x90], 1
mov r9d, dword [r15 + 0x38]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r8, [rsp + 0x90]
mov rcx, r13
mov edx, r12d
call fcn.1401640e0
mov rcx, qword [r13 + 0x40]
mov qword [rsp + 0xd0], rcx
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmm3, xmmword [r13 + 0x30]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov r9d, dword [r15 + 0x28]
mov r8d, dword [r15 + 0x2c]
mov ebp, dword [r15 + 0x30]
mov ebx, dword [r15 + 0x34]
movzx ecx, byte [r15 + 0x50]
mov byte [rsp + 0xf0], cl
movups xmm0, xmmword [r15 + 0x40]
movaps xmmword [rsp + 0xe0], xmm0
movzx ecx, word [r15 + 0x3c]
movzx esi, word [r15 + 0x3e]
mov edi, dword [r15 + 0x38]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], edi
mov word [rsp + 0x48], si
mov word [rsp + 0x40], cx
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], r8d
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov r8d, r12d
call fcn.1401657a0
jmp 0x1401620f6
mov rdx, qword [r15 + 8]
mov rsi, qword [r15 + 0x10]
mov r12d, r8d
lea rdi, [r13 + 0x28]
mov rax, qword [r13 + 0x28]
mov rbx, qword [r13 + 0x38]
sub rax, rbx
cmp rax, rsi
jb 0x140162174
mov rcx, qword [r13 + 0x30]
add rcx, rbx
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsi
mov qword [r13 + 0x38], rbx
mov r9d, dword [r15 + 0x28]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x90]
mov rdx, r13
mov r8d, r12d
call fcn.1401690f0
mov eax, dword [rsp + 0x90]
cmp eax, 2
jne 0x14016209d
movzx eax, byte [rsp + 0x94]
mov byte [rbp], al
mov dword [rbp + 0x18], 2
cmp qword [rdi], 0
je 0x1401620f6
mov r8, qword [r13 + 0x30]
mov rcx, qword [0x140221370]
xor edx, edx
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rsp + 0x94]
movsd xmm0, qword [rsp + 0x98]
mov rdx, qword [rdi + 0x10]
mov qword [rbp + 0x10], rdx
movups xmm1, xmmword [rdi]
movups xmmword [rbp], xmm1
movzx edx, byte [r15 + 0x50]
movsd xmm1, qword [r15 + 0x28]
movlhps xmm0, xmm1
mov byte [rbp + 0x50], dl
movups xmm1, xmmword [r15 + 0x40]
movups xmmword [rbp + 0x40], xmm1
mov edx, dword [r15 + 0x38]
mov dword [rbp + 0x18], eax
mov dword [rbp + 0x1c], ecx
movups xmmword [rbp + 0x20], xmm0
mov rax, qword [r15 + 0x30]
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x38], edx
mov eax, dword [r15 + 0x3c]
mov dword [rbp + 0x3c], eax
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call fcn.1401726f0
mov rbx, qword [r13 + 0x38]
jmp 0x140161905
lea rcx, [r13 + 0x28]
mov rdx, rbx
mov r8, rsi
call fcn.1401726f0
mov rbx, qword [r13 + 0x38]
jmp 0x140161a9a
lea r12, [r13 + 0x38]
mov rcx, rbp
mov rdx, rbx
mov r8, rsi
call fcn.1401726f0
jmp 0x140161a43
mov r12, rcx
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
mov ebx, r8d
mov r8, rsi
call fcn.1401726f0
mov rax, r12
mov r8d, ebx
jmp 0x1401618a3
lea rax, [r13 + 0x38]
mov qword [rsp + 0x78], rax
mov rcx, rdi
mov qword [rsp + 0x80], rdx
mov rdx, rbx
mov r8, rsi
call fcn.1401726f0
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
jmp 0x1401618df
lea rax, [0x1402154a8]
mov qword [rsp + 0x20], rax
mov rcx, r14
xor r8d, r8d
mov r9, rsi
call fcn.14016f7f0
ud2