Function at 0x1400e144c
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 - 0x230]
sub rsp, 0x330
mov rax, qword [0x140418d28]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov rbx, r8
lea rcx, [rbp + 0x190]
mov rsi, rdx
mov r8d, 0x82
xor edx, edx
call sub.msvcrt.dll_memset
xor r14d, r14d
lea rdx, [rsp + 0x48]
mov rcx, rbx
mov qword [rbp + 0x40], r14
call fcn.1400754e8
mov edi, eax
test eax, eax
jns 0x1400e14bc
mov ecx, eax
call fcn.140078308
jmp 0x1400e414e
cmp dword [rsp + 0x48], r14d
je 0x1400e414e
mov rax, qword [rsi]
mov rbx, qword [rax + 0x30]
mov rcx, rbx
call qword [0x1403a2250]
lea r8, [rbp + 0x158]
mov rcx, rsi
lea rdx, str.SppBindingSkuId
call rbx
mov edi, eax
test eax, eax
js 0x1400e14b0
cmp dword [rbp + 0x160], 2
je 0x1400e1502
mov edi, 0x8007070c
mov ecx, edi
jmp 0x1400e14b2
mov rcx, qword [rbp + 0x168]
lea r8, [rbp + 0x40]
lea rdx, str.SppPkeyBindingPid4
call fcn.1400e4c3c
mov edi, eax
test eax, eax
js 0x1400e14b0
mov rax, qword [rbp + 0x40]
lea r9, [rbp + 0x190]
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], 0x41
mov rcx, qword [rax + 0x10]
add rcx, 0x378
call fcn.14019857c
mov edi, eax
test eax, eax
js 0x1400e14b0
xor eax, eax
mov qword [rbp + 0x80], r14
mov qword [rsp + 0x20], rax
mov ebx, 0xa0
mov qword [rsp + 0x28], rax
mov r13, r14
mov qword [rbp - 0x78], rax
mov edi, r14d
mov qword [rbp - 0x70], rax
mov r12d, r14d
lea rax, [0x140418e40]
mov qword [rbp + 8], r14
mov qword [rbp + 0x90], rax
mov dword [rsp + 0x4c], r14d
mov dword [rsp + 0x68], r14d
mov dword [rbp - 0x5c], r14d
mov dword [rbp - 0x68], r14d
mov qword [rbp + 0x88], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r15d, 8
mov r8d, ebx
mov rcx, rax
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
or r10d, 0xffffffff
lea r14d, [r15 - 4]
xor r11d, r11d
mov rbx, rax
mov esi, 0xc0000095
test rax, rax
jne 0x1400e15e0
lea ebx, [rsi - 0x7e]
jmp 0x1400e1719
mov r8, qword [rbp + 0x88]
mov rcx, rbx
mov rdx, qword [rbp + 0x90]
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp + 0x88]
mov r13, rbx
mov qword [rbp + 0x80], rbx
lea rax, [0x140418d80]
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x98], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
mov rbx, rax
test rax, rax
jne 0x1400e1646
mov ebx, 0xc0000017
or r10d, 0xffffffff
jmp 0x1400e1719
mov r8, qword [rbp + 0x60]
mov rcx, rbx
mov rdx, qword [rbp + 0x98]
call sub.msvcrt.dll_memcpy
mov r12, qword [rbp + 0x60]
mov qword [rbp + 8], rbx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x38], rax
lea ecx, [rdi + 4]
or r10d, 0xffffffff
cmp ecx, r14d
mov eax, r10d
mov edx, r15d
cmovae eax, ecx
sbb ebx, ebx
and ebx, esi
cmp ecx, r14d
cmovae edx, eax
mov dword [rbp - 0x68], edx
jb 0x1400e1716
lea eax, [rdx + 8]
mov r9d, r10d
cmp eax, r15d
cmovae r9d, eax
sbb ebx, ebx
and ebx, esi
add ebx, 0x10000000
cmp eax, r15d
jb 0x1400e1716
lea ecx, [r12 + 4]
mov eax, r10d
cmp ecx, r14d
cmovae eax, ecx
sbb ebx, ebx
and ebx, esi
cmp ecx, r14d
cmovae edx, eax
mov dword [rbp - 0x68], edx
jb 0x1400e1716
lea eax, [r9 + rdx]
mov r8d, r10d
cmp eax, r9d
cmovae r8d, eax
sbb ebx, ebx
and ebx, esi
add ebx, 0x10000000
cmp eax, r9d
jb 0x1400e1716
mov dword [rbp - 0x68], SafeArrayGetDim
mov eax, dword [rsp + 0x4c]
lea edx, [r8 + 0xc]
cmp edx, r8d
mov ecx, r10d
cmovae ecx, edx
sbb ebx, ebx
and ebx, esi
add ebx, 0x10000000
cmp edx, r8d
cmovae eax, ecx
mov dword [rsp + 0x4c], eax
xor r11d, r11d
test ebx, ebx
js 0x1400e40a9
mov dword [rsp + 0x68], r15d
mov eax, dword [rsp + 0x4c]
lea r8d, [rax + 8]
cmp r8d, eax
jb 0x1400e173f
mov dword [rsp + 0x4c], r8d
mov ebx, 0x10000000
jmp 0x1400e174c
mov r8d, r10d
mov dword [rsp + 0x4c], r10d
mov ebx, 0xd0000095
test ebx, ebx
js 0x1400e40a9
mov r15d, 0x7fffffff
lea rax, [rbp + 0x190]
mov ecx, r15d
cmp word [rax], r11w
je 0x1400e1774
add rax, 2
sub rcx, 1
jne 0x1400e1764
test rcx, rcx
je 0x1400e1781
mov rax, r15
sub rax, rcx
jmp 0x1400e1784
mov rax, r11
test rcx, rcx
jne 0x1400e1795
mov qword [rbp + 0xa0], r11
jmp 0x1400e1fa7
inc rax
mov edx, 8
mov qword [rbp + 0xa0], rax
lea ecx, [rax*2 + 4]
mov eax, r10d
cmp ecx, r14d
cmovae eax, ecx
sbb ebx, ebx
and ebx, esi
cmp ecx, r14d
cmovae edx, eax
mov dword [rsp + 0x68], edx
jb 0x1400e40a9
lea r9d, [rdx + r8]
cmp r9d, r8d
mov r8d, 0xd0000095
jb 0x1400e17e3
mov dword [rsp + 0x4c], r9d
mov ebx, 0x10000000
jmp 0x1400e17ee
mov r9d, r10d
mov dword [rsp + 0x4c], r10d
mov ebx, r8d
test ebx, ebx
js 0x1400e40a9
mov rcx, r15
lea rax, [0x1403a8ac8]
cmp word [rax], r11w
je 0x1400e1810
add rax, 2
sub rcx, 1
jne 0x1400e1800
test rcx, rcx
je 0x1400e181d
mov rax, r15
sub rax, rcx
jmp 0x1400e1820
mov rax, r11
test rcx, rcx
jne 0x1400e1831
mov qword [rbp + 0xa8], r11
jmp 0x1400e1fa7
inc rax
mov qword [rbp + 0xa8], rax
lea ecx, [rax*2 + 4]
mov eax, r10d
cmp ecx, r14d
cmovae eax, ecx
sbb ebx, ebx
and ebx, esi
cmp ecx, r14d
cmovae edx, eax
mov dword [rsp + 0x68], edx
jb 0x1400e40a9
lea ecx, [rdx + r9]
cmp ecx, r9d
jb 0x1400e186f
mov ebx, 0x10000000
jmp 0x1400e1875
mov ecx, r10d
mov ebx, r8d
mov dword [rsp + 0x4c], ecx
test ebx, ebx
js 0x1400e40a9
mov dword [rsp + 0x68], r14d
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400e1894
mov ebx, 0x10000000
jmp 0x1400e189a
mov eax, r10d
mov ebx, r8d
mov dword [rsp + 0x4c], eax
test ebx, ebx
js 0x1400e40a9
mov dword [rsp + 0x68], 8
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x1400e18bc
mov ebx, 0x10000000
jmp 0x1400e18c2
mov ecx, r10d
mov ebx, r8d
mov dword [rsp + 0x4c], ecx
test ebx, ebx
js 0x1400e40a9
mov dword [rsp + 0x24], ecx
mov ebx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
mov rdx, rax
test rax, rax
jne 0x1400e1900
mov ebx, 0xc0000017
jmp 0x1400e40a9
mov qword [rsp + 0x28], rdx
mov esi, r11d
mov dword [rsp + 0x20], r11d
mov dword [rbp + 0x48], 0x6d
add rax, r14
mov r9d, 0xc0000095
or r14, 0xffffffffffffffff
cmp rax, rdx
mov r8, r14
cmovae r8, rax
sbb ebx, ebx
and ebx, r9d
cmp rax, rdx
jb 0x1400e195f
mov ecx, dword [rsp + 0x24]
lea rax, [rdx + 8]
add rcx, rdx
cmp rax, rcx
ja 0x1400e1d9c
mov dword [rdx], 4
mov eax, dword [rbp + 0x48]
mov dword [r8], eax
mov esi, dword [rsp + 0x20]
inc esi
mov dword [rsp + 0x20], esi
test ebx, ebx
js 0x1400e40a9
test r13, r13
jne 0x1400e197a
test edi, edi
je 0x1400e197e
mov ebx, 0xc000000d
jmp 0x1400e1a94
test edi, edi
je 0x1400e1970
cmp qword [rsp + 0x28], r11
jne 0x1400e19ca
mov edx, dword [rbp - 0x64]
lea ecx, [rdi + 4]
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, r9d
cmp ecx, 4
cmovae edx, eax
mov dword [rbp - 0x64], edx
jb 0x1400e1a94
mov eax, dword [rsp + 0x24]
lea edi, [rdx + rax]
cmp edi, eax
jb 0x1400e19c2
inc esi
mov dword [rsp + 0x24], edi
mov dword [rsp + 0x20], esi
jmp 0x1400e1aa0
mov ebx, r9d
jmp 0x1400e40a9
mov r8, qword [rsp + 0x28]
mov r10d, r11d
test esi, esi
je 0x1400e1a36
mov r9d, dword [rbp - 0x64]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp - 0x64], r9d
jb 0x1400e1a91
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r14
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x1400e1a91
inc r10d
cmp r10d, esi
jb 0x1400e19da
xor r11d, r11d
lea rax, [r8 + 4]
mov r9, r14
cmp rax, r8
cmovae r9, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, r8
jb 0x1400e1a94
mov ecx, dword [rsp + 0x24]
add rcx, qword [rsp + 0x28]
mov edx, edi
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
ja 0x1400e1d9c
mov dword [r8], edi
test r13, r13
je 0x1400e1a85
mov r8d, edx
mov rcx, r9
mov rdx, r13
call sub.msvcrt.dll_memcpy
xor r11d, r11d
mov esi, dword [rsp + 0x20]
inc esi
mov dword [rsp + 0x20], esi
jmp 0x1400e1a94
xor r11d, r11d
test ebx, ebx
js 0x1400e40a9
mov edi, dword [rsp + 0x24]
mov r11, qword [rbp + 8]
xor r13d, r13d
test r11, r11
jne 0x1400e1afc
test r12d, r12d
je 0x1400e1b01
mov ebx, 0xc000000d
mov r13d, 0xc0000095
xor r11d, r11d
test ebx, ebx
js 0x1400e40a9
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x68], rax
cmp qword [rsp + 0x28], r11
jne 0x1400e1c28
mov dword [rbp - 0x14], SafeArrayGetDim
lea eax, [rdi + 0xc]
cmp eax, edi
jb 0x1400e222b
mov edi, eax
mov dword [rbp - 0x30], 3
inc esi
jmp 0x1400e1cef
test r12d, r12d
je 0x1400e1ab1
cmp qword [rsp + 0x28], r13
jne 0x1400e1b4f
mov edx, dword [rbp - 0x60]
lea ecx, [r12 + 4]
or eax, 0xffffffff
mov r13d, 0xc0000095
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, 4
cmovae edx, eax
mov dword [rbp - 0x60], edx
jb 0x1400e1abc
lea eax, [rdx + rdi]
cmp eax, edi
jb 0x1400e1b47
mov edi, eax
inc esi
mov rax, qword [rbp + 0x38]
xor r11d, r11d
mov qword [rbp + 0x68], rax
jmp 0x1400e1ada
mov ebx, r13d
jmp 0x1400e40a6
mov r8, qword [rsp + 0x28]
mov r10d, r13d
test esi, esi
je 0x1400e1bc0
mov r9d, dword [rbp - 0x60]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp - 0x60], r9d
jb 0x1400e1ab6
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r14
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x1400e1ab6
inc r10d
cmp r10d, esi
jb 0x1400e1b5f
mov r11, qword [rbp + 8]
lea rax, [r8 + 4]
mov r9, r14
cmp rax, r8
cmovae r9, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, r8
jb 0x1400e1ab6
mov edx, r12d
mov ecx, edi
add rcx, qword [rsp + 0x28]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x1400e1bff
mov ebx, 0xc0000023
jmp 0x1400e40a6
mov dword [r8], r12d
test r11, r11
je 0x1400e1c15
mov r8, rdx
mov rcx, r9
mov rdx, r11
call sub.msvcrt.dll_memcpy
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
inc esi
mov dword [rsp + 0x20], esi
jmp 0x1400e1ab6
mov r8, qword [rsp + 0x28]
mov r10d, r11d
test esi, esi
je 0x1400e1c8a
mov r9d, dword [rbp - 0x14]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp - 0x14], r9d
jb 0x1400e1cd6
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r14
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb ebx, ebx
and ebx, r13d
cmp rdx, rcx
jb 0x1400e1cd6
inc r10d
cmp r10d, esi
jb 0x1400e1c38
xor r11d, r11d
lea rax, [r8 + 4]
mov rdx, r14
cmp rax, r8
cmovae rdx, rax
sbb ebx, ebx
and ebx, r13d
cmp rax, r8
jb 0x1400e1cd9
mov ecx, edi
lea rax, [r8 + 0xc]
add rcx, qword [rsp + 0x28]
cmp rax, rcx
ja 0x1400e1d9c
mov dword [r8], 8
movsd xmm0, qword [rbp + 0x68]
movsd qword [rdx], xmm0
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
inc esi
mov dword [rsp + 0x20], esi
jmp 0x1400e1cd9
xor r11d, r11d
test ebx, ebx
js 0x1400e40a9
mov dword [rbp - 0x30], 3
cmp qword [rsp + 0x28], r11
jne 0x1400e1d12
mov dword [rbp], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x1400e222b
inc esi
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x20], esi
mov edi, eax
jmp 0x1400e1dcd
mov r8, qword [rsp + 0x28]
mov r10d, r11d
test esi, esi
je 0x1400e1d74
mov r9d, dword [rbp]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp], r9d
jb 0x1400e1dc2
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r14
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb ebx, ebx
and ebx, r13d
cmp rdx, rcx
jb 0x1400e1dc2
inc r10d
cmp r10d, esi
jb 0x1400e1d22
xor r11d, r11d
lea rax, [r8 + 4]
mov rdx, r14
cmp rax, r8
cmovae rdx, rax
sbb ebx, ebx
and ebx, r13d
cmp rax, r8
jb 0x1400e1dc5
mov ecx, edi
lea rax, [r8 + 8]
add rcx, qword [rsp + 0x28]
cmp rax, rcx
jbe 0x1400e1da6
mov ebx, 0xc0000023
jmp 0x1400e40a9
mov dword [r8], 4
mov eax, dword [rbp - 0x30]
mov dword [rdx], eax
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
inc esi
mov dword [rsp + 0x20], esi
jmp 0x1400e1dc5
xor r11d, r11d
test ebx, ebx
js 0x1400e40a9
mov rax, r15
lea rcx, [rbp + 0x190]
cmp word [rcx], r11w
je 0x1400e1de7
add rcx, 2
sub rax, 1
jne 0x1400e1dd7
test rax, rax
je 0x1400e1df4
mov rcx, r15
sub rcx, rax
jmp 0x1400e1df7
mov rcx, r11
test rax, rax
jne 0x1400e1e08
mov qword [rbp + 0xb0], r11
jmp 0x1400e1fa7
lea rax, [rcx + 1]
mov rdx, r14
cmp rax, rcx
mov r12d, 0xc0000023
cmovae rdx, rax
sbb ebx, ebx
and ebx, r13d
mov qword [rbp + 0xb0], rdx
cmp rax, rcx
jb 0x1400e1f6c
lea r10d, [rdx + rdx]
test r10d, r10d
je 0x1400e1f5c
cmp qword [rsp + 0x28], r11
jne 0x1400e1e98
mov edx, dword [rbp - 0x40]
lea ecx, [r10 + 4]
or r8d, 0xffffffff
cmp ecx, 4
mov eax, r8d
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, 4
cmovae edx, eax
mov dword [rbp - 0x40], edx
jb 0x1400e1f6c
lea eax, [rdx + rdi]
cmp eax, edi
jb 0x1400e1e88
inc esi
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x20], esi
mov edi, eax
mov ebx, r11d
jmp 0x1400e1f6c
mov edi, r8d
mov dword [rsp + 0x24], r8d
mov ebx, r13d
jmp 0x1400e1f6c
mov r8, qword [rsp + 0x28]
test esi, esi
je 0x1400e1f04
mov r9d, dword [rbp - 0x40]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r13, r8
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp - 0x40], r9d
jb 0x1400e1f63
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r14
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x1400e1f63
inc r11d
cmp r11d, esi
jb 0x1400e1ea5
mov r13d, 0xc0000095
lea rax, [r8 + 4]
mov r9, r14
cmp rax, r8
cmovae r9, rax
sbb ebx, ebx
and ebx, r13d
cmp rax, r8
jb 0x1400e1f69
mov ecx, edi
lea rax, [r10 + 4]
add rcx, qword [rsp + 0x28]
add rax, r8
mov edx, r10d
cmp rax, rcx
jbe 0x1400e1f37
mov ebx, r12d
jmp 0x1400e1f69
mov dword [r8], r10d
mov rcx, r9
mov r8, rdx
lea rdx, [rbp + 0x190]
call sub.msvcrt.dll_memcpy
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
inc esi
mov dword [rsp + 0x20], esi
jmp 0x1400e1f69
mov ebx, 0xc000000d
jmp 0x1400e1f6c
mov r13d, 0xc0000095
xor r11d, r11d
test ebx, ebx
js 0x1400e40a9
mov rax, r15
lea rcx, [0x1403a8ac8]
cmp word [rcx], r11w
je 0x1400e1f8e
add rcx, 2
sub rax, 1
jne 0x1400e1f7e
test rax, rax
je 0x1400e1f98
sub r15, rax
jmp 0x1400e1f9b
mov r15, r11
test rax, rax
jne 0x1400e1fb1
mov qword [rbp + 0xb8], r11
mov ebx, 0xc000003e
jmp 0x1400e40a9
lea rax, [r15 + 1]
mov rcx, r14
cmp rax, r15
cmovae rcx, rax
sbb ebx, ebx
and ebx, r13d
mov qword [rbp + 0xb8], rcx
cmp rax, r15
jb 0x1400e2126
lea r13d, [rcx + rcx]
test r13d, r13d
je 0x1400e211b
cmp qword [rsp + 0x28], r11
jne 0x1400e2041
mov edx, dword [rbp - 0x50]
lea ecx, [r13 + 4]
or r8d, 0xffffffff
mov r13d, 0xc0000095
cmp ecx, 4
mov eax, r8d
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, 4
cmovae edx, eax
mov dword [rbp - 0x50], edx
jb 0x1400e2126
lea eax, [rdx + rdi]
cmp eax, edi
jb 0x1400e2031
inc esi
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x20], esi
mov edi, eax
mov ebx, r11d
jmp 0x1400e2126
mov edi, r8d
mov dword [rsp + 0x24], r8d
mov ebx, r13d
jmp 0x1400e2126
mov r15, qword [rsp + 0x28]
lea rdx, [0x1404193b4]
lea rcx, [0x1404001f4]
call fcn.1400e6704
xor r11d, r11d
mov r9d, r11d
test esi, esi
je 0x1400e20c0
mov r8d, dword [rbp - 0x50]
mov ecx, dword [r15]
or eax, 0xffffffff
add ecx, 4
mov r10, r15
cmp ecx, 4
cmovae eax, ecx
sbb ebx, ebx
and ebx, 0xc0000095
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp - 0x50], r8d
jb 0x1400e2120
mov rcx, r15
mov edx, r8d
add rdx, r15
mov rax, r14
cmp rdx, r15
cmovae rax, rdx
cmp rdx, rcx
mov r15, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x1400e2120
inc r9d
cmp r9d, esi
jb 0x1400e2067
lea rax, [r15 + 4]
mov r9, r14
cmp rax, r15
cmovae r9, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, r15
jb 0x1400e2120
mov ecx, edi
lea rax, [r13 + 4]
add rcx, qword [rsp + 0x28]
add rax, r15
mov r8d, r13d
cmp rax, rcx
jbe 0x1400e20f6
mov ebx, r12d
jmp 0x1400e2120
lea rdx, [0x1403a8ac8]
mov dword [r15], r13d
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
inc esi
mov dword [rsp + 0x20], esi
xor r11d, r11d
jmp 0x1400e2120
mov ebx, 0xc000000d
mov r13d, 0xc0000095
test ebx, ebx
js 0x1400e40a9
cmp qword [rsp + 0x28], r11
jne 0x1400e2157
mov dword [rbp - 0x28], 4
lea eax, [rdi + 4]
cmp eax, edi
jb 0x1400e222b
mov edi, eax
mov dword [rbp - 0x20], 2
inc esi
jmp 0x1400e220c
mov r8, qword [rsp + 0x28]
mov r10d, r11d
mov r15d, 4
test esi, esi
je 0x1400e21bf
mov r9d, dword [rbp - 0x28]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, r15d
mov r11, r8
cmp ecx, r15d
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, r15d
cmovae r9d, eax
mov dword [rbp - 0x28], r9d
jb 0x1400e21f3
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r14
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb ebx, ebx
and ebx, r13d
cmp rdx, rcx
jb 0x1400e21f3
inc r10d
cmp r10d, esi
jb 0x1400e216d
xor r11d, r11d
lea rcx, [r8 + 4]
cmp rcx, r8
sbb ebx, ebx
and ebx, r13d
cmp rcx, r8
jb 0x1400e21f6
mov eax, edi
add rax, qword [rsp + 0x28]
cmp rcx, rax
ja 0x1400e3fbd
mov dword [r8], r11d
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
inc esi
mov dword [rsp + 0x20], esi
jmp 0x1400e21f6
xor r11d, r11d
test ebx, ebx
js 0x1400e40a9
mov dword [rbp - 0x20], 2
cmp qword [rsp + 0x28], r11
jne 0x1400e2233
mov dword [rbp - 0x24], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x1400e222b
inc esi
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x20], esi
mov edi, eax
jmp 0x1400e22e4
mov ebx, r13d
jmp 0x1400e40a9
mov r8, qword [rsp + 0x28]
mov r10d, r11d
test esi, esi
je 0x1400e2295
mov r9d, dword [rbp - 0x24]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, r15d
cmovae eax, ecx
sbb ebx, ebx
and ebx, r13d
cmp ecx, r15d
cmovae r9d, eax
mov dword [rbp - 0x24], r9d
jb 0x1400e22d9
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r14
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb ebx, ebx
and ebx, r13d
cmp rdx, rcx
jb 0x1400e22d9
inc r10d
cmp r10d, esi
jb 0x1400e2243
xor r11d, r11d
lea rax, [r8 + 4]
mov rdx, r14
cmp rax, r8
cmovae rdx, rax
sbb ebx, ebx
and ebx, r13d
cmp rax, r8
jb 0x1400e22dc
mov ecx, edi
lea rax, [r8 + 8]
add rcx, qword [rsp + 0x28]
cmp rax, rcx
ja 0x1400e3fbd
mov dword [r8], r15d
mov eax, dword [rbp - 0x20]
mov dword [rdx], eax
mov esi, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
inc esi
mov dword [rsp + 0x20], esi
jmp 0x1400e22dc
xor r11d, r11d
test ebx, ebx
js 0x1400e40a9
mov dword [rbp + SafeArrayGetDim0], 0xc
mov dword [rsp + 0x68], SafeArrayGetElement
mov r9, r11
mov qword [rbp - 0x80], r11
mov r8d, r11d
mov dword [rsp + 0x38], r11d
mov qword [rbp + 0x18], r11
mov r13, r11
mov qword [rsp + 0x70], r11
mov dword [rsp + 0x48], r11d
mov qword [rbp + 0x10], r11
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x50], r11
mov qword [rbp + 0x30], r11
mov dword [rsp + 0x78], r11d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x70], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
mov r15d, 0xc0000095
cmovae ecx, eax
sbb edi, edi
and edi, r15d
mov dword [rbp - 0x54], ecx
cmp eax, 8
jb 0x1400e2447
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x1400e2372
mov edi, r15d
jmp 0x1400e2447
mov dword [rbp - 0x54], 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]
xor r11d, r11d
mov rbx, rax
test rax, rax
jne 0x1400e23a9
mov edi, 0xc0000017
mov r8d, r13d
mov r9, r13
jmp 0x1400e2443
mov eax, dword [rsp + 0x20]
mov rdx, r14
mov dword [rbx], eax
lea rax, [rbx + 4]
cmp rax, rbx
cmovae rdx, rax
sbb edi, edi
and edi, r15d
cmp rax, rbx
jb 0x1400e2418
mov eax, dword [rsp + 0x24]
mov rcx, r14
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, r15d
cmp rax, rdx
jb 0x1400e2418
mov edx, dword [rbp - 0x54]
mov rax, qword [rbp + 0x70]
mov qword [rdx + rbx - 8], rax
mov r8d, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x28]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp - 0x54]
xor r11d, r11d
mov r9, rbx
mov qword [rbp - 0x80], rbx
mov ebx, r11d
mov dword [rsp + 0x38], r8d
jmp 0x1400e241e
mov r9, r13
mov r8d, r13d
test rbx, rbx
je 0x1400e2443
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rsp + 0x38]
xor r11d, r11d
mov r9, qword [rbp - 0x80]
mov esi, dword [rsp + 0x20]
or edi, 0x10000000
jl 0x1400e3ed8
mov qword [rbp + 0xd0], r11
mov r15, r11
mov qword [rbp + 0xd8], r11
mov qword [rbp + 0xe0], r11
mov qword [rbp + 0xe8], r11
mov qword [rbp + 0x28], r11
mov qword [rbp + 0xc8], r11
mov qword [rbp - 0x10], r11
test r9, r9
jne 0x1400e2490
mov edi, 0xc000000d
jmp 0x1400e2c23
mov edi, r8d
test r8d, r8d
je 0x1400e2b67
lea rbx, [rdi + 8]
mov qword [rbp - 0x48], 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 rsi, rax
test rax, rax
je 0x1400e2b63
mov r9, qword [rbp - 0x80]
mov dl, r11b
mov ecx, r11d
test rdi, rdi
je 0x1400e24e6
xor dl, byte [rcx + r9]
inc rcx
cmp rcx, rdi
jb 0x1400e24da
xor ecx, ecx
mov ebx, r11d
or r11d, 0xffffffff
mov dword [rsp + 0x44], ebx
mov r8, rdi
mov dword [rsp + 0x34], r11d
mov dword [rsp + 0x38], ecx
mov r10, rax
mov dword [rsp + 0x40], ecx
and r8d, 7
je 0x1400e25f1
xor r11d, r11d
mov dword [rsp + 0x38], ecx
mov eax, r11d
mov dword [rsp + 0x40], eax
test r8d, r8d
jle 0x1400e256d
lea r11d, [rcx + 0x38]
mov r13d, eax
movzx eax, byte [r9]
cmp ebx, 4
jge 0x1400e2542
lea ecx, [r11 - 0x20]
shl eax, cl
mov ecx, dword [rsp + 0x38]
or r13d, eax
jmp 0x1400e2551
mov ecx, r11d
shl eax, cl
mov ecx, dword [rsp + 0x38]
or ecx, eax
mov dword [rsp + 0x38], ecx
inc ebx
sub r11d, 8
inc r9
cmp ebx, r8d
jl 0x1400e252a
mov dword [rsp + 0x40], r13d
mov eax, dword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
mov ebx, eax
mov r11d, ecx
xor ebx, 0xd04a94a
xor r11d, 0xb7faa653
xor ecx, ecx
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x34], r11d
mov eax, ecx
test r8d, r8d
jle 0x1400e25b8
cmp eax, 4
jge 0x1400e259e
rol ebx, 8
mov byte [r10], bl
jmp 0x1400e25a5
rol r11d, 8
mov byte [r10], r11b
inc eax
inc r10
cmp eax, r8d
jl 0x1400e2591
mov ebx, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x34]
lea eax, [r8 - 4]
test eax, eax
jle 0x1400e25d7
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x34], r11d
jmp 0x1400e25f1
mov dword [rsp + 0x34], ecx
mov r11d, ecx
test eax, eax
jns 0x1400e25f1
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x44], ebx
mov rax, rdi
shr rax, 3
test rax, rax
je 0x1400e2938
mov r13d, dword [rsp + 0x38]
lea r15, [r10 + 7]
mov r12d, dword [rsp + 0x40]
lea rsi, [r9 + 2]
mov r14, rax
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
mov eax, r11d
ror eax, 4
xor eax, 0xc445
imul eax, eax, 0x3bbd
xor eax, r10d
xor ebx, eax
lea eax, [rbx - 0x6cd8727c]
ror eax, 8
imul ecx, eax, 0x3bbd
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x3bbdc445
ror eax, 0xe
imul ecx, eax, 0x8d84
mov eax, r11d
rol eax, 0xb
xor ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x3bbdc445]
ror eax, 0xd
imul ecx, eax, 0x9327
mov eax, ebx
rol eax, 4
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x8d84
imul ecx, eax, 0xc445
mov eax, r11d
shr eax, 6
xor ecx, eax
xor ebx, ecx
mov eax, ebx
mov r8d, ebx
xor eax, 0x8d84
ror r8d, 0xc
imul ecx, eax, 0x3bbd
xor r8d, ecx
xor r11d, r8d
mov eax, r11d
ror eax, 9
sub eax, 0x8d84
imul eax, eax, 0xc445
xor ebx, eax
mov eax, ebx
mov r8d, ebx
xor eax, 0xc445
ror r8d, 0xa
imul ecx, eax, 0x9327
add r8d, ecx
xor r11d, r8d
mov eax, r11d
xor eax, 0x93278d84
ror eax, 0xd
imul ecx, eax, 0xc445
mov eax, r11d
rol eax, 0xa
add ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x9327
imul ecx, eax, 0x3bbd
mov eax, ebx
shr eax, 0xf
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x3bbd
rol eax, 6
imul ecx, eax, 0x8d84
mov eax, r11d
shr eax, 5
add ecx, eax
lea eax, [r11 - 0x8d84]
rol eax, 3
xor ebx, ecx
imul ecx, eax, 0xc445
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor ebx, ecx
imul ecx, ebx, 0x3bbd
mov eax, ebx
shr eax, 0xd
sub ecx, eax
mov eax, 0x3bbdc445
sub ecx, 0x2105e674
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0x8d84
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x3bbe576c]
xor r11d, eax
mov eax, r11d
mov r8d, r11d
xor eax, 0x3bbd
ror r8d, 7
imul ecx, eax, 0xc445
sub ecx, r8d
mov r8d, 0x93278d84
xor ebx, ecx
mov eax, ebx
xor eax, 0x9327
rol eax, 4
imul ecx, eax, 0x3bbd
mov eax, ebx
ror eax, 0x10
sub ecx, eax
mov eax, 0x3bbdc445
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0x8d84
mov eax, r11d
ror eax, 4
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x3bbdc445]
ror eax, 4
imul ecx, eax, 0x9327
mov eax, ebx
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, r8d
rol eax, 8
imul ecx, eax, 0xc445
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, r8d
xor ebx, ecx
sub eax, ebx
ror eax, 0xb
imul ecx, eax, 0x3bbd
mov eax, ebx
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x3bbd
imul ecx, eax, 0x8d84
mov eax, r11d
shr eax, 8
xor ecx, eax
xor ebx, ecx
xor r11d, ebx
xor ebx, r12d
mov dword [rsp + 0x44], ebx
xor r13d, r11d
xor r13d, 0xa89a49c1
mov r12d, r10d
mov dword [rsp + 0x34], r13d
mov r13d, r9d
mov byte [r15 - 4], bl
mov al, byte [rsp + 0x34]
ror dword [rsp + 0x44], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rsp + 0x34], 8
mov al, byte [rsp + 0x44]
mov byte [r15 - 0xd], al
mov al, byte [rsp + 0x34]
ror dword [rsp + 0x44], 8
mov byte [r15 - 9], al
ror dword [rsp + 0x34], 8
mov al, byte [rsp + 0x44]
mov byte [r15 - 0xe], al
ror dword [rsp + 0x44], 8
mov al, byte [rsp + 0x34]
mov byte [r15 - 0xa], al
ror dword [rsp + 0x34], 8
mov al, byte [rsp + 0x44]
mov byte [r15 - 0xf], al
mov al, byte [rsp + 0x34]
mov byte [r15 - 0xb], al
mov ebx, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x34]
ror ebx, 8
ror r11d, 8
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x34], r11d
sub r14, 1
jne 0x1400e2616
mov r15, qword [rbp - 0x10]
or r14, 0xffffffffffffffff
mov r13, qword [rsp + 0x50]
mov r12d, 0xc0000023
mov rsi, qword [rbp - 8]
movzx eax, dl
mov qword [rsi + rdi], rax
lea rax, [rdi + 8]
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0x28], rsi
lea rax, [0x140418e30]
mov ebx, 8
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rbx
lea rdi, [0x140418d90]
mov qword [rbp + 0xe8], 0xa0
mov qword [rbp + 0xe0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [rbx + 0x28]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
mov rbx, rax
test rax, rax
jne 0x1400e29ab
mov edi, 0xc0000017
jmp 0x1400e2b52
mov rax, qword [rbp - 0x48]
mov dword [rbx], eax
mov eax, eax
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rsp + 0x60]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
jne 0x1400e29e3
mov edi, 0xc0000017
jmp 0x1400e2ab4
mov qword [rbx + 8], rax
mov r8, qword [rsp + 0x60]
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, 0xa0
mov dword [rbx + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov esi, 8
mov edx, esi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x1400e29d9
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [rdi]
lea ecx, [rsi + 0x78]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rdi + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rdi + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rdi + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm0, xmmword [rdi + 0x70]
movups xmmword [rax + rcx - 0x10], xmm0
movups xmm1, xmmword [rdi + rcx]
movups xmmword [rax + rcx], xmm1
movups xmm0, xmmword [rdi + rcx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm0
mov dword [rbx + 0x20], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, esi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x1400e29d9
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x140418e30]
mov r15, rbx
movsd qword [rax], xmm0
mov edi, r11d
mov ebx, r11d
test rbx, rbx
je 0x1400e2b52
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x1400e2ae1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 8], r11
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x1400e2b05
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 0x18], r11
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x1400e2b3b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
lea rdx, [0x14041fd90]
mov qword [rbx + 0x28], rcx
lea rcx, [0x140401210]
call fcn.1400e63b8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov esi, dword [rsp + 0x20]
test edi, edi
js 0x1400e2b6c
mov qword [rbp + 0x18], r15
mov r15, r11
jmp 0x1400e2b6c
mov esi, dword [rsp + 0x20]
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x1400e2b94
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [rsp + 0x20]
xor r11d, r11d
mov qword [rbp + 0x28], r11
test r15, r15
je 0x1400e2c23
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400e2bc1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [r15 + 8], r11
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x1400e2be5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [r15 + 0x18], r11
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x1400e2c08
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
mov qword [r15 + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [rsp + 0x20]
xor r11d, r11d
or edi, 0x10000000
jl 0x1400e2fda
mov r15, qword [rbp + 0x18]
or r10d, 0xffffffff
mov ecx, r10d
mov ebx, 0xc0000095
mov eax, dword [r15]
mov r9d, dword [r15 + 0x20]
add eax, 4
mov r8d, dword [r15 + 0x10]
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
and edi, ebx
cmp eax, 4
jb 0x1400e2cb6
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, ebx
cmp eax, ecx
jb 0x1400e2cb6
lea eax, [rdx + r8]
mov ecx, r10d
cmp eax, edx
cmovae ecx, eax
sbb edi, edi
and edi, ebx
cmp eax, edx
jb 0x1400e2cb6
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, ebx
cmp eax, ecx
jb 0x1400e2cb6
mov r8d, dword [rbp - 0x58]
lea ecx, [rdx + r9]
cmp ecx, edx
mov eax, r10d
cmovae eax, ecx
sbb edi, edi
and edi, ebx
cmp ecx, edx
cmovae r8d, eax
mov dword [rbp - 0x58], r8d
jmp 0x1400e2cba
mov r8d, dword [rbp - 0x58]
test edi, edi
js 0x1400e2e1c
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]
xor r11d, r11d
mov rbx, rax
test rax, rax
jne 0x1400e2cf1
mov edi, 0xc0000017
jmp 0x1400e2e13
mov eax, dword [r15]
mov rsi, r14
mov dword [rbx], eax
lea rax, [rbx + 4]
cmp rax, rbx
cmovae rsi, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rbx
jb 0x1400e2df7
mov r8d, dword [r15]
mov rcx, rsi
mov rdx, qword [r15 + 8]
call sub.msvcrt.dll_memcpy
mov ecx, dword [r15]
mov rdx, r14
add rcx, rsi
mov r8d, 0xc0000095
cmp rcx, rsi
cmovae rdx, rcx
sbb edi, edi
and edi, r8d
cmp rcx, rsi
jb 0x1400e2df4
mov eax, dword [r15 + 0x10]
mov rsi, r14
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rsi, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x1400e2df4
mov r8d, dword [r15 + 0x10]
mov rcx, rsi
mov rdx, qword [r15 + 0x18]
call sub.msvcrt.dll_memcpy
mov ecx, dword [r15 + 0x10]
mov rdx, r14
add rcx, rsi
mov r8d, 0xc0000095
cmp rcx, rsi
cmovae rdx, rcx
sbb edi, edi
and edi, r8d
cmp rcx, rsi
jb 0x1400e2df4
mov eax, dword [r15 + 0x20]
mov rsi, r14
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rsi, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x1400e2df4
mov r8d, dword [r15 + 0x20]
mov rcx, rsi
mov rdx, qword [r15 + 0x28]
call sub.msvcrt.dll_memcpy
mov ecx, dword [r15 + 0x20]
add rcx, rsi
cmp rcx, rsi
sbb edi, edi
xor r11d, r11d
and edi, 0xc0000095
cmp rcx, rsi
jb 0x1400e2df7
mov eax, dword [rbp - 0x58]
mov qword [rsp + 0x70], rbx
mov ebx, r11d
mov dword [rsp + 0x48], eax
jmp 0x1400e2df7
xor r11d, r11d
test rbx, rbx
je 0x1400e2e13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov esi, dword [rsp + 0x20]
mov ebx, 0xc0000095
or edi, 0x10000000
jl 0x1400e2fda
mov qword [rbp + 0xf8], r11
mov r9d, r11d
mov dword [rbp + 0x50], r11d
mov r10d, r11d
mov qword [rbp + 0x100], r11
mov dword [rbp + 0x54], r11d
mov dword [rbp + 0xf0], 0x30
mov eax, 0x38
mov dword [rbp + 0xc4], eax
mov dword [rbp + 0x130], eax
cmp qword [rsp + 0x28], r11
jne 0x1400e2e70
mov edi, 0xc000000d
jmp 0x1400e31d1
cmp esi, 1
jbe 0x1400e2e66
mov rdx, qword [rsp + 0x28]
lea rax, [rdx + 4]
mov r8, r14
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, ebx
cmp rax, rdx
jb 0x1400e2ee9
mov ecx, dword [rdx]
mov rdx, r14
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, ebx
cmp rcx, r8
jb 0x1400e2ee9
inc r11d
cmp r11d, 1
jb 0x1400e2e7a
mov r8d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r14
cmovae rcx, rax
sbb edi, edi
and edi, ebx
xor r11d, r11d
cmp rax, rdx
jb 0x1400e2eec
test r8d, r8d
mov dword [rbp + 0x50], r8d
mov eax, r11d
mov r9d, r8d
cmovne rax, rcx
mov qword [rbp + 0xf8], rax
jmp 0x1400e2eec
xor r11d, r11d
test edi, edi
js 0x1400e2fda
cmp esi, 2
jbe 0x1400e2e66
mov rdx, qword [rsp + 0x28]
lea rax, [rdx + 4]
mov r8, r14
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, ebx
cmp rax, rdx
jb 0x1400e2f71
mov ecx, dword [rdx]
mov rdx, r14
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, ebx
cmp rcx, r8
jb 0x1400e2f71
inc r11d
cmp r11d, 2
jb 0x1400e2f02
mov r8d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r14
cmovae rcx, rax
sbb edi, edi
and edi, ebx
xor r11d, r11d
cmp rax, rdx
jb 0x1400e2f74
test r8d, r8d
mov dword [rbp + 0x54], r8d
mov eax, r11d
mov r10d, r8d
cmovne rax, rcx
mov qword [rbp + 0x100], rax
jmp 0x1400e2f74
xor r11d, r11d
test edi, edi
js 0x1400e2fda
lea eax, [r9 + 0x40]
or edx, 0xffffffff
cmp eax, 0x40
mov ecx, edx
cmovae ecx, eax
sbb edi, edi
and edi, ebx
cmp eax, 0x40
jb 0x1400e2fc2
lea eax, [rcx + 4]
mov r8d, edx
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, ebx
cmp eax, ecx
jb 0x1400e2fc2
lea ecx, [r8 + r10]
mov eax, edx
mov edx, dword [rbp - 0x18]
cmp ecx, r8d
cmovae eax, ecx
sbb edi, edi
and edi, ebx
cmp ecx, r8d
cmovae edx, eax
mov dword [rbp - 0x18], edx
jmp 0x1400e2fc5
mov edx, dword [rbp - 0x18]
test edi, edi
js 0x1400e2fda
cmp edx, 0x400000
jbe 0x1400e31cd
mov edi, 0x8000ffff
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x1400e2fff
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov r15, qword [rbp + 0x18]
test r15, r15
je 0x1400e3092
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400e3030
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [r15 + 8], r11
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x1400e3054
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [r15 + 0x18], r11
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x1400e3077
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
mov qword [r15 + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x18], r11
test rsi, rsi
je 0x1400e30ae
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov rbx, qword [rbp + 0x10]
test rbx, rbx
je 0x1400e30ce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
test r13, r13
je 0x1400e3159
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x1400e30fb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [r13 + 8], r11
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x1400e311f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [r13 + 0x18], r11
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x1400e3142
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
mov qword [r13 + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x1400e3179
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov ebx, edi
test edi, edi
js 0x1400e40a9
cmp dword [rbp - 0x78], 3
jne 0x1400e3fe4
mov esi, 0xc0000095
cmp qword [rbp - 0x70], r11
jne 0x1400e3ee0
mov ebx, 0xc000000d
mov r8d, dword [rbp - 0x5c]
test ebx, ebx
js 0x1400e40a9
mov ebx, r8d
test r8d, r8d
js 0x1400e40a9
cmp qword [rbp - 0x70], r11
jne 0x1400e3f39
mov ebx, 0xc000000d
jmp 0x1400e3fcf
mov dword [rsp + 0x58], edx
test edi, edi
js 0x1400e2fda
mov ebx, dword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
jne 0x1400e3207
mov r15, qword [rbp + 0x10]
mov edi, 0xd0000017
jmp 0x1400e3213
mov r15, rax
mov qword [rbp + 0x10], rax
mov edi, 0x10000000
mov rsi, qword [rsp + 0x70]
test edi, edi
js 0x1400e2fdf
test rsi, rsi
jne 0x1400e322f
mov edi, 0x80070057
jmp 0x1400e2fdf
test r15, r15
je 0x1400e3225
mov eax, dword [rsp + 0x48]
lea r8, [rbp + 0x108]
mov dword [rbp + 0x148], eax
lea rdx, [0x1403a8080]
mov eax, dword [rsp + 0x58]
mov ecx, 1
mov dword [rbp + 0x14c], eax
mov qword [rbp + 0x138], rsi
mov qword [rbp + 0x140], r15
mov dword [rbp + 0x150], r11d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400e329d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x1400e3297
mov edi, 0x80004005
mov esi, dword [rsp + 0x58]
jmp 0x1400e32ed
mov rcx, qword [rbp + 0x108]
lea rdx, [0x1403b22e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1400e327a
mov rcx, rax
call qword [0x1403a2250]
xor r9d, r9d
lea rdx, [rbp + 0x138]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov esi, dword [rsp + 0x58]
mov edi, eax
or edi, 0x10000000
cmovge esi, dword [rbp + 0x14c]
mov dword [rsp + 0x58], esi
xor r11d, r11d
cmp edi, 0xd0000023
jne 0x1400e3302
mov edi, 0x8007007a
jmp 0x1400e2fda
test edi, edi
js 0x1400e2fda
mov qword [rsp + 0x60], r11
mov ebx, 0xc000003e
cmp esi, 4
jae 0x1400e3320
mov edi, ebx
jmp 0x1400e340a
mov ecx, dword [r15]
lea rax, [r15 + 4]
mov rdx, qword [rbp + 0x10]
mov r15, r14
cmp rax, rdx
mov dword [rsp + 0x48], ecx
mov r8d, 0xc0000095
cmovae r15, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x1400e340a
lea eax, [rsi - 4]
cmp eax, ecx
jb 0x1400e3319
mov eax, ecx
mov qword [rbp - 8], rcx
add rax, r15
mov rcx, r14
cmp rax, r15
cmovae rcx, rax
sbb edi, edi
and edi, r8d
mov qword [rbp - 0x48], rcx
cmp rax, r15
jb 0x1400e340a
lea rdx, [0x1404190f0]
lea rcx, [0x1403fea08]
call fcn.1400e6a48
mov r9d, dword [rsp + 0x48]
or r11d, 0xffffffff
mov ecx, r11d
mov r8d, 0xc0000095
lea eax, [r9 + 4]
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
and edi, r8d
cmp eax, 4
jb 0x1400e3407
mov eax, esi
sub eax, ecx
cmp eax, 4
jae 0x1400e33bf
mov edi, ebx
jmp 0x1400e3407
mov rdx, qword [rbp - 0x48]
mov r13, r14
mov r10d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov dword [rsp + 0x40], r10d
cmovae r13, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x1400e3402
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r8d
cmp eax, ecx
jb 0x1400e3402
mov eax, esi
sub eax, edx
cmp eax, r10d
jae 0x1400e3434
mov edi, ebx
mov r13, qword [rsp + 0x50]
xor r11d, r11d
or edi, 0x10000000
jl 0x1400e2fda
mov qword [rbp - 0x38], r11
mov rsi, r11
mov qword [rbp + 0x78], r11
test r13, r13
jne 0x1400e3765
mov edi, 0xd000000d
jmp 0x1400e3cc3
mov rax, r10
mov rcx, r14
mov qword [rbp - 0x48], rax
add rax, r13
cmp rax, r13
cmovae rcx, rax
sbb edi, edi
and edi, r8d
cmp rax, r13
jb 0x1400e3402
lea eax, [r10 + rdx]
mov r8d, r11d
cmp eax, edx
cmovae r8d, eax
sbb edi, edi
and edi, 0xc0000095
cmp eax, edx
jb 0x1400e3402
mov eax, esi
sub eax, r8d
cmp eax, 4
jb 0x1400e3400
mov edx, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
mov dword [rsp + 0x38], edx
mov r11, r14
cmovae r11, rax
sbb edi, edi
mov qword [rbp - 0x10], r11
mov r11d, 0xc0000095
and edi, r11d
cmp rax, rcx
jb 0x1400e3402
lea eax, [r8 + 4]
or ecx, 0xffffffff
cmp eax, r8d
cmovae ecx, eax
sbb edi, edi
and edi, r11d
cmp eax, r8d
jb 0x1400e3402
mov eax, esi
sub eax, ecx
cmp eax, edx
jb 0x1400e3400
lea eax, [rdx + rcx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r11d
cmp eax, ecx
jb 0x1400e3402
cmp esi, r8d
jne 0x1400e3400
lea ecx, [rdx + r10]
mov eax, esi
add ecx, r9d
add rcx, 0xc
cmp rcx, rax
jne 0x1400e3400
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
mov rsi, rax
test rax, rax
jne 0x1400e352e
mov edi, 0xc0000017
jmp 0x1400e36bd
test r15, r15
je 0x1400e357d
mov eax, dword [rsp + 0x48]
mov dword [rsi], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rdi, qword [rbp - 8]
mov edx, 8
mov rcx, rax
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
jne 0x1400e3566
mov edi, 0xc0000017
jmp 0x1400e3632
mov qword [rsi + 8], rax
mov r8, rdi
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x1400e3584
mov dword [rax], r11d
mov qword [rax + 8], r11
test r13, r13
je 0x1400e35ca
mov eax, dword [rsp + 0x40]
mov dword [rsi + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rdi, qword [rbp - 0x48]
mov edx, 8
mov rcx, rax
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x1400e355c
mov qword [rsi + 0x18], rax
mov r8, rdi
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x1400e35d2
mov dword [rsi + 0x10], r11d
mov qword [rsi + 0x18], r11
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x1400e361f
mov eax, dword [rsp + 0x38]
mov dword [rsi + 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]
xor r11d, r11d
test rax, rax
je 0x1400e355c
mov qword [rsi + 0x28], rax
mov r8d, r15d
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x1400e3627
mov dword [rsi + 0x20], r11d
mov qword [rsi + 0x28], r11
mov qword [rsp + 0x60], rsi
mov edi, r11d
mov rsi, r11
test rsi, rsi
je 0x1400e36bd
mov r15, qword [rsi + 8]
test r15, r15
je 0x1400e365f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rsi + 8], r11
mov r15, qword [rsi + 0x18]
test r15, r15
je 0x1400e3683
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rsi + 0x18], r11
mov r15, qword [rsi + 0x28]
test r15, r15
je 0x1400e36a6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
mov qword [rsi + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov r13, qword [rsp + 0x50]
test edi, edi
cmovns r13, qword [rsp + 0x60]
mov qword [rsp + 0x50], r13
mov rsi, r11
cmovs rsi, qword [rsp + 0x60]
test rsi, rsi
je 0x1400e340a
mov r15, qword [rsi + 8]
test r15, r15
je 0x1400e3705
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rsi + 8], r11
mov r15, qword [rsi + 0x18]
test r15, r15
je 0x1400e3729
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rsi + 0x18], r11
mov r15, qword [rsi + 0x28]
test r15, r15
je 0x1400e374c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
mov qword [rsi + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400e3407
mov rdi, qword [r13 + 8]
mov qword [rbp - 0x10], rdi
test rdi, rdi
je 0x1400e342a
cmp dword [r13], r11d
je 0x1400e342a
mov r15d, dword [r13]
mov dword [rsp + 0x48], r11d
test r15, r15
je 0x1400e3c9e
add r15, 0xfffffffffffffff8
mov qword [rbp - 8], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
mov qword [rsp + 0x60], rax
mov r9, rax
test rax, rax
je 0x1400e3c9a
mov dl, r11b
mov r8, r15
mov byte [rsp + 0x5c], dl
mov r10, rdi
mov r11, rax
and r8d, 7
je 0x1400e38b8
or dword [rsp + 0x30], 0xffffffff
xor eax, eax
mov dword [rsp + 0x3c], eax
mov ecx, eax
mov dword [rsp + 0x40], eax
mov esi, eax
mov dword [rsp + 0x38], eax
mov edi, eax
test r8d, r8d
jle 0x1400e383d
lea r13d, [rax + 0x38]
movzx eax, byte [r10]
cmp edi, 4
jge 0x1400e3815
lea ecx, [r13 - 0x20]
shl eax, cl
mov ecx, dword [rsp + 0x40]
or esi, eax
jmp 0x1400e3824
mov ecx, r13d
shl eax, cl
mov ecx, dword [rsp + 0x40]
or ecx, eax
mov dword [rsp + 0x40], ecx
inc edi
sub r13d, 8
inc r10
cmp edi, r8d
jl 0x1400e37fe
mov r13, qword [rsp + 0x50]
xor eax, eax
mov dword [rsp + 0x38], esi
xor esi, 0xf27cb619
mov edi, ecx
xor edi, 0xaef73a1f
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x30], edi
test r8d, r8d
jle 0x1400e387d
cmp eax, 4
jge 0x1400e3865
rol esi, 8
mov byte [r11], sil
jmp 0x1400e386b
rol edi, 8
mov byte [r11], dil
inc eax
inc r11
cmp eax, r8d
jl 0x1400e3858
mov esi, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x30]
lea eax, [r8 - 4]
xor r8d, r8d
test eax, eax
jle 0x1400e389b
lea ecx, [r8 + 4]
sub ecx, eax
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rsp + 0x30], edi
jmp 0x1400e38d5
mov dword [rsp + 0x30], r8d
mov edi, r8d
test eax, eax
jns 0x1400e38d5
neg eax
shl eax, 3
mov ecx, eax
shr esi, cl
shl esi, cl
mov dword [rsp + 0x3c], esi
jmp 0x1400e38d5
xor r8d, r8d
or dword [rsp + 0x40], 0xffffffff
mov edi, r8d
mov dword [rsp + 0x38], r8d
mov esi, r8d
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x3c], r8d
mov rax, r15
shr rax, 3
test rax, rax
je 0x1400e3c15
mov r12d, dword [rsp + 0x40]
lea rdx, [r11 + 7]
mov r14d, dword [rsp + 0x38]
lea r15, [r10 + 2]
mov r9d, 0xab21d998
mov r13, rax
movzx eax, byte [r15 - 1]
movzx r11d, byte [r15 - 2]
movzx r10d, byte [r15 + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 5]
or r10d, eax
xor esi, r11d
movzx eax, byte [r15 - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 3]
shl r10d, 8
or r10d, eax
xor edi, r10d
xor edi, esi
xor edi, 0xc90231bc
lea eax, [rdi + 0x54de2668]
rol eax, 5
imul ecx, eax, 0xe824
mov eax, edi
rol eax, 0xa
add ecx, eax
xor esi, ecx
lea eax, [rsi + 0x6223e824]
ror eax, 9
imul ecx, eax, 0xab21
mov eax, esi
rol eax, 2
sub ecx, eax
xor edi, ecx
imul ecx, edi, 0xd998
mov eax, edi
shr eax, 0xd
sub ecx, eax
add ecx, 0x3aafa6a0
xor esi, ecx
mov eax, esi
xor eax, 0xab21
rol eax, 6
imul ecx, eax, 0x6223
mov eax, esi
rol eax, 2
sub ecx, eax
mov eax, 0x6223e824
xor edi, ecx
mov ecx, edi
xor ecx, r9d
sub eax, ecx
xor esi, eax
mov eax, esi
mov r8d, esi
xor eax, 0xe824
ror r8d, 6
imul ecx, eax, 0xab21
xor r8d, ecx
xor edi, r8d
lea eax, [rdi + 0x6223e824]
ror eax, 0xf
imul ecx, eax, 0xd998
mov eax, edi
rol eax, 2
add ecx, eax
xor esi, ecx
lea eax, [rsi + 0x54de2668]
ror eax, 0xe
imul ecx, eax, 0x6223
mov eax, esi
rol eax, 8
sub ecx, eax
xor edi, ecx
mov eax, edi
xor eax, r9d
ror eax, 0xc
mov r8d, 0xd998
imul ecx, eax, 0xe824
mov eax, edi
ror eax, 0xa
xor ecx, eax
xor esi, ecx
mov eax, esi
xor eax, 0x6223
imul ecx, eax, 0xab21
mov eax, esi
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, r8d
imul eax, eax, 0x6223
xor esi, eax
mov eax, esi
ror eax, 0xc
sub eax, 0x6223
imul eax, eax, 0xe824
xor edi, eax
mov eax, edi
xor eax, r9d
ror eax, 3
imul ecx, eax, 0xe824
mov eax, edi
rol eax, 0xe
add ecx, eax
mov eax, r9d
xor esi, ecx
mov ecx, esi
xor ecx, 0x6223e824
sub eax, ecx
xor edi, eax
mov r9d, edi
xor r9d, esi
xor r9d, 0xc90231bc
mov eax, r9d
xor eax, r8d
rol eax, 3
imul ecx, eax, 0x6223
mov eax, r9d
rol eax, 0xe
add ecx, eax
mov eax, 0xab21d998
xor edi, ecx
sub eax, edi
ror eax, 2
imul ecx, eax, 0xe824
mov eax, edi
ror eax, 0xd
sub ecx, eax
xor r9d, ecx
lea eax, [r9 - 0x6223e824]
rol eax, 4
imul ecx, eax, 0xab21
mov eax, r9d
rol eax, 1
xor ecx, eax
xor edi, ecx
mov eax, edi
ror eax, 7
xor eax, r8d
imul eax, eax, 0xab21
xor r9d, eax
mov eax, r9d
mov r8d, r9d
xor eax, 0xd998
ror r8d, 1
imul ecx, eax, 0x6223
xor r8d, ecx
xor edi, r8d
mov eax, edi
xor eax, 0xab21
rol eax, 5
imul ecx, eax, 0xe824
mov eax, edi
rol eax, 0xf
sub ecx, eax
xor r9d, ecx
mov eax, r9d
mov r8d, r9d
xor eax, 0x6223
ror r8d, 0xb
imul ecx, eax, 0xab21
add r8d, ecx
xor edi, r8d
lea eax, [rdi + 0x6223e824]
ror eax, 0xb
imul ecx, eax, 0xd998
mov eax, edi
ror eax, 8
xor edi, r12d
mov dword [rsp + 0x30], edi
mov r12d, r10d
sub ecx, eax
xor ecx, r14d
mov r14d, r11d
xor r9d, ecx
mov dword [rsp + 0x3c], r9d
mov byte [rdx - 4], r9b
mov r9d, 0xab21d998
mov al, byte [rsp + 0x30]
ror dword [rsp + 0x3c], 8
mov byte [rdx], al
ror dword [rsp + 0x30], 8
mov al, byte [rsp + 0x3c]
mov byte [rdx - 5], al
mov al, byte [rsp + 0x30]
ror dword [rsp + 0x3c], 8
mov byte [rdx - 1], al
ror dword [rsp + 0x30], 8
mov al, byte [rsp + 0x3c]
mov byte [rdx - 6], al
ror dword [rsp + 0x3c], 8
mov al, byte [rsp + 0x30]
mov byte [rdx - 2], al
ror dword [rsp + 0x30], 8
mov al, byte [rsp + 0x3c]
mov byte [rdx - 7], al
mov al, byte [rsp + 0x30]
mov byte [rdx - 3], al
add rdx, 8
mov esi, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x30]
ror esi, 8
ror edi, 8
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x30], edi
sub r13, 1
jne 0x1400e3900
mov dl, byte [rsp + 0x5c]
or r14, 0xffffffffffffffff
mov r13, qword [rsp + 0x50]
mov r12d, 0xc0000023
mov r15, qword [rbp - 8]
mov r9, qword [rsp + 0x60]
xor r11d, r11d
mov eax, r11d
test r15, r15
je 0x1400e3c2c
xor dl, byte [rax + r9]
inc rax
cmp rax, r15
jb 0x1400e3c20
mov rcx, qword [rbp - 0x10]
movzx eax, dl
cmp rax, qword [r15 + rcx]
je 0x1400e3c44
mov rsi, qword [rbp - 0x38]
mov edi, 0xc004d501
jmp 0x1400e3c5b
mov edi, dword [rsp + 0x48]
mov rsi, r9
mov qword [rbp - 0x38], r9
mov r9, r11
mov qword [rsp + 0x60], r11
mov qword [rbp + 0x78], r15
test r9, r9
je 0x1400e3c7d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp - 0x38]
xor r11d, r11d
test edi, edi
js 0x1400e3c9e
mov eax, dword [rbp + 0x78]
mov edi, 0x10000000
mov qword [rbp + 0x30], rsi
mov rsi, r11
mov dword [rsp + 0x78], eax
mov qword [rbp - 0x38], r11
jmp 0x1400e3ca3
mov rsi, qword [rbp - 0x38]
mov edi, 0xd0000001
test rsi, rsi
je 0x1400e3cc3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rbp - 0x38], r11
test edi, edi
js 0x1400e2fda
cmp dword [rsp + 0x78], 4
jae 0x1400e3cd9
mov edi, ebx
jmp 0x1400e3ecf
mov r9, qword [rbp + 0x30]
mov rcx, r14
mov edx, 0xc0000095
mov r11d, dword [r9]
lea rax, [r9 + 4]
cmp rax, r9
mov dword [rsp + 0x40], r11d
cmovae rcx, rax
sbb edi, edi
and edi, edx
cmp rax, r9
jb 0x1400e3ecc
mov eax, dword [rsp + 0x78]
add eax, 0xfffffffc
cmp eax, 4
jb 0x1400e3eca
mov r15d, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
mov rsi, r14
cmovae rsi, rax
sbb edi, edi
and edi, edx
cmp rax, rcx
jb 0x1400e3ecc
mov eax, dword [rsp + 0x78]
add eax, 0xfffffff8
cmp eax, r15d
jb 0x1400e3eca
lea eax, [r15 + 8]
cmp eax, 8
sbb edi, edi
and edi, edx
cmp eax, 8
jb 0x1400e3ecc
mov r8d, dword [rsp + 0x78]
lea rcx, [rsi + r15]
lea rax, [r9 + r8]
cmp rax, rcx
jb 0x1400e3eca
mov rax, r9
sub rax, rsi
sub rax, r15
add rax, r8
cmp rax, 8
jae 0x1400e3eca
xor edx, edx
mov qword [rsp + 0x60], rdx
mov edi, edx
mov dword [rsp + 0x48], edx
mov r10d, edx
test rsi, rsi
je 0x1400e3e3b
cmp rcx, rsi
mov r8, r14
mov rdx, rsi
cmovae r8, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rsi
jb 0x1400e3ec0
cmp rsi, r8
jae 0x1400e3e36
mov r9d, dword [rbp + 0x58]
lea rax, [rdx + 4]
cmp rax, rdx
jb 0x1400e3e86
cmp rax, r8
ja 0x1400e3e7f
mov ecx, dword [rdx]
or eax, 0xffffffff
add ecx, 4
cmp ecx, 4
cmovae eax, ecx
sbb edi, edi
and edi, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x58], r9d
jb 0x1400e3ec0
mov ecx, r9d
mov rax, r14
add rcx, rdx
cmp rcx, rdx
cmovae rax, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rdx
jb 0x1400e3ec0
cmp rax, r8
ja 0x1400e3e7f
inc r10d
mov rdx, rax
mov dword [rsp + 0x48], r10d
cmp rax, r8
jb 0x1400e3dc3
cmp rdx, r8
jne 0x1400e3e7f
lea rdx, [0x140420658]
lea rcx, [0x140401b20]
call fcn.1400e70c4
xor ecx, ecx
test r15d, r15d
je 0x1400e3e91
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x1400e3e8d
mov edi, 0xc0000017
jmp 0x1400e3ebb
mov edi, 0xc000000d
jmp 0x1400e3ecc
mov edi, 0xc0000095
jmp 0x1400e3ecc
mov edi, ecx
jmp 0x1400e3e94
mov rax, rcx
test rsi, rsi
je 0x1400e3ea7
mov r8, r15
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x48]
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x74], r15d
mov r11d, dword [rsp + 0x40]
test edi, edi
js 0x1400e3ecc
cmp r11d, dword [rbp - 0x78]
je 0x1400e3ecc
mov edi, ebx
xor r11d, r11d
bts edi, 0x1c
jmp 0x1400e2fda
mov rsi, r13
jmp 0x1400e2fdf
mov rdi, qword [rbp - 0x70]
mov rdx, r14
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb ebx, ebx
and ebx, esi
cmp rax, rdi
jb 0x1400e3f12
test ecx, ecx
mov dword [rbp + 0x24], ecx
mov rax, r11
cmovne rax, rdx
mov qword [rbp + 0x110], rax
jmp 0x1400e3f1c
mov ecx, dword [rbp + 0x24]
mov rax, qword [rbp + 0x110]
test ebx, ebx
js 0x1400e31a1
cmp ecx, 4
jne 0x1400e3fbd
mov r8d, dword [rax]
mov dword [rbp - 0x5c], r8d
jmp 0x1400e31a5
mov rdx, qword [rbp - 0x70]
mov r10d, r11d
lea rax, [rdx + 4]
mov r9, r14
cmp rax, rdx
cmovae r9, rax
sbb ebx, ebx
and ebx, esi
cmp rax, rdx
jb 0x1400e3fa6
mov ecx, dword [rdx]
mov rdx, r14
add rcx, r9
cmp rcx, r9
cmovae rdx, rcx
sbb ebx, ebx
and ebx, esi
cmp rcx, r9
jb 0x1400e3fa6
inc r10d
cmp r10d, 1
jb 0x1400e3f40
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov r9, r14
cmovae r9, rax
sbb ebx, ebx
and ebx, esi
cmp rax, rdx
jb 0x1400e3fa6
test ecx, ecx
mov dword [rbp + 0x5c], ecx
mov rax, r11
cmovne rax, r9
mov qword [rbp + 0x118], rax
jmp 0x1400e3fb0
mov ecx, dword [rbp + 0x5c]
mov rax, qword [rbp + 0x118]
test ebx, ebx
js 0x1400e40a9
cmp ecx, 8
je 0x1400e3fc5
mov ebx, r12d
jmp 0x1400e40a9
mov rax, qword [rax]
mov qword [rbp + 0x120], rax
test ebx, ebx
js 0x1400e40a9
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x38], rax
je 0x1400e3fee
mov ebx, 0xc004d501
jmp 0x1400e40a9
cmp qword [rbp - 0x70], r11
jne 0x1400e3ffe
mov ebx, 0xc000000d
jmp 0x1400e40a9
mov rdx, qword [rbp - 0x70]
mov r10d, r11d
lea rax, [rdx + 4]
mov r9, r14
cmp rax, rdx
cmovae r9, rax
sbb ebx, ebx
and ebx, esi
cmp rax, rdx
jb 0x1400e4068
mov ecx, dword [rdx]
mov rdx, r14
add rcx, r9
cmp rcx, r9
cmovae rdx, rcx
sbb ebx, ebx
and ebx, esi
cmp rcx, r9
jb 0x1400e4068
inc r10d
cmp r10d, 2
jb 0x1400e4005
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r14, rax
sbb ebx, ebx
and ebx, esi
cmp rax, rdx
jb 0x1400e4068
test ecx, ecx
mov dword [rbp + 0x20], ecx
mov rax, r11
cmovne rax, r14
mov qword [rbp + 0x128], rax
jmp 0x1400e4072
mov ecx, dword [rbp + 0x20]
mov rax, qword [rbp + 0x128]
test ebx, ebx
js 0x1400e40a9
cmp ecx, 0x10
je 0x1400e4082
mov ebx, 0x8007000d
jmp 0x1400e40a9
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x178], xmm0
test r8d, r8d
lea rdx, [0x14041d400]
lea rcx, [0x1403f6590]
cmovne ebx, r8d
call fcn.1400e6d84
xor r11d, r11d
and qword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1400e40d5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rsp + 0x28], r11
and qword [rbp - 0x78], 0
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x1400e40fe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov qword [rbp - 0x70], r11
mov rdi, qword [rbp + 0x80]
test rdi, rdi
je 0x1400e4121
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x1400e4141
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r11d, r11d
test ebx, ebx
mov edi, r11d
mov eax, 0xc004f034
cmovs edi, eax
mov ecx, edi
call fcn.140078324
lea rcx, [rbp + 0x40]
call fcn.1400693f8
mov eax, edi
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.14035a4e0
mov rbx, qword [rsp + 0x370]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret