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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x320]
sub rsp, 0x420
xor edi, edi
mov qword [rbp + 0x180], r8
mov dword [rbp + 8], edi
mov r12, r8
mov r14d, edx
mov dword [rbp + 0x84], edx
mov r15, rcx
mov qword [rbp + 0x170], rcx
mov rcx, qword [0x1400a92b0]
lea rax, [0x1400a92b0]
cmp rcx, rax
je 0x14000232e
test byte [rcx + 0x1c], 0x80
jne 0x140026bec
mov qword [rbp + 0x110], rdi
mov dword [rbp + 0x150], edi
mov dword [rbp + 0xd8], edi
mov qword [rbp + 0x10], rdi
mov dword [rbp + 0x30], edi
mov edx, 4
mov dword [rbp + 0xd0], edi
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.14000a714
mov rax, qword [rbp + 0x10]
mov r13d, 0x8007007a
mov qword [rbp + 0x160], rax
test rax, rax
je 0x140026c0a
xor eax, eax
mov dword [rsp + 0x58], edi
lea r13, [0x1400a93b0]
mov qword [rsp + 0x5c], rax
mov dword [rsp + 0x64], eax
mov r15, rdi
mov qword [rbp - 0xc], rax
mov r14, rdi
mov dword [rbp - 4], eax
mov qword [rbp + 0x2b0], r13
mov dword [rbp + 0x88], edi
mov dword [rbp - 0x10], edi
mov dword [rbp + 4], edi
mov qword [rbp + 0x1a8], 0xa0
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0xa0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
or dword [rbp + 0xc], 0xffffffff
mov esi, 0xc0000017
mov r12, rax
mov ebx, 0x10000000
test rax, rax
je 0x1400046b1
mov r8, qword [rbp + 0x1a8]
mov rcx, rax
mov rdx, qword [rbp + 0x2b0]
call sub.msvcrt.dll_memcpy
mov r14d, dword [rbp + 0x1a8]
mov r15, r12
mov qword [rsp + 0x48], r12
lea rax, [0x1400a94f8]
mov qword [rbp + 0x1a0], 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 0x140026c14
mov r8, qword [rbp + 0x1a0]
mov rcx, rax
mov rdx, qword [rbp + 0x2b8]
call sub.msvcrt.dll_memcpy
mov r15, qword [rbp + 0x1a0]
mov qword [rsp + 0x40], r13
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1c0], rax
mov edx, 4
mov dword [rsp + 0x38], edi
mov ecx, edx
lea r8, [rsp + 0x30]
call fcn.14000ad5c
mov r11d, dword [rbp - 0x30]
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x30], r11d
js 0x140026c28
lea r8, [rsp + 0x38]
mov edx, r11d
xor ecx, ecx
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140026c28
lea r8, [rsp + 0x30]
mov edx, r14d
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x30], r11d
js 0x140026c28
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140026c28
lea r8, [rsp + 0x30]
mov edx, r15d
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x30], r11d
js 0x140026c28
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140026c28
mov edx, 8
lea r8, [rsp + 0x30]
lea ecx, [rdx - 4]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x30], r11d
js 0x140026c28
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140026c28
lea r8, [rbp - 0x20]
lea rcx, str.Printing_Spooler_Core_Spoolss_Licensing_Enabled
call fcn.14000ad04
test eax, eax
js 0x140026c1c
mov rax, qword [rbp - 0x20]
lea r8, [rsp + 0x30]
inc rax
mov ecx, 4
lea edx, [rax + rax]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x30], r11d
js 0x140026c28
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140026c28
mov edx, 4
lea r8, [rsp + 0x30]
mov ecx, edx
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x30], r11d
js 0x140026c28
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140026c28
mov edx, 4
lea r8, [rsp + 0x30]
mov ecx, edx
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x30], r11d
js 0x140026c28
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140026c28
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x5c], 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 0x140026c30
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x58], edi
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], edi
test rax, rax
je 0x140026c3e
lea r8, [rbp - 0x40]
mov rcx, r9
lea edx, [rbx - 4]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400026fd
mov ecx, dword [rsp + 0x5c]
lea rax, [r9 + 8]
add rcx, r9
cmp rax, rcx
ja 0x140026c37
mov rcx, qword [rbp - 0x40]
mov dword [r9], edx
mov eax, dword [rbp + 0x90]
mov dword [rcx], eax
inc dword [rsp + 0x58]
test esi, esi
js 0x140026c28
test r14d, r14d
je 0x140026c90
cmp qword [rsp + 0x60], rdi
je 0x140026c48
mov r11d, edi
mov r9, qword [rsp + 0x60]
mov qword [rsp + 0x50], r9
cmp dword [rsp + 0x58], edi
jbe 0x140002777
mov r10d, dword [rbp + 0x4c]
mov edx, dword [r9]
lea r8, [rsp + 0x30]
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r10d, dword [rsp + 0x30]
mov dword [rbp + 0x4c], r10d
js 0x1400027bd
mov edx, r10d
lea r8, [rsp + 0x50]
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400027bd
mov r9, qword [rsp + 0x50]
inc r11d
cmp r11d, dword [rsp + 0x58]
jb 0x140002730
lea r8, [rbp - 0x40]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400027bd
mov ecx, dword [rsp + 0x5c]
lea rax, [r14 + 4]
add rcx, qword [rsp + 0x60]
add rax, r9
mov r8, r14
cmp rax, rcx
ja 0x140026c37
mov rcx, qword [rbp - 0x40]
mov rdx, r12
mov dword [r9], r14d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x58]
test esi, esi
js 0x140026c28
test r15d, r15d
je 0x140026cf6
cmp qword [rsp + 0x60], rdi
je 0x140026c9a
mov ecx, edi
mov r9, qword [rsp + 0x60]
cmp dword [rsp + 0x58], edi
jbe 0x140002814
mov eax, dword [r9]
add eax, 4
cmp eax, 4
jb 0x140026cec
mov dword [rbp + 0xa0], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140026c23
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x58]
jb 0x1400027e6
lea r8, [rbp - 0x40]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000285a
mov ecx, dword [rsp + 0x5c]
add rcx, qword [rsp + 0x60]
mov r8d, r15d
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x140026c37
mov rcx, qword [rbp - 0x40]
mov rdx, r13
mov dword [r9], r15d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x58]
mov r13d, 4
test esi, esi
js 0x140026d50
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x1b0], rax
lea rax, [rbp + 0x1b0]
test rax, rax
je 0x140026d6e
cmp qword [rsp + 0x60], rdi
je 0x140026d00
mov ecx, edi
mov r9, qword [rsp + 0x60]
cmp dword [rsp + 0x58], edi
jbe 0x1400028cc
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x140026d5d
mov dword [rbp + 0xc0], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140026d4b
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x58]
jb 0x14000289e
lea r8, [rbp - 0x40]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000290e
mov ecx, dword [rsp + 0x5c]
lea rax, [r9 + 0xc]
add rcx, qword [rsp + 0x60]
cmp rax, rcx
ja 0x140026d67
mov rax, qword [rbp - 0x40]
mov dword [r9], ebx
movsd xmm0, qword [rbp + 0x1b0]
movsd qword [rax], xmm0
inc dword [rsp + 0x58]
test esi, esi
js 0x140026d50
lea r11, str.Printing_Spooler_Core_Spoolss_Licensing_Enabled
mov rcx, r11
lea r8, [rsp + 0x30]
call fcn.14000ad04
test eax, eax
js 0x140026d78
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov edx, 1
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400029f4
mov eax, dword [rsp + 0x30]
lea r10d, [rax + rax]
test r11, r11
je 0x140026d7f
test r10d, r10d
je 0x140026d88
cmp qword [rsp + 0x60], rdi
je 0x140026d92
mov ecx, edi
mov r9, qword [rsp + 0x60]
cmp dword [rsp + 0x58], edi
jbe 0x1400029b0
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x140026de0
mov dword [rbp + 0xd4], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140026de0
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x58]
jb 0x140002982
lea r8, [rbp - 0x40]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400029f4
mov ecx, dword [rsp + 0x5c]
lea rax, [r10 + 4]
add rcx, qword [rsp + 0x60]
add rax, r9
mov r8d, r10d
cmp rax, rcx
ja 0x140026dea
mov rcx, qword [rbp - 0x40]
mov rdx, r11
mov dword [r9], r10d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x58]
test esi, esi
js 0x140026d50
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0xb0], eax
lea rax, [rbp + 0xb0]
test rax, rax
je 0x140026e4a
cmp qword [rsp + 0x60], rdi
je 0x140026df4
mov ecx, edi
mov r9, qword [rsp + 0x60]
cmp dword [rsp + 0x58], edi
jbe 0x140002a5b
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x140026e40
mov dword [rbp + 0x80], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140026d4b
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x58]
jb 0x140002a2d
lea r8, [rbp - 0x40]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140002a99
mov ecx, dword [rsp + 0x5c]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x60]
cmp rax, rcx
ja 0x140026d67
mov rcx, qword [rbp - 0x40]
mov dword [r9], r13d
mov eax, dword [rbp + 0xb0]
mov dword [rcx], eax
inc dword [rsp + 0x58]
test esi, esi
js 0x140026d50
lea rax, [rbp + 0xc8]
mov dword [rbp + 0xc8], r13d
test rax, rax
je 0x140026ea4
cmp qword [rsp + 0x60], rdi
je 0x140026e54
mov ecx, edi
mov r9, qword [rsp + 0x60]
cmp dword [rsp + 0x58], edi
jbe 0x140002afb
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x140026e9a
mov dword [rbp + 0x78], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140026d4b
inc ecx
mov r9, rdx
cmp ecx, dword [rsp + 0x58]
jb 0x140002ad0
lea r8, [rbp - 0x40]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140002b39
mov ecx, dword [rsp + 0x5c]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x60]
cmp rax, rcx
ja 0x140026d67
mov rcx, qword [rbp - 0x40]
mov dword [r9], r13d
mov eax, dword [rbp + 0xc8]
mov dword [rcx], eax
inc dword [rsp + 0x58]
test esi, esi
js 0x140026d50
lea r8, [rsp + 0x30]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov r10d, dword [rbp - 0x2c]
test eax, eax
mov esi, eax
cmovns r10d, dword [rsp + 0x30]
mov dword [rbp - 0x2c], r10d
js 0x140026eae
lea r8, [rsp + 0x30]
mov dword [rsp + 0x38], r10d
mov edx, ebx
call fcn.14000ad5c
test eax, eax
mov r9d, r10d
mov esi, eax
cmovns r9d, dword [rsp + 0x30]
mov dword [rbp - 0x2c], r9d
js 0x140026eae
lea r8, [rsp + 0x38]
mov edx, r9d
mov ecx, r10d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140026eae
lea r8, [rsp + 0x30]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r9d, dword [rsp + 0x30]
mov dword [rbp - 0x2c], r9d
js 0x140026eae
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140026eae
lea r8, [rsp + 0x30]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r9d, dword [rsp + 0x30]
mov dword [rbp - 0x2c], r9d
js 0x140026eae
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140026eae
lea r8, [rsp + 0x30]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r9d, dword [rsp + 0x30]
mov dword [rbp - 0x2c], r9d
js 0x140026eae
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140026eae
lea r8, [rsp + 0x30]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r9d, dword [rsp + 0x30]
mov dword [rbp - 0x2c], r9d
js 0x140026eae
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 8]
test esi, esi
cmovns eax, dword [rsp + 0x38]
mov dword [rsp + 0x50], eax
test esi, esi
js 0x140026d50
mov r13, rdi
mov qword [rbp + 0x18], rdi
mov r15d, edi
mov qword [rbp + 0xe8], rdi
mov qword [rbp + 0x40], rdi
mov r12d, edi
mov qword [rbp - 0x58], rdi
mov dword [rbp - 0x34], edi
mov qword [rbp + 0x28], rdi
mov qword [rbp - 0x50], rdi
mov dword [rbp - 0x14], edi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x158], rax
mov dword [rbp - 0x28], ebx
mov edx, dword [rsp + 0x5c]
lea r8, [rbp - 0x28]
mov ecx, ebx
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140002dbe
mov eax, dword [rbp - 0x28]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x28]
jb 0x140026eb6
mov dword [rbp - 0x28], 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 0x140026ec0
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x30]
mov eax, dword [rsp + 0x58]
mov edx, 4
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140002db5
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140002db5
mov ecx, dword [rbp - 0x28]
mov rax, qword [rbp + 0x158]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rsp + 0x5c]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_memcpy
mov r15d, dword [rbp - 0x28]
mov r13, rbx
mov qword [rbp + 0x18], rbx
mov rbx, rdi
test rbx, rbx
jne 0x140026eca
or esi, 0x10000000
jl 0x140004163
mov qword [rbp + 0x270], rdi
mov r14, rdi
mov qword [rbp + 0x1f0], rdi
mov qword [rbp + 0x280], rdi
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x1e0], rdi
test r13, r13
je 0x140026ee4
mov esi, r15d
mov qword [rbp - 0x20], rsi
test r15d, r15d
je 0x14002704c
lea rax, [rsi + 8]
mov rcx, rax
mov qword [rbp - 0x48], rax
call fcn.14000ab60
mov qword [rsp + 0x30], rax
mov r12, rax
test rax, rax
je 0x14002704c
mov dl, dil
mov rcx, rdi
test r15d, r15d
je 0x140002e48
xor dl, byte [rcx + r13]
inc rcx
cmp rcx, rsi
jb 0x140002e3c
or r11d, 0xffffffff
mov dword [rsp + 0x38], edi
mov r8, rsi
mov dword [rsp + 0x7c], r11d
mov ebx, edi
mov r9, r13
mov dword [rbp - 0x74], ebx
mov r10, rax
mov r13d, edi
and r8d, 7
jne 0x140026eee
mov r15, rsi
shr r15, 3
test r15, r15
je 0x1400031ab
mov r14d, dword [rsp + 0x38]
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 - 0x74], ebx
xor r11d, 0xed96c26b
xor r11d, r13d
mov r14d, r10d
mov dword [rsp + 0x7c], r11d
mov r13d, r9d
mov byte [r12 - 4], bl
mov al, byte [rsp + 0x7c]
ror dword [rbp - 0x74], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rsp + 0x7c], 8
mov al, byte [rbp - 0x74]
mov byte [r12 - 0xd], al
mov al, byte [rsp + 0x7c]
ror dword [rbp - 0x74], 8
mov byte [r12 - 9], al
ror dword [rsp + 0x7c], 8
mov al, byte [rbp - 0x74]
mov byte [r12 - 0xe], al
ror dword [rbp - 0x74], 8
mov al, byte [rsp + 0x7c]
mov byte [r12 - 0xa], al
ror dword [rsp + 0x7c], 8
mov al, byte [rbp - 0x74]
mov byte [r12 - 0xf], al
mov al, byte [rsp + 0x7c]
mov byte [r12 - 0xb], al
mov ebx, dword [rbp - 0x74]
mov r11d, dword [rsp + 0x7c]
ror ebx, 8
ror r11d, 8
mov dword [rbp - 0x74], ebx
mov dword [rsp + 0x7c], r11d
sub r15, 1
jne 0x140002e8d
mov rsi, qword [rbp - 0x20]
mov r14, rdi
mov r12, qword [rsp + 0x30]
movzx eax, dl
mov qword [r12 + rsi], rax
mov rsi, qword [rbp - 0x48]
mov qword [rbp + 0x1e0], rsi
mov qword [rbp + 0x120], r12
lea rax, [0x1400a94f0]
mov r13d, 8
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x1f0], r13
lea r15, [0x1400a9450]
mov qword [rbp + 0x200], 0xa0
mov qword [rbp + 0x280], 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 0x140026fbb
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 0x140026fc5
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 0x140026fc5
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 0x140026fc5
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 0x140026fcf
test esi, esi
js 0x140003327
mov qword [rbp + 0xe8], r14
mov r14, rdi
mov rbx, qword [rbp + 0x120]
test rbx, rbx
je 0x14000334e
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 + 0x120], rdi
test r14, r14
jne 0x140027056
mov r12d, edi
or esi, 0x10000000
jl 0x140004163
mov r14, qword [rbp + 0xe8]
lea r8, [rsp + 0x38]
mov r15d, 4
mov ecx, r15d
mov dword [rsp + 0x38], r15d
mov edx, dword [r14]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x1400270d3
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x1400270d3
mov edx, dword [r14 + 0x10]
lea r8, [rsp + 0x38]
mov ecx, dword [rsp + 0x38]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x1400270d3
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x1400270d3
mov edx, dword [r14 + 0x20]
lea r8, [rsp + 0x38]
mov ecx, dword [rsp + 0x38]
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 0x38]
test esi, esi
cmovns eax, dword [rsp + 0x38]
mov dword [rbp + 0x38], eax
test esi, esi
js 0x140003529
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 0x1400270db
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x30]
mov eax, dword [r14]
mov rdx, r15
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003520
mov r8d, dword [r14]
mov rdx, qword [r14 + 8]
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14]
lea r8, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003520
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov eax, dword [r14 + 0x10]
mov rdx, r15
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003520
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0x10]
lea r8, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003520
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov eax, dword [r14 + 0x20]
mov rdx, r15
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003520
mov r8d, dword [r14 + 0x20]
mov rdx, qword [r14 + 0x28]
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0x20]
lea r8, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003520
mov r12d, dword [rbp + 0x38]
mov qword [rbp + 0x40], rbx
mov rbx, rdi
test rbx, rbx
jne 0x1400270e5
or esi, 0x10000000
jl 0x140004163
mov ebx, edi
mov qword [rbp + 0x278], rdi
mov dword [rbp + 0xf0], ebx
mov r11d, edi
mov dword [rbp + 0x148], edi
mov qword [rbp + 0x210], rdi
mov dword [rbp + 0x34], 8
mov edx, dword [rsp + 0x50]
lea r8, [rbp + 0x34]
mov ecx, 8
call fcn.14000ad5c
mov esi, eax
or esi, 0x10000000
jl 0x14000377b
mov eax, dword [rbp + 0x34]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x34]
jb 0x1400270ff
mov dword [rbp + 0xbc], eax
mov edx, ecx
lea r8, [rbp + 0xbc]
mov ecx, eax
call fcn.14000ad5c
mov r9d, dword [rbp + 0xa8]
test eax, eax
mov esi, eax
cmovns r9d, dword [rbp + 0xbc]
mov dword [rbp + 0xa8], r9d
test esi, esi
js 0x140004163
cmp qword [rsp + 0x60], rdi
je 0x140027110
cmp dword [rsp + 0x58], 1
jbe 0x140027110
mov rcx, qword [rsp + 0x60]
mov r10d, edi
mov qword [rsp + 0x30], rcx
mov r14d, dword [rcx]
lea r8, [rsp + 0x30]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003658
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov edx, r14d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003658
mov rcx, qword [rsp + 0x30]
inc r10d
cmp r10d, 1
jb 0x1400035e9
mov r10d, dword [rcx]
lea r8, [rsp + 0x30]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003658
mov rax, qword [rsp + 0x30]
test r10d, r10d
mov r11d, r10d
mov dword [rbp + 0x148], r10d
cmove rax, rdi
mov qword [rbp + 0x278], rax
test esi, esi
js 0x140004163
cmp dword [rsp + 0x58], 2
jbe 0x140027110
mov rcx, qword [rsp + 0x60]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x14002712c
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x14002712c
inc r8d
mov qword [rsp + 0x30], rcx
cmp r8d, 2
jb 0x140003673
mov r10d, dword [rcx]
lea r8, [rsp + 0x30]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400036ce
mov rax, qword [rsp + 0x30]
test r10d, r10d
mov ebx, r10d
cmove rax, rdi
mov dword [rbp + 0xf0], ebx
mov qword [rbp + 0x210], rax
test esi, esi
js 0x140004163
lea r8, [rsp + 0x38]
mov dword [rsp + 0x38], r15d
mov edx, r9d
mov ecx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002711a
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002711a
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002711a
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14002711a
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, ebx
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 0x7c]
test esi, esi
cmovns eax, dword [rsp + 0x38]
mov dword [rbp + 0x7c], eax
test esi, esi
js 0x140004163
cmp eax, 0x400000
ja 0x140027122
mov dword [rbp - 0x34], eax
test esi, esi
js 0x140004163
mov ebx, dword [rbp - 0x34]
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 0x140027136
mov r15, rax
mov qword [rbp - 0x58], rax
or esi, 0x10000000
jl 0x140004163
mov rsi, qword [rbp + 0x40]
test rsi, rsi
je 0x140027143
test r15, r15
je 0x140027143
lea r8, [rbp + 0x2a8]
mov ecx, 1
lea rdx, [0x1400735c8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14002714d
mov rcx, qword [rbp + 0x2a8]
lea rdx, [0x1400735e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14002714d
mov eax, dword [rbp - 0x34]
mov rcx, rbx
mov dword [rbp + 0x2fc], eax
mov qword [rbp + 0x2e8], rsi
mov dword [rbp + 0x2f8], r12d
mov qword [rbp + 0x2f0], r15
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 - 0x34]
mov esi, eax
or esi, 0x10000000
cmovns r9d, dword [rbp + 0x2fc]
mov dword [rbp - 0x34], r9d
cmp esi, 0xd0000023
je 0x140027174
test esi, esi
js 0x140004163
mov dword [rsp + 0x38], edi
mov r14, rdi
mov qword [rsp + 0x30], r15
cmp r9d, 4
jb 0x140027182
mov r13d, dword [r15]
lea r8, [rsp + 0x30]
mov edx, 4
mov rcx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003b54
lea r8, [rsp + 0x38]
xor ecx, ecx
mov r15d, edx
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140003b54
mov eax, r9d
sub eax, dword [rsp + 0x38]
cmp eax, r13d
jb 0x140027182
mov rax, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov rcx, rax
mov qword [rsp + 0x50], rax
mov edx, r13d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003b54
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140003b54
mov eax, r9d
sub eax, dword [rsp + 0x38]
cmp eax, r15d
jb 0x140027182
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov edx, r15d
mov r12d, dword [rcx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003b54
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140003b54
mov eax, r9d
sub eax, dword [rsp + 0x38]
cmp eax, r12d
jb 0x140027182
mov rax, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov rcx, rax
mov qword [rbp - 0x20], rax
mov edx, r12d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003b54
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140003b54
mov eax, r9d
sub eax, dword [rsp + 0x38]
cmp eax, r15d
jb 0x140027182
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov edx, 4
mov r15d, dword [rcx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140003b54
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140003b54
mov ecx, dword [rsp + 0x38]
mov eax, r9d
sub eax, ecx
cmp eax, r15d
jb 0x140027182
lea r8, [rsp + 0x38]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140003b54
cmp r9d, dword [rsp + 0x38]
jne 0x140027182
lea ecx, [r15 + r12]
mov eax, r9d
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x140027182
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 0x14002718c
mov esi, edi
cmp qword [rsp + 0x50], rdi
je 0x1400271a0
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 0x140027196
mov qword [rbx + 8], rax
mov rdx, qword [rsp + 0x50]
mov r8d, r13d
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r13, qword [rbp - 0x20]
test r13, r13
je 0x1400271ab
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 0x140027196
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 + 0x30], rdi
je 0x1400271b7
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 0x140027196
mov qword [rbx + 0x28], rax
mov rdx, qword [rsp + 0x30]
mov r8, r15
mov rcx, rax
mov esi, edi
call sub.msvcrt.dll_memcpy
mov r14, rbx
mov rbx, rdi
test rbx, rbx
jne 0x1400271c3
test esi, esi
js 0x140003b4b
mov qword [rbp + 0x28], r14
mov r14, rdi
test r14, r14
jne 0x140027240
or esi, 0x10000000
jl 0x140004163
mov rax, qword [rbp + 0x28]
mov rbx, rdi
mov qword [rbp + 0x58], rbx
mov esi, edi
mov qword [rbp + 0x190], rdi
test rax, rax
je 0x1400272bd
mov r14, qword [rax + 8]
mov qword [rsp + 0x50], r14
test r14, r14
je 0x1400272bd
cmp dword [rax], edi
je 0x1400272bd
mov r15d, dword [rax]
test r15, r15
je 0x1400273bf
add r15, 0xfffffffffffffff8
mov rcx, r15
mov qword [rbp - 0x48], r15
call fcn.14000ab60
mov qword [rbp - 0x20], rax
mov r12, rax
test rax, rax
je 0x1400273bb
mov r8, r15
mov dword [rbp - 0x78], edi
mov r9, r14
mov dl, dil
mov r10, rax
mov r14d, edi
and r8d, 7
jne 0x1400272c7
or dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x78], ebx
mov r13, r15
shr r13, 3
test r13, r13
je 0x140003f13
mov edx, dword [rsp + 0x38]
lea r15, [r10 + 7]
mov r12d, dword [rsp + 0x68]
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 + 0x78], ebx
mov edx, r10d
add r8d, ecx
xor r8d, r12d
mov r12d, r11d
xor r9d, r8d
mov dword [rbp - 0x78], r9d
mov byte [r15 - 4], r9b
mov al, byte [rsp + 0x78]
ror dword [rbp - 0x78], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rsp + 0x78], 8
mov al, byte [rbp - 0x78]
mov byte [r15 - 0xd], al
mov al, byte [rsp + 0x78]
ror dword [rbp - 0x78], 8
mov byte [r15 - 9], al
ror dword [rsp + 0x78], 8
mov al, byte [rbp - 0x78]
mov byte [r15 - 0xe], al
ror dword [rbp - 0x78], 8
mov al, byte [rsp + 0x78]
mov byte [r15 - 0xa], al
ror dword [rsp + 0x78], 8
mov al, byte [rbp - 0x78]
mov byte [r15 - 0xf], al
mov al, byte [rsp + 0x78]
mov byte [r15 - 0xb], al
mov r14d, dword [rbp - 0x78]
mov ebx, dword [rsp + 0x78]
ror r14d, 8
ror ebx, 8
mov dword [rbp - 0x78], r14d
mov dword [rsp + 0x78], ebx
sub r13, 1
jne 0x140003c0d
mov r15, qword [rbp - 0x48]
mov dl, sil
mov r12, qword [rbp - 0x20]
xor edi, edi
mov rax, rdi
test r15, r15
je 0x140003f27
xor dl, byte [rax + r12]
inc rax
cmp rax, r15
jb 0x140003f1b
mov rcx, qword [rsp + 0x50]
movzx eax, dl
cmp rax, qword [r15 + rcx]
jne 0x14002739b
mov rbx, r12
mov qword [rbp + 0x190], r15
mov qword [rbp + 0x58], rbx
mov r12, rdi
mov r14d, esi
test r12, r12
jne 0x1400273aa
test r14d, r14d
js 0x1400273bf
mov eax, dword [rbp + 0x190]
mov qword [rbp - 0x50], rbx
mov rbx, rdi
mov qword [rbp + 0x58], rbx
mov dword [rbp - 0x14], eax
test rbx, rbx
jne 0x1400273c9
or esi, 0x10000000
jl 0x140004163
mov r9, qword [rbp - 0x50]
mov r15d, 4
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], r9
cmp dword [rbp - 0x14], r15d
jb 0x14002740e
mov r10d, dword [r9]
lea r8, [rsp + 0x30]
mov edx, r15d
mov dword [rsp + 0x50], r10d
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000415f
lea r8, [rsp + 0x38]
xor ecx, ecx
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14000415f
mov eax, dword [rbp - 0x14]
sub eax, dword [rsp + 0x38]
cmp eax, r15d
jb 0x14002740e
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov r11d, edx
mov r15d, dword [rcx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14000415f
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14000415f
mov eax, dword [rbp - 0x14]
mov ecx, dword [rsp + 0x38]
sub eax, ecx
cmp eax, r15d
jb 0x14002740e
lea r8, [rsp + 0x38]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14000415f
mov edx, dword [rbp - 0x14]
mov rbx, qword [rsp + 0x30]
lea rcx, [rdx + r9]
lea rax, [r15 + rbx]
cmp rcx, rax
jb 0x14002740e
sub rdx, r15
sub rdx, rbx
add rdx, r9
cmp rdx, 8
jae 0x14002740e
mov r12, rdi
mov esi, edi
mov r13d, edi
test rbx, rbx
je 0x140004103
lea r8, [rbp - 0x48]
mov edx, r15d
mov rcx, rbx
mov r9, rbx
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140004151
mov rcx, qword [rbp - 0x48]
cmp rbx, rcx
jae 0x1400040fa
lea rax, [r9 + 4]
cmp rax, r9
jb 0x1400273fa
cmp rax, rcx
ja 0x1400273f0
mov eax, dword [r9]
add eax, r11d
cmp eax, r11d
jb 0x1400273e6
mov dword [rbp + 0x260], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x1400273fa
mov r9, rdx
mov esi, edi
cmp rdx, rcx
ja 0x1400273f0
inc r13d
cmp rdx, rcx
jb 0x1400040ab
cmp r9, rcx
jne 0x1400273f0
test r15d, r15d
je 0x14000412d
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 0x140027404
mov esi, edi
test rbx, rbx
je 0x140004140
mov r8, r15
mov rdx, rbx
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp - 8], r12
mov dword [rbp - 0xc], r15d
mov dword [rbp - 0x10], r13d
mov r10d, dword [rsp + 0x50]
test esi, esi
js 0x14000415f
cmp r10d, dword [rbp - 0x10]
jne 0x14002740e
bts esi, 0x1c
mov r15d, 0x8007007a
mov rbx, qword [rbp + 0x18]
test rbx, rbx
je 0x140004186
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 + 0xe8]
test r14, r14
je 0x140004210
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1400041b3
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 0x1400041d4
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 0x1400041f5
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 + 0xe8], rdi
mov rbx, qword [rbp + 0x40]
test rbx, rbx
je 0x14000422d
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 - 0x58]
test rbx, rbx
je 0x14000424a
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 + 0x28]
test r14, r14
je 0x1400042ca
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x140004274
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 0x140004295
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 0x1400042b6
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 - 0x50]
test rbx, rbx
je 0x1400042e7
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 0x1400046a0
cmp dword [rbp - 0x10], 1
jb 0x140027418
mov r13d, 4
cmp qword [rbp - 8], rdi
je 0x140027422
cmp dword [rbp - 0x10], edi
jbe 0x140027422
mov rbx, qword [rbp - 8]
lea r8, [rbp - 0x58]
mov edx, r13d
mov qword [rbp - 0x58], rbx
mov rcx, rbx
mov r9d, dword [rbx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14002742c
mov rax, qword [rbp - 0x58]
test r9d, r9d
mov dword [rbp + 0x12c], r9d
cmove rax, rdi
mov qword [rbp + 0x220], rax
test esi, esi
js 0x1400046a0
cmp r9d, r13d
jne 0x14002743f
mov eax, dword [rax]
mov dword [rbp + 4], eax
test esi, esi
js 0x1400046a0
mov esi, dword [rbp + 4]
cmp esi, 0xd0000023
cmove esi, r15d
mov dword [rbp + 4], esi
cmp esi, r15d
je 0x14000438a
test esi, esi
js 0x1400046a0
cmp dword [rbp - 0x10], 6
jne 0x140027418
cmp qword [rbp - 8], rdi
je 0x140027449
mov rcx, qword [rbp - 8]
mov r9d, edi
mov qword [rsp + 0x30], rcx
mov r10d, dword [rcx]
lea r8, [rsp + 0x30]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140027453
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov edx, r10d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140027453
mov rcx, qword [rsp + 0x30]
inc r9d
cmp r9d, 1
jb 0x1400043aa
mov r9d, dword [rcx]
lea r8, [rsp + 0x30]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140027453
mov rax, qword [rsp + 0x30]
test r9d, r9d
mov dword [rbp + 0x11c], r9d
cmove rax, rdi
mov qword [rbp + 0x288], rax
test esi, esi
js 0x1400046a0
cmp r9d, 8
jne 0x14002743f
mov rax, qword [rax]
mov qword [rbp + 0x250], rax
test esi, esi
js 0x1400046a0
cmp qword [rbp - 8], rdi
je 0x140027466
mov rcx, qword [rbp - 8]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x140027483
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x140027483
inc r8d
mov qword [rbp - 0x58], rcx
cmp r8d, 2
jb 0x140004457
mov r9d, dword [rcx]
lea r8, [rbp - 0x58]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140027470
mov rax, qword [rbp - 0x58]
test r9d, r9d
mov dword [rbp + 0xfc], r9d
cmove rax, rdi
mov qword [rbp + 0x230], rax
test esi, esi
js 0x1400046a0
cmp r9d, r13d
jne 0x14002743f
mov eax, dword [rax]
mov dword [rbp + 0x144], eax
test esi, esi
js 0x1400046a0
cmp qword [rbp - 8], rdi
je 0x14002748d
mov rcx, qword [rbp - 8]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x1400274ec
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x1400274ec
inc r8d
mov qword [rbp - 0x58], rcx
cmp r8d, 3
jb 0x1400044e3
mov r10d, dword [rcx]
lea r8, [rbp - 0x58]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140027497
mov r11, qword [rbp - 0x58]
test r10d, r10d
mov dword [rbp + 0x14c], r10d
cmove r11, rdi
mov qword [rbp + 0x2c0], r11
test eax, eax
js 0x1400046a0
mov rcx, qword [rbp - 8]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x1400274bd
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x1400274bd
inc r8d
mov qword [rbp - 0x58], rcx
cmp r8d, r13d
jb 0x14000454c
mov r9d, dword [rcx]
lea r8, [rbp - 0x58]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400274aa
mov rax, qword [rbp - 0x58]
test r9d, r9d
mov dword [rbp + 0x108], r9d
cmove rax, rdi
mov qword [rbp + 0x240], rax
test esi, esi
js 0x1400046a0
cmp r9d, r13d
jne 0x14002743f
mov eax, dword [rax]
mov dword [rbp + 0x118], eax
test esi, esi
js 0x1400046a0
mov rcx, qword [rbp - 8]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x1400274da
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x1400274da
inc r8d
mov qword [rbp - 0x58], rcx
cmp r8d, 5
jb 0x1400045cd
mov r9d, dword [rcx]
lea r8, [rbp - 0x58]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400274c7
mov rax, qword [rbp - 0x58]
test r9d, r9d
mov dword [rbp + 0x134], r9d
cmove rax, rdi
mov qword [rbp + 0x298], rax
test esi, esi
js 0x1400046a0
cmp r9d, r13d
jne 0x14002743f
mov eax, dword [rax]
mov dword [rbp + 0x88], eax
test esi, esi
js 0x1400046a0
mov rax, qword [rbp + 0x250]
cmp qword [rbp + 0x1c0], rax
jne 0x140027418
mov eax, dword [rbp + 0x88]
mov ecx, dword [rbp + 0x118]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x144]
mov dword [rbp + 0xd8], eax
mov dword [rbp + 0xd0], ecx
cmp ecx, r13d
ja 0x1400274e4
cmp r10d, r13d
ja 0x1400274e4
mov rcx, qword [rbp + 0x160]
mov rdx, r11
mov r8d, r10d
call sub.msvcrt.dll_memcpy
cmp dword [rbp + 4], edi
cmovne esi, dword [rbp + 4]
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
lea r13, [0x1400a93b0]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x58], 0
test rbx, rbx
je 0x1400046dd
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 + 0x60], rdi
mov rbx, qword [rbp - 8]
mov qword [rbp - 0x10], 0
test rbx, rbx
je 0x140004706
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 0x14000471f
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 0x140004738
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 0x1400297a7
cmp dword [rbp + 0x30], edi
jne 0x1400274f6
mov eax, dword [rbp + 0xd0]
mov r13d, 0x8007007a
mov ebx, dword [rbp + 0xd8]
mov r14d, dword [rbp + 0x84]
mov r15, qword [rbp + 0x170]
mov r12, qword [rbp + 0x180]
mov dword [rbp + 0x2a0], eax
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x10], rdi
lea rcx, [rbp + 0x10]
call fcn.14000a6e8
test esi, esi
js 0x1400297ca
cmp ebx, 4
jne 0x14002980f
mov rcx, qword [rbp + 0x110]
call fcn.14000a740
mov ebx, dword [rbp + 0x150]
test al, al
cmovne rcx, rdi
mov eax, dword [rcx]
mov dword [rbp + 8], eax
lea rcx, [rbp + 0x110]
call fcn.14000a6e8
test ebx, ebx
js 0x14002985f
cmp dword [rbp + 8], 1
jne 0x14002985f
mov rcx, qword [0x1400a92b0]
lea r13, [0x1400a92b0]
cmp rcx, r13
je 0x1400047fa
test byte [rcx + 0x1c], 0x80
jne 0x140029819
mov r8, r12
mov edx, r14d
mov rcx, r15
call fcn.140004854
mov edi, eax
mov rax, qword [0x1400a92b0]
cmp rax, r13
je 0x14000482f
test byte [rax + 0x1c], 0x80
jne 0x140029834
cmp rax, r13
je 0x14000482f
test byte [rax + 0x1c], 0x80
jne 0x1400298b3
mov eax, edi
mov rbx, qword [rsp + 0x478]
add rsp, 0x420
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rcx + 0x10]
lea r8, [0x14009cef8]
mov edx, 0x16
mov r9d, r14d
call fcn.14003d1e0
nop
jmp 0x14000232e
mov esi, 0x8007000e
jmp 0x1400297c2
mov r14, rdi
jmp 0x1400046aa
mov esi, 0xc000003e
jmp 0x140026c28
mov esi, 0xc0000095
mov r14, r13
jmp 0x140026d55
mov esi, 0xc0000017
jmp 0x140026c28
mov esi, 0xc0000023
jmp 0x140026c28
mov esi, 0xc000000d
jmp 0x1400026fd
lea r8, [rsp + 0x30]
mov edx, r14d
mov ecx, 4
call fcn.14000ad5c
mov edx, dword [rbp + 0x4c]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x30]
mov dword [rbp + 0x4c], edx
js 0x1400027bd
mov ecx, dword [rsp + 0x5c]
lea r8, [rsp + 0x5c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x1400027bd
inc dword [rsp + 0x58]
jmp 0x1400027c5
mov esi, 0xc000000d
jmp 0x1400027bd
mov r13d, 4
lea r8, [rsp + 0x30]
mov ecx, r13d
mov edx, r15d
call fcn.14000ad5c
mov edx, dword [rbp + 0xa0]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x30]
mov dword [rbp + 0xa0], edx
js 0x140002860
mov ecx, dword [rsp + 0x5c]
lea r8, [rsp + 0x5c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140002860
inc dword [rsp + 0x58]
jmp 0x140002868
mov esi, 0xc0000095
jmp 0x14000285a
mov esi, 0xc000000d
jmp 0x14000285a
lea r8, [rsp + 0x30]
mov edx, ebx
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0xc0]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x30]
mov dword [rbp + 0xc0], edx
js 0x14000290e
mov ecx, dword [rsp + 0x5c]
lea r8, [rsp + 0x5c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14000290e
inc dword [rsp + 0x58]
jmp 0x140002916
mov esi, 0xc0000095
mov r14, qword [rsp + 0x40]
mov r15, r12
jmp 0x1400046aa
mov esi, 0xc0000095
jmp 0x14000290e
mov esi, 0xc0000023
jmp 0x140026d50
mov esi, 0xc000000d
jmp 0x14000290e
mov esi, 0xc000003e
jmp 0x140026d50
test r10d, r10d
je 0x14000296a
mov esi, 0xc000000d
jmp 0x1400029f4
lea r8, [rsp + 0x30]
mov edx, r10d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0xd4]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x30]
mov dword [rbp + 0xd4], edx
js 0x1400029f4
mov ecx, dword [rsp + 0x5c]
lea r8, [rsp + 0x5c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x1400029f4
inc dword [rsp + 0x58]
mov esi, edi
jmp 0x1400029f4
mov esi, 0xc0000095
jmp 0x1400029f4
mov esi, 0xc0000023
jmp 0x1400029f4
lea r8, [rsp + 0x30]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0x80]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x30]
mov dword [rbp + 0x80], edx
js 0x140002a99
mov ecx, dword [rsp + 0x5c]
lea r8, [rsp + 0x5c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140002a99
inc dword [rsp + 0x58]
jmp 0x140002aa1
mov esi, 0xc0000095
jmp 0x140002a99
mov esi, 0xc000000d
jmp 0x140002a99
lea r8, [rsp + 0x30]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0x78]
test eax, eax
mov esi, eax
cmovns edx, dword [rsp + 0x30]
mov dword [rbp + 0x78], edx
js 0x140002b39
mov ecx, dword [rsp + 0x5c]
lea r8, [rsp + 0x5c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140002b39
inc dword [rsp + 0x58]
jmp 0x140002b41
mov esi, 0xc0000095
jmp 0x140002b39
mov esi, 0xc000000d
jmp 0x140002b39
mov eax, dword [rbp + 8]
jmp 0x140002ca9
mov esi, 0xc0000095
jmp 0x140002dbe
mov esi, 0xc0000017
jmp 0x140002dbe
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 0x140002dbe
mov esi, 0xc000000d
jmp 0x14000335a
mov dword [rsp + 0x38], edi
mov r15d, edi
test r8d, r8d
jle 0x140026f2f
mov r11d, 0x38
movzx eax, byte [r9]
cmp ebx, 4
jge 0x140026f14
lea ecx, [r11 - 0x20]
shl eax, cl
or r15d, eax
jmp 0x140026f1c
mov ecx, r11d
shl eax, cl
or r13d, eax
inc r9
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x140026f00
mov dword [rsp + 0x38], r15d
mov ebx, r15d
mov r11d, r13d
xor ebx, 0x875330f4
xor r11d, 0x549791cd
mov dword [rbp - 0x74], ebx
mov eax, edi
mov dword [rsp + 0x7c], r11d
test r8d, r8d
jle 0x140026f77
cmp eax, 4
jge 0x140026f5e
rol ebx, 8
mov byte [r10], bl
jmp 0x140026f65
rol r11d, 8
mov byte [r10], r11b
inc r10
inc eax
cmp eax, r8d
jl 0x140026f51
mov ebx, dword [rbp - 0x74]
mov r11d, dword [rsp + 0x7c]
lea eax, [r8 - 4]
test eax, eax
jle 0x140026f99
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x7c], r11d
jmp 0x140002e70
mov dword [rsp + 0x7c], edi
mov r11d, edi
test eax, eax
jns 0x140002e70
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rbp - 0x74], ebx
jmp 0x140002e70
mov esi, 0xc0000017
jmp 0x140003319
mov esi, 0xc0000017
jmp 0x140003310
mov r15, qword [rbx + 8]
test r15, r15
je 0x140026ff0
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 0x140027011
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 0x140027032
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 0x140003319
mov esi, 0xc0000001
jmp 0x140003327
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x140027077
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 0x140027098
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 0x1400270b9
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 0x140003357
mov eax, dword [rbp + 0x38]
jmp 0x140003405
mov esi, 0xc0000017
jmp 0x140003529
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 0x140003529
mov r9d, dword [rbp + 0xa8]
mov esi, 0xc0000095
jmp 0x1400035be
mov esi, 0xc000000d
jmp 0x14000377b
mov eax, dword [rbp + 0x7c]
jmp 0x140003765
mov esi, 0x8000ffff
jmp 0x140004163
mov esi, 0xc0000095
jmp 0x14000377b
mov esi, 0xc0000017
mov r15, rdi
jmp 0x1400037af
mov esi, 0x80070057
jmp 0x140004163
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
test eax, eax
jle 0x140027162
movzx esi, ax
or esi, 0x80070000
test esi, esi
js 0x14002716b
mov esi, 0x80004005
mov r9d, dword [rbp - 0x34]
jmp 0x14000386b
mov r15d, 0x8007007a
mov esi, r15d
jmp 0x140004169
mov esi, 0xc000003e
jmp 0x140003b54
mov esi, 0xc0000017
jmp 0x140003b40
mov esi, 0xc0000017
jmp 0x140003b37
mov dword [rax], edi
mov qword [rax + 8], rdi
jmp 0x140003aa7
mov dword [rbx + 0x10], edi
mov qword [rbx + 0x18], rdi
jmp 0x140003aec
mov dword [rbx + 0x20], edi
mov qword [rbx + 0x28], rdi
jmp 0x140003b31
mov r15, qword [rbx + 8]
test r15, r15
je 0x1400271e4
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 0x140027205
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 0x140027226
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 0x140003b40
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x140027261
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 0x140027282
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 0x1400272a3
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 0x140003b54
mov esi, 0xc000000d
jmp 0x140003f7c
or dword [rsp + 0x78], 0xffffffff
mov r13d, edi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x68], r14d
test r8d, r8d
jle 0x140027317
mov r11d, 0x38
movzx eax, byte [r9]
cmp ebx, 4
jge 0x1400272f7
lea ecx, [r11 - 0x20]
shl eax, cl
or r14d, eax
jmp 0x1400272ff
mov ecx, r11d
shl eax, cl
or r13d, eax
inc r9
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x1400272e3
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x38], r13d
xor r14d, 0xe5d64a7e
mov ebx, r13d
xor ebx, 0x9c54a8c9
mov dword [rbp - 0x78], r14d
mov dword [rsp + 0x78], ebx
mov eax, edi
test r8d, r8d
jle 0x14002735c
cmp eax, 4
jge 0x140027344
rol r14d, 8
mov byte [r10], r14b
jmp 0x14002734a
rol ebx, 8
mov byte [r10], bl
inc r10
inc eax
cmp eax, r8d
jl 0x140027336
mov r14d, dword [rbp - 0x78]
mov ebx, dword [rsp + 0x78]
lea eax, [r8 - 4]
test eax, eax
jle 0x140027377
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr ebx, cl
shl ebx, cl
jmp 0x140003be8
mov ebx, edi
mov dword [rsp + 0x78], ebx
test eax, eax
jns 0x140003bec
neg eax
shl eax, 3
mov ecx, eax
shr r14d, cl
shl r14d, cl
mov dword [rbp - 0x78], r14d
jmp 0x140003bec
mov rbx, qword [rbp + 0x58]
mov r14d, 0xc004d501
jmp 0x140003f4d
mov rcx, r12
call fcn.140025e74
mov rbx, qword [rbp + 0x58]
jmp 0x140003f56
mov rbx, qword [rbp + 0x58]
mov esi, 0xc0000001
jmp 0x140003f73
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
jmp 0x140003f7c
mov esi, 0xc0000095
jmp 0x140004151
mov esi, 0xc000000d
jmp 0x14000415f
mov esi, 0xc0000095
jmp 0x14000415f
mov esi, 0xc0000017
jmp 0x14000414c
mov esi, 0xc000003e
jmp 0x14000415f
mov esi, 0xc004d501
jmp 0x1400046a0
mov esi, 0xc000000d
jmp 0x140004365
mov r9d, dword [rbp + 0x12c]
mov rax, qword [rbp + 0x220]
jmp 0x14000434f
mov esi, 0xc0000023
jmp 0x1400046a0
mov esi, 0xc000000d
jmp 0x14000443e
mov r9d, dword [rbp + 0x11c]
mov rax, qword [rbp + 0x288]
jmp 0x140004422
mov esi, 0xc000000d
jmp 0x1400044ca
mov r9d, dword [rbp + 0xfc]
mov rax, qword [rbp + 0x230]
jmp 0x1400044b1
mov esi, 0xc0000095
jmp 0x1400044ca
mov esi, 0xc000000d
jmp 0x1400046a0
mov r10d, dword [rbp + 0x14c]
mov r11, qword [rbp + 0x2c0]
jmp 0x14000453d
mov r9d, dword [rbp + 0x108]
mov rax, qword [rbp + 0x240]
jmp 0x1400045a5
mov esi, 0xc0000095
jmp 0x1400045be
mov r9d, dword [rbp + 0x134]
mov rax, qword [rbp + 0x298]
jmp 0x140004627
mov esi, 0xc0000095
jmp 0x14000463c
mov esi, r15d
jmp 0x1400046a0
mov esi, 0xc0000095
jmp 0x1400046a0
xor eax, eax
mov dword [rbp - 0x68], edi
mov qword [rbp - 0x64], rax
mov r15, rdi
mov dword [rbp - 0x5c], eax
mov r14, rdi
mov qword [rbp + 0x6c], rax
mov dword [rbp + 0x74], eax
mov dword [rbp + 0x68], edi
mov dword [rbp + 0x48], edi
mov qword [rbp + 0x268], r13
mov qword [rbp + 0x168], 0xa0
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0xa0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x140029719
mov r8, qword [rbp + 0x168]
mov rcx, rax
mov rdx, qword [rbp + 0x268]
call sub.msvcrt.dll_memcpy
mov r14d, dword [rbp + 0x168]
mov r15, r12
mov qword [rsp + 0x40], r12
lea rax, [0x1400a94f8]
mov qword [rbp + 0x198], 8
mov qword [rbp + 0x1d0], 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 0x140029716
mov r8, qword [rbp + 0x198]
mov rcx, rax
mov rdx, qword [rbp + 0x1d0]
call sub.msvcrt.dll_memcpy
mov r15, qword [rbp + 0x198]
mov qword [rsp + 0x48], r13
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1d8], rax
mov r11d, 4
mov dword [rsp + 0x38], edi
mov edx, r11d
lea r8, [rsp + 0x30]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x3c], edx
lea r8, [rsp + 0x38]
xor ecx, ecx
call fcn.14000ad5c
mov r9d, 0x10000000
or eax, r9d
jl 0x1400279aa
lea r8, [rsp + 0x30]
mov edx, r14d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x3c], edx
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
or eax, r9d
jl 0x1400279aa
lea r8, [rsp + 0x30]
mov edx, r15d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x3c], edx
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
or eax, r9d
jl 0x1400279aa
lea r8, [rsp + 0x30]
mov ecx, r11d
lea edx, [r11 + 4]
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x3c], edx
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
or eax, r9d
jl 0x1400279aa
mov eax, dword [rsp + 0x38]
mov dword [rbp - 0x64], 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 0x1400279aa
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x68], edi
lea rax, [rbp + 0x98]
mov r11d, 4
mov dword [rbp + 0x98], r11d
test rax, rax
je 0x140027751
lea r8, [rbp - 0x40]
mov edx, r11d
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x1400279aa
mov edx, dword [rbp - 0x64]
lea rcx, [r9 + 8]
add rdx, r9
cmp rcx, rdx
ja 0x1400279aa
mov rdx, qword [rbp - 0x40]
mov dword [r9], r11d
mov ecx, dword [rbp + 0x98]
mov dword [rdx], ecx
inc dword [rbp - 0x68]
jmp 0x140027756
mov eax, 0xc000000d
test eax, eax
js 0x1400279aa
test r14d, r14d
je 0x14002784d
cmp qword [rbp - 0x60], rdi
jne 0x1400277ab
lea r8, [rsp + 0x30]
mov edx, r14d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x13c], edx
mov ecx, dword [rbp - 0x64]
lea r8, [rbp - 0x64]
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
inc dword [rbp - 0x68]
jmp 0x14002785a
mov r10d, edi
mov r9, qword [rbp - 0x60]
mov qword [rbp - 0x50], r9
cmp dword [rbp - 0x68], edi
jbe 0x140027800
mov edx, dword [r9]
lea r8, [rsp + 0x30]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov eax, dword [rsp + 0x30]
mov dword [rbp + 0x13c], eax
mov edx, eax
lea r8, [rbp - 0x50]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x1400279aa
mov r9, qword [rbp - 0x50]
inc r10d
cmp r10d, dword [rbp - 0x68]
jb 0x1400277bb
lea r8, [rbp - 0x40]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
mov ebx, eax
test eax, eax
js 0x1400279aa
mov edx, dword [rbp - 0x64]
lea rcx, [r14 + 4]
add rdx, qword [rbp - 0x60]
add rcx, r9
mov r8, r14
cmp rcx, rdx
ja 0x1400279aa
mov rcx, qword [rbp - 0x40]
mov rdx, r12
mov dword [r9], r14d
call sub.msvcrt.dll_memcpy
inc dword [rbp - 0x68]
mov r11d, 4
jmp 0x140027852
mov ebx, 0xc000000d
test ebx, ebx
js 0x1400279aa
test r15d, r15d
je 0x14002793f
cmp qword [rbp - 0x60], rdi
jne 0x1400278a7
lea r8, [rsp + 0x30]
mov edx, r15d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0xf4], edx
mov ecx, dword [rbp - 0x64]
lea r8, [rbp - 0x64]
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
inc dword [rbp - 0x68]
jmp 0x14002794e
mov r10d, edi
mov r9, qword [rbp - 0x60]
mov qword [rbp - 0x50], r9
cmp dword [rbp - 0x68], edi
jbe 0x1400278fc
mov edx, dword [r9]
lea r8, [rsp + 0x30]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov eax, dword [rsp + 0x30]
mov dword [rbp + 0xf4], eax
mov edx, eax
lea r8, [rbp - 0x50]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x1400279aa
mov r9, qword [rbp - 0x50]
inc r10d
cmp r10d, dword [rbp - 0x68]
jb 0x1400278b7
lea r8, [rbp - 0x40]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
mov ebx, eax
test eax, eax
js 0x1400279aa
mov edx, dword [rbp - 0x64]
add rdx, qword [rbp - 0x60]
mov r8d, r15d
lea rcx, [r8 + 4]
add rcx, r9
cmp rcx, rdx
ja 0x1400279aa
mov rcx, qword [rbp - 0x40]
mov rdx, r13
mov dword [r9], r15d
call sub.msvcrt.dll_memcpy
inc dword [rbp - 0x68]
jmp 0x140027944
mov ebx, 0xc000000d
test ebx, ebx
js 0x1400279aa
mov r11d, 4
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x178], rax
lea rax, [rbp + 0x178]
test rax, rax
je 0x140027a41
cmp qword [rbp - 0x60], rdi
jne 0x1400279b5
lea r8, [rsp + 0x30]
mov edx, 8
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0xf8], edx
mov ecx, dword [rbp - 0x64]
lea r8, [rbp - 0x64]
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
inc dword [rbp - 0x68]
jmp 0x140027a4e
mov r15, r12
mov r14, r13
jmp 0x140029719
mov r10d, edi
mov r9, qword [rbp - 0x60]
mov qword [rbp - 0x50], r9
cmp dword [rbp - 0x68], edi
jbe 0x140027a02
mov edx, dword [r9]
lea r8, [rsp + 0x30]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov eax, dword [rsp + 0x30]
mov dword [rbp + 0xf8], eax
mov edx, eax
lea r8, [rbp - 0x50]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x1400279aa
mov r9, qword [rbp - 0x50]
inc r10d
cmp r10d, dword [rbp - 0x68]
jb 0x1400279c5
lea r8, [rbp - 0x40]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x1400279aa
mov edx, dword [rbp - 0x64]
lea rcx, [r9 + 0xc]
add rdx, qword [rbp - 0x60]
cmp rcx, rdx
ja 0x1400279aa
mov rcx, qword [rbp - 0x40]
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x178]
movsd qword [rcx], xmm0
inc dword [rbp - 0x68]
jmp 0x140027a46
mov eax, 0xc000000d
test eax, eax
js 0x1400279aa
lea r8, [rsp + 0x30]
mov edx, r11d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov r9d, dword [rsp + 0x30]
mov dword [rbp + 0x128], r9d
lea r8, [rsp + 0x30]
mov dword [rsp + 0x50], r9d
mov edx, 8
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x128], edx
lea r8, [rsp + 0x50]
mov ecx, r9d
call fcn.14000ad5c
test eax, eax
js 0x1400279aa
mov rbx, rdi
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0x10], rbx
mov r12d, edi
mov qword [rbp - 0x50], rdi
mov r13, rdi
mov dword [rsp + 0x30], edi
mov qword [rbp - 0x20], rdi
mov dword [rbp - 0x38], edi
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x40], rdi
mov dword [rbp], edi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1b8], rax
mov dword [rbp - 0x18], 8
mov edx, dword [rbp - 0x64]
lea r8, [rbp - 0x18]
mov ecx, 8
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140027be5
mov eax, dword [rbp - 0x18]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x18]
jae 0x140027b28
mov r14d, 0xc0000095
jmp 0x140027be5
mov dword [rbp - 0x18], 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 0x140027b5a
mov r14d, 0xc0000017
mov rbx, rdi
jmp 0x140027be5
mov qword [rsp + 0x68], rax
lea r8, [rsp + 0x68]
mov eax, dword [rbp - 0x68]
mov r11d, 4
mov edx, r11d
mov dword [rbx], eax
mov rcx, rbx
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140027bc8
mov rcx, qword [rsp + 0x68]
lea r8, [rsp + 0x68]
mov eax, dword [rbp - 0x64]
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140027bc8
mov ecx, dword [rbp - 0x18]
mov rax, qword [rbp + 0x1b8]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rbp - 0x64]
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_memcpy
mov r12d, dword [rbp - 0x18]
mov qword [rbp + 0x10], rbx
mov rbx, rdi
test rbx, rbx
je 0x140027be1
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 + 0x10]
or r14d, 0x10000000
jl 0x14002947e
mov qword [rbp + 0x1f8], rdi
mov r15, rdi
mov qword [rbp + 0x208], rdi
mov qword [rbp + 0x218], rdi
mov qword [rbp + 0x228], rdi
mov qword [rbp + 0x100], rdi
mov qword [rbp + 0x1e8], rdi
test rbx, rbx
jne 0x140027c2f
mov r14d, 0xc000000d
jmp 0x140028356
mov r14d, r12d
mov qword [rbp - 0x48], r14
test r12d, r12d
je 0x1400282aa
lea rax, [r14 + 8]
mov rcx, rax
mov qword [rbp + 0x18], rax
call fcn.14000ab60
mov qword [rbp - 0x58], rax
mov r13, rax
test rax, rax
je 0x1400282aa
mov dl, dil
mov rcx, rdi
test r12d, r12d
je 0x140027c75
xor dl, byte [rcx + rbx]
inc rcx
cmp rcx, r14
jb 0x140027c6a
or r11d, 0xffffffff
mov dword [rsp + 0x68], edi
mov r10, rbx
mov dword [rbp - 0x80], r11d
mov r8, r14
mov dword [rsp + 0x38], edi
mov ebx, edi
mov r9, rax
mov dword [rbp - 0x70], ebx
and r8d, 7
je 0x140027d6a
mov dword [rsp + 0x68], edi
mov ecx, edi
mov dword [rsp + 0x38], ecx
mov r12d, edi
test r8d, r8d
jle 0x140027cef
mov r11d, 0x38
movzx eax, byte [r10]
cmp ebx, 4
jge 0x140027cd0
lea ecx, [r11 - 0x20]
shl eax, cl
mov ecx, dword [rsp + 0x38]
or ecx, eax
mov dword [rsp + 0x38], ecx
jmp 0x140027cdc
mov ecx, r11d
shl eax, cl
mov ecx, dword [rsp + 0x38]
or r12d, eax
inc r10
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x140027cb5
mov dword [rsp + 0x68], r12d
mov ebx, ecx
mov r11d, r12d
xor ebx, 0x875330f4
xor r11d, 0x549791cd
mov dword [rbp - 0x70], ebx
mov eax, edi
mov dword [rbp - 0x80], r11d
test r8d, r8d
jle 0x140027d34
cmp eax, 4
jge 0x140027d1c
rol ebx, 8
mov byte [r9], bl
jmp 0x140027d23
rol r11d, 8
mov byte [r9], r11b
inc r9
inc eax
cmp eax, r8d
jl 0x140027d0f
mov ebx, dword [rbp - 0x70]
mov r11d, dword [rbp - 0x80]
lea eax, [r8 - 4]
test eax, eax
jle 0x140027d52
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x80], r11d
jmp 0x140027d6a
mov dword [rbp - 0x80], edi
mov r11d, edi
test eax, eax
jns 0x140027d6a
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rbp - 0x70], ebx
mov r12, r14
shr r12, 3
test r12, r12
je 0x140028098
mov r15d, dword [rsp + 0x68]
lea r14, [r9 + 7]
mov r13d, dword [rsp + 0x38]
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 - 0x70], ebx
xor r11d, 0xed96c26b
xor r11d, r15d
mov r13d, r10d
mov dword [rbp - 0x80], r11d
mov r15d, r9d
mov byte [r14 - 4], bl
mov al, byte [rbp - 0x80]
ror dword [rbp - 0x70], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rbp - 0x80], 8
mov al, byte [rbp - 0x70]
mov byte [r14 - 0xd], al
mov al, byte [rbp - 0x80]
ror dword [rbp - 0x70], 8
mov byte [r14 - 9], al
ror dword [rbp - 0x80], 8
mov al, byte [rbp - 0x70]
mov byte [r14 - 0xe], al
ror dword [rbp - 0x70], 8
mov al, byte [rbp - 0x80]
mov byte [r14 - 0xa], al
ror dword [rbp - 0x80], 8
mov al, byte [rbp - 0x70]
mov byte [r14 - 0xf], al
mov al, byte [rbp - 0x80]
mov byte [r14 - 0xb], al
mov ebx, dword [rbp - 0x70]
mov r11d, dword [rbp - 0x80]
ror ebx, 8
ror r11d, 8
mov dword [rbp - 0x70], ebx
mov dword [rbp - 0x80], r11d
sub r12, 1
jne 0x140027d8c
mov r14, qword [rbp - 0x48]
xor edi, edi
mov r13, qword [rbp - 0x58]
mov r15d, edi
movzx eax, dl
mov qword [r13 + r14], rax
mov r14, qword [rbp + 0x18]
mov qword [rbp + 0x1e8], r14
mov qword [rbp + 0x100], r13
lea rax, [0x1400a94f0]
mov ebx, 8
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x208], rbx
lea r12, [0x1400a9450]
mov qword [rbp + 0x228], 0xa0
mov qword [rbp + 0x218], 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 0x14002810d
mov r14d, 0xc0000017
jmp 0x140028299
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 0x140028217
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 0x140028217
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 0x140028217
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1400a94f0]
mov r15, rbx
movsd qword [rax], xmm0
mov r14d, edi
mov rbx, rdi
jmp 0x14002821d
mov r14d, 0xc0000017
test rbx, rbx
je 0x140028299
mov r12, qword [rbx + 8]
test r12, r12
je 0x140028243
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 0x140028264
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 0x140028285
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 0x1400282b0
mov qword [rbp + 0xe0], r15
mov r15, rdi
jmp 0x1400282b0
mov r14d, 0xc0000001
mov rbx, qword [rbp + 0x100]
test rbx, rbx
je 0x1400282d7
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 + 0x100], rdi
test r15, r15
je 0x140028353
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400282fd
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 0x14002831e
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 0x14002833f
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 r13, rdi
or r14d, 0x10000000
jl 0x14002947e
mov r15, qword [rbp + 0xe0]
lea r8, [rsp + 0x38]
mov r12d, 4
mov ecx, r12d
mov dword [rsp + 0x38], r12d
mov edx, dword [r15]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400283fa
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400283fa
mov edx, dword [r15 + 0x10]
lea r8, [rsp + 0x38]
mov ecx, dword [rsp + 0x38]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400283fa
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400283fa
mov edx, dword [r15 + 0x20]
lea r8, [rsp + 0x38]
mov ecx, dword [rsp + 0x38]
call fcn.14000ad5c
mov r14d, eax
mov eax, dword [rbp + 0x50]
test r14d, r14d
cmovns eax, dword [rsp + 0x38]
mov dword [rbp + 0x50], eax
jmp 0x1400283fd
mov eax, dword [rbp + 0x50]
test r14d, r14d
js 0x140028546
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 0x140028432
mov r14d, 0xc0000017
jmp 0x140028546
mov qword [rsp + 0x68], rax
lea r8, [rsp + 0x68]
mov eax, dword [r15]
mov rdx, r12
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14002852d
mov r8d, dword [r15]
mov rdx, qword [r15 + 8]
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15]
lea r8, [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14002852d
mov rcx, qword [rsp + 0x68]
lea r8, [rsp + 0x68]
mov eax, dword [r15 + 0x10]
mov rdx, r12
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14002852d
mov r8d, dword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15 + 0x10]
lea r8, [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14002852d
mov rcx, qword [rsp + 0x68]
lea r8, [rsp + 0x68]
mov eax, dword [r15 + 0x20]
mov rdx, r12
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14002852d
mov r8d, dword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15 + 0x20]
lea r8, [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14002852d
mov eax, dword [rbp + 0x50]
mov qword [rbp - 0x50], rbx
mov rbx, rdi
mov dword [rsp + 0x30], eax
test rbx, rbx
je 0x140028546
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 0x14002947e
mov ebx, edi
mov qword [rbp + 0x238], rdi
mov dword [rbp + 0x138], ebx
mov r11d, edi
mov dword [rbp + 0x130], edi
mov qword [rbp + 0x248], rdi
mov dword [rbp + 0x20], 8
mov edx, dword [rsp + 0x50]
lea r8, [rbp + 0x20]
mov ecx, 8
call fcn.14000ad5c
mov r14d, eax
or r14d, 0x10000000
jl 0x1400287d7
mov eax, dword [rbp + 0x20]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x20]
jae 0x1400285b9
mov r9d, dword [rbp + 0xac]
mov r14d, 0xc0000095
jmp 0x1400285ea
mov dword [rbp + 0xa4], eax
mov edx, ecx
lea r8, [rbp + 0xa4]
mov ecx, eax
call fcn.14000ad5c
mov r9d, dword [rbp + 0xac]
test eax, eax
mov r14d, eax
cmovns r9d, dword [rbp + 0xa4]
mov dword [rbp + 0xac], r9d
test r14d, r14d
js 0x14002947e
cmp qword [rbp - 0x60], rdi
je 0x1400287ab
cmp dword [rbp - 0x68], 1
jbe 0x1400287ab
mov rcx, qword [rbp - 0x60]
mov r10d, edi
mov qword [rsp + 0x50], rcx
mov r15d, dword [rcx]
lea r8, [rsp + 0x50]
mov rdx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028685
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
mov edx, r15d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028685
mov rcx, qword [rsp + 0x50]
inc r10d
cmp r10d, 1
jb 0x140028613
mov r10d, dword [rcx]
lea r8, [rsp + 0x50]
mov rdx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028685
mov rax, qword [rsp + 0x50]
test r10d, r10d
mov r11d, r10d
mov dword [rbp + 0x130], r10d
cmove rax, rdi
mov qword [rbp + 0x238], rax
test r14d, r14d
js 0x14002947e
cmp dword [rbp - 0x68], 2
jbe 0x1400287ab
mov rcx, qword [rbp - 0x60]
mov r10d, edi
mov qword [rsp + 0x50], rcx
mov r15d, dword [rcx]
lea r8, [rsp + 0x50]
mov rdx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028715
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
mov edx, r15d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028715
mov rcx, qword [rsp + 0x50]
inc r10d
cmp r10d, 2
jb 0x1400286a4
mov r10d, dword [rcx]
lea r8, [rsp + 0x50]
mov rdx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028715
mov rax, qword [rsp + 0x50]
test r10d, r10d
mov ebx, r10d
cmove rax, rdi
mov dword [rbp + 0x138], ebx
mov qword [rbp + 0x248], rax
test r14d, r14d
js 0x14002947e
lea r8, [rsp + 0x38]
mov dword [rsp + 0x38], r12d
mov edx, r9d
mov ecx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400287b3
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400287b3
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r11d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400287b3
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x1400287b3
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
mov edx, ebx
call fcn.14000ad5c
mov r14d, eax
mov eax, dword [rbp + 0xb8]
test r14d, r14d
cmovns eax, dword [rsp + 0x38]
mov dword [rbp + 0xb8], eax
jmp 0x1400287b9
mov r14d, 0xc000000d
jmp 0x1400287d7
mov eax, dword [rbp + 0xb8]
test r14d, r14d
js 0x14002947e
cmp eax, 0x400000
jbe 0x1400287d4
mov r14d, 0x8000ffff
jmp 0x14002947e
mov dword [rbp - 0x38], eax
test r14d, r14d
js 0x14002947e
mov ebx, dword [rbp - 0x38]
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 0x14002880a
mov r14d, 0xc0000017
jmp 0x140028811
mov r13, rax
mov qword [rbp - 0x20], rax
or r14d, 0x10000000
jl 0x14002947e
mov r14, qword [rbp - 0x50]
test r14, r14
je 0x1400288d1
test r13, r13
je 0x1400288d1
lea r8, [rbp + 0x258]
mov ecx, 1
lea rdx, [0x1400735c8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400288dc
mov rcx, qword [rbp + 0x258]
lea rdx, [0x1400735e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1400288dc
mov eax, dword [rsp + 0x30]
mov rcx, rbx
mov dword [rbp + 0x2d8], eax
mov eax, dword [rbp - 0x38]
mov dword [rbp + 0x2dc], eax
mov qword [rbp + 0x2c8], r14
mov qword [rbp + 0x2d0], r13
mov dword [rbp + 0x2e0], edi
call qword [0x1400719c8]
xor r9d, r9d
lea rdx, [rbp + 0x2c8]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov r9d, dword [rbp - 0x38]
mov r14d, eax
or r14d, 0x10000000
cmovns r9d, dword [rbp + 0x2dc]
mov dword [rbp - 0x38], r9d
jmp 0x140028903
mov r14d, 0x80070057
jmp 0x14002947e
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov r14d, eax
test eax, eax
jle 0x1400288f4
movzx r14d, ax
or r14d, 0x80070000
test r14d, r14d
js 0x1400288ff
mov r14d, 0x80004005
mov r9d, dword [rbp - 0x38]
cmp r14d, 0xd0000023
jne 0x140028917
mov r14d, 0x8007007a
jmp 0x14002947e
test r14d, r14d
js 0x14002947e
mov dword [rsp + 0x38], edi
mov r15, rdi
mov qword [rsp + 0x50], r13
cmp r9d, r12d
jb 0x140028b0e
mov r10d, dword [r13]
lea r8, [rsp + 0x50]
mov rdx, r12
mov dword [rsp + 0x30], r10d
mov rcx, r13
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028d04
lea r8, [rsp + 0x38]
xor ecx, ecx
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140028d04
mov eax, r9d
sub eax, dword [rsp + 0x38]
cmp eax, r10d
jb 0x140028b0e
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
mov rcx, rax
mov qword [rbp + 0x18], rax
mov edx, r10d
mov qword [rbp - 0x58], r10
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028d04
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140028d04
mov eax, r9d
sub eax, dword [rsp + 0x38]
cmp eax, r12d
jb 0x140028b0e
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
mov rdx, r12
mov r13d, dword [rcx]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028d04
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140028d04
mov eax, r9d
sub eax, dword [rsp + 0x38]
cmp eax, r13d
jb 0x140028b0e
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
mov rcx, rax
mov qword [rsp + 0x68], rax
mov edx, r13d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028d04
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140028d04
mov eax, r9d
sub eax, dword [rsp + 0x38]
cmp eax, r12d
jb 0x140028b0e
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
mov edx, 4
mov r12d, dword [rcx]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140028d04
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140028d04
mov ecx, dword [rsp + 0x38]
mov eax, r9d
sub eax, ecx
cmp eax, r12d
jb 0x140028b0e
lea r8, [rsp + 0x38]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140028d04
cmp r9d, dword [rsp + 0x38]
jne 0x140028b0e
lea ecx, [r12 + r13]
mov eax, r9d
add ecx, r10d
add rcx, 0xc
cmp rcx, rax
jne 0x140028b0e
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 0x140028b19
mov r14d, 0xc0000017
jmp 0x140028c7c
mov r14d, 0xc000003e
jmp 0x140028d04
mov r14d, edi
cmp qword [rbp + 0x18], rdi
je 0x140028b66
mov eax, dword [rsp + 0x30]
mov dword [rbx], eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, qword [rbp - 0x58]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140028b5b
mov qword [rbx + 8], rax
mov r8, qword [rbp - 0x58]
mov rcx, rax
mov rdx, qword [rbp + 0x18]
call sub.msvcrt.dll_memcpy
jmp 0x140028b6c
mov r14d, 0xc0000017
jmp 0x140028c00
mov dword [rax], edi
mov qword [rax + 8], rdi
cmp qword [rsp + 0x68], rdi
je 0x140028bac
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 0x140028b5b
mov qword [rbx + 0x18], rax
mov rdx, qword [rsp + 0x68]
mov r8, r13
mov rcx, rax
mov r14d, edi
call sub.msvcrt.dll_memcpy
jmp 0x140028bb3
mov dword [rbx + 0x10], edi
mov qword [rbx + 0x18], rdi
cmp qword [rsp + 0x50], rdi
je 0x140028bf3
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 0x140028b5b
mov qword [rbx + 0x28], rax
mov rdx, qword [rsp + 0x50]
mov r8, r12
mov rcx, rax
mov r14d, edi
call sub.msvcrt.dll_memcpy
jmp 0x140028bfa
mov dword [rbx + 0x20], edi
mov qword [rbx + 0x28], rdi
mov r15, rbx
mov rbx, rdi
test rbx, rbx
je 0x140028c7c
mov r12, qword [rbx + 8]
test r12, r12
je 0x140028c26
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 0x140028c47
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 0x140028c68
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 0x140028c88
mov qword [rbp + 0x28], r15
mov r15, rdi
test r15, r15
je 0x140028d04
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x140028cae
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 0x140028ccf
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 0x140028cf0
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 0x14002947e
mov rax, qword [rbp + 0x28]
mov rbx, rdi
mov qword [rbp + 0x60], rbx
mov r14d, edi
mov qword [rbp + 0x188], rdi
mov dword [rsp + 0x30], edi
test rax, rax
je 0x140028dcd
mov r15, qword [rax + 8]
mov qword [rsp + 0x38], r15
test r15, r15
je 0x140028dcd
cmp dword [rax], edi
je 0x140028dcd
mov r12d, dword [rax]
mov dword [rsp + 0x50], edi
test r12, r12
je 0x14002922d
add r12, 0xfffffffffffffff8
mov rcx, r12
mov qword [rbp - 0x58], r12
call fcn.14000ab60
mov qword [rbp + 0x18], rax
mov r13, rax
test rax, rax
je 0x140029229
mov r8, r12
mov dword [rbp - 0x7c], edi
mov dl, dil
mov r10, r15
mov byte [rsp + 0x70], dl
mov r9, rax
and r8d, 7
je 0x140028e75
or r15d, 0xffffffff
mov dword [rbp + 0xc], edi
mov dword [rsp + 0x74], r15d
mov r15d, edi
mov dword [rsp + 0x68], ebx
mov r11d, edi
test r8d, r8d
jle 0x140028df8
mov edx, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x140028dd8
lea ecx, [rdx - 0x20]
shl eax, cl
or ebx, eax
jmp 0x140028ddf
mov r14d, 0xc000000d
jmp 0x140029250
mov ecx, edx
shl eax, cl
or r15d, eax
inc r10
inc r11d
sub edx, 8
cmp r11d, r8d
jl 0x140028dba
mov dword [rbp + 0xc], r15d
mov dl, dil
mov dword [rsp + 0x68], ebx
mov r15d, ebx
mov eax, edi
mov ebx, dword [rbp + 0xc]
xor r15d, 0xe5d64a7e
xor ebx, 0x9c54a8c9
mov dword [rbp - 0x7c], r15d
mov dword [rsp + 0x74], ebx
test r8d, r8d
jle 0x140028e40
cmp eax, 4
jge 0x140028e28
rol r15d, 8
mov byte [r9], r15b
jmp 0x140028e2e
rol ebx, 8
mov byte [r9], bl
inc r9
inc eax
cmp eax, r8d
jl 0x140028e1a
mov r15d, dword [rbp - 0x7c]
mov ebx, dword [rsp + 0x74]
lea eax, [r8 - 4]
test eax, eax
jle 0x140028e58
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr ebx, cl
shl ebx, cl
jmp 0x140028e7c
mov ebx, edi
mov dword [rsp + 0x74], ebx
test eax, eax
jns 0x140028e80
neg eax
shl eax, 3
mov ecx, eax
shr r15d, cl
shl r15d, cl
mov dword [rbp - 0x7c], r15d
jmp 0x140028e80
mov dword [rsp + 0x68], edi
mov r15d, edi
mov dword [rsp + 0x74], ebx
mov rax, r12
shr rax, 3
test rax, rax
je 0x1400291b9
mov edx, dword [rsp + 0x68]
lea r12, [r9 + 7]
mov r14d, dword [rbp + 0xc]
lea rdi, [r10 + 2]
mov r13, 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 [rsp + 0x74], ebx
mov r14d, r10d
add r8d, ecx
xor r8d, edx
mov edx, r11d
xor r9d, r8d
mov dword [rbp - 0x7c], r9d
mov byte [r12 - 4], r9b
mov al, byte [rsp + 0x74]
ror dword [rbp - 0x7c], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rsp + 0x74], 8
mov al, byte [rbp - 0x7c]
mov byte [r12 - 0xd], al
mov al, byte [rsp + 0x74]
ror dword [rbp - 0x7c], 8
mov byte [r12 - 9], al
ror dword [rsp + 0x74], 8
mov al, byte [rbp - 0x7c]
mov byte [r12 - 0xe], al
ror dword [rbp - 0x7c], 8
mov al, byte [rsp + 0x74]
mov byte [r12 - 0xa], al
ror dword [rsp + 0x74], 8
mov al, byte [rbp - 0x7c]
mov byte [r12 - 0xf], al
mov al, byte [rsp + 0x74]
mov byte [r12 - 0xb], al
mov r15d, dword [rbp - 0x7c]
mov ebx, dword [rsp + 0x74]
ror r15d, 8
ror ebx, 8
mov dword [rbp - 0x7c], r15d
mov dword [rsp + 0x74], ebx
sub r13, 1
jne 0x140028ea3
mov dl, byte [rsp + 0x70]
xor edi, edi
mov r14d, dword [rsp + 0x30]
mov r12, qword [rbp - 0x58]
mov r13, qword [rbp + 0x18]
mov rax, rdi
test r12, r12
je 0x1400291cd
xor dl, byte [rax + r13]
inc rax
cmp rax, r12
jb 0x1400291c1
mov rcx, qword [rsp + 0x38]
movzx eax, dl
cmp rax, qword [r12 + rcx]
je 0x1400291e7
mov rbx, qword [rbp + 0x60]
mov r15d, 0xc004d501
jmp 0x1400291fd
mov r15d, dword [rsp + 0x50]
mov rbx, r13
mov qword [rbp + 0x60], rbx
mov r13, rdi
mov qword [rbp + 0x188], r12
test r13, r13
je 0x14002920e
mov rcx, r13
call fcn.140025e74
mov rbx, qword [rbp + 0x60]
test r15d, r15d
js 0x14002922d
mov eax, dword [rbp + 0x188]
mov qword [rbp + 0x40], rbx
mov rbx, rdi
mov qword [rbp + 0x60], rbx
mov dword [rbp], eax
jmp 0x140029233
mov rbx, qword [rbp + 0x60]
mov r14d, 0xc0000001
test rbx, rbx
je 0x140029250
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 + 0x60], rdi
or r14d, 0x10000000
jl 0x14002947e
mov r9, qword [rbp + 0x40]
mov r10d, 4
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], r9
cmp dword [rbp], r10d
jb 0x140029473
mov eax, dword [r9]
lea r8, [rsp + 0x30]
mov edx, r10d
mov dword [rsp + 0x50], eax
mov rcx, r9
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140029479
lea r8, [rsp + 0x38]
xor ecx, ecx
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140029479
mov eax, dword [rbp]
sub eax, dword [rsp + 0x38]
cmp eax, r10d
jb 0x140029473
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov r12d, dword [rcx]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140029479
mov ecx, dword [rsp + 0x38]
lea r8, [rsp + 0x38]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140029479
mov eax, dword [rbp]
mov ecx, dword [rsp + 0x38]
sub eax, ecx
cmp eax, r12d
jb 0x140029473
lea r8, [rsp + 0x38]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140029479
mov edx, dword [rbp]
mov rbx, qword [rsp + 0x30]
lea rax, [rdx + r9]
lea rcx, [rbx + r12]
cmp rax, rcx
jb 0x140029473
sub rdx, rbx
sub rdx, r12
add rdx, r9
cmp rdx, 8
jae 0x140029473
mov dword [rsp + 0x68], edi
mov r13, rdi
mov r14d, edi
test rbx, rbx
je 0x14002940c
lea r8, [rbp - 0x48]
mov edx, r12d
mov rcx, rbx
mov r9, rbx
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140029465
mov r11, qword [rbp - 0x48]
cmp rbx, r11
jae 0x140029407
mov r10d, dword [rbp + 0x140]
lea r8, [rbp - 0x48]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140029465
cmp qword [rbp - 0x48], r11
ja 0x140029438
mov edx, dword [r9]
lea r8, [rsp + 0x30]
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov r14d, eax
cmovns r10d, dword [rsp + 0x30]
mov dword [rbp + 0x140], r10d
js 0x140029465
mov edx, r10d
lea r8, [rbp - 0x58]
mov rcx, r9
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140029465
mov r9, qword [rbp - 0x58]
cmp r9, r11
ja 0x140029438
inc dword [rsp + 0x68]
cmp r9, r11
jb 0x14002938f
cmp r9, r11
jne 0x140029438
test r12d, r12d
je 0x140029443
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 0x140029440
mov r14d, 0xc0000017
jmp 0x140029465
mov r14d, 0xc000000d
jmp 0x140029479
mov r14d, edi
test rbx, rbx
je 0x140029456
mov r8, r12
mov rdx, rbx
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x68], eax
mov qword [rbp + 0x70], r13
mov dword [rbp + 0x6c], r12d
test r14d, r14d
js 0x140029479
mov eax, dword [rsp + 0x50]
cmp eax, dword [rbp + 0x68]
je 0x140029479
mov r14d, 0xc000003e
bts r14d, 0x1c
mov r15, qword [rbp + 0x10]
test r15, r15
je 0x14002949b
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 + 0xe0]
test r15, r15
je 0x140029525
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400294c8
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 0x1400294e9
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 0x14002950a
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 + 0xe0], rdi
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x140029542
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 - 0x20]
test rbx, rbx
je 0x14002955f
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 + 0x28]
test r15, r15
je 0x1400295df
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x140029589
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 0x1400295aa
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 0x1400295cb
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 + 0x40]
test rbx, rbx
je 0x1400295fc
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 0x14002970a
mov r9d, dword [rbp + 0x68]
cmp r9d, 1
jb 0x14002970a
mov rbx, qword [rbp + 0x70]
test rbx, rbx
je 0x14002970a
test r9d, r9d
je 0x14002970a
mov r10d, dword [rbx]
lea r8, [rbp - 0x20]
mov r11d, 4
mov qword [rbp - 0x20], rbx
mov edx, r11d
mov rcx, rbx
call fcn.14000ad74
test eax, eax
js 0x14002970a
mov rax, qword [rbp - 0x20]
test r10d, r10d
mov dword [rbp + 0x1c8], r10d
cmove rax, rdi
mov qword [rbp + 0x308], rax
cmp r10d, r11d
jne 0x14002970a
mov eax, dword [rax]
mov dword [rbp + 0x48], eax
test eax, eax
js 0x14002970a
cmp r9d, 1
jbe 0x14002970a
mov qword [rsp + 0x30], rbx
mov r9d, edi
lea r8, [rsp + 0x30]
mov rdx, r11
mov rcx, rbx
call fcn.14000ad74
test eax, eax
js 0x14002970a
mov edx, dword [rbx]
lea r8, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
call fcn.14000ad74
test eax, eax
js 0x14002970a
inc r9d
cmp r9d, 1
jae 0x1400296c7
mov rbx, qword [rsp + 0x30]
jmp 0x14002968e
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov rdx, r11
mov r9d, dword [rcx]
call fcn.14000ad74
test eax, eax
js 0x14002970a
mov rax, qword [rsp + 0x30]
test r9d, r9d
mov dword [rbp + 0x290], r9d
cmove rax, rdi
mov qword [rbp + 0x310], rax
cmp r9d, 8
jne 0x14002970a
mov rax, qword [rax]
mov qword [rbp + 0x318], rax
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x140029719
mov r14, rdi
mov rbx, qword [rbp - 0x60]
mov qword [rbp - 0x68], 0
test rbx, rbx
je 0x140029742
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 - 0x60], rdi
mov rbx, qword [rbp + 0x70]
mov qword [rbp + 0x68], 0
test rbx, rbx
je 0x14002976b
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
test r15, r15
je 0x140029784
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 0x140004749
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 0x140004749
mov r14d, dword [rbp + 0x84]
mov r13d, 0x8007007a
mov r15, qword [rbp + 0x170]
mov r12, qword [rbp + 0x180]
mov ebx, dword [rbp + 0x48]
jmp 0x140004788
cmp esi, 0xd0000034
jne 0x1400297de
mov esi, 0xc004f012
mov ebx, esi
jmp 0x1400047bf
cmp esi, 0xd00000e5
je 0x1400297fd
cmp esi, 0xc004d501
je 0x1400297fd
cmp esi, 0xd000003e
jne 0x140029802
mov esi, 0xc004f028
jmp 0x1400297d7
mov esi, 0xc004f027
test esi, esi
jns 0x140004799
cmp esi, r13d
jne 0x1400297d7
mov ebx, 0xc004f01e
jmp 0x1400047bf
mov rcx, qword [rcx + 0x10]
lea r8, [0x14009cef8]
mov edx, 0x17
call fcn.14003d1bc
nop
jmp 0x1400047fa
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov rcx, qword [0x1400a92b0]
lea r8, [0x14009cef8]
mov edx, 0x18
mov dword [rsp + 0x20], eax
mov r9d, edi
mov rcx, qword [rcx + 0x10]
call fcn.140057a4c
jmp 0x1400298a7
mov esi, 0xd
mov ecx, esi
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 0x14000482f
test byte [rax + 0x1c], 0x20
je 0x140004820
mov rcx, qword [rax + 0x10]
lea edx, [rsi + 0xc]
mov r9d, ebx
mov dword [rsp + 0x20], esi
lea r8, [0x14009cef8]
call fcn.140057a4c
mov rax, qword [0x1400a92b0]
jmp 0x140004820
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov rcx, qword [0x1400a92b0]
lea r8, [0x14009cef8]
mov dword [rsp + 0x28], eax
mov edx, 0x1a
mov r9d, edi
mov dword [rsp + 0x20], ebx
mov rcx, qword [rcx + 0x10]
call fcn.140053f64
nop
jmp 0x14000482f