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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x250]
sub rsp, 0x350
mov rax, qword [0x14042eb28]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov rbx, r8
lea rcx, [rbp + 0x1b0]
mov rdi, rdx
mov r8d, 0x82
xor edx, edx
call sub.msvcrt.dll_memset
xor esi, esi
lea rdx, [rbp + 0x70]
mov rcx, rbx
mov qword [rbp + 0x60], rsi
call fcn.140077bc0
mov ebx, eax
test eax, eax
jns 0x1400e7072
mov ecx, eax
call fcn.14007ab24
jmp 0x1400e7579
cmp dword [rbp + 0x70], esi
je 0x1400e7579
mov rax, qword [rdi]
mov rbx, qword [rax + 0x30]
mov rcx, rbx
call qword [0x1403b8660]
lea r8, [rbp + 0x170]
mov rcx, rdi
lea rdx, str.SppBindingSkuId
call rbx
mov ebx, eax
test eax, eax
js 0x1400e7066
cmp dword [rbp + 0x178], 2
je 0x1400e70b6
mov ebx, 0x8007070c
mov ecx, ebx
jmp 0x1400e7068
mov rcx, qword [rbp + 0x180]
lea r8, [rbp + 0x60]
lea rdx, str.SppPkeyBindingPid4
call fcn.1400ea910
mov ebx, eax
test eax, eax
js 0x1400e7066
mov rax, qword [rbp + 0x60]
lea r9, [rbp + 0x1b0]
lea r8, [rbp + 0x74]
xor edx, edx
mov rcx, qword [rax + 0x10]
add rcx, 0x378
mov dword [rbp + 0x74], 0x41
call fcn.1401a102c
mov ebx, eax
test eax, eax
js 0x1400e7066
lea rdx, [0x14042eef8]
mov qword [rbp + 0xb8], rsi
lea rcx, [0x140414fe8]
mov r12, rsi
mov r14d, esi
call fcn.1400ec780
xor eax, eax
mov qword [rbp + 0x80], rsi
mov qword [rsp + 0x20], rax
mov ebx, 0xa0
mov qword [rsp + 0x28], rax
mov r13, rsi
mov qword [rbp - 0x70], rax
mov r15d, esi
mov qword [rbp - 0x68], rax
lea rax, [0x14042ec40]
mov qword [rbp + 0xc8], rax
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x58], esi
mov dword [rbp - 0x7c], esi
mov dword [rbp - 0x80], esi
mov qword [rbp + 0x88], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edi, 8
mov r8d, ebx
mov rcx, rax
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
or r10d, 0xffffffff
mov rbx, rax
test rax, rax
jne 0x1400e71a0
mov edi, 0xc0000017
lea ebx, [rdi + 0x7e]
jmp 0x1400e72f7
mov r8, qword [rbp + 0x88]
mov rcx, rbx
mov rdx, qword [rbp + 0xc8]
call sub.msvcrt.dll_memcpy
mov r14d, dword [rbp + 0x88]
mov r12, rbx
mov qword [rbp + 0xb8], rbx
lea rax, [0x14042eb80]
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0xd0], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x1400e7209
mov edi, 0xc0000017
or r10d, 0xffffffff
lea ebx, [rdi + 0x7e]
jmp 0x1400e72f7
mov r8, qword [rbp + 0x90]
mov rcx, rbx
mov rdx, qword [rbp + 0xd0]
call sub.msvcrt.dll_memcpy
mov r15, qword [rbp + 0x90]
mov r13, rbx
mov qword [rbp + 0x80], rbx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x58], rax
mov edx, edi
mov dword [rbp - 0x80], edx
lea eax, [r14 + 4]
or r10d, 0xffffffff
mov r9d, 4
mov ecx, r10d
cmp eax, r9d
mov ebx, 0xc0000095
mov r8d, edx
cmovae ecx, eax
sbb edi, edi
and edi, ebx
cmp eax, r9d
jb 0x1400e72f7
mov edx, ecx
mov dword [rbp - 0x80], ecx
mov r8d, ecx
lea eax, [rcx + 8]
mov r8d, r10d
cmp eax, 8
cmovae r8d, eax
sbb edi, edi
and edi, ebx
add edi, 0x10000000
cmp eax, 8
jb 0x1400e72f7
lea ecx, [r15 + 4]
mov eax, r10d
cmp ecx, r9d
cmovae eax, ecx
sbb edi, edi
and edi, ebx
cmp ecx, r9d
cmovae edx, eax
mov dword [rbp - 0x80], edx
jb 0x1400e72f7
lea eax, [r8 + rdx]
mov r9d, r10d
cmp eax, r8d
cmovae r9d, eax
sbb edi, edi
and edi, ebx
add edi, 0x10000000
cmp eax, r8d
jb 0x1400e72f7
mov dword [rbp - 0x80], SafeArrayGetDim
mov eax, dword [rsp + 0x50]
lea edx, [r9 + 0xc]
cmp edx, r9d
mov ecx, r10d
cmovae ecx, edx
sbb edi, edi
and edi, ebx
add edi, 0x10000000
cmp edx, r9d
cmovae eax, ecx
mov dword [rsp + 0x50], eax
test edi, edi
js 0x1400e74da
mov dword [rsp + 0x58], 8
mov edx, dword [rsp + 0x50]
mov eax, r10d
lea ecx, [rdx + 8]
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, ebx
mov dword [rsp + 0x50], eax
add edi, 0x10000000
cmp ecx, edx
jb 0x1400e9e07
lea r8, [rbp + 0x28]
mov edx, 0x7fffffff
lea rcx, [rbp + 0x1b0]
call fcn.1400f3278
test eax, eax
jns 0x1400e7356
xor r14d, r14d
mov qword [rbp + 0x28], r14
mov edi, 0xc000003e
jmp 0x1400e74dd
mov rax, qword [rbp + 0x28]
or r9d, 0xffffffff
mov r8d, dword [rsp + 0x58]
inc rax
mov qword [rbp + 0x28], rax
lea ecx, [rax*2 + 4]
mov eax, r9d
cmp ecx, 4
cmovae eax, ecx
sbb edi, edi
and edi, ebx
cmp ecx, 4
cmovae r8d, eax
mov dword [rsp + 0x58], r8d
jb 0x1400e74da
mov edx, dword [rsp + 0x50]
mov eax, r9d
lea ecx, [rdx + r8]
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, ebx
mov dword [rsp + 0x50], eax
add edi, 0x10000000
cmp ecx, edx
jb 0x1400e9e07
lea r8, [rbp + 0x30]
mov edx, 0x7fffffff
lea rcx, [0x1403c1978]
call fcn.1400f3278
test eax, eax
jns 0x1400e73db
xor r14d, r14d
mov qword [rbp + 0x30], r14
jmp 0x1400e734c
mov rax, qword [rbp + 0x30]
lea rdx, [0x140433298]
mov esi, dword [rsp + 0x58]
lea rcx, [0x14040c9f0]
inc rax
mov qword [rbp + 0x30], rax
lea ebx, [rax*2 + 4]
or eax, 0xffffffff
cmp ebx, 4
cmovae eax, ebx
sbb edi, edi
and edi, 0xc0000095
cmp ebx, 4
cmovae esi, eax
mov dword [rsp + 0x58], esi
call fcn.1400ecad0
cmp ebx, 4
jb 0x1400e74da
mov ecx, dword [rsp + 0x50]
or r9d, 0xffffffff
mov edx, r9d
mov r8d, 0xc0000095
mov r10d, 0x10000000
lea eax, [rcx + rsi]
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r8d
mov dword [rsp + 0x50], edx
add edi, r10d
cmp eax, ecx
jb 0x1400e9e07
mov dword [rsp + 0x58], 4
lea eax, [rdx + 4]
mov ecx, r9d
cmp eax, edx
cmovae ecx, eax
sbb edi, edi
and edi, r8d
mov dword [rsp + 0x50], ecx
add edi, r10d
cmp eax, edx
jb 0x1400e9e07
mov dword [rsp + 0x58], 8
lea eax, [rcx + 8]
mov edx, r9d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r8d
mov dword [rsp + 0x50], edx
add edi, r10d
cmp eax, ecx
jb 0x1400e9e07
mov dword [rsp + 0x24], edx
mov ebx, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r10d, r10d
mov rdx, rax
test rax, rax
jne 0x1400e75b5
mov edi, 0xc0000017
xor r14d, r14d
and qword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x1400e7506
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0x28], r14
and qword [rbp - 0x70], 0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400e752c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x68], r14
mov rbx, qword [rbp + 0xb8]
test rbx, rbx
je 0x1400e754c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x80]
test rbx, rbx
je 0x1400e756c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
mov ebx, r14d
mov eax, 0xc004f034
cmovs ebx, eax
mov ecx, ebx
call fcn.14007ab44
lea rcx, [rbp + 0x60]
call fcn.14006b5d4
mov eax, ebx
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.14036e5e0
mov rbx, qword [rsp + 0x390]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x28], rdx
mov r8d, r10d
mov dword [rsp + 0x20], r10d
mov dword [rbp + 0x78], 0x6d
add rax, 4
or rsi, 0xffffffffffffffff
cmp rax, rdx
mov r9, rsi
cmovae r9, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x1400e761b
mov ecx, dword [rsp + 0x24]
lea rax, [rdx + 8]
add rcx, rdx
cmp rax, rcx
jbe 0x1400e7602
mov edi, 0xc0000023
jmp 0x1400e74da
mov dword [rdx], 4
mov eax, dword [rbp + 0x78]
mov dword [r9], eax
mov r8d, dword [rsp + 0x20]
inc r8d
mov dword [rsp + 0x20], r8d
test edi, edi
js 0x1400e74da
test r12, r12
jne 0x1400e7664
test r14d, r14d
je 0x1400e7669
mov edi, 0xc000000d
mov r9d, dword [rsp + 0x24]
xor r14d, r14d
test edi, edi
js 0x1400e74dd
mov r12d, 0xc0000095
test r13, r13
jne 0x1400e7798
test r15d, r15d
je 0x1400e77a1
mov edi, 0xc000000d
jmp 0x1400e78dc
test r14d, r14d
je 0x1400e762d
cmp qword [rsp + 0x28], r10
jne 0x1400e76c2
mov edx, dword [rbp - 0x40]
lea ecx, [r14 + 4]
or eax, 0xffffffff
mov r12d, 0xc0000095
cmp ecx, 4
cmovae eax, ecx
sbb edi, edi
and edi, r12d
cmp ecx, 4
cmovae edx, eax
mov dword [rbp - 0x40], edx
jb 0x1400e7632
mov ecx, dword [rsp + 0x24]
or r9d, 0xffffffff
lea eax, [rdx + rcx]
cmp eax, ecx
cmovae r9d, eax
sbb edi, edi
and edi, r12d
mov dword [rsp + 0x24], r9d
cmp eax, ecx
jb 0x1400e7637
inc r8d
mov dword [rsp + 0x20], r8d
xor r14d, r14d
jmp 0x1400e7648
mov r9, qword [rsp + 0x28]
mov r11d, r10d
test r8d, r8d
je 0x1400e7730
mov r10d, dword [rbp - 0x40]
mov ecx, dword [r9]
or eax, 0xffffffff
add ecx, 4
mov rbx, r9
cmp ecx, 4
cmovae eax, ecx
sbb edi, edi
and edi, 0xc0000095
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp - 0x40], r10d
jb 0x1400e7632
mov rcx, r9
mov edx, r10d
add rdx, r9
mov rax, rsi
cmp rdx, r9
cmovae rax, rdx
cmp rdx, rcx
mov r9, rax
sbb edi, edi
and edi, 0xc0000095
cmp rdx, rcx
jb 0x1400e7632
inc r11d
cmp r11d, r8d
jb 0x1400e76d3
lea rax, [r9 + 4]
mov r10, rsi
cmp rax, r9
cmovae r10, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, r9
jb 0x1400e7632
mov ecx, dword [rsp + 0x24]
add rcx, qword [rsp + 0x28]
mov r8d, r14d
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x1400e75f8
mov dword [r9], r14d
xor r14d, r14d
test r12, r12
je 0x1400e7781
mov rdx, r12
mov rcx, r10
call sub.msvcrt.dll_memcpy
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x24]
inc r8d
mov dword [rsp + 0x20], r8d
jmp 0x1400e763a
test r15d, r15d
je 0x1400e765a
cmp qword [rsp + 0x28], r14
jne 0x1400e7813
mov edx, dword [rbp - 0x44]
lea ecx, [r15 + 4]
or eax, 0xffffffff
mov r13d, 4
cmp ecx, r13d
mov r15d, 0xc0000095
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae edx, eax
mov dword [rbp - 0x44], edx
jb 0x1400e78e8
mov ecx, r9d
lea eax, [rdx + r9]
or r9d, 0xffffffff
cmp eax, ecx
cmovae r9d, eax
sbb edi, edi
and edi, r15d
mov dword [rsp + 0x24], r9d
cmp eax, ecx
jb 0x1400e78e8
mov rax, qword [rbp + 0x58]
inc r8d
mov dword [rsp + 0x20], r8d
mov qword [rbp + 0x98], rax
jmp 0x1400e7902
mov r10, qword [rsp + 0x28]
mov ebx, r14d
test r8d, r8d
je 0x1400e7879
mov r11d, dword [rbp - 0x44]
mov ecx, dword [r10]
or eax, 0xffffffff
add ecx, 4
mov r14, r10
cmp ecx, 4
cmovae eax, ecx
sbb edi, edi
and edi, r12d
cmp ecx, 4
cmovae r11d, eax
mov dword [rbp - 0x44], r11d
jb 0x1400e78d9
mov rcx, r10
mov edx, r11d
add rdx, r10
mov rax, rsi
cmp rdx, r10
cmovae rax, rdx
cmp rdx, rcx
mov r10, rax
sbb edi, edi
and edi, r12d
cmp rdx, rcx
jb 0x1400e78d9
inc ebx
cmp ebx, r8d
jb 0x1400e7824
xor r14d, r14d
lea rax, [r10 + 4]
mov r11, rsi
cmp rax, r10
cmovae r11, rax
sbb edi, edi
and edi, r12d
cmp rax, r10
jb 0x1400e78dc
mov r8d, r15d
mov ecx, r9d
add rcx, qword [rsp + 0x28]
lea rax, [r8 + 4]
add rax, r10
cmp rax, rcx
jbe 0x1400e78b2
mov edi, 0xc0000023
jmp 0x1400e74dd
mov dword [r10], r15d
test r13, r13
je 0x1400e78c5
mov rdx, r13
mov rcx, r11
call sub.msvcrt.dll_memcpy
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x24]
inc r8d
mov dword [rsp + 0x20], r8d
jmp 0x1400e78dc
xor r14d, r14d
mov r15d, 0xc0000095
mov r13d, 4
test edi, edi
js 0x1400e74dd
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x98], rax
cmp qword [rsp + 0x28], r14
jne 0x1400e7940
mov dword [rbp - 0x30], SafeArrayGetDim
mov ecx, r9d
lea eax, [r9 + 0xc]
or r9d, 0xffffffff
cmp eax, ecx
cmovae r9d, eax
sbb edi, edi
and edi, r15d
mov dword [rsp + 0x24], r9d
cmp eax, ecx
jb 0x1400e79fd
inc r8d
mov dword [rbp - 0x28], 3
mov dword [rsp + 0x20], r8d
jmp 0x1400e7a13
mov r10, qword [rsp + 0x28]
mov ebx, r14d
test r8d, r8d
je 0x1400e79a6
mov r11d, dword [rbp - 0x30]
mov ecx, dword [r10]
or eax, 0xffffffff
add ecx, 4
mov r14, r10
cmp ecx, r13d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae r11d, eax
mov dword [rbp - 0x30], r11d
jb 0x1400e79fa
mov rcx, r10
mov edx, r11d
add rdx, r10
mov rax, rsi
cmp rdx, r10
cmovae rax, rdx
cmp rdx, rcx
mov r10, rax
sbb edi, edi
and edi, r15d
cmp rdx, rcx
jb 0x1400e79fa
inc ebx
cmp ebx, r8d
jb 0x1400e7951
xor r14d, r14d
lea rax, [r10 + 4]
mov rdx, rsi
cmp rax, r10
cmovae rdx, rax
sbb edi, edi
and edi, r15d
cmp rax, r10
jb 0x1400e79fd
mov ecx, r9d
lea rax, [r10 + 0xc]
add rcx, qword [rsp + 0x28]
cmp rax, rcx
ja 0x1400e78a8
mov dword [r10], 8
movsd xmm0, qword [rbp + 0x98]
movsd qword [rdx], xmm0
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x24]
inc r8d
mov dword [rsp + 0x20], r8d
jmp 0x1400e79fd
xor r14d, r14d
test edi, edi
js 0x1400e74dd
mov dword [rbp - 0x28], 3
cmp qword [rsp + 0x28], r14
jne 0x1400e7a46
mov dword [rbp - 0x2c], 8
lea ecx, [r9 + 8]
or eax, 0xffffffff
cmp ecx, r9d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
mov dword [rsp + 0x24], eax
cmp ecx, r9d
jb 0x1400e7ae6
inc r8d
mov dword [rsp + 0x20], r8d
jmp 0x1400e7aee
mov r10, qword [rsp + 0x28]
mov ebx, r14d
test r8d, r8d
je 0x1400e7aa8
mov r11d, dword [rbp - 0x2c]
mov ecx, dword [r10]
or eax, 0xffffffff
add ecx, 4
mov r14, r10
cmp ecx, r13d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae r11d, eax
mov dword [rbp - 0x2c], r11d
jb 0x1400e7ae3
mov rcx, r10
mov edx, r11d
add rdx, r10
mov rax, rsi
cmp rdx, r10
cmovae rax, rdx
cmp rdx, rcx
mov r10, rax
sbb edi, edi
and edi, r15d
cmp rdx, rcx
jb 0x1400e7ae3
inc ebx
cmp ebx, r8d
jb 0x1400e7a57
xor r14d, r14d
lea rax, [r10 + 4]
mov rdx, rsi
cmp rax, r10
cmovae rdx, rax
sbb edi, edi
and edi, r15d
cmp rax, r10
jb 0x1400e7ae6
mov ecx, r9d
lea rax, [r10 + 8]
add rcx, qword [rsp + 0x28]
cmp rax, rcx
ja 0x1400e78a8
mov dword [r10], r13d
mov eax, dword [rbp - 0x28]
mov dword [rdx], eax
inc dword [rsp + 0x20]
jmp 0x1400e7ae6
xor r14d, r14d
test edi, edi
js 0x1400e74dd
lea r8, [rbp + 0x38]
mov edx, 0x7fffffff
lea rcx, [rbp + 0x1b0]
call fcn.1400f3278
test eax, eax
jns 0x1400e7b10
mov qword [rbp + 0x38], r14
jmp 0x1400e734c
mov rcx, qword [rbp + 0x38]
mov rdx, rsi
mov r12d, 0xc0000023
lea rax, [rcx + 1]
cmp rax, rcx
cmovae rdx, rax
sbb edi, edi
and edi, r15d
mov qword [rbp + 0x38], rdx
cmp rax, rcx
jb 0x1400e7c61
lea r10d, [rdx + rdx]
test r10d, r10d
je 0x1400e7c59
cmp qword [rsp + 0x28], r14
jne 0x1400e7ba2
mov r8d, dword [rbp - 0x48]
lea ecx, [r10 + 4]
or eax, 0xffffffff
cmp ecx, r13d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae r8d, eax
mov dword [rbp - 0x48], r8d
jb 0x1400e7c5e
mov edx, dword [rsp + 0x24]
or eax, 0xffffffff
lea ecx, [r8 + rdx]
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, r15d
mov dword [rsp + 0x24], eax
cmp ecx, edx
jb 0x1400e7c5e
inc dword [rsp + 0x20]
mov edi, r14d
jmp 0x1400e7c5e
mov ebx, dword [rsp + 0x20]
mov r11d, r14d
mov r8, qword [rsp + 0x28]
test ebx, ebx
je 0x1400e7c09
mov r9d, dword [rbp - 0x48]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r14, r8
cmp ecx, r13d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae r9d, eax
mov dword [rbp - 0x48], r9d
jb 0x1400e7c5e
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, rsi
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb edi, edi
and edi, r15d
cmp rdx, rcx
jb 0x1400e7c5e
inc r11d
cmp r11d, ebx
jb 0x1400e7bb6
lea rax, [r8 + 4]
mov r9, rsi
cmp rax, r8
cmovae r9, rax
sbb edi, edi
and edi, r15d
cmp rax, r8
jb 0x1400e7c5e
mov ecx, dword [rsp + 0x24]
lea rax, [r10 + 4]
add rcx, qword [rsp + 0x28]
add rax, r8
mov edx, r10d
cmp rax, rcx
jbe 0x1400e7c3e
mov edi, r12d
jmp 0x1400e7c5e
mov dword [r8], r10d
mov rcx, r9
mov r8, rdx
lea rdx, [rbp + 0x1b0]
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x20]
jmp 0x1400e7c5e
mov edi, 0xc000000d
xor r14d, r14d
test edi, edi
js 0x1400e74dd
lea r8, [rbp + 0x40]
mov edx, 0x7fffffff
lea rcx, [0x1403c1978]
call fcn.1400f3278
test eax, eax
jns 0x1400e7c8b
mov qword [rbp + 0x40], r14
jmp 0x1400e734c
mov rcx, qword [rbp + 0x40]
mov rdx, rsi
lea rax, [rcx + 1]
cmp rax, rcx
cmovae rdx, rax
sbb edi, edi
and edi, r15d
mov qword [rbp + 0x40], rdx
cmp rax, rcx
jb 0x1400e7dd8
lea r10d, [rdx + rdx]
test r10d, r10d
je 0x1400e7dd3
cmp qword [rsp + 0x28], r14
jne 0x1400e7d1b
mov r8d, dword [rbp - 0x4c]
lea ecx, [r10 + 4]
or r9d, 0xffffffff
cmp ecx, r13d
mov eax, r9d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae r8d, eax
mov dword [rbp - 0x4c], r8d
jb 0x1400e7dd8
mov edx, dword [rsp + 0x24]
mov eax, r9d
lea ecx, [rdx + r8]
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, r15d
mov dword [rsp + 0x24], eax
cmp ecx, edx
jb 0x1400e7dd8
inc dword [rsp + 0x20]
mov edi, r14d
jmp 0x1400e7dd8
mov r11d, r14d
mov r8, qword [rsp + 0x28]
cmp dword [rsp + 0x20], r14d
jbe 0x1400e7d83
mov r9d, dword [rbp - 0x4c]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov rbx, r8
cmp ecx, r13d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae r9d, eax
mov dword [rbp - 0x4c], r9d
jb 0x1400e7dd8
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, rsi
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb edi, edi
and edi, r15d
cmp rdx, rcx
jb 0x1400e7dd8
inc r11d
cmp r11d, dword [rsp + 0x20]
jb 0x1400e7d2e
lea rax, [r8 + 4]
mov r9, rsi
cmp rax, r8
cmovae r9, rax
sbb edi, edi
and edi, r15d
cmp rax, r8
jb 0x1400e7dd8
mov ecx, dword [rsp + 0x24]
lea rax, [r10 + 4]
add rcx, qword [rsp + 0x28]
add rax, r8
mov edx, r10d
cmp rax, rcx
jbe 0x1400e7db8
mov edi, r12d
jmp 0x1400e7dd8
mov dword [r8], r10d
mov rcx, r9
mov r8, rdx
lea rdx, [0x1403c1978]
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x20]
jmp 0x1400e7dd8
mov edi, 0xc000000d
test edi, edi
js 0x1400e74dd
cmp qword [rsp + 0x28], r14
jne 0x1400e7e1b
mov dword [rbp - 0x20], r13d
mov edx, dword [rsp + 0x24]
or eax, 0xffffffff
lea ecx, [rdx + 4]
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, r15d
mov dword [rsp + 0x24], eax
cmp ecx, edx
jb 0x1400e7ead
inc dword [rsp + 0x20]
mov dword [rbp - 0x18], 2
jmp 0x1400e7ec3
mov r10d, r14d
mov r8, qword [rsp + 0x28]
cmp dword [rsp + 0x20], r14d
jbe 0x1400e7e7f
mov r9d, dword [rbp - 0x20]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, r13d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae r9d, eax
mov dword [rbp - 0x20], r9d
jb 0x1400e7ead
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, rsi
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb edi, edi
and edi, r15d
cmp rdx, rcx
jb 0x1400e7ead
inc r10d
cmp r10d, dword [rsp + 0x20]
jb 0x1400e7e2e
lea rcx, [r8 + 4]
cmp rcx, r8
sbb edi, edi
and edi, r15d
cmp rcx, r8
jb 0x1400e7ead
mov eax, dword [rsp + 0x24]
add rax, qword [rsp + 0x28]
cmp rcx, rax
jbe 0x1400e7ea6
mov edi, r12d
jmp 0x1400e74dd
mov dword [r8], r14d
inc dword [rsp + 0x20]
test edi, edi
js 0x1400e74dd
mov dword [rbp - 0x18], 2
cmp qword [rsp + 0x28], r14
jne 0x1400e7ef3
mov dword [rbp - 0x1c], 8
mov edx, dword [rsp + 0x24]
or eax, 0xffffffff
lea ecx, [rdx + 8]
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, r15d
mov dword [rsp + 0x24], eax
cmp ecx, edx
jb 0x1400e7f91
inc dword [rsp + 0x20]
jmp 0x1400e7f99
mov r10d, r14d
mov r8, qword [rsp + 0x28]
cmp dword [rsp + 0x20], r14d
jbe 0x1400e7f57
mov r9d, dword [rbp - 0x1c]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, r13d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
cmp ecx, r13d
cmovae r9d, eax
mov dword [rbp - 0x1c], r9d
jb 0x1400e7f91
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, rsi
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb edi, edi
and edi, r15d
cmp rdx, rcx
jb 0x1400e7f91
inc r10d
cmp r10d, dword [rsp + 0x20]
jb 0x1400e7f06
lea rax, [r8 + 4]
mov rdx, rsi
cmp rax, r8
cmovae rdx, rax
sbb edi, edi
and edi, r15d
cmp rax, r8
jb 0x1400e7f91
mov ecx, dword [rsp + 0x24]
lea rax, [r8 + 8]
add rcx, qword [rsp + 0x28]
cmp rax, rcx
ja 0x1400e7e9e
mov dword [r8], r13d
mov eax, dword [rbp - 0x18]
mov dword [rdx], eax
inc dword [rsp + 0x20]
test edi, edi
js 0x1400e74dd
mov dword [rbp + SafeArrayGetDim0], 0xc
mov dword [rsp + 0x58], SafeArrayUnaccessData
mov r9, r14
mov qword [rbp - 0x78], r14
mov r8d, r14d
mov dword [rsp + 0x30], r14d
mov qword [rbp], r14
mov r15, r14
mov qword [rbp + 0x50], r14
mov r13, r14
mov dword [rsp + 0x78], r14d
mov qword [rbp + 0xb0], r14
mov dword [rsp + 0x5c], r14d
mov qword [rbp + 8], r14
mov qword [rsp + 0x60], r14
mov dword [rbp - 0x3c], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0xa0], rax
mov eax, dword [rsp + 0x24]
or ecx, 0xffffffff
add eax, 8
mov edx, 0xc0000095
cmp eax, 8
cmovae ecx, eax
sbb ebx, ebx
and ebx, edx
mov dword [rbp - 0x50], ecx
cmp eax, 8
jb 0x1400e8100
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x1400e802f
mov ebx, edx
jmp 0x1400e8100
mov dword [rbp - 0x50], eax
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400e8063
mov ebx, 0xc0000017
mov r8d, r14d
mov r9, r14
jmp 0x1400e8100
mov eax, dword [rsp + 0x20]
mov rdx, rsi
mov dword [rdi], eax
mov r8d, 0xc0000095
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb ebx, ebx
and ebx, r8d
cmp rax, rdi
jb 0x1400e80d8
mov eax, dword [rsp + 0x24]
mov rcx, rsi
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb ebx, ebx
and ebx, r8d
cmp rax, rdx
jb 0x1400e80d8
mov edx, dword [rbp - 0x50]
mov rax, qword [rbp + 0xa0]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x28]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp - 0x50]
mov r9, rdi
mov qword [rbp - 0x78], rdi
mov rdi, r14
mov dword [rsp + 0x30], r8d
jmp 0x1400e80de
mov r9, r14
mov r8d, r14d
test rdi, rdi
je 0x1400e8100
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rsp + 0x30]
mov r9, qword [rbp - 0x78]
or ebx, 0x10000000
jl 0x1400e9a5a
mov qword [rbp + 0xf0], r14
mov qword [rbp + 0xf8], r14
mov qword [rbp + 0x100], r14
mov qword [rbp + 0x108], r14
mov qword [rbp + 0x48], r14
mov qword [rbp + 0xe8], r14
test r9, r9
jne 0x1400e8142
mov ebx, 0xc000000d
jmp 0x1400e8957
mov r14d, r8d
mov qword [rbp + 0x68], r14
test r8d, r8d
je 0x1400e88b2
lea rbx, [r14 + 8]
mov qword [rsp + 0x68], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
mov qword [rbp - 8], rax
mov rdx, rax
test rax, rax
je 0x1400e88b2
mov rax, qword [rbp - 0x78]
mov dil, r11b
mov byte [rsp + 0x34], r11b
mov ecx, r11d
test r14, r14
je 0x1400e81a7
xor dil, byte [rcx + rax]
inc rcx
cmp rcx, r14
jb 0x1400e8196
mov byte [rsp + 0x34], dil
or r9d, 0xffffffff
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x70], rdx
movabs rbx, 0x93278d843bbdc445
mov qword [rbp + 0x190], rbx
mov rcx, rdx
mov dword [rsp + 0x44], r11d
mov r10d, r11d
mov dword [rsp + 0x3c], r9d
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x4c], r11d
and r14d, 7
je 0x1400e8326
mov dword [rsp + 0x48], r11d
mov edx, r11d
mov dword [rsp + 0x4c], edx
mov r8d, r11d
mov dword [rbp + 0x198], r11d
test r14d, r14d
je 0x1400e8281
lea rdx, [0x140436568]
mov dword [rsp + 0x54], 0x38
lea rcx, [0x1404181a0]
call fcn.1400ece2c
mov r8d, dword [rbp + 0x198]
mov r9d, r8d
mov rax, qword [rbp - 0x58]
mov ebx, r8d
mov edx, dword [rsp + 0x54]
lea r10, [rax + 1]
movzx eax, byte [rax]
cmp r8d, 4
jge 0x1400e824a
lea ecx, [rdx - 0x20]
shl eax, cl
or ebx, eax
jmp 0x1400e8251
mov ecx, edx
shl eax, cl
or r9d, eax
inc r8d
sub edx, 8
mov rax, r10
cmp r8d, r14d
jl 0x1400e8234
mov rcx, qword [rsp + 0x70]
mov r8d, r9d
mov dword [rsp + 0x4c], ebx
xor r11d, r11d
mov edx, dword [rsp + 0x4c]
movabs rbx, 0x93278d843bbdc445
mov dword [rsp + 0x48], r9d
mov r10d, edx
mov r9d, r8d
xor r10d, 0xd04a94a
xor r9d, 0xb7faa653
mov dword [rsp + 0x44], r10d
mov edx, r11d
mov dword [rsp + 0x3c], r9d
test r14d, r14d
je 0x1400e82df
lea r11, [rcx + 1]
cmp edx, 4
jge 0x1400e82b9
rol r10d, 8
mov r8d, r10d
jmp 0x1400e82c0
rol r9d, 8
mov r8d, r9d
inc edx
mov byte [rcx], r8b
mov rcx, r11
cmp edx, r14d
jl 0x1400e82a7
mov r10d, dword [rsp + 0x44]
xor r11d, r11d
mov r9d, dword [rsp + 0x3c]
mov qword [rsp + 0x70], rcx
cmp r14d, 4
jbe 0x1400e82fd
mov ecx, 8
sub ecx, r14d
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov dword [rsp + 0x3c], r9d
jmp 0x1400e8321
mov dword [rsp + 0x3c], r11d
mov r9d, r11d
cmp r14d, 4
jae 0x1400e8326
mov ecx, 4
sub ecx, r14d
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rsp + 0x44], r10d
mov rcx, qword [rsp + 0x70]
mov edx, dword [rsp + 0x30]
mov r14d, edx
mov r11d, edx
shr r14, 3
test r14, r14
je 0x1400e8675
mov r8d, dword [rbp + 0x194]
mov edx, r8d
mov r12d, dword [rsp + 0x48]
mov r13d, r8d
mov r15d, dword [rsp + 0x4c]
movzx r11d, word [rbp + 0x192]
shr edx, 0x10
mov dword [rbp + 0x198], edx
add rcx, 7
mov esi, dword [rbp + 0x198]
movzx edx, bx
mov dword [rsp + 0x54], edx
movzx edx, bx
mov dword [rsp + 0x30], edx
movzx edx, r8w
mov qword [rsp + 0x70], rcx
mov edi, edx
lea rcx, [rax + 2]
movzx eax, byte [rcx - 1]
movzx r8d, byte [rcx - 2]
movzx edx, byte [rcx + 2]
shl r8d, 8
or r8d, eax
shl edx, 8
movzx eax, byte [rcx]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 1]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 3]
or edx, eax
movzx eax, byte [rcx + 4]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl edx, 8
mov qword [rbp + 0x190], rcx
or edx, eax
xor r9d, edx
mov eax, r9d
ror eax, 4
xor eax, dword [rsp + 0x30]
imul eax, r11d
xor eax, r8d
xor r10d, eax
mov eax, r10d
ror eax, 0xc
lea ecx, [r10 + r13]
ror ecx, 8
imul ecx, r11d
sub ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
xor ecx, ebx
rol eax, 0xb
ror ecx, 0xe
imul ecx, edi
xor ecx, eax
xor r10d, ecx
mov eax, r10d
rol eax, 4
lea ecx, [r10 + rbx]
ror ecx, 0xd
imul ecx, esi
add ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
xor ecx, edi
shr eax, 6
imul ecx, dword [rsp + 0x30]
xor ecx, eax
xor r10d, ecx
mov eax, r10d
mov ecx, r10d
xor eax, edi
ror ecx, 0xc
imul eax, r11d
xor ecx, eax
xor r9d, ecx
mov eax, r9d
ror eax, 9
sub eax, edi
imul eax, dword [rsp + 0x54]
xor r10d, eax
mov eax, r10d
mov ecx, r10d
xor eax, dword [rsp + 0x54]
ror ecx, 0xa
imul eax, esi
add ecx, eax
xor r9d, ecx
mov ecx, r9d
xor ecx, r13d
ror ecx, 0xd
imul ecx, dword [rsp + 0x30]
mov eax, r9d
rol eax, 0xa
add ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor ecx, esi
shr eax, 0xf
imul ecx, r11d
add ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
xor ecx, r11d
shr eax, 5
rol ecx, 6
imul ecx, edi
add ecx, eax
mov eax, r9d
xor r10d, ecx
shr eax, 0xf
mov ecx, r9d
sub ecx, edi
rol ecx, 3
imul ecx, dword [rsp + 0x30]
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
sub ecx, edi
shr eax, 0xd
imul ecx, r11d
sub ecx, eax
xor r9d, ecx
mov ecx, ebx
sub ecx, r9d
mov eax, r9d
ror ecx, 9
imul ecx, edi
ror eax, 0xb
xor ecx, eax
xor r10d, ecx
mov eax, r10d
sub eax, esi
sub eax, ebx
xor r9d, eax
mov eax, r9d
mov ecx, r9d
ror ecx, 7
xor eax, r11d
imul eax, dword [rsp + 0x30]
sub eax, ecx
xor r10d, eax
mov ecx, r10d
mov eax, r10d
xor ecx, esi
ror eax, 0x10
rol ecx, 4
imul ecx, r11d
sub ecx, eax
xor r9d, ecx
mov ecx, ebx
sub ecx, r9d
mov eax, r9d
ror ecx, 0xa
imul ecx, edi
ror eax, 4
add ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
sub ecx, ebx
ror eax, 9
ror ecx, 4
imul ecx, esi
xor ecx, eax
xor r9d, ecx
mov ecx, r9d
xor ecx, r13d
rol ecx, 8
imul ecx, dword [rsp + 0x30]
mov eax, r9d
rol eax, 2
sub ecx, eax
xor r10d, ecx
mov ecx, r13d
sub ecx, r10d
mov eax, r10d
ror eax, 0xc
ror ecx, 0xb
imul ecx, r11d
sub ecx, eax
xor r9d, ecx
mov ecx, r11d
xor ecx, r9d
mov eax, r9d
shr eax, 8
xor r9d, r13d
imul ecx, edi
xor ecx, eax
xor r10d, ecx
mov rcx, qword [rsp + 0x70]
xor r9d, r10d
xor r10d, r15d
mov dword [rsp + 0x44], r10d
xor r9d, ebx
xor r9d, r12d
mov r15d, r8d
mov dword [rsp + 0x3c], r9d
mov r12d, edx
mov byte [rcx - 4], r10b
mov al, byte [rsp + 0x3c]
ror dword [rsp + 0x44], 8
mov byte [rcx], al
ror dword [rsp + 0x3c], 8
mov al, byte [rsp + 0x44]
mov byte [rcx - 5], al
mov al, byte [rsp + 0x3c]
ror dword [rsp + 0x44], 8
mov byte [rcx - 1], al
ror dword [rsp + 0x3c], 8
mov al, byte [rsp + 0x44]
mov byte [rcx - 6], al
ror dword [rsp + 0x44], 8
mov al, byte [rsp + 0x3c]
mov byte [rcx - 2], al
ror dword [rsp + 0x3c], 8
mov al, byte [rsp + 0x44]
mov byte [rcx - 7], al
mov al, byte [rsp + 0x3c]
mov byte [rcx - 3], al
add rcx, 8
mov r10d, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x3c]
ror r10d, 8
ror r9d, 8
mov qword [rsp + 0x70], rcx
mov rcx, qword [rbp + 0x190]
mov dword [rsp + 0x44], r10d
mov dword [rsp + 0x3c], r9d
sub r14, 1
jne 0x1400e838c
mov r15, qword [rbp + 8]
or rsi, 0xffffffffffffffff
mov dil, byte [rsp + 0x34]
mov r13, r15
mov r11, qword [rbp + 0x68]
mov r12d, 0xc0000023
mov rbx, qword [rbp - 8]
movzx eax, dil
mov qword [rbx + r11], rax
lea rax, [r11 + 8]
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0x48], rbx
lea rax, [0x14042ec30]
mov qword [rbp + 0xf8], 8
mov qword [rbp + 0xf0], rax
lea r14, [0x14042eb90]
mov qword [rbp + 0x108], 0xa0
mov qword [rbp + 0x100], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400e86ef
mov ebx, 0xc0000017
xor r14d, r14d
jmp 0x1400e88a5
mov rax, qword [rsp + 0x68]
mov dword [rdi], eax
mov eax, eax
mov qword [rbp + 0x190], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x190]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400e872c
mov ebx, 0xc0000017
xor r14d, r14d
jmp 0x1400e8822
mov qword [rdi + 8], rax
mov r8, qword [rbp + 0x190]
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov ebx, 0xa0
mov dword [rdi + 0x10], ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rdx, [0x14042f1bc]
mov rbx, rax
lea rcx, [0x140416854]
call fcn.1400ec420
test rbx, rbx
je 0x1400e871f
mov qword [rdi + 0x18], rbx
movups xmm0, xmmword [r14]
mov eax, 0x80
movups xmmword [rbx], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rbx + 0x20], xmm0
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [rbx + 0x30], xmm1
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rbx + 0x40], xmm0
movups xmm1, xmmword [r14 + 0x50]
movups xmmword [rbx + 0x50], xmm1
movups xmm0, xmmword [r14 + 0x60]
movups xmmword [rbx + 0x60], xmm0
movups xmm0, xmmword [r14 + 0x70]
movups xmmword [rbx + rax - 0x10], xmm0
movups xmm1, xmmword [r14 + rax]
movups xmmword [rbx + rax], xmm1
movups xmm0, xmmword [r14 + rax + 0x10]
movups xmmword [rbx + rax + 0x10], xmm0
lea ebx, [rax - 0x78]
mov dword [rdi + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r14d, r14d
test rax, rax
jne 0x1400e8809
mov ebx, 0xc0000017
jmp 0x1400e8822
mov qword [rdi + 0x28], rax
movsd xmm0, qword [0x14042ec30]
mov r13, rdi
movsd qword [rax], xmm0
mov ebx, r14d
mov rdi, r14
test rdi, rdi
je 0x1400e88a5
mov r14, qword [rdi + 8]
test r14, r14
je 0x1400e884a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 8], rax
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x1400e886d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x18], rax
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x1400e8891
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r14d, r14d
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x1400e88ba
mov qword [rbp], r13
mov r13, r14
jmp 0x1400e88ba
mov ebx, 0xc0000001
xor r14d, r14d
mov rdi, qword [rbp + 0x48]
test rdi, rdi
je 0x1400e88db
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x48], r14
test r13, r13
je 0x1400e8957
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x1400e8901
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 8], r14
mov rdi, qword [r13 + 0x18]
test rdi, rdi
je 0x1400e8922
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 0x18], r14
mov rdi, qword [r13 + 0x28]
test rdi, rdi
je 0x1400e8943
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or ebx, 0x10000000
jl 0x1400e8d01
mov rdi, qword [rbp]
or r10d, 0xffffffff
mov ecx, r10d
mov r13d, 0xc0000095
mov eax, dword [rdi]
mov r9d, dword [rdi + 0x20]
add eax, 4
mov r8d, dword [rdi + 0x10]
cmp eax, 4
cmovae ecx, eax
sbb ebx, ebx
and ebx, r13d
cmp eax, 4
jb 0x1400e89ef
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb ebx, ebx
and ebx, r13d
cmp eax, ecx
jb 0x1400e89ef
lea eax, [rdx + r8]
mov ecx, r10d
cmp eax, edx
cmovae ecx, eax
sbb ebx, ebx
and ebx, r13d
cmp eax, edx
jb 0x1400e89ef
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb ebx, ebx
and ebx, r13d
cmp eax, ecx
jb 0x1400e89ef
mov r8d, dword [rbp - 0x60]
lea ecx, [rdx + r9]
cmp ecx, edx
mov eax, r10d
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, edx
cmovae r8d, eax
mov dword [rbp - 0x60], r8d
jmp 0x1400e89f3
mov r8d, dword [rbp - 0x60]
test ebx, ebx
js 0x1400e8b43
mov ebx, r8d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x1400e8a27
mov ebx, 0xc0000017
jmp 0x1400e8b40
mov eax, dword [rdi]
mov r13, rsi
mov dword [r14], eax
lea rax, [r14 + 4]
cmp rax, r14
cmovae r13, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, r14
jb 0x1400e8b21
mov r8d, dword [rdi]
mov rcx, r13
mov rdx, qword [rdi + 8]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rdi]
mov rdx, rsi
add rcx, r13
mov r8d, 0xc0000095
cmp rcx, r13
cmovae rdx, rcx
sbb ebx, ebx
and ebx, r8d
cmp rcx, r13
jb 0x1400e8b21
mov eax, dword [rdi + 0x10]
mov r13, rsi
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r13, rax
sbb ebx, ebx
and ebx, r8d
cmp rax, rdx
jb 0x1400e8b21
mov r8d, dword [rdi + 0x10]
mov rcx, r13
mov rdx, qword [rdi + 0x18]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rdi + 0x10]
mov rdx, rsi
add rcx, r13
mov r8d, 0xc0000095
cmp rcx, r13
cmovae rdx, rcx
sbb ebx, ebx
and ebx, r8d
cmp rcx, r13
jb 0x1400e8b21
mov eax, dword [rdi + 0x20]
mov r13, rsi
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r13, rax
sbb ebx, ebx
and ebx, r8d
cmp rax, rdx
jb 0x1400e8b21
mov r8d, dword [rdi + 0x20]
mov rcx, r13
mov rdx, qword [rdi + 0x28]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rdi + 0x20]
add rcx, r13
cmp rcx, r13
sbb ebx, ebx
and ebx, 0xc0000095
cmp rcx, r13
jb 0x1400e8b21
xor eax, eax
mov qword [rbp + 0x50], r14
mov r14d, eax
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x78], eax
test r14, r14
je 0x1400e8b3a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 0xc0000095
xor r14d, r14d
mov edi, 0x10000000
or ebx, edi
jl 0x1400e8d01
mov qword [rbp + 0x118], r14
mov r9d, r14d
mov dword [rbp + 0x24], r14d
mov r10d, r14d
mov qword [rbp + 0x120], r14
mov dword [rbp + 0x10], r14d
mov dword [rbp + 0xe4], 0x30
mov eax, 0x38
mov dword [rbp + 0xe0], eax
mov dword [rbp + 0x110], eax
cmp qword [rsp + 0x28], r14
jne 0x1400e8b98
mov ebx, 0xc000000d
jmp 0x1400e8d0f
cmp dword [rsp + 0x20], 1
jbe 0x1400e8b8e
mov rdx, qword [rsp + 0x28]
mov r11d, r14d
lea rax, [rdx + 4]
mov r8, rsi
cmp rax, rdx
cmovae r8, rax
sbb ebx, ebx
and ebx, r13d
cmp rax, rdx
jb 0x1400e8c14
mov ecx, dword [rdx]
mov rdx, rsi
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb ebx, ebx
and ebx, r13d
cmp rcx, r8
jb 0x1400e8c14
inc r11d
cmp r11d, 1
jb 0x1400e8ba7
mov r8d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, rsi
cmovae rcx, rax
sbb ebx, ebx
and ebx, r13d
cmp rax, rdx
jb 0x1400e8c14
test r8d, r8d
mov dword [rbp + 0x24], r8d
mov rax, r14
mov r9d, r8d
cmovne rax, rcx
mov qword [rbp + 0x118], rax
test ebx, ebx
js 0x1400e8d01
cmp dword [rsp + 0x20], 2
jbe 0x1400e8b8e
mov rdx, qword [rsp + 0x28]
mov r11d, r14d
lea rax, [rdx + 4]
mov r8, rsi
cmp rax, rdx
cmovae r8, rax
sbb ebx, ebx
and ebx, r13d
cmp rax, rdx
jb 0x1400e8c9c
mov ecx, dword [rdx]
mov rdx, rsi
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb ebx, ebx
and ebx, r13d
cmp rcx, r8
jb 0x1400e8c9c
inc r11d
cmp r11d, 2
jb 0x1400e8c2f
mov r8d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, rsi
cmovae rcx, rax
sbb ebx, ebx
and ebx, r13d
cmp rax, rdx
jb 0x1400e8c9c
test r8d, r8d
mov dword [rbp + 0x10], r8d
mov rax, r14
mov r10d, r8d
cmovne rax, rcx
mov qword [rbp + 0x120], rax
test ebx, ebx
js 0x1400e8d01
lea eax, [r9 + 0x40]
or edx, 0xffffffff
cmp eax, 0x40
mov ecx, edx
cmovae ecx, eax
sbb ebx, ebx
and ebx, r13d
cmp eax, 0x40
jb 0x1400e8ced
lea eax, [rcx + 4]
mov r8d, edx
cmp eax, ecx
cmovae r8d, eax
sbb ebx, ebx
and ebx, r13d
cmp eax, ecx
jb 0x1400e8ced
lea ecx, [r8 + r10]
mov eax, edx
mov edx, dword [rbp - 0x10]
cmp ecx, r8d
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, r8d
cmovae edx, eax
mov dword [rbp - 0x10], edx
jmp 0x1400e8cf0
mov edx, dword [rbp - 0x10]
test ebx, ebx
js 0x1400e8d01
cmp edx, 0x400000
jbe 0x1400e8d0b
mov ebx, 0x8000ffff
mov r13, qword [rsp + 0x60]
jmp 0x1400e9a5a
mov dword [rsp + 0x5c], edx
test ebx, ebx
js 0x1400e8d01
mov ebx, dword [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r13d, r13d
mov r14, rax
test rax, rax
jne 0x1400e8d43
mov ebx, 0xd0000017
jmp 0x1400e9a52
mov qword [rbp + 0xb0], r14
mov rax, qword [rbp + 0x50]
test rax, rax
jne 0x1400e8d5d
mov ebx, 0x80070057
jmp 0x1400e9a52
mov qword [rbp + 0x150], rax
lea r8, [rbp + 0x128]
mov eax, dword [rsp + 0x78]
lea rdx, [0x1403be448]
mov dword [rbp + 0x160], eax
mov ecx, 1
mov eax, dword [rsp + 0x5c]
mov dword [rbp + 0x164], eax
mov qword [rbp + 0x158], r14
mov dword [rbp + 0x168], r13d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400e8dc6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400e8dc0
mov ebx, 0x80004005
mov edx, dword [rsp + 0x5c]
jmp 0x1400e8e12
mov rcx, qword [rbp + 0x128]
lea rdx, [0x1403c8798]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1400e8da3
mov rcx, rax
call qword [0x1403b8660]
xor r9d, r9d
lea rdx, [rbp + 0x150]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov edx, dword [rsp + 0x5c]
mov ebx, eax
or ebx, edi
cmovge edx, dword [rbp + 0x164]
mov dword [rsp + 0x5c], edx
cmp ebx, 0xd0000023
jne 0x1400e8e24
mov ebx, 0x8007007a
jmp 0x1400e9a52
test ebx, ebx
js 0x1400e9a52
mov qword [rbp + 0x190], r13
mov edi, 0xc000003e
mov dword [rsp + 0x70], edi
cmp edx, 4
jae 0x1400e8e45
mov ebx, edi
jmp 0x1400e8e77
mov r11d, dword [r14]
lea rax, [r14 + 4]
cmp rax, r14
mov dword [rbp - 0x58], r11d
mov r13, rsi
mov r10d, 0xc0000095
cmovae r13, rax
sbb ebx, ebx
and ebx, r10d
cmp rax, r14
jb 0x1400e8e74
lea eax, [rdx - 4]
cmp eax, r11d
jae 0x1400e8ea4
mov ebx, edi
xor r13d, r13d
or ebx, 0x10000000
jl 0x1400e9a52
mov qword [rbp - 0x38], r13
mov r14, r13
mov qword [rbp + 0xa8], r13
test r15, r15
jne 0x1400e9267
mov ebx, 0xd000000d
jmp 0x1400e9a52
lea rcx, [r11 + r13]
mov r9, rsi
cmp rcx, r13
cmovae r9, rcx
sbb ebx, ebx
and ebx, r10d
cmp rcx, r13
jb 0x1400e8e74
lea eax, [r11 + 4]
or ecx, 0xffffffff
cmp eax, 4
cmovae ecx, eax
sbb ebx, ebx
and ebx, r10d
cmp eax, 4
jb 0x1400e8e74
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x1400e8e72
mov r14d, dword [r9]
lea rax, [r9 + 4]
cmp rax, r9
mov dword [rbp + 0x198], r14d
mov r8, rsi
cmovae r8, rax
sbb ebx, ebx
and ebx, r10d
mov qword [rsp + 0x68], r8
cmp rax, r9
jb 0x1400e8e74
lea eax, [rcx + 4]
or r9d, 0xffffffff
cmp eax, ecx
cmovae r9d, eax
sbb ebx, ebx
and ebx, r10d
cmp eax, ecx
jb 0x1400e8e74
mov eax, edx
sub eax, r9d
cmp eax, r14d
jb 0x1400e8e72
lea rcx, [r8 + r14]
mov r10, rsi
cmp rcx, r8
cmovae r10, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rcx, r8
jb 0x1400e8e74
lea eax, [r9 + r14]
or r8d, 0xffffffff
cmp eax, r9d
cmovae r8d, eax
sbb ebx, ebx
and ebx, 0xc0000095
cmp eax, r9d
jb 0x1400e8e74
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x1400e8e72
mov r9d, dword [r10]
lea rax, [r10 + 4]
cmp rax, r10
mov dword [rsp + 0x78], r9d
mov rcx, rsi
cmovae rcx, rax
sbb ebx, ebx
and ebx, 0xc0000095
mov qword [rbp - 8], rcx
cmp rax, r10
jb 0x1400e8e74
lea eax, [r8 + 4]
or ecx, 0xffffffff
cmp eax, r8d
mov r10d, 0xc0000095
cmovae ecx, eax
sbb ebx, ebx
and ebx, r10d
cmp eax, r8d
jb 0x1400e8e74
mov eax, edx
sub eax, ecx
cmp eax, r9d
jb 0x1400e8e72
lea eax, [rcx + r9]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb ebx, ebx
and ebx, r10d
cmp eax, ecx
jb 0x1400e8e74
cmp edx, r8d
jne 0x1400e8e72
lea ecx, [r14 + r11]
mov eax, edx
add ecx, r9d
add rcx, 0xc
cmp rcx, rax
jne 0x1400e8e72
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x1400e903c
mov ebx, 0xc0000017
xor r13d, r13d
jmp 0x1400e91bb
test r13, r13
je 0x1400e9089
mov eax, dword [rbp - 0x58]
mov dword [r14], eax
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400e9072
mov ebx, 0xc0000017
xor r13d, r13d
jmp 0x1400e913f
mov qword [r14 + 8], rax
mov r8, rbx
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r13d, r13d
jmp 0x1400e9090
mov dword [rax], r13d
mov qword [rax + 8], r13
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400e90de
mov eax, dword [rbp + 0x198]
mov dword [r14 + 0x10], eax
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400e90ca
mov ebx, 0xc0000017
jmp 0x1400e913f
mov qword [r14 + 0x18], rax
mov r8, r15
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400e90e6
mov dword [r14 + 0x10], r13d
mov qword [r14 + 0x18], r13
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x1400e912a
mov eax, dword [rsp + 0x78]
mov dword [r14 + 0x20], eax
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400e90c3
mov qword [r14 + 0x28], rax
mov r8d, r15d
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400e9132
mov dword [r14 + 0x20], r13d
mov qword [r14 + 0x28], r13
mov qword [rbp + 0x190], r14
mov ebx, r13d
mov r14, r13
test r14, r14
je 0x1400e91bb
mov r15, qword [r14 + 8]
test r15, r15
je 0x1400e9165
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], r13
mov r15, qword [r14 + 0x18]
test r15, r15
je 0x1400e9186
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], r13
mov r15, qword [r14 + 0x28]
test r15, r15
je 0x1400e91a7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [rbp + 0x190]
test ebx, ebx
mov r14, r13
cmovs r14, qword [rbp + 0x190]
cmovs r15, r13
mov qword [rbp + 8], r15
test r14, r14
je 0x1400e8e77
mov r13, qword [r14 + 8]
test r13, r13
je 0x1400e9203
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [r14 + 8], rax
mov r13, qword [r14 + 0x18]
test r13, r13
je 0x1400e9226
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [r14 + 0x18], rax
mov r13, qword [r14 + 0x28]
test r13, r13
je 0x1400e924a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r13d, r13d
mov qword [r14 + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 8], r15
jmp 0x1400e8e77
mov rbx, qword [r15 + 8]
mov qword [rbp + 0x68], rbx
test rbx, rbx
je 0x1400e8e9a
cmp dword [r15], r13d
je 0x1400e8e9a
mov r13d, dword [r15]
xor r9d, r9d
mov dword [rbp - 0x58], r9d
test r13, r13
je 0x1400e9810
add r13, 0xfffffffffffffff8
mov qword [rbp - 8], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r9d, r9d
mov qword [rbp + 0x190], rax
mov r10, rax
test rax, rax
je 0x1400e980c
mov dl, r9b
movabs r8, 0x6223e824ab21d998
mov r9, r13
mov byte [rsp + 0x34], dl
mov qword [rbp + 0x198], r8
mov rax, rbx
mov r11, r10
and r9d, 7
je 0x1400e9787
or dword [rsp + 0x38], 0xffffffff
xor ebx, ebx
mov dword [rsp + 0x40], ebx
mov r14d, ebx
mov dword [rsp + 0x54], ebx
mov ecx, ebx
mov dword [rsp + 0x4c], ebx
test r9d, r9d
je 0x1400e9360
lea r8d, [rbx + 0x38]
lea rcx, [rax + 1]
movzx eax, byte [rax]
mov qword [rsp + 0x78], rcx
cmp ebx, 4
jge 0x1400e9335
lea ecx, [r8 - 0x20]
shl eax, cl
mov ecx, dword [rsp + 0x4c]
or ecx, eax
mov dword [rsp + 0x4c], ecx
jmp 0x1400e9341
mov ecx, r8d
shl eax, cl
mov ecx, dword [rsp + 0x4c]
or r14d, eax
mov rax, qword [rsp + 0x78]
inc ebx
sub r8d, 8
cmp ebx, r9d
jl 0x1400e9312
mov dword [rsp + 0x54], r14d
movabs r8, 0x6223e824ab21d998
mov ebx, dword [rsp + 0x54]
mov r14d, ecx
xor r14d, 0xf27cb619
xor ebx, 0xaef73a1f
xor ecx, ecx
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], ebx
test r9d, r9d
je 0x1400e93c6
lea r8, [r11 + 1]
mov qword [rsp + 0x68], r8
cmp ecx, 4
jge 0x1400e939b
rol r14d, 8
mov r8d, r14d
jmp 0x1400e93a1
rol ebx, 8
mov r8d, ebx
mov byte [r11], r8b
inc ecx
mov r8, qword [rsp + 0x68]
mov r11, r8
cmp ecx, r9d
jl 0x1400e9384
mov r14d, dword [rsp + 0x40]
movabs r8, 0x6223e824ab21d998
mov ebx, dword [rsp + 0x38]
cmp r9d, 4
jbe 0x1400e975a
mov ecx, 8
sub ecx, r9d
shl ecx, 3
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x38], ebx
xor r9d, r9d
mov rcx, r13
shr rcx, 3
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x1400e972e
mov r13d, dword [rbp + 0x19c]
lea rdi, [r11 + 7]
movzx r9d, word [rbp + 0x19a]
mov r15d, r13d
mov r12d, dword [rsp + 0x54]
mov esi, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x68]
movzx ecx, r8w
mov dword [rsp + 0x30], ecx
movzx ecx, r13w
mov dword [rsp + 0x48], ecx
lea rcx, [rax + 2]
shr r15d, 0x10
movzx eax, byte [rcx - 1]
movzx r11d, byte [rcx - 2]
movzx r10d, byte [rcx + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rcx]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx + 1]
shl r11d, 8
or r11d, eax
movzx eax, byte [rcx + 3]
or r10d, eax
xor r14d, r11d
movzx eax, byte [rcx + 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r10d, 8
mov qword [rsp + 0x68], rcx
or r10d, eax
xor ebx, r10d
xor ebx, r14d
xor ebx, r13d
xor ebx, r8d
mov ecx, ebx
mov eax, ebx
sub ecx, r8d
rol eax, 0xa
rol ecx, 5
imul ecx, dword [rsp + 0x48]
add ecx, eax
xor r14d, ecx
mov eax, r14d
rol eax, 2
lea ecx, [r14 + r13]
ror ecx, 9
imul ecx, r9d
sub ecx, eax
xor ebx, ecx
mov ecx, ebx
mov eax, ebx
sub ecx, dword [rsp + 0x48]
imul ecx, dword [rsp + 0x30]
shr eax, 0xd
sub ecx, eax
xor r14d, ecx
mov ecx, r9d
xor ecx, r14d
mov eax, r14d
rol ecx, 6
imul ecx, r15d
rol eax, 2
sub ecx, eax
mov eax, r13d
xor ebx, ecx
mov ecx, ebx
xor ecx, r8d
sub eax, ecx
xor r14d, eax
mov eax, r14d
mov ecx, r14d
xor eax, dword [rsp + 0x48]
ror ecx, 6
imul eax, r9d
xor ecx, eax
xor ebx, ecx
mov eax, ebx
rol eax, 2
lea ecx, [rbx + r13]
ror ecx, 0xf
imul ecx, dword [rsp + 0x30]
add ecx, eax
xor r14d, ecx
mov ecx, r14d
mov eax, r14d
sub ecx, r8d
ror ecx, 0xe
imul ecx, r15d
rol eax, 8
sub ecx, eax
xor ebx, ecx
mov ecx, ebx
mov eax, ebx
xor ecx, r8d
ror eax, 0xa
ror ecx, 0xc
imul ecx, dword [rsp + 0x48]
xor ecx, eax
xor r14d, ecx
mov ecx, r14d
mov eax, r14d
xor ecx, r15d
shr eax, 0xa
imul ecx, r9d
mov r9d, r13d
xor ecx, eax
xor ebx, ecx
mov eax, ebx
not eax
ror eax, 5
add eax, dword [rsp + 0x30]
imul eax, r15d
xor r14d, eax
mov eax, r14d
ror eax, 0xc
sub eax, r15d
imul eax, dword [rsp + 0x48]
xor ebx, eax
mov ecx, ebx
mov eax, ebx
xor ecx, r8d
rol eax, 0xe
ror ecx, 3
imul ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, r8d
xor r14d, ecx
mov ecx, r14d
xor ecx, r13d
sub eax, ecx
xor ebx, eax
xor r9d, ebx
xor r9d, r14d
movzx r14d, word [rbp + 0x19a]
xor r9d, r8d
mov ecx, r9d
mov eax, r9d
xor ecx, dword [rsp + 0x30]
rol ecx, 3
imul ecx, r15d
rol eax, 0xe
add ecx, eax
xor ebx, ecx
mov ecx, r8d
sub ecx, ebx
mov eax, ebx
ror ecx, 2
imul ecx, dword [rsp + 0x48]
ror eax, 0xd
sub ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
rol eax, 1
sub ecx, r13d
rol ecx, 4
imul ecx, r14d
xor ecx, eax
xor ebx, ecx
mov eax, ebx
ror eax, 7
xor eax, dword [rsp + 0x30]
imul eax, r14d
xor r9d, eax
mov ecx, r9d
mov eax, r9d
xor eax, dword [rsp + 0x30]
ror ecx, 1
imul eax, r15d
xor ecx, eax
xor ebx, ecx
mov ecx, ebx
mov eax, ebx
xor ecx, r14d
rol eax, 0xf
rol ecx, 5
imul ecx, dword [rsp + 0x48]
sub ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
xor eax, r15d
ror ecx, 0xb
imul eax, r14d
add ecx, eax
xor ebx, ecx
mov eax, ebx
ror eax, 8
lea ecx, [rbx + r13]
xor ebx, r12d
mov dword [rsp + 0x38], ebx
mov r12d, r10d
ror ecx, 0xb
imul ecx, dword [rsp + 0x30]
sub ecx, eax
xor ecx, esi
mov esi, r11d
xor r9d, ecx
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x40], r9d
mov byte [rdi - 4], r9b
mov al, byte [rsp + 0x38]
ror dword [rsp + 0x40], 8
movzx r9d, word [rbp + 0x19a]
mov byte [rdi], al
lea rdi, [rdi + 8]
ror dword [rsp + 0x38], 8
mov al, byte [rsp + 0x40]
mov byte [rdi - 0xd], al
mov al, byte [rsp + 0x38]
ror dword [rsp + 0x40], 8
mov byte [rdi - 9], al
ror dword [rsp + 0x38], 8
mov al, byte [rsp + 0x40]
mov byte [rdi - 0xe], al
ror dword [rsp + 0x40], 8
mov al, byte [rsp + 0x38]
mov byte [rdi - 0xa], al
ror dword [rsp + 0x38], 8
mov al, byte [rsp + 0x40]
mov byte [rdi - 0xf], al
mov al, byte [rsp + 0x38]
mov byte [rdi - 0xb], al
mov r14d, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x38]
ror r14d, 8
ror ebx, 8
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], ebx
sub rdx, 1
jne 0x1400e9437
mov dl, byte [rsp + 0x34]
or rsi, 0xffffffffffffffff
mov edi, dword [rsp + 0x70]
xor r9d, r9d
mov r15, qword [rbp + 8]
mov r12d, 0xc0000023
mov r13, qword [rbp - 8]
mov r10, qword [rbp + 0x190]
mov rax, r9
test r13, r13
je 0x1400e9742
xor dl, byte [rax + r10]
inc rax
cmp rax, r13
jb 0x1400e9736
mov rcx, qword [rbp + 0x68]
movzx eax, dl
cmp rax, qword [rcx + r13]
je 0x1400e97aa
mov r14, qword [rbp - 0x38]
mov ebx, 0xc004d501
jmp 0x1400e97c5
xor ecx, ecx
mov dword [rsp + 0x38], ecx
mov ebx, ecx
cmp r9d, 4
jae 0x1400e93e3
mov ecx, 4
sub ecx, r9d
shl ecx, 3
shr r14d, cl
shl r14d, cl
mov dword [rsp + 0x40], r14d
jmp 0x1400e93e3
xor r9d, r9d
or ebx, 0xffffffff
mov dword [rsp + 0x4c], r9d
mov dword [rsp + 0x54], ebx
mov r14d, r9d
mov ebx, r9d
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], ebx
jmp 0x1400e93e6
mov ebx, dword [rbp - 0x58]
mov r14, r10
mov qword [rbp - 0x38], r10
mov r10, r9
mov qword [rbp + 0x190], r9
mov qword [rbp + 0xa8], r13
test r10, r10
je 0x1400e97e9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x190]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp - 0x38]
xor r9d, r9d
test ebx, ebx
js 0x1400e9810
mov ecx, dword [rbp + 0xa8]
mov r13, r14
mov qword [rsp + 0x60], r14
mov ebx, 0x10000000
mov r14, r9
mov dword [rbp - 0x3c], ecx
mov qword [rbp - 0x38], r9
jmp 0x1400e981d
mov r14, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x3c]
mov ebx, 0xd0000001
mov r13, qword [rsp + 0x60]
test r14, r14
je 0x1400e9840
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp - 0x3c]
xor r9d, r9d
mov qword [rbp - 0x38], r9
test ebx, ebx
js 0x1400e9a57
cmp ecx, 4
jb 0x1400e9a4c
mov eax, dword [r13]
mov rdx, rsi
mov dword [rsp + 0x70], eax
mov r8d, 0xc0000095
lea rax, [r13 + 4]
cmp rax, r13
cmovae rdx, rax
sbb ebx, ebx
and ebx, r8d
cmp rax, r13
jb 0x1400e9a4e
lea eax, [rcx - 4]
cmp eax, 4
jb 0x1400e9a4c
mov r13d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov r14, rsi
cmovae r14, rax
sbb ebx, ebx
and ebx, r8d
cmp rax, rdx
jb 0x1400e9a4e
lea eax, [rcx - 8]
cmp eax, r13d
jb 0x1400e9a4c
lea eax, [r13 + 8]
cmp eax, 8
sbb ebx, ebx
and ebx, r8d
cmp eax, 8
jb 0x1400e9a4e
mov rdx, qword [rsp + 0x60]
mov r10d, r13d
mov r8d, ecx
lea rcx, [r14 + r13]
lea rax, [rdx + r8]
cmp rax, rcx
jb 0x1400e9a4c
mov rax, rdx
sub rax, r14
sub rax, r13
add rax, r8
cmp rax, 8
jae 0x1400e9a4c
mov dword [rsp + 0x78], r9d
mov rax, r9
mov qword [rbp + 0x190], rax
mov ebx, r9d
mov r11d, r9d
test r14, r14
je 0x1400e99d7
cmp rcx, r14
mov r8, rsi
mov rdx, r14
cmovae r8, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rcx, r14
jb 0x1400e9a3f
cmp r14, r8
jae 0x1400e99d2
mov r9d, dword [rbp + 0x14]
lea rax, [rdx + 4]
mov rcx, rsi
cmp rax, rdx
cmovae rcx, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, rdx
jb 0x1400e9a3f
cmp rcx, r8
ja 0x1400e9a09
mov ecx, dword [rdx]
or eax, 0xffffffff
add ecx, 4
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x14], r9d
jb 0x1400e9a3f
mov ecx, r9d
mov rax, rsi
add rcx, rdx
cmp rcx, rdx
cmovae rax, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rcx, rdx
jb 0x1400e9a3f
cmp rax, r8
ja 0x1400e9a09
inc r11d
mov rdx, rax
mov dword [rsp + 0x78], r11d
cmp rax, r8
jb 0x1400e9942
mov rax, qword [rbp + 0x190]
cmp rdx, r8
jne 0x1400e9a09
test r13d, r13d
je 0x1400e9a16
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r9d, r9d
mov qword [rbp + 0x190], rax
test rax, rax
jne 0x1400e9a10
mov ebx, 0xc0000017
jmp 0x1400e9a3f
mov ebx, 0xc000000d
jmp 0x1400e9a4e
mov ebx, r9d
mov r10, r13
test r14, r14
je 0x1400e9a30
mov r8, r10
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp + 0x190]
mov qword [rbp - 0x68], rax
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x6c], r13d
test ebx, ebx
js 0x1400e9a4e
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp - 0x70]
je 0x1400e9a4e
mov ebx, edi
bts ebx, 0x1c
mov r13, qword [rsp + 0x60]
xor r14d, r14d
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x1400e9a77
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp]
test rdi, rdi
je 0x1400e9b06
mov r14, qword [rdi + 8]
test r14, r14
je 0x1400e9aa7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 8], rax
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x1400e9aca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x18], rax
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x1400e9aee
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r14d, r14d
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp], r14
mov rdi, qword [rbp + 0x50]
test rdi, rdi
je 0x1400e9b23
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x1400e9b43
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x1400e9bbf
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x1400e9b69
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], r14
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x1400e9b8a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], r14
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x1400e9bab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x1400e9bd8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, ebx
test ebx, ebx
js 0x1400e74dd
cmp dword [rbp - 0x70], 3
je 0x1400e9bf2
mov edi, 0xc004d501
jmp 0x1400e74dd
mov r10d, 0xc0000095
cmp qword [rbp - 0x68], r14
jne 0x1400e9c2b
mov edi, 0xc000000d
mov r15d, dword [rbp - 0x7c]
test edi, edi
js 0x1400e74dd
mov edi, r15d
test r15d, r15d
js 0x1400e74dd
cmp qword [rbp - 0x68], r14
jne 0x1400e9c7e
mov edi, 0xc000000d
jmp 0x1400e9d44
mov rbx, qword [rbp - 0x68]
mov rdx, rsi
mov ecx, dword [rbx]
lea rax, [rbx + 4]
cmp rax, rbx
cmovae rdx, rax
sbb edi, edi
and edi, r10d
cmp rax, rbx
jb 0x1400e9c5e
test ecx, ecx
mov dword [rbp + 0x18], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x130], rax
jmp 0x1400e9c68
mov ecx, dword [rbp + 0x18]
mov rax, qword [rbp + 0x130]
test edi, edi
js 0x1400e9c03
cmp ecx, 4
jne 0x1400e7e9e
mov r15d, dword [rax]
mov dword [rbp - 0x7c], r15d
jmp 0x1400e9c07
mov r14, qword [rbp - 0x68]
xor eax, eax
mov r8d, eax
lea rax, [r14 + 4]
mov rdx, rsi
cmp rax, r14
cmovae rdx, rax
sbb edi, edi
and edi, r10d
cmp rax, r14
jb 0x1400e9d1a
mov ecx, dword [r14]
mov r14, rsi
add rcx, rdx
cmp rcx, rdx
cmovae r14, rcx
sbb edi, edi
and edi, r10d
cmp rcx, rdx
jb 0x1400e9d1a
inc r8d
cmp r8d, 1
jb 0x1400e9c87
mov r13d, dword [r14]
lea rbx, [r14 + 4]
cmp rbx, r14
lea rdx, [0x140435c90]
mov rax, rsi
lea rcx, [0x140417890]
cmovae rax, rbx
mov qword [rsp + 0x68], rax
call fcn.1400ec0c8
cmp rbx, r14
mov r10d, 0xc0000095
sbb edi, edi
and edi, r10d
cmp rbx, r14
jb 0x1400e9d1a
xor r14d, r14d
mov dword [rbp + 0x1c], r13d
test r13d, r13d
mov eax, r14d
cmovne rax, qword [rsp + 0x68]
mov qword [rbp + 0x138], rax
jmp 0x1400e9d28
mov r13d, dword [rbp + 0x1c]
xor r14d, r14d
mov rax, qword [rbp + 0x138]
test edi, edi
js 0x1400e74dd
cmp r13d, 8
jne 0x1400e7e9e
mov rax, qword [rax]
mov qword [rbp + 0x140], rax
test edi, edi
js 0x1400e74dd
mov rax, qword [rbp + 0x140]
cmp qword [rbp + 0x58], rax
jne 0x1400e9be8
cmp qword [rbp - 0x68], r14
jne 0x1400e9d6d
mov edi, 0xc000000d
jmp 0x1400e74dd
mov rdx, qword [rbp - 0x68]
mov r9d, r14d
lea rax, [rdx + 4]
mov r8, rsi
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, r10d
cmp rax, rdx
jb 0x1400e9dda
mov ecx, dword [rdx]
mov rdx, rsi
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, r10d
cmp rcx, r8
jb 0x1400e9dda
inc r9d
cmp r9d, 2
jb 0x1400e9d74
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rsi, rax
sbb edi, edi
and edi, r10d
cmp rax, rdx
jb 0x1400e9dda
test ecx, ecx
mov dword [rbp + 0x20], ecx
mov rax, r14
cmovne rax, rsi
mov qword [rbp + 0x148], rax
jmp 0x1400e9de4
mov ecx, dword [rbp + 0x20]
mov rax, qword [rbp + 0x148]
test edi, edi
js 0x1400e74dd
cmp ecx, 0x10
je 0x1400e9dfb
mov edi, 0x8007000d
jmp 0x1400e74dd
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1a0], xmm0
jmp 0x1400e9e0e
mov r15d, dword [rbp - 0x7c]
xor r14d, r14d
test edi, edi
js 0x1400e74dd
test r15d, r15d
cmovne edi, r15d
jmp 0x1400e74dd