Function at 0x1400e4414
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 [0x140425b28]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov rbx, r8
lea rcx, [rbp + 0x1b0]
mov rsi, rdx
mov r8d, 0x82
xor edx, edx
call sub.msvcrt.dll_memset
xor r14d, r14d
lea rdx, [rbp + 0x70]
mov rcx, rbx
mov qword [rbp + 0x60], r14
call fcn.140076278
mov edi, eax
test eax, eax
jns 0x1400e4483
mov ecx, eax
call fcn.1400790f8
jmp 0x1400e4920
cmp dword [rbp + 0x70], r14d
je 0x1400e4920
mov rax, qword [rsi]
mov rbx, qword [rax + 0x30]
mov rcx, rbx
call qword [0x1403af620]
lea r8, [rbp + 0x178]
mov rcx, rsi
lea rdx, str.SppBindingSkuId
call rbx
mov edi, eax
test eax, eax
js 0x1400e4477
cmp dword [rbp + 0x180], 2
je 0x1400e44c8
mov edi, 0x8007070c
mov ecx, edi
jmp 0x1400e4479
mov rcx, qword [rbp + 0x188]
lea r8, [rbp + 0x60]
lea rdx, str.SppPkeyBindingPid4
call fcn.1400e7618
mov edi, eax
test eax, eax
js 0x1400e4477
mov rax, qword [rbp + 0x60]
lea r9, [rbp + 0x1b0]
lea r8, [rbp - 0x10]
xor edx, edx
mov rcx, qword [rax + 0x10]
add rcx, 0x378
mov dword [rbp - 0x10], 0x41
call fcn.14019bf40
mov edi, eax
test eax, eax
js 0x1400e4477
xor edi, edi
mov ebx, 0xa0
xor eax, eax
mov qword [rbp + 0x90], rdi
mov qword [rsp + 0x20], rax
mov r13d, edi
mov qword [rsp + 0x28], rax
mov esi, edi
mov qword [rbp - 0x80], rax
mov r15d, edi
mov qword [rbp - 0x78], rax
lea rax, [0x140425c40]
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0x98], rdi
mov dword [rsp + 0x4c], edi
mov dword [rsp + 0x54], edi
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x6c], edi
mov qword [rbp + 0xa0], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
lea edx, [rdi + 8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
or r12d, 0xffffffff
mov r9d, 0xc0000095
mov rbx, rax
test rax, rax
jne 0x1400e459d
lea ebx, [r9 - 0x7e]
jmp 0x1400e46cb
mov r8, qword [rbp + 0xa0]
mov rcx, rbx
mov rdx, qword [rbp + 0xc8]
call sub.msvcrt.dll_memcpy
mov esi, dword [rbp + 0xa0]
mov r13, rbx
mov qword [rbp + 0x90], rbx
lea rax, [0x140425b80]
mov ebx, 8
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xa8], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x1400e4607
mov ebx, 0xc0000017
lea r9d, [rbx + 0x7e]
jmp 0x1400e46cb
mov r8, qword [rbp + 0xa8]
mov rcx, rbx
mov rdx, qword [rbp + 0xd0]
call sub.msvcrt.dll_memcpy
mov r14d, dword [rbp + 0xa8]
mov r15, rbx
mov qword [rbp + 0x98], rbx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x58], rax
mov dword [rsp + 0x6c], 8
lea eax, [rsi + 4]
mov r9d, 0xc0000095
cmp eax, 4
jb 0x1400e46c8
mov dword [rsp + 0x6c], eax
add eax, 8
mov ecx, r12d
cmp eax, 8
cmovae ecx, eax
sbb ebx, ebx
and ebx, r9d
add ebx, 0x10000000
cmp eax, 8
jb 0x1400e46cb
lea eax, [r14 + 4]
cmp eax, 4
jb 0x1400e46c8
mov dword [rsp + 0x6c], eax
add eax, ecx
mov r8d, r12d
cmp eax, ecx
cmovae r8d, eax
sbb ebx, ebx
and ebx, r9d
add ebx, 0x10000000
cmp eax, ecx
jb 0x1400e46cb
mov dword [rsp + 0x6c], SafeArrayGetDim
mov eax, dword [rsp + 0x4c]
lea edx, [r8 + 0xc]
cmp edx, r8d
mov ecx, r12d
cmovae ecx, edx
sbb ebx, ebx
and ebx, r9d
add ebx, 0x10000000
cmp edx, r8d
cmovae eax, ecx
mov dword [rsp + 0x4c], eax
jmp 0x1400e46cb
mov ebx, r9d
test ebx, ebx
js 0x1400e4881
mov dword [rsp + 0x54], 8
mov edx, dword [rsp + 0x4c]
mov eax, r12d
lea ecx, [rdx + 8]
cmp ecx, edx
cmovae eax, ecx
sbb ebx, ebx
and ebx, r9d
mov dword [rsp + 0x4c], eax
add ebx, 0x10000000
cmp ecx, edx
jb 0x1400e6b27
lea r8, [rbp + 0x38]
mov edx, 0x7fffffff
lea rcx, [rbp + 0x1b0]
call fcn.1400ef438
test eax, eax
jns 0x1400e472b
xor r13d, r13d
mov qword [rbp + 0x38], r13
mov ebx, 0xc000003e
jmp 0x1400e4884
mov rax, qword [rbp + 0x38]
inc rax
mov qword [rbp + 0x38], rax
lea ecx, [rax*2 + 4]
cmp ecx, 4
jb 0x1400e474a
mov ebx, edi
mov dword [rsp + 0x54], ecx
jmp 0x1400e4753
mov ecx, dword [rsp + 0x54]
mov ebx, 0xc0000095
test ebx, ebx
js 0x1400e4881
mov edx, dword [rsp + 0x4c]
mov eax, r12d
add ecx, edx
cmp ecx, edx
cmovae eax, ecx
sbb ebx, ebx
and ebx, 0xc0000095
mov dword [rsp + 0x4c], eax
add ebx, 0x10000000
cmp ecx, edx
jb 0x1400e6b27
lea r8, [rbp + 0x40]
mov edx, 0x7fffffff
lea rcx, [0x1403b8928]
call fcn.1400ef438
test eax, eax
jns 0x1400e47a8
xor r13d, r13d
mov qword [rbp + 0x40], r13
jmp 0x1400e4721
mov rax, qword [rbp + 0x40]
mov r8d, 0xc0000095
inc rax
mov qword [rbp + 0x40], rax
lea edx, [rax*2 + 4]
cmp edx, 4
jb 0x1400e47cd
mov ebx, edi
mov dword [rsp + 0x54], edx
jmp 0x1400e47d4
mov edx, dword [rsp + 0x54]
mov ebx, r8d
test ebx, ebx
js 0x1400e4881
mov ecx, dword [rsp + 0x4c]
mov r9d, 0x10000000
lea eax, [rcx + rdx]
mov edx, r12d
cmp eax, ecx
cmovae edx, eax
sbb ebx, ebx
and ebx, r8d
mov dword [rsp + 0x4c], edx
add ebx, r9d
cmp eax, ecx
jb 0x1400e6b27
mov dword [rsp + 0x54], 4
lea eax, [rdx + 4]
mov ecx, r12d
cmp eax, edx
cmovae ecx, eax
sbb ebx, ebx
and ebx, r8d
mov dword [rsp + 0x4c], ecx
add ebx, r9d
cmp eax, edx
jb 0x1400e6b27
mov dword [rsp + 0x54], 8
lea eax, [rcx + 8]
mov edx, r12d
cmp eax, ecx
cmovae edx, eax
sbb ebx, ebx
and ebx, r8d
mov dword [rsp + 0x4c], edx
add ebx, r9d
cmp eax, ecx
jb 0x1400e6b27
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]
mov rdx, rax
test rax, rax
jne 0x1400e495c
mov ebx, 0xc0000017
xor r13d, r13d
and qword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1400e48ad
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 [rsp + 0x28], r13
and qword [rbp - 0x80], 0
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x1400e48d3
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 - 0x78], r13
mov rdi, qword [rbp + 0x90]
test rdi, rdi
je 0x1400e48f3
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 + 0x98]
test rdi, rdi
je 0x1400e4913
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
mov edi, r13d
mov eax, 0xc004f034
cmovs edi, eax
mov ecx, edi
call fcn.140079118
lea rcx, [rbp + 0x60]
call fcn.140069ce0
mov eax, edi
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.140368700
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 dword [rsp + 0x20], edi
mov dword [rbp - 8], 0x6d
lea r8, [rax + 4]
cmp r8, rdx
jb 0x1400e4a55
mov ecx, dword [rsp + 0x24]
add rax, 8
add rcx, rdx
cmp rax, rcx
jbe 0x1400e4993
mov ebx, 0xc0000023
jmp 0x1400e4881
mov dword [rdx], 4
mov eax, dword [rbp - 8]
mov dword [r8], eax
mov edi, dword [rsp + 0x20]
inc edi
mov dword [rsp + 0x20], edi
xor r10d, r10d
test r13, r13
jne 0x1400e4a23
test esi, esi
je 0x1400e4a27
mov ebx, 0xc000000d
xor r13d, r13d
test ebx, ebx
js 0x1400e4884
mov esi, dword [rsp + 0x24]
test r15, r15
jne 0x1400e4adf
test r14d, r14d
je 0x1400e4ae8
mov ebx, 0xc000000d
mov r14d, 0xc0000095
test ebx, ebx
js 0x1400e4884
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x78], rax
cmp qword [rsp + 0x28], r13
jne 0x1400e4baf
mov dword [rbp + 8], SafeArrayGetDim
lea eax, [rsi + 0xc]
cmp eax, esi
jb 0x1400e6b1d
mov esi, eax
mov dword [rbp - 0x50], 3
inc edi
jmp 0x1400e4c30
test esi, esi
je 0x1400e49b5
cmp qword [rsp + 0x28], r10
jne 0x1400e4a69
add esi, 4
cmp esi, 4
jb 0x1400e4a5f
mov dword [rbp], esi
add esi, dword [rsp + 0x24]
cmp esi, dword [rsp + 0x24]
jb 0x1400e4a55
inc edi
mov dword [rsp + 0x24], esi
mov dword [rsp + 0x20], edi
xor r13d, r13d
jmp 0x1400e49c9
mov ebx, 0xc0000095
jmp 0x1400e4881
mov ebx, 0xc0000095
jmp 0x1400e49ba
mov rdx, qword [rsp + 0x28]
mov ecx, r10d
test edi, edi
je 0x1400e4a96
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400e4a5f
mov dword [rbp], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400e4a55
inc ecx
mov rdx, r8
cmp ecx, edi
jb 0x1400e4a75
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400e4a55
mov ecx, dword [rsp + 0x24]
lea rax, [rdx + 4]
add rcx, qword [rsp + 0x28]
mov ebx, r10d
mov r8d, esi
add rax, r8
cmp rax, rcx
ja 0x1400e4989
mov dword [rdx], esi
test r13, r13
je 0x1400e4ad0
mov rdx, r13
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov edi, dword [rsp + 0x20]
inc edi
mov dword [rsp + 0x20], edi
jmp 0x1400e49ba
test r14d, r14d
je 0x1400e49db
cmp qword [rsp + 0x28], r13
jne 0x1400e4b28
add r14d, 4
cmp r14d, 4
jb 0x1400e4b1a
mov dword [rbp + 4], r14d
lea eax, [rsi + r14]
cmp eax, esi
jb 0x1400e6b1d
mov esi, eax
inc edi
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x78], rax
jmp 0x1400e4a01
mov r14d, 0xc0000095
mov ebx, r14d
jmp 0x1400e49e6
mov rdx, qword [rsp + 0x28]
mov ecx, r13d
test edi, edi
je 0x1400e4b59
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400e4b1a
mov dword [rbp + 4], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400e6b1d
inc ecx
mov rdx, r8
cmp ecx, edi
jb 0x1400e4b34
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400e6b1d
mov r8d, r14d
lea rax, [rdx + 4]
mov ecx, esi
add rax, r8
add rcx, qword [rsp + 0x28]
mov ebx, r13d
cmp rax, rcx
jbe 0x1400e4b89
mov ebx, 0xc0000023
jmp 0x1400e4884
mov dword [rdx], r14d
test r15, r15
je 0x1400e4b9c
mov rdx, r15
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov edi, dword [rsp + 0x20]
mov esi, dword [rsp + 0x24]
inc edi
mov dword [rsp + 0x20], edi
jmp 0x1400e49e0
mov rdx, qword [rsp + 0x28]
mov ecx, r13d
test edi, edi
je 0x1400e4be0
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400e4c59
mov dword [rbp + 8], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400e4c51
inc ecx
mov rdx, r8
cmp ecx, edi
jb 0x1400e4bbb
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x1400e4c51
mov ecx, esi
lea rax, [rdx + 0xc]
add rcx, qword [rsp + 0x28]
mov ebx, r13d
cmp rax, rcx
ja 0x1400e4b7f
mov dword [rdx], 8
movsd xmm0, qword [rbp + 0x78]
movsd qword [r8], xmm0
mov edi, dword [rsp + 0x20]
mov esi, dword [rsp + 0x24]
inc edi
mov dword [rsp + 0x20], edi
test ebx, ebx
js 0x1400e4884
mov dword [rbp - 0x50], 3
cmp qword [rsp + 0x28], r13
jne 0x1400e4c71
mov dword [rbp + 0xc], 8
lea eax, [rsi + 8]
cmp eax, esi
jb 0x1400e6b1d
inc edi
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x20], edi
jmp 0x1400e4cd6
mov ebx, r14d
jmp 0x1400e4884
lea rdx, [0x14042d670]
mov ebx, r14d
lea rcx, [0x14040f1c0]
call fcn.1400e9ac8
jmp 0x1400e4c1a
mov rdx, qword [rsp + 0x28]
mov ecx, r13d
test edi, edi
je 0x1400e4c9e
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400e4cfa
mov dword [rbp + 0xc], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400e4c51
inc ecx
mov rdx, r8
cmp ecx, edi
jb 0x1400e4c7d
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x1400e4c51
mov ecx, esi
lea rax, [rdx + 8]
add rcx, qword [rsp + 0x28]
mov ebx, r13d
cmp rax, rcx
ja 0x1400e4b7f
mov dword [rdx], 4
mov eax, dword [rbp - 0x50]
mov dword [r8], eax
inc dword [rsp + 0x20]
test ebx, ebx
js 0x1400e4884
mov esi, 0x7fffffff
lea r8, [rbp - 0x28]
mov edx, esi
lea rcx, [rbp + 0x1b0]
call fcn.1400ef438
test eax, eax
jns 0x1400e4cff
mov qword [rbp - 0x28], r13
jmp 0x1400e4721
mov ebx, r14d
jmp 0x1400e4cce
mov rax, qword [rbp - 0x28]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x1400e6b18
lea r8d, [rcx + rcx]
mov qword [rbp - 0x28], rcx
mov r15d, 0xc0000023
test r8d, r8d
je 0x1400e4dea
cmp qword [rsp + 0x28], r13
jne 0x1400e4d68
add r8d, 4
lea edi, [r15 + 0x72]
cmp r8d, 4
jb 0x1400e4d61
mov dword [rbp + 0x10], r8d
mov eax, dword [rsp + 0x24]
lea ecx, [rax + r8]
cmp ecx, eax
jb 0x1400e4d5c
inc dword [rsp + 0x20]
mov ebx, r13d
mov dword [rsp + 0x24], ecx
jmp 0x1400e4df4
mov dword [rsp + 0x24], r12d
mov ebx, edi
jmp 0x1400e4df4
mov r10d, dword [rsp + 0x20]
mov ecx, r13d
mov rdx, qword [rsp + 0x28]
test r10d, r10d
je 0x1400e4d9c
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400e4de0
mov dword [rbp + 0x10], eax
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x1400e4de0
inc ecx
mov rdx, r9
cmp ecx, r10d
jb 0x1400e4d7a
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400e4de0
mov ecx, dword [rsp + 0x24]
lea rax, [r8 + 4]
add rcx, qword [rsp + 0x28]
add rax, rdx
mov r10d, r8d
mov ebx, r13d
cmp rax, rcx
jbe 0x1400e4dc5
mov ebx, r15d
jmp 0x1400e4def
mov dword [rdx], r8d
mov rcx, r9
mov r8, r10
lea rdx, [rbp + 0x1b0]
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x20]
jmp 0x1400e4def
mov edi, 0xc0000095
jmp 0x1400e4d61
mov ebx, 0xc000000d
mov edi, 0xc0000095
test ebx, ebx
js 0x1400e4884
lea r8, [rbp - 0x20]
mov rdx, rsi
lea rcx, [0x1403b8928]
call fcn.1400ef438
test eax, eax
jns 0x1400e4e1c
mov qword [rbp - 0x20], r13
jmp 0x1400e4721
mov rax, qword [rbp - 0x20]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x1400e6b0c
lea r9d, [rcx + rcx]
mov qword [rbp - 0x20], rcx
test r9d, r9d
je 0x1400e4efe
cmp qword [rsp + 0x28], r13
jne 0x1400e4e84
add r9d, 4
cmp r9d, 4
jb 0x1400e4e80
mov dword [rbp + 0x14], r9d
mov eax, dword [rsp + 0x24]
lea r8d, [rax + r9]
cmp r8d, eax
jb 0x1400e4e71
inc dword [rsp + 0x20]
mov ebx, r13d
mov dword [rsp + 0x24], r8d
jmp 0x1400e4f08
mov r8d, r12d
mov dword [rsp + 0x24], r12d
mov ebx, edi
jmp 0x1400e4f08
mov ebx, edi
jmp 0x1400e4f03
mov ecx, r13d
mov rdx, qword [rsp + 0x28]
cmp dword [rsp + 0x20], r13d
jbe 0x1400e4eb6
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400e4e80
mov dword [rbp + 0x14], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400e4e80
inc ecx
mov rdx, r8
cmp ecx, dword [rsp + 0x20]
jb 0x1400e4e93
lea r10, [rdx + 4]
cmp r10, rdx
jb 0x1400e4e80
mov r8d, dword [rsp + 0x24]
lea rax, [r9 + 4]
mov ecx, r8d
mov r11d, r9d
add rcx, qword [rsp + 0x28]
add rax, rdx
mov ebx, r13d
cmp rax, rcx
jbe 0x1400e4ee3
mov ebx, r15d
jmp 0x1400e4f08
mov dword [rdx], r9d
mov r8, r11
lea rdx, [0x1403b8928]
mov rcx, r10
call sub.msvcrt.dll_memcpy
inc dword [rsp + 0x20]
jmp 0x1400e4f03
mov ebx, 0xc000000d
mov r8d, dword [rsp + 0x24]
test ebx, ebx
js 0x1400e4884
cmp qword [rsp + 0x28], r13
jne 0x1400e4f3e
mov dword [rbp + 0x18], 4
lea eax, [r8 + 4]
cmp eax, r8d
jb 0x1400e6b11
inc dword [rsp + 0x20]
mov r8d, eax
mov dword [rbp - 0x48], 2
jmp 0x1400e4fd5
mov edx, r13d
mov rcx, qword [rsp + 0x28]
cmp dword [rsp + 0x20], r13d
jbe 0x1400e4f70
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400e4faf
mov dword [rbp + 0x18], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x1400e4f95
inc edx
mov rcx, r9
cmp edx, dword [rsp + 0x20]
jb 0x1400e4f4d
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x1400e6b11
mov eax, r8d
mov ebx, r13d
add rax, qword [rsp + 0x28]
cmp rdx, rax
jbe 0x1400e4fb3
mov ebx, r15d
jmp 0x1400e4884
lea rdx, [0x140425ef0]
mov ebx, edi
lea rcx, [0x14040bfc8]
call fcn.1400e9438
jmp 0x1400e4884
mov ebx, edi
jmp 0x1400e4fbf
mov dword [rcx], r13d
inc dword [rsp + 0x20]
mov r8d, dword [rsp + 0x24]
test ebx, ebx
js 0x1400e4884
mov dword [rbp - 0x48], 2
cmp qword [rsp + 0x28], r13
jne 0x1400e4ff6
mov dword [rbp + 0x1c], 8
lea eax, [r8 + 8]
cmp eax, r8d
jb 0x1400e6b11
inc dword [rsp + 0x20]
mov r8d, eax
mov dword [rsp + 0x24], eax
jmp 0x1400e5072
mov ecx, r13d
mov rdx, qword [rsp + 0x28]
cmp dword [rsp + 0x20], r13d
jbe 0x1400e5030
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400e50f6
mov dword [rbp + 0x1c], eax
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x1400e6b11
inc ecx
mov rdx, r9
cmp ecx, dword [rsp + 0x20]
jb 0x1400e5005
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400e6b11
mov ecx, r8d
lea rax, [rdx + 8]
add rcx, qword [rsp + 0x28]
mov ebx, r13d
cmp rax, rcx
ja 0x1400e4f8d
mov dword [rdx], 4
mov eax, dword [rbp - 0x48]
mov dword [r9], eax
inc dword [rsp + 0x20]
mov r8d, dword [rsp + 0x24]
test ebx, ebx
js 0x1400e4884
mov dword [rbp + 0xb8], SafeArrayGetDim
mov dword [rsp + 0x54], SafeArrayUnaccessData
xor esi, esi
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x38], rsi
mov r14d, esi
mov qword [rbp + 0x50], rsi
mov r9, r13
mov dword [rsp + 0x5c], esi
mov qword [rbp - 0x18], rsi
mov dword [rsp + 0x58], esi
mov qword [rbp - 0x30], rsi
mov qword [rbp + 0x30], rsi
mov dword [rbp - 0x6c], esi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x80], rax
lea eax, [r8 + 8]
mov ecx, r12d
cmp eax, 8
mov edx, 0xc0000095
cmovae ecx, eax
sbb edi, edi
and edi, edx
mov dword [rbp - 0x70], ecx
cmp eax, 8
jb 0x1400e51a0
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x1400e50fd
mov edi, edx
jmp 0x1400e51a0
mov ebx, edi
jmp 0x1400e506a
mov dword [rbp - 0x70], 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 rbx, rax
test rax, rax
jne 0x1400e512b
mov edi, 0xc0000017
mov r9, r13
jmp 0x1400e51a0
mov eax, dword [rsp + 0x20]
lea rdx, [rbx + 4]
mov dword [rbx], eax
cmp rdx, rbx
jb 0x1400e517a
mov eax, dword [rsp + 0x24]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x1400e517a
mov edx, dword [rbp - 0x70]
mov edi, esi
mov rax, qword [rbp + 0x80]
mov qword [rdx + rbx - 8], rax
mov r8d, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x28]
call sub.msvcrt.dll_memcpy
mov r13d, dword [rbp - 0x70]
mov r9, rbx
mov qword [rsp + 0x78], rbx
mov rbx, rsi
jmp 0x1400e5182
mov r9, r13
mov edi, 0xc0000095
test rbx, rbx
je 0x1400e51a0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9, qword [rsp + 0x78]
or edi, 0x10000000
jl 0x1400e6801
mov qword [rbp + 0xf0], rsi
mov qword [rbp + 0xf8], rsi
mov qword [rbp + 0x100], rsi
mov qword [rbp + 0x108], rsi
mov qword [rbp + 0x48], rsi
mov qword [rbp + 0xe8], rsi
test r9, r9
jne 0x1400e51e5
mov edi, 0xc000000d
xor r13d, r13d
jmp 0x1400e59e2
mov edi, r13d
xor r13d, r13d
mov qword [rbp + 0x68], rdi
test rdi, rdi
je 0x1400e5923
lea rbx, [rdi + 8]
mov qword [rbp - 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]
mov qword [rbp - 0x40], rax
mov r8, rax
test rax, rax
je 0x1400e5923
mov r10, qword [rsp + 0x78]
mov dl, r13b
mov byte [rsp + 0x30], dl
mov ecx, r13d
test rdi, rdi
je 0x1400e5248
xor dl, byte [rcx + r10]
inc rcx
cmp rcx, rdi
jb 0x1400e5238
mov byte [rsp + 0x30], dl
xor ecx, ecx
mov dword [rsp + 0x38], r12d
mov r13, r8
mov dword [rsp + 0x44], ecx
mov r8, rdi
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x50], ecx
movabs rax, 0x93278d843bbdc445
mov qword [rbp + 0x198], rax
mov ebx, ecx
mov r11d, r12d
and r8d, 7
je 0x1400e5384
xor r11d, r11d
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x50], r11d
mov r9d, r11d
test r8d, r8d
je 0x1400e52e6
lea r11d, [rcx + 0x38]
mov eax, ecx
movzx r9d, byte [r10]
inc r10
cmp ebx, 4
jge 0x1400e52b7
lea ecx, [r11 - 0x20]
shl r9d, cl
mov ecx, dword [rsp + 0x48]
or eax, r9d
jmp 0x1400e52c8
mov ecx, r11d
shl r9d, cl
mov ecx, dword [rsp + 0x48]
or ecx, r9d
mov dword [rsp + 0x48], ecx
inc ebx
sub r11d, 8
cmp ebx, r8d
jl 0x1400e529b
mov dword [rsp + 0x50], eax
movabs rax, 0x93278d843bbdc445
mov r9d, dword [rsp + 0x50]
mov ebx, r9d
mov r11d, ecx
xor ebx, 0xd04a94a
xor r11d, 0xb7faa653
xor r9d, r9d
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x38], r11d
mov ecx, r9d
test r8d, r8d
je 0x1400e5349
lea r9, [r13 + 1]
mov qword [rsp + 0x60], r9
cmp ecx, 4
jge 0x1400e5323
rol ebx, 8
mov r9d, ebx
jmp 0x1400e532a
rol r11d, 8
mov r9d, r11d
mov byte [r13], r9b
inc ecx
mov r9, qword [rsp + 0x60]
mov r13, r9
cmp ecx, r8d
jl 0x1400e530d
mov ebx, dword [rsp + 0x44]
xor r9d, r9d
mov r11d, dword [rsp + 0x38]
cmp r8d, 4
jbe 0x1400e5367
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rsp + 0x38], r11d
jmp 0x1400e5384
mov r11d, r9d
mov dword [rsp + 0x38], r9d
jae 0x1400e5384
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr ebx, cl
shl ebx, cl
mov dword [rsp + 0x44], ebx
mov rcx, rdi
shr rcx, 3
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x1400e5705
movzx ecx, word [rbp + 0x19e]
lea rdx, [r13 + 7]
mov r12d, dword [rbp + 0x19c]
lea r8, [r10 + 2]
movzx esi, word [rbp + 0x19a]
mov r15d, dword [rsp + 0x48]
mov r14d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x60]
mov dword [rsp + 0x68], ecx
movzx ecx, ax
mov dword [rsp + 0x40], ecx
movzx ecx, r12w
mov edi, ecx
movzx ecx, byte [r8 - 1]
movzx r10d, byte [r8 - 2]
movzx r9d, byte [r8 + 2]
shl r10d, 8
or r10d, ecx
shl r9d, 8
movzx ecx, byte [r8]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r8 + 1]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r8 + 3]
or r9d, ecx
movzx ecx, byte [r8 + 4]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r8 + 5]
add r8, 8
shl r9d, 8
or r9d, ecx
mov qword [rsp + 0x60], r8
xor r11d, r9d
mov ecx, r11d
ror ecx, 4
xor ecx, dword [rsp + 0x40]
imul ecx, esi
xor ecx, r10d
xor ebx, ecx
mov ecx, ebx
ror ecx, 0xc
lea r8d, [rbx + r12]
ror r8d, 8
imul r8d, esi
sub r8d, ecx
xor r11d, r8d
mov r8d, r11d
mov ecx, r11d
xor r8d, eax
rol ecx, 0xb
ror r8d, 0xe
imul r8d, edi
xor r8d, ecx
movzx ecx, word [rbp + 0x19e]
xor ebx, r8d
lea r8d, [rbx + rax]
ror r8d, 0xd
imul r8d, ecx
mov ecx, ebx
rol ecx, 4
add r8d, ecx
xor r11d, r8d
mov r8d, r11d
mov ecx, r11d
shr ecx, 6
xor r8d, edi
imul r8d, dword [rsp + 0x40]
xor r8d, ecx
xor ebx, r8d
mov ecx, ebx
mov r8d, ebx
xor ecx, edi
ror r8d, 0xc
imul ecx, esi
xor r8d, ecx
xor r11d, r8d
mov ecx, r11d
ror ecx, 9
sub ecx, edi
imul ecx, dword [rsp + 0x40]
xor ebx, ecx
mov ecx, ebx
mov r8d, ebx
xor ecx, dword [rsp + 0x40]
imul ecx, dword [rsp + 0x68]
ror r8d, 0xa
add r8d, ecx
xor r11d, r8d
mov r8d, r11d
xor r8d, r12d
ror r8d, 0xd
imul r8d, dword [rsp + 0x40]
mov ecx, r11d
rol ecx, 0xa
add r8d, ecx
movzx ecx, word [rbp + 0x19e]
xor ebx, r8d
mov r8d, ebx
xor r8d, ecx
mov ecx, ebx
imul r8d, esi
shr ecx, 0xf
add r8d, ecx
xor r11d, r8d
mov r8d, r11d
mov ecx, r11d
xor r8d, esi
shr ecx, 5
rol r8d, 6
imul r8d, edi
add r8d, ecx
mov ecx, r11d
xor ebx, r8d
shr ecx, 0xf
mov r8d, r11d
sub r8d, edi
rol r8d, 3
imul r8d, dword [rsp + 0x40]
xor r8d, ecx
xor ebx, r8d
mov r8d, ebx
mov ecx, ebx
sub r8d, edi
shr ecx, 0xd
imul r8d, esi
sub r8d, ecx
xor r11d, r8d
mov r8d, eax
sub r8d, r11d
mov ecx, r11d
ror r8d, 9
imul r8d, edi
ror ecx, 0xb
xor r8d, ecx
xor ebx, r8d
movzx r8d, word [rbp + 0x19e]
mov ecx, ebx
sub ecx, r8d
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
mov r8d, r11d
ror r8d, 7
xor ecx, esi
imul ecx, dword [rsp + 0x40]
sub ecx, r8d
xor ebx, ecx
movzx ecx, word [rbp + 0x19e]
mov r8d, ebx
xor r8d, ecx
mov ecx, ebx
rol r8d, 4
imul r8d, esi
ror ecx, 0x10
sub r8d, ecx
xor r11d, r8d
mov r8d, eax
sub r8d, r11d
mov ecx, r11d
ror r8d, 0xa
imul r8d, edi
ror ecx, 4
add r8d, ecx
movzx ecx, word [rbp + 0x19e]
xor ebx, r8d
mov r8d, ebx
sub r8d, eax
ror r8d, 4
imul r8d, ecx
mov ecx, ebx
ror ecx, 9
xor r8d, ecx
xor r11d, r8d
mov r8d, r11d
mov ecx, r11d
xor r8d, r12d
rol ecx, 2
rol r8d, 8
imul r8d, dword [rsp + 0x40]
sub r8d, ecx
xor ebx, r8d
mov r8d, r12d
sub r8d, ebx
mov ecx, ebx
ror ecx, 0xc
ror r8d, 0xb
imul r8d, esi
sub r8d, ecx
xor r11d, r8d
mov r8d, r11d
mov ecx, r11d
shr ecx, 8
xor r8d, esi
imul r8d, edi
xor r8d, ecx
xor ebx, r8d
mov r8, qword [rsp + 0x60]
xor r11d, ebx
xor ebx, r14d
mov dword [rsp + 0x44], ebx
xor r11d, r12d
xor r11d, eax
mov r14d, r10d
xor r11d, r15d
mov r15d, r9d
mov dword [rsp + 0x38], r11d
mov byte [rdx - 4], bl
mov cl, byte [rsp + 0x38]
ror dword [rsp + 0x44], 8
mov byte [rdx], cl
ror dword [rsp + 0x38], 8
mov cl, byte [rsp + 0x44]
mov byte [rdx - 5], cl
mov cl, byte [rsp + 0x38]
ror dword [rsp + 0x44], 8
mov byte [rdx - 1], cl
ror dword [rsp + 0x38], 8
mov cl, byte [rsp + 0x44]
mov byte [rdx - 6], cl
ror dword [rsp + 0x44], 8
mov cl, byte [rsp + 0x38]
mov byte [rdx - 2], cl
ror dword [rsp + 0x38], 8
mov cl, byte [rsp + 0x44]
mov byte [rdx - 7], cl
mov cl, byte [rsp + 0x38]
mov byte [rdx - 3], cl
add rdx, 8
mov ebx, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x38]
ror ebx, 8
ror r11d, 8
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x38], r11d
sub r13, 1
jne 0x1400e53d6
mov r14, qword [rbp - 0x30]
mov r15d, 0xc0000023
mov dl, byte [rsp + 0x30]
mov rsi, r14
mov rdi, qword [rbp + 0x68]
or r12d, 0xffffffff
mov r13, qword [rbp - 0x40]
movzx eax, dl
mov qword [rdi + r13], rax
lea rax, [rdi + 8]
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0x48], r13
lea rax, [0x140425c30]
mov qword [rbp + 0xf8], 8
mov qword [rbp + 0xf0], rax
lea rdi, [0x140425b90]
mov qword [rbp + 0x108], 0xa0
mov qword [rbp + 0x100], rdi
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 rbx, rax
test rax, rax
jne 0x1400e577e
mov edi, 0xc0000017
xor r13d, r13d
jmp 0x1400e5916
mov rax, qword [rbp - 0x68]
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]
test rax, rax
jne 0x1400e57b6
mov edi, 0xc0000017
xor r13d, r13d
jmp 0x1400e5893
mov qword [rbx + 8], rax
mov r8, qword [rsp + 0x60]
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r13d, 0xa0
mov dword [rbx + 0x10], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r13d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r13d, r13d
test rax, rax
jne 0x1400e57fd
mov edi, 0xc0000017
jmp 0x1400e5893
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [rdi]
mov ecx, 0x80
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]
lea edi, [rcx - 0x78]
movups xmmword [rax + rcx + 0x10], xmm0
mov dword [rbx + 0x20], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400e57f3
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x140425c30]
mov rsi, rbx
movsd qword [rax], xmm0
mov edi, r13d
mov rbx, r13
test rbx, rbx
je 0x1400e5916
mov r13, qword [rbx + 8]
test r13, r13
je 0x1400e58bb
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 [rbx + 8], rax
mov r13, qword [rbx + 0x18]
test r13, r13
je 0x1400e58de
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 [rbx + 0x18], rax
mov r13, qword [rbx + 0x28]
test r13, r13
je 0x1400e5902
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 [rbx + 0x28], r13
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
js 0x1400e5928
mov qword [rbp - 0x38], rsi
mov rsi, r13
jmp 0x1400e5928
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x1400e5949
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 + 0x48], r13
test rsi, rsi
je 0x1400e59e2
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x1400e5973
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 [rsi + 8], r13
mov rbx, qword [rsi + 0x18]
test rbx, rbx
je 0x1400e5994
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 [rsi + 0x18], r13
mov r13, qword [rsi + 0x28]
test r13, r13
je 0x1400e59ce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea rdx, [0x14042a320]
mov rbx, rax
lea rcx, [0x140403a10]
call fcn.1400e977c
mov r8, r13
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r13d, r13d
mov qword [rsi + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or edi, 0x10000000
jl 0x1400e6801
mov rsi, qword [rbp - 0x38]
mov ecx, dword [rsi]
mov r8d, dword [rsi + 0x20]
add ecx, 4
mov edx, dword [rsi + 0x10]
cmp ecx, 4
jb 0x1400e5b1a
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400e5b1a
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x1400e5b1a
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400e5b1a
lea ecx, [rax + r8]
cmp ecx, eax
jb 0x1400e5b1a
mov dword [rbp + 0x20], 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]
mov rbx, rax
test rax, rax
jne 0x1400e5a68
mov edi, 0xc0000017
mov r9d, 0xc0000095
jmp 0x1400e5b23
mov eax, dword [rsi]
lea rdi, [rbx + 4]
mov dword [rbx], eax
cmp rdi, rbx
jb 0x1400e5af3
mov r8d, dword [rsi]
mov rcx, rdi
mov rdx, qword [rsi + 8]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsi]
add rcx, rdi
cmp rcx, rdi
jb 0x1400e5af3
mov eax, dword [rsi + 0x10]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x1400e5af3
mov r8d, dword [rsi + 0x10]
mov rcx, rdi
mov rdx, qword [rsi + 0x18]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsi + 0x10]
add rcx, rdi
cmp rcx, rdi
jb 0x1400e5af3
mov eax, dword [rsi + 0x20]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x1400e5af3
mov r8d, dword [rsi + 0x20]
mov rcx, rdi
mov rdx, qword [rsi + 0x28]
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x20]
add rax, rdi
cmp rax, rdi
jb 0x1400e5af3
mov eax, dword [rbp + 0x20]
mov edi, r13d
mov qword [rbp + 0x50], rbx
mov rbx, r13
mov dword [rsp + 0x5c], eax
jmp 0x1400e5af8
mov edi, 0xc0000095
test rbx, rbx
je 0x1400e5a5d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400e5a5d
mov r9d, 0xc0000095
mov edi, r9d
or edi, 0x10000000
jl 0x1400e6801
mov qword [rbp + 0x118], r13
mov dword [rbp + 0x24], r13d
mov qword [rbp + 0x120], r13
mov dword [rbp + 0x28], r13d
mov dword [rbp + 0x138], 0x30
mov eax, 0x38
mov dword [rbp + 0x110], eax
mov dword [rbp + 0xe4], eax
cmp qword [rsp + 0x28], r13
jne 0x1400e5b71
mov edi, 0xc000000d
jmp 0x1400e5c48
cmp dword [rsp + 0x20], 1
jbe 0x1400e5b67
mov rax, qword [rsp + 0x28]
mov edx, r13d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400e5c45
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400e5c45
inc edx
cmp edx, 1
jb 0x1400e5b80
mov r8d, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400e5c45
test r8d, r8d
mov dword [rbp + 0x24], r8d
mov rax, r13
cmovne rax, rcx
mov qword [rbp + 0x118], rax
cmp dword [rsp + 0x20], 2
jbe 0x1400e5b67
mov rax, qword [rsp + 0x28]
mov edx, r13d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400e5c45
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400e5c45
inc edx
cmp edx, 2
jb 0x1400e5bd6
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400e5c45
test edx, edx
mov dword [rbp + 0x28], edx
mov rax, r13
cmovne rax, rcx
mov qword [rbp + 0x120], rax
lea eax, [r8 + 0x40]
cmp eax, 0x40
jb 0x1400e5c45
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x1400e5c45
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x1400e5c45
mov dword [rbp + 0xb0], eax
mov edi, r13d
cmp eax, 0x400000
jbe 0x1400e5c3f
mov edi, 0x8000ffff
jmp 0x1400e6801
mov dword [rsp + 0x58], eax
jmp 0x1400e5c48
mov edi, r9d
test edi, edi
js 0x1400e6801
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]
test rax, rax
jne 0x1400e5c7b
mov rsi, qword [rbp - 0x18]
mov edi, 0xd0000017
jmp 0x1400e5c87
mov rsi, rax
mov qword [rbp - 0x18], rax
mov edi, 0x10000000
test edi, edi
js 0x1400e6801
mov rax, qword [rbp + 0x50]
test rax, rax
jne 0x1400e5ca2
mov edi, 0x80070057
jmp 0x1400e6801
test rsi, rsi
je 0x1400e5c98
mov qword [rbp + 0x140], rax
lea r8, [rbp + 0x128]
mov eax, dword [rsp + 0x5c]
lea rdx, [0x1403b53f8]
mov dword [rbp + 0x150], eax
mov ecx, 1
mov eax, dword [rsp + 0x58]
mov dword [rbp + 0x154], eax
mov qword [rbp + 0x148], rsi
mov dword [rbp + 0x158], r13d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400e5d10
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x1400e5d0a
mov edi, 0x80004005
mov edx, dword [rsp + 0x58]
jmp 0x1400e5d60
mov rcx, qword [rbp + 0x128]
lea rdx, [0x1403bf728]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1400e5ced
mov rcx, rax
call qword [0x1403af620]
xor r9d, r9d
lea rdx, [rbp + 0x140]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rbx
mov edx, dword [rsp + 0x58]
mov edi, eax
or edi, 0x10000000
cmovge edx, dword [rbp + 0x154]
mov dword [rsp + 0x58], edx
cmp edi, 0xd0000023
jne 0x1400e5d72
mov edi, 0x8007007a
jmp 0x1400e6801
test edi, edi
js 0x1400e6801
mov qword [rbp + 0x198], r13
mov ebx, 0xc000003e
mov dword [rbp - 0x60], ebx
cmp edx, 4
jae 0x1400e5d95
mov edi, ebx
jmp 0x1400e60f3
mov ecx, dword [rsi]
lea r8, [rsi + 4]
mov dword [rsp + 0x68], ecx
cmp r8, rsi
jb 0x1400e60ee
lea eax, [rdx - 4]
cmp eax, ecx
jb 0x1400e5d8e
lea r10, [r8 + rcx]
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x68], r10
cmp r10, r8
jb 0x1400e60ee
lea r9d, [rcx + 4]
cmp r9d, 4
jb 0x1400e60ee
mov eax, edx
sub eax, r9d
cmp eax, 4
jb 0x1400e5d8e
mov edi, dword [r10]
lea r8, [r10 + 4]
cmp r8, r10
jb 0x1400e60ee
lea r10d, [r9 + 4]
cmp r10d, r9d
jb 0x1400e60ee
mov eax, edx
sub eax, r10d
cmp eax, edi
jb 0x1400e5d8e
lea r11, [r8 + rdi]
cmp r11, r8
jb 0x1400e60ee
lea r9d, [r10 + rdi]
cmp r9d, r10d
jb 0x1400e60ee
mov eax, edx
sub eax, r9d
cmp eax, 4
jae 0x1400e5e41
lea rdx, [0x14042cd80]
mov edi, ebx
lea rcx, [0x14040e870]
call fcn.1400e8db8
jmp 0x1400e60f3
mov r13d, dword [r11]
lea rax, [r11 + 4]
mov qword [rbp - 0x40], rax
cmp rax, r11
jb 0x1400e60eb
lea r8d, [r9 + 4]
cmp r8d, r9d
jb 0x1400e60eb
mov eax, edx
sub eax, r8d
cmp eax, r13d
jae 0x1400e5e76
mov edi, ebx
xor r13d, r13d
jmp 0x1400e60f3
lea r9d, [r8 + r13]
cmp r9d, r8d
jb 0x1400e60eb
cmp edx, r9d
jne 0x1400e5e6c
add ecx, edi
mov eax, edx
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x1400e5e6c
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 ecx, ecx
mov rsi, rax
test rax, rax
jne 0x1400e5ec7
mov edi, 0xc0000017
xor r13d, r13d
jmp 0x1400e6042
mov r14, qword [rbp - 0x18]
add r14, 4
je 0x1400e5f1a
mov eax, dword [rsp + 0x68]
mov dword [rsi], eax
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]
test rax, rax
jne 0x1400e5f02
mov edi, 0xc0000017
xor r13d, r13d
jmp 0x1400e5fc6
mov qword [rsi + 8], rax
mov r8, qword [rsp + 0x60]
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor ecx, ecx
jmp 0x1400e5f20
mov dword [rax], ecx
mov qword [rax + 8], rcx
mov r14, qword [rbp - 0x68]
add r14, 4
je 0x1400e5f5d
mov dword [rsi + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400e5ef5
mov qword [rsi + 0x18], rax
mov r8, rdi
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400e5f64
mov dword [rsi + 0x10], ecx
mov qword [rsi + 0x18], rcx
mov rdi, qword [rbp - 0x40]
test rdi, rdi
je 0x1400e5fae
mov dword [rsi + 0x20], r13d
mov r14, r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r13d, r13d
test rax, rax
jne 0x1400e5f9a
mov edi, 0xc0000017
jmp 0x1400e5fc6
mov qword [rsi + 0x28], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400e5fb9
xor r13d, r13d
mov dword [rsi + 0x20], r13d
mov qword [rsi + 0x28], r13
mov qword [rbp + 0x198], rsi
mov edi, r13d
mov rsi, r13
test rsi, rsi
je 0x1400e6042
mov r14, qword [rsi + 8]
test r14, r14
je 0x1400e5fec
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 [rsi + 8], r13
mov r14, qword [rsi + 0x18]
test r14, r14
je 0x1400e600d
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 [rsi + 0x18], r13
mov r14, qword [rsi + 0x28]
test r14, r14
je 0x1400e602e
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 [rsi + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x198]
test edi, edi
mov rsi, r13
cmovs rsi, qword [rbp + 0x198]
cmovs r14, r13
mov qword [rbp - 0x30], r14
test rsi, rsi
je 0x1400e60f3
mov r13, qword [rsi + 8]
test r13, r13
je 0x1400e608a
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 [rsi + 8], rax
mov r13, qword [rsi + 0x18]
test r13, r13
je 0x1400e60ad
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 [rsi + 0x18], rax
mov r13, qword [rsi + 0x28]
test r13, r13
je 0x1400e60d1
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 [rsi + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x30], r14
jmp 0x1400e60f3
xor r13d, r13d
mov edi, 0xc0000095
or edi, 0x10000000
jl 0x1400e6801
mov qword [rbp - 0x58], r13
mov rsi, r13
mov qword [rbp + 0x88], r13
test r14, r14
jne 0x1400e611c
mov edi, 0xd000000d
jmp 0x1400e6801
mov rdi, qword [r14 + 8]
mov qword [rbp + 0x68], rdi
test rdi, rdi
je 0x1400e6112
cmp dword [r14], r13d
je 0x1400e6112
mov r13d, dword [r14]
xor r11d, r11d
test r13, r13
je 0x1400e6673
add r13, 0xfffffffffffffff8
mov qword [rbp - 0x40], 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 r11d, r11d
mov qword [rsp + 0x60], rax
mov r10, rax
test rax, rax
je 0x1400e666f
mov dl, r11b
mov r9, r13
mov byte [rsp + 0x30], dl
movabs r8, 0x6223e824ab21d998
mov qword [rbp + 0x198], r8
mov r11, rdi
and r9d, 7
je 0x1400e6288
xor ecx, ecx
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x3c], ecx
mov r12d, ecx
mov dword [rsp + 0x50], ecx
mov esi, ecx
mov edi, ecx
test r9d, r9d
je 0x1400e61f0
lea r8d, [rcx + 0x38]
movzx eax, byte [r11]
inc r11
cmp edi, 4
jge 0x1400e61ca
lea ecx, [r8 - 0x20]
shl eax, cl
or esi, eax
jmp 0x1400e61d2
mov ecx, r8d
shl eax, cl
or r12d, eax
inc edi
sub r8d, 8
cmp edi, r9d
jl 0x1400e61b4
mov dword [rsp + 0x50], esi
movabs r8, 0x6223e824ab21d998
mov rax, r10
xor ecx, ecx
xor esi, 0xf27cb619
mov edi, r12d
xor edi, 0xaef73a1f
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x34], edi
test r9d, r9d
je 0x1400e624a
lea r8, [rax + 1]
mov qword [rbp - 0x68], r8
cmp ecx, 4
jge 0x1400e6221
rol esi, 8
mov r8d, esi
jmp 0x1400e6227
rol edi, 8
mov r8d, edi
mov byte [rax], r8b
inc ecx
mov r8, qword [rbp - 0x68]
mov rax, r8
cmp ecx, r9d
jl 0x1400e620c
mov esi, dword [rsp + 0x3c]
movabs r8, 0x6223e824ab21d998
mov edi, dword [rsp + 0x34]
cmp r9d, 4
jbe 0x1400e6265
mov ecx, 8
sub ecx, r9d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rsp + 0x34], edi
jmp 0x1400e629a
xor ecx, ecx
mov dword [rsp + 0x34], ecx
mov edi, ecx
cmp r9d, 4
jae 0x1400e629a
mov ecx, 4
sub ecx, r9d
shl ecx, 3
shr esi, cl
shl esi, cl
mov dword [rsp + 0x3c], esi
jmp 0x1400e629a
xor ecx, ecx
mov dword [rsp + 0x50], ecx
mov edi, ecx
mov dword [rsp + 0x34], ecx
mov esi, ecx
mov dword [rsp + 0x3c], ecx
mov rcx, r13
shr rcx, 3
mov qword [rbp - 0x68], rcx
test rcx, rcx
je 0x1400e65e3
movzx ecx, word [rbp + 0x19a]
lea r14, [rax + 7]
mov r13d, dword [rbp + 0x19c]
lea rbx, [r11 + 2]
movzx r9d, word [rbp + 0x19e]
mov r15d, dword [rsp + 0x50]
mov rdx, qword [rbp - 0x68]
mov dword [rsp + 0x68], ecx
movzx ecx, r13w
mov dword [rsp + 0x40], ecx
movzx ecx, r8w
mov dword [rsp + 0x48], ecx
movzx eax, byte [rbx - 1]
movzx r11d, byte [rbx - 2]
movzx r10d, byte [rbx + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx - 5]
or r10d, eax
xor esi, r11d
movzx eax, byte [rbx - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 3]
shl r10d, 8
or r10d, eax
xor edi, r10d
xor edi, esi
xor edi, r13d
xor edi, r8d
mov ecx, edi
mov eax, edi
sub ecx, r8d
rol eax, 0xa
rol ecx, 5
imul ecx, dword [rsp + 0x40]
add ecx, eax
movzx eax, word [rbp + 0x19a]
xor esi, ecx
lea ecx, [rsi + r13]
ror ecx, 9
imul ecx, eax
mov eax, esi
rol eax, 2
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, dword [rsp + 0x40]
imul ecx, dword [rsp + 0x48]
shr eax, 0xd
sub ecx, eax
movzx eax, word [rbp + 0x19a]
xor esi, ecx
mov ecx, esi
xor ecx, eax
mov eax, esi
rol ecx, 6
imul ecx, r9d
rol eax, 2
sub ecx, eax
mov eax, r13d
xor edi, ecx
mov ecx, edi
xor ecx, r8d
sub eax, ecx
xor esi, eax
mov eax, dword [rsp + 0x40]
xor eax, esi
mov ecx, esi
imul eax, dword [rsp + 0x68]
ror ecx, 6
xor ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 2
lea ecx, [rdi + r13]
ror ecx, 0xf
imul ecx, dword [rsp + 0x48]
add ecx, eax
xor esi, ecx
mov ecx, esi
sub ecx, r8d
ror ecx, 0xe
imul ecx, r9d
mov eax, esi
rol eax, 8
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
xor ecx, r8d
ror eax, 0xa
ror ecx, 0xc
imul ecx, dword [rsp + 0x40]
xor ecx, eax
movzx eax, word [rbp + 0x19a]
xor esi, ecx
mov ecx, r9d
xor ecx, esi
imul ecx, eax
mov eax, esi
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, dword [rsp + 0x48]
imul eax, r9d
xor esi, eax
mov eax, esi
ror eax, 0xc
sub eax, r9d
imul eax, dword [rsp + 0x40]
xor edi, eax
mov ecx, edi
mov eax, edi
xor ecx, r8d
rol eax, 0xe
ror ecx, 3
imul ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, r8d
xor esi, ecx
mov ecx, esi
xor ecx, r13d
sub eax, ecx
mov ecx, dword [rsp + 0x48]
xor edi, eax
mov r9d, edi
xor r9d, esi
movzx esi, word [rbp + 0x19e]
xor r9d, r13d
xor r9d, r8d
xor ecx, r9d
mov eax, r9d
rol ecx, 3
imul ecx, esi
rol eax, 0xe
add ecx, eax
xor edi, ecx
mov ecx, r8d
sub ecx, edi
mov eax, edi
ror ecx, 2
imul ecx, dword [rsp + 0x40]
ror eax, 0xd
sub ecx, eax
movzx eax, word [rbp + 0x19a]
xor r9d, ecx
mov ecx, r9d
sub ecx, r13d
rol ecx, 4
imul ecx, eax
mov eax, r9d
rol eax, 1
xor ecx, eax
xor edi, ecx
movzx ecx, word [rbp + 0x19a]
mov eax, edi
ror eax, 7
xor eax, dword [rsp + 0x48]
imul eax, ecx
xor r9d, eax
mov ecx, r9d
mov eax, dword [rsp + 0x48]
xor eax, r9d
ror ecx, 1
imul eax, esi
xor ecx, eax
xor edi, ecx
movzx ecx, word [rbp + 0x19a]
xor ecx, edi
mov eax, edi
rol eax, 0xf
rol ecx, 5
imul ecx, dword [rsp + 0x40]
sub ecx, eax
xor r9d, ecx
mov eax, r9d
mov ecx, r9d
xor eax, esi
ror ecx, 0xb
movzx esi, word [rbp + 0x19a]
imul eax, esi
add ecx, eax
xor edi, ecx
mov eax, edi
ror eax, 8
lea ecx, [rdi + r13]
xor edi, r12d
mov dword [rsp + 0x34], edi
mov r12d, r10d
ror ecx, 0xb
imul ecx, dword [rsp + 0x48]
sub ecx, eax
xor ecx, r15d
mov r15d, r11d
xor r9d, ecx
mov dword [rsp + 0x3c], r9d
mov byte [r14 - 4], r9b
mov al, byte [rsp + 0x34]
ror dword [rsp + 0x3c], 8
movzx r9d, word [rbp + 0x19e]
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rsp + 0x34], 8
mov al, byte [rsp + 0x3c]
mov byte [r14 - 0xd], al
mov al, byte [rsp + 0x34]
ror dword [rsp + 0x3c], 8
mov byte [r14 - 9], al
ror dword [rsp + 0x34], 8
mov al, byte [rsp + 0x3c]
mov byte [r14 - 0xe], al
ror dword [rsp + 0x3c], 8
mov al, byte [rsp + 0x34]
mov byte [r14 - 0xa], al
ror dword [rsp + 0x34], 8
mov al, byte [rsp + 0x3c]
mov byte [r14 - 0xf], al
mov al, byte [rsp + 0x34]
mov byte [r14 - 0xb], al
mov esi, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x34]
ror esi, 8
ror edi, 8
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x34], edi
sub rdx, 1
jne 0x1400e62e9
mov dl, byte [rsp + 0x30]
mov r15d, 0xc0000023
mov ebx, dword [rbp - 0x60]
mov r14, qword [rbp - 0x30]
mov r13, qword [rbp - 0x40]
mov r10, qword [rsp + 0x60]
xor r11d, r11d
mov eax, r11d
test r13, r13
je 0x1400e65fa
xor dl, byte [rax + r10]
inc rax
cmp rax, r13
jb 0x1400e65ee
mov rcx, qword [rbp + 0x68]
movzx eax, dl
cmp rax, qword [rcx + r13]
je 0x1400e6612
mov rsi, qword [rbp - 0x58]
mov edi, 0xc004d501
jmp 0x1400e662b
mov rsi, r10
mov qword [rbp - 0x58], r10
mov r10, r11
mov qword [rsp + 0x60], r11
mov qword [rbp + 0x88], r13
mov edi, r11d
test r10, r10
je 0x1400e664d
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 - 0x58]
xor r11d, r11d
test edi, edi
js 0x1400e6673
mov ecx, dword [rbp + 0x88]
mov r12, rsi
mov qword [rbp + 0x30], rsi
mov edi, 0x10000000
mov rsi, r11
mov dword [rbp - 0x6c], ecx
mov qword [rbp - 0x58], r11
jmp 0x1400e667f
mov rsi, qword [rbp - 0x58]
mov ecx, dword [rbp - 0x6c]
mov edi, 0xd0000001
mov r12, qword [rbp + 0x30]
test rsi, rsi
je 0x1400e66a2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp - 0x6c]
xor r11d, r11d
mov qword [rbp - 0x58], r11
test edi, edi
js 0x1400e6801
cmp ecx, 4
jae 0x1400e66b6
mov edi, ebx
jmp 0x1400e67fd
mov r9d, dword [r12]
lea rdx, [r12 + 4]
mov dword [rsp + 0x68], r9d
cmp rdx, r12
jb 0x1400e67f8
lea eax, [rcx - 4]
cmp eax, 4
jb 0x1400e66af
mov esi, dword [rdx]
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400e67f8
lea eax, [rcx - 8]
cmp eax, esi
jb 0x1400e66af
lea eax, [rsi + 8]
cmp eax, 8
jb 0x1400e67f8
mov r8d, ecx
lea rdx, [rdi + rsi]
lea rax, [r12 + r8]
cmp rax, rdx
jb 0x1400e66af
mov rax, r12
sub rax, rdi
sub rax, rsi
add rax, r8
cmp rax, 8
jae 0x1400e66af
mov dword [rsp + 0x5c], r11d
mov r12, r11
mov r8d, r11d
test rdi, rdi
je 0x1400e6792
mov rcx, rdi
cmp rdx, rdi
jb 0x1400e67f8
jbe 0x1400e678d
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x1400e67f8
cmp rax, rdx
ja 0x1400e677f
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400e6786
mov dword [rbp + 0xbc], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x1400e67f8
mov rcx, r9
cmp r9, rdx
ja 0x1400e677f
inc r8d
mov dword [rsp + 0x5c], r8d
cmp rcx, rdx
jae 0x1400e6790
jmp 0x1400e6737
mov edi, 0xc000000d
jmp 0x1400e67fd
mov edi, 0xc0000095
jmp 0x1400e67e6
cmp rcx, rdx
jne 0x1400e677f
test esi, esi
je 0x1400e67bf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
mov r12, rax
test rax, rax
jne 0x1400e67bf
mov edi, 0xc0000017
jmp 0x1400e67e6
test rdi, rdi
je 0x1400e67d5
mov r8, rsi
mov rdx, rdi
mov rcx, r12
call sub.msvcrt.dll_memcpy
xor r11d, r11d
mov eax, dword [rsp + 0x5c]
mov dword [rbp - 0x80], eax
mov qword [rbp - 0x78], r12
mov dword [rbp - 0x7c], esi
mov edi, r11d
test edi, edi
js 0x1400e67fd
mov eax, dword [rsp + 0x68]
cmp eax, dword [rbp - 0x80]
je 0x1400e67fd
jmp 0x1400e66af
mov edi, 0xc0000095
bts edi, 0x1c
mov rbx, qword [rsp + 0x78]
xor r13d, r13d
test rbx, rbx
je 0x1400e6822
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp - 0x38]
test rsi, rsi
je 0x1400e68a6
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x1400e684c
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 [rsi + 8], r13
mov rbx, qword [rsi + 0x18]
test rbx, rbx
je 0x1400e686d
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 [rsi + 0x18], r13
mov rbx, qword [rsi + 0x28]
test rbx, rbx
je 0x1400e688e
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 [rsi + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x38], r13
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x1400e68c3
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 - 0x18]
test rbx, rbx
je 0x1400e68e0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x1400e695c
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x1400e6906
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 [r14 + 8], r13
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x1400e6927
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 [r14 + 0x18], r13
mov rbx, qword [r14 + 0x28]
test rbx, rbx
je 0x1400e6948
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 [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 rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x1400e6979
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, edi
test edi, edi
js 0x1400e4884
cmp dword [rbp - 0x80], 3
je 0x1400e6993
mov ebx, 0xc004d501
jmp 0x1400e4884
cmp qword [rbp - 0x78], r13
jne 0x1400e69a5
mov ebx, 0xc000000d
mov esi, 0xc0000095
jmp 0x1400e69ea
mov rdi, qword [rbp - 0x78]
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x1400e69e3
test ecx, ecx
mov dword [rbp + 0xb4], ecx
mov rax, r13
cmovne rax, rdx
mov qword [rbp + 0x168], rax
mov ebx, r13d
cmp ecx, 4
jne 0x1400e4f8d
mov edi, dword [rax]
mov esi, 0xc0000095
mov dword [rsp + 0x70], edi
jmp 0x1400e69ee
mov esi, 0xc0000095
mov ebx, esi
mov edi, dword [rsp + 0x70]
test ebx, ebx
js 0x1400e4884
mov ebx, edi
test edi, edi
js 0x1400e4884
cmp qword [rbp - 0x78], r13
jne 0x1400e6a0d
mov ebx, 0xc000000d
jmp 0x1400e6a69
mov rax, qword [rbp - 0x78]
mov ecx, r13d
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400e6a67
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x1400e6a67
inc ecx
cmp ecx, 1
jb 0x1400e6a14
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400e6a67
test ecx, ecx
mov dword [rbp + 0xc0], ecx
mov rax, r13
cmovne rax, rdx
mov qword [rbp + 0x170], rax
mov ebx, r13d
cmp ecx, 8
jne 0x1400e4f8d
mov rax, qword [rax]
mov qword [rbp + 0x130], rax
jmp 0x1400e6a69
mov ebx, esi
test ebx, ebx
js 0x1400e4884
mov rax, qword [rbp + 0x130]
cmp qword [rbp + 0x58], rax
jne 0x1400e6989
lea rdx, [0x1404261b4]
lea rcx, [0x14040d844]
call fcn.1400e90f0
cmp qword [rbp - 0x78], r13
jne 0x1400e6aa5
mov ebx, 0xc000000d
jmp 0x1400e4884
mov rax, qword [rbp - 0x78]
mov ecx, r13d
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400e6b05
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x1400e6b05
inc ecx
cmp ecx, 2
jb 0x1400e6aac
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400e6b05
test ecx, ecx
mov dword [rbp + 0xe0], ecx
mov rax, r13
cmovne rax, rdx
mov qword [rbp + 0x160], rax
mov ebx, r13d
cmp ecx, 0x10
je 0x1400e6af9
mov ebx, 0x8007000d
jmp 0x1400e4884
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1a0], xmm0
jmp 0x1400e6b2e
mov ebx, esi
jmp 0x1400e4884
or qword [rbp - 0x20], 0xffffffffffffffff
mov ebx, edi
jmp 0x1400e4884
or qword [rbp - 0x28], 0xffffffffffffffff
mov ebx, 0xc0000095
jmp 0x1400e4884
mov edi, dword [rsp + 0x70]
xor r13d, r13d
test ebx, ebx
js 0x1400e4884
test edi, edi
cmovne ebx, edi
jmp 0x1400e4884