Function at 0x1400fcef0
Capabilities:
Encode data using xor
Execute anti-debugging instructions

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov rax, qword [0x1405f8008]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov rbx, r8
lea rcx, [rbp + 0x182]
mov rdi, rdx
xor esi, esi
xor edx, edx
mov word [rbp + 0x180], si
mov r8d, 0x80
call fcn.14001bade
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.14003962c
mov ebx, eax
test eax, eax
js 0x1400fcfcf
cmp dword [rsp + 0x28], esi
je 0x1400ffba9
mov rax, qword [rdi]
mov rbx, qword [rax + 0x30]
mov rcx, rbx
call qword [0x1403358c8]
lea r8, [rbp + 0x160]
mov rcx, rdi
lea rdx, str.SppBindingSkuId
call rbx
xor edi, edi
mov ebx, eax
test eax, eax
js 0x1400fcfcf
cmp dword [rbp + 0x168], 2
je 0x1400fcf9d
mov ebx, 0x8007070c
mov ecx, ebx
jmp 0x1400fcfd1
lea rdx, [0x1405fb310]
mov dword [rsp + 0x28], 0x41
lea rcx, [0x1405cb15e]
call fcn.140005090
lea r9, [rbp + 0x180]
lea r8, [rsp + 0x28]
call fcn.1401b78cc
mov ebx, eax
test eax, eax
jns 0x1400fcfdb
mov ecx, eax
call fcn.14003e510
jmp 0x1400ffba9
xor eax, eax
mov qword [rbp + 0xa8], rdi
mov qword [rsp + 0x34], rax
mov ebx, 0xa0
mov dword [rsp + 0x3c], eax
mov r12, rdi
mov qword [rbp - 0x34], rax
mov r13, rdi
mov dword [rbp - 0x2c], eax
mov r14d, edi
lea rax, [0x1405f8da0]
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0x130], rax
mov r15d, edi
mov dword [rsp + 0x70], edi
mov dword [rbp - 0x80], edi
mov dword [rbp - 0x70], edi
mov dword [rsp + 0x30], edi
mov dword [rbp - 0x38], edi
mov dword [rbp - 0x14], edi
mov dword [rbp - 0x44], edi
mov dword [rsp + 0x20], edi
mov qword [rbp + 0xa0], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edi, 8
mov r8d, ebx
mov rcx, rax
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x1400fd06a
mov edi, 0xc0000017
jmp 0x1400fd20a
mov r8, qword [rbp + 0xa0]
mov rcx, rax
mov rdx, qword [rbp + 0x130]
call sub.msvcrt.dll_memcpy
mov esi, dword [rbp + 0xa0]
mov r12, rbx
mov qword [rbp + 0xa8], rbx
lea rax, [0x1405f8ee8]
mov qword [rbp + 0x88], rdi
mov qword [rbp + 0x110], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x1400fd060
mov r8, qword [rbp + 0x88]
mov rcx, rax
mov rdx, qword [rbp + 0x110]
call sub.msvcrt.dll_memcpy
mov r14, qword [rbp + 0x88]
mov r13, rbx
mov qword [rbp + 0xb0], rbx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x90], rax
mov edx, 4
lea r8, [rsp + 0x28]
mov ecx, edx
call fcn.14010805c
mov r9d, dword [rbp - 0x44]
xor r10d, r10d
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 0x44], r9d
js 0x1400fd20a
lea r8, [rsp + 0x20]
mov edx, r9d
xor ecx, ecx
call fcn.14010805c
mov edi, eax
or edi, 0x10000000
jl 0x1400fd20a
lea r8, [rsp + 0x28]
mov edx, esi
lea ecx, [r10 + 4]
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 0x44], r9d
js 0x1400fd20a
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r9d
call fcn.14010805c
mov edi, eax
or edi, 0x10000000
jl 0x1400fd20a
lea r8, [rsp + 0x28]
mov edx, r14d
lea ecx, [r10 + 4]
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 0x44], r9d
js 0x1400fd20a
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r9d
call fcn.14010805c
mov edi, eax
or edi, 0x10000000
jl 0x1400fd20a
lea edx, [r10 + 8]
lea ecx, [rdx - 4]
lea r8, [rsp + 0x28]
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 0x44], r9d
js 0x1400fd20a
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r9d
call fcn.14010805c
mov edi, eax
mov eax, dword [rsp + 0x70]
or edi, 0x10000000
cmovns eax, dword [rsp + 0x20]
mov dword [rsp + 0x70], eax
test edi, edi
js 0x1400ffafb
mov edx, 4
lea r8, [rsp + 0x28]
mov ecx, edx
call fcn.14010805c
mov ebx, dword [rbp - 0x70]
test eax, eax
mov edi, eax
cmovns ebx, dword [rsp + 0x28]
mov dword [rbp - 0x70], ebx
js 0x1400ffafb
mov ecx, dword [rsp + 0x70]
lea r8, [rsp + 0x70]
mov edx, ebx
call fcn.14010805c
mov edi, eax
or edi, 0x10000000
jl 0x1400ffafb
lea r8, [rbp - 0x40]
lea rcx, [rbp + 0x180]
call fcn.14010809c
xor r10d, r10d
test eax, eax
js 0x1400fd8d0
mov rax, qword [rbp - 0x40]
lea r8, [rsp + 0x28]
inc rax
lea ecx, [r10 + 4]
lea edx, [rax + rax]
call fcn.14010805c
lea rdx, [0x1405f93b8]
mov edi, eax
lea rcx, [0x1404ad0c0]
call fcn.140003cb0
xor r10d, r10d
test edi, edi
cmovns ebx, dword [rsp + 0x28]
mov dword [rbp - 0x70], ebx
js 0x1400ffafb
mov ecx, dword [rsp + 0x70]
lea r8, [rsp + 0x70]
mov edx, ebx
call fcn.14010805c
mov edi, eax
mov r9d, 0x10000000
or edi, r9d
jl 0x1400ffafb
xor edx, edx
lea r8, [rsp + 0x28]
lea ecx, [rdx + 4]
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns ebx, dword [rsp + 0x28]
mov dword [rbp - 0x70], ebx
js 0x1400ffafb
mov ecx, dword [rsp + 0x70]
lea r8, [rsp + 0x70]
mov edx, ebx
call fcn.14010805c
mov edi, eax
or edi, r9d
jl 0x1400ffafb
lea edx, [r10 + 4]
mov ecx, edx
lea r8, [rsp + 0x28]
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns ebx, dword [rsp + 0x28]
mov dword [rbp - 0x70], ebx
js 0x1400ffafb
mov ecx, dword [rsp + 0x70]
lea r8, [rsp + 0x70]
mov edx, ebx
call fcn.14010805c
mov edi, eax
or edi, r9d
jl 0x1400ffafb
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x34], eax
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x1400fd381
mov edi, 0xc0000017
jmp 0x1400ffafb
lea rdx, [0x1406002c0]
mov qword [rsp + 0x38], rax
lea rcx, [0x1404cd308]
call fcn.140003980
xor r10d, r10d
mov dword [rsp + 0x30], r10d
lea rax, [rbp + 0x18]
mov dword [rbp + 0x18], 0x6d
test rax, rax
je 0x1400fd3ec
lea r8, [rbp - 0x50]
mov rcx, rbx
lea edx, [r10 + 4]
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd407
mov ecx, dword [rsp + 0x34]
lea rax, [rbx + 8]
add rcx, rbx
cmp rax, rcx
ja 0x1400ffa10
mov rcx, qword [rbp - 0x50]
mov dword [rbx], edx
mov eax, dword [rbp + 0x18]
mov dword [rcx], eax
inc dword [rsp + 0x30]
jmp 0x1400fd407
lea rdx, [0x1405f9924]
mov edi, 0xc000000d
lea rcx, [0x1405b7a69]
call fcn.140005400
xor r10d, r10d
test edi, edi
js 0x1400ffafb
test r12, r12
jne 0x1400fd422
test esi, esi
je 0x1400fd426
mov edi, 0xc000000d
jmp 0x1400fd542
test esi, esi
je 0x1400fd418
cmp qword [rsp + 0x38], r10
jne 0x1400fd48e
mov r12d, 4
lea r8, [rsp + 0x28]
mov ecx, r12d
mov edx, esi
call fcn.14010805c
mov edx, dword [rbp - 0x20]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x20], edx
js 0x1400fd55a
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.14010805c
mov edi, eax
test eax, eax
js 0x1400fd55a
inc dword [rsp + 0x30]
lea rdx, [0x1405fd1d0]
lea rcx, [0x1403c19c4]
call fcn.140004640
xor r10d, r10d
jmp 0x1400fd562
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fd4f4
mov r10d, dword [rbp - 0x20]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, 4
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x20], r10d
js 0x1400fd54f
mov edx, r10d
lea r8, [rsp + 0x48]
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd54a
mov r9, qword [rsp + 0x48]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fd4a6
xor r10d, r10d
lea r8, [rbp - 0x50]
mov edx, 4
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd557
mov ecx, dword [rsp + 0x34]
add rcx, qword [rsp + 0x38]
mov r8d, esi
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x1400ffa10
mov dword [r9], esi
test r12, r12
je 0x1400fd53e
mov rcx, qword [rbp - 0x50]
mov rdx, r12
call sub.msvcrt.dll_memcpy
xor r10d, r10d
inc dword [rsp + 0x30]
mov r12d, 4
jmp 0x1400fd55a
xor r10d, r10d
jmp 0x1400fd542
xor r10d, r10d
mov r12, rcx
jmp 0x1400fd55a
mov r12, rdx
test edi, edi
js 0x1400ffafb
test r13, r13
jne 0x1400fd576
test r14d, r14d
je 0x1400fd57b
mov edi, 0xc000000d
jmp 0x1400fd679
test r14d, r14d
je 0x1400fd56c
cmp qword [rsp + 0x38], r10
jne 0x1400fd5c8
lea r8, [rsp + 0x28]
mov edx, r14d
mov ecx, r12d
call fcn.14010805c
mov edx, dword [rbp]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp], edx
js 0x1400fd679
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.14010805c
mov edi, eax
test eax, eax
js 0x1400fd679
inc dword [rsp + 0x30]
jmp 0x1400fd681
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fd628
mov r10d, dword [rbp]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp], r10d
js 0x1400fd676
mov edx, r10d
lea r8, [rsp + 0x48]
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd676
mov r9, qword [rsp + 0x48]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fd5e0
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd679
mov ecx, dword [rsp + 0x34]
add rcx, qword [rsp + 0x38]
mov r8d, r14d
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x1400ffa10
mov dword [r9], r14d
test r13, r13
je 0x1400fd670
mov rcx, qword [rbp - 0x50]
mov rdx, r13
call sub.msvcrt.dll_memcpy
xor r10d, r10d
inc dword [rsp + 0x30]
jmp 0x1400fd679
xor r10d, r10d
test edi, edi
js 0x1400ffafb
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x98]
test rax, rax
je 0x1400fd796
cmp qword [rsp + 0x38], r10
jne 0x1400fd6ee
lea r8, [rsp + 0x28]
mov edx, 8
mov ecx, r12d
call fcn.14010805c
mov edx, dword [rbp + 4]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp + 4], edx
js 0x1400fd7a0
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.14010805c
mov edi, eax
test eax, eax
js 0x1400fd7a0
inc dword [rsp + 0x30]
jmp 0x1400fd7a8
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fd74e
mov r10d, dword [rbp + 4]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp + 4], r10d
js 0x1400fd79d
mov edx, r10d
lea r8, [rsp + 0x48]
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd79d
mov r9, qword [rsp + 0x48]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fd706
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd7a0
mov ecx, dword [rsp + 0x34]
lea rax, [r9 + 0xc]
add rcx, qword [rsp + 0x38]
cmp rax, rcx
ja 0x1400ffa10
mov rax, qword [rbp - 0x50]
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x98]
movsd qword [rax], xmm0
inc dword [rsp + 0x30]
jmp 0x1400fd7a0
mov edi, 0xc000000d
jmp 0x1400fd7a0
xor r10d, r10d
test edi, edi
js 0x1400ffafb
lea rax, [rbp + 0x50]
mov dword [rbp + 0x50], 3
test rax, rax
je 0x1400fd8a6
cmp qword [rsp + 0x38], r10
jne 0x1400fd809
lea r8, [rsp + 0x28]
mov edx, r12d
mov ecx, r12d
call fcn.14010805c
mov edx, dword [rbp - 0x18]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x18], edx
js 0x1400fd8b0
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.14010805c
mov edi, eax
test eax, eax
js 0x1400fd8b0
inc dword [rsp + 0x30]
jmp 0x1400fd8b8
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fd869
mov r10d, dword [rbp - 0x18]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x18], r10d
js 0x1400fd8ad
mov edx, r10d
lea r8, [rsp + 0x48]
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd8ad
mov r9, qword [rsp + 0x48]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fd821
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd8b0
mov ecx, dword [rsp + 0x34]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x38]
cmp rax, rcx
ja 0x1400ffa10
mov rcx, qword [rbp - 0x50]
mov dword [r9], r12d
mov eax, dword [rbp + 0x50]
mov dword [rcx], eax
inc dword [rsp + 0x30]
jmp 0x1400fd8b0
mov edi, 0xc000000d
jmp 0x1400fd8b0
xor r10d, r10d
test edi, edi
js 0x1400ffafb
lea r8, [rsp + 0x48]
lea rcx, [rbp + 0x180]
call fcn.14010809c
xor r10d, r10d
test eax, eax
jns 0x1400fd8da
mov edi, 0xc000003e
jmp 0x1400ffafb
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, 1
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd915
mov eax, dword [rsp + 0x48]
lea r11d, [rax + rax]
lea rax, [rbp + 0x180]
test rax, rax
jne 0x1400fd96d
test r11d, r11d
je 0x1400fd972
mov edi, 0xc000000d
xor r10d, r10d
test edi, edi
js 0x1400ffafb
cmp qword [rsp + 0x38], r10
jne 0x1400fda7c
lea r8, [rsp + 0x28]
xor edx, edx
mov ecx, r12d
call fcn.14010805c
mov edx, dword [rbp - 0x24]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x24], edx
js 0x1400fdb13
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.14010805c
mov edi, eax
test eax, eax
js 0x1400fdb13
inc dword [rsp + 0x30]
jmp 0x1400fdb1b
test r11d, r11d
je 0x1400fd90d
cmp qword [rsp + 0x38], r10
jne 0x1400fd9c2
lea r8, [rsp + 0x28]
mov edx, r11d
mov ecx, r12d
call fcn.14010805c
mov edx, dword [rbp - 0x28]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x28], edx
js 0x1400fd912
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.14010805c
mov edi, eax
test eax, eax
js 0x1400fd912
inc dword [rsp + 0x30]
mov edi, r10d
jmp 0x1400fd912
mov ebx, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fda25
mov r10d, dword [rbp - 0x28]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x28], r10d
js 0x1400fd912
mov edx, r10d
lea r8, [rsp + 0x48]
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd912
mov r9, qword [rsp + 0x48]
inc ebx
cmp ebx, dword [rsp + 0x30]
jb 0x1400fd9da
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fd912
mov ecx, dword [rsp + 0x34]
lea rax, [r11 + 4]
add rcx, qword [rsp + 0x38]
add rax, r9
mov r8d, r11d
cmp rax, rcx
jbe 0x1400fda60
mov edi, 0xc0000023
jmp 0x1400fd912
mov rcx, qword [rbp - 0x50]
lea rdx, [rbp + 0x180]
mov dword [r9], r11d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x30]
jmp 0x1400fd912
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fdadc
mov r10d, dword [rbp - 0x24]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x24], r10d
js 0x1400fdb10
mov edx, r10d
lea r8, [rsp + 0x48]
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fdb10
mov r9, qword [rsp + 0x48]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fda94
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fdb13
mov ecx, dword [rsp + 0x34]
lea rax, [r9 + 4]
add rcx, qword [rsp + 0x38]
cmp rax, rcx
ja 0x1400ffa10
mov dword [r9], r10d
inc dword [rsp + 0x30]
jmp 0x1400fdb13
xor r10d, r10d
test edi, edi
js 0x1400ffafb
lea rax, [rbp + 0x20]
mov dword [rbp + 0x20], 2
test rax, rax
je 0x1400fdc19
cmp qword [rsp + 0x38], r10
jne 0x1400fdb7c
lea r8, [rsp + 0x28]
mov edx, r12d
mov ecx, r12d
call fcn.14010805c
mov edx, dword [rbp - 0x10]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x10], edx
js 0x1400fdc23
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.14010805c
mov edi, eax
test eax, eax
js 0x1400fdc23
inc dword [rsp + 0x30]
jmp 0x1400fdc2b
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x48], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fdbdc
mov r10d, dword [rbp - 0x10]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x10], r10d
js 0x1400fdc20
mov edx, r10d
lea r8, [rsp + 0x48]
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fdc20
mov r9, qword [rsp + 0x48]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fdb94
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400fdc23
mov ecx, dword [rsp + 0x34]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x38]
cmp rax, rcx
ja 0x1400ffa10
mov rcx, qword [rbp - 0x50]
mov dword [r9], r12d
mov eax, dword [rbp + 0x20]
mov dword [rcx], eax
inc dword [rsp + 0x30]
jmp 0x1400fdc23
mov edi, 0xc000000d
jmp 0x1400fdc23
xor r10d, r10d
test edi, edi
js 0x1400ffafb
lea r8, [rsp + 0x28]
mov edx, r12d
mov ecx, r12d
call fcn.14010805c
mov r9d, dword [rbp + 0x38]
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp + 0x38], r9d
js 0x1400fdc8c
lea r8, [rsp + 0x28]
mov dword [rbp - 0x68], r9d
mov edx, 8
call fcn.14010805c
test eax, eax
mov edx, r9d
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp + 0x38], edx
js 0x1400fdc8c
lea r8, [rbp - 0x68]
mov ecx, r9d
call fcn.14010805c
test eax, eax
mov edi, eax
cmovns r15d, dword [rbp - 0x68]
mov dword [rbp - 0x80], r15d
test edi, edi
js 0x1400ffafb
lea r8, [rsp + 0x28]
mov edx, r12d
mov ecx, r12d
call fcn.14010805c
mov edx, dword [rbp - 0x70]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x70], edx
js 0x1400ffafb
lea r8, [rbp - 0x80]
mov ecx, r15d
call fcn.14010805c
mov edi, eax
or edi, 0x10000000
jl 0x1400ffafb
mov r9, r10
mov qword [rsp + 0x68], r10
mov edi, r10d
mov qword [rbp + 0x58], r10
mov qword [rbp - 0x40], r10
mov r15d, r10d
mov dword [rsp + 0x28], r10d
mov r13, r10
mov qword [rsp + 0x48], r10
mov r12, r10
mov dword [rbp - 0x78], r10d
mov r14, r10
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x60], r10
mov dword [rbp - 0x48], r10d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x80], rax
mov dword [rbp - 0x60], 8
mov edx, dword [rsp + 0x34]
lea r8, [rbp - 0x60]
mov ecx, 8
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fde21
mov eax, dword [rbp - 0x60]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x60]
jae 0x1400fdd5a
mov esi, 0xc0000095
jmp 0x1400fde21
mov dword [rbp - 0x60], eax
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x1400fdd8e
mov esi, 0xc0000017
mov r9, r12
jmp 0x1400fde21
mov qword [rbp - 0x68], rax
lea r8, [rbp - 0x68]
mov eax, dword [rsp + 0x30]
mov edx, 4
mov rcx, rbx
mov dword [rbx], eax
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fddfd
mov rcx, qword [rbp - 0x68]
lea r8, [rbp - 0x68]
mov eax, dword [rsp + 0x34]
mov dword [rcx], eax
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fddfd
mov ecx, dword [rbp - 0x60]
mov rax, qword [rbp + 0x80]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x68]
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp - 0x60]
xor r10d, r10d
mov r9, rbx
mov qword [rsp + 0x68], rbx
mov ebx, r10d
jmp 0x1400fde00
mov r9, r12
test rbx, rbx
je 0x1400fde21
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9, qword [rsp + 0x68]
xor r10d, r10d
or esi, 0x10000000
jl 0x1400fea1b
or ebx, 0xffffffff
mov qword [rbp + 0x118], r10
mov qword [rbp + 0xe8], r10
mov r14, r10
mov qword [rbp + 0xc0], r10
mov qword [rbp + 0xf8], r10
mov qword [rbp + 0x70], r10
mov qword [rbp + 0xd8], r10
mov qword [rbp + 0x30], r10
mov dword [rbp - 0x68], ebx
test r9, r9
jne 0x1400fde70
mov esi, 0xc000000d
jmp 0x1400fe5b1
mov esi, edi
mov qword [rbp + 0x40], rsi
test edi, edi
je 0x1400fe4f8
lea rax, [rsi + 8]
mov rcx, rax
mov qword [rbp - 0x58], rax
call fcn.1400b74d4
xor r10d, r10d
mov qword [rbp - 8], rax
mov r15, rax
test rax, rax
je 0x1400fe4f8
mov dl, r10b
mov ecx, r10d
mov r10, qword [rsp + 0x68]
test edi, edi
je 0x1400fdebc
xor dl, byte [rcx + r10]
inc rcx
cmp rcx, rsi
jb 0x1400fdeb0
xor ecx, ecx
mov dword [rsp + 0x50], ebx
mov r9, rsi
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x20], ecx
mov r11, rax
mov r8d, ecx
mov edi, ebx
mov r13d, ecx
and r9d, 7
je 0x1400fdfa4
mov dword [rsp + 0x20], ecx
mov edi, ecx
mov ebx, ecx
test r9d, r9d
jle 0x1400fdf22
lea r8d, [rcx + 0x38]
movzx eax, byte [r10]
cmp ebx, 4
jge 0x1400fdf06
lea ecx, [r8 - 0x20]
shl eax, cl
or edi, eax
jmp 0x1400fdf0e
mov ecx, r8d
shl eax, cl
or r13d, eax
inc r10
inc ebx
sub r8d, 8
cmp ebx, r9d
jl 0x1400fdef3
mov dword [rsp + 0x20], edi
xor ecx, ecx
mov r8d, edi
mov eax, ecx
xor r8d, 0xeb2e114f
mov edi, r13d
xor edi, 0x17836d3e
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], edi
test r9d, r9d
jle 0x1400fdf6c
cmp eax, 4
jge 0x1400fdf53
rol r8d, 8
mov byte [r11], r8b
jmp 0x1400fdf59
rol edi, 8
mov byte [r11], dil
inc r11
inc eax
cmp eax, r9d
jl 0x1400fdf45
mov r8d, dword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
lea eax, [r9 - 4]
test eax, eax
jle 0x1400fdf88
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rsp + 0x50], edi
jmp 0x1400fdfa4
mov dword [rsp + 0x50], ecx
mov edi, ecx
test eax, eax
jns 0x1400fdfa4
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rsp + 0x58], r8d
mov rax, rsi
shr rax, 3
test rax, rax
je 0x1400fe2ee
mov r12d, dword [rsp + 0x20]
lea rsi, [r10 + 2]
mov r10d, 0x886f9e8b
lea r15, [r11 + 7]
mov r14, rax
movzx eax, byte [rsi - 1]
movzx ebx, byte [rsi - 2]
movzx r11d, byte [rsi + 2]
shl ebx, 8
or ebx, eax
shl r11d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl ebx, 8
or ebx, eax
movzx eax, byte [rsi - 7]
shl ebx, 8
or ebx, eax
movzx eax, byte [rsi - 5]
or r11d, eax
movzx eax, byte [rsi - 4]
shl r11d, 8
or r11d, eax
movzx eax, byte [rsi - 3]
shl r11d, 8
or r11d, eax
xor edi, r11d
mov eax, edi
ror eax, 2
sub eax, 0x9e8b
imul eax, eax, 0xe43
xor eax, ebx
xor r8d, eax
lea eax, [r8 + 0xe4352c9]
ror eax, 2
imul ecx, eax, 0x886f
mov eax, r8d
rol eax, 8
sub ecx, eax
mov eax, r10d
xor edi, ecx
lea r9d, [rdi - 0x52c9]
xor r9d, r8d
xor r9d, r10d
sub eax, r9d
rol eax, 0xe
imul ecx, eax, 0xe43
mov eax, r9d
rol eax, 1
add ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x886f
rol eax, 7
imul ecx, eax, 0x9e8b
mov eax, edi
ror eax, 1
add ecx, eax
mov eax, 0xe4352c9
xor r9d, ecx
sub eax, r9d
ror eax, 0xc
imul ecx, eax, 0x886f
mov eax, r9d
rol eax, 5
xor ecx, eax
mov eax, r10d
xor edi, ecx
sub eax, edi
rol eax, 0xa
imul ecx, eax, 0x52c9
mov eax, edi
rol eax, 0xb
sub ecx, eax
xor r9d, ecx
mov eax, r9d
mov r8d, r9d
xor eax, 0x9e8b
ror r8d, 1
imul ecx, eax, 0xe43
mov eax, 0xe4352c9
sub ecx, r8d
xor edi, ecx
mov ecx, edi
xor ecx, r10d
sub eax, ecx
xor r9d, eax
mov eax, r9d
ror eax, 6
xor eax, 0x886f
imul eax, eax, 0xe43
xor edi, eax
mov eax, edi
mov r8d, edi
xor eax, 0x9e8b
ror r8d, 3
imul ecx, eax, 0x52c9
xor r8d, ecx
xor r9d, r8d
lea eax, [r9 + 0x77906175]
rol eax, 1
imul ecx, eax, 0xe43
mov eax, r9d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov r10d, edi
xor r10d, r9d
mov r9d, 0x886f9e8b
xor r10d, 0x862ccc42
lea eax, [rdi - 0x52c9]
rol eax, 3
imul ecx, eax, 0x9e8b
mov eax, edi
shr eax, 0xf
xor ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x52c9]
imul ecx, eax, 0x886f
mov eax, r10d
shr eax, 0xd
sub ecx, eax
mov eax, r9d
xor edi, ecx
sub eax, edi
ror eax, 9
imul ecx, eax, 0x52c9
mov eax, edi
ror eax, 0xb
xor ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x77905332]
xor edi, eax
mov eax, edi
mov r8d, edi
xor eax, 0x886f
ror r8d, 7
imul ecx, eax, 0x9e8b
sub ecx, r8d
mov r8d, 0xe4352c9
xor r10d, ecx
mov eax, r10d
xor eax, 0xe43
rol eax, 4
imul ecx, eax, 0x886f
mov eax, r10d
ror eax, 0x10
sub ecx, eax
mov eax, r9d
xor edi, ecx
sub eax, edi
ror eax, 0xa
imul ecx, eax, 0x52c9
mov eax, edi
ror eax, 4
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x77906175]
ror eax, 4
imul ecx, eax, 0xe43
mov eax, r10d
ror eax, 9
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, r8d
rol eax, 8
imul ecx, eax, 0x9e8b
mov eax, edi
rol eax, 2
sub ecx, eax
mov eax, r8d
xor r10d, ecx
sub eax, r10d
ror eax, 0xb
imul ecx, eax, 0x886f
mov eax, r10d
ror eax, 0xc
sub ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x886f
imul ecx, eax, 0x52c9
mov eax, edi
shr eax, 8
xor ecx, eax
xor r10d, ecx
xor edi, r10d
xor r10d, r12d
mov dword [rsp + 0x58], r10d
xor edi, 0x862ccc42
xor edi, r13d
mov r12d, ebx
mov dword [rsp + 0x50], edi
mov r13d, r11d
mov byte [r15 - 4], r10b
mov r10d, r9d
mov al, byte [rsp + 0x50]
ror dword [rsp + 0x58], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rsp + 0x50], 8
mov al, byte [rsp + 0x58]
mov byte [r15 - 0xd], al
mov al, byte [rsp + 0x50]
ror dword [rsp + 0x58], 8
mov byte [r15 - 9], al
ror dword [rsp + 0x50], 8
mov al, byte [rsp + 0x58]
mov byte [r15 - 0xe], al
ror dword [rsp + 0x58], 8
mov al, byte [rsp + 0x50]
mov byte [r15 - 0xa], al
ror dword [rsp + 0x50], 8
mov al, byte [rsp + 0x58]
mov byte [r15 - 0xf], al
mov al, byte [rsp + 0x50]
mov byte [r15 - 0xb], al
mov r8d, dword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
ror r8d, 8
ror edi, 8
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], edi
sub r14, 1
jne 0x1400fdfca
mov r14, qword [rbp + 0x30]
mov rsi, qword [rbp + 0x40]
mov r12, qword [rsp + 0x78]
mov r15, qword [rbp - 8]
movzx eax, dl
mov qword [r15 + rsi], rax
mov rsi, qword [rbp - 0x58]
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0x70], r15
lea rax, [0x1405f8ee0]
mov r13d, 8
mov qword [rbp + 0x118], rax
mov qword [rbp + 0xe8], r13
lea rdi, [0x1405f8e40]
mov qword [rbp + 0xf8], 0xa0
mov qword [rbp + 0xc0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [r13 + 0x28]
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x1400fe363
mov esi, 0xc0000017
jmp 0x1400fe4e6
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
jne 0x1400fe38e
mov esi, 0xc0000017
jmp 0x1400fe45b
mov qword [rbx + 8], rax
mov r8, rsi
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, 0xa0
mov dword [rbx + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
je 0x1400fe384
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [rdi]
lea ecx, [rsi - 0x20]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rdi + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rdi + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rdi + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rax + rcx - 0x10], xmm1
movups xmm0, xmmword [rdi + rcx]
movups xmmword [rax + rcx], xmm0
movups xmm1, xmmword [rdi + rcx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
mov dword [rbx + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
je 0x1400fe384
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1405f8ee0]
mov r14, rbx
movsd qword [rax], xmm0
mov esi, r10d
mov ebx, r10d
test rbx, rbx
je 0x1400fe4e6
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400fe488
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rbx + 8], r10
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400fe4ac
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400fe4cf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov r13, qword [rsp + 0x48]
test esi, esi
js 0x1400fe4fd
mov qword [rbp + 0x58], r14
mov r14, r10
jmp 0x1400fe4fd
mov esi, 0xc0000001
mov rbx, qword [rbp + 0x70]
test rbx, rbx
je 0x1400fe521
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rbp + 0x70], r10
test r14, r14
je 0x1400fe5ac
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1400fe54e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [r14 + 8], r10
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x1400fe572
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [r14 + 0x18], r10
mov rbx, qword [r14 + 0x28]
test rbx, rbx
je 0x1400fe595
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [r14 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov r15d, dword [rsp + 0x28]
or esi, 0x10000000
jl 0x1400fea16
mov rdi, qword [rbp + 0x58]
lea r8, [rsp + 0x20]
mov r14d, 4
mov ecx, r14d
mov dword [rsp + 0x20], r14d
mov edx, dword [rdi]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fe648
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r14d
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fe648
mov edx, dword [rdi + 0x10]
lea r8, [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fe648
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r14d
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fe648
mov edx, dword [rdi + 0x20]
lea r8, [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
call fcn.14010805c
mov esi, eax
mov eax, dword [rbp - 0x1c]
test esi, esi
cmovns eax, dword [rsp + 0x20]
mov dword [rbp - 0x1c], eax
jmp 0x1400fe64b
mov eax, dword [rbp - 0x1c]
test esi, esi
js 0x1400fe792
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x1400fe681
mov esi, 0xc0000017
jmp 0x1400fe792
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x28]
mov eax, dword [rdi]
mov rdx, r14
mov rcx, rbx
mov dword [rbx], eax
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe776
mov r8d, dword [rdi]
mov rdx, qword [rdi + 8]
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_memcpy
mov edx, dword [rdi]
lea r8, [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
call fcn.14010807c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400fe776
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x28]
mov eax, dword [rdi + 0x10]
mov rdx, r14
mov dword [rcx], eax
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe776
mov r8d, dword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_memcpy
mov edx, dword [rdi + 0x10]
lea r8, [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
call fcn.14010807c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400fe776
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x28]
mov eax, dword [rdi + 0x20]
mov rdx, r14
mov dword [rcx], eax
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe776
mov r8d, dword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_memcpy
mov edx, dword [rdi + 0x20]
lea r8, [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
call fcn.14010807c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400fe776
mov r15d, dword [rbp - 0x1c]
mov qword [rbp - 0x40], rbx
mov ebx, r10d
test rbx, rbx
je 0x1400fe792
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
or esi, 0x10000000
jl 0x1400fea16
xor r14d, r14d
mov qword [rbp + 0x128], r10
mov qword [rbp + 0x108], r14
mov r11d, r14d
mov dword [rbp + 0x68], r14d
mov dword [rbp + 0x6c], r10d
mov dword [rbp + 8], 8
mov edx, dword [rbp - 0x80]
lea r8, [rbp + 8]
lea ecx, [r14 + 8]
call fcn.14010805c
mov esi, eax
or esi, 0x10000000
jl 0x1400fe826
mov eax, dword [rbp + 8]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 8]
jae 0x1400fe7f5
mov r9d, dword [rbp + 0x28]
mov esi, 0xc0000095
jmp 0x1400fe816
mov dword [rbp + 0x3c], eax
mov edx, ecx
lea r8, [rbp + 0x3c]
mov ecx, eax
call fcn.14010805c
mov r9d, dword [rbp + 0x28]
test eax, eax
mov esi, eax
cmovns r9d, dword [rbp + 0x3c]
mov dword [rbp + 0x28], r9d
test esi, esi
js 0x1400fe826
cmp qword [rsp + 0x38], r14
jne 0x1400fe864
mov esi, 0xc000000d
xor r10d, r10d
test esi, esi
js 0x1400fea16
mov ebx, dword [rbp - 0x78]
mov esi, r10d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
jne 0x1400fec2c
mov esi, 0xc0000017
jmp 0x1400fec34
cmp dword [rsp + 0x30], 1
jbe 0x1400fe821
mov rcx, qword [rsp + 0x38]
mov ebx, r14d
mov qword [rsp + 0x28], rcx
mov edi, dword [rcx]
lea r8, [rsp + 0x28]
mov edx, 4
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe8e1
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x28]
mov edx, edi
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe8e1
mov rcx, qword [rsp + 0x28]
inc ebx
cmp ebx, 1
jb 0x1400fe878
mov ebx, dword [rcx]
lea r8, [rsp + 0x28]
mov edx, 4
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe8e1
mov rax, qword [rsp + 0x28]
test ebx, ebx
mov r10d, ebx
mov dword [rbp + 0x6c], ebx
cmove rax, r14
mov qword [rbp + 0x128], rax
test esi, esi
js 0x1400fe826
cmp dword [rsp + 0x30], 2
jbe 0x1400fe821
mov rcx, qword [rsp + 0x38]
mov ebx, r14d
mov qword [rsp + 0x28], rcx
mov edi, dword [rcx]
lea r8, [rsp + 0x28]
mov edx, 4
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe96a
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x28]
mov edx, edi
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe96a
mov rcx, qword [rsp + 0x28]
inc ebx
cmp ebx, 2
jb 0x1400fe901
mov ebx, dword [rcx]
lea r8, [rsp + 0x28]
mov edx, 4
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fe96a
mov rax, qword [rsp + 0x28]
test ebx, ebx
mov r11d, ebx
mov dword [rbp + 0x68], ebx
cmove rax, r14
mov qword [rbp + 0x108], rax
test esi, esi
js 0x1400fe826
lea r8, [rsp + 0x20]
mov dword [rsp + 0x20], 4
mov edx, r9d
mov ecx, 4
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fe9fc
mov edx, ecx
lea r8, [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fe9fc
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r10d
call fcn.14010805c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400fe9ff
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
lea edx, [r10 + 4]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fe9ff
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r11d
call fcn.14010805c
mov esi, eax
mov eax, dword [rbp + 0x48]
test esi, esi
cmovns eax, dword [rsp + 0x20]
mov dword [rbp + 0x48], eax
jmp 0x1400fea02
xor r10d, r10d
mov eax, dword [rbp + 0x48]
test esi, esi
js 0x1400fea16
cmp eax, 0x400000
jbe 0x1400fec24
mov esi, 0x8000ffff
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400fea3c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov rdi, qword [rbp + 0x58]
test rdi, rdi
je 0x1400feacf
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1400fea6d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rdi + 8], r10
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x1400fea91
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rdi + 0x18], r10
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x1400feab4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rbp + 0x58], r10
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x1400feaef
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x1400feb10
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
test r12, r12
je 0x1400feba1
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x1400feb3f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [r12 + 8], r10
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x1400feb65
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [r12 + 0x18], r10
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x1400feb8a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [r12 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
test r14, r14
je 0x1400febbd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov edi, esi
test esi, esi
js 0x1400ffafb
cmp dword [rbp - 0x38], 3
jne 0x1400ffa3c
mov esi, 4
cmp qword [rbp - 0x30], r10
jne 0x1400ff91c
mov edi, 0xc000000d
mov ebx, dword [rbp - 0x14]
test edi, edi
js 0x1400ffafb
mov edi, ebx
test ebx, ebx
js 0x1400ffafb
lea rdx, [0x1405fa4f0]
lea rcx, [0x140512062]
call fcn.140003fd0
xor r10d, r10d
cmp qword [rbp - 0x30], r10
jne 0x1400ff97a
mov edi, 0xc000000d
jmp 0x1400ffa24
mov dword [rbp - 0x78], eax
jmp 0x1400fe829
mov r13, rax
mov qword [rsp + 0x48], rax
or esi, 0x10000000
jl 0x1400fea16
mov rdi, qword [rbp - 0x40]
test rdi, rdi
jne 0x1400fec53
mov esi, 0x80070057
jmp 0x1400fea16
test r13, r13
je 0x1400fec49
lea r8, [rbp + 0xc8]
mov ecx, 1
lea rdx, [0x14033b608]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
xor esi, esi
test eax, eax
je 0x1400fec93
mov rcx, qword [rbp + 0xc8]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x1400fecba
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r10d, r10d
mov esi, eax
test eax, eax
jle 0x1400fecab
movzx esi, ax
or esi, 0x80070000
test esi, esi
js 0x1400fecb4
mov esi, 0x80004005
mov r14d, dword [rbp - 0x78]
jmp 0x1400fed29
mov eax, dword [rbp - 0x78]
lea rdx, [0x1405f9150]
lea rcx, [0x140475cac]
mov dword [rbp + 0x154], eax
mov qword [rbp + 0x140], rdi
mov dword [rbp + 0x150], r15d
mov qword [rbp + 0x148], r13
mov dword [rbp + 0x158], esi
call fcn.140003610
mov rcx, rbx
call qword [0x1403358c8]
xor r9d, r9d
lea rdx, [rbp + 0x140]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov r14d, dword [rbp - 0x78]
mov esi, eax
xor r10d, r10d
or esi, 0x10000000
cmovns r14d, dword [rbp + 0x154]
mov dword [rbp - 0x78], r14d
cmp esi, 0xd0000023
jne 0x1400fed3b
mov esi, 0x8007007a
jmp 0x1400fea16
test esi, esi
js 0x1400fea16
mov r9d, 4
mov dword [rsp + 0x20], r10d
mov qword [rbp - 0x80], r13
mov r15, r10
mov edi, 0xc000003e
cmp r14d, r9d
jae 0x1400fed66
mov esi, edi
jmp 0x1400fee50
mov rcx, qword [rsp + 0x48]
lea r8, [rbp - 0x80]
mov r13d, dword [r13]
mov rdx, r9
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fee50
lea r8, [rsp + 0x20]
xor ecx, ecx
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fee50
mov eax, r14d
sub eax, dword [rsp + 0x20]
cmp eax, r13d
jb 0x1400fed5f
mov rax, qword [rbp - 0x80]
lea r8, [rbp - 0x80]
mov rcx, rax
mov qword [rbp - 0x58], rax
mov edx, r13d
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fee50
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fee50
mov eax, r14d
sub eax, dword [rsp + 0x20]
cmp eax, r9d
jb 0x1400fed5f
mov rbx, qword [rbp - 0x80]
lea rdx, [0x1405ff9bc]
lea rcx, [0x1404c0af3]
mov r12d, dword [rbx]
mov dword [rsp + 0x28], r12d
call fcn.1400042e0
mov r9d, 4
lea r8, [rbp - 0x80]
mov edx, r9d
mov rcx, rbx
call fcn.14010807c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400fee4b
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fee4b
mov eax, r14d
sub eax, dword [rsp + 0x20]
cmp eax, r12d
jae 0x1400fee80
mov esi, edi
mov r12, qword [rsp + 0x78]
or esi, 0x10000000
jl 0x1400fea16
mov qword [rbp + 0xb8], r10
mov rbx, r10
mov qword [rbp + 0x10], rbx
mov esi, r10d
test r12, r12
jne 0x1400ff1bb
mov esi, 0xc000000d
jmp 0x1400ff6ec
mov rax, qword [rbp - 0x80]
lea r8, [rbp - 0x80]
mov rcx, rax
mov qword [rbp + 0x40], rax
mov rdx, r12
mov qword [rbp + 0x30], r12
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fee4b
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fee4b
mov eax, r14d
sub eax, dword [rsp + 0x20]
cmp eax, r9d
jb 0x1400fee49
mov rcx, qword [rbp - 0x80]
lea r8, [rbp - 0x80]
mov rdx, r9
mov r12d, dword [rcx]
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400fee4b
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fee4b
mov ecx, dword [rsp + 0x20]
mov eax, r14d
sub eax, ecx
cmp eax, r12d
jb 0x1400fee49
lea r8, [rsp + 0x20]
mov edx, r12d
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400fee4b
cmp r14d, dword [rsp + 0x20]
jne 0x1400fee49
mov ecx, dword [rsp + 0x28]
add ecx, r12d
mov eax, r14d
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x1400fee49
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x1400fef71
mov esi, 0xc0000017
jmp 0x1400ff0ff
mov r14, qword [rbp - 0x58]
mov esi, r10d
test r14, r14
je 0x1400fefc0
mov dword [rax], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
jne 0x1400fefa9
mov esi, 0xc0000017
jmp 0x1400ff074
mov qword [rbx + 8], rax
mov r8, r13
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r10d, r10d
jmp 0x1400fefc7
mov dword [rax], r10d
mov qword [rax + 8], r10
mov r14, qword [rbp + 0x40]
test r14, r14
je 0x1400ff014
mov eax, dword [rsp + 0x28]
mov dword [rbx + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r13, qword [rbp + 0x30]
mov edx, 8
mov rcx, rax
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
je 0x1400fef9f
mov qword [rbx + 0x18], rax
mov r8, r13
mov rdx, r14
mov rcx, rax
mov esi, r10d
call sub.msvcrt.dll_memcpy
xor r10d, r10d
jmp 0x1400ff01c
mov dword [rbx + 0x10], r10d
mov qword [rbx + 0x18], r10
mov r14, qword [rbp - 0x80]
test r14, r14
je 0x1400ff066
mov dword [rbx + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
je 0x1400fef9f
mov qword [rbx + 0x28], rax
mov r8, r12
mov rdx, r14
mov rcx, rax
mov esi, r10d
call sub.msvcrt.dll_memcpy
xor r10d, r10d
jmp 0x1400ff06e
mov dword [rbx + 0x20], r10d
mov qword [rbx + 0x28], r10
mov r15, rbx
mov rbx, r10
test rbx, rbx
je 0x1400ff0ff
mov r14, qword [rbx + 8]
test r14, r14
je 0x1400ff0a1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rbx + 8], r10
mov r14, qword [rbx + 0x18]
test r14, r14
je 0x1400ff0c5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov r14, qword [rbx + 0x28]
test r14, r14
je 0x1400ff0e8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
test esi, esi
js 0x1400ff110
mov r12, r15
mov qword [rsp + 0x78], r15
mov r15, r10
jmp 0x1400ff115
mov r12, qword [rsp + 0x78]
test r15, r15
je 0x1400fee50
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400ff142
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x1400ff168
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r14d, r14d
mov qword [r15 + 0x18], r14
jmp 0x1400ff16b
xor r14d, r14d
mov rbx, qword [r15 + 0x28]
lea rdx, [0x1405faf50]
lea rcx, [0x14059f24e]
call fcn.140004d20
test rbx, rbx
je 0x1400ff19f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
jmp 0x1400fee50
mov r13, qword [r12 + 8]
mov qword [rbp + 0x30], r13
test r13, r13
je 0x1400fee76
cmp dword [r12], r10d
je 0x1400fee76
mov r14d, dword [r12]
test r14, r14
je 0x1400ff6c7
add r14, 0xfffffffffffffff8
mov rcx, r14
mov qword [rbp - 8], r14
call fcn.1400b74d4
xor r10d, r10d
mov qword [rbp + 0x40], rax
mov r15, rax
test rax, rax
je 0x1400ff6c3
xor ecx, ecx
mov dl, r10b
mov r8, r14
mov byte [rbp - 0x74], dl
mov dword [rsp + 0x54], ecx
mov r9, r13
mov r10, rax
mov r13d, ecx
mov r11d, ecx
and r8d, 7
je 0x1400ff2fd
or ebx, 0xffffffff
mov dword [rbp - 0x68], ecx
mov dword [rsp + 0x40], ebx
mov ebx, ecx
test r8d, r8d
jle 0x1400ff277
lea r12d, [rcx + 0x38]
movzx eax, byte [r9]
cmp r11d, 4
jge 0x1400ff257
lea ecx, [r12 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400ff25e
mov ecx, r12d
shl eax, cl
or ebx, eax
inc r9
inc r11d
sub r12d, 8
cmp r11d, r8d
jl 0x1400ff241
mov r12, qword [rsp + 0x78]
xor ecx, ecx
mov dword [rbp - 0x68], ebx
mov r11d, dword [rbp - 0x68]
mov ebx, r13d
xor ebx, 0x30c4e450
xor r11d, 0x688d54ad
mov dword [rsp + 0x54], ebx
mov eax, ecx
mov dword [rsp + 0x40], r11d
test r8d, r8d
jle 0x1400ff2c2
cmp eax, 4
jge 0x1400ff2a8
rol ebx, 8
mov byte [r10], bl
jmp 0x1400ff2af
rol r11d, 8
mov byte [r10], r11b
inc r10
inc eax
cmp eax, r8d
jl 0x1400ff29b
mov ebx, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x40]
lea eax, [r8 - 4]
test eax, eax
jle 0x1400ff2e1
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x40], r11d
jmp 0x1400ff303
mov dword [rsp + 0x40], ecx
mov r11d, ecx
test eax, eax
jns 0x1400ff303
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x54], ebx
jmp 0x1400ff303
mov dword [rsp + 0x40], ecx
mov ebx, ecx
mov rax, r14
shr rax, 3
test rax, rax
je 0x1400ff64f
mov r14d, dword [rbp - 0x68]
lea rdx, [r10 + 7]
lea r15, [r9 + 2]
mov r8d, 0x5db1c4d7
mov r12, rax
movzx eax, byte [r15 - 1]
movzx r10d, byte [r15 - 2]
movzx r9d, byte [r15 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 5]
or r9d, eax
xor ebx, r10d
movzx eax, byte [r15 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
xor r11d, ebx
xor r11d, 0x4aef0ee6
lea eax, [r11 - 0x175eca31]
rol eax, 5
imul ecx, eax, 0xc4d7
mov eax, r11d
rol eax, 0xa
add ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x5db1c4d7]
ror eax, 9
imul ecx, eax, 0x175e
mov eax, ebx
rol eax, 2
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xc4d7]
imul ecx, eax, 0xca31
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x175e
rol eax, 6
imul ecx, eax, 0x5db1
mov eax, ebx
rol eax, 2
sub ecx, eax
mov eax, r8d
xor r11d, ecx
mov ecx, r11d
xor ecx, 0x175eca31
sub eax, ecx
xor ebx, eax
mov eax, ebx
mov r8d, ebx
xor eax, 0xc4d7
ror r8d, 6
imul ecx, eax, 0x175e
xor r8d, ecx
xor r11d, r8d
lea eax, [r11 + 0x5db1c4d7]
ror eax, 0xf
imul ecx, eax, 0xca31
mov eax, r11d
rol eax, 2
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x175eca31]
ror eax, 0xe
imul ecx, eax, 0x5db1
mov eax, ebx
rol eax, 8
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x175eca31
ror eax, 0xc
mov r8d, 0x5db1
imul ecx, eax, 0xc4d7
mov eax, r11d
ror eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, r8d
imul ecx, eax, 0x175e
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0xca31
imul eax, eax, 0x5db1
xor ebx, eax
lea eax, [rbx + 0x175eca31]
ror eax, 1
imul ecx, eax, 0x5db1
mov eax, ebx
ror eax, 8
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, r8d
mov r8d, 0x5db1c4d7
imul ecx, eax, 0xc4d7
mov eax, r11d
shr eax, 0xc
xor ecx, eax
mov eax, r8d
xor ebx, ecx
sub eax, ebx
ror eax, 9
imul ecx, eax, 0x175e
mov eax, ebx
rol eax, 0xf
xor ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xc4d7]
rol eax, 3
imul ecx, eax, 0xca31
mov eax, r11d
shr eax, 9
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x175eca31]
rol eax, 6
imul ecx, eax, 0x5db1
mov eax, ebx
ror eax, 2
xor ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x175eca31]
rol eax, 0xc
imul ecx, eax, 0xc4d7
mov eax, r11d
rol eax, 5
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, r8d
rol eax, 9
imul ecx, eax, 0x175e
mov eax, ebx
ror eax, 5
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x5db1c4d7]
rol eax, 0xc
imul ecx, eax, 0xca31
mov eax, r11d
rol eax, 8
xor ecx, eax
xor ebx, ecx
mov eax, ebx
ror eax, 0xa
xor eax, 0x5db1
imul eax, eax, 0xca31
xor r11d, eax
mov eax, r11d
mov r8d, r11d
xor eax, 0xca31
ror r8d, 0xc
imul ecx, eax, 0xc4d7
mov eax, 0x175eca31
sub ecx, r8d
mov r8d, 0x5db1c4d7
xor ebx, ecx
mov ecx, ebx
xor ecx, r8d
sub eax, ecx
xor r11d, eax
lea eax, [r11 - 0xca31]
xor r11d, r14d
mov dword [rsp + 0x40], r11d
xor eax, r13d
xor eax, ebx
mov r13d, r10d
xor eax, r8d
mov r14d, r9d
mov dword [rsp + 0x54], eax
mov byte [rdx - 4], al
mov al, byte [rsp + 0x40]
ror dword [rsp + 0x54], 8
mov byte [rdx], al
ror dword [rsp + 0x40], 8
mov al, byte [rsp + 0x54]
mov byte [rdx - 5], al
mov al, byte [rsp + 0x40]
ror dword [rsp + 0x54], 8
mov byte [rdx - 1], al
ror dword [rsp + 0x40], 8
mov al, byte [rsp + 0x54]
mov byte [rdx - 6], al
ror dword [rsp + 0x54], 8
mov al, byte [rsp + 0x40]
mov byte [rdx - 2], al
ror dword [rsp + 0x40], 8
mov al, byte [rsp + 0x54]
mov byte [rdx - 7], al
mov al, byte [rsp + 0x40]
mov byte [rdx - 3], al
add rdx, 8
mov ebx, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x40]
ror ebx, 8
ror r11d, 8
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x40], r11d
sub r12, 1
jne 0x1400ff328
mov dl, byte [rbp - 0x74]
mov r14, qword [rbp - 8]
mov r15, qword [rbp + 0x40]
mov r12, qword [rsp + 0x78]
xor r10d, r10d
mov eax, r10d
test r14, r14
je 0x1400ff666
xor dl, byte [rax + r15]
inc rax
cmp rax, r14
jb 0x1400ff65a
mov rcx, qword [rbp + 0x30]
movzx eax, dl
cmp rax, qword [r14 + rcx]
je 0x1400ff67f
mov rbx, qword [rbp + 0x10]
mov r14d, 0xc004d501
jmp 0x1400ff693
mov rbx, r15
mov qword [rbp + 0xb8], r14
mov qword [rbp + 0x10], rbx
mov r15, r10
mov r14d, esi
test r15, r15
je 0x1400ff6a7
mov rcx, r15
call fcn.1400393ec
mov rbx, qword [rbp + 0x10]
xor r10d, r10d
test r14d, r14d
js 0x1400ff6c7
mov eax, dword [rbp + 0xb8]
mov qword [rsp + 0x60], rbx
mov rbx, r10
mov qword [rbp + 0x10], rbx
mov dword [rbp - 0x48], eax
jmp 0x1400ff6cc
mov rbx, qword [rbp + 0x10]
mov esi, 0xc0000001
test rbx, rbx
je 0x1400ff6ec
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rbp + 0x10], r10
or esi, 0x10000000
jl 0x1400fea16
mov r14, qword [rsp + 0x60]
mov r9d, 4
mov dword [rsp + 0x20], r10d
mov qword [rsp + 0x78], r14
cmp dword [rbp - 0x48], r9d
jae 0x1400ff717
mov esi, edi
jmp 0x1400ff792
mov eax, dword [r14]
lea r8, [rsp + 0x78]
mov rdx, r9
mov dword [rbp - 0x68], eax
mov rcx, r14
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400ff792
lea r8, [rsp + 0x20]
xor ecx, ecx
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400ff792
mov eax, dword [rbp - 0x48]
sub eax, dword [rsp + 0x20]
cmp eax, r9d
jb 0x1400ff713
mov rcx, qword [rsp + 0x78]
lea r8, [rsp + 0x78]
mov r14d, dword [rcx]
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400ff78d
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400ff78d
mov eax, dword [rbp - 0x48]
mov ecx, dword [rsp + 0x20]
sub eax, ecx
cmp eax, r14d
jae 0x1400ff79e
mov esi, edi
mov r14, qword [rsp + 0x60]
bts esi, 0x1c
xor r10d, r10d
jmp 0x1400fea1b
lea r8, [rsp + 0x20]
mov edx, r14d
call fcn.14010805c
mov esi, eax
test eax, eax
js 0x1400ff78d
mov edx, dword [rbp - 0x48]
mov rbx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
lea rcx, [rbx + r14]
lea rax, [rdx + r8]
cmp rax, rcx
jb 0x1400ff912
sub rdx, rbx
sub rdx, r14
add rdx, r8
cmp rdx, 8
jae 0x1400ff912
mov dword [rbp - 0x80], r10d
mov r13, r10
mov esi, r10d
test rbx, rbx
je 0x1400ff898
lea r8, [rbp - 0x58]
mov rdx, r14
mov rcx, rbx
mov r9, rbx
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400ff8f4
mov r11, qword [rbp - 0x58]
cmp rbx, r11
jae 0x1400ff893
mov r10d, dword [rbp + 0x7c]
lea r8, [rbp - 0x58]
mov edx, 4
mov rcx, r9
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400ff78d
cmp qword [rbp - 0x58], r11
ja 0x1400ff8c6
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, 4
call fcn.14010805c
test eax, eax
mov esi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp + 0x7c], r10d
js 0x1400ff78d
mov edx, r10d
lea r8, [rbp - 8]
mov rcx, r9
call fcn.14010807c
mov esi, eax
test eax, eax
js 0x1400ff78d
mov r9, qword [rbp - 8]
cmp r9, r11
ja 0x1400ff8c6
inc dword [rbp - 0x80]
cmp r9, r11
jb 0x1400ff81e
cmp r9, r11
jne 0x1400ff8c6
test r14d, r14d
je 0x1400ff8d3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov r13, rax
test rax, rax
jne 0x1400ff8d0
mov esi, 0xc0000017
jmp 0x1400ff8f4
mov esi, 0xc000000d
jmp 0x1400ff78d
mov esi, r10d
test rbx, rbx
je 0x1400ff8e6
mov r8, r14
mov rdx, rbx
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp - 0x80]
mov dword [rbp - 0x38], eax
mov qword [rbp - 0x30], r13
mov dword [rbp - 0x34], r14d
test esi, esi
js 0x1400ff78d
mov eax, dword [rbp - 0x68]
mov r14, qword [rsp + 0x60]
cmp eax, dword [rbp - 0x38]
je 0x1400ff792
jmp 0x1400ff713
mov esi, edi
mov r14, r8
jmp 0x1400ff792
mov rbx, qword [rbp - 0x30]
lea r8, [rbp - 0x40]
mov rdx, rsi
mov qword [rbp - 0x40], rbx
mov rcx, rbx
mov r9d, dword [rbx]
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400ff954
mov rax, qword [rbp - 0x40]
test r9d, r9d
mov dword [rbp + 0x78], r9d
cmove rax, r10
mov qword [rbp + 0xd0], rax
jmp 0x1400ff95f
mov r9d, dword [rbp + 0x78]
mov rax, qword [rbp + 0xd0]
test edi, edi
js 0x1400febe5
cmp r9d, esi
jne 0x1400ffa10
mov ebx, dword [rax]
mov dword [rbp - 0x14], ebx
jmp 0x1400febe8
mov rcx, qword [rbp - 0x30]
mov r9d, r10d
mov qword [rsp + 0x68], rcx
mov r10d, dword [rcx]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400ff9f4
mov rcx, qword [rsp + 0x68]
lea r8, [rsp + 0x68]
mov edx, r10d
call fcn.14010807c
xor r10d, r10d
mov edi, eax
test eax, eax
js 0x1400ff9f7
mov rcx, qword [rsp + 0x68]
inc r9d
cmp r9d, 1
jb 0x1400ff986
mov r9d, dword [rcx]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400ff9f7
mov rax, qword [rsp + 0x68]
test r9d, r9d
mov dword [rbp + 0x60], r9d
cmove rax, r10
mov qword [rbp + 0xe0], rax
jmp 0x1400ffa02
xor r10d, r10d
mov r9d, dword [rbp + 0x60]
mov rax, qword [rbp + 0xe0]
test edi, edi
js 0x1400ffafb
cmp r9d, 8
je 0x1400ffa1a
mov edi, 0xc0000023
jmp 0x1400ffafb
mov rax, qword [rax]
mov qword [rbp + 0xf0], rax
test edi, edi
js 0x1400ffafb
mov rax, qword [rbp + 0xf0]
cmp qword [rbp + 0x90], rax
je 0x1400ffa46
mov edi, 0xc004d501
jmp 0x1400ffafb
cmp qword [rbp - 0x30], r10
jne 0x1400ffa56
mov edi, 0xc000000d
jmp 0x1400ffafb
mov rcx, qword [rbp - 0x30]
mov r9d, r10d
mov qword [rsp + 0x68], rcx
mov r10d, dword [rcx]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400ffad0
mov rcx, qword [rsp + 0x68]
lea r8, [rsp + 0x68]
mov edx, r10d
call fcn.14010807c
xor r10d, r10d
mov edi, eax
test eax, eax
js 0x1400ffad3
mov rcx, qword [rsp + 0x68]
inc r9d
cmp r9d, 2
jb 0x1400ffa62
mov r9d, dword [rcx]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.14010807c
mov edi, eax
test eax, eax
js 0x1400ffad3
mov rax, qword [rsp + 0x68]
test r9d, r9d
mov dword [rbp + 0x64], r9d
cmove rax, r10
mov qword [rbp + 0x100], rax
jmp 0x1400ffade
xor r10d, r10d
mov r9d, dword [rbp + 0x64]
mov rax, qword [rbp + 0x100]
test edi, edi
js 0x1400ffafb
cmp r9d, esi
je 0x1400ffaee
mov edi, 0x8007000d
jmp 0x1400ffafb
mov eax, dword [rax]
mov dword [rbp + 0x138], eax
test ebx, ebx
cmovne edi, ebx
mov rbx, qword [rsp + 0x38]
mov qword [rsp + 0x30], 0
test rbx, rbx
je 0x1400ffb2a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rsp + 0x38], r10
mov rbx, qword [rbp - 0x30]
mov qword [rbp - 0x38], 0
test rbx, rbx
je 0x1400ffb56
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov qword [rbp - 0x30], r10
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400ffb79
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
mov rbx, qword [rbp + 0xb0]
test rbx, rbx
je 0x1400ffb9c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r10d, r10d
test edi, edi
mov ebx, r10d
mov eax, 0xc004f034
cmovs ebx, eax
mov ecx, ebx
call fcn.14006a5bc
mov eax, ebx
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.14001af80
mov rbx, qword [rsp + 0x360]
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret