Function at 0x1400fdc20
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 [0x1405fa008]
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.14001ba6e
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.140039548
mov ebx, eax
test eax, eax
js 0x1400fdcff
cmp dword [rsp + 0x28], esi
je 0x1401008c0
mov rax, qword [rdi]
mov rbx, qword [rax + 0x30]
mov rcx, rbx
call qword [0x1403358c8]
lea r8, [rbp + 0x148]
mov rcx, rdi
lea rdx, str.SppBindingSkuId
call rbx
xor edi, edi
mov ebx, eax
test eax, eax
js 0x1400fdcff
cmp dword [rbp + 0x150], 2
je 0x1400fdccd
mov ebx, 0x8007070c
mov ecx, ebx
jmp 0x1400fdd01
lea rdx, [0x1405fd310]
mov dword [rsp + 0x28], 0x41
lea rcx, [0x1405cc29e]
call fcn.1400050c0
lea r9, [rbp + 0x180]
lea r8, [rsp + 0x28]
call fcn.1401b830c
mov ebx, eax
test eax, eax
jns 0x1400fdd0b
mov ecx, eax
call fcn.14003e600
jmp 0x1401008c0
xor eax, eax
mov qword [rbp + 0x78], rdi
mov qword [rsp + 0x34], rax
mov ebx, 0xa0
mov dword [rsp + 0x3c], eax
mov r12, rdi
mov qword [rbp - 0x44], rax
mov r13, rdi
mov dword [rbp - 0x3c], eax
mov r14d, edi
lea rax, [0x1405fada0]
mov qword [rbp + 0x88], rdi
mov qword [rbp + 0xc8], rax
mov r15d, edi
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x58], edi
mov dword [rbp - 0x70], edi
mov dword [rsp + 0x30], edi
mov dword [rbp - 0x48], edi
mov dword [rbp - 0x20], edi
mov dword [rbp - 0x60], edi
mov dword [rsp + 0x20], edi
mov qword [rbp + 0xb0], 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 0x1400fdd98
mov edi, 0xc0000017
jmp 0x1400fdf35
mov r8, qword [rbp + 0xb0]
mov rcx, rax
mov rdx, qword [rbp + 0xc8]
call sub.msvcrt.dll_memcpy
mov esi, dword [rbp + 0xb0]
mov r12, rbx
mov qword [rbp + 0x78], rbx
lea rax, [0x1405faee8]
mov qword [rbp + 0xa8], rdi
mov qword [rbp + 0x120], 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 0x1400fdd8e
mov r8, qword [rbp + 0xa8]
mov rcx, rax
mov rdx, qword [rbp + 0x120]
call sub.msvcrt.dll_memcpy
mov r14, qword [rbp + 0xa8]
mov r13, rbx
mov qword [rbp + 0x88], rbx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0xa0], rax
mov edx, 4
lea r8, [rsp + 0x28]
mov ecx, edx
call fcn.140108d1c
mov r9d, dword [rbp - 0x60]
xor r10d, r10d
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 0x60], r9d
js 0x1400fdf35
lea r8, [rsp + 0x20]
mov edx, r9d
xor ecx, ecx
call fcn.140108d1c
mov edi, eax
or edi, 0x10000000
jl 0x1400fdf35
lea r8, [rsp + 0x28]
mov edx, esi
lea ecx, [r10 + 4]
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 0x60], r9d
js 0x1400fdf35
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r9d
call fcn.140108d1c
mov edi, eax
or edi, 0x10000000
jl 0x1400fdf35
lea r8, [rsp + 0x28]
mov edx, r14d
lea ecx, [r10 + 4]
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 0x60], r9d
js 0x1400fdf35
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r9d
call fcn.140108d1c
mov edi, eax
or edi, 0x10000000
jl 0x1400fdf35
lea edx, [r10 + 8]
lea ecx, [rdx - 4]
lea r8, [rsp + 0x28]
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 0x60], r9d
js 0x1400fdf35
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r9d
call fcn.140108d1c
mov edi, eax
mov eax, dword [rsp + 0x78]
or edi, 0x10000000
cmovns eax, dword [rsp + 0x20]
mov dword [rsp + 0x78], eax
test edi, edi
js 0x140100815
mov edx, 4
lea r8, [rsp + 0x28]
mov ecx, edx
call fcn.140108d1c
mov ebx, dword [rbp - 0x70]
test eax, eax
mov edi, eax
cmovns ebx, dword [rsp + 0x28]
mov dword [rbp - 0x70], ebx
js 0x140100815
mov ecx, dword [rsp + 0x78]
lea r8, [rsp + 0x78]
mov edx, ebx
call fcn.140108d1c
mov edi, eax
or edi, 0x10000000
jl 0x140100815
lea r8, [rsp + 0x40]
lea rcx, [rbp + 0x180]
call fcn.140108d5c
xor r10d, r10d
test eax, eax
js 0x1400fe5fd
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x28]
inc rax
lea ecx, [r10 + 4]
lea edx, [rax + rax]
call fcn.140108d1c
lea rdx, [0x1405fb3b8]
mov edi, eax
lea rcx, [0x1404adf60]
call fcn.140003cd0
xor r10d, r10d
test edi, edi
cmovns ebx, dword [rsp + 0x28]
mov dword [rbp - 0x70], ebx
js 0x140100815
mov ecx, dword [rsp + 0x78]
lea r8, [rsp + 0x78]
mov edx, ebx
call fcn.140108d1c
mov edi, eax
mov r9d, 0x10000000
or edi, r9d
jl 0x140100815
xor edx, edx
lea r8, [rsp + 0x28]
lea ecx, [rdx + 4]
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns ebx, dword [rsp + 0x28]
mov dword [rbp - 0x70], ebx
js 0x140100815
mov ecx, dword [rsp + 0x78]
lea r8, [rsp + 0x78]
mov edx, ebx
call fcn.140108d1c
mov edi, eax
or edi, r9d
jl 0x140100815
lea edx, [r10 + 4]
mov ecx, edx
lea r8, [rsp + 0x28]
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns ebx, dword [rsp + 0x28]
mov dword [rbp - 0x70], ebx
js 0x140100815
mov ecx, dword [rsp + 0x78]
lea r8, [rsp + 0x78]
mov edx, ebx
call fcn.140108d1c
mov edi, eax
or edi, r9d
jl 0x140100815
mov eax, dword [rsp + 0x78]
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 0x1400fe0ae
mov edi, 0xc0000017
jmp 0x140100815
lea rdx, [0x1406022c0]
mov qword [rsp + 0x38], rax
lea rcx, [0x1404d0e68]
call fcn.140003990
xor r10d, r10d
mov dword [rsp + 0x30], r10d
lea rax, [rbp + 0x48]
mov dword [rbp + 0x48], 0x6d
test rax, rax
je 0x1400fe119
lea r8, [rbp - 0x50]
mov rcx, rbx
lea edx, [r10 + 4]
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe134
mov ecx, dword [rsp + 0x34]
lea rax, [rbx + 8]
add rcx, rbx
cmp rax, rcx
ja 0x140100727
mov rcx, qword [rbp - 0x50]
mov dword [rbx], edx
mov eax, dword [rbp + 0x48]
mov dword [rcx], eax
inc dword [rsp + 0x30]
jmp 0x1400fe134
lea rdx, [0x1405fb924]
mov edi, 0xc000000d
lea rcx, [0x1405bb891]
call fcn.140005430
xor r10d, r10d
test edi, edi
js 0x140100815
test r12, r12
jne 0x1400fe14f
test esi, esi
je 0x1400fe153
mov edi, 0xc000000d
jmp 0x1400fe26f
test esi, esi
je 0x1400fe145
cmp qword [rsp + 0x38], r10
jne 0x1400fe1bb
mov r12d, 4
lea r8, [rsp + 0x28]
mov ecx, r12d
mov edx, esi
call fcn.140108d1c
mov edx, dword [rbp - 0x14]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x14], edx
js 0x1400fe287
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.140108d1c
mov edi, eax
test eax, eax
js 0x1400fe287
inc dword [rsp + 0x30]
lea rdx, [0x1405ff1d0]
lea rcx, [0x1403c5a14]
call fcn.140004690
xor r10d, r10d
jmp 0x1400fe28f
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fe221
mov r10d, dword [rbp - 0x14]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, 4
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x14], r10d
js 0x1400fe27c
mov edx, r10d
lea r8, [rsp + 0x40]
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe277
mov r9, qword [rsp + 0x40]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fe1d3
xor r10d, r10d
lea r8, [rbp - 0x50]
mov edx, 4
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe284
mov ecx, dword [rsp + 0x34]
add rcx, qword [rsp + 0x38]
mov r8d, esi
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x140100727
mov dword [r9], esi
test r12, r12
je 0x1400fe26b
mov rcx, qword [rbp - 0x50]
mov rdx, r12
call sub.msvcrt.dll_memcpy
xor r10d, r10d
inc dword [rsp + 0x30]
mov r12d, 4
jmp 0x1400fe287
xor r10d, r10d
jmp 0x1400fe26f
xor r10d, r10d
mov r12, rcx
jmp 0x1400fe287
mov r12, rdx
test edi, edi
js 0x140100815
test r13, r13
jne 0x1400fe2a3
test r14d, r14d
je 0x1400fe2a8
mov edi, 0xc000000d
jmp 0x1400fe3a6
test r14d, r14d
je 0x1400fe299
cmp qword [rsp + 0x38], r10
jne 0x1400fe2f5
lea r8, [rsp + 0x28]
mov edx, r14d
mov ecx, r12d
call fcn.140108d1c
mov edx, dword [rbp - 0x18]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x18], edx
js 0x1400fe3a6
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.140108d1c
mov edi, eax
test eax, eax
js 0x1400fe3a6
inc dword [rsp + 0x30]
jmp 0x1400fe3ae
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fe355
mov r10d, dword [rbp - 0x18]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x18], r10d
js 0x1400fe3a3
mov edx, r10d
lea r8, [rsp + 0x40]
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe3a3
mov r9, qword [rsp + 0x40]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fe30d
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe3a6
mov ecx, dword [rsp + 0x34]
add rcx, qword [rsp + 0x38]
mov r8d, r14d
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x140100727
mov dword [r9], r14d
test r13, r13
je 0x1400fe39d
mov rcx, qword [rbp - 0x50]
mov rdx, r13
call sub.msvcrt.dll_memcpy
xor r10d, r10d
inc dword [rsp + 0x30]
jmp 0x1400fe3a6
xor r10d, r10d
test edi, edi
js 0x140100815
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x98]
test rax, rax
je 0x1400fe4c3
cmp qword [rsp + 0x38], r10
jne 0x1400fe41b
lea r8, [rsp + 0x28]
mov edx, 8
mov ecx, r12d
call fcn.140108d1c
mov edx, dword [rbp - 0x2c]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x2c], edx
js 0x1400fe4cd
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.140108d1c
mov edi, eax
test eax, eax
js 0x1400fe4cd
inc dword [rsp + 0x30]
jmp 0x1400fe4d5
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fe47b
mov r10d, dword [rbp - 0x2c]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x2c], r10d
js 0x1400fe4ca
mov edx, r10d
lea r8, [rsp + 0x40]
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe4ca
mov r9, qword [rsp + 0x40]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fe433
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe4cd
mov ecx, dword [rsp + 0x34]
lea rax, [r9 + 0xc]
add rcx, qword [rsp + 0x38]
cmp rax, rcx
ja 0x140100727
mov rax, qword [rbp - 0x50]
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x98]
movsd qword [rax], xmm0
inc dword [rsp + 0x30]
jmp 0x1400fe4cd
mov edi, 0xc000000d
jmp 0x1400fe4cd
xor r10d, r10d
test edi, edi
js 0x140100815
lea rax, [rbp]
mov dword [rbp], 3
test rax, rax
je 0x1400fe5d3
cmp qword [rsp + 0x38], r10
jne 0x1400fe536
lea r8, [rsp + 0x28]
mov edx, r12d
mov ecx, r12d
call fcn.140108d1c
mov edx, dword [rbp - 0x28]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x28], edx
js 0x1400fe5dd
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.140108d1c
mov edi, eax
test eax, eax
js 0x1400fe5dd
inc dword [rsp + 0x30]
jmp 0x1400fe5e5
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fe596
mov r10d, dword [rbp - 0x28]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x28], r10d
js 0x1400fe5da
mov edx, r10d
lea r8, [rsp + 0x40]
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe5da
mov r9, qword [rsp + 0x40]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fe54e
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe5dd
mov ecx, dword [rsp + 0x34]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x38]
cmp rax, rcx
ja 0x140100727
mov rcx, qword [rbp - 0x50]
mov dword [r9], r12d
mov eax, dword [rbp]
mov dword [rcx], eax
inc dword [rsp + 0x30]
jmp 0x1400fe5dd
mov edi, 0xc000000d
jmp 0x1400fe5dd
xor r10d, r10d
test edi, edi
js 0x140100815
lea r8, [rsp + 0x40]
lea rcx, [rbp + 0x180]
call fcn.140108d5c
xor r10d, r10d
test eax, eax
jns 0x1400fe607
mov edi, 0xc000003e
jmp 0x140100815
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe642
mov eax, dword [rsp + 0x40]
lea r11d, [rax + rax]
lea rax, [rbp + 0x180]
test rax, rax
jne 0x1400fe69a
test r11d, r11d
je 0x1400fe69f
mov edi, 0xc000000d
xor r10d, r10d
test edi, edi
js 0x140100815
cmp qword [rsp + 0x38], r10
jne 0x1400fe7a9
lea r8, [rsp + 0x28]
xor edx, edx
mov ecx, r12d
call fcn.140108d1c
mov edx, dword [rbp - 0x34]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x34], edx
js 0x1400fe840
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.140108d1c
mov edi, eax
test eax, eax
js 0x1400fe840
inc dword [rsp + 0x30]
jmp 0x1400fe848
test r11d, r11d
je 0x1400fe63a
cmp qword [rsp + 0x38], r10
jne 0x1400fe6ef
lea r8, [rsp + 0x28]
mov edx, r11d
mov ecx, r12d
call fcn.140108d1c
mov edx, dword [rbp - 0x24]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x24], edx
js 0x1400fe63f
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.140108d1c
mov edi, eax
test eax, eax
js 0x1400fe63f
inc dword [rsp + 0x30]
mov edi, r10d
jmp 0x1400fe63f
mov ebx, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fe752
mov r10d, dword [rbp - 0x24]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x24], r10d
js 0x1400fe63f
mov edx, r10d
lea r8, [rsp + 0x40]
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe63f
mov r9, qword [rsp + 0x40]
inc ebx
cmp ebx, dword [rsp + 0x30]
jb 0x1400fe707
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe63f
mov ecx, dword [rsp + 0x34]
lea rax, [r11 + 4]
add rcx, qword [rsp + 0x38]
add rax, r9
mov r8d, r11d
cmp rax, rcx
jbe 0x1400fe78d
mov edi, 0xc0000023
jmp 0x1400fe63f
mov rcx, qword [rbp - 0x50]
lea rdx, [rbp + 0x180]
mov dword [r9], r11d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x30]
jmp 0x1400fe63f
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fe809
mov r10d, dword [rbp - 0x34]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x34], r10d
js 0x1400fe83d
mov edx, r10d
lea r8, [rsp + 0x40]
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe83d
mov r9, qword [rsp + 0x40]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fe7c1
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe840
mov ecx, dword [rsp + 0x34]
lea rax, [r9 + 4]
add rcx, qword [rsp + 0x38]
cmp rax, rcx
ja 0x140100727
mov dword [r9], r10d
inc dword [rsp + 0x30]
jmp 0x1400fe840
xor r10d, r10d
test edi, edi
js 0x140100815
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], 2
test rax, rax
je 0x1400fe946
cmp qword [rsp + 0x38], r10
jne 0x1400fe8a9
lea r8, [rsp + 0x28]
mov edx, r12d
mov ecx, r12d
call fcn.140108d1c
mov edx, dword [rbp - 0x30]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x30], edx
js 0x1400fe950
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.140108d1c
mov edi, eax
test eax, eax
js 0x1400fe950
inc dword [rsp + 0x30]
jmp 0x1400fe958
mov r11d, r10d
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp dword [rsp + 0x30], r10d
jbe 0x1400fe909
mov r10d, dword [rbp - 0x30]
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, r12d
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp - 0x30], r10d
js 0x1400fe94d
mov edx, r10d
lea r8, [rsp + 0x40]
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe94d
mov r9, qword [rsp + 0x40]
inc r11d
cmp r11d, dword [rsp + 0x30]
jb 0x1400fe8c1
xor r10d, r10d
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r9
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1400fe950
mov ecx, dword [rsp + 0x34]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x38]
cmp rax, rcx
ja 0x140100727
mov rcx, qword [rbp - 0x50]
mov dword [r9], r12d
mov eax, dword [rbp + 0x38]
mov dword [rcx], eax
inc dword [rsp + 0x30]
jmp 0x1400fe950
mov edi, 0xc000000d
jmp 0x1400fe950
xor r10d, r10d
test edi, edi
js 0x140100815
lea r8, [rsp + 0x28]
mov edx, r12d
mov ecx, r12d
call fcn.140108d1c
mov r9d, dword [rbp - 8]
test eax, eax
mov edi, eax
cmovns r9d, dword [rsp + 0x28]
mov dword [rbp - 8], r9d
js 0x1400fe9ba
lea r8, [rsp + 0x28]
mov dword [rbp - 0x68], r9d
mov edx, 8
call fcn.140108d1c
test eax, eax
mov edx, r9d
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 8], edx
js 0x1400fe9ba
lea r8, [rbp - 0x68]
mov ecx, r9d
call fcn.140108d1c
test eax, eax
mov edi, eax
cmovns r15d, dword [rbp - 0x68]
mov dword [rsp + 0x58], r15d
test edi, edi
js 0x140100815
lea r8, [rsp + 0x28]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
mov ecx, r12d
call fcn.140108d1c
mov edx, dword [rbp - 0x70]
test eax, eax
mov edi, eax
cmovns edx, dword [rsp + 0x28]
mov dword [rbp - 0x70], edx
js 0x140100815
lea r8, [rsp + 0x58]
mov ecx, r15d
call fcn.140108d1c
mov edi, eax
or edi, 0x10000000
jl 0x140100815
mov rbx, r10
mov edi, r10d
mov qword [rbp + 0x30], rbx
mov r15, r10
mov qword [rbp + 0x50], r10
mov r13, r10
mov qword [rsp + 0x68], r10
mov r12, r10
mov dword [rsp + 0x28], r10d
mov r14, r10
mov qword [rsp + 0x40], r10
mov dword [rbp - 0x78], r10d
mov qword [rsp + 0x70], r10
mov qword [rbp - 0x80], r10
mov dword [rbp - 0x5c], r10d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x80], rax
mov dword [rbp - 0x6c], 8
mov edx, dword [rsp + 0x34]
lea r8, [rbp - 0x6c]
mov ecx, 8
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400feb47
mov eax, dword [rbp - 0x6c]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x6c]
jae 0x1400fea8a
mov esi, 0xc0000095
jmp 0x1400feb47
mov dword [rbp - 0x6c], 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 0x1400feabe
mov esi, 0xc0000017
mov rbx, r12
jmp 0x1400feb47
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.140108d3c
mov esi, eax
test eax, eax
js 0x1400feb27
mov rcx, qword [rbp - 0x68]
lea r8, [rbp - 0x68]
mov eax, dword [rsp + 0x34]
mov dword [rcx], eax
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400feb27
mov ecx, dword [rbp - 0x6c]
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 - 0x6c]
xor r10d, r10d
mov qword [rbp + 0x30], rbx
mov ebx, r10d
test rbx, rbx
je 0x1400feb43
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 + 0x30]
or esi, 0x10000000
jl 0x1400ff71b
or r15d, 0xffffffff
mov qword [rbp + 0xf0], r10
mov qword [rbp + 0x100], r10
mov r14, r10
mov qword [rbp + 0xb8], r10
mov qword [rbp + 0x108], r10
mov qword [rbp + 0x60], r10
mov qword [rbp + 0xf8], r10
mov qword [rbp + 8], r10
mov dword [rbp - 0x68], r15d
test rbx, rbx
jne 0x1400feb98
mov esi, 0xc000000d
jmp 0x1400ff2b5
test rdi, rdi
je 0x1400ff201
lea rcx, [rdi + 8]
call fcn.14011ea0c
xor r10d, r10d
mov qword [rbp + 0x18], rax
mov rsi, rax
test rax, rax
je 0x1400ff201
mov dl, r10b
mov ecx, r10d
test rdi, rdi
je 0x1400febd3
xor dl, byte [rcx + rbx]
inc rcx
cmp rcx, rdi
jb 0x1400febc8
xor ecx, ecx
mov dword [rsp + 0x4c], r15d
mov r8, rdi
mov dword [rsp + 0x60], ecx
mov r9, rbx
mov r11d, r15d
mov r10, rax
mov ebx, ecx
mov r15d, ecx
mov r13d, ecx
and r8d, 7
je 0x1400fecb4
test r8d, r8d
jle 0x1400fec31
lea r11d, [rcx + 0x38]
movzx eax, byte [r9]
cmp ebx, 4
jge 0x1400fec19
lea ecx, [r11 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400fec21
mov ecx, r11d
shl eax, cl
or r15d, eax
inc r9
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x1400fec05
xor ecx, ecx
mov ebx, r13d
mov r11d, r15d
xor ebx, 0x7aded6ad
xor r11d, 0xd8c57f5b
mov dword [rsp + 0x60], ebx
mov eax, ecx
mov dword [rsp + 0x4c], r11d
test r8d, r8d
jle 0x1400fec7b
cmp eax, 4
jge 0x1400fec61
rol ebx, 8
mov byte [r10], bl
jmp 0x1400fec68
rol r11d, 8
mov byte [r10], r11b
inc r10
inc eax
cmp eax, r8d
jl 0x1400fec54
mov ebx, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x4c]
lea eax, [r8 - 4]
test eax, eax
jle 0x1400fec9a
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x4c], r11d
jmp 0x1400fecb4
mov dword [rsp + 0x4c], ecx
mov r11d, ecx
test eax, eax
jns 0x1400fecb4
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x60], ebx
mov rax, rdi
shr rax, 3
test rax, rax
je 0x1400feff5
lea r14, [r10 + 7]
mov r12, rax
lea rsi, [r9 + 2]
movzx eax, byte [rsi - 1]
movzx r10d, byte [rsi - 2]
movzx r9d, byte [rsi + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 5]
or r9d, eax
movzx eax, byte [rsi - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
lea eax, [r11 + 0x5a9ba6a8]
ror eax, 0xb
imul ecx, eax, 0x92c4
mov eax, r11d
ror eax, 5
xor ecx, eax
xor ecx, r10d
xor ebx, ecx
lea eax, [rbx + 0x5a9ba6a8]
ror eax, 2
imul ecx, eax, 0x55b2
mov eax, ebx
ror eax, 1
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov r8d, r11d
xor eax, 0xa564
ror r8d, 9
imul ecx, eax, 0x5958
xor r8d, ecx
xor ebx, r8d
mov r8d, 0x55b2
mov eax, ebx
xor eax, r8d
rol eax, 4
imul ecx, eax, 0xa564
mov eax, ebx
rol eax, 2
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x5a9ba6a8]
rol eax, 0xc
imul ecx, eax, 0x92c4
mov eax, r11d
ror eax, 8
sub ecx, eax
mov eax, 0xa5645958
xor ebx, ecx
sub eax, ebx
rol eax, 0xf
imul ecx, eax, 0x55b2
mov eax, ebx
ror eax, 1
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x92c4
rol eax, 4
imul ecx, eax, 0x5958
mov eax, r11d
shr eax, 0xf
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x92c4]
imul ecx, eax, 0xa564
mov eax, ebx
shr eax, 2
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x5a9b13e4]
xor ebx, eax
mov eax, ebx
not eax
ror eax, 0xe
add eax, r8d
mov r8d, 0x55b292c4
imul eax, eax, 0x92c4
xor r11d, eax
mov eax, r11d
xor eax, 0xa564
rol eax, 3
imul ecx, eax, 0x5958
mov eax, r11d
ror eax, 9
xor ecx, eax
mov eax, r8d
xor ebx, ecx
mov ecx, ebx
xor ecx, 0xa5645958
sub eax, ecx
xor r11d, eax
lea eax, [r11 - 0x5958]
rol eax, 3
imul ecx, eax, 0x92c4
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x5958]
imul ecx, eax, 0x55b2
mov eax, ebx
shr eax, 0xd
sub ecx, eax
mov eax, r8d
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0x5958
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x55b33828]
xor r11d, eax
mov eax, r11d
mov r8d, r11d
xor eax, 0x55b2
ror r8d, 7
imul ecx, eax, 0x92c4
sub ecx, r8d
mov r8d, 0xa5645958
xor ebx, ecx
mov eax, ebx
xor eax, 0xa564
rol eax, 4
imul ecx, eax, 0x55b2
mov eax, ebx
ror eax, 0x10
sub ecx, eax
mov eax, 0x55b292c4
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0x5958
mov eax, r11d
ror eax, 4
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x55b292c4]
ror eax, 4
imul ecx, eax, 0xa564
mov eax, ebx
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, r8d
rol eax, 8
imul ecx, eax, 0x92c4
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, r8d
xor ebx, ecx
sub eax, ebx
ror eax, 0xb
imul ecx, eax, 0x55b2
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x55b2
imul ecx, eax, 0x5958
mov eax, r11d
shr eax, 8
xor ecx, eax
xor ebx, ecx
xor r11d, ebx
xor ebx, r13d
mov dword [rsp + 0x60], ebx
xor r11d, 0xf0d6cb9c
xor r11d, r15d
mov r13d, r10d
mov dword [rsp + 0x4c], r11d
mov r15d, r9d
mov byte [r14 - 4], bl
mov al, byte [rsp + 0x4c]
ror dword [rsp + 0x60], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rsp + 0x4c], 8
mov al, byte [rsp + 0x60]
mov byte [r14 - 0xd], al
mov al, byte [rsp + 0x4c]
ror dword [rsp + 0x60], 8
mov byte [r14 - 9], al
ror dword [rsp + 0x4c], 8
mov al, byte [rsp + 0x60]
mov byte [r14 - 0xe], al
ror dword [rsp + 0x60], 8
mov al, byte [rsp + 0x4c]
mov byte [r14 - 0xa], al
ror dword [rsp + 0x4c], 8
mov al, byte [rsp + 0x60]
mov byte [r14 - 0xf], al
mov al, byte [rsp + 0x4c]
mov byte [r14 - 0xb], al
mov ebx, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x4c]
ror ebx, 8
ror r11d, 8
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x4c], r11d
sub r12, 1
jne 0x1400feccf
mov r14, qword [rbp + 8]
mov rsi, qword [rbp + 0x18]
mov r12, qword [rsp + 0x70]
movzx eax, dl
lea r15, [rdi + 8]
mov qword [rsi + rdi], rax
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0xf8], r15
lea rax, [0x1405faee0]
mov r13d, 8
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0x100], r13
lea rdi, [0x1405fae40]
mov qword [rbp + 0x108], 0xa0
mov qword [rbp + 0xb8], 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 0x1400ff06a
mov esi, 0xc0000017
jmp 0x1400ff1ef
mov dword [rax], r15d
mov r15d, r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
jne 0x1400ff097
mov esi, 0xc0000017
jmp 0x1400ff164
mov qword [rbx + 8], rax
mov r8, r15
mov rdx, rsi
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 0x1400ff08d
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 0x1400ff08d
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1405faee0]
mov r14, rbx
movsd qword [rax], xmm0
mov esi, r10d
mov ebx, r10d
test rbx, rbx
je 0x1400ff1ef
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400ff191
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 0x1400ff1b5
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 0x1400ff1d8
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 + 0x40]
test esi, esi
js 0x1400ff206
mov qword [rbp + 0x50], r14
mov r14, r10
jmp 0x1400ff206
mov esi, 0xc0000001
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x1400ff22a
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 + 0x60], r10
test r14, r14
je 0x1400ff2b5
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1400ff257
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 0x1400ff27b
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 0x1400ff29e
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
or esi, 0x10000000
jl 0x140100624
mov rdi, qword [rbp + 0x50]
lea r8, [rsp + 0x20]
mov r15d, 4
mov ecx, r15d
mov dword [rsp + 0x20], r15d
mov edx, dword [rdi]
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ff34c
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r15d
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ff34c
mov edx, dword [rdi + 0x10]
lea r8, [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ff34c
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r15d
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ff34c
mov edx, dword [rdi + 0x20]
lea r8, [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
call fcn.140108d1c
mov esi, eax
mov eax, dword [rbp - 0x1c]
test esi, esi
cmovns eax, dword [rsp + 0x20]
mov dword [rbp - 0x1c], eax
jmp 0x1400ff34f
mov eax, dword [rbp - 0x1c]
test esi, esi
js 0x1400ff49a
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 0x1400ff385
mov esi, 0xc0000017
jmp 0x1400ff49a
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x20]
mov eax, dword [rdi]
mov rdx, r15
mov rcx, rbx
mov dword [rbx], eax
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff47e
mov r8d, dword [rdi]
mov rdx, qword [rdi + 8]
mov rcx, qword [rsp + 0x20]
call sub.msvcrt.dll_memcpy
mov edx, dword [rdi]
lea r8, [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
call fcn.140108d3c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400ff47e
mov rcx, qword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov eax, dword [rdi + 0x10]
mov rdx, r15
mov dword [rcx], eax
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff47e
mov r8d, dword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rsp + 0x20]
call sub.msvcrt.dll_memcpy
mov edx, dword [rdi + 0x10]
lea r8, [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
call fcn.140108d3c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400ff47e
mov rcx, qword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov eax, dword [rdi + 0x20]
mov rdx, r15
mov dword [rcx], eax
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff47e
mov r8d, dword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
mov rcx, qword [rsp + 0x20]
call sub.msvcrt.dll_memcpy
mov edx, dword [rdi + 0x20]
lea r8, [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
call fcn.140108d3c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400ff47e
mov eax, dword [rbp - 0x1c]
mov qword [rsp + 0x68], rbx
mov ebx, r10d
mov dword [rsp + 0x28], eax
test rbx, rbx
je 0x1400ff49a
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 0x1400ff712
xor r14d, r14d
mov qword [rbp + 0xd8], r10
mov qword [rbp + 0x110], r14
mov r11d, r14d
mov dword [rbp + 0x68], r14d
mov dword [rbp + 0x70], r10d
mov dword [rbp - 0x38], 8
mov edx, dword [rsp + 0x58]
lea r8, [rbp - 0x38]
lea ecx, [r14 + 8]
call fcn.140108d1c
mov esi, eax
or esi, 0x10000000
jl 0x1400ff52f
mov eax, dword [rbp - 0x38]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x38]
jae 0x1400ff4fe
mov r9d, dword [rbp + 0x10]
mov esi, 0xc0000095
jmp 0x1400ff51f
mov dword [rbp + 0x40], eax
mov edx, ecx
lea r8, [rbp + 0x40]
mov ecx, eax
call fcn.140108d1c
mov r9d, dword [rbp + 0x10]
test eax, eax
mov esi, eax
cmovns r9d, dword [rbp + 0x40]
mov dword [rbp + 0x10], r9d
test esi, esi
js 0x1400ff52f
cmp qword [rsp + 0x38], r14
jne 0x1400ff56d
mov esi, 0xc000000d
xor r10d, r10d
test esi, esi
js 0x1400ff712
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 0x1400ff927
mov esi, 0xc0000017
jmp 0x1400ff92f
cmp dword [rsp + 0x30], 1
jbe 0x1400ff52a
mov rcx, qword [rsp + 0x38]
mov ebx, r14d
mov qword [rsp + 0x58], rcx
mov edi, dword [rcx]
lea r8, [rsp + 0x58]
mov rdx, r15
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff5e6
mov rcx, qword [rsp + 0x58]
lea r8, [rsp + 0x58]
mov edx, edi
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff5e6
mov rcx, qword [rsp + 0x58]
inc ebx
cmp ebx, 1
jb 0x1400ff581
mov ebx, dword [rcx]
lea r8, [rsp + 0x58]
mov rdx, r15
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff5e6
mov rax, qword [rsp + 0x58]
test ebx, ebx
mov r10d, ebx
mov dword [rbp + 0x70], ebx
cmove rax, r14
mov qword [rbp + 0xd8], rax
test esi, esi
js 0x1400ff52f
cmp dword [rsp + 0x30], 2
jbe 0x1400ff52a
mov rcx, qword [rsp + 0x38]
mov ebx, r14d
mov qword [rsp + 0x58], rcx
mov edi, dword [rcx]
lea r8, [rsp + 0x58]
mov rdx, r15
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff66b
mov rcx, qword [rsp + 0x58]
lea r8, [rsp + 0x58]
mov edx, edi
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff66b
mov rcx, qword [rsp + 0x58]
inc ebx
cmp ebx, 2
jb 0x1400ff606
mov ebx, dword [rcx]
lea r8, [rsp + 0x58]
mov rdx, r15
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ff66b
mov rax, qword [rsp + 0x58]
test ebx, ebx
mov r11d, ebx
mov dword [rbp + 0x68], ebx
cmove rax, r14
mov qword [rbp + 0x110], rax
test esi, esi
js 0x1400ff52f
lea r8, [rsp + 0x20]
mov dword [rsp + 0x20], r15d
mov edx, r9d
mov ecx, r15d
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ff6f8
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r15d
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ff6f8
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r10d
call fcn.140108d1c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400ff6fb
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r15d
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ff6fb
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
mov edx, r11d
call fcn.140108d1c
mov esi, eax
mov eax, dword [rbp + 0x20]
test esi, esi
cmovns eax, dword [rsp + 0x20]
mov dword [rbp + 0x20], eax
jmp 0x1400ff6fe
xor r10d, r10d
mov eax, dword [rbp + 0x20]
test esi, esi
js 0x1400ff712
cmp eax, 0x400000
jbe 0x1400ff91f
mov esi, 0x8000ffff
mov r15, qword [rsp + 0x68]
mov r14, qword [rbp - 0x80]
mov rdi, qword [rbp + 0x30]
test rdi, rdi
je 0x1400ff73b
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 rdi, qword [rbp + 0x50]
test rdi, rdi
je 0x1400ff7ce
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1400ff76c
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 0x1400ff790
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 0x1400ff7b3
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 + 0x50], r10
test r15, r15
je 0x1400ff7ea
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
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1400ff80b
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 0x1400ff89c
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x1400ff83a
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 0x1400ff860
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 0x1400ff885
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 0x1400ff8b8
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 0x140100815
cmp dword [rbp - 0x48], 3
jne 0x140100753
mov esi, 4
cmp qword [rbp - 0x40], r10
jne 0x140100630
mov edi, 0xc000000d
mov ebx, dword [rbp - 0x20]
test edi, edi
js 0x140100815
mov edi, ebx
test ebx, ebx
js 0x140100815
lea rdx, [0x1405fc4f0]
lea rcx, [0x140520722]
call fcn.140004000
xor r10d, r10d
cmp qword [rbp - 0x40], r10
jne 0x140100691
mov edi, 0xc000000d
jmp 0x14010073b
mov dword [rbp - 0x78], eax
jmp 0x1400ff532
mov r13, rax
mov qword [rsp + 0x40], rax
or esi, 0x10000000
mov r15, qword [rsp + 0x68]
jl 0x1400ff717
test r15, r15
jne 0x1400ff94f
mov esi, 0x80070057
jmp 0x1400ff717
test r13, r13
je 0x1400ff945
mov eax, dword [rsp + 0x28]
lea r8, [rbp + 0xe8]
mov dword [rbp + 0x138], eax
lea rdx, [0x14033b608]
mov eax, dword [rbp - 0x78]
mov ecx, 1
mov dword [rbp + 0x13c], eax
mov qword [rbp + 0x128], r15
mov qword [rbp + 0x130], r13
mov dword [rbp + 0x140], r10d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400ff9b5
mov rcx, qword [rbp + 0xe8]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x1400ff9dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r10d, r10d
mov esi, eax
test eax, eax
jle 0x1400ff9cd
movzx esi, ax
or esi, 0x80070000
test esi, esi
js 0x1400ff9d6
mov esi, 0x80004005
mov r14d, dword [rbp - 0x78]
jmp 0x1400ffa27
lea rdx, [0x1405fb150]
lea rcx, [0x14048079c]
call fcn.140003610
mov rcx, rbx
call qword [0x1403358c8]
xor r9d, r9d
lea rdx, [rbp + 0x128]
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 + 0x13c]
mov dword [rbp - 0x78], r14d
cmp esi, 0xd0000023
jne 0x1400ffa39
mov esi, 0x8007007a
jmp 0x1400ff717
test esi, esi
js 0x1400ff717
mov r9d, 4
mov dword [rsp + 0x20], r10d
mov qword [rsp + 0x58], r13
mov r15, r10
mov edi, 0xc000003e
cmp r14d, r9d
jae 0x1400ffa65
mov esi, edi
jmp 0x1400ffb54
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x58]
mov r13d, dword [r13]
mov rdx, r9
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ffb54
lea r8, [rsp + 0x20]
xor ecx, ecx
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ffb54
mov eax, r14d
sub eax, dword [rsp + 0x20]
cmp eax, r13d
jb 0x1400ffa5e
mov rax, qword [rsp + 0x58]
lea r8, [rsp + 0x58]
mov rcx, rax
mov qword [rbp + 0x18], rax
mov edx, r13d
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ffb54
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ffb54
mov eax, r14d
sub eax, dword [rsp + 0x20]
cmp eax, r9d
jb 0x1400ffa5e
mov rbx, qword [rsp + 0x58]
lea rdx, [0x1406019bc]
lea rcx, [0x1404c4b63]
mov r12d, dword [rbx]
mov dword [rsp + 0x28], r12d
call fcn.140004330
mov r9d, 4
lea r8, [rsp + 0x58]
mov edx, r9d
mov rcx, rbx
call fcn.140108d3c
xor r10d, r10d
mov esi, eax
test eax, eax
js 0x1400ffb4f
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ffb4f
mov eax, r14d
sub eax, dword [rsp + 0x20]
cmp eax, r12d
jae 0x1400ffb84
mov esi, edi
mov r12, qword [rsp + 0x70]
or esi, 0x10000000
jl 0x1400ff712
mov qword [rbp + 0x90], r10
mov rbx, r10
mov qword [rbp - 0x10], rbx
mov esi, r10d
test r12, r12
jne 0x1400ffec4
mov esi, 0xc000000d
jmp 0x1401003f9
mov rax, qword [rsp + 0x58]
lea r8, [rsp + 0x58]
mov rcx, rax
mov qword [rbp + 0x28], rax
mov rdx, r12
mov qword [rbp - 0x58], r12
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ffb4f
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ffb4f
mov eax, r14d
sub eax, dword [rsp + 0x20]
cmp eax, r9d
jb 0x1400ffb4d
mov rcx, qword [rsp + 0x58]
lea r8, [rsp + 0x58]
mov rdx, r9
mov r12d, dword [rcx]
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1400ffb4f
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ffb4f
mov ecx, dword [rsp + 0x20]
mov eax, r14d
sub eax, ecx
cmp eax, r12d
jb 0x1400ffb4d
lea r8, [rsp + 0x20]
mov edx, r12d
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1400ffb4f
cmp r14d, dword [rsp + 0x20]
jne 0x1400ffb4d
mov ecx, dword [rsp + 0x28]
add ecx, r12d
mov eax, r14d
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x1400ffb4d
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 0x1400ffc79
mov esi, 0xc0000017
jmp 0x1400ffe08
mov r14, qword [rbp + 0x18]
mov esi, r10d
test r14, r14
je 0x1400ffcc8
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 0x1400ffcb1
mov esi, 0xc0000017
jmp 0x1400ffd7d
mov qword [rbx + 8], rax
mov r8, r13
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r10d, r10d
jmp 0x1400ffccf
mov dword [rax], r10d
mov qword [rax + 8], r10
mov r14, qword [rbp + 0x28]
test r14, r14
je 0x1400ffd1c
mov eax, dword [rsp + 0x28]
mov dword [rbx + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r13, qword [rbp - 0x58]
mov edx, 8
mov rcx, rax
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
test rax, rax
je 0x1400ffca7
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 0x1400ffd24
mov dword [rbx + 0x10], r10d
mov qword [rbx + 0x18], r10
mov r14, qword [rsp + 0x58]
test r14, r14
je 0x1400ffd6f
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 0x1400ffca7
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 0x1400ffd77
mov dword [rbx + 0x20], r10d
mov qword [rbx + 0x28], r10
mov r15, rbx
mov rbx, r10
test rbx, rbx
je 0x1400ffe08
mov r14, qword [rbx + 8]
test r14, r14
je 0x1400ffdaa
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 0x1400ffdce
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 0x1400ffdf1
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 0x1400ffe19
mov r12, r15
mov qword [rsp + 0x70], r15
mov r15, r10
jmp 0x1400ffe1e
mov r12, qword [rsp + 0x70]
test r15, r15
je 0x1400ffb54
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400ffe4b
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 0x1400ffe71
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 0x1400ffe74
xor r14d, r14d
mov rbx, qword [r15 + 0x28]
lea rdx, [0x1405fcf50]
lea rcx, [0x14059e80e]
call fcn.140004d70
test rbx, rbx
je 0x1400ffea8
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 0x1400ffb54
mov r13, qword [r12 + 8]
mov qword [rbp + 8], r13
test r13, r13
je 0x1400ffb7a
cmp dword [r12], r10d
je 0x1400ffb7a
mov r14d, dword [r12]
test r14, r14
je 0x1401003d4
add r14, 0xfffffffffffffff8
mov rcx, r14
mov qword [rbp + 0x28], r14
call fcn.14011ea0c
xor r10d, r10d
mov qword [rbp + 0x18], rax
mov r15, rax
test rax, rax
je 0x1401003d0
xor ecx, ecx
mov dl, r10b
mov r8, r14
mov byte [rbp - 0x74], dl
mov dword [rsp + 0x50], ecx
mov r9, r13
mov r10, rax
mov r13d, ecx
mov r11d, ecx
and r8d, 7
je 0x140100006
or ebx, 0xffffffff
mov dword [rbp - 0x68], ecx
mov dword [rsp + 0x48], ebx
mov ebx, ecx
test r8d, r8d
jle 0x1400fff80
lea r12d, [rcx + 0x38]
movzx eax, byte [r9]
cmp r11d, 4
jge 0x1400fff60
lea ecx, [r12 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400fff67
mov ecx, r12d
shl eax, cl
or ebx, eax
inc r9
inc r11d
sub r12d, 8
cmp r11d, r8d
jl 0x1400fff4a
mov r12, qword [rsp + 0x70]
xor ecx, ecx
mov dword [rbp - 0x68], ebx
mov r11d, dword [rbp - 0x68]
mov ebx, r13d
xor ebx, 0xdd212c07
xor r11d, 0x14fae1b5
mov dword [rsp + 0x50], ebx
mov eax, ecx
mov dword [rsp + 0x48], r11d
test r8d, r8d
jle 0x1400fffcb
cmp eax, 4
jge 0x1400fffb1
rol ebx, 8
mov byte [r10], bl
jmp 0x1400fffb8
rol r11d, 8
mov byte [r10], r11b
inc r10
inc eax
cmp eax, r8d
jl 0x1400fffa4
mov ebx, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x48]
lea eax, [r8 - 4]
test eax, eax
jle 0x1400fffea
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x48], r11d
jmp 0x14010000c
mov dword [rsp + 0x48], ecx
mov r11d, ecx
test eax, eax
jns 0x14010000c
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x50], ebx
jmp 0x14010000c
mov dword [rsp + 0x48], ecx
mov ebx, ecx
mov rax, r14
shr rax, 3
test rax, rax
je 0x14010035d
mov r14d, dword [rbp - 0x68]
lea rdx, [r10 + 7]
lea r15, [r9 + 2]
mov r8d, 0x6b4d09fc
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, 0x703e222b
lea eax, [r11 - 0x6b4d09fc]
rol eax, 5
imul ecx, eax, 0x2bd7
mov eax, r11d
rol eax, 0xa
add ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x1b732bd7]
ror eax, 9
imul ecx, eax, 0x6b4d
mov eax, ebx
rol eax, 2
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x2bd7]
imul ecx, eax, 0x9fc
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x6b4d
rol eax, 6
imul ecx, eax, 0x1b73
mov eax, ebx
rol eax, 2
sub ecx, eax
mov eax, 0x1b732bd7
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
sub eax, ecx
xor ebx, eax
mov eax, ebx
mov r8d, ebx
xor eax, 0x2bd7
ror r8d, 6
imul ecx, eax, 0x6b4d
xor r8d, ecx
xor r11d, r8d
mov r8d, 0x6b4d09fc
lea eax, [r11 + 0x1b732bd7]
ror eax, 0xf
imul ecx, eax, 0x9fc
mov eax, r11d
rol eax, 2
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x6b4d09fc]
ror eax, 0xe
imul ecx, eax, 0x1b73
mov eax, ebx
rol eax, 8
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, r8d
ror eax, 0xc
imul ecx, eax, 0x2bd7
mov eax, r11d
ror eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x1b73
imul ecx, eax, 0x6b4d
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x9fc
imul eax, eax, 0x1b73
xor ebx, eax
lea eax, [rbx - 0x6b4d09fc]
rol eax, 0xa
imul ecx, eax, 0x1b73
mov eax, ebx
ror eax, 0xa
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
mov r8d, 0x1b732bd7
mov eax, r8d
sub eax, ecx
xor ebx, eax
mov eax, r8d
sub eax, ebx
ror eax, 0xc
imul ecx, eax, 0x6b4d
mov eax, ebx
rol eax, 5
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov r8d, r11d
xor eax, 0x2bd7
ror r8d, 0xb
imul ecx, eax, 0x9fc
add r8d, ecx
xor ebx, r8d
mov eax, ebx
mov r8d, ebx
xor eax, 0x9fc
ror r8d, 0xb
imul ecx, eax, 0x1b73
sub ecx, r8d
mov r8d, 0x6b4d09fc
xor r11d, ecx
mov eax, r11d
xor eax, r8d
rol eax, 7
imul ecx, eax, 0x2bd7
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x1b73
imul ecx, eax, 0x6b4d
mov eax, ebx
shr eax, 0xe
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x1b732bd7
ror eax, 4
imul ecx, eax, 0x9fc
mov eax, r11d
ror eax, 1
sub ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x6b4d256f]
xor r11d, eax
mov eax, r11d
xor eax, r8d
rol eax, 5
imul ecx, eax, 0x2bd7
mov eax, r11d
shr eax, 4
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x9fc
rol eax, 4
imul ecx, eax, 0x6b4d
mov eax, ebx
ror eax, 5
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x1b732bd7
rol eax, 4
imul ecx, eax, 0x9fc
mov eax, r11d
rol eax, 1
xor r11d, r14d
mov dword [rsp + 0x48], r11d
mov r14d, r9d
add ecx, eax
xor ecx, r13d
mov r13d, r10d
xor ebx, ecx
mov dword [rsp + 0x50], ebx
mov byte [rdx - 4], bl
mov al, byte [rsp + 0x48]
ror dword [rsp + 0x50], 8
mov byte [rdx], al
ror dword [rsp + 0x48], 8
mov al, byte [rsp + 0x50]
mov byte [rdx - 5], al
mov al, byte [rsp + 0x48]
ror dword [rsp + 0x50], 8
mov byte [rdx - 1], al
ror dword [rsp + 0x48], 8
mov al, byte [rsp + 0x50]
mov byte [rdx - 6], al
ror dword [rsp + 0x50], 8
mov al, byte [rsp + 0x48]
mov byte [rdx - 2], al
ror dword [rsp + 0x48], 8
mov al, byte [rsp + 0x50]
mov byte [rdx - 7], al
mov al, byte [rsp + 0x48]
mov byte [rdx - 3], al
add rdx, 8
mov ebx, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x48]
ror ebx, 8
ror r11d, 8
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r11d
sub r12, 1
jne 0x140100031
mov dl, byte [rbp - 0x74]
mov r14, qword [rbp + 0x28]
mov r15, qword [rbp + 0x18]
mov r12, qword [rsp + 0x70]
xor r10d, r10d
mov eax, r10d
test r14, r14
je 0x140100374
xor dl, byte [rax + r15]
inc rax
cmp rax, r14
jb 0x140100368
mov rcx, qword [rbp + 8]
movzx eax, dl
cmp rax, qword [r14 + rcx]
je 0x14010038d
mov rbx, qword [rbp - 0x10]
mov r14d, 0xc004d501
jmp 0x1401003a1
mov rbx, r15
mov qword [rbp + 0x90], r14
mov qword [rbp - 0x10], rbx
mov r15, r10
mov r14d, esi
test r15, r15
je 0x1401003b5
mov rcx, r15
call fcn.140039308
mov rbx, qword [rbp - 0x10]
xor r10d, r10d
test r14d, r14d
js 0x1401003d4
mov eax, dword [rbp + 0x90]
mov qword [rbp - 0x80], rbx
mov rbx, r10
mov qword [rbp - 0x10], rbx
mov dword [rbp - 0x5c], eax
jmp 0x1401003d9
mov rbx, qword [rbp - 0x10]
mov esi, 0xc0000001
test rbx, rbx
je 0x1401003f9
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 0x1400ff712
mov r14, qword [rbp - 0x80]
mov r9d, 4
mov dword [rsp + 0x20], r10d
mov qword [rsp + 0x28], r14
cmp dword [rbp - 0x5c], r9d
jae 0x140100426
mov esi, edi
jmp 0x1401005d9
mov eax, dword [r14]
lea r8, [rsp + 0x28]
mov rdx, r9
mov dword [rsp + 0x58], eax
mov rcx, r14
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1401005d9
lea r8, [rsp + 0x20]
xor ecx, ecx
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1401005d9
mov eax, dword [rbp - 0x5c]
sub eax, dword [rsp + 0x20]
cmp eax, r9d
jb 0x14010041f
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x28]
mov r15d, dword [rcx]
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1401005d9
mov ecx, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1401005d9
mov eax, dword [rbp - 0x5c]
mov ecx, dword [rsp + 0x20]
sub eax, ecx
cmp eax, r15d
jb 0x14010041f
lea r8, [rsp + 0x20]
mov edx, r15d
call fcn.140108d1c
mov esi, eax
test eax, eax
js 0x1401005d9
mov edx, dword [rbp - 0x5c]
mov r8, r14
mov rbx, qword [rsp + 0x28]
lea rcx, [r14 + rdx]
lea rax, [rbx + r15]
cmp rcx, rax
jb 0x14010061d
mov rax, r14
sub rax, rbx
sub rax, r15
add rax, rdx
cmp rax, 8
jae 0x14010061d
mov r12, r10
mov esi, r10d
mov r13d, r10d
test rbx, rbx
je 0x1401005a1
lea r8, [rbp - 0x58]
mov edx, r15d
mov rcx, rbx
mov r9, rbx
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x14010060c
mov r11, qword [rbp - 0x58]
cmp rbx, r11
jae 0x14010059c
mov r10d, dword [rbp + 0x58]
lea r8, [rbp - 0x58]
mov edx, 4
mov rcx, r9
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1401005d4
cmp qword [rbp - 0x58], r11
ja 0x1401005cf
mov edx, dword [r9]
lea r8, [rsp + 0x28]
mov ecx, 4
call fcn.140108d1c
test eax, eax
mov esi, eax
cmovns r10d, dword [rsp + 0x28]
mov dword [rbp + 0x58], r10d
js 0x1401005d4
mov edx, r10d
lea r8, [rbp + 0x28]
mov rcx, r9
call fcn.140108d3c
mov esi, eax
test eax, eax
js 0x1401005d4
mov r9, qword [rbp + 0x28]
cmp r9, r11
ja 0x1401005cf
inc r13d
cmp r9, r11
jb 0x140100533
cmp r9, r11
jne 0x1401005cf
test r15d, r15d
je 0x1401005ed
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov r12, rax
test rax, rax
jne 0x1401005ea
mov esi, 0xc0000017
jmp 0x14010060c
mov esi, 0xc000000d
mov r12, qword [rsp + 0x70]
mov r15, qword [rsp + 0x68]
bts esi, 0x1c
xor r10d, r10d
jmp 0x1400ff71b
mov esi, r10d
test rbx, rbx
je 0x140100600
mov r8, r15
mov rdx, rbx
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp - 0x40], r12
mov dword [rbp - 0x44], r15d
mov dword [rbp - 0x48], r13d
test esi, esi
js 0x1401005d4
mov eax, dword [rsp + 0x58]
cmp eax, dword [rbp - 0x48]
je 0x1401005d4
mov esi, edi
jmp 0x1401005d4
mov esi, edi
mov r14, r8
jmp 0x1401005d9
mov r14, qword [rbp - 0x80]
mov r15, r14
jmp 0x1400ff71b
mov rbx, qword [rbp - 0x40]
lea r8, [rsp + 0x40]
mov rdx, rsi
mov qword [rsp + 0x40], rbx
mov rcx, rbx
mov r9d, dword [rbx]
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x14010066b
mov rax, qword [rsp + 0x40]
test r9d, r9d
mov dword [rbp + 0x6c], r9d
cmove rax, r10
mov qword [rbp + 0x118], rax
jmp 0x140100676
mov r9d, dword [rbp + 0x6c]
mov rax, qword [rbp + 0x118]
test edi, edi
js 0x1400ff8e0
cmp r9d, esi
jne 0x140100727
mov ebx, dword [rax]
mov dword [rbp - 0x20], ebx
jmp 0x1400ff8e3
mov rcx, qword [rbp - 0x40]
mov r9d, r10d
mov qword [rsp + 0x68], rcx
mov r10d, dword [rcx]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x14010070b
mov rcx, qword [rsp + 0x68]
lea r8, [rsp + 0x68]
mov edx, r10d
call fcn.140108d3c
xor r10d, r10d
mov edi, eax
test eax, eax
js 0x14010070e
mov rcx, qword [rsp + 0x68]
inc r9d
cmp r9d, 1
jb 0x14010069d
mov r9d, dword [rcx]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x14010070e
mov rax, qword [rsp + 0x68]
test r9d, r9d
mov dword [rbp + 0x74], r9d
cmove rax, r10
mov qword [rbp + 0xc0], rax
jmp 0x140100719
xor r10d, r10d
mov r9d, dword [rbp + 0x74]
mov rax, qword [rbp + 0xc0]
test edi, edi
js 0x140100815
cmp r9d, 8
je 0x140100731
mov edi, 0xc0000023
jmp 0x140100815
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
test edi, edi
js 0x140100815
mov rax, qword [rbp + 0xd0]
cmp qword [rbp + 0xa0], rax
je 0x14010075d
mov edi, 0xc004d501
jmp 0x140100815
cmp qword [rbp - 0x40], r10
jne 0x14010076d
mov edi, 0xc000000d
jmp 0x140100815
mov rcx, qword [rbp - 0x40]
mov r9d, r10d
mov qword [rsp + 0x68], rcx
mov r10d, dword [rcx]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1401007e7
mov rcx, qword [rsp + 0x68]
lea r8, [rsp + 0x68]
mov edx, r10d
call fcn.140108d3c
xor r10d, r10d
mov edi, eax
test eax, eax
js 0x1401007ea
mov rcx, qword [rsp + 0x68]
inc r9d
cmp r9d, 2
jb 0x140100779
mov r9d, dword [rcx]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.140108d3c
mov edi, eax
test eax, eax
js 0x1401007ea
mov rax, qword [rsp + 0x68]
test r9d, r9d
mov dword [rbp + 0x5c], r9d
cmove rax, r10
mov qword [rbp + 0xe0], rax
jmp 0x1401007f5
xor r10d, r10d
mov r9d, dword [rbp + 0x5c]
mov rax, qword [rbp + 0xe0]
test edi, edi
js 0x140100815
cmp r9d, 0x10
je 0x140100806
mov edi, 0x8007000d
jmp 0x140100815
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x168], xmm0
test ebx, ebx
cmovne edi, ebx
mov rbx, qword [rsp + 0x38]
mov qword [rsp + 0x30], 0
test rbx, rbx
je 0x140100844
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 - 0x40]
mov qword [rbp - 0x48], 0
test rbx, rbx
je 0x140100870
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 - 0x40], r10
mov rbx, qword [rbp + 0x78]
test rbx, rbx
je 0x140100890
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 + 0x88]
test rbx, rbx
je 0x1401008b3
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.14006a86c
mov eax, ebx
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.14001af10
mov rbx, qword [rsp + 0x360]
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret