Function at 0x1400065f0
Capabilities:
Encode data using xor
Encrypt data using chaskey
Execute anti-debugging instructions
Hash data using murmur3

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x348]
sub rsp, 0x448
mov rax, qword [rbp + 0x3b0]
xor edi, edi
mov qword [rbp + 0x268], rax
mov r15d, r9d
mov rax, qword [rbp + 0x3c0]
mov r14d, r8d
mov qword [rbp + 0x258], rax
mov r12, rcx
mov dword [rbp + 0x90], r9d
mov dword [rbp + 0x98], r8d
mov qword [rbp + 0x278], rdx
mov qword [rbp + 0x188], rcx
mov dword [rbp + 0x14], edi
mov rcx, qword [0x1400a92b0]
lea rax, [0x1400a92b0]
cmp rcx, rax
je 0x14000666f
test byte [rcx + 0x1c], 0x80
jne 0x14002f4a4
mov qword [rbp + 0x120], rdi
mov dword [rbp + 0x160], edi
mov dword [rbp + 0xe8], edi
mov qword [rbp + 0x18], rdi
mov dword [rbp + 0x30], edi
mov edx, 4
mov dword [rbp + 0xe0], edi
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.14000a714
mov rax, qword [rbp + 0x18]
mov r13d, 0x8007007a
mov qword [rbp + 0x178], rax
test rax, rax
je 0x14002f4ca
xor eax, eax
mov dword [rsp + 0x68], edi
lea r13, [0x1400a93b0]
mov qword [rsp + 0x6c], rax
mov ebx, 0xa0
mov dword [rsp + 0x74], eax
mov qword [rbp + 4], rax
mov r15, rdi
mov dword [rbp + 0xc], eax
mov r14, rdi
mov qword [rbp + 0x2d0], r13
mov qword [rbp + 0x170], rbx
mov dword [rbp + 0x9c], edi
mov dword [rbp], edi
mov dword [rbp + 0x10], edi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
or dword [rbp + 0x20], 0xffffffff
mov esi, 0xc0000017
mov r12, rax
mov ebx, 0x10000000
test rax, rax
je 0x1400089ec
mov r8, qword [rbp + 0x170]
mov rcx, rax
mov rdx, qword [rbp + 0x2d0]
call sub.msvcrt.dll_memcpy
mov r14d, dword [rbp + 0x170]
mov r15, r12
mov qword [rsp + 0x58], r12
lea rax, [0x1400a94f8]
mov qword [rbp + 0x1a8], 8
mov qword [rbp + 0x2d8], rax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
je 0x14002f4d4
mov r8, qword [rbp + 0x1a8]
mov rcx, rax
mov rdx, qword [rbp + 0x2d8]
call sub.msvcrt.dll_memcpy
mov r15, qword [rbp + 0x1a8]
mov qword [rsp + 0x50], r13
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1c8], rax
mov edx, 4
mov dword [rsp + 0x48], edi
mov ecx, edx
lea r8, [rsp + 0x40]
call fcn.14000ad5c
mov r11d, dword [rbp - 0x20]
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x40]
mov dword [rbp - 0x20], r11d
js 0x14002f4e8
lea r8, [rsp + 0x48]
mov edx, r11d
xor ecx, ecx
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x14002f4e8
lea r8, [rsp + 0x40]
mov edx, r14d
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x40]
mov dword [rbp - 0x20], r11d
js 0x14002f4e8
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x14002f4e8
lea r8, [rsp + 0x40]
mov edx, r15d
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x40]
mov dword [rbp - 0x20], r11d
js 0x14002f4e8
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x14002f4e8
mov edx, 8
lea r8, [rsp + 0x40]
lea ecx, [rdx - 4]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x40]
mov dword [rbp - 0x20], r11d
js 0x14002f4e8
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x14002f4e8
lea r8, [rbp - 0x18]
lea rcx, str.Printing_Spooler_Core_Spoolss_Licensing_Enabled
call fcn.14000ad04
test eax, eax
js 0x14002f4dc
mov rax, qword [rbp - 0x18]
lea r8, [rsp + 0x40]
inc rax
mov ecx, 4
lea edx, [rax + rax]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x40]
mov dword [rbp - 0x20], r11d
js 0x14002f4e8
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x14002f4e8
mov edx, 4
lea r8, [rsp + 0x40]
mov ecx, edx
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x40]
mov dword [rbp - 0x20], r11d
js 0x14002f4e8
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x14002f4e8
mov edx, 4
lea r8, [rsp + 0x40]
mov ecx, edx
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x40]
mov dword [rbp - 0x20], r11d
js 0x14002f4e8
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x14002f4e8
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x6c], eax
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov ebx, 8
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r9, rax
test rax, rax
je 0x14002f4f0
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x68], edi
lea rax, [rbp + 0xa0]
mov dword [rbp + 0xa0], edi
test rax, rax
je 0x14002f4fe
lea r8, [rbp - 0x38]
mov rcx, r9
lea edx, [rbx - 4]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006a3c
mov ecx, dword [rsp + 0x6c]
lea rax, [r9 + 8]
add rcx, r9
cmp rax, rcx
ja 0x14002f4f7
mov rcx, qword [rbp - 0x38]
mov dword [r9], edx
mov eax, dword [rbp + 0xa0]
mov dword [rcx], eax
inc dword [rsp + 0x68]
test esi, esi
js 0x14002f4e8
test r14d, r14d
je 0x14002f550
cmp qword [rsp + 0x70], rdi
je 0x14002f508
mov r11d, edi
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0x60], r9
cmp dword [rsp + 0x68], edi
jbe 0x140006ab6
mov r10d, dword [rbp + 0x44]
mov edx, dword [r9]
lea r8, [rsp + 0x40]
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r10d, dword [rsp + 0x40]
mov dword [rbp + 0x44], r10d
js 0x140006afc
mov edx, r10d
lea r8, [rsp + 0x60]
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006afc
mov r9, qword [rsp + 0x60]
inc r11d
cmp r11d, dword [rsp + 0x68]
jb 0x140006a6f
lea r8, [rbp - 0x38]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006afc
mov ecx, dword [rsp + 0x6c]
lea rax, [r14 + 4]
add rcx, qword [rsp + 0x70]
add rax, r9
mov r8, r14
cmp rax, rcx
ja 0x14002f4f7
mov rcx, qword [rbp - 0x38]
mov rdx, r12
mov dword [r9], r14d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x68]
test esi, esi
js 0x14002f4e8
test r15d, r15d
je 0x14002f5b6
cmp qword [rsp + 0x70], rdi
je 0x14002f55a
mov ecx, edi
mov r9, qword [rsp + 0x70]
cmp dword [rsp + 0x68], edi
jbe 0x140006b53
mov eax, dword [r9]
add eax, 4
cmp eax, 4
jb 0x14002f5ac
mov dword [rbp + 0xb0], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x14002f4e3
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x68]
jb 0x140006b25
lea r8, [rbp - 0x38]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006b99
mov ecx, dword [rsp + 0x6c]
add rcx, qword [rsp + 0x70]
mov r8d, r15d
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x14002f4f7
mov rcx, qword [rbp - 0x38]
mov rdx, r13
mov dword [r9], r15d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x68]
mov r13d, 4
test esi, esi
js 0x14002f610
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x1b8], rax
lea rax, [rbp + 0x1b8]
test rax, rax
je 0x14002f62e
cmp qword [rsp + 0x70], rdi
je 0x14002f5c0
mov ecx, edi
mov r9, qword [rsp + 0x70]
cmp dword [rsp + 0x68], edi
jbe 0x140006c0b
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x14002f61d
mov dword [rbp + 0xb4], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x14002f60b
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x68]
jb 0x140006bdd
lea r8, [rbp - 0x38]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006c4d
mov ecx, dword [rsp + 0x6c]
lea rax, [r9 + 0xc]
add rcx, qword [rsp + 0x70]
cmp rax, rcx
ja 0x14002f627
mov rax, qword [rbp - 0x38]
mov dword [r9], ebx
movsd xmm0, qword [rbp + 0x1b8]
movsd qword [rax], xmm0
inc dword [rsp + 0x68]
test esi, esi
js 0x14002f610
lea r11, str.Printing_Spooler_Core_Spoolss_Licensing_Enabled
mov rcx, r11
lea r8, [rsp + 0x40]
call fcn.14000ad04
test eax, eax
js 0x14002f638
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, 1
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006d33
mov eax, dword [rsp + 0x40]
lea r10d, [rax + rax]
test r11, r11
je 0x14002f63f
test r10d, r10d
je 0x14002f648
cmp qword [rsp + 0x70], rdi
je 0x14002f652
mov ecx, edi
mov r9, qword [rsp + 0x70]
cmp dword [rsp + 0x68], edi
jbe 0x140006cef
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x14002f6a0
mov dword [rbp + 0xe4], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x14002f6a0
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x68]
jb 0x140006cc1
lea r8, [rbp - 0x38]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006d33
mov ecx, dword [rsp + 0x6c]
lea rax, [r10 + 4]
add rcx, qword [rsp + 0x70]
add rax, r9
mov r8d, r10d
cmp rax, rcx
ja 0x14002f6aa
mov rcx, qword [rbp - 0x38]
mov rdx, r11
mov dword [r9], r10d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x68]
test esi, esi
js 0x14002f610
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0xc0], eax
lea rax, [rbp + 0xc0]
test rax, rax
je 0x14002f70a
cmp qword [rsp + 0x70], rdi
je 0x14002f6b4
mov ecx, edi
mov r9, qword [rsp + 0x70]
cmp dword [rsp + 0x68], edi
jbe 0x140006d9a
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x14002f700
mov dword [rbp + 0x94], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x14002f60b
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x68]
jb 0x140006d6c
lea r8, [rbp - 0x38]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006dd8
mov ecx, dword [rsp + 0x6c]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x70]
cmp rax, rcx
ja 0x14002f627
mov rcx, qword [rbp - 0x38]
mov dword [r9], r13d
mov eax, dword [rbp + 0xc0]
mov dword [rcx], eax
inc dword [rsp + 0x68]
test esi, esi
js 0x14002f610
lea rax, [rbp + 0xd8]
mov dword [rbp + 0xd8], r13d
test rax, rax
je 0x14002f76a
cmp qword [rsp + 0x70], rdi
je 0x14002f714
mov ecx, edi
mov r9, qword [rsp + 0x70]
cmp dword [rsp + 0x68], edi
jbe 0x140006e3d
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x14002f760
mov dword [rbp + 0x88], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x14002f60b
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x68]
jb 0x140006e0f
lea r8, [rbp - 0x38]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140006e7b
mov ecx, dword [rsp + 0x6c]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x70]
cmp rax, rcx
ja 0x14002f627
mov rcx, qword [rbp - 0x38]
mov dword [r9], r13d
mov eax, dword [rbp + 0xd8]
mov dword [rcx], eax
inc dword [rsp + 0x68]
test esi, esi
js 0x14002f610
lea r8, [rsp + 0x40]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov r10d, dword [rbp - 0x1c]
test eax, eax
mov esi, eax
cmovns r10d, dword [rsp + 0x40]
mov dword [rbp - 0x1c], r10d
js 0x14002f774
lea r8, [rsp + 0x40]
mov dword [rsp + 0x48], r10d
mov edx, ebx
call fcn.14000ad5c
test eax, eax
mov r9d, r10d
mov esi, eax
cmovns r9d, dword [rsp + 0x40]
mov dword [rbp - 0x1c], r9d
js 0x14002f774
lea r8, [rsp + 0x48]
mov edx, r9d
mov ecx, r10d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f774
lea r8, [rsp + 0x40]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r9d, dword [rsp + 0x40]
mov dword [rbp - 0x1c], r9d
js 0x14002f774
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f774
lea r8, [rsp + 0x40]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r9d, dword [rsp + 0x40]
mov dword [rbp - 0x1c], r9d
js 0x14002f774
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f774
lea r8, [rsp + 0x40]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r9d, dword [rsp + 0x40]
mov dword [rbp - 0x1c], r9d
js 0x14002f774
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f774
lea r8, [rsp + 0x40]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r9d, dword [rsp + 0x40]
mov dword [rbp - 0x1c], r9d
js 0x14002f774
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 0x14]
test esi, esi
cmovns eax, dword [rsp + 0x48]
mov dword [rsp + 0x60], eax
test esi, esi
js 0x14002f610
mov r13, rdi
mov qword [rbp + 0x28], rdi
mov r15d, edi
mov qword [rbp + 0xf8], rdi
mov qword [rbp + 0x50], rdi
mov r12d, edi
mov qword [rbp - 0x48], rdi
mov dword [rbp - 0x28], edi
mov qword [rbp + 0x38], rdi
mov qword [rbp - 0x30], rdi
mov dword [rbp - 8], edi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x168], rax
mov dword [rbp - 0xc], ebx
mov edx, dword [rsp + 0x6c]
lea r8, [rbp - 0xc]
mov ecx, ebx
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140007100
mov eax, dword [rbp - 0xc]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0xc]
jb 0x14002f77c
mov dword [rbp - 0xc], eax
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x14002f786
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
mov eax, dword [rsp + 0x68]
mov edx, 4
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400070f7
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov eax, dword [rsp + 0x6c]
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400070f7
mov ecx, dword [rbp - 0xc]
mov rax, qword [rbp + 0x168]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rsp + 0x6c]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_memcpy
mov r15d, dword [rbp - 0xc]
mov r13, rbx
mov qword [rbp + 0x28], rbx
mov rbx, rdi
test rbx, rbx
jne 0x14002f790
or esi, 0x10000000
jl 0x14000849e
mov qword [rbp + 0x1f0], rdi
mov r14, rdi
mov qword [rbp + 0x280], rdi
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x290], rdi
mov qword [rbp + 0x130], rdi
mov qword [rbp + 0x288], rdi
test r13, r13
je 0x14002f7aa
mov esi, r15d
mov qword [rbp - 0x18], rsi
test r15d, r15d
je 0x14002f90e
lea rax, [rsi + 8]
mov rcx, rax
mov qword [rbp - 0x40], rax
call fcn.14000ab60
mov qword [rsp + 0x40], rax
mov r12, rax
test rax, rax
je 0x14002f90e
mov dl, dil
mov rcx, rdi
test r15d, r15d
je 0x14000718a
xor dl, byte [rcx + r13]
inc rcx
cmp rcx, rsi
jb 0x14000717e
or r11d, 0xffffffff
mov dword [rsp + 0x48], edi
mov r8, rsi
mov dword [rbp - 0x78], r11d
mov ebx, edi
mov r9, r13
mov dword [rbp - 0x68], ebx
mov r10, rax
mov r13d, edi
and r8d, 7
jne 0x14002f7b4
mov r15, rsi
shr r15, 3
test r15, r15
je 0x1400074e2
mov r14d, dword [rsp + 0x48]
lea r12, [r10 + 7]
lea rsi, [r9 + 2]
movzx eax, byte [rsi - 1]
movzx r10d, byte [rsi - 2]
movzx r9d, byte [rsi + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 5]
or r9d, eax
movzx eax, byte [rsi - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
lea eax, [r11 + 0x36fdf9bd]
rol eax, 8
imul ecx, eax, 0x3bd6
mov eax, r11d
ror eax, 9
add ecx, eax
mov eax, 0x36fdf9bd
xor ecx, r10d
xor ebx, ecx
sub eax, ebx
rol eax, 7
imul ecx, eax, 0xdb6b
mov eax, ebx
ror eax, 0xb
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov r8d, r11d
xor eax, 0xdb6b
ror r8d, 0xa
imul ecx, eax, 0xf9bd
add r8d, ecx
xor ebx, r8d
mov r8d, 0xdb6b3bd6
lea eax, [rbx + 0x2494c42a]
ror eax, 1
imul ecx, eax, 0x36fd
mov eax, ebx
rol eax, 0xe
xor ecx, eax
mov eax, 0x36fdf9bd
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
sub eax, ecx
xor ebx, eax
mov eax, ebx
not eax
ror eax, 0xe
add eax, 0xdb6b
imul eax, eax, 0x3bd6
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xf
imul ecx, eax, 0xf9bd
mov eax, r11d
rol eax, 6
xor ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x24948d2d]
xor r11d, eax
mov eax, r11d
xor eax, 0xf9bd
imul ecx, eax, 0x3bd6
mov eax, r11d
shr eax, 6
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x3bd6
rol eax, 3
imul ecx, eax, 0xdb6b
mov eax, ebx
rol eax, 0xc
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x2494c42a]
rol eax, 0xd
imul ecx, eax, 0xf9bd
mov eax, r11d
ror eax, 0xf
xor ecx, eax
mov eax, r8d
xor ebx, ecx
sub eax, ebx
rol eax, 3
imul ecx, eax, 0x36fd
mov eax, ebx
rol eax, 9
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xf9bd]
rol eax, 3
imul ecx, eax, 0x3bd6
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0xf9bd]
imul ecx, eax, 0xdb6b
mov eax, ebx
shr eax, 0xd
sub ecx, eax
mov eax, r8d
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xf9bd
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x24948d2d]
xor r11d, eax
mov eax, r11d
mov r8d, r11d
xor eax, 0xdb6b
ror r8d, 7
imul ecx, eax, 0x3bd6
sub ecx, r8d
xor ebx, ecx
mov eax, ebx
xor eax, 0x36fd
rol eax, 4
imul ecx, eax, 0xdb6b
mov eax, ebx
ror eax, 0x10
sub ecx, eax
mov eax, 0xdb6b3bd6
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0xf9bd
mov eax, r11d
ror eax, 4
add ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x2494c42a]
ror eax, 4
imul ecx, eax, 0x36fd
mov eax, ebx
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x36fdf9bd
rol eax, 8
imul ecx, eax, 0x3bd6
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, 0x36fdf9bd
xor ebx, ecx
sub eax, ebx
ror eax, 0xb
imul ecx, eax, 0xdb6b
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xdb6b
imul ecx, eax, 0xf9bd
mov eax, r11d
shr eax, 8
xor ecx, eax
xor ebx, ecx
xor r11d, ebx
xor ebx, r14d
mov dword [rbp - 0x68], ebx
xor r11d, 0xed96c26b
xor r11d, r13d
mov r14d, r10d
mov dword [rbp - 0x78], r11d
mov r13d, r9d
mov byte [r12 - 4], bl
mov al, byte [rbp - 0x78]
ror dword [rbp - 0x68], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp - 0x78], 8
mov al, byte [rbp - 0x68]
mov byte [r12 - 0xd], al
mov al, byte [rbp - 0x78]
ror dword [rbp - 0x68], 8
mov byte [r12 - 9], al
ror dword [rbp - 0x78], 8
mov al, byte [rbp - 0x68]
mov byte [r12 - 0xe], al
ror dword [rbp - 0x68], 8
mov al, byte [rbp - 0x78]
mov byte [r12 - 0xa], al
ror dword [rbp - 0x78], 8
mov al, byte [rbp - 0x68]
mov byte [r12 - 0xf], al
mov al, byte [rbp - 0x78]
mov byte [r12 - 0xb], al
mov ebx, dword [rbp - 0x68]
mov r11d, dword [rbp - 0x78]
ror ebx, 8
ror r11d, 8
mov dword [rbp - 0x68], ebx
mov dword [rbp - 0x78], r11d
sub r15, 1
jne 0x1400071ce
mov rsi, qword [rbp - 0x18]
mov r14, rdi
mov r12, qword [rsp + 0x40]
movzx eax, dl
mov qword [r12 + rsi], rax
mov rsi, qword [rbp - 0x40]
mov qword [rbp + 0x288], rsi
mov qword [rbp + 0x130], r12
lea rax, [0x1400a94f0]
mov r13d, 8
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x280], r13
lea r15, [0x1400a9450]
mov qword [rbp + 0x290], 0xa0
mov qword [rbp + 0x200], r15
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
lea r8d, [r13 + 0x28]
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x14002f87d
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14002f887
mov qword [rbx + 8], rax
mov r8d, esi
mov rdx, r12
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_2_0.dll_GetProcessHeap]
mov r8d, esi
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14002f887
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [r15]
lea edx, [rsi - 0x20]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r15 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r15 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r15 + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [r15 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r15 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r15 + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rbx + 0x20], r13d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, r13d
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14002f887
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1400a94f0]
mov r14, rbx
movsd qword [rax], xmm0
mov esi, edi
mov rbx, rdi
test rbx, rbx
jne 0x14002f891
test esi, esi
js 0x14000765e
mov qword [rbp + 0xf8], r14
mov r14, rdi
mov rbx, qword [rbp + 0x130]
test rbx, rbx
je 0x140007685
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x130], rdi
test r14, r14
jne 0x14002f918
mov r12d, edi
or esi, 0x10000000
jl 0x14000849e
mov r14, qword [rbp + 0xf8]
lea r8, [rsp + 0x48]
mov r15d, 4
mov ecx, r15d
mov dword [rsp + 0x48], r15d
mov edx, dword [r14]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f995
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f995
mov edx, dword [r14 + 0x10]
lea r8, [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f995
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f995
mov edx, dword [r14 + 0x20]
lea r8, [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 0x58]
test esi, esi
cmovns eax, dword [rsp + 0x48]
mov dword [rbp + 0x58], eax
test esi, esi
js 0x140007860
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x14002f99d
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
mov eax, dword [r14]
mov rdx, r15
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007857
mov r8d, dword [r14]
mov rdx, qword [r14 + 8]
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14]
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007857
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov eax, dword [r14 + 0x10]
mov rdx, r15
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007857
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0x10]
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007857
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov eax, dword [r14 + 0x20]
mov rdx, r15
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007857
mov r8d, dword [r14 + 0x20]
mov rdx, qword [r14 + 0x28]
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0x20]
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007857
mov r12d, dword [rbp + 0x58]
mov qword [rbp + 0x50], rbx
mov rbx, rdi
test rbx, rbx
jne 0x14002f9a7
or esi, 0x10000000
jl 0x14000849e
mov ebx, edi
mov qword [rbp + 0x210], rdi
mov dword [rbp + 0x158], ebx
mov r11d, edi
mov dword [rbp + 0x100], edi
mov qword [rbp + 0x2a0], rdi
mov dword [rbp + 0x60], 8
mov edx, dword [rsp + 0x60]
lea r8, [rbp + 0x60]
mov ecx, 8
call fcn.14000ad5c
mov esi, eax
or esi, 0x10000000
jl 0x140007ab8
mov eax, dword [rbp + 0x60]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x60]
jb 0x14002f9c1
mov dword [rbp + 0xcc], eax
mov edx, ecx
lea r8, [rbp + 0xcc]
mov ecx, eax
call fcn.14000ad5c
mov r9d, dword [rbp + 0xb8]
test eax, eax
mov esi, eax
cmovns r9d, dword [rbp + 0xcc]
mov dword [rbp + 0xb8], r9d
test esi, esi
js 0x14000849e
cmp qword [rsp + 0x70], rdi
je 0x14002f9d2
cmp dword [rsp + 0x68], 1
jbe 0x14002f9d2
mov rcx, qword [rsp + 0x70]
mov r10d, edi
mov qword [rsp + 0x40], rcx
mov r14d, dword [rcx]
lea r8, [rsp + 0x40]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000798f
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, r14d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000798f
mov rcx, qword [rsp + 0x40]
inc r10d
cmp r10d, 1
jb 0x140007920
mov r10d, dword [rcx]
lea r8, [rsp + 0x40]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000798f
mov rax, qword [rsp + 0x40]
test r10d, r10d
mov r11d, r10d
mov dword [rbp + 0x100], r10d
cmove rax, rdi
mov qword [rbp + 0x210], rax
test esi, esi
js 0x14000849e
cmp dword [rsp + 0x68], 2
jbe 0x14002f9d2
mov rcx, qword [rsp + 0x70]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x14002f9f1
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x14002f9f1
inc r8d
mov qword [rsp + 0x40], rcx
cmp r8d, 2
jb 0x1400079aa
mov r10d, dword [rcx]
lea r8, [rsp + 0x40]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007a05
mov rax, qword [rsp + 0x40]
test r10d, r10d
mov ebx, r10d
cmove rax, rdi
mov dword [rbp + 0x158], ebx
mov qword [rbp + 0x2a0], rax
test esi, esi
js 0x14000849e
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], r15d
mov edx, r9d
mov ecx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f9dc
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f9dc
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f9dc
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002f9dc
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, ebx
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 0x8c]
test esi, esi
cmovns eax, dword [rsp + 0x48]
mov dword [rbp + 0x8c], eax
test esi, esi
js 0x14000849e
cmp eax, 0x400000
ja 0x14002f9e7
mov dword [rbp - 0x28], eax
test esi, esi
js 0x14000849e
mov ebx, dword [rbp - 0x28]
mov esi, edi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14002f9fb
mov r15, rax
mov qword [rbp - 0x48], rax
or esi, 0x10000000
jl 0x14000849e
mov rsi, qword [rbp + 0x50]
test rsi, rsi
je 0x14002fa08
test r15, r15
je 0x14002fa08
lea r8, [rbp + 0x220]
mov ecx, 1
lea rdx, [0x1400735c8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14002fa12
mov rcx, qword [rbp + 0x220]
lea rdx, [0x1400735e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14002fa12
mov eax, dword [rbp - 0x28]
mov rcx, rbx
mov dword [rbp + 0x31c], eax
mov qword [rbp + 0x308], rsi
mov dword [rbp + 0x318], r12d
mov qword [rbp + 0x310], r15
mov dword [rbp + 0x320], edi
call qword [0x1400719c8]
xor r9d, r9d
lea rdx, [rbp + 0x308]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov r9d, dword [rbp - 0x28]
mov esi, eax
or esi, 0x10000000
cmovns r9d, dword [rbp + 0x31c]
mov dword [rbp - 0x28], r9d
cmp esi, 0xd0000023
je 0x14002fa39
test esi, esi
js 0x14000849e
mov dword [rsp + 0x48], edi
mov r14, rdi
mov qword [rsp + 0x40], r15
cmp r9d, 4
jb 0x14002fa47
mov r13d, dword [r15]
lea r8, [rsp + 0x40]
mov edx, 4
mov rcx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007e91
lea r8, [rsp + 0x48]
xor ecx, ecx
mov r15d, edx
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140007e91
mov eax, r9d
sub eax, dword [rsp + 0x48]
cmp eax, r13d
jb 0x14002fa47
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov rcx, rax
mov qword [rsp + 0x60], rax
mov edx, r13d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007e91
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140007e91
mov eax, r9d
sub eax, dword [rsp + 0x48]
cmp eax, r15d
jb 0x14002fa47
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, r15d
mov r12d, dword [rcx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007e91
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140007e91
mov eax, r9d
sub eax, dword [rsp + 0x48]
cmp eax, r12d
jb 0x14002fa47
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov rcx, rax
mov qword [rbp - 0x18], rax
mov edx, r12d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007e91
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140007e91
mov eax, r9d
sub eax, dword [rsp + 0x48]
cmp eax, r15d
jb 0x14002fa47
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, 4
mov r15d, dword [rcx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140007e91
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140007e91
mov ecx, dword [rsp + 0x48]
mov eax, r9d
sub eax, ecx
cmp eax, r15d
jb 0x14002fa47
lea r8, [rsp + 0x48]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140007e91
cmp r9d, dword [rsp + 0x48]
jne 0x14002fa47
lea ecx, [r15 + r12]
mov eax, r9d
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x14002fa47
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x14002fa51
mov esi, edi
cmp qword [rsp + 0x60], rdi
je 0x14002fa65
mov dword [rax], r13d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8d, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14002fa5b
mov qword [rbx + 8], rax
mov rdx, qword [rsp + 0x60]
mov r8d, r13d
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r13, qword [rbp - 0x18]
test r13, r13
je 0x14002fa70
mov dword [rbx + 0x10], r12d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14002fa5b
mov qword [rbx + 0x18], rax
mov r8, r12
mov rdx, r13
mov rcx, rax
mov esi, edi
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x40], rdi
je 0x14002fa7c
mov dword [rbx + 0x20], r15d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14002fa5b
mov qword [rbx + 0x28], rax
mov rdx, qword [rsp + 0x40]
mov r8, r15
mov rcx, rax
mov esi, edi
call sub.msvcrt.dll_memcpy
mov r14, rbx
mov rbx, rdi
test rbx, rbx
jne 0x14002fa88
test esi, esi
js 0x140007e88
mov qword [rbp + 0x38], r14
mov r14, rdi
test r14, r14
jne 0x14002fb05
or esi, 0x10000000
jl 0x14000849e
mov rax, qword [rbp + 0x38]
mov rbx, rdi
mov qword [rbp + 0x70], rbx
mov esi, edi
mov qword [rbp + 0x198], rdi
test rax, rax
je 0x14002fb82
mov r14, qword [rax + 8]
mov qword [rsp + 0x60], r14
test r14, r14
je 0x14002fb82
cmp dword [rax], edi
je 0x14002fb82
mov r15d, dword [rax]
test r15, r15
je 0x14002fc82
add r15, 0xfffffffffffffff8
mov rcx, r15
mov qword [rbp - 0x40], r15
call fcn.14000ab60
mov qword [rbp - 0x18], rax
mov r12, rax
test rax, rax
je 0x14002fc7e
mov r8, r15
mov dword [rbp - 0x70], edi
mov r9, r14
mov dl, dil
mov r10, rax
mov r14d, edi
and r8d, 7
jne 0x14002fb8c
or dword [rsp + 0x48], 0xffffffff
mov dword [rbp - 0x50], edi
mov dword [rsp + 0x7c], ebx
mov r13, r15
shr r13, 3
test r13, r13
je 0x14000824e
mov edx, dword [rsp + 0x48]
lea r15, [r10 + 7]
mov r12d, dword [rbp - 0x50]
lea rdi, [r9 + 2]
movzx eax, byte [rdi - 1]
mov r9d, 0x532d7f78
movzx r11d, byte [rdi - 2]
movzx r10d, byte [rdi + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rdi]
lea rdi, [rdi + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdi - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdi - 5]
or r10d, eax
xor r14d, r11d
movzx eax, byte [rdi - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdi - 3]
shl r10d, 8
or r10d, eax
xor ebx, r10d
xor ebx, r14d
xor ebx, 0x5384b529
lea eax, [rbx - 0x532d7f78]
rol eax, 5
imul ecx, eax, 0xca51
mov eax, ebx
rol eax, 0xa
add ecx, eax
xor r14d, ecx
lea eax, [r14 + 0xa9ca51]
ror eax, 9
imul ecx, eax, 0x532d
mov eax, r14d
rol eax, 2
sub ecx, eax
xor ebx, ecx
lea eax, [rbx - 0xca51]
imul ecx, eax, 0x7f78
mov eax, ebx
shr eax, 0xd
sub ecx, eax
xor r14d, ecx
mov eax, r14d
xor eax, 0x532d
rol eax, 6
imul ecx, eax, 0xa9
mov eax, r14d
rol eax, 2
sub ecx, eax
mov eax, 0xa9ca51
xor ebx, ecx
mov ecx, ebx
xor ecx, r9d
sub eax, ecx
xor r14d, eax
mov eax, r14d
mov r8d, r14d
xor eax, 0xca51
ror r8d, 6
imul ecx, eax, 0x532d
xor r8d, ecx
xor ebx, r8d
lea eax, [rbx + 0xa9ca51]
ror eax, 0xf
imul ecx, eax, 0x7f78
mov eax, ebx
rol eax, 2
add ecx, eax
xor r14d, ecx
lea eax, [r14 - 0x532d7f78]
ror eax, 0xe
imul ecx, eax, 0xa9
mov eax, r14d
rol eax, 8
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, r9d
mov r8d, 0x532d
ror eax, 0xc
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 0xa
xor ecx, eax
xor r14d, ecx
mov eax, r14d
xor eax, 0xa9
imul ecx, eax, 0x532d
mov eax, r14d
shr eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
mov r9d, ebx
not eax
ror eax, 5
add eax, 0x7f78
imul eax, eax, 0xa9
xor r14d, eax
xor r9d, r14d
xor r9d, 0x5384b529
mov eax, r9d
ror eax, 5
sub eax, r8d
imul eax, eax, 0xa9
xor ebx, eax
lea eax, [rbx - 0x532d]
rol eax, 3
imul ecx, eax, 0x7f78
mov eax, ebx
shr eax, 7
xor ecx, eax
xor r9d, ecx
lea eax, [r9 - 0x532d7f78]
rol eax, 0xe
imul ecx, eax, 0xa9
mov eax, r9d
ror eax, 0xc
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x532d7f78
rol eax, 9
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 2
add ecx, eax
xor r9d, ecx
lea eax, [r9 + 0xa9ca51]
rol eax, 8
imul ecx, eax, 0x532d
mov eax, r9d
ror eax, 6
sub ecx, eax
mov eax, 0xa9ca51
xor ebx, ecx
sub eax, ebx
ror eax, 0xe
imul ecx, eax, 0x7f78
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, r8d
rol eax, 5
imul ecx, eax, 0xa9
mov eax, r9d
rol eax, 0xf
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x532d7f78]
rol eax, 0xa
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 4
xor ecx, eax
xor r9d, ecx
mov eax, r9d
not eax
ror eax, 2
add eax, r8d
imul eax, eax, 0xca51
xor ebx, eax
mov eax, ebx
mov r8d, ebx
xor eax, 0xca51
ror r8d, 6
imul ecx, eax, 0x7f78
xor ebx, edx
mov dword [rsp + 0x7c], ebx
mov edx, r10d
add r8d, ecx
xor r8d, r12d
mov r12d, r11d
xor r9d, r8d
mov dword [rbp - 0x70], r9d
mov byte [r15 - 4], r9b
mov al, byte [rsp + 0x7c]
ror dword [rbp - 0x70], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rsp + 0x7c], 8
mov al, byte [rbp - 0x70]
mov byte [r15 - 0xd], al
mov al, byte [rsp + 0x7c]
ror dword [rbp - 0x70], 8
mov byte [r15 - 9], al
ror dword [rsp + 0x7c], 8
mov al, byte [rbp - 0x70]
mov byte [r15 - 0xe], al
ror dword [rbp - 0x70], 8
mov al, byte [rsp + 0x7c]
mov byte [r15 - 0xa], al
ror dword [rsp + 0x7c], 8
mov al, byte [rbp - 0x70]
mov byte [r15 - 0xf], al
mov al, byte [rsp + 0x7c]
mov byte [r15 - 0xb], al
mov r14d, dword [rbp - 0x70]
mov ebx, dword [rsp + 0x7c]
ror r14d, 8
ror ebx, 8
mov dword [rbp - 0x70], r14d
mov dword [rsp + 0x7c], ebx
sub r13, 1
jne 0x140007f48
mov r15, qword [rbp - 0x40]
mov dl, sil
mov r12, qword [rbp - 0x18]
xor edi, edi
mov rax, rdi
test r15, r15
je 0x140008262
xor dl, byte [rax + r12]
inc rax
cmp rax, r15
jb 0x140008256
mov rcx, qword [rsp + 0x60]
movzx eax, dl
cmp rax, qword [r15 + rcx]
jne 0x14002fc5e
mov rbx, r12
mov qword [rbp + 0x198], r15
mov qword [rbp + 0x70], rbx
mov r12, rdi
mov r14d, esi
test r12, r12
jne 0x14002fc6d
test r14d, r14d
js 0x14002fc82
mov eax, dword [rbp + 0x198]
mov qword [rbp - 0x30], rbx
mov rbx, rdi
mov qword [rbp + 0x70], rbx
mov dword [rbp - 8], eax
test rbx, rbx
jne 0x14002fc8c
or esi, 0x10000000
jl 0x14000849e
mov r9, qword [rbp - 0x30]
mov r15d, 4
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x40], r9
cmp dword [rbp - 8], r15d
jb 0x14002fcd1
mov r10d, dword [r9]
lea r8, [rsp + 0x40]
mov edx, r15d
mov dword [rsp + 0x60], r10d
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000849a
lea r8, [rsp + 0x48]
xor ecx, ecx
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14000849a
mov eax, dword [rbp - 8]
sub eax, dword [rsp + 0x48]
cmp eax, r15d
jb 0x14002fcd1
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov r11d, edx
mov r15d, dword [rcx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000849a
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14000849a
mov eax, dword [rbp - 8]
mov ecx, dword [rsp + 0x48]
sub eax, ecx
cmp eax, r15d
jb 0x14002fcd1
lea r8, [rsp + 0x48]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14000849a
mov edx, dword [rbp - 8]
mov rbx, qword [rsp + 0x40]
lea rcx, [rdx + r9]
lea rax, [r15 + rbx]
cmp rcx, rax
jb 0x14002fcd1
sub rdx, r15
sub rdx, rbx
add rdx, r9
cmp rdx, 8
jae 0x14002fcd1
mov r12, rdi
mov esi, edi
mov r13d, edi
test rbx, rbx
je 0x14000843e
lea r8, [rbp - 0x40]
mov edx, r15d
mov rcx, rbx
mov r9, rbx
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000848c
mov rcx, qword [rbp - 0x40]
cmp rbx, rcx
jae 0x140008435
lea rax, [r9 + 4]
cmp rax, r9
jb 0x14002fcbd
cmp rax, rcx
ja 0x14002fcb3
mov eax, dword [r9]
add eax, r11d
cmp eax, r11d
jb 0x14002fca9
mov dword [rbp + 0x2b0], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x14002fcbd
mov r9, rdx
mov esi, edi
cmp rdx, rcx
ja 0x14002fcb3
inc r13d
cmp rdx, rcx
jb 0x1400083e6
cmp r9, rcx
jne 0x14002fcb3
test r15d, r15d
je 0x140008468
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x14002fcc7
mov esi, edi
test rbx, rbx
je 0x14000847b
mov r8, r15
mov rdx, rbx
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp + 8], r12
mov dword [rbp + 4], r15d
mov dword [rbp], r13d
mov r10d, dword [rsp + 0x60]
test esi, esi
js 0x14000849a
cmp r10d, dword [rbp]
jne 0x14002fcd1
bts esi, 0x1c
mov r15d, 0x8007007a
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x1400084c1
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0xf8]
test r14, r14
je 0x14000854b
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1400084ee
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rdi
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x14000850f
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rdi
mov rbx, qword [r14 + 0x28]
test rbx, rbx
je 0x140008530
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0xf8], rdi
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x140008568
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x140008585
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x38]
test r14, r14
je 0x140008605
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1400085af
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rdi
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x1400085d0
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rdi
mov rbx, qword [r14 + 0x28]
test rbx, rbx
je 0x1400085f1
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x140008622
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400089db
cmp dword [rbp], 1
jb 0x14002fcdb
mov r13d, 4
cmp qword [rbp + 8], rdi
je 0x14002fce5
cmp dword [rbp], edi
jbe 0x14002fce5
mov rbx, qword [rbp + 8]
lea r8, [rbp - 0x48]
mov edx, r13d
mov qword [rbp - 0x48], rbx
mov rcx, rbx
mov r9d, dword [rbx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002fcef
mov rax, qword [rbp - 0x48]
test r9d, r9d
mov dword [rbp + 0x13c], r9d
cmove rax, rdi
mov qword [rbp + 0x298], rax
test esi, esi
js 0x1400089db
cmp r9d, r13d
jne 0x14002fd02
mov eax, dword [rax]
mov dword [rbp + 0x10], eax
test esi, esi
js 0x1400089db
mov esi, dword [rbp + 0x10]
cmp esi, 0xd0000023
cmove esi, r15d
mov dword [rbp + 0x10], esi
cmp esi, r15d
je 0x1400086c5
test esi, esi
js 0x1400089db
cmp dword [rbp], 6
jne 0x14002fcdb
cmp qword [rbp + 8], rdi
je 0x14002fd0c
mov rcx, qword [rbp + 8]
mov r9d, edi
mov qword [rsp + 0x40], rcx
mov r10d, dword [rcx]
lea r8, [rsp + 0x40]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002fd16
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, r10d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002fd16
mov rcx, qword [rsp + 0x40]
inc r9d
cmp r9d, 1
jb 0x1400086e5
mov r9d, dword [rcx]
lea r8, [rsp + 0x40]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002fd16
mov rax, qword [rsp + 0x40]
test r9d, r9d
mov dword [rbp + 0x12c], r9d
cmove rax, rdi
mov qword [rbp + 0x230], rax
test esi, esi
js 0x1400089db
cmp r9d, 8
jne 0x14002fd02
mov rax, qword [rax]
mov qword [rbp + 0x2e0], rax
test esi, esi
js 0x1400089db
cmp qword [rbp + 8], rdi
je 0x14002fd29
mov rcx, qword [rbp + 8]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x14002fd46
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x14002fd46
inc r8d
mov qword [rbp - 0x48], rcx
cmp r8d, 2
jb 0x140008792
mov r9d, dword [rcx]
lea r8, [rbp - 0x48]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002fd33
mov rax, qword [rbp - 0x48]
test r9d, r9d
mov dword [rbp + 0x10c], r9d
cmove rax, rdi
mov qword [rbp + 0x2c8], rax
test esi, esi
js 0x1400089db
cmp r9d, r13d
jne 0x14002fd02
mov eax, dword [rax]
mov dword [rbp + 0x154], eax
test esi, esi
js 0x1400089db
cmp qword [rbp + 8], rdi
je 0x14002fd50
mov rcx, qword [rbp + 8]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x14002fdaf
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x14002fdaf
inc r8d
mov qword [rbp - 0x48], rcx
cmp r8d, 3
jb 0x14000881e
mov r10d, dword [rcx]
lea r8, [rbp - 0x48]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002fd5a
mov r11, qword [rbp - 0x48]
test r10d, r10d
mov dword [rbp + 0x15c], r10d
cmove r11, rdi
mov qword [rbp + 0x240], r11
test eax, eax
js 0x1400089db
mov rcx, qword [rbp + 8]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x14002fd80
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x14002fd80
inc r8d
mov qword [rbp - 0x48], rcx
cmp r8d, r13d
jb 0x140008887
mov r9d, dword [rcx]
lea r8, [rbp - 0x48]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002fd6d
mov rax, qword [rbp - 0x48]
test r9d, r9d
mov dword [rbp + 0x118], r9d
cmove rax, rdi
mov qword [rbp + 0x2a8], rax
test esi, esi
js 0x1400089db
cmp r9d, r13d
jne 0x14002fd02
mov eax, dword [rax]
mov dword [rbp + 0x128], eax
test esi, esi
js 0x1400089db
mov rcx, qword [rbp + 8]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x14002fd9d
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x14002fd9d
inc r8d
mov qword [rbp - 0x48], rcx
cmp r8d, 5
jb 0x140008908
mov r9d, dword [rcx]
lea r8, [rbp - 0x48]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002fd8a
mov rax, qword [rbp - 0x48]
test r9d, r9d
mov dword [rbp + 0x144], r9d
cmove rax, rdi
mov qword [rbp + 0x250], rax
test esi, esi
js 0x1400089db
cmp r9d, r13d
jne 0x14002fd02
mov eax, dword [rax]
mov dword [rbp + 0x9c], eax
test esi, esi
js 0x1400089db
mov rax, qword [rbp + 0x2e0]
cmp qword [rbp + 0x1c8], rax
jne 0x14002fcdb
mov eax, dword [rbp + 0x9c]
mov ecx, dword [rbp + 0x128]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x154]
mov dword [rbp + 0xe8], eax
mov dword [rbp + 0xe0], ecx
cmp ecx, r13d
ja 0x14002fda7
cmp r10d, r13d
ja 0x14002fda7
mov rcx, qword [rbp + 0x178]
mov rdx, r11
mov r8d, r10d
call sub.msvcrt.dll_memcpy
cmp dword [rbp + 0x10], edi
cmovne esi, dword [rbp + 0x10]
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
lea r13, [0x1400a93b0]
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x68], 0
test rbx, rbx
je 0x140008a18
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0x70], rdi
mov rbx, qword [rbp + 8]
mov qword [rbp], 0
test rbx, rbx
je 0x140008a41
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 8], rdi
test r15, r15
je 0x140008a5a
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x140008a73
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x140032065
cmp dword [rbp + 0x30], edi
jne 0x14002fdb9
mov eax, dword [rbp + 0xe0]
mov r13d, 0x8007007a
mov ebx, dword [rbp + 0xe8]
mov r14d, dword [rbp + 0x98]
mov r15d, dword [rbp + 0x90]
mov r12, qword [rbp + 0x188]
mov dword [rbp + 0x1e0], eax
mov rax, qword [rbp + 0x178]
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x18], rdi
lea rcx, [rbp + 0x18]
call fcn.14000a6e8
test esi, esi
js 0x140032088
cmp ebx, 4
jne 0x1400320cd
mov rcx, qword [rbp + 0x120]
call fcn.14000a740
mov ebx, dword [rbp + 0x160]
test al, al
cmovne rcx, rdi
mov eax, dword [rcx]
mov dword [rbp + 0x14], eax
lea rcx, [rbp + 0x120]
call fcn.14000a6e8
lea rsi, [0x14009cef8]
test ebx, ebx
js 0x140032115
cmp dword [rbp + 0x14], 1
jne 0x140032115
mov rcx, qword [0x1400a92b0]
lea r13, [0x1400a92b0]
cmp rcx, r13
je 0x140008b3c
test byte [rcx + 0x1c], 0x80
jne 0x1400320d7
mov rax, qword [rbp + 0x258]
mov r9d, r15d
mov rdx, qword [rbp + 0x278]
mov r8d, r14d
mov qword [rsp + 0x30], rax
mov rcx, r12
mov eax, dword [rbp + 0x3b8]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x268]
mov qword [rsp + 0x20], rax
call fcn.1400064b8
mov edi, eax
mov rax, qword [0x1400a92b0]
cmp rax, r13
je 0x140008b9a
test byte [rax + 0x1c], 0x80
jne 0x1400320ee
cmp rax, r13
je 0x140008b9a
test byte [rax + 0x1c], 0x80
jne 0x140032169
mov eax, edi
add rsp, 0x448
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, dword [rbp + 0x3b8]
mov edx, 0x2f
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r9d
mov r9d, r8d
call fcn.1400609f4
nop
jmp 0x14000666f
mov esi, 0x8007000e
jmp 0x140032080
mov r14, rdi
jmp 0x1400089e5
mov esi, 0xc000003e
jmp 0x14002f4e8
mov esi, 0xc0000095
mov r14, r13
jmp 0x14002f615
mov esi, 0xc0000017
jmp 0x14002f4e8
mov esi, 0xc0000023
jmp 0x14002f4e8
mov esi, 0xc000000d
jmp 0x140006a3c
lea r8, [rsp + 0x40]
mov edx, r14d
mov ecx, 4
call fcn.14000ad5c
mov edx, dword [rbp + 0x44]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x40]
mov dword [rbp + 0x44], edx
js 0x140006afc
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140006afc
inc dword [rsp + 0x68]
jmp 0x140006b04
mov esi, 0xc000000d
jmp 0x140006afc
mov r13d, 4
lea r8, [rsp + 0x40]
mov ecx, r13d
mov edx, r15d
call fcn.14000ad5c
mov edx, dword [rbp + 0xb0]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x40]
mov dword [rbp + 0xb0], edx
js 0x140006b9f
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140006b9f
inc dword [rsp + 0x68]
jmp 0x140006ba7
mov esi, 0xc0000095
jmp 0x140006b99
mov esi, 0xc000000d
jmp 0x140006b99
lea r8, [rsp + 0x40]
mov edx, ebx
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0xb4]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x40]
mov dword [rbp + 0xb4], edx
js 0x140006c4d
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140006c4d
inc dword [rsp + 0x68]
jmp 0x140006c55
mov esi, 0xc0000095
mov r14, qword [rsp + 0x50]
mov r15, r12
jmp 0x1400089e5
mov esi, 0xc0000095
jmp 0x140006c4d
mov esi, 0xc0000023
jmp 0x14002f610
mov esi, 0xc000000d
jmp 0x140006c4d
mov esi, 0xc000003e
jmp 0x14002f610
test r10d, r10d
je 0x140006ca9
mov esi, 0xc000000d
jmp 0x140006d33
lea r8, [rsp + 0x40]
mov edx, r10d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0xe4]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x40]
mov dword [rbp + 0xe4], edx
js 0x140006d33
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140006d33
inc dword [rsp + 0x68]
mov esi, edi
jmp 0x140006d33
mov esi, 0xc0000095
jmp 0x140006d33
mov esi, 0xc0000023
jmp 0x140006d33
lea r8, [rsp + 0x40]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0x94]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x40]
mov dword [rbp + 0x94], edx
js 0x140006dd8
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140006dd8
inc dword [rsp + 0x68]
jmp 0x140006de0
mov esi, 0xc0000095
jmp 0x140006dd8
mov esi, 0xc000000d
jmp 0x140006dd8
lea r8, [rsp + 0x40]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0x88]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x40]
mov dword [rbp + 0x88], edx
js 0x140006e7b
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140006e7b
inc dword [rsp + 0x68]
jmp 0x140006e83
mov esi, 0xc0000095
jmp 0x140006e7b
mov esi, 0xc000000d
jmp 0x140006e7b
mov eax, dword [rbp + 0x14]
jmp 0x140006feb
mov esi, 0xc0000095
jmp 0x140007100
mov esi, 0xc0000017
jmp 0x140007100
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
jmp 0x140007100
mov esi, 0xc000000d
jmp 0x140007691
mov dword [rsp + 0x48], edi
mov r15d, edi
test r8d, r8d
jle 0x14002f7f5
mov r11d, 0x38
movzx eax, byte [r9]
cmp ebx, 4
jge 0x14002f7da
lea ecx, [r11 - 0x20]
shl eax, cl
or r15d, eax
jmp 0x14002f7e2
mov ecx, r11d
shl eax, cl
or r13d, eax
inc r9
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x14002f7c6
mov dword [rsp + 0x48], r15d
mov ebx, r15d
mov r11d, r13d
xor ebx, 0x875330f4
xor r11d, 0x549791cd
mov dword [rbp - 0x68], ebx
mov eax, edi
mov dword [rbp - 0x78], r11d
test r8d, r8d
jle 0x14002f83b
cmp eax, 4
jge 0x14002f823
rol ebx, 8
mov byte [r10], bl
jmp 0x14002f82a
rol r11d, 8
mov byte [r10], r11b
inc r10
inc eax
cmp eax, r8d
jl 0x14002f816
mov ebx, dword [rbp - 0x68]
mov r11d, dword [rbp - 0x78]
lea eax, [r8 - 4]
test eax, eax
jle 0x14002f85c
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x78], r11d
jmp 0x1400071b1
mov dword [rbp - 0x78], edi
mov r11d, edi
test eax, eax
jns 0x1400071b1
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rbp - 0x68], ebx
jmp 0x1400071b1
mov esi, 0xc0000017
jmp 0x140007650
mov esi, 0xc0000017
jmp 0x140007647
mov r15, qword [rbx + 8]
test r15, r15
je 0x14002f8b2
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rdi
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x14002f8d3
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rdi
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x14002f8f4
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
jmp 0x140007650
mov esi, 0xc0000001
jmp 0x14000765e
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x14002f939
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rdi
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x14002f95a
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rdi
mov rbx, qword [r14 + 0x28]
test rbx, rbx
je 0x14002f97b
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
jmp 0x14000768e
mov eax, dword [rbp + 0x58]
jmp 0x14000773c
mov esi, 0xc0000017
jmp 0x140007860
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
jmp 0x140007860
mov r9d, dword [rbp + 0xb8]
mov esi, 0xc0000095
jmp 0x1400078f5
mov esi, 0xc000000d
jmp 0x140007ab8
mov eax, dword [rbp + 0x8c]
jmp 0x140007aa2
mov esi, 0x8000ffff
jmp 0x14000849e
mov esi, 0xc0000095
jmp 0x140007ab8
mov esi, 0xc0000017
mov r15, rdi
jmp 0x140007aec
mov esi, 0x80070057
jmp 0x14000849e
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
test eax, eax
jle 0x14002fa27
movzx esi, ax
or esi, 0x80070000
test esi, esi
js 0x14002fa30
mov esi, 0x80004005
mov r9d, dword [rbp - 0x28]
jmp 0x140007ba8
mov r15d, 0x8007007a
mov esi, r15d
jmp 0x1400084a4
mov esi, 0xc000003e
jmp 0x140007e91
mov esi, 0xc0000017
jmp 0x140007e7d
mov esi, 0xc0000017
jmp 0x140007e74
mov dword [rax], edi
mov qword [rax + 8], rdi
jmp 0x140007de4
mov dword [rbx + 0x10], edi
mov qword [rbx + 0x18], rdi
jmp 0x140007e29
mov dword [rbx + 0x20], edi
mov qword [rbx + 0x28], rdi
jmp 0x140007e6e
mov r15, qword [rbx + 8]
test r15, r15
je 0x14002faa9
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rdi
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x14002faca
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rdi
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x14002faeb
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
jmp 0x140007e7d
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x14002fb26
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rdi
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x14002fb47
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rdi
mov rbx, qword [r14 + 0x28]
test rbx, rbx
je 0x14002fb68
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
jmp 0x140007e91
mov esi, 0xc000000d
jmp 0x1400082b7
or dword [rsp + 0x7c], 0xffffffff
mov r13d, edi
mov dword [rsp + 0x48], edi
mov dword [rbp - 0x50], r14d
test r8d, r8d
jle 0x14002fbda
mov r11d, 0x38
movzx eax, byte [r9]
cmp ebx, 4
jge 0x14002fbbb
lea ecx, [r11 - 0x20]
shl eax, cl
or r14d, eax
jmp 0x14002fbc3
mov ecx, r11d
shl eax, cl
or r13d, eax
inc r9
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x14002fba7
mov dword [rbp - 0x50], r14d
mov dword [rsp + 0x48], r13d
xor r14d, 0xe5d64a7e
mov ebx, r13d
xor ebx, 0x9c54a8c9
mov dword [rbp - 0x70], r14d
mov dword [rsp + 0x7c], ebx
mov eax, edi
test r8d, r8d
jle 0x14002fc1f
cmp eax, 4
jge 0x14002fc07
rol r14d, 8
mov byte [r10], r14b
jmp 0x14002fc0d
rol ebx, 8
mov byte [r10], bl
inc r10
inc eax
cmp eax, r8d
jl 0x14002fbf9
mov r14d, dword [rbp - 0x70]
mov ebx, dword [rsp + 0x7c]
lea eax, [r8 - 4]
test eax, eax
jle 0x14002fc3a
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr ebx, cl
shl ebx, cl
jmp 0x140007f24
mov ebx, edi
mov dword [rsp + 0x7c], ebx
test eax, eax
jns 0x140007f28
neg eax
shl eax, 3
mov ecx, eax
shr r14d, cl
shl r14d, cl
mov dword [rbp - 0x70], r14d
jmp 0x140007f28
mov rbx, qword [rbp + 0x70]
mov r14d, 0xc004d501
jmp 0x140008288
mov rcx, r12
call fcn.140025e74
mov rbx, qword [rbp + 0x70]
jmp 0x140008291
mov rbx, qword [rbp + 0x70]
mov esi, 0xc0000001
jmp 0x1400082ae
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x70], rdi
jmp 0x1400082b7
mov esi, 0xc0000095
jmp 0x14000848c
mov esi, 0xc000000d
jmp 0x14000849a
mov esi, 0xc0000095
jmp 0x14000849a
mov esi, 0xc0000017
jmp 0x140008487
mov esi, 0xc000003e
jmp 0x14000849a
mov esi, 0xc004d501
jmp 0x1400089db
mov esi, 0xc000000d
jmp 0x1400086a0
mov r9d, dword [rbp + 0x13c]
mov rax, qword [rbp + 0x298]
jmp 0x14000868a
mov esi, 0xc0000023
jmp 0x1400089db
mov esi, 0xc000000d
jmp 0x140008779
mov r9d, dword [rbp + 0x12c]
mov rax, qword [rbp + 0x230]
jmp 0x14000875d
mov esi, 0xc000000d
jmp 0x140008805
mov r9d, dword [rbp + 0x10c]
mov rax, qword [rbp + 0x2c8]
jmp 0x1400087ec
mov esi, 0xc0000095
jmp 0x140008805
mov esi, 0xc000000d
jmp 0x1400089db
mov r10d, dword [rbp + 0x15c]
mov r11, qword [rbp + 0x240]
jmp 0x140008878
mov r9d, dword [rbp + 0x118]
mov rax, qword [rbp + 0x2a8]
jmp 0x1400088e0
mov esi, 0xc0000095
jmp 0x1400088f9
mov r9d, dword [rbp + 0x144]
mov rax, qword [rbp + 0x250]
jmp 0x140008962
mov esi, 0xc0000095
jmp 0x140008977
mov esi, r15d
jmp 0x1400089db
mov esi, 0xc0000095
jmp 0x1400089db
xor eax, eax
mov dword [rbp - 0x60], edi
mov ebx, 0xa0
mov qword [rbp - 0x5c], rax
mov dword [rbp - 0x54], eax
mov r15, rdi
mov qword [rbp + 0x7c], rax
mov r14, rdi
mov dword [rbp + 0x84], eax
mov qword [rbp + 0x1a0], rbx
mov dword [rbp + 0x78], edi
mov dword [rbp + 0x48], edi
mov qword [rbp + 0x260], r13
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x140031fd1
mov r8, qword [rbp + 0x1a0]
mov rcx, rax
mov rdx, qword [rbp + 0x260]
call sub.msvcrt.dll_memcpy
mov r14d, dword [rbp + 0x1a0]
mov r15, r12
mov qword [rsp + 0x50], r12
lea rax, [0x1400a94f8]
mov qword [rbp + 0x180], 8
mov qword [rbp + 0x2b8], rax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
je 0x140031fce
mov r8, qword [rbp + 0x180]
mov rcx, rax
mov rdx, qword [rbp + 0x2b8]
call sub.msvcrt.dll_memcpy
mov r15, qword [rbp + 0x180]
mov qword [rsp + 0x58], r13
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x270], rax
mov r11d, 4
mov dword [rsp + 0x48], edi
mov edx, r11d
lea r8, [rsp + 0x40]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov edx, dword [rsp + 0x40]
mov dword [rbp + 0x4c], edx
lea r8, [rsp + 0x48]
xor ecx, ecx
call fcn.14000ad5c
mov r9d, 0x10000000
or eax, r9d
jl 0x14003026e
lea r8, [rsp + 0x40]
mov edx, r14d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov edx, dword [rsp + 0x40]
mov dword [rbp + 0x4c], edx
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
or eax, r9d
jl 0x14003026e
lea r8, [rsp + 0x40]
mov edx, r15d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov edx, dword [rsp + 0x40]
mov dword [rbp + 0x4c], edx
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
or eax, r9d
jl 0x14003026e
lea r8, [rsp + 0x40]
mov ecx, r11d
lea edx, [r11 + 4]
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov edx, dword [rsp + 0x40]
mov dword [rbp + 0x4c], edx
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
or eax, r9d
jl 0x14003026e
mov eax, dword [rsp + 0x48]
mov dword [rbp - 0x5c], eax
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r9, rax
test rax, rax
je 0x14003026e
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x60], edi
lea rax, [rbp + 0xa8]
mov r11d, 4
mov dword [rbp + 0xa8], r11d
test rax, rax
je 0x140030015
lea r8, [rbp - 0x38]
mov edx, r11d
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003026e
mov edx, dword [rbp - 0x5c]
lea rcx, [r9 + 8]
add rdx, r9
cmp rcx, rdx
ja 0x14003026e
mov rdx, qword [rbp - 0x38]
mov dword [r9], r11d
mov ecx, dword [rbp + 0xa8]
mov dword [rdx], ecx
inc dword [rbp - 0x60]
jmp 0x14003001a
mov eax, 0xc000000d
test eax, eax
js 0x14003026e
test r14d, r14d
je 0x140030111
cmp qword [rbp - 0x58], rdi
jne 0x14003006f
lea r8, [rsp + 0x40]
mov edx, r14d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov edx, dword [rsp + 0x40]
mov dword [rbp + 0x14c], edx
mov ecx, dword [rbp - 0x5c]
lea r8, [rbp - 0x5c]
call fcn.14000ad5c
test eax, eax
js 0x14003026e
inc dword [rbp - 0x60]
jmp 0x14003011e
mov r10d, edi
mov r9, qword [rbp - 0x58]
mov qword [rbp - 0x30], r9
cmp dword [rbp - 0x60], edi
jbe 0x1400300c4
mov edx, dword [r9]
lea r8, [rsp + 0x40]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov eax, dword [rsp + 0x40]
mov dword [rbp + 0x14c], eax
mov edx, eax
lea r8, [rbp - 0x30]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003026e
mov r9, qword [rbp - 0x30]
inc r10d
cmp r10d, dword [rbp - 0x60]
jb 0x14003007f
lea r8, [rbp - 0x38]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
mov ebx, eax
test eax, eax
js 0x14003026e
mov edx, dword [rbp - 0x5c]
lea rcx, [r14 + 4]
add rdx, qword [rbp - 0x58]
add rcx, r9
mov r8, r14
cmp rcx, rdx
ja 0x14003026e
mov rcx, qword [rbp - 0x38]
mov rdx, r12
mov dword [r9], r14d
call sub.msvcrt.dll_memcpy
inc dword [rbp - 0x60]
mov r11d, 4
jmp 0x140030116
mov ebx, 0xc000000d
test ebx, ebx
js 0x14003026e
test r15d, r15d
je 0x140030203
cmp qword [rbp - 0x58], rdi
jne 0x14003016b
lea r8, [rsp + 0x40]
mov edx, r15d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov edx, dword [rsp + 0x40]
mov dword [rbp + 0x104], edx
mov ecx, dword [rbp - 0x5c]
lea r8, [rbp - 0x5c]
call fcn.14000ad5c
test eax, eax
js 0x14003026e
inc dword [rbp - 0x60]
jmp 0x140030212
mov r10d, edi
mov r9, qword [rbp - 0x58]
mov qword [rbp - 0x30], r9
cmp dword [rbp - 0x60], edi
jbe 0x1400301c0
mov edx, dword [r9]
lea r8, [rsp + 0x40]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov eax, dword [rsp + 0x40]
mov dword [rbp + 0x104], eax
mov edx, eax
lea r8, [rbp - 0x30]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003026e
mov r9, qword [rbp - 0x30]
inc r10d
cmp r10d, dword [rbp - 0x60]
jb 0x14003017b
lea r8, [rbp - 0x38]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
mov ebx, eax
test eax, eax
js 0x14003026e
mov edx, dword [rbp - 0x5c]
add rdx, qword [rbp - 0x58]
mov r8d, r15d
lea rcx, [r8 + 4]
add rcx, r9
cmp rcx, rdx
ja 0x14003026e
mov rcx, qword [rbp - 0x38]
mov rdx, r13
mov dword [r9], r15d
call sub.msvcrt.dll_memcpy
inc dword [rbp - 0x60]
jmp 0x140030208
mov ebx, 0xc000000d
test ebx, ebx
js 0x14003026e
mov r11d, 4
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x1c0], rax
lea rax, [rbp + 0x1c0]
test rax, rax
je 0x140030305
cmp qword [rbp - 0x58], rdi
jne 0x140030279
lea r8, [rsp + 0x40]
mov edx, 8
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov edx, dword [rsp + 0x40]
mov dword [rbp + 0x108], edx
mov ecx, dword [rbp - 0x5c]
lea r8, [rbp - 0x5c]
call fcn.14000ad5c
test eax, eax
js 0x14003026e
inc dword [rbp - 0x60]
jmp 0x140030312
mov r15, r12
mov r14, r13
jmp 0x140031fd1
mov r10d, edi
mov r9, qword [rbp - 0x58]
mov qword [rbp - 0x30], r9
cmp dword [rbp - 0x60], edi
jbe 0x1400302c6
mov edx, dword [r9]
lea r8, [rsp + 0x40]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov eax, dword [rsp + 0x40]
mov dword [rbp + 0x108], eax
mov edx, eax
lea r8, [rbp - 0x30]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003026e
mov r9, qword [rbp - 0x30]
inc r10d
cmp r10d, dword [rbp - 0x60]
jb 0x140030289
lea r8, [rbp - 0x38]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003026e
mov edx, dword [rbp - 0x5c]
lea rcx, [r9 + 0xc]
add rdx, qword [rbp - 0x58]
cmp rcx, rdx
ja 0x14003026e
mov rcx, qword [rbp - 0x38]
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x1c0]
movsd qword [rcx], xmm0
inc dword [rbp - 0x60]
jmp 0x14003030a
mov eax, 0xc000000d
test eax, eax
js 0x14003026e
lea r8, [rsp + 0x40]
mov edx, r11d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov r9d, dword [rsp + 0x40]
mov dword [rbp + 0x138], r9d
lea r8, [rsp + 0x60]
mov dword [rsp + 0x40], r9d
mov edx, 8
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov edx, dword [rsp + 0x60]
mov dword [rbp + 0x138], edx
lea r8, [rsp + 0x40]
mov ecx, r9d
call fcn.14000ad5c
test eax, eax
js 0x14003026e
mov rbx, rdi
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0x18], rbx
mov r12d, edi
mov qword [rbp - 0x30], rdi
mov r13d, edi
mov dword [rsp + 0x60], edi
mov qword [rbp - 0x18], rdi
mov dword [rbp - 0x24], edi
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x50], rdi
mov dword [rbp - 4], edi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x190], rax
mov dword [rbp - 0x10], 8
mov edx, dword [rbp - 0x5c]
lea r8, [rbp - 0x10]
mov ecx, 8
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400304a4
mov eax, dword [rbp - 0x10]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x10]
jae 0x1400303ec
mov r14d, 0xc0000095
jmp 0x1400304a4
mov dword [rbp - 0x10], eax
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14003041e
mov r14d, 0xc0000017
mov rbx, rdi
jmp 0x1400304a4
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
mov eax, dword [rbp - 0x60]
mov r11d, 4
mov edx, r11d
mov dword [rbx], eax
mov rcx, rbx
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030487
mov rcx, qword [rbp - 0x50]
lea r8, [rbp - 0x50]
mov eax, dword [rbp - 0x5c]
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030487
mov ecx, dword [rbp - 0x10]
mov rax, qword [rbp + 0x190]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
call sub.msvcrt.dll_memcpy
mov r12d, dword [rbp - 0x10]
mov qword [rbp + 0x18], rbx
mov rbx, rdi
test rbx, rbx
je 0x1400304a0
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x18]
or r14d, 0x10000000
jl 0x140031d33
mov qword [rbp + 0x1e8], rdi
mov r15, rdi
mov qword [rbp + 0x1f8], rdi
mov qword [rbp + 0x208], rdi
mov qword [rbp + 0x218], rdi
mov qword [rbp + 0x110], rdi
mov qword [rbp + 0x1d8], rdi
test rbx, rbx
jne 0x1400304ee
mov r14d, 0xc000000d
jmp 0x140030c13
mov r14d, r12d
mov qword [rbp - 0x40], r14
test r12d, r12d
je 0x140030b65
lea rax, [r14 + 8]
mov rcx, rax
mov qword [rbp + 0x28], rax
call fcn.14000ab60
mov qword [rbp - 0x48], rax
mov r13, rax
test rax, rax
je 0x140030b65
mov dl, dil
mov rcx, rdi
test r12d, r12d
je 0x140030534
xor dl, byte [rcx + rbx]
inc rcx
cmp rcx, r14
jb 0x140030529
or r11d, 0xffffffff
mov dword [rbp - 0x50], edi
mov r10, rbx
mov dword [rbp - 0x7c], r11d
mov r8, r14
mov dword [rsp + 0x48], edi
mov ebx, edi
mov r9, rax
mov dword [rbp - 0x6c], ebx
and r8d, 7
je 0x140030626
mov dword [rbp - 0x50], edi
mov ecx, edi
mov dword [rsp + 0x48], ecx
mov r12d, edi
test r8d, r8d
jle 0x1400305ab
mov r11d, 0x38
movzx eax, byte [r10]
cmp ebx, 4
jge 0x14003058d
lea ecx, [r11 - 0x20]
shl eax, cl
mov ecx, dword [rsp + 0x48]
or ecx, eax
mov dword [rsp + 0x48], ecx
jmp 0x140030599
mov ecx, r11d
shl eax, cl
mov ecx, dword [rsp + 0x48]
or r12d, eax
inc r10
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x140030572
mov dword [rbp - 0x50], r12d
mov ebx, ecx
mov r11d, r12d
xor ebx, 0x875330f4
xor r11d, 0x549791cd
mov dword [rbp - 0x6c], ebx
mov eax, edi
mov dword [rbp - 0x7c], r11d
test r8d, r8d
jle 0x1400305f0
cmp eax, 4
jge 0x1400305d8
rol ebx, 8
mov byte [r9], bl
jmp 0x1400305df
rol r11d, 8
mov byte [r9], r11b
inc r9
inc eax
cmp eax, r8d
jl 0x1400305cb
mov ebx, dword [rbp - 0x6c]
mov r11d, dword [rbp - 0x7c]
lea eax, [r8 - 4]
test eax, eax
jle 0x14003060e
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x7c], r11d
jmp 0x140030626
mov dword [rbp - 0x7c], edi
mov r11d, edi
test eax, eax
jns 0x140030626
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rbp - 0x6c], ebx
mov r12, r14
shr r12, 3
test r12, r12
je 0x140030953
mov r15d, dword [rbp - 0x50]
lea r14, [r9 + 7]
mov r13d, dword [rsp + 0x48]
lea rdi, [r10 + 2]
movzx eax, byte [rdi - 1]
movzx r10d, byte [rdi - 2]
movzx r9d, byte [rdi + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rdi]
lea rdi, [rdi + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdi - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdi - 5]
or r9d, eax
movzx eax, byte [rdi - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rdi - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
lea eax, [r11 + 0x36fdf9bd]
rol eax, 8
imul ecx, eax, 0x3bd6
mov eax, r11d
ror eax, 9
add ecx, eax
mov eax, 0x36fdf9bd
xor ecx, r10d
xor ebx, ecx
sub eax, ebx
rol eax, 7
imul ecx, eax, 0xdb6b
mov eax, ebx
ror eax, 0xb
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov r8d, r11d
xor eax, 0xdb6b
ror r8d, 0xa
imul ecx, eax, 0xf9bd
add r8d, ecx
xor ebx, r8d
mov r8d, 0xdb6b3bd6
lea eax, [rbx + 0x2494c42a]
ror eax, 1
imul ecx, eax, 0x36fd
mov eax, ebx
rol eax, 0xe
xor ecx, eax
mov eax, 0x36fdf9bd
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
sub eax, ecx
xor ebx, eax
mov eax, ebx
not eax
ror eax, 0xe
add eax, 0xdb6b
imul eax, eax, 0x3bd6
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xf
imul ecx, eax, 0xf9bd
mov eax, r11d
rol eax, 6
xor ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x24948d2d]
xor r11d, eax
mov eax, r11d
xor eax, 0xf9bd
imul ecx, eax, 0x3bd6
mov eax, r11d
shr eax, 6
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x3bd6
rol eax, 3
imul ecx, eax, 0xdb6b
mov eax, ebx
rol eax, 0xc
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x2494c42a]
rol eax, 0xd
imul ecx, eax, 0xf9bd
mov eax, r11d
ror eax, 0xf
xor ecx, eax
mov eax, r8d
xor ebx, ecx
sub eax, ebx
rol eax, 3
imul ecx, eax, 0x36fd
mov eax, ebx
rol eax, 9
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xf9bd]
rol eax, 3
imul ecx, eax, 0x3bd6
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0xf9bd]
imul ecx, eax, 0xdb6b
mov eax, ebx
shr eax, 0xd
sub ecx, eax
mov eax, r8d
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xf9bd
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x24948d2d]
xor r11d, eax
mov eax, r11d
mov r8d, r11d
xor eax, 0xdb6b
ror r8d, 7
imul ecx, eax, 0x3bd6
sub ecx, r8d
xor ebx, ecx
mov eax, ebx
xor eax, 0x36fd
rol eax, 4
imul ecx, eax, 0xdb6b
mov eax, ebx
ror eax, 0x10
sub ecx, eax
mov eax, 0xdb6b3bd6
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0xf9bd
mov eax, r11d
ror eax, 4
add ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x2494c42a]
ror eax, 4
imul ecx, eax, 0x36fd
mov eax, ebx
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x36fdf9bd
rol eax, 8
imul ecx, eax, 0x3bd6
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, 0x36fdf9bd
xor ebx, ecx
sub eax, ebx
ror eax, 0xb
imul ecx, eax, 0xdb6b
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xdb6b
imul ecx, eax, 0xf9bd
mov eax, r11d
shr eax, 8
xor ecx, eax
xor ebx, ecx
xor r11d, ebx
xor ebx, r13d
mov dword [rbp - 0x6c], ebx
xor r11d, 0xed96c26b
xor r11d, r15d
mov r13d, r10d
mov dword [rbp - 0x7c], r11d
mov r15d, r9d
mov byte [r14 - 4], bl
mov al, byte [rbp - 0x7c]
ror dword [rbp - 0x6c], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rbp - 0x7c], 8
mov al, byte [rbp - 0x6c]
mov byte [r14 - 0xd], al
mov al, byte [rbp - 0x7c]
ror dword [rbp - 0x6c], 8
mov byte [r14 - 9], al
ror dword [rbp - 0x7c], 8
mov al, byte [rbp - 0x6c]
mov byte [r14 - 0xe], al
ror dword [rbp - 0x6c], 8
mov al, byte [rbp - 0x7c]
mov byte [r14 - 0xa], al
ror dword [rbp - 0x7c], 8
mov al, byte [rbp - 0x6c]
mov byte [r14 - 0xf], al
mov al, byte [rbp - 0x7c]
mov byte [r14 - 0xb], al
mov ebx, dword [rbp - 0x6c]
mov r11d, dword [rbp - 0x7c]
ror ebx, 8
ror r11d, 8
mov dword [rbp - 0x6c], ebx
mov dword [rbp - 0x7c], r11d
sub r12, 1
jne 0x140030647
mov r14, qword [rbp - 0x40]
xor edi, edi
mov r13, qword [rbp - 0x48]
mov r15d, edi
movzx eax, dl
mov qword [r13 + r14], rax
mov r14, qword [rbp + 0x28]
mov qword [rbp + 0x1d8], r14
mov qword [rbp + 0x110], r13
lea rax, [0x1400a94f0]
mov ebx, 8
mov qword [rbp + 0x1e8], rax
mov qword [rbp + 0x1f8], rbx
lea r12, [0x1400a9450]
mov qword [rbp + 0x218], 0xa0
mov qword [rbp + 0x208], r12
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
lea r8d, [rbx + 0x28]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x1400309c8
mov r14d, 0xc0000017
jmp 0x140030b54
mov dword [rax], r14d
mov r14d, r14d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, r14d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140030ad2
mov qword [rbx + 8], rax
mov r8d, r14d
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r14d, 0xa0
mov dword [rbx + 0x10], r14d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, r14d
mov r14d, 8
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140030ad2
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [r12]
lea ecx, [r14 + 0x78]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [rax + rcx - 0x10], xmm1
movups xmm0, xmmword [r12 + rcx]
movups xmmword [rax + rcx], xmm0
movups xmm1, xmmword [r12 + rcx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
mov dword [rbx + 0x20], r14d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, r14d
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140030ad2
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1400a94f0]
mov r15, rbx
movsd qword [rax], xmm0
mov r14d, edi
mov rbx, rdi
jmp 0x140030ad8
mov r14d, 0xc0000017
test rbx, rbx
je 0x140030b54
mov r12, qword [rbx + 8]
test r12, r12
je 0x140030afe
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rdi
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x140030b1f
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rdi
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x140030b40
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x140030b6b
mov qword [rbp + 0xf0], r15
mov r15, rdi
jmp 0x140030b6b
mov r14d, 0xc0000001
mov rbx, qword [rbp + 0x110]
test rbx, rbx
je 0x140030b92
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x110], rdi
test r15, r15
je 0x140030c0e
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x140030bb8
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rdi
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x140030bd9
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rdi
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x140030bfa
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, dword [rsp + 0x60]
or r14d, 0x10000000
jl 0x140031d33
mov r15, qword [rbp + 0xf0]
lea r8, [rsp + 0x48]
mov ecx, 4
mov dword [rsp + 0x48], 4
mov edx, dword [r15]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140030cb7
mov edx, ecx
lea r8, [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140030cb7
mov edx, dword [r15 + 0x10]
lea r8, [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140030cb7
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, 4
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140030cb7
mov edx, dword [r15 + 0x20]
lea r8, [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
mov eax, dword [rbp + 0x5c]
test r14d, r14d
cmovns eax, dword [rsp + 0x48]
mov dword [rbp + 0x5c], eax
jmp 0x140030cba
mov eax, dword [rbp + 0x5c]
test r14d, r14d
js 0x140030e06
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x140030cef
mov r14d, 0xc0000017
jmp 0x140030e06
mov qword [rsp + 0x60], rax
lea r8, [rsp + 0x60]
mov eax, dword [r15]
mov edx, 4
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030ded
mov r8d, dword [r15]
mov rdx, qword [r15 + 8]
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15]
lea r8, [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030ded
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x60]
mov eax, dword [r15 + 0x10]
mov edx, 4
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030ded
mov r8d, dword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15 + 0x10]
lea r8, [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030ded
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x60]
mov eax, dword [r15 + 0x20]
mov edx, 4
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030ded
mov r8d, dword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15 + 0x20]
lea r8, [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030ded
mov r13d, dword [rbp + 0x5c]
mov qword [rbp - 0x30], rbx
mov rbx, rdi
test rbx, rbx
je 0x140030e06
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r14d, 0x10000000
jl 0x140031d33
mov ebx, edi
mov qword [rbp + 0x228], rdi
mov dword [rbp + 0x148], ebx
mov r11d, edi
mov dword [rbp + 0x140], edi
mov qword [rbp + 0x238], rdi
mov dword [rbp + 0x40], 8
mov edx, dword [rsp + 0x40]
lea r8, [rbp + 0x40]
mov ecx, 8
call fcn.14000ad5c
mov r14d, eax
or r14d, 0x10000000
jl 0x1400310a5
mov eax, dword [rbp + 0x40]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x40]
jae 0x140030e79
mov r9d, dword [rbp + 0xc8]
mov r14d, 0xc0000095
jmp 0x140030eaa
mov dword [rbp + 0xbc], eax
mov edx, ecx
lea r8, [rbp + 0xbc]
mov ecx, eax
call fcn.14000ad5c
mov r9d, dword [rbp + 0xc8]
test eax, eax
mov r14d, eax
cmovns r9d, dword [rbp + 0xbc]
mov dword [rbp + 0xc8], r9d
test r14d, r14d
js 0x140031d33
cmp qword [rbp - 0x58], rdi
je 0x140031079
cmp dword [rbp - 0x60], 1
jbe 0x140031079
mov rcx, qword [rbp - 0x58]
mov r10d, edi
mov qword [rsp + 0x40], rcx
mov r15d, dword [rcx]
lea r8, [rsp + 0x40]
mov edx, 4
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030f49
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, r15d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030f49
mov rcx, qword [rsp + 0x40]
inc r10d
cmp r10d, 1
jb 0x140030ed3
mov r10d, dword [rcx]
lea r8, [rsp + 0x40]
mov edx, 4
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030f49
mov rax, qword [rsp + 0x40]
test r10d, r10d
mov r11d, r10d
mov dword [rbp + 0x140], r10d
cmove rax, rdi
mov qword [rbp + 0x228], rax
test r14d, r14d
js 0x140031d33
cmp dword [rbp - 0x60], 2
jbe 0x140031079
mov rcx, qword [rbp - 0x58]
mov r10d, edi
mov qword [rsp + 0x40], rcx
mov r15d, dword [rcx]
lea r8, [rsp + 0x40]
mov edx, 4
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030fdd
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, r15d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030fdd
mov rcx, qword [rsp + 0x40]
inc r10d
cmp r10d, 2
jb 0x140030f68
mov r10d, dword [rcx]
lea r8, [rsp + 0x40]
mov edx, 4
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140030fdd
mov rax, qword [rsp + 0x40]
test r10d, r10d
mov ebx, r10d
cmove rax, rdi
mov dword [rbp + 0x148], ebx
mov qword [rbp + 0x238], rax
test r14d, r14d
js 0x140031d33
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], 4
mov edx, r9d
mov ecx, 4
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140031081
mov edx, ecx
lea r8, [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140031081
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, r11d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140031081
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, 4
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140031081
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov edx, ebx
call fcn.14000ad5c
mov r14d, eax
mov eax, dword [rbp + 0xd0]
test r14d, r14d
cmovns eax, dword [rsp + 0x48]
mov dword [rbp + 0xd0], eax
jmp 0x140031087
mov r14d, 0xc000000d
jmp 0x1400310a5
mov eax, dword [rbp + 0xd0]
test r14d, r14d
js 0x140031d33
cmp eax, 0x400000
jbe 0x1400310a2
mov r14d, 0x8000ffff
jmp 0x140031d33
mov dword [rbp - 0x24], eax
test r14d, r14d
js 0x140031d33
mov ebx, dword [rbp - 0x24]
mov r14d, edi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400310db
mov r14d, 0xc0000017
mov r12, rdi
jmp 0x1400310e2
mov r12, rax
mov qword [rbp - 0x18], rax
or r14d, 0x10000000
jl 0x140031d33
mov r14, qword [rbp - 0x30]
test r14, r14
je 0x14003119f
test r12, r12
je 0x14003119f
lea r8, [rbp + 0x248]
mov ecx, 1
lea rdx, [0x1400735c8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400311aa
mov rcx, qword [rbp + 0x248]
lea rdx, [0x1400735e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1400311aa
mov eax, dword [rbp - 0x24]
mov rcx, rbx
mov dword [rbp + 0x2fc], eax
mov qword [rbp + 0x2e8], r14
mov dword [rbp + 0x2f8], r13d
mov qword [rbp + 0x2f0], r12
mov dword [rbp + 0x300], edi
call qword [0x1400719c8]
xor r9d, r9d
lea rdx, [rbp + 0x2e8]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov r9d, dword [rbp - 0x24]
mov r14d, eax
or r14d, 0x10000000
cmovns r9d, dword [rbp + 0x2fc]
mov dword [rbp - 0x24], r9d
jmp 0x1400311d1
mov r14d, 0x80070057
jmp 0x140031d33
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov r14d, eax
test eax, eax
jle 0x1400311c2
movzx r14d, ax
or r14d, 0x80070000
test r14d, r14d
js 0x1400311cd
mov r14d, 0x80004005
mov r9d, dword [rbp - 0x24]
cmp r14d, 0xd0000023
jne 0x1400311e5
mov r14d, 0x8007007a
jmp 0x140031d33
test r14d, r14d
js 0x140031d33
mov dword [rsp + 0x48], edi
mov r15, rdi
mov qword [rsp + 0x60], r12
cmp r9d, 4
jb 0x1400313e0
mov r10d, dword [r12]
lea r8, [rsp + 0x60]
mov edx, 4
mov dword [rsp + 0x40], r10d
mov rcx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x1400315d4
lea r8, [rsp + 0x48]
xor ecx, ecx
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400315d4
mov eax, r9d
sub eax, dword [rsp + 0x48]
cmp eax, r10d
jb 0x1400313e0
mov rax, qword [rsp + 0x60]
lea r8, [rsp + 0x60]
mov rcx, rax
mov qword [rbp + 0x28], rax
mov edx, r10d
mov qword [rbp - 0x48], r10
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x1400315d4
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400315d4
mov eax, r9d
sub eax, dword [rsp + 0x48]
cmp eax, 4
jb 0x1400313e0
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x60]
mov edx, 4
mov r13d, dword [rcx]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x1400315d4
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400315d4
mov eax, r9d
sub eax, dword [rsp + 0x48]
cmp eax, r13d
jb 0x1400313e0
mov rax, qword [rsp + 0x60]
lea r8, [rsp + 0x60]
mov rcx, rax
mov qword [rbp - 0x50], rax
mov edx, r13d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x1400315d4
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400315d4
mov eax, r9d
sub eax, dword [rsp + 0x48]
cmp eax, 4
jb 0x1400313e0
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x60]
mov edx, 4
mov r12d, dword [rcx]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x1400315d4
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400315d4
mov ecx, dword [rsp + 0x48]
mov eax, r9d
sub eax, ecx
cmp eax, r12d
jb 0x1400313e0
lea r8, [rsp + 0x48]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400315d4
cmp r9d, dword [rsp + 0x48]
jne 0x1400313e0
lea ecx, [r12 + r13]
mov eax, r9d
add ecx, r10d
add rcx, 0xc
cmp rcx, rax
jne 0x1400313e0
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x1400313eb
mov r14d, 0xc0000017
jmp 0x14003154c
mov r14d, 0xc000003e
jmp 0x1400315d4
mov r14d, edi
cmp qword [rbp + 0x28], rdi
je 0x140031438
mov eax, dword [rsp + 0x40]
mov dword [rbx], eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, qword [rbp - 0x48]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14003142d
mov qword [rbx + 8], rax
mov r8, qword [rbp - 0x48]
mov rcx, rax
mov rdx, qword [rbp + 0x28]
call sub.msvcrt.dll_memcpy
jmp 0x14003143e
mov r14d, 0xc0000017
jmp 0x1400314d0
mov dword [rax], edi
mov qword [rax + 8], rdi
cmp qword [rbp - 0x50], rdi
je 0x14003147c
mov dword [rbx + 0x10], r13d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14003142d
mov qword [rbx + 0x18], rax
mov rdx, qword [rbp - 0x50]
mov r8, r13
mov rcx, rax
mov r14d, edi
call sub.msvcrt.dll_memcpy
jmp 0x140031483
mov dword [rbx + 0x10], edi
mov qword [rbx + 0x18], rdi
cmp qword [rsp + 0x60], rdi
je 0x1400314c3
mov dword [rbx + 0x20], r12d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14003142d
mov qword [rbx + 0x28], rax
mov rdx, qword [rsp + 0x60]
mov r8, r12
mov rcx, rax
mov r14d, edi
call sub.msvcrt.dll_memcpy
jmp 0x1400314ca
mov dword [rbx + 0x20], edi
mov qword [rbx + 0x28], rdi
mov r15, rbx
mov rbx, rdi
test rbx, rbx
je 0x14003154c
mov r12, qword [rbx + 8]
test r12, r12
je 0x1400314f6
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rdi
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x140031517
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rdi
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x140031538
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x140031558
mov qword [rbp + 0x38], r15
mov r15, rdi
test r15, r15
je 0x1400315d4
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14003157e
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rdi
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x14003159f
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rdi
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x1400315c0
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r14d, 0x10000000
jl 0x140031d33
mov rax, qword [rbp + 0x38]
mov rbx, rdi
mov qword [rbp + 0x68], rbx
mov r14d, edi
mov qword [rbp + 0x1b0], rdi
mov dword [rsp + 0x40], edi
test rax, rax
je 0x140031697
mov r15, qword [rax + 8]
mov qword [rsp + 0x48], r15
test r15, r15
je 0x140031697
cmp dword [rax], edi
je 0x140031697
mov r12d, dword [rax]
mov dword [rsp + 0x60], edi
test r12, r12
je 0x140031ae7
add r12, 0xfffffffffffffff8
mov rcx, r12
mov qword [rbp - 0x48], r12
call fcn.14000ab60
mov qword [rbp + 0x28], rax
mov r13, rax
test rax, rax
je 0x140031ae3
mov r8, r12
mov dword [rbp - 0x74], edi
mov dl, dil
mov r10, r15
mov byte [rsp + 0x78], dl
mov r9, rax
and r8d, 7
je 0x14003173b
or r15d, 0xffffffff
mov dword [rbp + 0x20], edi
mov dword [rbp - 0x80], r15d
mov r15d, edi
mov dword [rbp - 0x50], ebx
mov r11d, edi
test r8d, r8d
jle 0x1400316c1
mov edx, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x1400316a2
lea ecx, [rdx - 0x20]
shl eax, cl
or ebx, eax
jmp 0x1400316a9
mov r14d, 0xc000000d
jmp 0x140031b0a
mov ecx, edx
shl eax, cl
or r15d, eax
inc r10
inc r11d
sub edx, 8
cmp r11d, r8d
jl 0x140031684
mov dword [rbp + 0x20], r15d
mov dl, dil
mov dword [rbp - 0x50], ebx
mov r15d, ebx
mov eax, edi
mov ebx, dword [rbp + 0x20]
xor r15d, 0xe5d64a7e
xor ebx, 0x9c54a8c9
mov dword [rbp - 0x74], r15d
mov dword [rbp - 0x80], ebx
test r8d, r8d
jle 0x140031707
cmp eax, 4
jge 0x1400316f0
rol r15d, 8
mov byte [r9], r15b
jmp 0x1400316f6
rol ebx, 8
mov byte [r9], bl
inc r9
inc eax
cmp eax, r8d
jl 0x1400316e2
mov r15d, dword [rbp - 0x74]
mov ebx, dword [rbp - 0x80]
lea eax, [r8 - 4]
test eax, eax
jle 0x14003171f
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr ebx, cl
shl ebx, cl
jmp 0x140031741
mov ebx, edi
mov dword [rbp - 0x80], ebx
test eax, eax
jns 0x140031744
neg eax
shl eax, 3
mov ecx, eax
shr r15d, cl
shl r15d, cl
mov dword [rbp - 0x74], r15d
jmp 0x140031744
mov dword [rbp - 0x50], edi
mov r15d, edi
mov dword [rbp - 0x80], ebx
mov rax, r12
shr rax, 3
test rax, rax
je 0x140031a73
mov r13d, dword [rbp - 0x50]
lea r12, [r9 + 7]
mov r14d, dword [rbp + 0x20]
lea rdi, [r10 + 2]
mov rdx, rax
movzx eax, byte [rdi - 1]
mov r9d, 0x532d7f78
movzx r11d, byte [rdi - 2]
movzx r10d, byte [rdi + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rdi]
lea rdi, [rdi + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdi - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdi - 5]
or r10d, eax
xor r15d, r11d
movzx eax, byte [rdi - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdi - 3]
shl r10d, 8
or r10d, eax
xor ebx, r10d
xor ebx, r15d
xor ebx, 0x5384b529
lea eax, [rbx - 0x532d7f78]
rol eax, 5
imul ecx, eax, 0xca51
mov eax, ebx
rol eax, 0xa
add ecx, eax
xor r15d, ecx
lea eax, [r15 + 0xa9ca51]
ror eax, 9
imul ecx, eax, 0x532d
mov eax, r15d
rol eax, 2
sub ecx, eax
xor ebx, ecx
lea eax, [rbx - 0xca51]
imul ecx, eax, 0x7f78
mov eax, ebx
shr eax, 0xd
sub ecx, eax
xor r15d, ecx
mov eax, r15d
xor eax, 0x532d
rol eax, 6
imul ecx, eax, 0xa9
mov eax, r15d
rol eax, 2
sub ecx, eax
mov eax, 0xa9ca51
xor ebx, ecx
mov ecx, ebx
xor ecx, r9d
sub eax, ecx
xor r15d, eax
mov eax, r15d
mov r8d, r15d
xor eax, 0xca51
ror r8d, 6
imul ecx, eax, 0x532d
xor r8d, ecx
xor ebx, r8d
lea eax, [rbx + 0xa9ca51]
ror eax, 0xf
imul ecx, eax, 0x7f78
mov eax, ebx
rol eax, 2
add ecx, eax
xor r15d, ecx
lea eax, [r15 - 0x532d7f78]
ror eax, 0xe
imul ecx, eax, 0xa9
mov eax, r15d
rol eax, 8
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, r9d
mov r8d, 0x532d
ror eax, 0xc
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 0xa
xor ecx, eax
xor r15d, ecx
mov eax, r15d
xor eax, 0xa9
imul ecx, eax, 0x532d
mov eax, r15d
shr eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
mov r9d, ebx
not eax
ror eax, 5
add eax, 0x7f78
imul eax, eax, 0xa9
xor r15d, eax
xor r9d, r15d
xor r9d, 0x5384b529
mov eax, r9d
ror eax, 5
sub eax, r8d
imul eax, eax, 0xa9
xor ebx, eax
lea eax, [rbx - 0x532d]
rol eax, 3
imul ecx, eax, 0x7f78
mov eax, ebx
shr eax, 7
xor ecx, eax
xor r9d, ecx
lea eax, [r9 - 0x532d7f78]
rol eax, 0xe
imul ecx, eax, 0xa9
mov eax, r9d
ror eax, 0xc
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x532d7f78
rol eax, 9
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 2
add ecx, eax
xor r9d, ecx
lea eax, [r9 + 0xa9ca51]
rol eax, 8
imul ecx, eax, 0x532d
mov eax, r9d
ror eax, 6
sub ecx, eax
mov eax, 0xa9ca51
xor ebx, ecx
sub eax, ebx
ror eax, 0xe
imul ecx, eax, 0x7f78
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, r8d
rol eax, 5
imul ecx, eax, 0xa9
mov eax, r9d
rol eax, 0xf
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x532d7f78]
rol eax, 0xa
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 4
xor ecx, eax
xor r9d, ecx
mov eax, r9d
not eax
ror eax, 2
add eax, r8d
imul eax, eax, 0xca51
xor ebx, eax
mov eax, ebx
mov r8d, ebx
xor eax, 0xca51
ror r8d, 6
imul ecx, eax, 0x7f78
xor ebx, r14d
mov dword [rbp - 0x80], ebx
mov r14d, r10d
add r8d, ecx
xor r8d, r13d
mov r13d, r11d
xor r9d, r8d
mov dword [rbp - 0x74], r9d
mov byte [r12 - 4], r9b
mov al, byte [rbp - 0x80]
ror dword [rbp - 0x74], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp - 0x80], 8
mov al, byte [rbp - 0x74]
mov byte [r12 - 0xd], al
mov al, byte [rbp - 0x80]
ror dword [rbp - 0x74], 8
mov byte [r12 - 9], al
ror dword [rbp - 0x80], 8
mov al, byte [rbp - 0x74]
mov byte [r12 - 0xe], al
ror dword [rbp - 0x74], 8
mov al, byte [rbp - 0x80]
mov byte [r12 - 0xa], al
ror dword [rbp - 0x80], 8
mov al, byte [rbp - 0x74]
mov byte [r12 - 0xf], al
mov al, byte [rbp - 0x80]
mov byte [r12 - 0xb], al
mov r15d, dword [rbp - 0x74]
mov ebx, dword [rbp - 0x80]
ror r15d, 8
ror ebx, 8
mov dword [rbp - 0x74], r15d
mov dword [rbp - 0x80], ebx
sub rdx, 1
jne 0x140031767
mov dl, byte [rsp + 0x78]
xor edi, edi
mov r14d, dword [rsp + 0x40]
mov r12, qword [rbp - 0x48]
mov r13, qword [rbp + 0x28]
mov rax, rdi
test r12, r12
je 0x140031a87
xor dl, byte [rax + r13]
inc rax
cmp rax, r12
jb 0x140031a7b
mov rcx, qword [rsp + 0x48]
movzx eax, dl
cmp rax, qword [r12 + rcx]
je 0x140031aa1
mov rbx, qword [rbp + 0x68]
mov r15d, 0xc004d501
jmp 0x140031ab7
mov r15d, dword [rsp + 0x60]
mov rbx, r13
mov qword [rbp + 0x68], rbx
mov r13, rdi
mov qword [rbp + 0x1b0], r12
test r13, r13
je 0x140031ac8
mov rcx, r13
call fcn.140025e74
mov rbx, qword [rbp + 0x68]
test r15d, r15d
js 0x140031ae7
mov eax, dword [rbp + 0x1b0]
mov qword [rbp + 0x50], rbx
mov rbx, rdi
mov qword [rbp + 0x68], rbx
mov dword [rbp - 4], eax
jmp 0x140031aed
mov rbx, qword [rbp + 0x68]
mov r14d, 0xc0000001
test rbx, rbx
je 0x140031b0a
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x68], rdi
or r14d, 0x10000000
jl 0x140031d33
cmp dword [rbp - 4], 4
mov r9, qword [rbp + 0x50]
mov qword [rsp + 0x40], r9
mov dword [rsp + 0x48], edi
jb 0x140031d28
mov eax, dword [r9]
lea r8, [rsp + 0x40]
mov edx, 4
mov dword [rsp + 0x60], eax
mov rcx, r9
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140031d2e
lea r8, [rsp + 0x48]
xor ecx, ecx
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140031d2e
mov eax, dword [rbp - 4]
sub eax, dword [rsp + 0x48]
cmp eax, edx
jb 0x140031d28
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov r12d, dword [rcx]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140031d2e
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x48]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140031d2e
mov eax, dword [rbp - 4]
mov ecx, dword [rsp + 0x48]
sub eax, ecx
cmp eax, r12d
jb 0x140031d28
lea r8, [rsp + 0x48]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140031d2e
mov edx, dword [rbp - 4]
mov rbx, qword [rsp + 0x40]
lea rax, [rdx + r9]
lea rcx, [rbx + r12]
cmp rax, rcx
jb 0x140031d28
sub rdx, rbx
sub rdx, r12
add rdx, r9
cmp rdx, 8
jae 0x140031d28
mov dword [rbp - 0x50], edi
mov r13, rdi
mov r14d, edi
test rbx, rbx
je 0x140031cbf
lea r8, [rbp - 0x40]
mov edx, r12d
mov rcx, rbx
mov r9, rbx
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140031d1a
mov r11, qword [rbp - 0x40]
cmp rbx, r11
jae 0x140031cba
mov r10d, dword [rbp + 0x150]
lea r8, [rbp - 0x40]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140031d1a
cmp qword [rbp - 0x40], r11
ja 0x140031ceb
mov edx, dword [r9]
lea r8, [rsp + 0x40]
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov r14d, eax
cmovns r10d, dword [rsp + 0x40]
mov dword [rbp + 0x150], r10d
js 0x140031d1a
mov edx, r10d
lea r8, [rbp - 0x48]
mov rcx, r9
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140031d1a
mov r9, qword [rbp - 0x48]
cmp r9, r11
ja 0x140031ceb
inc dword [rbp - 0x50]
cmp r9, r11
jb 0x140031c43
cmp r9, r11
jne 0x140031ceb
test r12d, r12d
je 0x140031cf6
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
jne 0x140031cf3
mov r14d, 0xc0000017
jmp 0x140031d1a
mov r14d, 0xc000000d
jmp 0x140031d2e
mov r14d, edi
test rbx, rbx
je 0x140031d09
mov r8, r12
mov rdx, rbx
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp - 0x50]
mov dword [rbp + 0x78], eax
mov qword [rbp + 0x80], r13
mov dword [rbp + 0x7c], r12d
test r14d, r14d
js 0x140031d2e
mov eax, dword [rsp + 0x60]
cmp eax, dword [rbp + 0x78]
je 0x140031d2e
mov r14d, 0xc000003e
bts r14d, 0x1c
mov r15, qword [rbp + 0x18]
test r15, r15
je 0x140031d50
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [rbp + 0xf0]
test r15, r15
je 0x140031dda
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x140031d7d
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rdi
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x140031d9e
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rdi
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x140031dbf
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0xf0], rdi
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x140031df7
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x140031e14
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [rbp + 0x38]
test r15, r15
je 0x140031e94
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x140031e3e
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rdi
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x140031e5f
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rdi
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x140031e80
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x140031eb1
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x140031fc2
mov r9d, dword [rbp + 0x78]
cmp r9d, 1
jb 0x140031fc2
mov rbx, qword [rbp + 0x80]
test rbx, rbx
je 0x140031fc2
test r9d, r9d
je 0x140031fc2
mov r10d, dword [rbx]
lea r8, [rbp - 0x18]
mov edx, 4
mov qword [rbp - 0x18], rbx
mov rcx, rbx
call fcn.14000ad74
test eax, eax
js 0x140031fc2
mov rax, qword [rbp - 0x18]
test r10d, r10d
mov dword [rbp + 0x1d0], r10d
cmove rax, rdi
mov qword [rbp + 0x328], rax
cmp r10d, edx
jne 0x140031fc2
mov eax, dword [rax]
mov dword [rbp + 0x48], eax
test eax, eax
js 0x140031fc2
cmp r9d, 1
jbe 0x140031fc2
mov qword [rsp + 0x40], rbx
mov r9d, edi
lea r8, [rsp + 0x40]
mov edx, 4
mov rcx, rbx
call fcn.14000ad74
test eax, eax
js 0x140031fc2
mov edx, dword [rbx]
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
call fcn.14000ad74
test eax, eax
js 0x140031fc2
inc r9d
cmp r9d, 1
jae 0x140031f7d
mov rbx, qword [rsp + 0x40]
jmp 0x140031f42
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, 4
mov r9d, dword [rcx]
call fcn.14000ad74
test eax, eax
js 0x140031fc2
mov rax, qword [rsp + 0x40]
test r9d, r9d
mov dword [rbp + 0x2c0], r9d
cmove rax, rdi
mov qword [rbp + 0x330], rax
cmp r9d, 8
jne 0x140031fc2
mov rax, qword [rax]
mov qword [rbp + 0x338], rax
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
jmp 0x140031fd1
mov r14, rdi
mov rbx, qword [rbp - 0x58]
mov qword [rbp - 0x60], 0
test rbx, rbx
je 0x140031ffa
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x58], rdi
mov rbx, qword [rbp + 0x80]
mov qword [rbp + 0x78], 0
test rbx, rbx
je 0x140032029
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x80], rdi
test r15, r15
je 0x140032042
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x140008a84
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
jmp 0x140008a84
mov r14d, dword [rbp + 0x98]
mov r13d, 0x8007007a
mov r15d, dword [rbp + 0x90]
mov r12, qword [rbp + 0x188]
mov ebx, dword [rbp + 0x48]
jmp 0x140008ac3
cmp esi, 0xd0000034
jne 0x14003209c
mov esi, 0xc004f012
mov ebx, esi
jmp 0x140008afa
cmp esi, 0xd00000e5
je 0x1400320bb
cmp esi, 0xc004d501
je 0x1400320bb
cmp esi, 0xd000003e
jne 0x1400320c0
mov esi, 0xc004f028
jmp 0x140032095
mov esi, 0xc004f027
test esi, esi
jns 0x140008ad4
cmp esi, r13d
jne 0x140032095
mov ebx, 0xc004f01e
jmp 0x140008afa
mov rcx, qword [rcx + 0x10]
mov edx, 0x30
mov r8, rsi
call fcn.14003d1bc
nop
jmp 0x140008b3c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov rcx, qword [0x1400a92b0]
mov edx, 0x31
mov r9d, edi
mov dword [rsp + 0x20], eax
mov r8, rsi
mov rcx, qword [rcx + 0x10]
call fcn.140057a4c
jmp 0x14003215d
mov r14d, 0xd
mov ecx, r14d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_SetLastError]
mov rax, qword [0x1400a92b0]
lea r13, [0x1400a92b0]
cmp rax, r13
je 0x140008b9a
test byte [rax + 0x1c], 0x20
je 0x140008b8b
mov rcx, qword [rax + 0x10]
lea edx, [r14 + 0x25]
mov r9d, ebx
mov dword [rsp + 0x20], r14d
mov r8, rsi
call fcn.140057a4c
mov rax, qword [0x1400a92b0]
jmp 0x140008b8b
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov rcx, qword [0x1400a92b0]
mov edx, 0x33
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8, rsi
mov dword [rsp + 0x20], ebx
mov rcx, qword [rcx + 0x10]
call fcn.140053f64
nop
jmp 0x140008b9a