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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x368]
sub rsp, 0x468
mov rax, qword [0x1400ad768]
xor rax, rsp
mov qword [rbp + 0x358], rax
mov rax, qword [rbp + 0x3d0]
xor r14d, r14d
mov qword [rbp + 0x2d8], rax
mov esi, r9d
mov dword [rbp + 0xc0], r14d
mov r13, r8
mov dword [rbp + 0xd8], r9d
mov edi, edx
mov qword [rbp + 0x1b0], r8
mov r12, rcx
mov dword [rbp + 0xdc], edx
mov qword [rbp + 0x1a8], rcx
mov rcx, qword [0x1400ad2f8]
lea rax, [0x1400ad2f8]
cmp rcx, rax
je 0x140058ee0
test byte [rcx + 0x1c], 0x80
je 0x140058ee0
mov rcx, qword [rcx + 0x10]
lea edx, [r14 + 0x10]
mov dword [rsp + 0x20], r9d
lea r8, [0x1400a1ca0]
mov r9d, edi
call fcn.140035758
mov qword [rbp + 0x160], r14
mov dword [rbp + 0x17c], r14d
mov dword [rbp + 0xac], r14d
mov qword [rbp + 0x88], r14
mov dword [rbp + 0x64], r14d
mov edx, 4
mov dword [rbp + 0xe0], r14d
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNELBASE.dll_LocalAlloc]
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.14000cee4
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x1a0], rax
test rax, rax
jne 0x140058f42
mov r15d, 0x8007000e
jmp 0x14005e3b2
xor eax, eax
mov qword [rbp - 0x20], r14
mov qword [rsp + 0x50], rax
mov ebx, 0xa0
mov qword [rsp + 0x58], rax
mov r12, r14
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
lea rax, [0x1400ad910]
mov qword [rbp + 0x2e0], rax
mov dword [rbp + 0xbc], r14d
mov dword [rbp + 8], r14d
mov qword [rbp + 0x1c8], rbx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r15d, 8
mov r8d, ebx
mov rcx, rax
mov edx, r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
or r10d, 0xffffffff
or r13, 0xffffffffffffffff
mov qword [rbp - 8], rax
mov rsi, rax
mov dword [rbp - 0x64], r10d
movabs rbx, 0xc81ecb17b1b54a58
movabs rdi, 0x7f1137fab69605e
test rax, rax
jne 0x140058fd6
mov r15d, 0xc0000017
mov dword [rsp + 0x30], r15d
jmp 0x140059042
mov r8, qword [rbp + 0x1c8]
mov rcx, rsi
mov rdx, qword [rbp + 0x2e0]
call sub.msvcrt.dll_memcpy
mov r12d, dword [rbp + 0x1c8]
mov qword [rsp + 0x40], rsi
lea rax, [0x1400ad858]
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x2e8], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r15
mov edx, r15d
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp + 0x38], rax
mov rsi, rax
test rax, rax
jne 0x140059397
mov r15d, 0xc0000017
mov dword [rsp + 0x30], r15d
mov r12, qword [rsp + 0x40]
and qword [rsp + 0x50], 0
mov rsi, qword [rsp + 0x58]
test rsi, rsi
je 0x14005906b
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsp + 0x58], r14
and qword [rbp + 0x10], 0
mov rsi, qword [rbp + 0x18]
test rsi, rsi
je 0x140059091
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp + 0x18], r14
test r12, r12
je 0x1400590aa
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rsi, qword [rbp - 0x20]
test rsi, rsi
je 0x1400590c7
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test r15d, r15d
js 0x14005e398
cmp dword [rbp + 0x64], r14d
je 0x14005e355
xor ecx, ecx
mov dword [rbp + 0x78], r14d
xor eax, eax
mov qword [rbp - 0x58], rcx
mov qword [rbp + 0xc8], rax
mov esi, 0xa0
mov qword [rbp + 0xd0], rax
mov r13, r14
lea rax, [0x1400ad910]
mov qword [rbp - 0x50], rcx
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x1e0], rsi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp - 0x38], rax
mov rsi, rax
test rax, rax
je 0x14005e2cb
mov r8, qword [rbp + 0x1e0]
mov rcx, rax
mov rdx, qword [rbp + 0x270]
call sub.msvcrt.dll_memcpy
mov r12d, dword [rbp + 0x1e0]
mov r13, rsi
mov qword [rsp + 0x40], rsi
lea rax, [0x1400ad858]
mov esi, 8
mov qword [rbp + 0x278], rax
mov qword [rbp + 0x1e8], rsi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, esi
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp + 0x30], rax
mov rsi, rax
test rax, rax
je 0x14005e2cb
mov r8, qword [rbp + 0x1e8]
mov rcx, rax
mov rdx, qword [rbp + 0x278]
call sub.msvcrt.dll_memcpy
mov r13, qword [rbp + 0x1e8]
mov qword [rsp + 0x48], rsi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x280], rax
mov r11d, 4
mov dword [rsp + 0x34], r14d
mov edx, r11d
lea r8, [rsp + 0x38]
mov ecx, r11d
call fcn.1400095f0
test eax, eax
js 0x14005e2c4
mov edx, dword [rsp + 0x38]
mov dword [rbp + 0x68], edx
lea r8, [rsp + 0x34]
xor ecx, ecx
call fcn.1400095f0
mov r9d, 0x10000000
or eax, r9d
jl 0x14005e2c4
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r11d
call fcn.1400095f0
test eax, eax
js 0x14005e2c4
mov edx, dword [rsp + 0x38]
mov dword [rbp + 0x68], edx
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.1400095f0
or eax, r9d
jl 0x14005e2c4
lea r8, [rsp + 0x38]
mov edx, r13d
mov ecx, r11d
call fcn.1400095f0
test eax, eax
js 0x14005e2c4
mov edx, dword [rsp + 0x38]
mov dword [rbp + 0x68], edx
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.1400095f0
or eax, r9d
jl 0x14005e2c4
lea r8, [rsp + 0x38]
mov ecx, r11d
lea edx, [r11 + 4]
call fcn.1400095f0
test eax, eax
js 0x14005e2c4
mov edx, dword [rsp + 0x38]
mov dword [rbp + 0x68], edx
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
call fcn.1400095f0
or eax, r9d
jl 0x14005e2c4
mov eax, dword [rsp + 0x34]
mov dword [rbp - 0x54], eax
mov esi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov r9, rax
test rax, rax
je 0x14005c46d
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x58], r14d
mov r11d, 4
mov dword [rbp + 0x118], r11d
lea r8, [rbp + 0x28]
mov edx, r11d
mov rcx, rax
call fcn.14000960c
test eax, eax
js 0x14005c46d
mov ecx, dword [rbp - 0x54]
lea rax, [r9 + 8]
add rcx, r9
cmp rax, rcx
ja 0x14005c46d
mov rcx, qword [rbp + 0x28]
mov dword [r9], r11d
mov eax, dword [rbp + 0x118]
mov dword [rcx], eax
mov r9d, dword [rbp - 0x58]
inc r9d
mov dword [rbp - 0x58], r9d
test r12d, r12d
je 0x14005c310
cmp qword [rbp - 0x50], r14
jne 0x14005c261
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r11d
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov edx, dword [rsp + 0x38]
mov dword [rbp + 0x110], edx
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov r9d, dword [rbp - 0x58]
inc r9d
mov dword [rbp - 0x58], r9d
jmp 0x14005c31d
mov r8, qword [rbp + 0x1d8]
mov rcx, rsi
mov rdx, qword [rbp + 0x2e8]
call sub.msvcrt.dll_memcpy
mov qword [rbp - 0x20], rsi
mov rsi, qword [rbp + 0x1d8]
mov qword [rbp - 0x40], rsi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1d0], rax
mov edx, 4
lea r8, [rsp + 0x38]
mov ecx, edx
call fcn.1400095f0
mov r10d, dword [rbp - 0x30]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns r10d, dword [rsp + 0x38]
mov dword [rbp - 0x30], r10d
js 0x14005903d
lea r8, [rsp + 0x38]
mov edx, r12d
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r9d, r10d
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x30], r9d
js 0x14005903d
lea eax, [r9 + r10]
or r11d, 0xffffffff
cmp eax, r10d
cmovae r11d, eax
sbb r15d, r15d
and r15d, 0xc0000095
add r15d, 0x10000000
mov dword [rsp + 0x30], r15d
cmp eax, r10d
jb 0x14005c23a
lea r8, [rsp + 0x38]
mov edx, esi
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x30], r9d
js 0x14005903d
lea eax, [r9 + r11]
or esi, 0xffffffff
cmp eax, r11d
mov r10d, esi
cmovae r10d, eax
sbb r15d, r15d
and r15d, 0xc0000095
add r15d, 0x10000000
mov dword [rsp + 0x30], r15d
cmp eax, r11d
jb 0x14005c23a
lea r8, [rsp + 0x38]
lea edx, [rcx + 4]
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x30], r9d
js 0x14005903d
lea eax, [r9 + r10]
cmp eax, r10d
cmovae esi, eax
sbb r15d, r15d
and r15d, 0xc0000095
add r15d, 0x10000000
mov dword [rsp + 0x30], r15d
cmp eax, r10d
jb 0x14005c23a
lea r8, [rbp + 0x188]
lea rcx, str.Printing_Spooler_Core_Spoolss_Licensing_Enabled
call fcn.1400095a0
test eax, eax
jns 0x14005951e
mov qword [rbp + 0x188], r14
mov r15d, 0xc000003e
jmp 0x140059038
mov rax, qword [rbp + 0x188]
lea r8, [rsp + 0x38]
inc rax
mov ecx, 4
mov qword [rbp + 0x188], rax
lea edx, [rax + rax]
call fcn.1400095f0
mov r9d, dword [rbp - 0x30]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x30], r9d
js 0x14005903d
lea eax, [r9 + rsi]
or r10d, 0xffffffff
cmp eax, esi
mov r11d, r10d
cmovae r11d, eax
sbb r15d, r15d
and r15d, 0xc0000095
add r15d, 0x10000000
mov dword [rsp + 0x30], r15d
cmp eax, esi
jb 0x14005c23a
lea r8, [rsp + 0x38]
mov edx, ecx
mov esi, ecx
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x30], r9d
js 0x14005903d
lea eax, [r9 + r11]
cmp eax, r11d
cmovae r10d, eax
sbb r15d, r15d
and r15d, 0xc0000095
add r15d, 0x10000000
mov dword [rsp + 0x30], r15d
cmp eax, r11d
jb 0x14005c23a
lea r8, [rsp + 0x38]
mov edx, esi
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x30], r9d
js 0x14005903d
lea eax, [r9 + r10]
or ecx, 0xffffffff
cmp eax, r10d
cmovae ecx, eax
sbb r15d, r15d
and r15d, 0xc0000095
add r15d, 0x10000000
mov dword [rsp + 0x30], r15d
cmp eax, r10d
jb 0x14005c23a
mov dword [rsp + 0x54], ecx
mov esi, ecx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdx, rax
test rax, rax
je 0x140059032
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r14d
mov dword [rbp + 0x148], r14d
lea r8, [rax + 4]
cmp r8, rax
jb 0x14005c256
mov ecx, dword [rsp + 0x54]
add rcx, rax
add rax, 8
cmp rax, rcx
jbe 0x140059691
mov r15d, 0xc0000023
jmp 0x140059038
mov dword [rdx], 4
mov eax, dword [rbp + 0x148]
mov dword [r8], eax
mov r9d, dword [rsp + 0x50]
inc r9d
mov dword [rsp + 0x50], r9d
test r12d, r12d
je 0x14005985f
cmp qword [rsp + 0x58], r14
jne 0x14005971c
mov edx, r12d
lea r8, [rsp + 0x38]
mov r12d, 4
mov ecx, r12d
call fcn.1400095f0
mov edx, dword [rbp + 0x40]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns edx, dword [rsp + 0x38]
mov dword [rbp + 0x40], edx
js 0x1400597ed
mov ecx, dword [rsp + 0x54]
lea r8, [rsp + 0x54]
call fcn.1400095f0
mov r9d, dword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x1400597ed
inc r9d
mov dword [rsp + 0x50], r9d
jmp 0x1400597f6
mov r10, qword [rsp + 0x58]
mov esi, r14d
test r9d, r9d
je 0x14005978c
mov r11d, dword [rbp + 0x40]
mov edx, dword [r10]
lea r8, [rsp + 0x38]
mov ecx, 4
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r11d, dword [rsp + 0x38]
mov dword [rbp + 0x40], r11d
js 0x14005986f
mov rcx, r10
mov edx, r11d
add rdx, r10
mov rax, r13
cmp rdx, r10
cmovae rax, rdx
cmp rdx, rcx
mov r10, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x30], r15d
cmp rdx, rcx
jb 0x1400597e7
inc esi
cmp esi, r9d
jb 0x14005972d
lea rax, [r10 + 4]
mov r11, r13
cmp rax, r10
cmovae r11, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x30], r15d
cmp rax, r10
jb 0x1400597e7
mov ecx, dword [rsp + 0x54]
lea rax, [r12 + 4]
add rcx, qword [rsp + 0x58]
add rax, r10
mov r8, r12
cmp rax, rcx
ja 0x140059686
mov rdx, qword [rbp - 8]
mov rcx, r11
mov dword [r10], r12d
call sub.msvcrt.dll_memcpy
mov r9d, dword [rsp + 0x50]
inc r9d
mov dword [rsp + 0x50], r9d
mov r12d, 4
test r15d, r15d
js 0x14005903d
mov rdx, qword [rbp - 0x40]
test edx, edx
je 0x140059952
cmp qword [rsp + 0x58], r14
jne 0x140059877
lea r8, [rsp + 0x38]
mov ecx, r12d
call fcn.1400095f0
mov edx, dword [rbp + 0x44]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns edx, dword [rsp + 0x38]
mov dword [rbp + 0x44], edx
js 0x14005995d
mov ecx, dword [rsp + 0x54]
lea r8, [rsp + 0x54]
call fcn.1400095f0
mov r9d, dword [rsp + 0x50]
mov r15d, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x14005995d
inc r9d
mov dword [rsp + 0x50], r9d
jmp 0x140059966
mov r15d, 0xc000000d
mov dword [rsp + 0x30], r15d
jmp 0x1400597e7
mov r12, rcx
jmp 0x1400597ed
mov r8, qword [rsp + 0x58]
mov r11d, r14d
test r9d, r9d
je 0x1400598f3
mov r10d, dword [rbp + 0x44]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov rsi, r8
cmp ecx, r12d
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, r12d
mov dword [rsp + 0x30], r15d
cmovae r10d, eax
mov dword [rbp + 0x44], r10d
jb 0x14005995d
mov rcx, r8
mov edx, r10d
add rdx, r8
mov rax, r13
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x30], r15d
cmp rdx, rcx
jb 0x14005995d
inc r11d
cmp r11d, r9d
jb 0x140059888
mov rdx, qword [rbp - 0x40]
lea rax, [r8 + 4]
mov r10, r13
cmp rax, r8
cmovae r10, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x30], r15d
cmp rax, r8
jb 0x14005995d
mov ecx, dword [rsp + 0x54]
add rcx, qword [rsp + 0x58]
mov r9d, edx
lea rax, [r9 + 4]
add rax, r8
cmp rax, rcx
ja 0x140059686
mov dword [r8], edx
mov rcx, r10
mov rdx, qword [rbp + 0x38]
mov r8d, r9d
call sub.msvcrt.dll_memcpy
mov r9d, dword [rsp + 0x50]
inc r9d
mov dword [rsp + 0x50], r9d
jmp 0x14005995d
mov r15d, 0xc000000d
mov dword [rsp + 0x30], r15d
test r15d, r15d
js 0x14005903d
mov rax, qword [rbp + 0x1d0]
mov qword [rbp + 0x2f0], rax
cmp qword [rsp + 0x58], r14
jne 0x1400599cd
lea r8, [rsp + 0x38]
mov edx, 8
mov ecx, r12d
call fcn.1400095f0
mov edx, dword [rbp + 0x48]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns edx, dword [rsp + 0x38]
mov dword [rbp + 0x48], edx
js 0x140059a94
mov ecx, dword [rsp + 0x54]
lea r8, [rsp + 0x54]
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x140059a94
inc dword [rsp + 0x50]
jmp 0x140059a9d
mov r8, qword [rsp + 0x58]
mov r11d, r14d
test r9d, r9d
je 0x140059a45
mov r10d, dword [rbp + 0x48]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov rsi, r8
cmp ecx, r12d
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, r12d
mov dword [rsp + 0x30], r15d
cmovae r10d, eax
mov dword [rbp + 0x48], r10d
jb 0x140059a94
mov rcx, r8
mov edx, r10d
add rdx, r8
mov rax, r13
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x30], r15d
cmp rdx, rcx
jb 0x140059a94
inc r11d
cmp r11d, r9d
jb 0x1400599de
lea rax, [r8 + 4]
mov rdx, r13
cmp rax, r8
cmovae rdx, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x30], r15d
cmp rax, r8
jb 0x140059a94
mov ecx, dword [rsp + 0x54]
lea rax, [r8 + 0xc]
add rcx, qword [rsp + 0x58]
cmp rax, rcx
ja 0x140059686
mov dword [r8], 8
movsd xmm0, qword [rbp + 0x2f0]
movsd qword [rdx], xmm0
inc dword [rsp + 0x50]
test r15d, r15d
js 0x14005903d
lea r8, [rbp + 0x130]
lea rcx, str.Printing_Spooler_Core_Spoolss_Licensing_Enabled
call fcn.1400095a0
test eax, eax
jns 0x140059ac0
mov qword [rbp + 0x130], r14
jmp 0x140059513
mov rcx, qword [rbp + 0x130]
mov rdx, r13
mov esi, 0xc0000095
lea rax, [rcx + 1]
cmp rax, rcx
cmovae rdx, rax
sbb r15d, r15d
and r15d, esi
mov qword [rbp + 0x130], rdx
mov dword [rsp + 0x30], r15d
cmp rax, rcx
jb 0x140059c4d
lea r10d, [rdx + rdx]
test r10d, r10d
je 0x140059c42
cmp qword [rsp + 0x58], r14
jne 0x140059b61
lea r8, [rsp + 0x38]
mov edx, r10d
mov ecx, r12d
call fcn.1400095f0
mov edx, dword [rbp + 0x4c]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns edx, dword [rsp + 0x38]
mov dword [rbp + 0x4c], edx
js 0x140059c4d
mov ecx, dword [rsp + 0x54]
lea r8, [rsp + 0x54]
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x140059c4d
inc dword [rsp + 0x50]
mov r15d, r14d
mov dword [rsp + 0x30], r14d
jmp 0x140059c4d
mov r11d, r14d
mov r8, qword [rsp + 0x58]
cmp dword [rsp + 0x50], r14d
jbe 0x140059be2
mov r9d, dword [rbp + 0x4c]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov rsi, r8
cmp ecx, r12d
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, r12d
mov dword [rsp + 0x30], r15d
cmovae r9d, eax
mov dword [rbp + 0x4c], r9d
jb 0x140059c3b
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r13
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x30], r15d
cmp rdx, rcx
jb 0x140059c3b
inc r11d
cmp r11d, dword [rsp + 0x50]
jb 0x140059b74
mov esi, 0xc0000095
lea rax, [r8 + 4]
mov r9, r13
cmp rax, r8
cmovae r9, rax
sbb r15d, r15d
and r15d, esi
mov dword [rsp + 0x30], r15d
cmp rax, r8
jb 0x140059c4d
mov ecx, dword [rsp + 0x54]
lea rax, [r10 + 4]
add rcx, qword [rsp + 0x58]
add rax, r8
mov edx, r10d
cmp rax, rcx
jbe 0x140059c20
mov r15d, 0xc0000023
jmp 0x140059c48
mov dword [r8], r10d
mov rcx, r9
mov r8, rdx
lea rdx, str.Printing_Spooler_Core_Spoolss_Licensing_Enabled
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x50]
jmp 0x140059c4d
mov esi, 0xc0000095
jmp 0x140059c4d
mov r15d, 0xc000000d
mov dword [rsp + 0x30], r15d
test r15d, r15d
js 0x14005903d
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0x120], eax
cmp qword [rsp + 0x58], r14
jne 0x140059cb6
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r12d
call fcn.1400095f0
mov edx, dword [rbp + 0x50]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns edx, dword [rsp + 0x38]
mov dword [rbp + 0x50], edx
js 0x140059d69
mov ecx, dword [rsp + 0x54]
lea r8, [rsp + 0x54]
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x140059d69
inc dword [rsp + 0x50]
jmp 0x140059d72
mov r10d, r14d
mov r8, qword [rsp + 0x58]
cmp dword [rsp + 0x50], r14d
jbe 0x140059d26
mov r9d, dword [rbp + 0x50]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, r12d
cmovae eax, ecx
sbb r15d, r15d
and r15d, esi
cmp ecx, r12d
mov dword [rsp + 0x30], r15d
cmovae r9d, eax
mov dword [rbp + 0x50], r9d
jb 0x140059d69
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r13
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb r15d, r15d
and r15d, esi
mov dword [rsp + 0x30], r15d
cmp rdx, rcx
jb 0x140059d69
inc r10d
cmp r10d, dword [rsp + 0x50]
jb 0x140059cc9
lea rax, [r8 + 4]
mov rdx, r13
cmp rax, r8
cmovae rdx, rax
sbb r15d, r15d
and r15d, esi
mov dword [rsp + 0x30], r15d
cmp rax, r8
jb 0x140059d69
mov ecx, dword [rsp + 0x54]
lea rax, [r8 + 8]
add rcx, qword [rsp + 0x58]
cmp rax, rcx
ja 0x140059686
mov dword [r8], r12d
mov eax, dword [rbp + 0x120]
mov dword [rdx], eax
inc dword [rsp + 0x50]
test r15d, r15d
js 0x14005903d
mov dword [rbp + 0x80], r12d
cmp qword [rsp + 0x58], r14
jne 0x140059dd0
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r12d
call fcn.1400095f0
mov edx, dword [rbp + 0x54]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns edx, dword [rsp + 0x38]
mov dword [rbp + 0x54], edx
js 0x140059e83
mov ecx, dword [rsp + 0x54]
lea r8, [rsp + 0x54]
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x140059e83
inc dword [rsp + 0x50]
jmp 0x140059e8c
mov r10d, r14d
mov r8, qword [rsp + 0x58]
cmp dword [rsp + 0x50], r14d
jbe 0x140059e40
mov r9d, dword [rbp + 0x54]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, r12d
cmovae eax, ecx
sbb r15d, r15d
and r15d, esi
cmp ecx, r12d
mov dword [rsp + 0x30], r15d
cmovae r9d, eax
mov dword [rbp + 0x54], r9d
jb 0x140059e83
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r13
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb r15d, r15d
and r15d, esi
mov dword [rsp + 0x30], r15d
cmp rdx, rcx
jb 0x140059e83
inc r10d
cmp r10d, dword [rsp + 0x50]
jb 0x140059de3
lea rax, [r8 + 4]
mov rdx, r13
cmp rax, r8
cmovae rdx, rax
sbb r15d, r15d
and r15d, esi
mov dword [rsp + 0x30], r15d
cmp rax, r8
jb 0x140059e83
mov ecx, dword [rsp + 0x54]
lea rax, [r8 + 8]
add rcx, qword [rsp + 0x58]
cmp rax, rcx
ja 0x140059686
mov dword [r8], r12d
mov eax, dword [rbp + 0x80]
mov dword [rdx], eax
inc dword [rsp + 0x50]
test r15d, r15d
js 0x14005903d
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r12d
call fcn.1400095f0
mov r10d, dword [rbp - 0x18]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns r10d, dword [rsp + 0x38]
mov dword [rbp - 0x18], r10d
js 0x14005a028
lea r8, [rsp + 0x38]
mov dword [rsp + 0x34], r10d
mov edx, 8
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r9d, r10d
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x18], r9d
js 0x14005a028
lea r8, [rsp + 0x34]
mov edx, r9d
mov ecx, r10d
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005a028
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r12d
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x18], r9d
js 0x14005a028
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r9d
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005a028
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r12d
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x18], r9d
js 0x14005a028
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r9d
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005a028
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r12d
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x18], r9d
js 0x14005a028
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r9d
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005a028
lea r8, [rsp + 0x38]
mov edx, r12d
mov ecx, r12d
call fcn.1400095f0
test eax, eax
mov dword [rsp + 0x30], eax
mov r15d, eax
cmovns r9d, dword [rsp + 0x38]
mov dword [rbp - 0x18], r9d
js 0x14005a028
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r9d
call fcn.1400095f0
mov r15d, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x80]
test r15d, r15d
cmovns eax, dword [rsp + 0x34]
jmp 0x14005a02e
mov eax, dword [rbp + 0x80]
mov dword [rbp - 0x78], eax
test r15d, r15d
js 0x14005903d
mov rsi, r14
mov qword [rbp], r14
mov r12d, r14d
mov qword [rbp + 0xe8], r14
mov qword [rbp + 0x38], r14
mov dword [rsp + 0x38], r14d
mov qword [rbp - 0x48], r14
mov dword [rbp - 0x2c], r14d
mov qword [rbp - 8], r14
mov qword [rbp - 0x40], r14
mov dword [rbp + 0x60], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1b8], rax
mov dword [rbp - 0x14], 8
mov edx, dword [rsp + 0x54]
lea r8, [rbp - 0x14]
mov ecx, 8
call fcn.1400095f0
mov r15d, eax
test eax, eax
js 0x14005a175
mov eax, dword [rbp - 0x14]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x14]
jae 0x14005a0b6
mov r15d, 0xc0000095
jmp 0x14005a175
mov dword [rbp - 0x14], eax
mov esi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x14005a0e8
mov r15d, 0xc0000017
mov rsi, r14
jmp 0x14005a175
mov eax, dword [rsp + 0x50]
lea r8, [rbp - 0x70]
mov r9d, 4
mov qword [rbp - 0x70], rsi
mov edx, r9d
mov dword [rsi], eax
mov rcx, rsi
call fcn.14000960c
mov r15d, eax
test eax, eax
js 0x14005a158
mov rcx, qword [rbp - 0x70]
lea r8, [rbp - 0x70]
mov eax, dword [rsp + 0x54]
mov edx, r9d
mov dword [rcx], eax
call fcn.14000960c
mov r15d, eax
test eax, eax
js 0x14005a158
mov ecx, dword [rbp - 0x14]
mov rax, qword [rbp + 0x1b8]
mov qword [rcx + rsi - 8], rax
mov r8d, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x70]
call sub.msvcrt.dll_memcpy
mov r12d, dword [rbp - 0x14]
mov qword [rbp], rsi
mov rsi, r14
test rsi, rsi
je 0x14005a171
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rsi, qword [rbp]
or r15d, 0x10000000
mov dword [rsp + 0x30], r15d
jl 0x14005afe6
mov qword [rbp + 0x200], r14
mov r13, r14
mov qword [rbp + 0x208], r14
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], r14
mov qword [rbp + 0x138], r14
mov qword [rbp + 0x1f8], r14
test rsi, rsi
jne 0x14005a1c4
mov r15d, 0xc000000d
jmp 0x14005a960
mov r15d, r12d
mov qword [rsp + 0x48], r15
test r12d, r12d
je 0x14005a8b7
lea rax, [r15 + 8]
mov rcx, rax
mov qword [rbp - 0x38], rax
call fcn.14000d7b4
mov qword [rbp + 0x30], rax
mov r12, rax
test rax, rax
je 0x14005a8b7
mov dl, r14b
mov rcx, r14
mov byte [rsp + 0x3c], dl
test r15, r15
je 0x14005a213
xor dl, byte [rcx + rsi]
inc rcx
cmp rcx, r15
jb 0x14005a204
mov byte [rsp + 0x3c], dl
mov r10, rax
mov qword [rbp + 0x350], rbx
or r11d, 0xffffffff
mov dword [rsp + 0x7c], r14d
mov rax, r15
mov dword [rsp + 0x6c], r11d
mov dword [rbp - 0x68], r14d
mov r8, rsi
mov dword [rsp + 0x30], r14d
mov esi, r14d
and eax, 7
je 0x14005a337
mov dword [rbp - 0x68], r14d
mov ecx, r14d
mov dword [rsp + 0x30], ecx
mov r11d, r14d
test eax, eax
je 0x14005a2a4
mov r9d, 0x38
lea rcx, [r8 + 1]
movzx r8d, byte [r8]
mov qword [rbp - 0x70], rcx
cmp r11d, 4
jge 0x14005a284
lea ecx, [r9 - 0x20]
shl r8d, cl
mov ecx, dword [rsp + 0x30]
or ecx, r8d
mov dword [rsp + 0x30], ecx
jmp 0x14005a291
mov ecx, r9d
shl r8d, cl
mov ecx, dword [rsp + 0x30]
or esi, r8d
mov r8, qword [rbp - 0x70]
inc r11d
sub r9d, 8
cmp r11d, eax
jl 0x14005a25e
mov dword [rbp - 0x68], esi
mov r11d, dword [rbp - 0x68]
mov esi, ecx
xor esi, 0xb17a307a
xor r11d, 0x42f6b18d
mov dword [rsp + 0x7c], esi
mov ecx, r14d
mov dword [rsp + 0x6c], r11d
test eax, eax
je 0x14005a2fc
lea r9, [r10 + 1]
mov qword [rbp - 0x70], r9
cmp ecx, 4
jge 0x14005a2dc
rol esi, 8
mov r9d, esi
jmp 0x14005a2e3
rol r11d, 8
mov r9d, r11d
mov byte [r10], r9b
inc ecx
mov r9, qword [rbp - 0x70]
mov r10, r9
cmp ecx, eax
jl 0x14005a2c7
mov esi, dword [rsp + 0x7c]
mov r11d, dword [rsp + 0x6c]
cmp eax, 4
jbe 0x14005a318
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x6c], r11d
jmp 0x14005a337
mov dword [rsp + 0x6c], r14d
mov r11d, r14d
cmp eax, 4
jae 0x14005a337
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr esi, cl
shl esi, cl
mov dword [rsp + 0x7c], esi
mov rax, r15
shr rax, 3
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14005a6ad
mov r15d, dword [rbp + 0x354]
lea rdx, [r10 + 7]
mov rdi, qword [rbp - 0x70]
lea rcx, [r8 + 2]
mov r13d, dword [rbp - 0x68]
mov r12d, dword [rsp + 0x30]
movzx r14d, word [rbp + 0x354]
movzx eax, bx
mov dword [rbp - 0x60], eax
movzx eax, bx
mov dword [rsp + 0x34], eax
movzx eax, word [rbp + 0x352]
mov dword [rsp + 0x60], eax
shr r15d, 0x10
movzx eax, byte [rcx - 1]
movzx r10d, byte [rcx - 2]
movzx r9d, byte [rcx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rcx]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 1]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 3]
or r9d, eax
movzx eax, byte [rcx + 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r9d, 8
or r9d, eax
mov qword [rbp - 0x70], rcx
movzx eax, word [rbp + 0x352]
xor r11d, r9d
mov r8d, r11d
sub r8d, dword [rsp + 0x34]
xor r8d, r10d
xor r8d, esi
mov esi, dword [rbp + 0x354]
xor r8d, esi
mov ecx, r8d
xor ecx, esi
ror ecx, 0xf
imul ecx, eax
mov eax, r8d
ror eax, 7
add ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xa
lea ecx, [r11 + rbx]
ror ecx, 9
imul ecx, r14d
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
mov eax, r8d
rol eax, 5
xor ecx, r14d
rol ecx, 4
imul ecx, r15d
add ecx, eax
mov eax, esi
xor r11d, ecx
mov ecx, r11d
xor ecx, ebx
sub eax, ecx
xor r8d, eax
movzx eax, word [rbp + 0x352]
mov ecx, r8d
sub ecx, dword [rbp - 0x60]
imul ecx, eax
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, r14d
imul eax, dword [rbp - 0x60]
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, r15d
imul eax, r14d
xor r11d, eax
mov eax, r11d
sub eax, esi
sub eax, dword [rsp + 0x34]
xor r8d, eax
mov eax, r8d
mov ecx, r8d
ror ecx, 0xa
xor eax, r15d
imul eax, dword [rsp + 0x60]
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
mov eax, r11d
xor ecx, dword [rbp - 0x60]
rol ecx, 6
imul ecx, r14d
ror eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xf
sub eax, r15d
imul eax, dword [rbp - 0x60]
xor r11d, eax
mov ecx, r11d
mov eax, r11d
xor ecx, r15d
shr eax, 1
imul ecx, dword [rsp + 0x34]
xor ecx, eax
mov eax, r11d
xor r8d, ecx
shr eax, 0xf
mov ecx, r11d
sub ecx, r14d
rol ecx, 3
imul ecx, dword [rsp + 0x34]
xor ecx, eax
movzx eax, word [rbp + 0x352]
xor r8d, ecx
mov ecx, r8d
sub ecx, r14d
imul ecx, eax
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, ebx
sub ecx, r11d
mov eax, r11d
ror ecx, 9
imul ecx, r14d
ror eax, 0xb
xor ecx, eax
xor r8d, ecx
mov eax, r8d
sub eax, ebx
sub eax, r15d
xor r11d, eax
mov eax, r11d
mov ecx, r11d
xor eax, dword [rsp + 0x60]
imul eax, dword [rsp + 0x34]
ror ecx, 7
sub eax, ecx
xor r8d, eax
movzx eax, word [rbp + 0x352]
mov ecx, r8d
xor ecx, r15d
rol ecx, 4
imul ecx, eax
mov eax, r8d
ror eax, 0x10
sub ecx, eax
xor r11d, ecx
mov ecx, ebx
sub ecx, r11d
mov eax, r11d
ror ecx, 0xa
imul ecx, r14d
ror eax, 4
add ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, ebx
ror ecx, 4
mov eax, r8d
imul ecx, r15d
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
mov eax, r11d
xor ecx, esi
rol eax, 2
rol ecx, 8
imul ecx, dword [rsp + 0x34]
sub ecx, eax
movzx eax, word [rbp + 0x352]
xor r8d, ecx
mov ecx, esi
sub ecx, r8d
ror ecx, 0xb
imul ecx, eax
mov eax, r8d
ror eax, 0xc
sub ecx, eax
movzx eax, word [rbp + 0x352]
xor r11d, ecx
mov ecx, r11d
xor ecx, eax
mov eax, r11d
shr eax, 8
xor r11d, ebx
imul ecx, r14d
xor ecx, eax
xor r8d, ecx
mov rcx, qword [rbp - 0x70]
xor r11d, r8d
xor r8d, r12d
mov dword [rsp + 0x7c], r8d
xor r11d, esi
xor r11d, r13d
mov r12d, r10d
mov dword [rsp + 0x6c], r11d
mov r13d, r9d
mov byte [rdx - 4], r8b
mov al, byte [rsp + 0x6c]
ror dword [rsp + 0x7c], 8
mov byte [rdx], al
ror dword [rsp + 0x6c], 8
mov al, byte [rsp + 0x7c]
mov byte [rdx - 5], al
mov al, byte [rsp + 0x6c]
ror dword [rsp + 0x7c], 8
mov byte [rdx - 1], al
ror dword [rsp + 0x6c], 8
mov al, byte [rsp + 0x7c]
mov byte [rdx - 6], al
ror dword [rsp + 0x7c], 8
mov al, byte [rsp + 0x6c]
mov byte [rdx - 2], al
ror dword [rsp + 0x6c], 8
mov al, byte [rsp + 0x7c]
mov byte [rdx - 7], al
mov al, byte [rsp + 0x6c]
mov byte [rdx - 3], al
add rdx, 8
mov esi, dword [rsp + 0x7c]
mov r11d, dword [rsp + 0x6c]
ror esi, 8
ror r11d, 8
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x6c], r11d
sub rdi, 1
jne 0x14005a38b
mov dl, byte [rsp + 0x3c]
xor r14d, r14d
mov r15, qword [rsp + 0x48]
mov r13d, r14d
mov r12, qword [rbp + 0x30]
movabs rdi, 0x7f1137fab69605e
movzx eax, dl
mov qword [r12 + r15], rax
mov r15, qword [rbp - 0x38]
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x138], r12
lea rax, [0x1400ad900]
mov qword [rbp + 0x208], 8
mov qword [rbp + 0x200], rax
lea rax, [0x1400ad860]
mov qword [rbp + 0x218], 0xa0
mov qword [rbp + 0x210], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x14005a723
mov r15d, 0xc0000017
jmp 0x14005a8a6
mov dword [rax], r15d
mov r15d, r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
jne 0x14005a750
mov r15d, 0xc0000017
jmp 0x14005a82a
mov qword [rsi + 8], rax
mov r8, r15
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r15d, 0xa0
mov dword [rsi + 0x10], r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, r15d
mov r15d, 8
mov edx, r15d
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rcx, rax
test rax, rax
je 0x14005a745
mov qword [rsi + 0x18], rax
lea rax, [0x1400ad860]
movups xmm0, xmmword [rax]
lea edx, [r15 + 0x78]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [rcx + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
mov dword [rsi + 0x20], r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, r15d
mov edx, r15d
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
je 0x14005a745
mov qword [rsi + 0x28], rax
movsd xmm0, qword [0x1400ad900]
mov r13, rsi
movsd qword [rax], xmm0
mov r15d, r14d
mov rsi, r14
test rsi, rsi
je 0x14005a8a6
mov r12, qword [rsi + 8]
test r12, r12
je 0x14005a850
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 8], r14
mov r12, qword [rsi + 0x18]
test r12, r12
je 0x14005a871
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov r12, qword [rsi + 0x28]
test r12, r12
je 0x14005a892
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test r15d, r15d
js 0x14005a8bd
mov qword [rbp + 0xe8], r13
mov r13, r14
jmp 0x14005a8bd
mov r15d, 0xc0000001
mov rsi, qword [rbp + 0x138]
test rsi, rsi
je 0x14005a8e4
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp + 0x138], r14
test r13, r13
je 0x14005a960
mov rsi, qword [r13 + 8]
test rsi, rsi
je 0x14005a90a
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 8], r14
mov rsi, qword [r13 + 0x18]
test rsi, rsi
je 0x14005a92b
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 0x18], r14
mov rsi, qword [r13 + 0x28]
test rsi, rsi
je 0x14005a94c
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x30], r15d
jl 0x14005afe2
mov r12, qword [rbp + 0xe8]
lea r8, [rsp + 0x34]
mov r13d, 4
mov ecx, r13d
mov dword [rsp + 0x34], r13d
mov edx, dword [r12]
call fcn.1400095f0
mov r15d, eax
test eax, eax
js 0x14005aa0c
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r13d
call fcn.1400095f0
mov r15d, eax
test eax, eax
js 0x14005aa0c
mov edx, dword [r12 + 0x10]
lea r8, [rsp + 0x34]
mov ecx, dword [rsp + 0x34]
call fcn.1400095f0
mov r15d, eax
test eax, eax
js 0x14005aa0c
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r13d
call fcn.1400095f0
mov r15d, eax
test eax, eax
js 0x14005aa0c
mov edx, dword [r12 + 0x20]
lea r8, [rsp + 0x34]
mov ecx, dword [rsp + 0x34]
call fcn.1400095f0
mov r15d, eax
mov eax, dword [rbp + 0x58]
test r15d, r15d
cmovns eax, dword [rsp + 0x34]
mov dword [rbp + 0x58], eax
jmp 0x14005aa0f
mov eax, dword [rbp + 0x58]
test r15d, r15d
js 0x14005ab64
mov esi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x14005aa44
mov r15d, 0xc0000017
jmp 0x14005ab64
mov eax, dword [r12]
lea r8, [rsp + 0x48]
mov rdx, r13
mov dword [rsi], eax
mov rcx, rsi
mov qword [rsp + 0x48], rsi
call fcn.14000960c
mov r15d, eax
test eax, eax
js 0x14005ab4b
mov r8d, dword [r12]
mov rdx, qword [r12 + 8]
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_memcpy
mov edx, dword [r12]
lea r8, [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
call fcn.14000960c
mov r15d, eax
test eax, eax
js 0x14005ab4b
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov eax, dword [r12 + 0x10]
mov rdx, r13
mov dword [rcx], eax
call fcn.14000960c
mov r15d, eax
test eax, eax
js 0x14005ab4b
mov r8d, dword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_memcpy
mov edx, dword [r12 + 0x10]
lea r8, [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
call fcn.14000960c
mov r15d, eax
test eax, eax
js 0x14005ab4b
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov eax, dword [r12 + 0x20]
mov rdx, r13
mov dword [rcx], eax
call fcn.14000960c
mov r15d, eax
test eax, eax
js 0x14005ab4b
mov r8d, dword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_memcpy
mov edx, dword [r12 + 0x20]
lea r8, [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
call fcn.14000960c
mov r15d, eax
test eax, eax
js 0x14005ab4b
mov eax, dword [rbp + 0x58]
mov qword [rbp + 0x38], rsi
mov rsi, r14
mov dword [rsp + 0x38], eax
test rsi, rsi
je 0x14005ab64
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x30], r15d
jl 0x14005afe2
mov qword [rbp + 0x220], r14
mov r11d, r14d
mov dword [rbp + 0xf8], r14d
mov esi, r14d
mov qword [rbp + 0x228], r14
mov dword [rbp + 0xfc], r14d
mov dword [rbp + 0x5c], 8
mov edx, dword [rbp - 0x78]
lea r8, [rbp + 0x5c]
mov ecx, 8
call fcn.1400095f0
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x30], r15d
jl 0x14005ac30
mov eax, dword [rbp + 0x5c]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x5c]
jae 0x14005abe4
mov r10d, dword [rbp + 0xa4]
mov r15d, 0xc0000095
mov dword [rsp + 0x30], r15d
jmp 0x14005ac19
mov dword [rbp + 0xa0], eax
mov edx, ecx
lea r8, [rbp + 0xa0]
mov ecx, eax
call fcn.1400095f0
mov r10d, dword [rbp + 0xa4]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x30], eax
cmovns r10d, dword [rbp + 0xa0]
mov dword [rbp + 0xa4], r10d
test r15d, r15d
js 0x14005ac30
cmp qword [rsp + 0x58], r14
jne 0x14005ac6e
mov r15d, 0xc000000d
mov dword [rsp + 0x30], r15d
or r13, 0xffffffffffffffff
test r15d, r15d
js 0x14005afe6
mov esi, dword [rbp - 0x2c]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x14005aea3
mov r15d, 0xd0000017
jmp 0x14005af8d
cmp dword [rsp + 0x50], 1
jbe 0x14005ac25
mov rcx, qword [rsp + 0x58]
mov r9d, r14d
mov qword [rbp + 0x350], rcx
mov r12d, dword [rcx]
lea r8, [rbp + 0x350]
mov rdx, r13
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005ad0e
mov rcx, qword [rbp + 0x350]
lea r8, [rbp + 0x350]
mov edx, r12d
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005ad0e
mov rcx, qword [rbp + 0x350]
inc r9d
cmp r9d, 1
jb 0x14005ac84
mov r9d, dword [rcx]
lea r8, [rbp + 0x350]
mov rdx, r13
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005ad0e
mov rax, qword [rbp + 0x350]
test r9d, r9d
mov r11d, r9d
mov dword [rbp + 0xf8], r9d
cmove rax, r14
mov qword [rbp + 0x220], rax
test r15d, r15d
js 0x14005ac30
or r13, 0xffffffffffffffff
cmp dword [rsp + 0x50], 2
ja 0x14005ad32
mov r15d, 0xc000000d
mov dword [rsp + 0x30], r15d
jmp 0x14005ac34
mov r9, qword [rsp + 0x58]
mov r8d, r14d
mov r12d, 0xc0000095
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x30], r15d
cmp rax, r9
jb 0x14005adc6
mov ecx, dword [r9]
mov r9, r13
add rcx, rdx
cmp rcx, rdx
cmovae r9, rcx
sbb r15d, r15d
and r15d, r12d
mov qword [rbp - 0x70], r9
mov dword [rsp + 0x30], r15d
cmp rcx, rdx
jb 0x14005adc6
inc r8d
cmp r8d, 2
jb 0x14005ad40
mov r12d, dword [r9]
lea r8, [rbp - 0x70]
mov edx, 4
mov rcx, r9
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005adc6
mov rax, qword [rbp - 0x70]
test r12d, r12d
mov esi, r12d
mov dword [rbp + 0xfc], r12d
cmove rax, r14
mov qword [rbp + 0x228], rax
test r15d, r15d
js 0x14005afe6
mov r9d, 4
lea r8, [rsp + 0x34]
mov ecx, r9d
mov dword [rsp + 0x34], r9d
mov edx, r10d
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005ae7a
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r9d
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005ae7a
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r11d
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005ae7a
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r9d
call fcn.1400095f0
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005ae7a
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, esi
call fcn.1400095f0
mov r15d, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0xa8]
test r15d, r15d
cmovns eax, dword [rsp + 0x34]
mov dword [rbp + 0xa8], eax
jmp 0x14005ae80
mov eax, dword [rbp + 0xa8]
test r15d, r15d
js 0x14005afe6
cmp eax, 0x400000
jbe 0x14005ae9b
mov r15d, 0x8000ffff
jmp 0x14005af8d
mov dword [rbp - 0x2c], eax
jmp 0x14005ac34
mov qword [rbp - 0x48], rsi
mov rax, qword [rbp + 0x38]
test rax, rax
jne 0x14005aebb
mov r15d, 0x80070057
jmp 0x14005af8d
mov qword [rbp + 0x2f8], rax
lea r8, [rbp + 0x230]
mov eax, dword [rsp + 0x38]
lea rdx, [0x1400910c0]
mov dword [rbp + 0x308], eax
mov ecx, 1
mov eax, dword [rbp - 0x2c]
mov dword [rbp + 0x30c], eax
mov qword [rbp + 0x300], rsi
mov dword [rbp + 0x310], r14d
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
jne 0x14005af31
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
jle 0x14005af21
movzx r15d, ax
or r15d, 0x80070000
mov dword [rsp + 0x30], r15d
mov edx, dword [rbp - 0x2c]
test r15d, r15d
js 0x14005af7e
mov r15d, 0x80004005
jmp 0x14005af79
mov rcx, qword [rbp + 0x230]
lea rdx, [0x1400910d8]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
test rax, rax
je 0x14005af00
xor r9d, r9d
lea rdx, [rbp + 0x2f8]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x14008f7f0]
mov edx, dword [rbp - 0x2c]
mov r15d, eax
or r15d, 0x10000000
cmovge edx, dword [rbp + 0x30c]
mov dword [rbp - 0x2c], edx
mov dword [rsp + 0x30], r15d
cmp r15d, 0xd0000023
jne 0x14005af94
mov r15d, 0x8007007a
mov dword [rsp + 0x30], r15d
jmp 0x14005afe6
test r15d, r15d
js 0x14005afe6
mov qword [rbp - 0x70], r14
cmp edx, 4
jae 0x14005b192
mov r15d, 0xc000003e
mov r13, r14
or r15d, 0x10000000
mov dword [rsp + 0x30], r15d
jl 0x14005afe2
mov qword [rbp + 0x98], r14
mov rsi, r14
mov qword [rbp + 0x1c0], r14
test r13, r13
jne 0x14005b584
mov r15d, 0xd000000d
mov dword [rsp + 0x30], r15d
or r13, 0xffffffffffffffff
mov r12, qword [rbp]
test r12, r12
je 0x14005b003
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov r12, qword [rbp + 0xe8]
test r12, r12
je 0x14005b097
mov rsi, qword [r12 + 8]
test rsi, rsi
je 0x14005b036
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 8], r14
mov rsi, qword [r12 + 0x18]
test rsi, rsi
je 0x14005b059
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 0x18], r14
mov rsi, qword [r12 + 0x28]
test rsi, rsi
je 0x14005b07c
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp + 0xe8], r14
mov rsi, qword [rbp + 0x38]
test rsi, rsi
je 0x14005b0b4
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rsi, qword [rbp - 0x48]
test rsi, rsi
je 0x14005b0d1
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov r12, qword [rbp - 8]
test r12, r12
je 0x14005b157
mov rsi, qword [r12 + 8]
test rsi, rsi
je 0x14005b0fd
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 8], r14
mov rsi, qword [r12 + 0x18]
test rsi, rsi
je 0x14005b120
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 0x18], r14
mov rsi, qword [r12 + 0x28]
test rsi, rsi
je 0x14005b143
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rsi, qword [rbp - 0x40]
test rsi, rsi
je 0x14005b174
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test r15d, r15d
js 0x14005903d
cmp dword [rbp + 0x10], 1
jae 0x14005bd28
mov r15d, 0xc004d501
jmp 0x140059038
mov r11d, dword [rsi]
lea rax, [rsi + 4]
cmp rax, rsi
mov dword [rbp - 0x78], r11d
mov r12, r13
mov r9d, 0xc0000095
cmovae r12, rax
sbb r15d, r15d
and r15d, r9d
cmp rax, rsi
jb 0x14005afac
lea eax, [rdx - 4]
cmp eax, r11d
jb 0x14005afa6
lea rcx, [r12 + r11]
mov r8, r13
cmp rcx, r12
cmovae r8, rcx
sbb r15d, r15d
and r15d, r9d
cmp rcx, r12
jb 0x14005afac
lea eax, [r11 + 4]
or esi, 0xffffffff
cmp eax, 4
mov ecx, esi
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, 4
jb 0x14005afac
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14005afa6
mov r10d, dword [r8]
lea rax, [r8 + 4]
cmp rax, r8
mov dword [rsp + 0x38], r10d
cmovae r13, rax
sbb r15d, r15d
and r15d, r9d
cmp rax, r8
jb 0x14005afac
lea eax, [rcx + 4]
mov r9d, esi
cmp eax, ecx
mov r8d, 0xc0000095
cmovae r9d, eax
sbb r15d, r15d
and r15d, r8d
cmp eax, ecx
jb 0x14005afac
mov eax, edx
sub eax, r9d
cmp eax, r10d
jb 0x14005afa6
lea rcx, [r10 + r13]
or rsi, 0xffffffffffffffff
cmp rcx, r13
mov r10, rsi
cmovae r10, rcx
sbb r15d, r15d
and r15d, r8d
cmp rcx, r13
jb 0x14005afac
mov eax, dword [rsp + 0x38]
or r8d, 0xffffffff
add eax, r9d
cmp eax, r9d
cmovae r8d, eax
sbb r15d, r15d
and r15d, 0xc0000095
cmp eax, r9d
jb 0x14005afac
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14005afa6
mov r9d, dword [r10]
lea rax, [r10 + 4]
cmp rax, r10
mov dword [rsp + 0x60], r9d
mov rcx, rsi
cmovae rcx, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov qword [rbp - 0x38], rcx
cmp rax, r10
jb 0x14005afac
lea eax, [r8 + 4]
or esi, 0xffffffff
cmp eax, r8d
mov ecx, esi
mov r10d, 0xc0000095
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
cmp eax, r8d
jb 0x14005afac
mov eax, edx
sub eax, ecx
cmp eax, r9d
jb 0x14005afa6
lea eax, [r9 + rcx]
mov r8d, esi
cmp eax, ecx
cmovae r8d, eax
sbb r15d, r15d
and r15d, r10d
cmp eax, ecx
jb 0x14005afac
cmp edx, r8d
jne 0x14005afa6
mov r15d, dword [rsp + 0x38]
mov eax, edx
lea ecx, [r9 + r15]
add ecx, r11d
add rcx, 0xc
cmp rcx, rax
jne 0x14005afa6
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x14005b37c
mov r15d, 0xc0000017
jmp 0x14005b4e4
test r12, r12
je 0x14005b3c7
mov eax, dword [rbp - 0x78]
mov dword [rsi], eax
mov qword [rbp - 8], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, qword [rbp - 8]
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
jne 0x14005b3b2
mov r15d, 0xc0000017
jmp 0x14005b468
mov qword [rsi + 8], rax
mov r8, qword [rbp - 8]
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14005b3ce
mov dword [rax], r14d
mov qword [rax + 8], r14
test r13, r13
je 0x14005b407
mov dword [rsi + 0x10], r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
je 0x14005b3a7
mov qword [rsi + 0x18], rax
mov r8, r15
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14005b40f
mov dword [rsi + 0x10], r14d
mov qword [rsi + 0x18], r14
mov r15, qword [rbp - 0x38]
test r15, r15
je 0x14005b456
mov eax, dword [rsp + 0x60]
mov dword [rsi + 0x20], eax
mov r12d, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
je 0x14005b3a7
mov qword [rsi + 0x28], rax
mov r8d, r12d
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14005b45e
mov dword [rsi + 0x20], r14d
mov qword [rsi + 0x28], r14
mov qword [rbp - 0x70], rsi
mov r15d, r14d
mov rsi, r14
test rsi, rsi
je 0x14005b4e4
mov r12, qword [rsi + 8]
test r12, r12
je 0x14005b48e
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 8], r14
mov r12, qword [rsi + 0x18]
test r12, r12
je 0x14005b4af
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov r12, qword [rsi + 0x28]
test r12, r12
je 0x14005b4d0
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov r13, qword [rbp - 0x70]
test r15d, r15d
mov rsi, r14
cmovs rsi, qword [rbp - 0x70]
cmovs r13, r14
mov qword [rbp - 8], r13
test rsi, rsi
je 0x14005afaf
mov r12, qword [rsi + 8]
test r12, r12
je 0x14005b525
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 8], r14
mov r12, qword [rsi + 0x18]
test r12, r12
je 0x14005b546
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov r12, qword [rsi + 0x28]
test r12, r12
je 0x14005b567
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp - 8], r13
jmp 0x14005afaf
mov rax, qword [r13 + 8]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14005afd7
cmp dword [r13], r14d
je 0x14005afd7
mov r15d, dword [r13]
mov dword [rsp + 0x30], r14d
test r15, r15
je 0x14005badb
add r15, 0xfffffffffffffff8
mov rcx, r15
mov qword [rbp + 0x30], r15
call fcn.14000d7b4
mov qword [rsp + 0x48], rax
mov r12, rax
test rax, rax
je 0x14005bad4
mov rax, qword [rbp - 0x70]
mov r8, r15
mov qword [rbp + 0x350], rdi
mov dl, r14b
mov byte [rsp + 0x3c], dl
mov r10, r12
mov dword [rsp + 0x74], r14d
and r8d, 7
je 0x14005b6e5
or dword [rsp + 0x64], 0xffffffff
mov r13d, r14d
mov dword [rsp + 0x60], r14d
mov r11d, r14d
mov dword [rbp - 0x60], esi
test r8d, r8d
je 0x14005b655
mov r9d, 0x38
lea rcx, [rax + 1]
movzx eax, byte [rax]
mov qword [rbp - 0x38], rcx
cmp r11d, 4
jge 0x14005b632
lea ecx, [r9 - 0x20]
shl eax, cl
or esi, eax
jmp 0x14005b63a
mov ecx, r9d
shl eax, cl
or r13d, eax
mov rcx, qword [rbp - 0x38]
inc r11d
sub r9d, 8
mov rax, rcx
cmp r11d, r8d
jl 0x14005b617
mov dword [rbp - 0x60], esi
mov dword [rsp + 0x60], r13d
xor esi, 0x92f65a5
mov r9d, r13d
xor r9d, 0x699a899c
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x64], r9d
mov ecx, r14d
test r8d, r8d
je 0x14005b6a4
lea r13, [r10 + 1]
cmp ecx, 4
jge 0x14005b687
rol esi, 8
mov r11d, esi
jmp 0x14005b68e
rol r9d, 8
mov r11d, r9d
inc ecx
mov byte [r10], r11b
mov r10, r13
cmp ecx, r8d
jl 0x14005b676
mov esi, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x64]
cmp r8d, 4
jbe 0x14005b6c2
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov dword [rsp + 0x64], r9d
jmp 0x14005b6f6
mov dword [rsp + 0x64], r14d
mov r9d, r14d
cmp r8d, 4
jae 0x14005b6f6
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr esi, cl
shl esi, cl
mov dword [rsp + 0x74], esi
jmp 0x14005b6f6
or dword [rsp + 0x60], 0xffffffff
mov r9d, r14d
mov dword [rbp - 0x60], r14d
mov dword [rsp + 0x64], r14d
mov r13, r15
shr r13, 3
test r13, r13
je 0x14005ba53
mov r12d, dword [rbp + 0x354]
lea r14, [r10 + 7]
mov ebx, dword [rsp + 0x60]
mov ecx, r12d
mov edx, dword [rbp - 0x60]
shr ecx, 0x10
mov dword [rsp + 0x38], ecx
mov r15d, dword [rsp + 0x38]
movzx ecx, r12w
mov dword [rbp - 0x68], ecx
movzx ecx, di
mov dword [rsp + 0x34], ecx
movzx ecx, word [rbp + 0x352]
mov dword [rbp - 0x78], ecx
lea rcx, [rax + 2]
movzx eax, byte [rcx - 1]
mov r8d, r12d
movzx r11d, byte [rcx - 2]
movzx r10d, byte [rcx + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rcx]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx + 1]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx + 3]
or r10d, eax
xor esi, r11d
movzx eax, byte [rcx + 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r10d, 8
mov qword [rbp - 0x38], rcx
or r10d, eax
xor r9d, r10d
xor r8d, r9d
mov r9d, dword [rbp - 0x68]
xor r8d, esi
xor r8d, edi
mov ecx, r8d
mov eax, r8d
sub ecx, edi
rol eax, 0xa
rol ecx, 5
imul ecx, r9d
add ecx, eax
movzx eax, word [rbp + 0x352]
xor esi, ecx
lea ecx, [rsi + r12]
ror ecx, 9
imul ecx, eax
mov eax, esi
rol eax, 2
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
mov eax, r8d
sub ecx, r9d
shr eax, 0xd
imul ecx, dword [rsp + 0x34]
sub ecx, eax
xor esi, ecx
movzx ecx, word [rbp + 0x352]
xor ecx, esi
mov eax, esi
rol ecx, 6
imul ecx, r15d
rol eax, 2
sub ecx, eax
mov eax, r12d
xor r8d, ecx
mov ecx, r8d
xor ecx, edi
sub eax, ecx
xor esi, eax
mov eax, esi
mov ecx, esi
ror ecx, 6
xor eax, r9d
imul eax, dword [rbp - 0x78]
xor ecx, eax
xor r8d, ecx
mov eax, r8d
rol eax, 2
lea ecx, [r8 + r12]
ror ecx, 0xf
imul ecx, dword [rsp + 0x34]
add ecx, eax
xor esi, ecx
mov ecx, esi
sub ecx, edi
ror ecx, 0xe
mov eax, esi
imul ecx, r15d
rol eax, 8
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
mov eax, r8d
xor ecx, edi
ror eax, 0xa
ror ecx, 0xc
imul ecx, r9d
xor ecx, eax
movzx eax, word [rbp + 0x352]
xor esi, ecx
mov ecx, esi
xor ecx, r15d
imul ecx, eax
mov eax, esi
shr eax, 0xa
xor ecx, eax
xor r8d, ecx
mov eax, r8d
not eax
ror eax, 5
add eax, dword [rsp + 0x34]
imul eax, r15d
xor esi, eax
mov r9d, esi
sub r9d, r15d
xor r9d, r8d
mov r8d, r12d
xor r9d, edi
mov ecx, r9d
mov eax, r9d
xor ecx, r15d
shr eax, 2
rol ecx, 2
imul ecx, dword [rbp - 0x68]
add ecx, eax
movzx eax, word [rbp + 0x352]
xor esi, ecx
mov ecx, esi
sub ecx, r12d
ror ecx, 6
imul ecx, eax
mov eax, esi
rol eax, 7
add ecx, eax
xor r9d, ecx
mov eax, r9d
mov ecx, r9d
xor eax, dword [rbp - 0x68]
imul eax, dword [rsp + 0x34]
ror ecx, 9
add ecx, eax
xor esi, ecx
movzx ecx, word [rbp + 0x352]
xor ecx, esi
mov eax, esi
rol ecx, 5
rol eax, 7
imul ecx, r15d
add ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x352]
xor r8d, r9d
xor r8d, esi
xor r8d, edi
mov eax, r8d
ror eax, 3
sub eax, ecx
imul eax, dword [rbp - 0x68]
xor r9d, eax
mov ecx, r9d
mov eax, r9d
sub ecx, r12d
ror eax, 6
ror ecx, 1
imul ecx, dword [rsp + 0x34]
sub ecx, eax
xor r8d, ecx
mov eax, r8d
rol eax, 0xe
lea ecx, [r8 + rdi]
rol ecx, 3
imul ecx, r15d
add ecx, eax
xor r9d, ecx
mov eax, r9d
ror eax, 0xe
lea ecx, [r9 + rdi]
rol ecx, 0xf
imul ecx, dword [rbp - 0x68]
sub ecx, eax
movzx eax, word [rbp + 0x352]
xor r8d, ecx
mov ecx, dword [rsp + 0x34]
xor ecx, r8d
imul ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
xor r9d, ecx
mov ecx, r12d
xor ecx, r9d
mov eax, r9d
rol eax, 2
xor r9d, ebx
mov dword [rsp + 0x64], r9d
mov ebx, r10d
rol ecx, 4
imul ecx, dword [rsp + 0x34]
xor ecx, eax
xor ecx, edx
mov edx, r11d
xor r8d, ecx
mov rcx, qword [rbp - 0x38]
mov dword [rsp + 0x74], r8d
mov byte [r14 - 4], r8b
mov al, byte [rsp + 0x64]
ror dword [rsp + 0x74], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rsp + 0x64], 8
mov al, byte [rsp + 0x74]
mov byte [r14 - 0xd], al
mov al, byte [rsp + 0x64]
ror dword [rsp + 0x74], 8
mov byte [r14 - 9], al
ror dword [rsp + 0x64], 8
mov al, byte [rsp + 0x74]
mov byte [r14 - 0xe], al
ror dword [rsp + 0x74], 8
mov al, byte [rsp + 0x64]
mov byte [r14 - 0xa], al
ror dword [rsp + 0x64], 8
mov al, byte [rsp + 0x74]
mov byte [r14 - 0xf], al
mov al, byte [rsp + 0x64]
mov byte [r14 - 0xb], al
mov esi, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x64]
ror esi, 8
ror r9d, 8
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x64], r9d
sub r13, 1
jne 0x14005b743
mov dl, byte [rsp + 0x3c]
movabs rbx, 0xc81ecb17b1b54a58
mov r15, qword [rbp + 0x30]
xor r14d, r14d
mov r12, qword [rsp + 0x48]
mov rax, r14
test r15, r15
je 0x14005ba67
xor dl, byte [rax + r12]
inc rax
cmp rax, r15
jb 0x14005ba5b
mov rcx, qword [rbp - 0x70]
movzx eax, dl
cmp rax, qword [r15 + rcx]
je 0x14005ba83
mov rsi, qword [rbp + 0x98]
mov r15d, 0xc004d501
jmp 0x14005ba9c
mov rsi, r12
mov qword [rbp + 0x98], r12
mov qword [rbp + 0x1c0], r15
mov r12, r14
mov r15d, dword [rsp + 0x30]
test r12, r12
je 0x14005bab0
mov rcx, r12
call fcn.14001f7a4
mov rsi, qword [rbp + 0x98]
test r15d, r15d
js 0x14005badb
mov ecx, dword [rbp + 0x1c0]
mov r15d, 0x10000000
mov qword [rbp - 0x40], rsi
mov rsi, r14
mov dword [rbp + 0x60], ecx
mov qword [rbp + 0x98], r14
jmp 0x14005bae4
mov rsi, qword [rbp + 0x98]
mov ecx, dword [rbp + 0x60]
mov r15d, 0xd0000001
mov dword [rsp + 0x30], r15d
test rsi, rsi
je 0x14005bb0c
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov ecx, dword [rbp + 0x60]
mov qword [rbp + 0x98], r14
test r15d, r15d
js 0x14005afe2
or r13, 0xffffffffffffffff
cmp ecx, 4
jb 0x14005bd18
mov r8, qword [rbp - 0x40]
mov rdx, r13
mov r9d, 0xc0000095
mov eax, dword [r8]
mov dword [rbp - 0x78], eax
lea rax, [r8 + 4]
cmp rax, r8
cmovae rdx, rax
sbb r15d, r15d
and r15d, r9d
cmp rax, r8
jb 0x14005bd1e
lea eax, [rcx - 4]
cmp eax, 4
jb 0x14005bd18
mov r12d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rsi, r13
cmovae rsi, rax
sbb r15d, r15d
and r15d, r9d
cmp rax, rdx
jb 0x14005bd1e
lea eax, [rcx - 8]
cmp eax, r12d
jb 0x14005bd18
lea eax, [r12 + 8]
cmp eax, 8
sbb r15d, r15d
and r15d, r9d
cmp eax, 8
jb 0x14005bd1e
lea r9, [rsi + r12]
mov r10d, r12d
lea rax, [rcx + r8]
cmp rax, r9
jb 0x14005bd18
sub rcx, rsi
sub rcx, r12
add rcx, r8
cmp rcx, 8
jae 0x14005bd18
mov dword [rsp + 0x38], r14d
mov rax, r14
mov qword [rbp - 0x70], rax
mov r15d, r14d
mov r11d, r14d
test rsi, rsi
je 0x14005bcaa
cmp r9, rsi
mov r8, r13
mov rdx, rsi
cmovae r8, r9
sbb r15d, r15d
and r15d, 0xc0000095
cmp r9, rsi
jb 0x14005bd0b
cmp rsi, r8
jae 0x14005bca5
mov r9d, dword [rbp + 0x100]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
and r15d, 0xc0000095
cmp rax, rdx
jb 0x14005bd0b
cmp rcx, r8
ja 0x14005bcd7
mov ecx, dword [rdx]
or eax, 0xffffffff
add ecx, 4
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x100], r9d
jb 0x14005bd0b
mov ecx, r9d
mov rax, r13
add rcx, rdx
cmp rcx, rdx
cmovae rax, rcx
sbb r15d, r15d
and r15d, 0xc0000095
cmp rcx, rdx
jb 0x14005bd0b
cmp rax, r8
ja 0x14005bcd7
inc r11d
mov rdx, rax
mov dword [rsp + 0x38], r11d
cmp rax, r8
jb 0x14005bc10
mov rax, r14
cmp rdx, r8
jne 0x14005bcd7
test r12d, r12d
je 0x14005bce5
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x14005bcdf
mov r15d, 0xc0000017
jmp 0x14005bd0b
mov r15d, 0xc000000d
jmp 0x14005bd1e
mov r15d, r14d
mov r10, r12
test rsi, rsi
je 0x14005bcfc
mov r8, r10
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp - 0x70]
mov qword [rbp + 0x18], rax
mov eax, dword [rsp + 0x38]
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], r12d
test r15d, r15d
js 0x14005bd1e
mov eax, dword [rbp - 0x78]
cmp eax, dword [rbp + 0x10]
je 0x14005bd1e
mov r15d, 0xc000003e
bts r15d, 0x1c
jmp 0x14005af8d
cmp qword [rbp + 0x18], r14
jne 0x14005bd3b
mov r15d, 0xc000000d
mov dword [rsp + 0x30], r15d
jmp 0x14005bda9
cmp dword [rbp + 0x10], r14d
jbe 0x14005bd2e
mov rsi, qword [rbp + 0x18]
lea r8, [rbp - 0x48]
mov edx, 4
mov qword [rbp - 0x48], rsi
mov rcx, rsi
mov r9d, dword [rsi]
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005bd83
mov rax, qword [rbp - 0x48]
test r9d, r9d
mov dword [rbp + 0x104], r9d
cmove rax, r14
mov qword [rbp + 0x238], rax
jmp 0x14005bd91
mov r9d, dword [rbp + 0x104]
mov rax, qword [rbp + 0x238]
test r15d, r15d
js 0x14005903d
cmp r9d, 4
jne 0x140059686
mov eax, dword [rax]
mov dword [rbp + 8], eax
test r15d, r15d
js 0x14005903d
mov r15d, dword [rbp + 8]
mov eax, 0x8007007a
cmp r15d, 0xd0000023
cmove r15d, eax
mov dword [rsp + 0x30], r15d
mov dword [rbp + 8], r15d
cmp r15d, eax
je 0x14005bddd
test r15d, r15d
js 0x14005903d
cmp dword [rbp + 0x10], 6
jne 0x14005b187
cmp qword [rbp + 0x18], r14
jne 0x14005bdfd
mov r15d, 0xc000000d
mov dword [rsp + 0x30], r15d
jmp 0x14005bec3
mov rcx, qword [rbp + 0x18]
mov r9d, r14d
mov qword [rbp + 0x350], rcx
mov r10d, dword [rcx]
lea r8, [rbp + 0x350]
mov edx, 4
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005be98
mov rcx, qword [rbp + 0x350]
lea r8, [rbp + 0x350]
mov edx, r10d
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005be98
mov rcx, qword [rbp + 0x350]
inc r9d
cmp r9d, 1
jb 0x14005be0b
mov r9d, dword [rcx]
lea r8, [rbp + 0x350]
mov edx, 4
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005be98
mov rax, qword [rbp + 0x350]
test r9d, r9d
mov dword [rbp + 0x108], r9d
cmove rax, r14
mov qword [rbp + 0x240], rax
jmp 0x14005bea6
mov r9d, dword [rbp + 0x108]
mov rax, qword [rbp + 0x240]
test r15d, r15d
js 0x14005903d
cmp r9d, 8
jne 0x140059686
mov rax, qword [rax]
mov qword [rbp + 0x268], rax
test r15d, r15d
js 0x14005903d
mov r12d, 0xc0000095
cmp qword [rbp + 0x18], r14
jne 0x14005bee8
mov r15d, 0xc000000d
mov dword [rsp + 0x30], r15d
jmp 0x14005bf9d
mov r9, qword [rbp + 0x18]
mov r8d, r14d
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x30], r15d
cmp rax, r9
jb 0x14005bf74
mov ecx, dword [r9]
mov r9, r13
add rcx, rdx
cmp rcx, rdx
cmovae r9, rcx
sbb r15d, r15d
and r15d, r12d
mov qword [rbp - 0x48], r9
mov dword [rsp + 0x30], r15d
cmp rcx, rdx
jb 0x14005bf74
inc r8d
cmp r8d, 2
jb 0x14005beef
mov r10d, dword [r9]
lea r8, [rbp - 0x48]
mov edx, 4
mov rcx, r9
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005bf74
mov rax, qword [rbp - 0x48]
test r10d, r10d
mov dword [rbp + 0x184], r10d
cmove rax, r14
mov qword [rbp + 0x248], rax
jmp 0x14005bf82
mov r10d, dword [rbp + 0x184]
mov rax, qword [rbp + 0x248]
test r15d, r15d
js 0x14005903d
cmp r10d, 4
jne 0x140059686
mov eax, dword [rax]
mov dword [rbp + 0x128], eax
test r15d, r15d
js 0x14005903d
cmp qword [rbp + 0x18], r14
jne 0x14005bfb7
mov r15d, 0xc000000d
jmp 0x140059038
mov r9, qword [rbp + 0x18]
mov r8d, r14d
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x30], r15d
cmp rax, r9
jb 0x14005c043
mov ecx, dword [r9]
mov r9, r13
add rcx, rdx
cmp rcx, rdx
cmovae r9, rcx
sbb r15d, r15d
and r15d, r12d
mov qword [rbp - 0x48], r9
mov dword [rsp + 0x30], r15d
cmp rcx, rdx
jb 0x14005c043
inc r8d
cmp r8d, 3
jb 0x14005bfbe
mov r11d, dword [r9]
lea r8, [rbp - 0x48]
mov edx, 4
mov rcx, r9
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005c043
mov rsi, qword [rbp - 0x48]
test r11d, r11d
mov dword [rbp + 0x168], r11d
cmove rsi, r14
mov qword [rbp + 0x250], rsi
jmp 0x14005c051
mov r11d, dword [rbp + 0x168]
mov rsi, qword [rbp + 0x250]
test r15d, r15d
js 0x14005903d
mov r9, qword [rbp + 0x18]
mov r8d, r14d
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x30], r15d
cmp rax, r9
jb 0x14005c0e6
mov ecx, dword [r9]
mov r9, r13
add rcx, rdx
cmp rcx, rdx
cmovae r9, rcx
sbb r15d, r15d
and r15d, r12d
mov qword [rbp - 0x48], r9
mov dword [rsp + 0x30], r15d
cmp rcx, rdx
jb 0x14005c0e6
inc r8d
cmp r8d, 4
jb 0x14005c061
mov r10d, dword [r9]
lea r8, [rbp - 0x48]
mov edx, 4
mov rcx, r9
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005c0e6
mov rax, qword [rbp - 0x48]
test r10d, r10d
mov dword [rbp + 0x178], r10d
cmove rax, r14
mov qword [rbp + 0x258], rax
jmp 0x14005c0f4
mov r10d, dword [rbp + 0x178]
mov rax, qword [rbp + 0x258]
test r15d, r15d
js 0x14005c10f
cmp r10d, 4
jne 0x140059686
mov r12d, dword [rax]
mov dword [rbp + 0x170], r12d
jmp 0x14005c116
mov r12d, dword [rbp + 0x170]
test r15d, r15d
js 0x14005903d
mov r9, qword [rbp + 0x18]
mov r8d, r14d
mov r10d, 0xc0000095
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x30], r15d
cmp rax, r9
jb 0x14005c1b1
mov ecx, dword [r9]
mov r9, r13
add rcx, rdx
cmp rcx, rdx
cmovae r9, rcx
sbb r15d, r15d
and r15d, r10d
mov qword [rbp - 0x48], r9
mov dword [rsp + 0x30], r15d
cmp rcx, rdx
jb 0x14005c1b1
inc r8d
cmp r8d, 5
jb 0x14005c12c
mov r10d, dword [r9]
lea r8, [rbp - 0x48]
mov edx, 4
mov rcx, r9
call fcn.14000960c
mov dword [rsp + 0x30], eax
mov r15d, eax
test eax, eax
js 0x14005c1b1
mov rax, qword [rbp - 0x48]
test r10d, r10d
mov dword [rbp + 0x140], r10d
cmove rax, r14
mov qword [rbp + 0x260], rax
jmp 0x14005c1bf
mov r10d, dword [rbp + 0x140]
mov rax, qword [rbp + 0x260]
test r15d, r15d
js 0x14005c1d8
cmp r10d, 4
jne 0x140059686
mov ecx, dword [rax]
mov dword [rbp + 0xbc], ecx
jmp 0x14005c1de
mov ecx, dword [rbp + 0xbc]
test r15d, r15d
js 0x14005903d
mov rax, qword [rbp + 0x268]
cmp qword [rbp + 0x1d0], rax
jne 0x14005b187
mov eax, dword [rbp + 0x128]
mov dword [rbp + 0xac], eax
mov dword [rbp + 0xe0], r12d
mov dword [rbp + 0x64], ecx
cmp r12d, 4
jbe 0x14005c222
mov r15d, 0x8007007a
jmp 0x140059038
cmp r11d, 4
ja 0x14005c217
mov rcx, qword [rbp + 0x1a0]
mov rdx, rsi
mov r8d, r11d
call sub.msvcrt.dll_memcpy
mov r12, qword [rsp + 0x40]
test r15d, r15d
js 0x140059042
cmp dword [rbp + 8], r14d
cmovne r15d, dword [rbp + 8]
jmp 0x140058fcf
mov r15d, 0xc0000095
jmp 0x140059038
mov r10, qword [rbp - 0x50]
mov r11d, r14d
mov qword [rbp - 0x40], r10
test r9d, r9d
je 0x14005c2b7
mov edx, dword [r10]
lea r8, [rsp + 0x38]
mov ecx, 4
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov eax, dword [rsp + 0x38]
mov dword [rbp + 0x110], eax
mov edx, eax
lea r8, [rbp - 0x40]
mov rcx, r10
call fcn.14000960c
test eax, eax
js 0x14005c46d
mov r10, qword [rbp - 0x40]
inc r11d
cmp r11d, r9d
jb 0x14005c271
lea r8, [rbp + 0x28]
mov edx, 4
mov rcx, r10
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005c46d
mov edx, dword [rbp - 0x54]
lea rcx, [r12 + 4]
add rdx, qword [rbp - 0x50]
add rcx, r10
mov r8, r12
cmp rcx, rdx
ja 0x14005c46d
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x28]
mov dword [r10], r12d
call sub.msvcrt.dll_memcpy
mov r9d, dword [rbp - 0x58]
mov r11d, 4
inc r9d
mov dword [rbp - 0x58], r9d
jmp 0x14005c315
mov esi, 0xc000000d
test esi, esi
js 0x14005c46d
test r13d, r13d
je 0x14005c416
cmp qword [rbp - 0x50], r14
jne 0x14005c372
lea r8, [rsp + 0x38]
mov edx, r13d
mov ecx, r11d
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov edx, dword [rsp + 0x38]
mov dword [rbp + 0x174], edx
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov r9d, dword [rbp - 0x58]
inc r9d
mov dword [rbp - 0x58], r9d
jmp 0x14005c425
mov r10, qword [rbp - 0x50]
mov r11d, r14d
mov qword [rbp - 0x40], r10
test r9d, r9d
je 0x14005c3c8
mov edx, dword [r10]
lea r8, [rsp + 0x38]
mov ecx, 4
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov eax, dword [rsp + 0x38]
mov dword [rbp + 0x174], eax
mov edx, eax
lea r8, [rbp - 0x40]
mov rcx, r10
call fcn.14000960c
test eax, eax
js 0x14005c46d
mov r10, qword [rbp - 0x40]
inc r11d
cmp r11d, r9d
jb 0x14005c382
lea r8, [rbp + 0x28]
mov edx, 4
mov rcx, r10
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005c46d
mov edx, dword [rbp - 0x54]
add rdx, qword [rbp - 0x50]
mov r8d, r13d
lea rcx, [r8 + 4]
add rcx, r10
cmp rcx, rdx
ja 0x14005c46d
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x28]
mov dword [r10], r13d
call sub.msvcrt.dll_memcpy
mov r9d, dword [rbp - 0x58]
inc r9d
mov dword [rbp - 0x58], r9d
jmp 0x14005c41b
mov esi, 0xc000000d
test esi, esi
js 0x14005c46d
mov r11d, 4
mov rax, qword [rbp + 0x280]
mov qword [rbp + 0x288], rax
cmp qword [rbp - 0x50], r14
jne 0x14005c47c
lea r8, [rsp + 0x38]
mov edx, 8
mov ecx, r11d
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov edx, dword [rsp + 0x38]
mov dword [rbp + 0x180], edx
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
call fcn.1400095f0
test eax, eax
jns 0x14005c50e
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
jmp 0x14005e2ce
mov r10, qword [rbp - 0x50]
mov r11d, r14d
mov qword [rbp - 0x40], r10
test r9d, r9d
je 0x14005c4ca
mov edx, dword [r10]
lea r8, [rsp + 0x38]
mov ecx, 4
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov eax, dword [rsp + 0x38]
mov dword [rbp + 0x180], eax
mov edx, eax
lea r8, [rbp - 0x40]
mov rcx, r10
call fcn.14000960c
test eax, eax
js 0x14005c46d
mov r10, qword [rbp - 0x40]
inc r11d
cmp r11d, r9d
jb 0x14005c48c
mov r11d, 4
lea r8, [rbp + 0x28]
mov edx, r11d
mov rcx, r10
call fcn.14000960c
test eax, eax
js 0x14005c46d
mov ecx, dword [rbp - 0x54]
lea rax, [r10 + 0xc]
add rcx, qword [rbp - 0x50]
cmp rax, rcx
ja 0x14005c46d
mov rax, qword [rbp + 0x28]
mov dword [r10], 8
movsd xmm0, qword [rbp + 0x288]
movsd qword [rax], xmm0
inc dword [rbp - 0x58]
lea r8, [rsp + 0x38]
mov edx, r11d
mov ecx, r11d
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov r9d, dword [rsp + 0x38]
mov dword [rbp + 0x10c], r9d
lea r8, [rbp - 0x78]
mov dword [rsp + 0x38], r9d
mov edx, 8
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov edx, dword [rbp - 0x78]
mov dword [rbp + 0x10c], edx
lea r8, [rsp + 0x38]
mov ecx, r9d
call fcn.1400095f0
test eax, eax
js 0x14005c46d
mov eax, dword [rsp + 0x38]
mov r10, r14
mov dword [rbp], eax
mov r9d, r14d
mov dword [rsp + 0x38], r14d
mov r13, r14
mov qword [rbp - 0x70], r14
mov dword [rsp + 0x34], r14d
mov qword [rbp + 0xf0], r14
mov qword [rbp - 8], r14
mov qword [rbp - 0x48], r14
mov dword [rbp - 0x28], r14d
mov qword [rbp - 0x40], r14
mov qword [rbp + 0x38], r14
mov dword [rbp + 0x74], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x190], rax
mov dword [rbp - 0x10], 8
mov edx, dword [rbp - 0x54]
lea r8, [rbp - 0x10]
mov ecx, 8
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005c6d7
mov eax, dword [rbp - 0x10]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x10]
jae 0x14005c5f6
mov esi, 0xc0000095
jmp 0x14005c6d7
mov dword [rbp - 0x10], eax
mov esi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x14005c62a
mov esi, 0xc0000017
mov r9d, r14d
mov r10, r14
jmp 0x14005c6d7
mov eax, dword [rbp - 0x58]
lea r8, [rbp + 0x350]
mov r11d, 4
mov qword [rbp + 0x350], r12
mov edx, r11d
mov dword [r12], eax
mov rcx, r12
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005c6af
mov rcx, qword [rbp + 0x350]
lea r8, [rbp + 0x350]
mov eax, dword [rbp - 0x54]
mov edx, r11d
mov dword [rcx], eax
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005c6af
mov ecx, dword [rbp - 0x10]
mov rax, qword [rbp + 0x190]
mov qword [rcx + r12 - 8], rax
mov r8d, dword [rbp - 0x54]
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x350]
call sub.msvcrt.dll_memcpy
mov r9d, dword [rbp - 0x10]
mov r10, r12
mov qword [rbp - 0x70], r12
mov r12, r14
mov dword [rsp + 0x34], r9d
jmp 0x14005c6b5
mov r10, r14
mov r9d, r14d
test r12, r12
je 0x14005c6d7
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov r9d, dword [rsp + 0x34]
mov r10, qword [rbp - 0x70]
or esi, 0x10000000
jl 0x14005d314
mov qword [rbp + 0x2a0], r14
mov qword [rbp + 0x2a8], r14
mov qword [rbp + 0x2b0], r14
mov qword [rbp + 0x2b8], r14
mov qword [rbp + 0x158], r14
mov qword [rbp + 0x298], r14
test r10, r10
jne 0x14005c71c
mov esi, 0xc000000d
jmp 0x14005cea6
mov r12d, r9d
mov qword [rbp + 0x30], r12
test r9d, r9d
je 0x14005cdfe
lea rax, [r12 + 8]
mov rcx, rax
mov qword [rbp + 0x20], rax
call fcn.14000d7b4
mov qword [rbp + 0x88], rax
test rax, rax
je 0x14005cdfe
mov r8, qword [rbp - 0x70]
mov dl, r14b
mov byte [rsp + 0x3c], dl
mov rcx, r14
test r12, r12
je 0x14005c770
xor dl, byte [rcx + r8]
inc rcx
cmp rcx, r12
jb 0x14005c760
mov byte [rsp + 0x3c], dl
mov r9, rax
mov qword [rbp + 0x350], rbx
or r11d, 0xffffffff
mov dword [rbp - 0x80], r14d
mov rax, r12
mov dword [rsp + 0x70], r11d
mov dword [rbp - 0x60], r14d
mov esi, r14d
mov dword [rbp - 0x68], r14d
and eax, 7
je 0x14005c888
mov dword [rbp - 0x60], r14d
mov ecx, r14d
mov dword [rbp - 0x68], ecx
mov r11d, r14d
test eax, eax
je 0x14005c7f8
mov r10d, 0x38
lea rcx, [r8 + 1]
movzx r8d, byte [r8]
mov qword [rbp - 0x20], rcx
cmp r11d, 4
jge 0x14005c7d9
lea ecx, [r10 - 0x20]
shl r8d, cl
mov ecx, dword [rbp - 0x68]
or ecx, r8d
mov dword [rbp - 0x68], ecx
jmp 0x14005c7e5
mov ecx, r10d
shl r8d, cl
mov ecx, dword [rbp - 0x68]
or esi, r8d
mov r8, qword [rbp - 0x20]
inc r11d
sub r10d, 8
cmp r11d, eax
jl 0x14005c7b5
mov dword [rbp - 0x60], esi
mov r11d, dword [rbp - 0x60]
mov esi, ecx
xor esi, 0xb17a307a
xor r11d, 0x42f6b18d
mov dword [rbp - 0x80], esi
mov ecx, r14d
mov dword [rsp + 0x70], r11d
test eax, eax
je 0x14005c84e
lea r10, [r9 + 1]
mov qword [rbp - 0x38], r10
cmp ecx, 4
jge 0x14005c82f
rol esi, 8
mov r10d, esi
jmp 0x14005c836
rol r11d, 8
mov r10d, r11d
mov byte [r9], r10b
inc ecx
mov r10, qword [rbp - 0x38]
mov r9, r10
cmp ecx, eax
jl 0x14005c81a
mov esi, dword [rbp - 0x80]
mov r11d, dword [rsp + 0x70]
cmp eax, 4
jbe 0x14005c86a
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x70], r11d
jmp 0x14005c888
mov dword [rsp + 0x70], r14d
mov r11d, r14d
cmp eax, 4
jae 0x14005c888
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr esi, cl
shl esi, cl
mov dword [rbp - 0x80], esi
mov rax, r12
shr rax, 3
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14005cbfa
mov r15d, dword [rbp + 0x354]
lea rdx, [r9 + 7]
mov rdi, qword [rbp - 0x38]
lea rcx, [r8 + 2]
mov r13d, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x68]
movzx r14d, word [rbp + 0x354]
movzx eax, bx
mov dword [rsp + 0x60], eax
movzx eax, bx
mov dword [rsp + 0x34], eax
movzx eax, word [rbp + 0x352]
mov dword [rbp - 0x78], eax
shr r15d, 0x10
movzx eax, byte [rcx - 1]
movzx r10d, byte [rcx - 2]
movzx r9d, byte [rcx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rcx]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 1]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 3]
or r9d, eax
movzx eax, byte [rcx + 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r9d, 8
or r9d, eax
mov qword [rbp - 0x38], rcx
movzx eax, word [rbp + 0x352]
xor r11d, r9d
mov r8d, r11d
sub r8d, dword [rsp + 0x34]
xor r8d, r10d
xor r8d, esi
mov esi, dword [rbp + 0x354]
xor r8d, esi
mov ecx, r8d
xor ecx, esi
ror ecx, 0xf
imul ecx, eax
mov eax, r8d
ror eax, 7
add ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xa
lea ecx, [r11 + rbx]
ror ecx, 9
imul ecx, r14d
sub ecx, eax
xor r8d, ecx
mov ecx, r14d
xor ecx, r8d
mov eax, r8d
rol eax, 5
rol ecx, 4
imul ecx, r15d
add ecx, eax
mov eax, esi
xor r11d, ecx
mov ecx, r11d
xor ecx, ebx
sub eax, ecx
xor r8d, eax
movzx eax, word [rbp + 0x352]
mov ecx, r8d
sub ecx, dword [rsp + 0x60]
imul ecx, eax
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, r14d
imul eax, dword [rsp + 0x60]
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, r15d
imul eax, r14d
xor r11d, eax
mov eax, r11d
sub eax, dword [rsp + 0x34]
sub eax, esi
xor r8d, eax
mov eax, r8d
mov ecx, r8d
ror ecx, 0xa
xor eax, r15d
imul eax, dword [rbp - 0x78]
xor ecx, eax
xor r11d, ecx
mov ecx, dword [rsp + 0x60]
xor ecx, r11d
mov eax, r11d
rol ecx, 6
imul ecx, r14d
ror eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xf
sub eax, r15d
imul eax, dword [rsp + 0x60]
xor r11d, eax
mov ecx, r11d
mov eax, r11d
xor ecx, r15d
shr eax, 1
imul ecx, dword [rsp + 0x34]
xor ecx, eax
mov eax, r11d
xor r8d, ecx
shr eax, 0xf
mov ecx, r11d
sub ecx, r14d
rol ecx, 3
imul ecx, dword [rsp + 0x34]
xor ecx, eax
movzx eax, word [rbp + 0x352]
xor r8d, ecx
mov ecx, r8d
sub ecx, r14d
imul ecx, eax
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, ebx
sub ecx, r11d
mov eax, r11d
ror ecx, 9
imul ecx, r14d
ror eax, 0xb
xor ecx, eax
xor r8d, ecx
mov eax, r8d
sub eax, ebx
sub eax, r15d
xor r11d, eax
movzx eax, word [rbp + 0x352]
xor eax, r11d
mov ecx, r11d
imul eax, dword [rsp + 0x34]
ror ecx, 7
sub eax, ecx
xor r8d, eax
movzx eax, word [rbp + 0x352]
mov ecx, r8d
xor ecx, r15d
rol ecx, 4
imul ecx, eax
mov eax, r8d
ror eax, 0x10
sub ecx, eax
xor r11d, ecx
mov ecx, ebx
sub ecx, r11d
mov eax, r11d
ror ecx, 0xa
imul ecx, r14d
ror eax, 4
add ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, ebx
ror ecx, 4
mov eax, r8d
imul ecx, r15d
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
mov eax, r11d
xor ecx, esi
rol eax, 2
rol ecx, 8
imul ecx, dword [rsp + 0x34]
sub ecx, eax
movzx eax, word [rbp + 0x352]
xor r8d, ecx
mov ecx, esi
sub ecx, r8d
ror ecx, 0xb
imul ecx, eax
mov eax, r8d
ror eax, 0xc
sub ecx, eax
movzx eax, word [rbp + 0x352]
xor r11d, ecx
mov ecx, r11d
xor ecx, eax
mov eax, r11d
shr eax, 8
xor r11d, ebx
imul ecx, r14d
xor ecx, eax
xor r8d, ecx
mov rcx, qword [rbp - 0x38]
xor r11d, r8d
xor r8d, r12d
mov dword [rbp - 0x80], r8d
xor r11d, esi
xor r11d, r13d
mov r12d, r10d
mov dword [rsp + 0x70], r11d
mov r13d, r9d
mov byte [rdx - 4], r8b
mov al, byte [rsp + 0x70]
ror dword [rbp - 0x80], 8
mov byte [rdx], al
ror dword [rsp + 0x70], 8
mov al, byte [rbp - 0x80]
mov byte [rdx - 5], al
mov al, byte [rsp + 0x70]
ror dword [rbp - 0x80], 8
mov byte [rdx - 1], al
ror dword [rsp + 0x70], 8
mov al, byte [rbp - 0x80]
mov byte [rdx - 6], al
ror dword [rbp - 0x80], 8
mov al, byte [rsp + 0x70]
mov byte [rdx - 2], al
ror dword [rsp + 0x70], 8
mov al, byte [rbp - 0x80]
mov byte [rdx - 7], al
mov al, byte [rsp + 0x70]
mov byte [rdx - 3], al
add rdx, 8
mov esi, dword [rbp - 0x80]
mov r11d, dword [rsp + 0x70]
ror esi, 8
ror r11d, 8
mov dword [rbp - 0x80], esi
mov dword [rsp + 0x70], r11d
sub rdi, 1
jne 0x14005c8db
mov dl, byte [rsp + 0x3c]
xor r14d, r14d
mov r15d, dword [rsp + 0x30]
mov r13d, r14d
mov r12, qword [rbp + 0x30]
movabs rdi, 0x7f1137fab69605e
mov rsi, qword [rbp + 0x88]
movzx eax, dl
mov qword [rsi + r12], rax
mov r12, qword [rbp + 0x20]
mov qword [rbp + 0x298], r12
mov qword [rbp + 0x158], rsi
lea rax, [0x1400ad900]
mov qword [rbp + 0x2a8], 8
mov qword [rbp + 0x2a0], rax
lea rax, [0x1400ad860]
mov qword [rbp + 0x2b8], 0xa0
mov qword [rbp + 0x2b0], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14005cc76
mov esi, 0xc0000017
jmp 0x14005cdee
mov dword [rax], r12d
mov r12d, r12d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
jne 0x14005cca2
mov esi, 0xc0000017
jmp 0x14005cd72
mov qword [rbx + 8], rax
mov r8, r12
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, 0xa0
mov dword [rbx + 0x10], esi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov esi, 8
mov edx, esi
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
je 0x14005cc98
mov qword [rbx + 0x18], rax
lea rcx, [0x1400ad860]
movups xmm0, xmmword [rcx]
lea edx, [rsi + 0x78]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rbx + 0x20], esi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, esi
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
je 0x14005cc98
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1400ad900]
mov r13, rbx
movsd qword [rax], xmm0
mov esi, r14d
mov rbx, r14
test rbx, rbx
je 0x14005cdee
mov r12, qword [rbx + 8]
test r12, r12
je 0x14005cd98
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 8], r14
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14005cdb9
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14005cdda
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0x14005ce03
mov qword [rbp + 0xf0], r13
mov r13, r14
jmp 0x14005ce03
mov esi, 0xc0000001
mov rbx, qword [rbp + 0x158]
test rbx, rbx
je 0x14005ce2a
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp + 0x158], r14
test r13, r13
je 0x14005cea6
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x14005ce50
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 8], r14
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x14005ce71
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 0x18], r14
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x14005ce92
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
or esi, 0x10000000
jl 0x14005d311
mov r12, qword [rbp + 0xf0]
lea r8, [rsp + 0x34]
mov r13d, 4
mov ecx, r13d
mov dword [rsp + 0x34], r13d
mov edx, dword [r12]
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005cf46
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r13d
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005cf46
mov edx, dword [r12 + 0x10]
lea r8, [rsp + 0x34]
mov ecx, dword [rsp + 0x34]
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005cf46
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r13d
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005cf46
mov edx, dword [r12 + 0x20]
lea r8, [rsp + 0x34]
mov ecx, dword [rsp + 0x34]
call fcn.1400095f0
mov esi, eax
mov eax, dword [rbp + 0x6c]
test esi, esi
cmovns eax, dword [rsp + 0x34]
mov dword [rbp + 0x6c], eax
jmp 0x14005cf49
mov eax, dword [rbp + 0x6c]
test esi, esi
js 0x14005d087
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14005cf7c
mov esi, 0xc0000017
jmp 0x14005d087
mov eax, dword [r12]
lea r8, [rbp - 0x78]
mov rdx, r13
mov dword [rbx], eax
mov rcx, rbx
mov qword [rbp - 0x78], rbx
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d06e
mov r8d, dword [r12]
mov rdx, qword [r12 + 8]
mov rcx, qword [rbp - 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [r12]
lea r8, [rbp - 0x78]
mov rcx, qword [rbp - 0x78]
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d06e
mov rcx, qword [rbp - 0x78]
lea r8, [rbp - 0x78]
mov eax, dword [r12 + 0x10]
mov rdx, r13
mov dword [rcx], eax
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d06e
mov r8d, dword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rbp - 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [r12 + 0x10]
lea r8, [rbp - 0x78]
mov rcx, qword [rbp - 0x78]
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d06e
mov rcx, qword [rbp - 0x78]
lea r8, [rbp - 0x78]
mov eax, dword [r12 + 0x20]
mov rdx, r13
mov dword [rcx], eax
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d06e
mov r8d, dword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
mov rcx, qword [rbp - 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [r12 + 0x20]
lea r8, [rbp - 0x78]
mov rcx, qword [rbp - 0x78]
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d06e
mov eax, dword [rbp + 0x6c]
mov qword [rbp - 8], rbx
mov rbx, r14
mov dword [rsp + 0x38], eax
test rbx, rbx
je 0x14005d087
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
or esi, 0x10000000
jl 0x14005d311
mov ebx, r14d
mov qword [rbp + 0x2c0], r14
mov dword [rbp + 0x150], ebx
mov r10d, r14d
mov dword [rbp + 0x12c], r14d
mov qword [rbp + 0x2c8], r14
mov dword [rbp + 0x70], 8
mov edx, dword [rbp]
lea r8, [rbp + 0x70]
mov ecx, 8
call fcn.1400095f0
mov esi, eax
or esi, 0x10000000
jl 0x14005d581
mov eax, dword [rbp + 0x70]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x70]
jae 0x14005d0f7
mov r9d, dword [rbp + 0xb4]
mov esi, 0xc0000095
jmp 0x14005d127
mov dword [rbp + 0xb8], eax
mov edx, ecx
lea r8, [rbp + 0xb8]
mov ecx, eax
call fcn.1400095f0
mov r9d, dword [rbp + 0xb4]
test eax, eax
mov esi, eax
cmovns r9d, dword [rbp + 0xb8]
mov dword [rbp + 0xb4], r9d
test esi, esi
js 0x14005d311
cmp qword [rbp - 0x50], r14
jne 0x14005d13f
mov esi, 0xc000000d
jmp 0x14005d581
cmp dword [rbp - 0x58], 1
jbe 0x14005d135
mov rcx, qword [rbp - 0x50]
mov r11d, r14d
mov qword [rbp + 0x350], rcx
mov r12d, dword [rcx]
lea r8, [rbp + 0x350]
mov rdx, r13
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d1ce
mov rcx, qword [rbp + 0x350]
lea r8, [rbp + 0x350]
mov edx, r12d
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d1ce
mov rcx, qword [rbp + 0x350]
inc r11d
cmp r11d, 1
jb 0x14005d153
mov r11d, dword [rcx]
lea r8, [rbp + 0x350]
mov rdx, r13
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d1ce
mov rax, qword [rbp + 0x350]
test r11d, r11d
mov r10d, r11d
mov dword [rbp + 0x12c], r11d
cmove rax, r14
mov qword [rbp + 0x2c0], rax
test esi, esi
js 0x14005d311
cmp dword [rbp - 0x58], 2
jbe 0x14005d135
mov rcx, qword [rbp - 0x50]
mov r11d, r14d
mov qword [rbp + 0x350], rcx
mov r12d, dword [rcx]
lea r8, [rbp + 0x350]
mov rdx, r13
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d268
mov rcx, qword [rbp + 0x350]
lea r8, [rbp + 0x350]
mov edx, r12d
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d268
mov rcx, qword [rbp + 0x350]
inc r11d
cmp r11d, 2
jb 0x14005d1ee
mov r11d, dword [rcx]
lea r8, [rbp + 0x350]
mov rdx, r13
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005d268
mov rax, qword [rbp + 0x350]
test r11d, r11d
mov ebx, r11d
cmove rax, r14
mov dword [rbp + 0x150], ebx
mov qword [rbp + 0x2c8], rax
test esi, esi
js 0x14005d311
lea r8, [rsp + 0x34]
mov dword [rsp + 0x34], r13d
mov edx, r9d
mov ecx, r13d
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005d2f7
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r13d
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005d2f7
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r10d
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005d2f7
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, r13d
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005d2f7
mov ecx, dword [rsp + 0x34]
lea r8, [rsp + 0x34]
mov edx, ebx
call fcn.1400095f0
mov esi, eax
mov eax, dword [rbp + 0xb0]
test esi, esi
cmovns eax, dword [rsp + 0x34]
mov dword [rbp + 0xb0], eax
jmp 0x14005d2fd
mov eax, dword [rbp + 0xb0]
test esi, esi
js 0x14005d311
cmp eax, 0x400000
jbe 0x14005d57e
mov esi, 0x8000ffff
mov r13, r14
mov rbx, qword [rbp - 0x70]
test rbx, rbx
je 0x14005d331
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov r12, qword [rbp + 0xf0]
test r12, r12
je 0x14005d3c5
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x14005d364
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 8], r14
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x14005d387
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 0x18], r14
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x14005d3aa
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r12 + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp + 0xf0], r14
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x14005d3e2
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x14005d3ff
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test r13, r13
je 0x14005d47b
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x14005d425
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 8], r14
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x14005d446
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 0x18], r14
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x14005d467
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [r13 + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rbx, qword [rbp + 0x38]
test rbx, rbx
je 0x14005d498
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0x14005c46d
mov r9d, dword [rbp + 0xc8]
cmp r9d, 1
jb 0x14005c46d
mov rbx, qword [rbp + 0xd0]
test rbx, rbx
je 0x14005c46d
test r9d, r9d
je 0x14005c46d
mov r10d, dword [rbx]
lea r8, [rbp - 0x20]
mov r11d, 4
mov qword [rbp - 0x20], rbx
mov edx, r11d
mov rcx, rbx
call fcn.14000960c
test eax, eax
js 0x14005c46d
mov rax, qword [rbp - 0x20]
test r10d, r10d
mov dword [rbp + 0x1f0], r10d
cmove rax, r14
mov qword [rbp + 0x338], rax
cmp r10d, r11d
jne 0x14005c46d
mov eax, dword [rax]
mov dword [rbp + 0x78], eax
test eax, eax
js 0x14005c46d
cmp r9d, 1
jbe 0x14005c46d
mov qword [rbp + 0x350], rbx
mov r9d, r14d
lea r8, [rbp + 0x350]
mov rdx, r11
mov rcx, rbx
call fcn.14000960c
test eax, eax
js 0x14005c46d
mov edx, dword [rbx]
lea r8, [rbp + 0x350]
mov rcx, qword [rbp + 0x350]
call fcn.14000960c
test eax, eax
js 0x14005c46d
inc r9d
cmp r9d, 1
jae 0x14005e26e
mov rbx, qword [rbp + 0x350]
jmp 0x14005d531
mov dword [rbp - 0x28], eax
test esi, esi
js 0x14005d311
mov ebx, dword [rbp - 0x28]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14005d5b5
mov esi, 0xd0000017
jmp 0x14005d311
mov qword [rbp - 0x48], rbx
mov rax, qword [rbp - 8]
test rax, rax
jne 0x14005d5cc
mov esi, 0x80070057
jmp 0x14005d311
mov qword [rbp + 0x318], rax
lea r8, [rbp + 0x2d0]
mov eax, dword [rsp + 0x38]
lea rdx, [0x1400910c0]
mov dword [rbp + 0x328], eax
mov ecx, 1
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0x32c], eax
mov qword [rbp + 0x320], rbx
mov dword [rbp + 0x330], r14d
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
jne 0x14005d634
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test eax, eax
jle 0x14005d626
movzx esi, ax
or esi, 0x80070000
test esi, esi
js 0x14005d62f
mov esi, 0x80004005
mov edx, dword [rbp - 0x28]
jmp 0x14005d67a
mov rcx, qword [rbp + 0x2d0]
lea rdx, [0x1400910d8]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
test rax, rax
je 0x14005d611
xor r9d, r9d
lea rdx, [rbp + 0x318]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x14008f7f0]
mov edx, dword [rbp - 0x28]
mov esi, eax
or esi, 0x10000000
cmovge edx, dword [rbp + 0x32c]
mov dword [rbp - 0x28], edx
cmp esi, 0xd0000023
jne 0x14005d68c
mov esi, 0x8007007a
jmp 0x14005d311
test esi, esi
js 0x14005d311
mov qword [rbp - 0x20], r14
cmp edx, r13d
jae 0x14005d6d5
mov esi, 0xc000003e
mov r13, r14
or esi, 0x10000000
jl 0x14005d314
mov qword [rbp + 0x198], r14
mov rbx, r14
mov qword [rbp + 0x90], rbx
test r13, r13
jne 0x14005daa5
mov esi, 0xd000000d
jmp 0x14005d314
mov r11d, dword [rbx]
lea rax, [rbx + 4]
or r10, 0xffffffffffffffff
mov dword [rbp], r11d
cmp rax, rbx
mov r12, r10
mov r9d, 0xc0000095
cmovae r12, rax
sbb esi, esi
and esi, r9d
cmp rax, rbx
jb 0x14005d6a2
lea eax, [rdx - 4]
cmp eax, r11d
jb 0x14005d69d
lea rcx, [r12 + r11]
mov r8, r10
cmp rcx, r12
cmovae r8, rcx
sbb esi, esi
and esi, r9d
cmp rcx, r12
jb 0x14005d6a2
lea eax, [r11 + 4]
or ecx, 0xffffffff
cmp eax, r13d
cmovae ecx, eax
sbb esi, esi
and esi, r9d
cmp eax, r13d
jb 0x14005d6a2
mov eax, edx
sub eax, ecx
cmp eax, r13d
jb 0x14005d69d
mov ebx, dword [r8]
lea rax, [r8 + 4]
cmp rax, r8
mov dword [rsp + 0x38], ebx
mov r13, r10
cmovae r13, rax
sbb esi, esi
and esi, r9d
cmp rax, r8
jb 0x14005d6a2
lea eax, [rcx + 4]
or r8d, 0xffffffff
cmp eax, ecx
mov r9d, r8d
cmovae r9d, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, ecx
jb 0x14005d6a2
mov eax, edx
sub eax, r9d
cmp eax, ebx
jb 0x14005d69d
lea rcx, [rbx + r13]
cmp rcx, r13
cmovae r10, rcx
sbb esi, esi
and esi, 0xc0000095
cmp rcx, r13
jb 0x14005d6a2
lea eax, [rbx + r9]
cmp eax, r9d
cmovae r8d, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, r9d
jb 0x14005d6a2
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14005d69d
mov r9d, dword [r10]
lea rax, [r10 + 4]
cmp rax, r10
mov dword [rbp - 0x78], r9d
mov rcx, 0xffffffffffffffff
cmovae rcx, rax
sbb esi, esi
and esi, 0xc0000095
mov qword [rbp + 0x20], rcx
cmp rax, r10
jb 0x14005d6a2
lea eax, [r8 + 4]
or r10d, 0xffffffff
cmp eax, r8d
mov ecx, r10d
cmovae ecx, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, r8d
jb 0x14005d6a2
mov eax, edx
sub eax, ecx
cmp eax, r9d
jb 0x14005d69d
lea eax, [r9 + rcx]
mov r8d, r10d
cmp eax, ecx
cmovae r8d, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, ecx
jb 0x14005d6a2
cmp edx, r8d
jne 0x14005d69d
lea ecx, [r9 + rbx]
mov eax, edx
add ecx, r11d
add rcx, 0xc
cmp rcx, rax
jne 0x14005d69d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14005d89f
mov esi, 0xc0000017
jmp 0x14005da06
test r12, r12
je 0x14005d8e5
mov eax, dword [rbp]
mov dword [rbx], eax
mov esi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
jne 0x14005d8d1
mov esi, 0xc0000017
jmp 0x14005d98a
mov qword [rbx + 8], rax
mov r8, rsi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14005d8ec
mov dword [rax], r14d
mov qword [rax + 8], r14
test r13, r13
je 0x14005d92a
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x10], eax
mov esi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
je 0x14005d8c7
mov qword [rbx + 0x18], rax
mov r8d, esi
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14005d932
mov dword [rbx + 0x10], r14d
mov qword [rbx + 0x18], r14
mov rsi, qword [rbp + 0x20]
test rsi, rsi
je 0x14005d978
mov eax, dword [rbp - 0x78]
mov dword [rbx + 0x20], eax
mov r12d, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test rax, rax
je 0x14005d8c7
mov qword [rbx + 0x28], rax
mov r8d, r12d
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14005d980
mov dword [rbx + 0x20], r14d
mov qword [rbx + 0x28], r14
mov qword [rbp - 0x20], rbx
mov esi, r14d
mov rbx, r14
test rbx, rbx
je 0x14005da06
mov r12, qword [rbx + 8]
test r12, r12
je 0x14005d9b0
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 8], r14
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14005d9d1
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14005d9f2
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov r13, qword [rbp - 0x20]
test esi, esi
mov rbx, r14
cmovs rbx, qword [rbp - 0x20]
cmovs r13, r14
mov qword [rbp - 0x40], r13
test rbx, rbx
je 0x14005d6a5
mov r12, qword [rbx + 8]
test r12, r12
je 0x14005da46
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 8], r14
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14005da67
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14005da88
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp - 0x40], r13
jmp 0x14005d6a5
mov rax, qword [r13 + 8]
mov qword [rbp - 0x20], rax
test rax, rax
je 0x14005d6cb
cmp dword [r13], r14d
je 0x14005d6cb
mov esi, dword [r13]
mov dword [rbp - 0x78], r14d
test rsi, rsi
je 0x14005dffe
add rsi, 0xfffffffffffffff8
mov rcx, rsi
mov qword [rbp - 0x38], rsi
call fcn.14000d7b4
mov qword [rbp + 0x30], rax
mov r12, rax
test rax, rax
je 0x14005dff7
mov rax, qword [rbp - 0x20]
mov r8, rsi
mov qword [rbp + 0x350], rdi
mov dl, r14b
mov byte [rsp + 0x3c], dl
mov r9, r12
mov dword [rsp + 0x78], r14d
mov r11d, r14d
mov dword [rsp + 0x60], r14d
and r8d, 7
je 0x14005dbec
or ecx, 0xffffffff
mov r10d, r14d
mov dword [rsp + 0x68], ecx
mov ecx, r14d
mov dword [rbp - 0x64], ecx
test r8d, r8d
je 0x14005db7d
mov edi, 0x38
lea rbx, [rax + 1]
movzx eax, byte [rax]
cmp r10d, 4
jge 0x14005db54
lea ecx, [rdi - 0x20]
shl eax, cl
mov ecx, dword [rbp - 0x64]
or r11d, eax
jmp 0x14005db60
mov ecx, edi
shl eax, cl
mov ecx, dword [rbp - 0x64]
or ecx, eax
mov dword [rbp - 0x64], ecx
inc r10d
sub edi, 8
mov rax, rbx
cmp r10d, r8d
jl 0x14005db3a
mov dword [rsp + 0x60], r11d
movabs rdi, 0x7f1137fab69605e
mov ebx, ecx
xor r11d, 0x92f65a5
xor ebx, 0x699a899c
mov dword [rsp + 0x78], r11d
mov dword [rsp + 0x68], ebx
mov ecx, r14d
test r8d, r8d
je 0x14005dbd3
lea r10, [r9 + 1]
mov qword [rbp + 0x20], r10
cmp ecx, 4
jge 0x14005dbb3
rol r11d, 8
mov r10d, r11d
jmp 0x14005dbb9
rol ebx, 8
mov r10d, ebx
mov byte [r9], r10b
inc ecx
mov r10, qword [rbp + 0x20]
mov r9, r10
cmp ecx, r8d
jl 0x14005db9d
mov r11d, dword [rsp + 0x78]
mov ebx, dword [rsp + 0x68]
cmp r8d, 4
jbe 0x14005df7c
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x68], ebx
mov rcx, rsi
shr rcx, 3
mov qword [rbp + 0x20], rcx
test rcx, rcx
je 0x14005df4d
mov edx, dword [rbp + 0x354]
lea r15, [r9 + 7]
mov r12d, dword [rsp + 0x60]
mov esi, edx
mov r14, qword [rbp + 0x20]
mov r13d, edx
movzx ecx, dx
mov dword [rbp], ecx
movzx ecx, di
mov dword [rsp + 0x34], ecx
movzx ecx, word [rbp + 0x352]
shr esi, 0x10
mov dword [rsp + 0x38], ecx
xor r13d, edi
lea rcx, [rax + 2]
movzx eax, byte [rcx - 1]
mov r8d, r13d
movzx r10d, byte [rcx - 2]
movzx r9d, byte [rcx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rcx]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 1]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 3]
or r9d, eax
xor r11d, r10d
movzx eax, byte [rcx + 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r9d, 8
mov qword [rbp + 0x20], rcx
or r9d, eax
xor ebx, r9d
xor r8d, ebx
mov ebx, dword [rbp]
xor r8d, r11d
mov ecx, r8d
mov eax, r8d
sub ecx, edi
rol eax, 0xa
rol ecx, 5
imul ecx, ebx
add ecx, eax
movzx eax, word [rbp + 0x352]
xor r11d, ecx
lea ecx, [rdx + r11]
ror ecx, 9
imul ecx, eax
mov eax, r11d
rol eax, 2
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
mov eax, r8d
sub ecx, ebx
shr eax, 0xd
imul ecx, dword [rsp + 0x34]
sub ecx, eax
movzx eax, word [rbp + 0x352]
xor r11d, ecx
mov ecx, r11d
xor ecx, eax
mov eax, r11d
rol ecx, 6
imul ecx, esi
rol eax, 2
sub ecx, eax
mov eax, edx
xor r8d, ecx
mov ecx, r8d
xor ecx, edi
sub eax, ecx
xor r11d, eax
mov eax, ebx
xor eax, r11d
mov ecx, r11d
imul eax, dword [rsp + 0x38]
ror ecx, 6
xor ecx, eax
xor r8d, ecx
mov eax, r8d
rol eax, 2
lea ecx, [rdx + r8]
ror ecx, 0xf
imul ecx, dword [rsp + 0x34]
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, edi
ror ecx, 0xe
mov eax, r11d
imul ecx, esi
rol eax, 8
sub ecx, eax
xor r8d, ecx
mov ecx, edi
xor ecx, r8d
mov eax, r8d
ror eax, 0xa
ror ecx, 0xc
imul ecx, ebx
xor ecx, eax
movzx eax, word [rbp + 0x352]
xor r11d, ecx
mov ecx, esi
xor ecx, r11d
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor r8d, ecx
mov eax, r8d
not eax
ror eax, 5
add eax, dword [rsp + 0x34]
imul eax, esi
xor r11d, eax
mov eax, r11d
sub eax, esi
xor eax, edi
xor r8d, eax
mov ecx, r8d
mov eax, r8d
xor ecx, esi
shr eax, 2
rol ecx, 2
imul ecx, ebx
add ecx, eax
movzx eax, word [rbp + 0x352]
xor r11d, ecx
mov ecx, r11d
sub ecx, edx
ror ecx, 6
imul ecx, eax
mov eax, r11d
rol eax, 7
add ecx, eax
mov eax, ebx
xor r8d, ecx
xor eax, r8d
mov ecx, r8d
imul eax, dword [rsp + 0x34]
ror ecx, 9
add ecx, eax
movzx eax, word [rbp + 0x352]
xor r11d, ecx
mov ecx, r11d
xor ecx, eax
mov eax, r11d
rol eax, 7
rol ecx, 5
imul ecx, esi
add ecx, eax
mov eax, r13d
xor r8d, ecx
movzx ecx, word [rbp + 0x352]
xor eax, r8d
xor r11d, eax
mov eax, r11d
ror eax, 3
sub eax, ecx
imul eax, ebx
xor r8d, eax
mov ecx, r8d
mov eax, r8d
sub ecx, edx
ror eax, 6
ror ecx, 1
imul ecx, dword [rsp + 0x34]
sub ecx, eax
xor r11d, ecx
mov eax, r11d
rol eax, 0xe
lea ecx, [rdi + r11]
rol ecx, 3
imul ecx, esi
add ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xe
lea ecx, [rdi + r8]
rol ecx, 0xf
imul ecx, ebx
sub ecx, eax
movzx eax, word [rbp + 0x352]
xor r11d, ecx
mov ecx, dword [rsp + 0x34]
xor ecx, r11d
imul ecx, eax
mov eax, r11d
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, edx
xor ecx, r8d
mov eax, r8d
xor r8d, dword [rbp - 0x64]
mov dword [rsp + 0x68], r8d
rol eax, 2
rol ecx, 4
imul ecx, dword [rsp + 0x34]
mov dword [rbp - 0x64], r9d
xor ecx, eax
xor ecx, r12d
mov r12d, r10d
xor r11d, ecx
mov rcx, qword [rbp + 0x20]
mov dword [rsp + 0x78], r11d
mov byte [r15 - 4], r11b
mov al, byte [rsp + 0x68]
ror dword [rsp + 0x78], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rsp + 0x68], 8
mov al, byte [rsp + 0x78]
mov byte [r15 - 0xd], al
mov al, byte [rsp + 0x68]
ror dword [rsp + 0x78], 8
mov byte [r15 - 9], al
ror dword [rsp + 0x68], 8
mov al, byte [rsp + 0x78]
mov byte [r15 - 0xe], al
ror dword [rsp + 0x78], 8
mov al, byte [rsp + 0x68]
mov byte [r15 - 0xa], al
ror dword [rsp + 0x68], 8
mov al, byte [rsp + 0x78]
mov byte [r15 - 0xf], al
mov al, byte [rsp + 0x68]
mov byte [r15 - 0xb], al
mov r11d, dword [rsp + 0x78]
mov ebx, dword [rsp + 0x68]
ror r11d, 8
ror ebx, 8
mov dword [rsp + 0x78], r11d
mov dword [rsp + 0x68], ebx
sub r14, 1
jne 0x14005dc3e
mov dl, byte [rsp + 0x3c]
xor r14d, r14d
mov r15d, dword [rsp + 0x30]
mov r13, qword [rbp - 0x40]
mov rsi, qword [rbp - 0x38]
mov r12, qword [rbp + 0x30]
mov rax, r14
test rsi, rsi
je 0x14005df61
xor dl, byte [rax + r12]
inc rax
cmp rax, rsi
jb 0x14005df55
mov rcx, qword [rbp - 0x20]
movzx eax, dl
cmp rax, qword [rsi + rcx]
je 0x14005dfa8
mov rbx, qword [rbp + 0x90]
mov edi, 0xc004d501
jmp 0x14005dfbf
mov ebx, r14d
mov dword [rsp + 0x68], ebx
cmp r8d, 4
jae 0x14005dbf0
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x78], r11d
jmp 0x14005dbf0
mov edi, dword [rbp - 0x78]
mov rbx, r12
mov qword [rbp + 0x90], rbx
mov r12, r14
mov qword [rbp + 0x198], rsi
test r12, r12
je 0x14005dfd3
mov rcx, r12
call fcn.14001f7a4
mov rbx, qword [rbp + 0x90]
test edi, edi
js 0x14005dffe
mov r9d, dword [rbp + 0x198]
mov esi, 0x10000000
mov qword [rbp + 0x38], rbx
mov rbx, r14
mov qword [rbp + 0x90], rbx
mov dword [rbp + 0x74], r9d
jmp 0x14005e007
mov rbx, qword [rbp + 0x90]
mov r9d, dword [rbp + 0x74]
mov esi, 0xd0000001
test rbx, rbx
je 0x14005e02b
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov r9d, dword [rbp + 0x74]
mov qword [rbp + 0x90], r14
test esi, esi
js 0x14005d314
mov r10, qword [rbp + 0x38]
mov r11d, 4
mov dword [rbp - 0x64], r14d
mov qword [rbp + 0x350], r10
cmp r9d, r11d
jb 0x14005e260
mov eax, dword [r10]
lea r8, [rbp + 0x350]
mov edx, r11d
mov dword [rsp + 0x38], eax
mov rcx, r10
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005e265
lea r8, [rbp - 0x64]
mov edx, r11d
xor ecx, ecx
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005e265
mov eax, r9d
sub eax, dword [rbp - 0x64]
cmp eax, r11d
jb 0x14005e260
mov rcx, qword [rbp + 0x350]
lea r8, [rbp + 0x350]
mov edx, r11d
mov r12d, dword [rcx]
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005e265
mov ecx, dword [rbp - 0x64]
lea r8, [rbp - 0x64]
mov edx, r11d
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005e265
mov ecx, dword [rbp - 0x64]
mov eax, r9d
sub eax, ecx
cmp eax, r12d
jb 0x14005e260
lea r8, [rbp - 0x64]
mov edx, r12d
call fcn.1400095f0
mov esi, eax
test eax, eax
js 0x14005e265
mov rbx, qword [rbp + 0x350]
mov edx, r9d
lea rcx, [r12 + rbx]
lea rax, [rdx + r10]
cmp rax, rcx
jb 0x14005e260
sub rdx, r12
sub rdx, rbx
add rdx, r10
cmp rdx, 8
jae 0x14005e260
mov dword [rsp + 0x60], r14d
mov rax, r14
mov qword [rbp - 0x20], rax
mov esi, r14d
test rbx, rbx
je 0x14005e1eb
lea r8, [rbp + 0x20]
mov edx, r12d
mov rcx, rbx
mov r9, rbx
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005e250
mov r11, qword [rbp + 0x20]
cmp rbx, r11
jae 0x14005e1e3
mov r10d, dword [rbp + 0x16c]
lea r8, [rbp + 0x20]
mov edx, 4
mov rcx, r9
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005e250
cmp qword [rbp + 0x20], r11
ja 0x14005e217
mov edx, dword [r9]
lea r8, [rbp]
mov ecx, 4
call fcn.1400095f0
test eax, eax
mov esi, eax
cmovns r10d, dword [rbp]
mov dword [rbp + 0x16c], r10d
js 0x14005e250
mov edx, r10d
lea r8, [rbp - 0x38]
mov rcx, r9
call fcn.14000960c
mov esi, eax
test eax, eax
js 0x14005e250
mov r9, qword [rbp - 0x38]
cmp r9, r11
ja 0x14005e217
inc dword [rsp + 0x60]
cmp r9, r11
jb 0x14005e170
cmp r9, r11
jne 0x14005e217
mov rax, r14
test r12d, r12d
je 0x14005e221
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x14005e21e
mov esi, 0xc0000017
jmp 0x14005e250
mov esi, 0xc000000d
jmp 0x14005e265
mov esi, r14d
test rbx, rbx
je 0x14005e238
mov r8, r12
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xd0], rax
mov eax, dword [rsp + 0x60]
mov dword [rbp + 0xc8], eax
mov dword [rbp + 0xcc], r12d
test esi, esi
js 0x14005e265
mov eax, dword [rsp + 0x38]
cmp eax, dword [rbp + 0xc8]
je 0x14005e265
mov esi, 0xc000003e
bts esi, 0x1c
jmp 0x14005d314
mov rcx, qword [rbp + 0x350]
lea r8, [rbp + 0x350]
mov rdx, r11
mov r9d, dword [rcx]
call fcn.14000960c
test eax, eax
js 0x14005c46d
mov rax, qword [rbp + 0x350]
test r9d, r9d
mov dword [rbp + 0x290], r9d
cmove rax, r14
mov qword [rbp + 0x340], rax
cmp r9d, 8
jne 0x14005c46d
mov rax, qword [rax]
mov qword [rbp + 0x348], rax
jmp 0x14005c46d
mov r13, qword [rsp + 0x40]
jmp 0x14005e2ce
mov rsi, r14
and qword [rbp - 0x58], 0
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x14005e2f4
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp - 0x50], r14
and qword [rbp + 0xc8], 0
mov rbx, qword [rbp + 0xd0]
test rbx, rbx
je 0x14005e323
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp + 0xd0], r14
test r13, r13
je 0x14005e33c
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test rsi, rsi
je 0x14005e355
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [rbp + 0xe0]
mov ebx, dword [rbp + 0xac]
mov edi, dword [rbp + 0xdc]
mov esi, dword [rbp + 0xd8]
mov r12, qword [rbp + 0x1a8]
mov r13, qword [rbp + 0x1b0]
mov dword [rbp + 0x1f4], eax
mov rax, qword [rbp + 0x1a0]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x88], r14
jmp 0x14005e3b5
mov edi, dword [rbp + 0xdc]
mov esi, dword [rbp + 0xd8]
mov r12, qword [rbp + 0x1a8]
mov r13, qword [rbp + 0x1b0]
mov ebx, dword [rbp + 0x78]
lea rcx, [rbp + 0x88]
call fcn.14000cf10
test r15d, r15d
jns 0x14005e419
cmp r15d, 0xd0000034
jne 0x14005e3da
mov r15d, 0xc004f012
mov ebx, r15d
jmp 0x14005e433
cmp r15d, 0xd00000e5
je 0x14005e3fd
cmp r15d, 0xc004d501
je 0x14005e3fd
cmp r15d, 0xd000003e
jne 0x14005e403
mov r15d, 0xc004f028
jmp 0x14005e3d5
mov r15d, 0xc004f027
test r15d, r15d
jns 0x14005e419
mov eax, 0x8007007a
cmp r15d, eax
jne 0x14005e3d5
mov ebx, 0xc004f01e
jmp 0x14005e433
cmp ebx, 4
jne 0x14005e412
mov rax, qword [rbp + 0x160]
mov ebx, dword [rbp + 0x17c]
mov ecx, dword [rax]
mov dword [rbp + 0xc0], ecx
lea rcx, [rbp + 0x160]
call fcn.14000cf10
test ebx, ebx
js 0x14005e4cd
cmp dword [rbp + 0xc0], 1
jne 0x14005e4cd
mov rcx, qword [0x1400ad2f8]
lea r15, [0x1400ad2f8]
cmp rcx, r15
je 0x14005e47e
test byte [rcx + 0x1c], 0x80
je 0x14005e47e
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400a1ca0]
mov edx, 0x11
call fcn.14002ef94
mov rax, qword [rbp + 0x2d8]
mov r9d, esi
mov r8, r13
mov qword [rsp + 0x20], rax
mov edx, edi
mov rcx, r12
call fcn.140058c18
mov r14d, eax
mov rax, qword [0x1400ad2f8]
cmp rax, r15
je 0x14005e54c
test byte [rax + 0x1c], 0x80
je 0x14005e514
mov rcx, qword [rax + 0x10]
lea r8, [0x1400a1ca0]
mov edx, 0x12
mov r9d, r14d
call fcn.14002efb8
jmp 0x14005e50d
mov edi, 0xd
mov ecx, edi
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov rax, qword [0x1400ad2f8]
lea r15, [0x1400ad2f8]
cmp rax, r15
je 0x14005e54c
test byte [rax + 0x1c], 0x20
je 0x14005e514
mov rcx, qword [rax + 0x10]
lea edx, [rdi + 6]
mov r9d, ebx
mov dword [rsp + 0x20], edi
lea r8, [0x1400a1ca0]
call fcn.140035758
mov rax, qword [0x1400ad2f8]
cmp rax, r15
je 0x14005e54c
test byte [rax + 0x1c], 0x80
je 0x14005e54c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov rcx, qword [0x1400ad2f8]
lea r8, [0x1400a1ca0]
mov dword [rsp + 0x28], eax
mov edx, 0x14
mov r9d, r14d
mov dword [rsp + 0x20], ebx
mov rcx, qword [rcx + 0x10]
call fcn.14005220c
mov eax, r14d
mov rcx, qword [rbp + 0x358]
xor rcx, rsp
call fcn.14001aad0
add rsp, 0x468
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret