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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2f8]
sub rsp, 0x3f8
xor edi, edi
mov dword [rbp + 0x5c], edi
mov qword [rbp + 0xe8], rdi
mov dword [rbp - 0x1c], edi
mov dword [rbp + 0xb4], edi
mov qword [rbp - 0x18], rdi
mov dword [rbp - 8], edi
lea edx, [rdi + 4]
mov dword [rbp + 0xb8], edi
lea ecx, [rdi + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.14000a714
mov rax, qword [rbp - 0x18]
lea r12d, [rdi + 1]
mov qword [rbp + 0x140], rax
mov r14d, 0x8007007a
test rax, rax
je 0x140037b5e
xor eax, eax
mov dword [rsp + 0x38], edi
lea r13, [0x1400a93b0]
mov qword [rsp + 0x3c], rax
mov dword [rsp + 0x44], eax
mov r15d, edi
mov qword [rbp - 0x44], rax
mov r14d, edi
mov dword [rbp - 0x3c], eax
mov qword [rbp + 0x270], r13
mov dword [rbp + 0x70], edi
mov dword [rbp - 0x48], edi
mov dword [rbp - 0x50], edi
mov qword [rbp + 0x168], 0xa0
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
lea edx, [rdi + 8]
mov r8d, 0xa0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
or dword [rbp - 0x20], 0xffffffff
mov esi, 0xc0000017
mov r12, rax
mov ebx, 0x10000000
test rax, rax
je 0x140037cc1
mov r8, qword [rbp + 0x168]
mov rcx, rax
mov rdx, qword [rbp + 0x270]
call sub.msvcrt.dll_memcpy
mov r14d, dword [rbp + 0x168]
mov r15, r12
mov qword [rsp + 0x28], r12
lea rax, [0x1400a94f8]
mov qword [rbp + 0x160], 8
mov qword [rbp + 0x280], rax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
lea edx, [rdi + 8]
mov rcx, rax
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
je 0x140037b68
mov r8, qword [rbp + 0x160]
mov rcx, rax
mov rdx, qword [rbp + 0x280]
call sub.msvcrt.dll_memcpy
mov r15, qword [rbp + 0x160]
mov qword [rsp + 0x20], r13
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x180], rax
lea edx, [rdi + 4]
mov dword [rbp + 0x340], edi
mov ecx, edx
lea r8, [rsp + 0x30]
call fcn.14000ad5c
mov r11d, dword [rbp - 0x60]
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x60], r11d
js 0x140037b7c
lea r8, [rbp + 0x340]
mov edx, r11d
xor ecx, ecx
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140037b7c
lea r8, [rsp + 0x30]
mov edx, r14d
lea ecx, [rdi + 4]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x60], r11d
js 0x140037b7c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140037b7c
lea r8, [rsp + 0x30]
mov edx, r15d
lea ecx, [rdi + 4]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x60], r11d
js 0x140037b7c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140037b7c
lea r8, [rsp + 0x30]
lea edx, [rdi + 8]
lea ecx, [rdi + 4]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x60], r11d
js 0x140037b7c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140037b7c
lea r8, [rbp - 0x28]
lea rcx, str.SMBServer_WindowsMaxInSMBConns
call fcn.14000ad04
test eax, eax
js 0x140037b70
mov rax, qword [rbp - 0x28]
lea r8, [rsp + 0x30]
inc rax
lea ecx, [rdi + 4]
lea edx, [rax + rax]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x60], r11d
js 0x140037b7c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140037b7c
lea edx, [rdi + 4]
mov ecx, edx
lea r8, [rsp + 0x30]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x60], r11d
js 0x140037b7c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140037b7c
lea edx, [rdi + 4]
mov ecx, edx
lea r8, [rsp + 0x30]
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r11d, dword [rsp + 0x30]
mov dword [rbp - 0x60], r11d
js 0x140037b7c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
or esi, ebx
jl 0x140037b7c
mov eax, dword [rbp + 0x340]
mov dword [rsp + 0x3c], eax
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
lea edx, [rdi + 8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r9, rax
test rax, rax
je 0x140037b84
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], edi
lea rax, [rbp + 0x78]
mov dword [rbp + 0x78], edi
test rax, rax
je 0x140037b92
lea r8, [rbp - 0x70]
mov rcx, r9
lea edx, [rdi + 4]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140037b97
mov ecx, dword [rsp + 0x3c]
lea rax, [r9 + 8]
add rcx, r9
cmp rax, rcx
ja 0x140037b8b
mov rcx, qword [rbp - 0x70]
lea ebx, [rdi + 1]
mov dword [r9], edx
mov eax, dword [rbp + 0x78]
mov dword [rcx], eax
add dword [rsp + 0x38], ebx
test esi, esi
js 0x140037b7c
test r14d, r14d
je 0x140037bed
cmp qword [rsp + 0x40], rdi
je 0x140037ba1
mov r11d, edi
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0x30], r9
cmp dword [rsp + 0x38], edi
jbe 0x14001cb54
mov r10d, dword [rbp - 4]
mov edx, dword [r9]
lea r8, [rbp + 0x340]
mov ecx, 4
call fcn.14000ad5c
test eax, eax
mov esi, eax
cmovns r10d, dword [rbp + 0x340]
mov dword [rbp - 4], r10d
js 0x14001cb9a
mov edx, r10d
lea r8, [rsp + 0x30]
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001cb9a
mov r9, qword [rsp + 0x30]
add r11d, ebx
cmp r11d, dword [rsp + 0x38]
jb 0x14001cb09
lea r8, [rbp - 0x70]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001cb9a
mov ecx, dword [rsp + 0x3c]
lea rax, [r14 + 4]
add rcx, qword [rsp + 0x40]
add rax, r9
mov r8, r14
cmp rax, rcx
ja 0x140037b8b
mov rcx, qword [rbp - 0x70]
mov rdx, r12
mov dword [r9], r14d
call sub.msvcrt.dll_memcpy
add dword [rsp + 0x38], ebx
test esi, esi
js 0x140037b7c
test r15d, r15d
je 0x140037c57
cmp qword [rsp + 0x40], rdi
je 0x140037bf7
mov ecx, edi
mov r9, qword [rsp + 0x40]
cmp dword [rsp + 0x38], edi
jbe 0x14001cbf1
mov eax, dword [r9]
add eax, 4
cmp eax, 4
jb 0x140037c4d
mov dword [rbp + 0xb0], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140037b77
add ecx, ebx
mov r9, rdx
cmp ecx, dword [rsp + 0x38]
jb 0x14001cbc3
lea r8, [rbp - 0x70]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001cc37
mov ecx, dword [rsp + 0x3c]
add rcx, qword [rsp + 0x40]
mov r8d, r15d
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x140037b8b
mov rcx, qword [rbp - 0x70]
mov rdx, r13
mov dword [r9], r15d
call sub.msvcrt.dll_memcpy
add dword [rsp + 0x38], ebx
mov r13d, 4
test esi, esi
js 0x140037cb2
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x170]
test rax, rax
je 0x140037cdd
cmp qword [rsp + 0x40], rdi
je 0x140037c61
mov ecx, edi
mov r9, qword [rsp + 0x40]
cmp dword [rsp + 0x38], edi
jbe 0x14001cca6
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x140037ccc
mov dword [rbp + 0x64], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140037cad
add ecx, ebx
mov r9, rdx
cmp ecx, dword [rsp + 0x38]
jb 0x14001cc7b
lea r8, [rbp - 0x70]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001ccec
mov ecx, dword [rsp + 0x3c]
lea rax, [r9 + 0xc]
add rcx, qword [rsp + 0x40]
cmp rax, rcx
ja 0x140037cd6
mov rax, qword [rbp - 0x70]
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x170]
movsd qword [rax], xmm0
add dword [rsp + 0x38], ebx
test esi, esi
js 0x140037cb2
lea r11, str.SMBServer_WindowsMaxInSMBConns
mov rcx, r11
lea r8, [rbp + 0x340]
call fcn.14000ad04
test eax, eax
js 0x140037ce7
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov rdx, rbx
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001cdd8
mov eax, dword [rbp + 0x340]
lea r10d, [rax + rax]
test r11, r11
je 0x140037cee
test r10d, r10d
je 0x140037cf7
cmp qword [rsp + 0x40], rdi
je 0x140037d01
mov ecx, edi
mov r9, qword [rsp + 0x40]
cmp dword [rsp + 0x38], edi
jbe 0x14001cd94
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x140037d53
mov dword [rbp + 0x90], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140037d53
add ecx, ebx
mov r9, rdx
cmp ecx, dword [rsp + 0x38]
jb 0x14001cd66
lea r8, [rbp - 0x70]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001cdd8
mov ecx, dword [rsp + 0x3c]
lea rax, [r10 + 4]
add rcx, qword [rsp + 0x40]
add rax, r9
mov r8d, r10d
cmp rax, rcx
ja 0x140037d5d
mov rcx, qword [rbp - 0x70]
mov rdx, r11
mov dword [r9], r10d
call sub.msvcrt.dll_memcpy
add dword [rsp + 0x38], ebx
test esi, esi
js 0x140037cb2
mov eax, dword [rbp - 8]
mov dword [rbp + 0xa8], eax
lea rax, [rbp + 0xa8]
test rax, rax
je 0x140037dbb
cmp qword [rsp + 0x40], rdi
je 0x140037d67
mov ecx, edi
mov r9, qword [rsp + 0x40]
cmp dword [rsp + 0x38], edi
jbe 0x14001ce3c
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x140037db1
mov dword [rbp + 0x6c], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140037cad
add ecx, ebx
mov r9, rdx
cmp ecx, dword [rsp + 0x38]
jb 0x14001ce11
lea r8, [rbp - 0x70]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001ce7a
mov ecx, dword [rsp + 0x3c]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x40]
cmp rax, rcx
ja 0x140037cd6
mov rcx, qword [rbp - 0x70]
mov dword [r9], r13d
mov eax, dword [rbp + 0xa8]
mov dword [rcx], eax
add dword [rsp + 0x38], ebx
test esi, esi
js 0x140037cb2
lea rax, [rbp + 0x98]
mov dword [rbp + 0x98], r13d
test rax, rax
je 0x140037e19
cmp qword [rsp + 0x40], rdi
je 0x140037dc5
mov ecx, edi
mov r9, qword [rsp + 0x40]
cmp dword [rsp + 0x38], edi
jbe 0x14001cedc
mov eax, dword [r9]
add eax, 4
cmp eax, r13d
jb 0x140037e0f
mov dword [rbp + 0x58], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140037cad
add ecx, ebx
mov r9, rdx
cmp ecx, dword [rsp + 0x38]
jb 0x14001ceb1
lea r8, [rbp - 0x70]
mov rdx, r13
mov rcx, r9
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001cf1a
mov ecx, dword [rsp + 0x3c]
lea rax, [r9 + 8]
add rcx, qword [rsp + 0x40]
cmp rax, rcx
ja 0x140037cd6
mov rcx, qword [rbp - 0x70]
mov dword [r9], r13d
mov eax, dword [rbp + 0x98]
mov dword [rcx], eax
add dword [rsp + 0x38], ebx
test esi, esi
js 0x140037cb2
lea r8, [rbp + 0x340]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov r10d, dword [rbp - 0x54]
test eax, eax
mov esi, eax
cmovns r10d, dword [rbp + 0x340]
mov dword [rbp - 0x54], r10d
js 0x140037e23
lea r8, [rsp + 0x30]
mov dword [rbp + 0x340], r10d
mov edx, 8
call fcn.14000ad5c
test eax, eax
mov r9d, r10d
mov esi, eax
cmovns r9d, dword [rsp + 0x30]
mov dword [rbp - 0x54], r9d
js 0x140037e23
lea r8, [rbp + 0x340]
mov edx, r9d
mov ecx, r10d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140037e23
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 - 0x54], r9d
js 0x140037e23
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140037e23
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 - 0x54], r9d
js 0x140037e23
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140037e23
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 - 0x54], r9d
js 0x140037e23
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x140037e23
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 - 0x54], r9d
js 0x140037e23
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r9d
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 0x340]
test esi, esi
cmovns eax, dword [rbp + 0x340]
mov dword [rbp - 0x68], eax
test esi, esi
js 0x140037cb2
mov r13, rdi
mov qword [rbp], rdi
mov r15d, edi
mov qword [rbp + 0xc8], rdi
mov qword [rbp + 0x28], rdi
mov r12d, edi
mov qword [rbp - 0x10], rdi
mov dword [rbp - 0x7c], edi
mov qword [rbp + 0x18], rdi
mov qword [rsp + 0x78], rdi
mov dword [rbp - 0x30], edi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x138], rax
mov dword [rbp - 0x5c], 8
mov edx, dword [rsp + 0x3c]
lea r8, [rbp - 0x5c]
mov ecx, 8
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001d1d5
mov eax, dword [rbp - 0x5c]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x5c]
jb 0x140037e2e
mov dword [rbp - 0x5c], eax
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x140037e38
mov qword [rbp + 0x340], rax
lea r8, [rbp + 0x340]
mov eax, dword [rsp + 0x38]
mov edx, 4
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001d1c7
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov eax, dword [rsp + 0x3c]
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001d1c7
mov ecx, dword [rbp - 0x5c]
mov rax, qword [rbp + 0x138]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rbp + 0x340]
call sub.msvcrt.dll_memcpy
mov r15d, dword [rbp - 0x5c]
mov r13, rbx
mov qword [rbp], rbx
mov rbx, rdi
test rbx, rbx
jne 0x140037e42
mov ebx, 1
or esi, 0x10000000
jl 0x14001e651
mov qword [rbp + 0x1b0], rdi
mov r14, rdi
mov qword [rbp + 0x240], rdi
mov qword [rbp + 0x1c0], rdi
mov qword [rbp + 0x250], rdi
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x230], rdi
test r13, r13
je 0x140037e5c
mov esi, r15d
mov qword [rbp - 0x28], rsi
test r15d, r15d
je 0x140037fd3
lea rax, [rsi + 8]
mov rcx, rax
mov qword [rbp - 0x38], rax
call fcn.14000ab60
mov qword [rsp + 0x30], rax
mov r12, rax
test rax, rax
je 0x140037fd3
mov dl, dil
mov rcx, rdi
test r15d, r15d
je 0x14001d25f
xor dl, byte [rcx + r13]
add rcx, rbx
cmp rcx, rsi
jb 0x14001d253
or r11d, 0xffffffff
mov dword [rbp + 0x340], edi
mov r8, rsi
mov dword [rbp + 0x358], r11d
mov ebx, edi
mov r9, r13
mov dword [rsp + 0x64], ebx
mov r10, rax
mov r13d, edi
and r8d, 7
jne 0x140037e66
mov r15, rsi
shr r15, 3
test r15, r15
je 0x14001d5e6
mov r14d, dword [rbp + 0x340]
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 [rsp + 0x64], ebx
xor r11d, 0xed96c26b
xor r11d, r13d
mov r14d, r10d
mov dword [rbp + 0x358], r11d
mov r13d, r9d
mov byte [r12 - 4], bl
mov al, byte [rbp + 0x358]
ror dword [rsp + 0x64], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp + 0x358], 8
mov al, byte [rsp + 0x64]
mov byte [r12 - 0xd], al
mov al, byte [rbp + 0x358]
ror dword [rsp + 0x64], 8
mov byte [r12 - 9], al
ror dword [rbp + 0x358], 8
mov al, byte [rsp + 0x64]
mov byte [r12 - 0xe], al
ror dword [rsp + 0x64], 8
mov al, byte [rbp + 0x358]
mov byte [r12 - 0xa], al
ror dword [rbp + 0x358], 8
mov al, byte [rsp + 0x64]
mov byte [r12 - 0xf], al
mov al, byte [rbp + 0x358]
mov byte [r12 - 0xb], al
mov ebx, dword [rsp + 0x64]
mov r11d, dword [rbp + 0x358]
ror ebx, 8
ror r11d, 8
mov dword [rsp + 0x64], ebx
mov dword [rbp + 0x358], r11d
sub r15, 1
jne 0x14001d2ab
mov rsi, qword [rbp - 0x28]
mov r14, rdi
mov r12, qword [rsp + 0x30]
movzx eax, dl
mov qword [r12 + rsi], rax
mov rsi, qword [rbp - 0x38]
mov qword [rbp + 0x230], rsi
mov qword [rbp + 0x120], r12
lea rax, [0x1400a94f0]
mov r13d, 8
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x240], r13
lea r15, [0x1400a9450]
mov qword [rbp + 0x250], 0xa0
mov qword [rbp + 0x1c0], 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 0x140037f42
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 0x140037f4c
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 0x140037f4c
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 0x140037f4c
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 0x140037f56
test esi, esi
js 0x14001d762
mov qword [rbp + 0xc8], r14
mov r14, rdi
mov rbx, qword [rbp + 0x120]
test rbx, rbx
je 0x14001d789
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 0x140037fdd
mov r12d, edi
or esi, 0x10000000
jl 0x14001e651
mov r14, qword [rbp + 0xc8]
lea r8, [rbp + 0x340]
mov r15d, 4
mov ecx, r15d
mov dword [rbp + 0x340], r15d
mov edx, dword [r14]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14003805a
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14003805a
mov edx, dword [r14 + 0x10]
lea r8, [rbp + 0x340]
mov ecx, dword [rbp + 0x340]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14003805a
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14003805a
mov edx, dword [r14 + 0x20]
lea r8, [rbp + 0x340]
mov ecx, dword [rbp + 0x340]
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 0x10]
test esi, esi
cmovns eax, dword [rbp + 0x340]
mov dword [rbp + 0x10], eax
test esi, esi
js 0x14001d99c
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 0x140038062
mov qword [rbp + 0x340], rax
lea r8, [rbp + 0x340]
mov eax, dword [r14]
mov rdx, r15
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001d993
mov r8d, dword [r14]
mov rdx, qword [r14 + 8]
mov rcx, qword [rbp + 0x340]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14]
lea r8, [rbp + 0x340]
mov rcx, qword [rbp + 0x340]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001d993
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov eax, dword [r14 + 0x10]
mov rdx, r15
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001d993
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
mov rcx, qword [rbp + 0x340]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0x10]
lea r8, [rbp + 0x340]
mov rcx, qword [rbp + 0x340]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001d993
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov eax, dword [r14 + 0x20]
mov rdx, r15
mov dword [rcx], eax
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001d993
mov r8d, dword [r14 + 0x20]
mov rdx, qword [r14 + 0x28]
mov rcx, qword [rbp + 0x340]
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0x20]
lea r8, [rbp + 0x340]
mov rcx, qword [rbp + 0x340]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001d993
mov r12d, dword [rbp + 0x10]
mov qword [rbp + 0x28], rbx
mov rbx, rdi
test rbx, rbx
jne 0x14003806c
or esi, 0x10000000
jl 0x14001e651
mov ebx, edi
mov qword [rbp + 0x1d0], rdi
mov dword [rbp + 0x130], ebx
mov r11d, edi
mov dword [rbp + 0xf4], edi
mov qword [rbp + 0x248], rdi
mov dword [rbp + 0x20], 8
mov edx, dword [rbp - 0x68]
lea r8, [rbp + 0x20]
mov ecx, 8
call fcn.14000ad5c
mov esi, eax
or esi, 0x10000000
jl 0x14001dc11
mov eax, dword [rbp + 0x20]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x20]
jb 0x140038086
mov dword [rbp + 0x88], eax
mov edx, ecx
lea r8, [rbp + 0x88]
mov ecx, eax
call fcn.14000ad5c
mov r9d, dword [rbp + 0x60]
test eax, eax
mov esi, eax
cmovns r9d, dword [rbp + 0x88]
mov dword [rbp + 0x60], r9d
test esi, esi
js 0x14001e651
cmp qword [rsp + 0x40], rdi
je 0x140038094
cmp dword [rsp + 0x38], 1
jbe 0x140038094
mov rcx, qword [rsp + 0x40]
mov r10d, edi
mov qword [rbp + 0x340], rcx
mov r14d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001dad2
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r14d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001dad2
mov rcx, qword [rbp + 0x340]
inc r10d
cmp r10d, 1
jb 0x14001da57
mov r10d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001dad2
mov rax, qword [rbp + 0x340]
test r10d, r10d
mov r11d, r10d
mov dword [rbp + 0xf4], r10d
cmove rax, rdi
mov qword [rbp + 0x1d0], rax
test esi, esi
js 0x14001e651
cmp dword [rsp + 0x38], 2
jbe 0x140038094
mov rcx, qword [rsp + 0x40]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x1400380b0
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x1400380b0
inc r8d
mov qword [rbp + 0x340], rcx
cmp r8d, 2
jb 0x14001daed
mov r10d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001db4e
mov rax, qword [rbp + 0x340]
test r10d, r10d
mov ebx, r10d
cmove rax, rdi
mov dword [rbp + 0x130], ebx
mov qword [rbp + 0x248], rax
test esi, esi
js 0x14001e651
lea r8, [rbp + 0x340]
mov dword [rbp + 0x340], r15d
mov edx, r9d
mov ecx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14003809e
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14003809e
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r11d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14003809e
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14003809e
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, ebx
call fcn.14000ad5c
mov esi, eax
mov eax, dword [rbp + 0x68]
test esi, esi
cmovns eax, dword [rbp + 0x340]
mov dword [rbp + 0x68], eax
test esi, esi
js 0x14001e651
cmp eax, 0x400000
ja 0x1400380a6
mov dword [rbp - 0x7c], eax
test esi, esi
js 0x14001e651
mov ebx, dword [rbp - 0x7c]
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 0x1400380ba
mov r15, rax
mov qword [rbp - 0x10], rax
or esi, 0x10000000
jl 0x14001e651
mov rsi, qword [rbp + 0x28]
test rsi, rsi
je 0x1400380c7
test r15, r15
je 0x1400380c7
lea r8, [rbp + 0x1e0]
mov ecx, 1
lea rdx, [0x1400735c8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400380d1
mov rcx, qword [rbp + 0x1e0]
lea rdx, [0x1400735e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1400380d1
mov eax, dword [rbp - 0x7c]
mov rcx, rbx
mov dword [rbp + 0x2cc], eax
mov qword [rbp + 0x2b8], rsi
mov dword [rbp + 0x2c8], r12d
mov qword [rbp + 0x2c0], r15
mov dword [rbp + 0x2d0], edi
call qword [0x1400719c8]
xor r9d, r9d
lea rdx, [rbp + 0x2b8]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov r9d, dword [rbp - 0x7c]
mov esi, eax
or esi, 0x10000000
cmovns r9d, dword [rbp + 0x2cc]
mov dword [rbp - 0x7c], r9d
cmp esi, 0xd0000023
je 0x1400380f8
test esi, esi
js 0x14001e651
mov dword [rbp + 0x340], edi
mov r14, rdi
mov qword [rsp + 0x30], r15
cmp r9d, 4
jb 0x140038106
mov r13d, dword [r15]
lea r8, [rsp + 0x30]
mov edx, 4
mov rcx, r15
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001e00c
lea r8, [rbp + 0x340]
xor ecx, ecx
mov r15d, edx
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e00c
mov eax, r9d
sub eax, dword [rbp + 0x340]
cmp eax, r13d
jb 0x140038106
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 0x14001e00c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e00c
mov eax, r9d
sub eax, dword [rbp + 0x340]
cmp eax, r15d
jb 0x140038106
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 0x14001e00c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e00c
mov eax, r9d
sub eax, dword [rbp + 0x340]
cmp eax, r12d
jb 0x140038106
mov rax, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov rcx, rax
mov qword [rbp - 0x28], rax
mov edx, r12d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001e00c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e00c
mov eax, r9d
sub eax, dword [rbp + 0x340]
cmp eax, r15d
jb 0x140038106
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 0x14001e00c
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e00c
mov ecx, dword [rbp + 0x340]
mov eax, r9d
sub eax, ecx
cmp eax, r15d
jb 0x140038106
lea r8, [rbp + 0x340]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e00c
cmp r9d, dword [rbp + 0x340]
jne 0x140038106
lea ecx, [r15 + r12]
mov eax, r9d
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x140038106
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 0x140038110
mov esi, edi
cmp qword [rsp + 0x50], rdi
je 0x140038124
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 0x14003811a
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 - 0x28]
test r13, r13
je 0x14003812f
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 0x14003811a
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 0x14003813b
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 0x14003811a
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 0x140038147
test esi, esi
js 0x14001e003
mov qword [rbp + 0x18], r14
mov r14, rdi
test r14, r14
jne 0x1400381c4
or esi, 0x10000000
jl 0x14001e651
mov rax, qword [rbp + 0x18]
mov rbx, rdi
mov qword [rbp + 0x40], rbx
mov esi, edi
mov qword [rbp + 0x150], rdi
test rax, rax
je 0x140038241
mov r14, qword [rax + 8]
mov qword [rbp - 0x78], r14
test r14, r14
je 0x140038241
cmp dword [rax], edi
je 0x140038241
mov r15d, dword [rax]
test r15, r15
je 0x14003834c
add r15, 0xfffffffffffffff8
mov rcx, r15
mov qword [rbp - 0x38], r15
call fcn.14000ab60
mov qword [rbp - 0x28], rax
mov r12, rax
test rax, rax
je 0x140038348
mov r8, r15
mov dword [rsp + 0x5c], edi
mov r9, r14
mov dl, dil
mov r10, rax
mov r14d, edi
and r8d, 7
jne 0x14003824b
or dword [rbp - 0x68], 0xffffffff
mov dword [rsp + 0x50], edi
mov dword [rbp + 0x348], ebx
mov r13, r15
shr r13, 3
test r13, r13
je 0x14001e3e8
mov edx, dword [rbp - 0x68]
lea r15, [r10 + 7]
mov r12d, dword [rsp + 0x50]
lea rdi, [r9 + 2]
movzx eax, byte [rdi - 1]
mov r9d, 0x532d7f78
movzx r11d, byte [rdi - 2]
movzx r10d, byte [rdi + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rdi]
lea rdi, [rdi + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdi - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdi - 5]
or r10d, eax
xor r14d, r11d
movzx eax, byte [rdi - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdi - 3]
shl r10d, 8
or r10d, eax
xor ebx, r10d
xor ebx, r14d
xor ebx, 0x5384b529
lea eax, [rbx - 0x532d7f78]
rol eax, 5
imul ecx, eax, 0xca51
mov eax, ebx
rol eax, 0xa
add ecx, eax
xor r14d, ecx
lea eax, [r14 + 0xa9ca51]
ror eax, 9
imul ecx, eax, 0x532d
mov eax, r14d
rol eax, 2
sub ecx, eax
xor ebx, ecx
lea eax, [rbx - 0xca51]
imul ecx, eax, 0x7f78
mov eax, ebx
shr eax, 0xd
sub ecx, eax
xor r14d, ecx
mov eax, r14d
xor eax, 0x532d
rol eax, 6
imul ecx, eax, 0xa9
mov eax, r14d
rol eax, 2
sub ecx, eax
mov eax, 0xa9ca51
xor ebx, ecx
mov ecx, ebx
xor ecx, r9d
sub eax, ecx
xor r14d, eax
mov eax, r14d
mov r8d, r14d
xor eax, 0xca51
ror r8d, 6
imul ecx, eax, 0x532d
xor r8d, ecx
xor ebx, r8d
lea eax, [rbx + 0xa9ca51]
ror eax, 0xf
imul ecx, eax, 0x7f78
mov eax, ebx
rol eax, 2
add ecx, eax
xor r14d, ecx
lea eax, [r14 - 0x532d7f78]
ror eax, 0xe
imul ecx, eax, 0xa9
mov eax, r14d
rol eax, 8
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, r9d
mov r8d, 0x532d
ror eax, 0xc
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 0xa
xor ecx, eax
xor r14d, ecx
mov eax, r14d
xor eax, 0xa9
imul ecx, eax, 0x532d
mov eax, r14d
shr eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
mov r9d, ebx
not eax
ror eax, 5
add eax, 0x7f78
imul eax, eax, 0xa9
xor r14d, eax
xor r9d, r14d
xor r9d, 0x5384b529
mov eax, r9d
ror eax, 5
sub eax, r8d
imul eax, eax, 0xa9
xor ebx, eax
lea eax, [rbx - 0x532d]
rol eax, 3
imul ecx, eax, 0x7f78
mov eax, ebx
shr eax, 7
xor ecx, eax
xor r9d, ecx
lea eax, [r9 - 0x532d7f78]
rol eax, 0xe
imul ecx, eax, 0xa9
mov eax, r9d
ror eax, 0xc
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x532d7f78
rol eax, 9
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 2
add ecx, eax
xor r9d, ecx
lea eax, [r9 + 0xa9ca51]
rol eax, 8
imul ecx, eax, 0x532d
mov eax, r9d
ror eax, 6
sub ecx, eax
mov eax, 0xa9ca51
xor ebx, ecx
sub eax, ebx
ror eax, 0xe
imul ecx, eax, 0x7f78
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, r8d
rol eax, 5
imul ecx, eax, 0xa9
mov eax, r9d
rol eax, 0xf
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x532d7f78]
rol eax, 0xa
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 4
xor ecx, eax
xor r9d, ecx
mov eax, r9d
not eax
ror eax, 2
add eax, r8d
imul eax, eax, 0xca51
xor ebx, eax
mov eax, ebx
mov r8d, ebx
xor eax, 0xca51
ror r8d, 6
imul ecx, eax, 0x7f78
xor ebx, edx
mov dword [rbp + 0x348], ebx
mov edx, r10d
add r8d, ecx
xor r8d, r12d
mov r12d, r11d
xor r9d, r8d
mov dword [rsp + 0x5c], r9d
mov byte [r15 - 4], r9b
mov al, byte [rbp + 0x348]
ror dword [rsp + 0x5c], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp + 0x348], 8
mov al, byte [rsp + 0x5c]
mov byte [r15 - 0xd], al
mov al, byte [rbp + 0x348]
ror dword [rsp + 0x5c], 8
mov byte [r15 - 9], al
ror dword [rbp + 0x348], 8
mov al, byte [rsp + 0x5c]
mov byte [r15 - 0xe], al
ror dword [rsp + 0x5c], 8
mov al, byte [rbp + 0x348]
mov byte [r15 - 0xa], al
ror dword [rbp + 0x348], 8
mov al, byte [rsp + 0x5c]
mov byte [r15 - 0xf], al
mov al, byte [rbp + 0x348]
mov byte [r15 - 0xb], al
mov r14d, dword [rsp + 0x5c]
mov ebx, dword [rbp + 0x348]
ror r14d, 8
ror ebx, 8
mov dword [rsp + 0x5c], r14d
mov dword [rbp + 0x348], ebx
sub r13, 1
jne 0x14001e0c5
mov r15, qword [rbp - 0x38]
mov dl, sil
mov r12, qword [rbp - 0x28]
xor edi, edi
mov rax, rdi
test r15, r15
je 0x14001e3fc
xor dl, byte [rax + r12]
inc rax
cmp rax, r15
jb 0x14001e3f0
mov rcx, qword [rbp - 0x78]
movzx eax, dl
cmp rax, qword [r15 + rcx]
jne 0x140038328
mov rbx, r12
mov qword [rbp + 0x150], r15
mov qword [rbp + 0x40], rbx
mov r12, rdi
mov r14d, esi
test r12, r12
jne 0x140038337
test r14d, r14d
js 0x14003834c
mov eax, dword [rbp + 0x150]
mov qword [rsp + 0x78], rbx
mov rbx, rdi
mov qword [rbp + 0x40], rbx
mov dword [rbp - 0x30], eax
test rbx, rbx
jne 0x140038356
or esi, 0x10000000
jl 0x14001e651
mov r9, qword [rsp + 0x78]
mov r15d, 4
mov dword [rbp + 0x340], edi
mov qword [rsp + 0x30], r9
cmp dword [rbp - 0x30], r15d
jb 0x14003839b
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 0x14001e64d
lea r8, [rbp + 0x340]
xor ecx, ecx
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e64d
mov eax, dword [rbp - 0x30]
sub eax, dword [rbp + 0x340]
cmp eax, r15d
jb 0x14003839b
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 0x14001e64d
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e64d
mov eax, dword [rbp - 0x30]
mov ecx, dword [rbp + 0x340]
sub eax, ecx
cmp eax, r15d
jb 0x14003839b
lea r8, [rbp + 0x340]
mov edx, r15d
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001e64d
mov edx, dword [rbp - 0x30]
mov rbx, qword [rsp + 0x30]
lea rcx, [rdx + r9]
lea rax, [r15 + rbx]
cmp rcx, rax
jb 0x14003839b
sub rdx, r15
sub rdx, rbx
add rdx, r9
cmp rdx, 8
jae 0x14003839b
mov r12, rdi
mov esi, edi
mov r13d, edi
test rbx, rbx
je 0x14001e5f1
lea r8, [rbp + 0x340]
mov edx, r15d
mov rcx, rbx
mov r9, rbx
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x14001e63f
mov rcx, qword [rbp + 0x340]
cmp rbx, rcx
jae 0x14001e5e8
lea rax, [r9 + 4]
cmp rax, r9
jb 0x140038387
cmp rax, rcx
ja 0x14003837d
mov eax, dword [r9]
add eax, r11d
cmp eax, r11d
jb 0x140038373
mov dword [rbp + 0x278], eax
mov edx, eax
add rdx, r9
cmp rdx, r9
jb 0x140038387
mov r9, rdx
mov esi, edi
cmp rdx, rcx
ja 0x14003837d
inc r13d
cmp rdx, rcx
jb 0x14001e599
cmp r9, rcx
jne 0x14003837d
test r15d, r15d
je 0x14001e61b
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 0x140038391
mov esi, edi
test rbx, rbx
je 0x14001e62e
mov r8, r15
mov rdx, rbx
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp - 0x40], r12
mov dword [rbp - 0x44], r15d
mov dword [rbp - 0x48], r13d
mov r10d, dword [rsp + 0x50]
test esi, esi
js 0x14001e64d
cmp r10d, dword [rbp - 0x48]
jne 0x14003839b
bts esi, 0x1c
mov r15d, 0x8007007a
mov rbx, qword [rbp]
test rbx, rbx
je 0x14001e674
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 + 0xc8]
test r14, r14
je 0x14001e6fe
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x14001e6a1
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 0x14001e6c2
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 0x14001e6e3
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 + 0xc8], rdi
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x14001e71b
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]
test rbx, rbx
je 0x14001e738
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 + 0x18]
test r14, r14
je 0x14001e7b8
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x14001e762
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 0x14001e783
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 0x14001e7a4
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 [rsp + 0x78]
test rbx, rbx
je 0x14001e7d6
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 r12d, 1
test esi, esi
js 0x14001ebc8
cmp dword [rbp - 0x48], r12d
jb 0x140038467
lea r13d, [r12 + 3]
cmp qword [rbp - 0x40], rdi
je 0x1400383a5
cmp dword [rbp - 0x48], edi
jbe 0x1400383a5
mov rbx, qword [rbp - 0x40]
lea r8, [rbp + 0x340]
mov edx, r13d
mov qword [rbp + 0x340], rbx
mov rcx, rbx
mov r9d, dword [rbx]
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400383af
mov rax, qword [rbp + 0x340]
test r9d, r9d
mov dword [rbp + 0x108], r9d
cmove rax, rdi
mov qword [rbp + 0x1f0], rax
test esi, esi
js 0x14001ebc8
cmp r9d, r13d
jne 0x140038453
mov eax, dword [rax]
mov dword [rbp - 0x50], eax
test esi, esi
js 0x14001ebc8
mov esi, dword [rbp - 0x50]
cmp esi, 0xd0000023
cmove esi, r15d
mov dword [rbp - 0x50], esi
cmp esi, r15d
je 0x14001e887
test esi, esi
js 0x14001ebc8
cmp dword [rbp - 0x48], 6
jne 0x140038467
cmp qword [rbp - 0x40], rdi
je 0x1400383c2
mov rcx, qword [rbp - 0x40]
mov r9d, edi
mov qword [rbp + 0x340], rcx
mov r10d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400383cc
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r10d
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400383cc
mov rcx, qword [rbp + 0x340]
add r9d, r12d
cmp r9d, r12d
jb 0x14001e8a9
mov r9d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400383cc
mov rax, qword [rbp + 0x340]
test r9d, r9d
mov dword [rbp + 0xd0], r9d
cmove rax, rdi
mov qword [rbp + 0x258], rax
test esi, esi
js 0x14001ebc8
cmp r9d, 8
jne 0x140038453
mov rax, qword [rax]
mov qword [rbp + 0x220], rax
test esi, esi
js 0x14001ebc8
cmp qword [rbp - 0x40], rdi
je 0x1400383df
mov rcx, qword [rbp - 0x40]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x1400383fc
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x1400383fc
add r8d, r12d
mov qword [rbp + 0x340], rcx
cmp r8d, 2
jb 0x14001e961
mov r9d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x1400383e9
mov rax, qword [rbp + 0x340]
test r9d, r9d
mov dword [rbp + 0xe0], r9d
cmove rax, rdi
mov qword [rbp + 0x200], rax
test esi, esi
js 0x14001ebc8
cmp r9d, r13d
jne 0x140038453
mov eax, dword [rax]
mov dword [rbp + 0x100], eax
test esi, esi
js 0x14001ebc8
cmp qword [rbp - 0x40], rdi
je 0x140038406
mov rcx, qword [rbp - 0x40]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x140038479
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x140038479
add r8d, r12d
mov qword [rbp + 0x340], rcx
cmp r8d, 3
jb 0x14001e9f6
mov r10d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140038410
mov r11, qword [rbp + 0x340]
test r10d, r10d
mov dword [rbp + 0x12c], r10d
cmove r11, rdi
mov qword [rbp + 0x290], r11
test eax, eax
js 0x14001ebc8
mov rcx, qword [rbp - 0x40]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x140038436
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x140038436
add r8d, r12d
mov qword [rbp + 0x340], rcx
cmp r8d, r13d
jb 0x14001ea68
mov r9d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140038423
mov rax, qword [rbp + 0x340]
test r9d, r9d
mov dword [rbp + 0xf0], r9d
cmove rax, rdi
mov qword [rbp + 0x210], rax
test esi, esi
js 0x14001ebc8
cmp r9d, r13d
jne 0x140038453
mov eax, dword [rax]
mov dword [rbp + 0xf8], eax
test esi, esi
js 0x14001ebc8
mov rcx, qword [rbp - 0x40]
mov r8d, edi
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x14003845d
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x14003845d
add r8d, r12d
mov qword [rbp + 0x340], rcx
cmp r8d, 5
jb 0x14001eaf2
mov r9d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r13
call fcn.14000ad74
mov esi, eax
test eax, eax
js 0x140038440
mov rax, qword [rbp + 0x340]
test r9d, r9d
mov dword [rbp + 0x110], r9d
cmove rax, rdi
mov qword [rbp + 0x268], rax
test esi, esi
js 0x14001ebc8
cmp r9d, r13d
jne 0x140038453
mov eax, dword [rax]
mov dword [rbp + 0x70], eax
test esi, esi
js 0x14001ebc8
mov rax, qword [rbp + 0x220]
cmp qword [rbp + 0x180], rax
jne 0x140038467
mov eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0xf8]
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x100]
mov dword [rbp + 0xb4], eax
mov dword [rbp + 0xb8], ecx
cmp ecx, r13d
ja 0x140038471
cmp r10d, r13d
ja 0x140038471
mov rcx, qword [rbp + 0x140]
mov rdx, r11
mov r8d, r10d
call sub.msvcrt.dll_memcpy
cmp dword [rbp - 0x50], edi
cmovne esi, dword [rbp - 0x50]
mov r15, qword [rsp + 0x28]
lea r13, [0x1400a93b0]
mov r14, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x38], 0
test rbx, rbx
je 0x14001ec05
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 + 0x40], rdi
mov rbx, qword [rbp - 0x40]
mov qword [rbp - 0x48], 0
test rbx, rbx
je 0x14001ec2e
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 - 0x40], rdi
test r15, r15
je 0x14001ec47
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 0x14001ec60
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 0x14003a8c5
cmp dword [rbp - 8], edi
jne 0x140038483
mov eax, dword [rbp + 0xb8]
mov r12d, 1
mov ebx, dword [rbp + 0xb4]
mov r14d, 0x8007007a
mov dword [rbp + 0x198], eax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0xe8], rax
mov qword [rbp - 0x18], rdi
lea rcx, [rbp - 0x18]
call fcn.14000a6e8
test esi, esi
js 0x14003a8d6
cmp ebx, 4
jne 0x14001ecfc
mov rcx, qword [rbp + 0xe8]
call fcn.14000a740
test al, al
cmovne rcx, rdi
mov eax, dword [rcx]
mov dword [rbp + 0x5c], eax
lea rcx, [rbp + 0xe8]
call fcn.14000a6e8
cmp dword [rbp - 0x1c], edi
jl 0x14001ece6
cmp dword [rbp + 0x5c], edi
cmove edi, r12d
mov eax, edi
add rsp, 0x3f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov dword [rbp - 0x1c], 0xc004f01e
jmp 0x14001ecce
mov esi, 0x8007000e
jmp 0x14003a8cb
mov r14, rdi
jmp 0x140037cba
mov esi, 0xc000003e
jmp 0x140037b7c
mov esi, 0xc0000095
mov r14, r13
jmp 0x140037cb7
mov esi, 0xc0000017
jmp 0x140037b7c
mov esi, 0xc0000023
jmp 0x140037b7c
mov esi, 0xc000000d
mov ebx, 1
jmp 0x14001cad6
lea r8, [rbp + 0x340]
mov edx, r14d
mov ecx, 4
call fcn.14000ad5c
mov edx, dword [rbp - 4]
test eax, eax
mov esi, eax
cmovns edx, dword [rbp + 0x340]
mov dword [rbp - 4], edx
js 0x14001cb9a
mov ecx, dword [rsp + 0x3c]
lea r8, [rsp + 0x3c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001cb9a
add dword [rsp + 0x38], ebx
jmp 0x14001cba2
mov esi, 0xc000000d
jmp 0x14001cb9a
mov r13d, 4
lea r8, [rbp + 0x340]
mov ecx, r13d
mov edx, r15d
call fcn.14000ad5c
mov edx, dword [rbp + 0xb0]
test eax, eax
mov esi, eax
cmovns edx, dword [rbp + 0x340]
mov dword [rbp + 0xb0], edx
js 0x14001cc3d
mov ecx, dword [rsp + 0x3c]
lea r8, [rsp + 0x3c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001cc3d
add dword [rsp + 0x38], ebx
jmp 0x14001cc45
mov esi, 0xc0000095
jmp 0x14001cc37
mov esi, 0xc000000d
jmp 0x14001cc37
lea r8, [rbp + 0x340]
mov edx, 8
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0x64]
test eax, eax
mov esi, eax
cmovns edx, dword [rbp + 0x340]
mov dword [rbp + 0x64], edx
js 0x14001ccec
mov ecx, dword [rsp + 0x3c]
lea r8, [rsp + 0x3c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001ccec
add dword [rsp + 0x38], ebx
jmp 0x14001ccf4
mov esi, 0xc0000095
mov r14, qword [rsp + 0x20]
mov r15, r12
lea r13, [0x1400a93b0]
mov r12d, 1
jmp 0x14001ebd9
mov esi, 0xc0000095
jmp 0x14001ccec
mov esi, 0xc0000023
jmp 0x140037cb2
mov esi, 0xc000000d
jmp 0x14001ccec
mov esi, 0xc000003e
jmp 0x140037cb2
test r10d, r10d
je 0x14001cd4e
mov esi, 0xc000000d
jmp 0x14001cdd8
lea r8, [rbp + 0x340]
mov edx, r10d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0x90]
test eax, eax
mov esi, eax
cmovns edx, dword [rbp + 0x340]
mov dword [rbp + 0x90], edx
js 0x14001cdd8
mov ecx, dword [rsp + 0x3c]
lea r8, [rsp + 0x3c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001cdd8
add dword [rsp + 0x38], ebx
mov esi, edi
jmp 0x14001cdd8
mov esi, 0xc0000095
jmp 0x14001cdd8
mov esi, 0xc0000023
jmp 0x14001cdd8
lea r8, [rbp + 0x340]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0x6c]
test eax, eax
mov esi, eax
cmovns edx, dword [rbp + 0x340]
mov dword [rbp + 0x6c], edx
js 0x14001ce7a
mov ecx, dword [rsp + 0x3c]
lea r8, [rsp + 0x3c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001ce7a
add dword [rsp + 0x38], ebx
jmp 0x14001ce82
mov esi, 0xc0000095
jmp 0x14001ce7a
mov esi, 0xc000000d
jmp 0x14001ce7a
lea r8, [rbp + 0x340]
mov edx, r13d
mov ecx, r13d
call fcn.14000ad5c
mov edx, dword [rbp + 0x58]
test eax, eax
mov esi, eax
cmovns edx, dword [rbp + 0x340]
mov dword [rbp + 0x58], edx
js 0x14001cf1a
mov ecx, dword [rsp + 0x3c]
lea r8, [rsp + 0x3c]
call fcn.14000ad5c
mov esi, eax
test eax, eax
js 0x14001cf1a
add dword [rsp + 0x38], ebx
jmp 0x14001cf22
mov esi, 0xc0000095
jmp 0x14001cf1a
mov esi, 0xc000000d
jmp 0x14001cf1a
mov eax, dword [rbp + 0x340]
jmp 0x14001d0aa
mov esi, 0xc0000095
jmp 0x14001d1d5
mov esi, 0xc0000017
jmp 0x14001d1d0
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 0x14001d1d0
mov esi, 0xc000000d
jmp 0x14001d795
mov dword [rbp + 0x340], edi
mov r15d, edi
test r8d, r8d
jle 0x140037eab
mov r11d, 0x38
movzx eax, byte [r9]
cmp ebx, 4
jge 0x140037e8e
lea ecx, [r11 - 0x20]
shl eax, cl
or r15d, eax
jmp 0x140037e96
mov ecx, r11d
shl eax, cl
or r13d, eax
inc r9
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x140037e7a
mov dword [rbp + 0x340], r15d
mov ebx, r15d
mov r11d, r13d
xor ebx, 0x875330f4
xor r11d, 0x549791cd
mov dword [rsp + 0x64], ebx
mov eax, edi
mov dword [rbp + 0x358], r11d
test r8d, r8d
jle 0x140037ef9
cmp eax, 4
jge 0x140037edd
rol ebx, 8
mov byte [r10], bl
jmp 0x140037ee4
rol r11d, 8
mov byte [r10], r11b
inc r10
inc eax
cmp eax, r8d
jl 0x140037ed0
mov ebx, dword [rsp + 0x64]
mov r11d, dword [rbp + 0x358]
lea eax, [r8 - 4]
test eax, eax
jle 0x140037f1d
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp + 0x358], r11d
jmp 0x14001d28c
mov dword [rbp + 0x358], edi
mov r11d, edi
test eax, eax
jns 0x14001d28c
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x64], ebx
jmp 0x14001d28c
mov esi, 0xc0000017
jmp 0x14001d754
mov esi, 0xc0000017
jmp 0x14001d74b
mov r15, qword [rbx + 8]
test r15, r15
je 0x140037f77
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 0x140037f98
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 0x140037fb9
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 0x14001d754
mov esi, 0xc0000001
jmp 0x14001d762
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x140037ffe
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 0x14003801f
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 0x140038040
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 0x14001d792
mov eax, dword [rbp + 0x10]
jmp 0x14001d856
mov esi, 0xc0000017
jmp 0x14001d99c
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 0x14001d99c
mov r9d, dword [rbp + 0x60]
mov esi, 0xc0000095
jmp 0x14001da2a
mov esi, 0xc000000d
jmp 0x14001dc11
mov eax, dword [rbp + 0x68]
jmp 0x14001dbfb
mov esi, 0x8000ffff
jmp 0x14001e651
mov esi, 0xc0000095
jmp 0x14001dc11
mov esi, 0xc0000017
mov r15, rdi
jmp 0x14001dc45
mov esi, 0x80070057
jmp 0x14001e651
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
test eax, eax
jle 0x1400380e6
movzx esi, ax
or esi, 0x80070000
test esi, esi
js 0x1400380ef
mov esi, 0x80004005
mov r9d, dword [rbp - 0x7c]
jmp 0x14001dd01
mov r15d, 0x8007007a
mov esi, r15d
jmp 0x14001e657
mov esi, 0xc000003e
jmp 0x14001e00c
mov esi, 0xc0000017
jmp 0x14001dff8
mov esi, 0xc0000017
jmp 0x14001dfef
mov dword [rax], edi
mov qword [rax + 8], rdi
jmp 0x14001df5f
mov dword [rbx + 0x10], edi
mov qword [rbx + 0x18], rdi
jmp 0x14001dfa4
mov dword [rbx + 0x20], edi
mov qword [rbx + 0x28], rdi
jmp 0x14001dfe9
mov r15, qword [rbx + 8]
test r15, r15
je 0x140038168
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 0x140038189
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 0x1400381aa
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 0x14001dff8
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1400381e5
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 0x140038206
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 0x140038227
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 0x14001e00c
mov esi, 0xc000000d
jmp 0x14001e451
or dword [rbp + 0x348], 0xffffffff
mov r13d, edi
mov dword [rbp - 0x68], edi
mov dword [rsp + 0x50], r14d
test r8d, r8d
jle 0x14003829b
mov r11d, 0x38
movzx eax, byte [r9]
cmp ebx, 4
jge 0x14003827c
lea ecx, [r11 - 0x20]
shl eax, cl
or r14d, eax
jmp 0x140038284
mov ecx, r11d
shl eax, cl
or r13d, eax
inc r9
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x140038268
mov dword [rsp + 0x50], r14d
mov dword [rbp - 0x68], r13d
xor r14d, 0xe5d64a7e
mov ebx, r13d
xor ebx, 0x9c54a8c9
mov dword [rsp + 0x5c], r14d
mov dword [rbp + 0x348], ebx
mov eax, edi
test r8d, r8d
jle 0x1400382e6
cmp eax, 4
jge 0x1400382cb
rol r14d, 8
mov byte [r10], r14b
jmp 0x1400382d1
rol ebx, 8
mov byte [r10], bl
inc r10
inc eax
cmp eax, r8d
jl 0x1400382bd
mov r14d, dword [rsp + 0x5c]
mov ebx, dword [rbp + 0x348]
lea eax, [r8 - 4]
test eax, eax
jle 0x140038301
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr ebx, cl
shl ebx, cl
jmp 0x14001e09f
mov ebx, edi
mov dword [rbp + 0x348], ebx
test eax, eax
jns 0x14001e0a5
neg eax
shl eax, 3
mov ecx, eax
shr r14d, cl
shl r14d, cl
mov dword [rsp + 0x5c], r14d
jmp 0x14001e0a5
mov rbx, qword [rbp + 0x40]
mov r14d, 0xc004d501
jmp 0x14001e421
mov rcx, r12
call fcn.140025e74
mov rbx, qword [rbp + 0x40]
jmp 0x14001e42a
mov rbx, qword [rbp + 0x40]
mov esi, 0xc0000001
jmp 0x14001e448
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 + 0x40], rdi
jmp 0x14001e451
mov esi, 0xc0000095
jmp 0x14001e63f
mov esi, 0xc000000d
jmp 0x14001e64d
mov esi, 0xc0000095
jmp 0x14001e64d
mov esi, 0xc0000017
jmp 0x14001e63a
mov esi, 0xc000003e
jmp 0x14001e64d
mov esi, 0xc000000d
jmp 0x14001e862
mov r9d, dword [rbp + 0x108]
mov rax, qword [rbp + 0x1f0]
jmp 0x14001e84c
mov esi, 0xc000000d
jmp 0x14001e948
mov r9d, dword [rbp + 0xd0]
mov rax, qword [rbp + 0x258]
jmp 0x14001e92c
mov esi, 0xc000000d
jmp 0x14001e9dd
mov r9d, dword [rbp + 0xe0]
mov rax, qword [rbp + 0x200]
jmp 0x14001e9c4
mov esi, 0xc0000095
jmp 0x14001e9dd
mov esi, 0xc000000d
jmp 0x14001ebc8
mov r10d, dword [rbp + 0x12c]
mov r11, qword [rbp + 0x290]
jmp 0x14001ea59
mov r9d, dword [rbp + 0xf0]
mov rax, qword [rbp + 0x210]
jmp 0x14001eaca
mov esi, 0xc0000095
jmp 0x14001eae3
mov r9d, dword [rbp + 0x110]
mov rax, qword [rbp + 0x268]
jmp 0x14001eb55
mov esi, 0xc0000023
jmp 0x14001ebc8
mov esi, 0xc0000095
jmp 0x14001eb67
mov esi, 0xc004d501
jmp 0x14001ebc8
mov esi, r15d
jmp 0x14001ebc8
mov esi, 0xc0000095
jmp 0x14001ebc8
xor eax, eax
mov dword [rsp + 0x68], edi
mov qword [rsp + 0x6c], rax
mov r15, rdi
mov dword [rsp + 0x74], eax
mov r14, rdi
mov qword [rbp + 0x4c], rax
mov dword [rbp + 0x54], eax
mov dword [rbp + 0x48], edi
mov dword [rbp + 0x128], edi
mov qword [rbp + 0x238], r13
mov qword [rbp + 0x190], 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 0x14003a834
mov r8, qword [rbp + 0x190]
mov rcx, rax
mov rdx, qword [rbp + 0x238]
call sub.msvcrt.dll_memcpy
mov r14d, dword [rbp + 0x190]
mov r15, r12
mov qword [rsp + 0x20], r12
lea rax, [0x1400a94f8]
mov qword [rbp + 0x148], 8
mov qword [rbp + 0x1a0], 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 0x14003a831
mov r8, qword [rbp + 0x148]
mov rcx, rax
mov rdx, qword [rbp + 0x1a0]
call sub.msvcrt.dll_memcpy
mov r15, qword [rbp + 0x148]
mov qword [rsp + 0x28], r13
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1a8], rax
mov r11d, 4
mov dword [rbp + 0x340], edi
mov edx, r11d
lea r8, [rsp + 0x30]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x30], edx
lea r8, [rbp + 0x340]
xor ecx, ecx
call fcn.14000ad5c
mov r9d, 0x10000000
or eax, r9d
jl 0x14003898a
lea r8, [rsp + 0x30]
mov edx, r14d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
or eax, r9d
jl 0x14003898a
lea r8, [rsp + 0x30]
mov edx, r15d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
or eax, r9d
jl 0x14003898a
lea r8, [rsp + 0x30]
mov ecx, r11d
lea edx, [r11 + 4]
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x30], edx
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
or eax, r9d
jl 0x14003898a
mov eax, dword [rbp + 0x340]
mov dword [rsp + 0x6c], eax
mov ebx, eax
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r9, rax
test rax, rax
je 0x14003898a
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x68], edi
lea rax, [rbp + 0x80]
mov r11d, 4
mov dword [rbp + 0x80], r11d
test rax, rax
je 0x1400386fb
lea r8, [rbp - 0x70]
mov edx, r11d
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003898a
mov edx, dword [rsp + 0x6c]
lea rcx, [r9 + 8]
add rdx, r9
cmp rcx, rdx
ja 0x14003898a
mov rdx, qword [rbp - 0x70]
mov dword [r9], r11d
mov ecx, dword [rbp + 0x80]
mov dword [rdx], ecx
inc dword [rsp + 0x68]
jmp 0x140038700
mov eax, 0xc000000d
test eax, eax
js 0x14003898a
test r14d, r14d
je 0x14003880c
cmp qword [rsp + 0x70], rdi
jne 0x14003875d
lea r8, [rbp + 0x340]
mov edx, r14d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov edx, dword [rbp + 0x340]
mov dword [rbp + 0x118], edx
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
test eax, eax
js 0x14003898a
inc dword [rsp + 0x68]
jmp 0x140038819
mov r10d, edi
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0x78], r9
cmp dword [rsp + 0x68], edi
jbe 0x1400387bc
mov edx, dword [r9]
lea r8, [rbp + 0x340]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov eax, dword [rbp + 0x340]
mov dword [rbp + 0x118], eax
mov edx, eax
lea r8, [rsp + 0x78]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003898a
mov r9, qword [rsp + 0x78]
inc r10d
cmp r10d, dword [rsp + 0x68]
jb 0x140038770
lea r8, [rbp - 0x70]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
mov ebx, eax
test eax, eax
js 0x14003898a
mov edx, dword [rsp + 0x6c]
lea rcx, [r14 + 4]
add rdx, qword [rsp + 0x70]
add rcx, r9
mov r8, r14
cmp rcx, rdx
ja 0x14003898a
mov rcx, qword [rbp - 0x70]
mov rdx, r12
mov dword [r9], r14d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x68]
mov r11d, 4
jmp 0x140038811
mov ebx, 0xc000000d
test ebx, ebx
js 0x14003898a
test r15d, r15d
je 0x140038917
cmp qword [rsp + 0x70], rdi
jne 0x14003886e
lea r8, [rbp + 0x340]
mov edx, r15d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov edx, dword [rbp + 0x340]
mov dword [rbp + 0xd4], edx
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
test eax, eax
js 0x14003898a
inc dword [rsp + 0x68]
jmp 0x140038926
mov r10d, edi
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0x78], r9
cmp dword [rsp + 0x68], edi
jbe 0x1400388cd
mov edx, dword [r9]
lea r8, [rbp + 0x340]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov eax, dword [rbp + 0x340]
mov dword [rbp + 0xd4], eax
mov edx, eax
lea r8, [rsp + 0x78]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003898a
mov r9, qword [rsp + 0x78]
inc r10d
cmp r10d, dword [rsp + 0x68]
jb 0x140038881
lea r8, [rbp - 0x70]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
mov ebx, eax
test eax, eax
js 0x14003898a
mov edx, dword [rsp + 0x6c]
add rdx, qword [rsp + 0x70]
mov r8d, r15d
lea rcx, [r8 + 4]
add rcx, r9
cmp rcx, rdx
ja 0x14003898a
mov rcx, qword [rbp - 0x70]
mov rdx, r13
mov dword [r9], r15d
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x68]
jmp 0x14003891c
mov ebx, 0xc000000d
test ebx, ebx
js 0x14003898a
mov r11d, 4
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x188], rax
lea rax, [rbp + 0x188]
test rax, rax
je 0x140038a32
cmp qword [rsp + 0x70], rdi
jne 0x140038995
lea r8, [rbp + 0x340]
mov edx, 8
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov edx, dword [rbp + 0x340]
mov dword [rbp + 0xfc], edx
mov ecx, dword [rsp + 0x6c]
lea r8, [rsp + 0x6c]
call fcn.14000ad5c
test eax, eax
js 0x14003898a
inc dword [rsp + 0x68]
jmp 0x140038a3f
mov r15, r12
mov r14, r13
jmp 0x14003a834
mov r10d, edi
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0x78], r9
cmp dword [rsp + 0x68], edi
jbe 0x1400389ec
mov edx, dword [r9]
lea r8, [rbp + 0x340]
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov eax, dword [rbp + 0x340]
mov dword [rbp + 0xfc], eax
mov edx, eax
lea r8, [rsp + 0x78]
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003898a
mov r9, qword [rsp + 0x78]
inc r10d
cmp r10d, dword [rsp + 0x68]
jb 0x1400389a8
lea r8, [rbp - 0x70]
mov rdx, r11
mov rcx, r9
call fcn.14000ad74
test eax, eax
js 0x14003898a
mov edx, dword [rsp + 0x6c]
lea rcx, [r9 + 0xc]
add rdx, qword [rsp + 0x70]
cmp rcx, rdx
ja 0x14003898a
mov rcx, qword [rbp - 0x70]
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x188]
movsd qword [rcx], xmm0
inc dword [rsp + 0x68]
jmp 0x140038a37
mov eax, 0xc000000d
test eax, eax
js 0x14003898a
lea r8, [rbp + 0x340]
mov edx, r11d
mov ecx, r11d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov r9d, dword [rbp + 0x340]
mov dword [rbp + 0x104], r9d
lea r8, [rbp + 0x340]
mov dword [rbp - 0x68], r9d
mov edx, 8
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov edx, dword [rbp + 0x340]
mov dword [rbp + 0x104], edx
lea r8, [rbp - 0x68]
mov ecx, r9d
call fcn.14000ad5c
test eax, eax
js 0x14003898a
mov rbx, rdi
mov qword [rbp + 0xc0], rdi
mov qword [rbp - 0x18], rbx
mov r12d, edi
mov qword [rsp + 0x78], rdi
mov r13, rdi
mov dword [rsp + 0x30], edi
mov qword [rbp - 0x28], rdi
mov dword [rbp - 0x80], edi
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x28], rdi
mov dword [rbp - 0x4c], edi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x158], rax
mov dword [rbp - 0x58], 8
mov edx, dword [rsp + 0x6c]
lea r8, [rbp - 0x58]
mov ecx, 8
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140038bec
mov eax, dword [rbp - 0x58]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp - 0x58]
jae 0x140038b21
mov r14d, 0xc0000095
jmp 0x140038bec
mov dword [rbp - 0x58], 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 0x140038b53
mov r14d, 0xc0000017
mov rbx, rdi
jmp 0x140038bec
mov qword [rbp + 0x340], rax
lea r8, [rbp + 0x340]
mov eax, dword [rsp + 0x68]
mov r11d, 4
mov edx, r11d
mov dword [rbx], eax
mov rcx, rbx
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140038bcf
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov eax, dword [rsp + 0x6c]
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140038bcf
mov ecx, dword [rbp - 0x58]
mov rax, qword [rbp + 0x158]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rsp + 0x6c]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x340]
call sub.msvcrt.dll_memcpy
mov r12d, dword [rbp - 0x58]
mov qword [rbp - 0x18], rbx
mov rbx, rdi
test rbx, rbx
je 0x140038be8
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x18]
or r14d, 0x10000000
jl 0x14003a57c
mov qword [rbp + 0x1c8], rdi
mov r15, rdi
mov qword [rbp + 0x1d8], rdi
mov qword [rbp + 0x1e8], rdi
mov qword [rbp + 0x1f8], rdi
mov qword [rbp + 0xd8], rdi
mov qword [rbp + 0x1b8], rdi
test rbx, rbx
jne 0x140038c36
mov r14d, 0xc000000d
jmp 0x140039385
mov r14d, r12d
mov qword [rbp - 0x78], r14
test r12d, r12d
je 0x1400392d9
lea rax, [r14 + 8]
mov rcx, rax
mov qword [rbp - 0x10], rax
call fcn.14000ab60
mov qword [rbp - 0x38], rax
mov r13, rax
test rax, rax
je 0x1400392d9
mov dl, dil
mov rcx, rdi
test r12d, r12d
je 0x140038c7c
xor dl, byte [rcx + rbx]
inc rcx
cmp rcx, r14
jb 0x140038c71
or r11d, 0xffffffff
mov dword [rsp + 0x50], edi
mov r10, rbx
mov dword [rsp + 0x48], r11d
mov r8, r14
mov dword [rbp + 0x340], edi
mov ebx, edi
mov r9, rax
mov dword [rsp + 0x60], ebx
and r8d, 7
je 0x140038d84
mov dword [rsp + 0x50], edi
mov ecx, edi
mov dword [rbp + 0x340], ecx
mov r12d, edi
test r8d, r8d
jle 0x140038d02
mov r11d, 0x38
movzx eax, byte [r10]
cmp ebx, 4
jge 0x140038ce1
lea ecx, [r11 - 0x20]
shl eax, cl
mov ecx, dword [rbp + 0x340]
or ecx, eax
mov dword [rbp + 0x340], ecx
jmp 0x140038cef
mov ecx, r11d
shl eax, cl
mov ecx, dword [rbp + 0x340]
or r12d, eax
inc r10
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x140038cc2
mov dword [rsp + 0x50], r12d
mov ebx, ecx
mov r11d, r12d
xor ebx, 0x875330f4
xor r11d, 0x549791cd
mov dword [rsp + 0x60], ebx
mov eax, edi
mov dword [rsp + 0x48], r11d
test r8d, r8d
jle 0x140038d4b
cmp eax, 4
jge 0x140038d31
rol ebx, 8
mov byte [r9], bl
jmp 0x140038d38
rol r11d, 8
mov byte [r9], r11b
inc r9
inc eax
cmp eax, r8d
jl 0x140038d24
mov ebx, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x48]
lea eax, [r8 - 4]
test eax, eax
jle 0x140038d6a
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x48], r11d
jmp 0x140038d84
mov dword [rsp + 0x48], edi
mov r11d, edi
test eax, eax
jns 0x140038d84
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x60], ebx
mov r12, r14
shr r12, 3
test r12, r12
je 0x1400390c7
mov r15d, dword [rsp + 0x50]
lea r14, [r9 + 7]
mov r13d, dword [rbp + 0x340]
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 [rsp + 0x60], ebx
xor r11d, 0xed96c26b
xor r11d, r15d
mov r13d, r10d
mov dword [rsp + 0x48], r11d
mov r15d, r9d
mov byte [r14 - 4], bl
mov al, byte [rsp + 0x48]
ror dword [rsp + 0x60], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rsp + 0x48], 8
mov al, byte [rsp + 0x60]
mov byte [r14 - 0xd], al
mov al, byte [rsp + 0x48]
ror dword [rsp + 0x60], 8
mov byte [r14 - 9], al
ror dword [rsp + 0x48], 8
mov al, byte [rsp + 0x60]
mov byte [r14 - 0xe], al
ror dword [rsp + 0x60], 8
mov al, byte [rsp + 0x48]
mov byte [r14 - 0xa], al
ror dword [rsp + 0x48], 8
mov al, byte [rsp + 0x60]
mov byte [r14 - 0xf], al
mov al, byte [rsp + 0x48]
mov byte [r14 - 0xb], al
mov ebx, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x48]
ror ebx, 8
ror r11d, 8
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x48], r11d
sub r12, 1
jne 0x140038da8
mov r14, qword [rbp - 0x78]
xor edi, edi
mov r13, qword [rbp - 0x38]
mov r15d, edi
movzx eax, dl
mov qword [r13 + r14], rax
mov r14, qword [rbp - 0x10]
mov qword [rbp + 0x1b8], r14
mov qword [rbp + 0xd8], r13
lea rax, [0x1400a94f0]
mov ebx, 8
mov qword [rbp + 0x1c8], rax
mov qword [rbp + 0x1d8], rbx
lea r12, [0x1400a9450]
mov qword [rbp + 0x1f8], 0xa0
mov qword [rbp + 0x1e8], 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 0x14003913c
mov r14d, 0xc0000017
jmp 0x1400392c8
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 0x140039246
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 0x140039246
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 0x140039246
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1400a94f0]
mov r15, rbx
movsd qword [rax], xmm0
mov r14d, edi
mov rbx, rdi
jmp 0x14003924c
mov r14d, 0xc0000017
test rbx, rbx
je 0x1400392c8
mov r12, qword [rbx + 8]
test r12, r12
je 0x140039272
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 0x140039293
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 0x1400392b4
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 0x1400392df
mov qword [rbp + 0xc0], r15
mov r15, rdi
jmp 0x1400392df
mov r14d, 0xc0000001
mov rbx, qword [rbp + 0xd8]
test rbx, rbx
je 0x140039306
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 + 0xd8], rdi
test r15, r15
je 0x140039382
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14003932c
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 0x14003934d
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 0x14003936e
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 0x14003a57c
mov r15, qword [rbp + 0xc0]
lea r8, [rbp + 0x340]
mov r12d, 4
mov ecx, r12d
mov dword [rbp + 0x340], r12d
mov edx, dword [r15]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039443
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039443
mov edx, dword [r15 + 0x10]
lea r8, [rbp + 0x340]
mov ecx, dword [rbp + 0x340]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039443
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039443
mov edx, dword [r15 + 0x20]
lea r8, [rbp + 0x340]
mov ecx, dword [rbp + 0x340]
call fcn.14000ad5c
mov r14d, eax
mov eax, dword [rbp + 0xc]
test r14d, r14d
cmovns eax, dword [rbp + 0x340]
mov dword [rbp + 0xc], eax
jmp 0x140039446
mov eax, dword [rbp + 0xc]
test r14d, r14d
js 0x1400395ae
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 0x14003947b
mov r14d, 0xc0000017
jmp 0x1400395ae
mov qword [rbp + 0x340], rax
lea r8, [rbp + 0x340]
mov eax, dword [r15]
mov rdx, r12
mov rcx, rbx
mov dword [rbx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140039595
mov r8d, dword [r15]
mov rdx, qword [r15 + 8]
mov rcx, qword [rbp + 0x340]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15]
lea r8, [rbp + 0x340]
mov rcx, qword [rbp + 0x340]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140039595
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov eax, dword [r15 + 0x10]
mov rdx, r12
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140039595
mov r8d, dword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
mov rcx, qword [rbp + 0x340]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15 + 0x10]
lea r8, [rbp + 0x340]
mov rcx, qword [rbp + 0x340]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140039595
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov eax, dword [r15 + 0x20]
mov rdx, r12
mov dword [rcx], eax
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140039595
mov r8d, dword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
mov rcx, qword [rbp + 0x340]
call sub.msvcrt.dll_memcpy
mov edx, dword [r15 + 0x20]
lea r8, [rbp + 0x340]
mov rcx, qword [rbp + 0x340]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140039595
mov eax, dword [rbp + 0xc]
mov qword [rsp + 0x78], rbx
mov rbx, rdi
mov dword [rsp + 0x30], eax
test rbx, rbx
je 0x1400395ae
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 0x14003a57c
mov ebx, edi
mov qword [rbp + 0x208], rdi
mov dword [rbp + 0x114], ebx
mov r11d, edi
mov dword [rbp + 0x10c], edi
mov qword [rbp + 0x218], rdi
mov dword [rbp + 8], 8
mov edx, dword [rbp - 0x68]
lea r8, [rbp + 8]
mov ecx, 8
call fcn.14000ad5c
mov r14d, eax
or r14d, 0x10000000
jl 0x140039879
mov eax, dword [rbp + 8]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 8]
jae 0x140039620
mov r9d, dword [rbp + 0x94]
mov r14d, 0xc0000095
jmp 0x140039651
mov dword [rbp + 0x8c], eax
mov edx, ecx
lea r8, [rbp + 0x8c]
mov ecx, eax
call fcn.14000ad5c
mov r9d, dword [rbp + 0x94]
test eax, eax
mov r14d, eax
cmovns r9d, dword [rbp + 0x8c]
mov dword [rbp + 0x94], r9d
test r14d, r14d
js 0x14003a57c
cmp qword [rsp + 0x70], rdi
je 0x14003984d
cmp dword [rsp + 0x68], 1
jbe 0x14003984d
mov rcx, qword [rsp + 0x70]
mov r10d, edi
mov qword [rbp + 0x340], rcx
mov r15d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x1400396fd
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r15d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x1400396fd
mov rcx, qword [rbp + 0x340]
inc r10d
cmp r10d, 1
jb 0x14003967f
mov r10d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x1400396fd
mov rax, qword [rbp + 0x340]
test r10d, r10d
mov r11d, r10d
mov dword [rbp + 0x10c], r10d
cmove rax, rdi
mov qword [rbp + 0x208], rax
test r14d, r14d
js 0x14003a57c
cmp dword [rsp + 0x68], 2
jbe 0x14003984d
mov rcx, qword [rsp + 0x70]
mov r10d, edi
mov qword [rbp + 0x340], rcx
mov r15d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14003979d
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r15d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14003979d
mov rcx, qword [rbp + 0x340]
inc r10d
cmp r10d, 2
jb 0x140039720
mov r10d, dword [rcx]
lea r8, [rbp + 0x340]
mov rdx, r12
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14003979d
mov rax, qword [rbp + 0x340]
test r10d, r10d
mov ebx, r10d
cmove rax, rdi
mov dword [rbp + 0x114], ebx
mov qword [rbp + 0x218], rax
test r14d, r14d
js 0x14003a57c
lea r8, [rbp + 0x340]
mov dword [rbp + 0x340], r12d
mov edx, r9d
mov ecx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039855
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039855
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r11d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039855
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039855
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov edx, ebx
call fcn.14000ad5c
mov r14d, eax
mov eax, dword [rbp + 0xa0]
test r14d, r14d
cmovns eax, dword [rbp + 0x340]
mov dword [rbp + 0xa0], eax
jmp 0x14003985b
mov r14d, 0xc000000d
jmp 0x140039879
mov eax, dword [rbp + 0xa0]
test r14d, r14d
js 0x14003a57c
cmp eax, 0x400000
jbe 0x140039876
mov r14d, 0x8000ffff
jmp 0x14003a57c
mov dword [rbp - 0x80], eax
test r14d, r14d
js 0x14003a57c
mov ebx, dword [rbp - 0x80]
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 0x1400398ac
mov r14d, 0xc0000017
jmp 0x1400398b3
mov r13, rax
mov qword [rbp - 0x28], rax
or r14d, 0x10000000
jl 0x14003a57c
mov r14, qword [rsp + 0x78]
test r14, r14
je 0x140039974
test r13, r13
je 0x140039974
lea r8, [rbp + 0x228]
mov ecx, 1
lea rdx, [0x1400735c8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14003997f
mov rcx, qword [rbp + 0x228]
lea rdx, [0x1400735e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14003997f
mov eax, dword [rsp + 0x30]
mov rcx, rbx
mov dword [rbp + 0x2a8], eax
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x2ac], eax
mov qword [rbp + 0x298], r14
mov qword [rbp + 0x2a0], r13
mov dword [rbp + 0x2b0], edi
call qword [0x1400719c8]
xor r9d, r9d
lea rdx, [rbp + 0x298]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov r9d, dword [rbp - 0x80]
mov r14d, eax
or r14d, 0x10000000
cmovns r9d, dword [rbp + 0x2ac]
mov dword [rbp - 0x80], r9d
jmp 0x1400399a6
mov r14d, 0x80070057
jmp 0x14003a57c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov r14d, eax
test eax, eax
jle 0x140039997
movzx r14d, ax
or r14d, 0x80070000
test r14d, r14d
js 0x1400399a2
mov r14d, 0x80004005
mov r9d, dword [rbp - 0x80]
cmp r14d, 0xd0000023
jne 0x1400399ba
mov r14d, 0x8007007a
jmp 0x14003a57c
test r14d, r14d
js 0x14003a57c
mov dword [rbp + 0x340], edi
mov r15, rdi
mov qword [rsp + 0x50], r13
cmp r9d, r12d
jb 0x140039bd2
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 0x140039dc6
lea r8, [rbp + 0x340]
xor ecx, ecx
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039dc6
mov eax, r9d
sub eax, dword [rbp + 0x340]
cmp eax, r10d
jb 0x140039bd2
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
mov rcx, rax
mov qword [rbp], rax
mov edx, r10d
mov qword [rbp - 0x10], r10
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140039dc6
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039dc6
mov eax, r9d
sub eax, dword [rbp + 0x340]
cmp eax, r12d
jb 0x140039bd2
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 0x140039dc6
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039dc6
mov eax, r9d
sub eax, dword [rbp + 0x340]
cmp eax, r13d
jb 0x140039bd2
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x50]
mov rcx, rax
mov qword [rbp - 0x68], rax
mov edx, r13d
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x140039dc6
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039dc6
mov eax, r9d
sub eax, dword [rbp + 0x340]
cmp eax, r12d
jb 0x140039bd2
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 0x140039dc6
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039dc6
mov ecx, dword [rbp + 0x340]
mov eax, r9d
sub eax, ecx
cmp eax, r12d
jb 0x140039bd2
lea r8, [rbp + 0x340]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x140039dc6
cmp r9d, dword [rbp + 0x340]
jne 0x140039bd2
lea ecx, [r12 + r13]
mov eax, r9d
add ecx, r10d
add rcx, 0xc
cmp rcx, rax
jne 0x140039bd2
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 0x140039bdd
mov r14d, 0xc0000017
jmp 0x140039d3e
mov r14d, 0xc000003e
jmp 0x140039dc6
mov r14d, edi
cmp qword [rbp], rdi
je 0x140039c2a
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 - 0x10]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140039c1f
mov qword [rbx + 8], rax
mov r8, qword [rbp - 0x10]
mov rcx, rax
mov rdx, qword [rbp]
call sub.msvcrt.dll_memcpy
jmp 0x140039c30
mov r14d, 0xc0000017
jmp 0x140039cc2
mov dword [rax], edi
mov qword [rax + 8], rdi
cmp qword [rbp - 0x68], rdi
je 0x140039c6e
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 0x140039c1f
mov qword [rbx + 0x18], rax
mov rdx, qword [rbp - 0x68]
mov r8, r13
mov rcx, rax
mov r14d, edi
call sub.msvcrt.dll_memcpy
jmp 0x140039c75
mov dword [rbx + 0x10], edi
mov qword [rbx + 0x18], rdi
cmp qword [rsp + 0x50], rdi
je 0x140039cb5
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 0x140039c1f
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 0x140039cbc
mov dword [rbx + 0x20], edi
mov qword [rbx + 0x28], rdi
mov r15, rbx
mov rbx, rdi
test rbx, rbx
je 0x140039d3e
mov r12, qword [rbx + 8]
test r12, r12
je 0x140039ce8
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 0x140039d09
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 0x140039d2a
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 0x140039d4a
mov qword [rbp + 0x18], r15
mov r15, rdi
test r15, r15
je 0x140039dc6
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x140039d70
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 0x140039d91
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 0x140039db2
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 0x14003a57c
mov rax, qword [rbp + 0x18]
mov rbx, rdi
mov qword [rbp + 0x38], rbx
mov r14d, edi
mov qword [rbp + 0x178], rdi
mov dword [rsp + 0x30], edi
test rax, rax
je 0x140039e92
mov r15, qword [rax + 8]
mov qword [rbp], r15
test r15, r15
je 0x140039e92
cmp dword [rax], edi
je 0x140039e92
mov r13d, dword [rax]
mov dword [rbp - 0x68], edi
test r13, r13
je 0x14003a313
add r13, 0xfffffffffffffff8
mov rcx, r13
mov qword [rbp - 0x10], r13
call fcn.14000ab60
mov qword [rbp - 0x38], rax
mov r12, rax
test rax, rax
je 0x14003a30f
mov r8, r13
mov dword [rsp + 0x58], edi
mov dl, dil
mov r10, r15
mov byte [rbp + 0x340], dl
mov r9, rax
and r8d, 7
je 0x140039f43
or r15d, 0xffffffff
mov dword [rbp - 0x20], edi
mov dword [rbp + 0x350], r15d
mov r15d, edi
mov dword [rsp + 0x50], ebx
mov r11d, edi
test r8d, r8d
jle 0x140039ebd
mov edx, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x140039e9d
lea ecx, [rdx - 0x20]
shl eax, cl
or ebx, eax
jmp 0x140039ea4
mov r14d, 0xc000000d
jmp 0x14003a336
mov ecx, edx
shl eax, cl
or r15d, eax
inc r10
inc r11d
sub edx, 8
cmp r11d, r8d
jl 0x140039e7f
mov dword [rbp - 0x20], r15d
mov dl, dil
mov dword [rsp + 0x50], ebx
mov r15d, ebx
mov eax, edi
mov ebx, dword [rbp - 0x20]
xor r15d, 0xe5d64a7e
xor ebx, 0x9c54a8c9
mov dword [rsp + 0x58], r15d
mov dword [rbp + 0x350], ebx
test r8d, r8d
jle 0x140039f0b
cmp eax, 4
jge 0x140039ef0
rol r15d, 8
mov byte [r9], r15b
jmp 0x140039ef6
rol ebx, 8
mov byte [r9], bl
inc r9
inc eax
cmp eax, r8d
jl 0x140039ee2
mov r15d, dword [rsp + 0x58]
mov ebx, dword [rbp + 0x350]
lea eax, [r8 - 4]
test eax, eax
jle 0x140039f23
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr ebx, cl
shl ebx, cl
jmp 0x140039f4a
mov ebx, edi
mov dword [rbp + 0x350], ebx
test eax, eax
jns 0x140039f50
neg eax
shl eax, 3
mov ecx, eax
shr r15d, cl
shl r15d, cl
mov dword [rsp + 0x58], r15d
jmp 0x140039f50
mov dword [rsp + 0x50], edi
mov r15d, edi
mov dword [rbp + 0x350], ebx
mov rax, r13
shr rax, 3
test rax, rax
je 0x14003a2a0
mov edx, dword [rsp + 0x50]
lea r13, [r9 + 7]
mov r14d, dword [rbp - 0x20]
lea rdi, [r10 + 2]
mov r12, rax
movzx eax, byte [rdi - 1]
mov r9d, 0x532d7f78
movzx r11d, byte [rdi - 2]
movzx r10d, byte [rdi + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rdi]
lea rdi, [rdi + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdi - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdi - 5]
or r10d, eax
xor r15d, r11d
movzx eax, byte [rdi - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdi - 3]
shl r10d, 8
or r10d, eax
xor ebx, r10d
xor ebx, r15d
xor ebx, 0x5384b529
lea eax, [rbx - 0x532d7f78]
rol eax, 5
imul ecx, eax, 0xca51
mov eax, ebx
rol eax, 0xa
add ecx, eax
xor r15d, ecx
lea eax, [r15 + 0xa9ca51]
ror eax, 9
imul ecx, eax, 0x532d
mov eax, r15d
rol eax, 2
sub ecx, eax
xor ebx, ecx
lea eax, [rbx - 0xca51]
imul ecx, eax, 0x7f78
mov eax, ebx
shr eax, 0xd
sub ecx, eax
xor r15d, ecx
mov eax, r15d
xor eax, 0x532d
rol eax, 6
imul ecx, eax, 0xa9
mov eax, r15d
rol eax, 2
sub ecx, eax
mov eax, 0xa9ca51
xor ebx, ecx
mov ecx, ebx
xor ecx, r9d
sub eax, ecx
xor r15d, eax
mov eax, r15d
mov r8d, r15d
xor eax, 0xca51
ror r8d, 6
imul ecx, eax, 0x532d
xor r8d, ecx
xor ebx, r8d
lea eax, [rbx + 0xa9ca51]
ror eax, 0xf
imul ecx, eax, 0x7f78
mov eax, ebx
rol eax, 2
add ecx, eax
xor r15d, ecx
lea eax, [r15 - 0x532d7f78]
ror eax, 0xe
imul ecx, eax, 0xa9
mov eax, r15d
rol eax, 8
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, r9d
mov r8d, 0x532d
ror eax, 0xc
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 0xa
xor ecx, eax
xor r15d, ecx
mov eax, r15d
xor eax, 0xa9
imul ecx, eax, 0x532d
mov eax, r15d
shr eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
mov r9d, ebx
not eax
ror eax, 5
add eax, 0x7f78
imul eax, eax, 0xa9
xor r15d, eax
xor r9d, r15d
xor r9d, 0x5384b529
mov eax, r9d
ror eax, 5
sub eax, r8d
imul eax, eax, 0xa9
xor ebx, eax
lea eax, [rbx - 0x532d]
rol eax, 3
imul ecx, eax, 0x7f78
mov eax, ebx
shr eax, 7
xor ecx, eax
xor r9d, ecx
lea eax, [r9 - 0x532d7f78]
rol eax, 0xe
imul ecx, eax, 0xa9
mov eax, r9d
ror eax, 0xc
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x532d7f78
rol eax, 9
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 2
add ecx, eax
xor r9d, ecx
lea eax, [r9 + 0xa9ca51]
rol eax, 8
imul ecx, eax, 0x532d
mov eax, r9d
ror eax, 6
sub ecx, eax
mov eax, 0xa9ca51
xor ebx, ecx
sub eax, ebx
ror eax, 0xe
imul ecx, eax, 0x7f78
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, r8d
rol eax, 5
imul ecx, eax, 0xa9
mov eax, r9d
rol eax, 0xf
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x532d7f78]
rol eax, 0xa
imul ecx, eax, 0xca51
mov eax, ebx
ror eax, 4
xor ecx, eax
xor r9d, ecx
mov eax, r9d
not eax
ror eax, 2
add eax, r8d
imul eax, eax, 0xca51
xor ebx, eax
mov eax, ebx
mov r8d, ebx
xor eax, 0xca51
ror r8d, 6
imul ecx, eax, 0x7f78
xor ebx, r14d
mov dword [rbp + 0x350], ebx
mov r14d, r10d
add r8d, ecx
xor r8d, edx
mov edx, r11d
xor r9d, r8d
mov dword [rsp + 0x58], r9d
mov byte [r13 - 4], r9b
mov al, byte [rbp + 0x350]
ror dword [rsp + 0x58], 8
mov byte [r13], al
lea r13, [r13 + 8]
ror dword [rbp + 0x350], 8
mov al, byte [rsp + 0x58]
mov byte [r13 - 0xd], al
mov al, byte [rbp + 0x350]
ror dword [rsp + 0x58], 8
mov byte [r13 - 9], al
ror dword [rbp + 0x350], 8
mov al, byte [rsp + 0x58]
mov byte [r13 - 0xe], al
ror dword [rsp + 0x58], 8
mov al, byte [rbp + 0x350]
mov byte [r13 - 0xa], al
ror dword [rbp + 0x350], 8
mov al, byte [rsp + 0x58]
mov byte [r13 - 0xf], al
mov al, byte [rbp + 0x350]
mov byte [r13 - 0xb], al
mov r15d, dword [rsp + 0x58]
mov ebx, dword [rbp + 0x350]
ror r15d, 8
ror ebx, 8
mov dword [rsp + 0x58], r15d
mov dword [rbp + 0x350], ebx
sub r12, 1
jne 0x140039f73
mov dl, byte [rbp + 0x340]
xor edi, edi
mov r14d, dword [rsp + 0x30]
mov r12, qword [rbp - 0x38]
mov r13, qword [rbp - 0x10]
mov rax, rdi
test r13, r13
je 0x14003a2b4
xor dl, byte [rax + r12]
inc rax
cmp rax, r13
jb 0x14003a2a8
mov rcx, qword [rbp]
movzx eax, dl
cmp rax, qword [r13 + rcx]
je 0x14003a2ce
mov rbx, qword [rbp + 0x38]
mov r15d, 0xc004d501
jmp 0x14003a2e3
mov r15d, dword [rbp - 0x68]
mov rbx, r12
mov qword [rbp + 0x38], rbx
mov r12, rdi
mov qword [rbp + 0x178], r13
test r12, r12
je 0x14003a2f4
mov rcx, r12
call fcn.140025e74
mov rbx, qword [rbp + 0x38]
test r15d, r15d
js 0x14003a313
mov eax, dword [rbp + 0x178]
mov qword [rbp + 0x28], rbx
mov rbx, rdi
mov qword [rbp + 0x38], rbx
mov dword [rbp - 0x4c], eax
jmp 0x14003a319
mov rbx, qword [rbp + 0x38]
mov r14d, 0xc0000001
test rbx, rbx
je 0x14003a336
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 + 0x38], rdi
or r14d, 0x10000000
jl 0x14003a57c
mov r9, qword [rbp + 0x28]
mov r10d, 4
mov dword [rbp + 0x340], edi
mov qword [rsp + 0x30], r9
cmp dword [rbp - 0x4c], r10d
jb 0x14003a571
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 0x14003a577
lea r8, [rbp + 0x340]
xor ecx, ecx
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x14003a577
mov eax, dword [rbp - 0x4c]
sub eax, dword [rbp + 0x340]
cmp eax, r10d
jb 0x14003a571
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
mov r12d, dword [rcx]
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14003a577
mov ecx, dword [rbp + 0x340]
lea r8, [rbp + 0x340]
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x14003a577
mov eax, dword [rbp - 0x4c]
mov ecx, dword [rbp + 0x340]
sub eax, ecx
cmp eax, r12d
jb 0x14003a571
lea r8, [rbp + 0x340]
mov edx, r12d
call fcn.14000ad5c
mov r14d, eax
test eax, eax
js 0x14003a577
mov edx, dword [rbp - 0x4c]
mov rbx, qword [rsp + 0x30]
lea rcx, [rdx + r9]
lea rax, [rbx + r12]
cmp rcx, rax
jb 0x14003a571
sub rdx, rbx
sub rdx, r12
add rdx, r9
cmp rdx, 8
jae 0x14003a571
mov dword [rbp + 0x340], edi
mov r13, rdi
mov r14d, edi
test rbx, rbx
je 0x14003a508
lea r8, [rbp - 0x78]
mov edx, r12d
mov rcx, rbx
mov r9, rbx
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14003a563
mov r11, qword [rbp - 0x78]
cmp rbx, r11
jae 0x14003a503
mov r10d, dword [rbp + 0x11c]
lea r8, [rbp - 0x78]
mov edx, 4
mov rcx, r9
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14003a563
cmp qword [rbp - 0x78], r11
ja 0x14003a534
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 + 0x11c], r10d
js 0x14003a563
mov edx, r10d
lea r8, [rbp - 0x38]
mov rcx, r9
call fcn.14000ad74
mov r14d, eax
test eax, eax
js 0x14003a563
mov r9, qword [rbp - 0x38]
cmp r9, r11
ja 0x14003a534
inc dword [rbp + 0x340]
cmp r9, r11
jb 0x14003a489
cmp r9, r11
jne 0x14003a534
test r12d, r12d
je 0x14003a53f
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 0x14003a53c
mov r14d, 0xc0000017
jmp 0x14003a563
mov r14d, 0xc000000d
jmp 0x14003a577
mov r14d, edi
test rbx, rbx
je 0x14003a552
mov r8, r12
mov rdx, rbx
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0x340]
mov dword [rbp + 0x48], eax
mov qword [rbp + 0x50], r13
mov dword [rbp + 0x4c], r12d
test r14d, r14d
js 0x14003a577
mov eax, dword [rsp + 0x50]
cmp eax, dword [rbp + 0x48]
je 0x14003a577
mov r14d, 0xc000003e
bts r14d, 0x1c
mov r15, qword [rbp - 0x18]
test r15, r15
je 0x14003a599
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 + 0xc0]
test r15, r15
je 0x14003a623
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14003a5c6
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 0x14003a5e7
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 0x14003a608
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 + 0xc0], rdi
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x14003a641
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 - 0x28]
test rbx, rbx
je 0x14003a65e
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 + 0x18]
test r15, r15
je 0x14003a6de
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14003a688
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 0x14003a6a9
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 0x14003a6ca
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 + 0x28]
test rbx, rbx
je 0x14003a6fb
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 0x14003a825
mov r9d, dword [rbp + 0x48]
cmp r9d, 1
jb 0x14003a825
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x14003a825
test r9d, r9d
je 0x14003a825
mov r10d, dword [rbx]
lea r8, [rbp + 0x340]
mov r11d, 4
mov qword [rbp + 0x340], rbx
mov edx, r11d
mov rcx, rbx
call fcn.14000ad74
test eax, eax
js 0x14003a825
mov rax, qword [rbp + 0x340]
test r10d, r10d
mov dword [rbp + 0x260], r10d
cmove rax, rdi
mov qword [rbp + 0x2d8], rax
cmp r10d, r11d
jne 0x14003a825
mov eax, dword [rax]
mov dword [rbp + 0x128], eax
test eax, eax
js 0x14003a825
cmp r9d, 1
jbe 0x14003a825
mov qword [rbp + 0x340], rbx
mov r9d, edi
lea r8, [rbp + 0x340]
mov rdx, r11
mov rcx, rbx
call fcn.14000ad74
test eax, eax
js 0x14003a825
mov edx, dword [rbx]
lea r8, [rbp + 0x340]
mov rcx, qword [rbp + 0x340]
call fcn.14000ad74
test eax, eax
js 0x14003a825
inc r9d
cmp r9d, 1
jae 0x14003a7dc
mov rbx, qword [rbp + 0x340]
jmp 0x14003a79b
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov rdx, r11
mov r9d, dword [rcx]
call fcn.14000ad74
test eax, eax
js 0x14003a825
mov rax, qword [rbp + 0x340]
test r9d, r9d
mov dword [rbp + 0x288], r9d
cmove rax, rdi
mov qword [rbp + 0x2e0], rax
cmp r9d, 8
jne 0x14003a825
mov rax, qword [rax]
mov qword [rbp + 0x2e8], rax
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
jmp 0x14003a834
mov r14, rdi
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x68], 0
test rbx, rbx
je 0x14003a860
call qword [sym.imp.api_ms_win_core_heap_l1_2_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0x70], rdi
mov rbx, qword [rbp + 0x50]
mov qword [rbp + 0x48], 0
test rbx, rbx
je 0x14003a889
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 + 0x50], rdi
test r15, r15
je 0x14003a8a2
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 0x14001ec71
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 0x14001ec71
mov r14d, 0x8007007a
mov ebx, dword [rbp + 0x340]
jmp 0x14001eca1
cmp esi, 0xd0000034
jne 0x14003a8e5
mov esi, 0xc004f012
jmp 0x14003a91a
cmp esi, 0xd00000e5
je 0x14003a904
cmp esi, 0xc004d501
je 0x14003a904
cmp esi, 0xd000003e
jne 0x14003a909
mov esi, 0xc004f028
jmp 0x14003a91a
mov esi, 0xc004f027
test esi, esi
jns 0x14001ecb2
cmp esi, r14d
je 0x14001ecfc
mov dword [rbp - 0x1c], esi
jmp 0x14001ecce