Function at 0x14001e190
Capabilities:
Encode data using xor
Execute anti-debugging instructions
Link many functions at runtime
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1110]
mov eax, 0x1210
call fcn.1400678c0
sub rsp, rax
mov rax, qword [0x1400bd288]
xor rax, rsp
mov qword [rbp + 0x1100], rax
xor r14d, r14d
mov qword [rbp + 0x418], r8
mov qword [rbp + 0x78], rdx
mov qword [rbp + 0x1a0], r14
test rdx, rdx
jne 0x14001e1eb
mov r14d, 0x80070057
jmp 0x1400276c4
test r8, r8
je 0x14001e1e0
mov dword [rbp + 0x128], r14d
mov esi, 1
mov dword [rbp + 0xd8], r14d
mov qword [rbp + 0x110], r14
mov dword [rbp + 0x88], r14d
xor eax, eax
lock cmpxchg dword [0x1400be658], esi
jne 0x14001e211
mov eax, dword [0x1400be654]
or edi, 0xffffffff
mov dword [rbp + 0x8c], edi
mov r15d, 0x338
test eax, eax
jne 0x14001e7df
mov dword [rbp - 0x38], r14d
mov qword [rbp + 0x170], r14
mov qword [rbp + 0x268], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14001e75b
mov edx, r14d
mov dword [rbp + 0x3c], r14d
mov dword [rbp - 8], edx
lea r15, [rax + 7]
mov ebx, r14d
lea r12, [0x1400907e2]
mov ecx, edi
mov r11d, r14d
mov r13d, 0x67
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r12 - 4]
mov r8d, r11d
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
xor r8d, r9d
xor r8d, edx
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r8d
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor r8d, edx
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r8d, edx
mov edx, r8d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub edx, eax
xor r8d, edx
mov eax, r8d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
mov eax, r8d
mov edi, r8d
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r8d, edx
lea eax, [r8 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xe
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
xor r8d, ecx
mov dword [rbp - 8], r8d
mov ecx, r9d
xor edx, eax
xor edx, ebx
mov ebx, r10d
xor r11d, edx
mov dword [rbp + 0x3c], r11d
mov byte [r15 - 4], r11b
mov al, byte [rbp - 8]
ror dword [rbp + 0x3c], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp - 8], 8
mov al, byte [rbp + 0x3c]
mov byte [r15 - 0xd], al
mov al, byte [rbp - 8]
ror dword [rbp + 0x3c], 8
mov byte [r15 - 9], al
ror dword [rbp - 8], 8
mov al, byte [rbp + 0x3c]
mov byte [r15 - 0xe], al
ror dword [rbp + 0x3c], 8
mov al, byte [rbp - 8]
mov byte [r15 - 0xa], al
ror dword [rbp - 8], 8
mov al, byte [rbp + 0x3c]
mov byte [r15 - 0xf], al
mov al, byte [rbp - 8]
mov byte [r15 - 0xb], al
mov r11d, dword [rbp + 0x3c]
mov edx, dword [rbp - 8]
ror r11d, 8
ror edx, 8
mov dword [rbp + 0x3c], r11d
mov dword [rbp - 8], edx
sub r13, rsi
jne 0x14001e290
mov rsi, qword [rbp + 0x50]
mov rax, r14
mov cl, r14b
mov ebx, r14d
mov r13d, r14d
mov edx, 1
mov r15d, 0x338
xor cl, byte [rax + rsi]
add rax, rdx
cmp rax, r15
jb 0x14001e5d2
movzx eax, cl
cmp rax, qword [0x140090b18]
je 0x14001e5f0
mov edi, 0xc004d501
jmp 0x14001e603
mov qword [rbp + 0x170], rsi
mov edi, ebx
mov rsi, r14
mov qword [rbp + 0x268], r15
test rsi, rsi
je 0x14001e61c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14001e75b
mov rax, qword [rbp + 0x268]
lea rsi, [0x1400be360]
mov rdi, qword [rbp + 0x170]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x60]
mov byte [rax + rdi - 1], r14b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [rdi], r14b
je 0x14001e760
jmp 0x14001e65e
lea rsi, [0x1400be360]
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14001e665
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14001e75b
mov rax, qword [rsi]
mov ecx, 0x5a4d
mov ebx, r14d
cmp word [rax], cx
je 0x14001e6a8
mov ebx, 0xc000007b
jmp 0x14001e6f2
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001e6a1
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x14001e6a1
cmp dword [rcx], 0x4550
jne 0x14001e6a1
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001e6e1
mov ebx, 0xc000000d
jmp 0x14001e6f2
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov r12d, dword [rdi + 2]
mov r15d, r14d
add rdi, 6
test r12d, r12d
je 0x14001e748
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x14001e709
inc rdi
add rdi, rax
test ebx, ebx
js 0x14001e738
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001e760
mov ecx, dword [rbp - 0x38]
lea rdx, [0x1400b7050]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp - 0x38], eax
add r15d, eax
cmp r15d, r12d
jb 0x14001e702
mov esi, 1
add r13d, esi
cmp byte [rdi], r14b
jne 0x14001e657
jmp 0x14001e765
mov ebx, 0xc000007a
mov esi, 1
cmp qword [rbp + 0x170], r14
je 0x14001e786
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x170]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
jns 0x14001e7d9
lea r15, [0x1400be360]
mov ebx, 4
mov rdi, r15
cmp qword [rdi], r14
je 0x14001e7a7
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, rsi
jne 0x14001e799
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400737e0]
lea rcx, [0x1400b7050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001e7e7
mov eax, dword [0x1400be654]
add eax, esi
mov dword [0x1400be654], eax
mov eax, r14d
mov r13d, 0x8007000e
xchg dword [0x1400be658], eax
mov qword [rbp + 0x1e0], r14
mov esi, r14d
mov qword [rbp + 0x1e8], r14
mov ebx, r14d
mov rax, qword gs:[0x60]
lea r12d, [r13 - 0xe]
mov edi, 0x80004005
cmp dword [rax + 0x2c0], r14d
je 0x14001eaaf
mov rax, qword [0x1400b7160]
call qword [case.0x140066b0e.0]
mov r15, rax
test rax, rax
jne 0x14001e85e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14001eab5
mov ebx, edi
jmp 0x14001eab5
mov qword [rbp + 0xe0], r14
mov r9d, r14d
mov rdi, r14
lea rax, [rbp + 0x140]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400b7180]
mov rcx, r15
call qword [case.0x140066b0e.0]
test eax, eax
jne 0x14001e909
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001e8f3
cmp qword [rbp + 0xe0], r14
jne 0x14001e8ea
mov edi, dword [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xe0]
mov rdi, rax
call fcn.140047644
test rdi, rdi
je 0x14001e8e5
mov r9d, dword [rbp + 0x140]
mov qword [rbp + 0xe0], rdi
jmp 0x14001e86b
mov ebx, r13d
jmp 0x14001e917
mov edi, 0x80004005
mov ebx, edi
jmp 0x14001e923
mov edi, 0x80004005
test eax, eax
je 0x14001e8ef
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x14001e923
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x1e0], rax
mov edi, 0x80004005
mov qword [rbp + 0xe0], r14
lea rcx, [rbp + 0xe0]
call fcn.140047644
test ebx, ebx
js 0x14001eab5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x1400b7178]
call qword [case.0x140066b0e.0]
mov r15, rax
test rax, rax
je 0x14001e83e
mov qword [rbp + 0xe8], r14
mov ebx, r14d
mov r9d, r14d
mov rdi, r14
lea rax, [rbp + 0x144]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400b7180]
mov rcx, r15
call qword [case.0x140066b0e.0]
test eax, eax
jne 0x14001ea06
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001e9f0
cmp qword [rbp + 0xe8], r14
jne 0x14001e9e7
mov edi, dword [rbp + 0x144]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xe8]
mov rdi, rax
call fcn.140047644
test rdi, rdi
je 0x14001e9e2
mov r9d, dword [rbp + 0x144]
mov qword [rbp + 0xe8], rdi
jmp 0x14001e968
mov ebx, r13d
jmp 0x14001ea14
mov edi, 0x80004005
mov ebx, edi
jmp 0x14001ea20
mov edi, 0x80004005
test eax, eax
je 0x14001e9ec
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x14001ea20
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x1e8], rax
mov edi, 0x80004005
mov qword [rbp + 0xe8], r14
lea rcx, [rbp + 0xe8]
call fcn.140047644
test ebx, ebx
js 0x14001eab5
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
je 0x14001eaaf
lea rdx, str.WinSta0
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001eaaf
mov rcx, qword [rbp + 0x1e8]
test rcx, rcx
je 0x14001eaaf
lea rdx, str.Default
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001eaaf
xor eax, eax
mov dword [rbp + 0x148], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 4
lea r8, [rbp + 0x148]
mov rcx, rax
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
test eax, eax
je 0x14001e83e
mov eax, SafeArrayGetDim
test byte [rbp + 0x148], al
mov eax, 1
cmove esi, eax
mov dword [rbp + 0x88], esi
lea rcx, [rbp + 0x1e8]
call fcn.140047644
lea rcx, [rbp + 0x1e0]
call fcn.140047644
mov eax, dword [rbp + 0x88]
test ebx, ebx
cmovs eax, r14d
mov dword [rbp + 0x88], eax
mov edx, 4
mov dword [rbp + 0xd8], r14d
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
lea rcx, [rbp + 0x110]
mov qword [rbp + 0x80], rax
mov rdi, rax
call fcn.14004761c
test rdi, rdi
jne 0x14001ebd1
mov qword [rbp + 0x110], r14
mov r15d, r13d
mov ebx, dword [rbp + 0xc4]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400be658], r12d
jne 0x14001eb29
mov eax, dword [0x1400be654]
test eax, eax
jle 0x14001eb98
sub eax, r12d
mov dword [0x1400be654], eax
jne 0x14001eb98
lea r13, [0x1400be360]
mov esi, 4
mov rdi, r13
cmp qword [rdi], r14
je 0x14001eb68
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r12
jne 0x14001eb5a
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r13
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400737e0]
lea rcx, [0x1400b7050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
lea rcx, [rbp + 0x110]
xchg dword [0x1400be658], eax
call fcn.14004761c
test r15d, r15d
jns 0x1400276ad
cmp r15d, 0xd0000034
jne 0x140027666
mov r15d, 0xc004f012
mov r14d, r15d
jmp 0x1400276c4
xor eax, eax
mov qword [rbp + 0x110], rdi
mov qword [rbp - 0x60], rax
mov edi, LoadRegTypeLib
mov qword [rbp - 0x58], rax
mov r12, r14
mov qword [rbp + 0xa8], rax
mov r13, r14
mov qword [rbp + 0xb0], rax
lea rax, [0x1400bd3b0]
mov qword [rbp + 0x338], rax
mov dword [rbp + 0x120], r14d
mov dword [rbp + 0x98], r14d
mov qword [rbp + 0x270], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r15d, 8
mov r8d, edi
mov rcx, rax
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rdi, rax
test rax, rax
jne 0x14001ec64
mov r15d, 0xc0000017
jmp 0x14001ef53
mov r8, qword [rbp + 0x270]
mov rcx, rdi
mov rdx, qword [rbp + 0x338]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12, rdi
mov qword [rsp + 0x70], rdi
mov edi, dword [rbp + 0x270]
mov dword [rbp - 0x78], edi
lea rax, [0x1400bd2f0]
mov qword [rbp + 0x278], r15
mov qword [rbp + 0x340], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x68], rax
mov r15, rax
test rax, rax
je 0x14001ec59
mov r8, qword [rbp + 0x278]
mov rcx, rax
mov rdx, qword [rbp + 0x340]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp + 0x278]
mov dword [rbp - 0x30], ecx
mov qword [rsp + 0x68], r15
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x90], 8
lea r13d, [rdi + 4]
cmp r13d, 4
jb 0x14001ef48
mov dword [rbp + 0x90], r13d
lea eax, [r13 + 8]
or r8d, 0xffffffff
cmp eax, 8
mov edx, r8d
mov r10d, 0xc0000095
mov r9d, 0x10000000
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r9d
mov dword [rsp + 0x60], r15d
cmp eax, 8
jb 0x140021265
lea r12d, [rcx + 4]
cmp r12d, 4
jb 0x140021294
mov dword [rbp + 0x90], r12d
lea eax, [r12 + rdx]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r9d
mov dword [rsp + 0x60], r15d
cmp eax, edx
jb 0x140021260
mov dword [rbp + 0x90], SafeArrayGetDim
lea eax, [rcx + 0xc]
mov edi, r8d
cmp eax, ecx
cmovae edi, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r9d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x140021260
mov rcx, qword [rbp + 0x78]
lea r8, [rbp + 0x1d8]
mov edx, 0x7fffffff
call fcn.140047684
test eax, eax
jns 0x14001edda
mov qword [rbp + 0x1d8], r14
mov r15d, 0xc000003e
mov r12, qword [rsp + 0x70]
jmp 0x14001ef4e
mov rax, qword [rbp + 0x1d8]
mov r10d, 0xc0000095
inc rax
mov qword [rbp + 0x1d8], rax
lea ecx, [rax*2 + 4]
cmp ecx, 4
jb 0x14001ee08
mov r15d, r14d
mov dword [rbp + 0x90], ecx
jmp 0x14001ee11
mov ecx, dword [rbp + 0x90]
mov r15d, r10d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14002123a
lea eax, [rcx + rdi]
or r8d, 0xffffffff
cmp eax, edi
mov edx, r8d
mov r9d, 0x10000000
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r9d
mov dword [rsp + 0x60], r15d
cmp eax, edi
jb 0x140021260
mov dword [rbp + 0x90], 8
lea eax, [rdx + 8]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r9d
mov dword [rsp + 0x60], r15d
cmp eax, edx
jb 0x140021260
lea eax, [rcx + 8]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r9d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x140021260
mov dword [rbp - 0x5c], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
jne 0x14001eec5
mov r15d, 0xc0000017
jmp 0x14001edd0
mov qword [rbp - 0x58], rdx
mov dword [rbp - 0x60], r14d
mov dword [rbp + 0x218], r14d
lea rdi, [rax + 4]
cmp rdi, rdx
jb 0x14001ef43
mov ecx, dword [rbp - 0x5c]
add rax, 8
add rcx, rdx
cmp rax, rcx
jbe 0x14001eef7
mov r15d, 0xc0000023
jmp 0x14001edd0
mov dword [rdx], 4
mov eax, dword [rbp + 0x218]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x60]
inc ecx
mov dword [rbp - 0x60], ecx
mov r8d, dword [rbp - 0x78]
test r8d, r8d
je 0x14001f0f1
cmp qword [rbp - 0x58], r14
jne 0x14001f069
mov dword [rbp + 0x210], r13d
mov eax, dword [rbp - 0x5c]
lea edx, [rax + r13]
cmp edx, eax
jb 0x14001ef43
inc ecx
mov dword [rbp - 0x5c], edx
mov dword [rbp - 0x60], ecx
jmp 0x14001f108
mov r12, qword [rsp + 0x70]
mov r15d, 0xc0000095
mov r13, qword [rsp + 0x68]
mov dword [rsp + 0x60], r15d
and qword [rbp - 0x60], 0
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x14001ef7e
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 - 0x58], r14
and qword [rbp + 0xa8], 0
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x14001efad
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 + 0xb0], r14
test r12, r12
je 0x14001efc6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x14001efdf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14001eb1d
mov eax, dword [rbp + 0x88]
test eax, eax
je 0x14002762a
mov edi, 0x104
mov qword [rbp + 0x3c0], r14
mov r8d, edi
mov dword [0x1400be350], eax
lea rdx, [rbp + 0xef0]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1400257a7
cmp eax, edi
jne 0x14001f03a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400257a7
mov rax, qword [0x1400b7148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [case.0x140066b0e.0]
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x14002129e
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400257a7
mov rdx, qword [rbp - 0x58]
mov edi, r14d
mov r13d, 1
test ecx, ecx
je 0x14001f0a3
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001f0e9
mov dword [rbp + 0x210], eax
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x14001ef43
add edi, r13d
mov rdx, r9
cmp edi, ecx
jb 0x14001f07a
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x14001ef43
mov ecx, dword [rbp - 0x5c]
lea rax, [r8 + 4]
add rcx, qword [rbp - 0x58]
add rax, rdx
mov dword [rsp + 0x60], r14d
mov r15d, r14d
cmp rax, rcx
ja 0x14001eeec
mov dword [rdx], r8d
mov rcx, r9
mov rdx, qword [rbp + 0x50]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp - 0x60]
add ecx, r13d
mov dword [rbp - 0x60], ecx
jmp 0x14001f0fc
mov r15d, 0xc0000095
jmp 0x14001f0f7
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14002123a
mov edx, dword [rbp - 0x5c]
mov r10d, dword [rbp - 0x30]
test r10d, r10d
je 0x14001f1e2
cmp qword [rbp - 0x58], r14
jne 0x14001f14c
mov dword [rbp + 0x1fc], r12d
lea eax, [rdx + r12]
cmp eax, edx
jb 0x14001ef43
mov edx, eax
mov r13d, 1
mov rax, qword [rbp + 0x1c8]
add ecx, r13d
mov qword [rbp + 0x280], rax
jmp 0x14001f216
mov rdi, qword [rbp - 0x58]
mov r8d, r14d
mov r12d, 1
test ecx, ecx
je 0x14001f187
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14001f1d2
mov dword [rbp + 0x1fc], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x14001ef43
add r8d, r12d
mov rdi, r9
cmp r8d, ecx
jb 0x14001f15d
lea r9, [rdi + 4]
cmp r9, rdi
jb 0x14001ef43
mov ecx, edx
lea rax, [r10 + 4]
add rcx, qword [rbp - 0x58]
add rax, rdi
mov dword [rsp + 0x60], r14d
mov r15d, r14d
mov r8, r10
cmp rax, rcx
ja 0x14001eeec
mov rdx, qword [rbp - 0x68]
mov rcx, r9
mov dword [rdi], r10d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp - 0x60]
mov edx, dword [rbp - 0x5c]
add ecx, r12d
mov dword [rbp - 0x60], ecx
jmp 0x14001f1ed
mov r10d, 0xc0000095
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001f1f3
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
mov r10d, 0xc0000095
test r15d, r15d
js 0x14002123a
mov r13d, 1
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x280], rax
cmp qword [rbp - 0x58], r14
jne 0x14001f239
mov dword [rbp + 0x238], SafeArrayGetDim
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x14001ef43
add ecx, r13d
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x60], ecx
jmp 0x14001f2ba
mov rdi, qword [rbp - 0x58]
mov r8d, r14d
test ecx, ecx
je 0x14001f272
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14001f2e2
mov dword [rbp + 0x238], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x140021294
add r8d, r13d
mov rdi, r9
cmp r8d, ecx
jb 0x14001f244
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140021294
mov ecx, edx
lea rax, [rdi + 0xc]
add rcx, qword [rbp - 0x58]
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp rax, rcx
ja 0x14001eeec
mov dword [rdi], 8
movsd xmm0, qword [rbp + 0x280]
movsd qword [r8], xmm0
add dword [rbp - 0x60], r13d
test r15d, r15d
js 0x14002123a
mov r12, qword [rbp + 0x78]
lea r8, [rbp + 0x180]
mov rcx, r12
mov edx, 0x7fffffff
call fcn.140047684
test eax, eax
jns 0x14001f2ec
mov qword [rbp + 0x180], r14
jmp 0x14001edca
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001f2b1
mov rax, qword [rbp + 0x180]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x140021287
lea r8d, [rcx + rcx]
mov qword [rbp + 0x180], rcx
test r8d, r8d
je 0x14001f3f7
cmp qword [rbp - 0x58], r14
jne 0x14001f376
add r8d, 4
cmp r8d, 4
jb 0x14001f363
mov dword [rbp + 0x1f0], r8d
mov eax, dword [rbp - 0x5c]
mov r10d, 0xc0000095
lea edi, [rax + r8]
cmp edi, eax
jb 0x14001f350
add dword [rbp - 0x60], r13d
mov r15d, r14d
mov dword [rbp - 0x5c], edi
mov dword [rsp + 0x60], r14d
jmp 0x14001f40b
or edi, 0xffffffff
mov dword [rsp + 0x60], r10d
mov dword [rbp - 0x5c], edi
mov r15d, r10d
jmp 0x14001f40b
mov r10d, 0xc0000095
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001f408
mov ecx, r14d
mov rdx, qword [rbp - 0x58]
cmp dword [rbp - 0x60], r14d
jbe 0x14001f3a6
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001f363
mov dword [rbp + 0x1f0], eax
add rax, rdx
cmp rax, rdx
jb 0x14001f363
add ecx, r13d
mov rdx, rax
cmp ecx, dword [rbp - 0x60]
jb 0x14001f383
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x14001f363
mov edi, dword [rbp - 0x5c]
lea rax, [r8 + 4]
mov ecx, edi
mov dword [rsp + 0x60], r14d
add rcx, qword [rbp - 0x58]
add rax, rdx
mov r10d, r8d
mov r15d, r14d
cmp rax, rcx
jbe 0x14001f3e0
mov r15d, 0xc0000023
mov dword [rsp + 0x60], r15d
lea r10d, [r15 + 0x72]
jmp 0x14001f40b
mov dword [rdx], r8d
mov rcx, r9
mov r8, r10
mov rdx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add dword [rbp - 0x60], r13d
jmp 0x14001f402
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
mov r10d, 0xc0000095
mov edi, dword [rbp - 0x5c]
test r15d, r15d
js 0x14002123a
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x208], eax
cmp qword [rbp - 0x58], r14
jne 0x14001f450
mov dword [rbp + 0x200], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140021294
add dword [rbp - 0x60], r13d
mov edi, eax
mov dword [rbp + 0x118], 4
jmp 0x14001f4e2
mov ecx, r14d
mov rdx, qword [rbp - 0x58]
cmp dword [rbp - 0x60], r14d
jbe 0x14001f48b
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001f505
mov dword [rbp + 0x200], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140021294
add ecx, r13d
mov rdx, r8
cmp ecx, dword [rbp - 0x60]
jb 0x14001f45d
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140021294
mov ecx, edi
lea rax, [rdx + 8]
add rcx, qword [rbp - 0x58]
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp rax, rcx
ja 0x14001eeec
mov dword [rdx], 4
mov eax, dword [rbp + 0x208]
mov dword [r8], eax
add dword [rbp - 0x60], r13d
mov edi, dword [rbp - 0x5c]
test r15d, r15d
js 0x14002123a
mov dword [rbp + 0x118], 4
cmp qword [rbp - 0x58], r14
jne 0x14001f50f
mov dword [rbp + 0x220], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140021294
add dword [rbp - 0x60], r13d
mov edi, eax
mov dword [rbp - 0x5c], eax
jmp 0x14001f591
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001f4c9
mov ecx, r14d
mov rdx, qword [rbp - 0x58]
cmp dword [rbp - 0x60], r14d
jbe 0x14001f54a
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001f614
mov dword [rbp + 0x220], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140021294
add ecx, r13d
mov rdx, r8
cmp ecx, dword [rbp - 0x60]
jb 0x14001f51c
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140021294
mov ecx, edi
lea rax, [rdx + 8]
add rcx, qword [rbp - 0x58]
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp rax, rcx
ja 0x14001eeec
mov dword [rdx], 4
mov eax, dword [rbp + 0x118]
mov dword [r8], eax
add dword [rbp - 0x60], r13d
mov edi, dword [rbp - 0x5c]
test r15d, r15d
js 0x14002123a
mov dword [rbp + 0x2f0], 8
mov r8, r14
mov qword [rbp + 0x60], r14
mov r12d, r14d
mov qword [rbp + 0x178], r14
mov qword [rbp + 0x58], r14
mov r13, r14
mov dword [rbp - 0x50], r14d
mov qword [rbp - 0x70], r14
mov dword [rbp + 0x70], r14d
mov qword [rbp + 0x48], r14
mov qword [rbp - 0x20], r14
mov dword [rbp + 0xc0], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x288], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp + 0xc8], ecx
cmp eax, 8
jb 0x14001f6ca
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14001f621
mov r15d, r10d
jmp 0x14001f6ca
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001f588
mov dword [rbp + 0xc8], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001f653
mov r15d, 0xc0000017
mov r8, r14
jmp 0x14001f6ca
mov eax, dword [rbp - 0x60]
lea rdx, [rdi + 4]
mov dword [rdi], eax
cmp rdx, rdi
jb 0x14001f6a4
mov eax, dword [rbp - 0x5c]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x14001f6a4
mov edx, dword [rbp + 0xc8]
mov r15d, r14d
mov rax, qword [rbp + 0x288]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x58]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12d, dword [rbp + 0xc8]
mov r8, rdi
mov qword [rbp + 0x60], rdi
mov rdi, r14
jmp 0x14001f6ad
mov r8, r14
mov r15d, 0xc0000095
test rdi, rdi
je 0x14001f6ca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rbp + 0x60]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140020619
mov qword [rbp + 0x350], r14
mov qword [rbp + 0x358], r14
mov qword [rbp + 0x360], r14
mov qword [rbp + 0x368], r14
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x348], r14
test r8, r8
jne 0x14001f716
mov r15d, 0xc000000d
jmp 0x14001feae
mov r15d, r12d
mov qword [rbp - 0x68], r15
test r12d, r12d
je 0x14001fe05
lea rdi, [r15 + 8]
mov qword [rbp + 0x18], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x10], rax
test rax, rax
je 0x14001fe05
mov r8, qword [rbp + 0x60]
mov dl, r14b
mov byte [rsp + 0x64], dl
mov rcx, r14
test r12d, r12d
je 0x14001f777
mov edi, 1
xor dl, byte [r8 + rcx]
add rcx, rdi
cmp rcx, r15
jb 0x14001f767
mov byte [rsp + 0x64], dl
mov r11, rax
mov qword [rbp + 0x910], rbx
or r10d, 0xffffffff
mov dword [rbp - 0x18], r14d
mov rax, r15
mov dword [rbp - 0x40], r10d
mov dword [rbp - 0x38], r14d
mov r9d, r14d
mov dword [rbp - 0x7c], r14d
and eax, 7
je 0x14001f88b
mov dword [rbp - 0x38], r14d
mov ecx, r14d
mov dword [rbp - 0x7c], ecx
mov r12d, r14d
mov r10d, r14d
test eax, eax
je 0x14001f803
mov esi, 1
lea r9d, [rsi + 0x37]
movzx edi, byte [r8]
inc r8
cmp r10d, 4
jge 0x14001f7de
lea ecx, [r9 - 0x20]
shl edi, cl
mov ecx, dword [rbp - 0x7c]
or ecx, edi
mov dword [rbp - 0x7c], ecx
jmp 0x14001f7e9
mov ecx, r9d
shl edi, cl
mov ecx, dword [rbp - 0x7c]
or r12d, edi
add r10d, esi
sub r9d, 8
cmp r10d, eax
jl 0x14001f7c1
mov dword [rbp - 0x38], r12d
movabs rsi, 0x7f1137fab69605e
mov r9d, ecx
mov r10d, r12d
xor r9d, 0xb17a307a
xor r10d, 0x42f6b18d
mov dword [rbp - 0x18], r9d
mov ecx, r14d
mov dword [rbp - 0x40], r10d
test eax, eax
je 0x14001f853
lea r12, [r11 + 1]
cmp ecx, 4
jge 0x14001f838
rol r9d, 8
mov edi, r9d
jmp 0x14001f83f
rol r10d, 8
mov edi, r10d
inc ecx
mov byte [r11], dil
mov r11, r12
cmp ecx, eax
jl 0x14001f826
mov r9d, dword [rbp - 0x18]
mov r10d, dword [rbp - 0x40]
cmp eax, 4
jbe 0x14001f86e
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0x40], r10d
jmp 0x14001f88b
mov r10d, r14d
mov dword [rbp - 0x40], r14d
jae 0x14001f88b
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov dword [rbp - 0x18], r9d
mov r12, r15
shr r12, 3
test r12, r12
je 0x14001fbf7
movzx eax, word [rbp + 0x912]
lea rcx, [r8 + 2]
mov esi, dword [rbp - 0x38]
mov r13d, dword [rbp - 0x7c]
movzx edx, word [rbp + 0x914]
mov dword [rbp - 0x30], eax
mov eax, ebx
xor eax, dword [rbp + 0x914]
add r11, 7
movzx r14d, bx
mov qword [rbp + 0x78], r11
mov r15d, eax
movzx r11d, word [rbp + 0x912]
movzx eax, byte [rcx - 1]
movzx r8d, byte [rcx - 2]
movzx edi, byte [rcx + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [rcx]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 1]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 3]
or edi, eax
movzx eax, byte [rcx + 4]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl edi, 8
or edi, eax
mov qword [rbp + 0x50], rcx
mov ecx, dword [rbp + 0x914]
xor r10d, edi
mov eax, r10d
sub eax, r14d
xor eax, dword [rbp + 0x914]
xor eax, r8d
xor r9d, eax
xor ecx, r9d
mov eax, r9d
ror eax, 7
ror ecx, 0xf
imul ecx, r11d
mov r11d, dword [rbp + 0x914]
add ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xa
lea ecx, [rbx + r10]
ror ecx, 9
imul ecx, edx
sub ecx, eax
movzx eax, word [rbp + 0x916]
xor r9d, ecx
mov ecx, edx
xor ecx, r9d
rol ecx, 4
imul ecx, eax
mov eax, r9d
rol eax, 5
add ecx, eax
mov eax, r11d
xor r10d, ecx
mov ecx, ebx
xor ecx, r10d
sub eax, ecx
xor r9d, eax
movzx eax, word [rbp + 0x912]
mov ecx, r9d
sub ecx, r14d
imul ecx, eax
mov eax, r9d
shr eax, 6
sub ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x916]
mov eax, r10d
ror eax, 0xf
xor eax, edx
imul eax, r14d
xor r9d, eax
mov eax, r9d
not eax
ror eax, 3
add eax, ecx
imul eax, edx
xor r10d, eax
mov eax, r10d
sub eax, r14d
sub eax, r11d
xor r9d, eax
movzx eax, word [rbp + 0x916]
xor eax, r9d
mov ecx, r9d
imul eax, dword [rbp - 0x30]
ror ecx, 0xa
xor ecx, eax
xor r10d, ecx
mov ecx, r14d
xor ecx, r10d
mov eax, r10d
rol ecx, 6
imul ecx, edx
ror eax, 3
xor ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x916]
mov eax, r9d
ror eax, 0xf
sub eax, ecx
imul eax, r14d
xor r10d, eax
xor ecx, r10d
mov eax, r10d
imul ecx, r14d
shr eax, 1
xor ecx, eax
mov eax, r10d
xor r9d, ecx
shr eax, 0xf
mov ecx, r10d
sub ecx, edx
rol ecx, 3
imul ecx, r14d
xor ecx, eax
movzx eax, word [rbp + 0x912]
xor r9d, ecx
mov ecx, r9d
sub ecx, edx
imul ecx, eax
mov eax, r9d
shr eax, 0xd
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
mov eax, r10d
ror ecx, 9
imul ecx, edx
ror eax, 0xb
xor ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x916]
mov eax, r9d
sub eax, ebx
sub eax, ecx
xor r10d, eax
movzx eax, word [rbp + 0x912]
xor eax, r10d
mov ecx, r10d
ror ecx, 7
imul eax, r14d
sub eax, ecx
movzx ecx, word [rbp + 0x916]
xor r9d, eax
movzx eax, word [rbp + 0x912]
xor ecx, r9d
rol ecx, 4
imul ecx, eax
mov eax, r9d
ror eax, 0x10
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
mov eax, r10d
ror ecx, 0xa
imul ecx, edx
ror eax, 4
add ecx, eax
xor r9d, ecx
movzx eax, word [rbp + 0x916]
mov ecx, r9d
sub ecx, ebx
ror ecx, 4
imul ecx, eax
mov eax, r9d
ror eax, 9
xor ecx, eax
xor r10d, ecx
mov ecx, r11d
xor ecx, r10d
mov eax, r10d
rol eax, 2
rol ecx, 8
imul ecx, r14d
sub ecx, eax
xor r9d, ecx
mov ecx, r11d
movzx r11d, word [rbp + 0x912]
sub ecx, r9d
ror ecx, 0xb
mov eax, r9d
ror eax, 0xc
imul ecx, r11d
sub ecx, eax
xor r10d, ecx
mov ecx, r11d
xor ecx, r10d
mov eax, r10d
shr eax, 8
imul ecx, edx
xor ecx, eax
mov eax, r15d
xor eax, r10d
xor r9d, ecx
mov rcx, qword [rbp + 0x78]
xor eax, r9d
xor eax, esi
xor r9d, r13d
mov dword [rbp - 0x40], eax
mov r13d, r8d
mov dword [rbp - 0x18], r9d
mov esi, edi
mov byte [rcx - 4], r9b
mov al, byte [rbp - 0x40]
ror dword [rbp - 0x18], 8
mov byte [rcx], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x18]
mov byte [rcx - 5], al
mov al, byte [rbp - 0x40]
ror dword [rbp - 0x18], 8
mov byte [rcx - 1], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x18]
mov byte [rcx - 6], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x40]
mov byte [rcx - 2], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x18]
mov byte [rcx - 7], al
mov al, byte [rbp - 0x40]
mov byte [rcx - 3], al
add rcx, 8
mov r9d, dword [rbp - 0x18]
mov r10d, dword [rbp - 0x40]
ror r9d, 8
ror r10d, 8
mov qword [rbp + 0x78], rcx
mov rcx, qword [rbp + 0x50]
mov dword [rbp - 0x18], r9d
mov dword [rbp - 0x40], r10d
sub r12, 1
jne 0x14001f8d6
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15, qword [rbp - 0x68]
mov r13d, r14d
movabs rsi, 0x7f1137fab69605e
mov r12, qword [rbp + 0x10]
movzx eax, dl
mov qword [r12 + r15], rax
mov r15, qword [rbp + 0x18]
mov qword [rbp + 0x348], r15
mov qword [rbp + 0x1d0], r12
lea rax, [0x1400bd3a0]
mov qword [rbp + 0x358], 8
mov qword [rbp + 0x350], rax
lea rax, [0x1400bd300]
mov qword [rbp + 0x368], LoadRegTypeLib
mov qword [rbp + 0x360], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001fc71
mov r15d, 0xc0000017
jmp 0x14001fdf4
mov dword [rax], r15d
mov r15d, r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14001fc9e
mov r15d, 0xc0000017
jmp 0x14001fd78
mov qword [rdi + 8], rax
mov r8, r15
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15d, LoadRegTypeLib
mov dword [rdi + 0x10], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov r15d, 8
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, rax
test rax, rax
je 0x14001fc93
mov qword [rdi + 0x18], rax
lea rax, [0x1400bd300]
movups xmm0, xmmword [rax]
lea edx, [r15 + 0x78]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [rcx + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001fc93
mov qword [rdi + 0x28], rax
movsd xmm0, qword [0x1400bd3a0]
mov r13, rdi
movsd qword [rax], xmm0
mov r15d, r14d
mov rdi, r14
test rdi, rdi
je 0x14001fdf4
mov r12, qword [rdi + 8]
test r12, r12
je 0x14001fd9e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x14001fdbf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x14001fde0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14001fe0b
mov qword [rbp + 0x178], r13
mov r13, r14
jmp 0x14001fe0b
mov r15d, 0xc0000001
mov rdi, qword [rbp + 0x1d0]
test rdi, rdi
je 0x14001fe32
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 + 0x1d0], r14
test r13, r13
je 0x14001feae
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x14001fe58
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 8], r14
mov rdi, qword [r13 + 0x18]
test rdi, rdi
je 0x14001fe79
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 0x18], r14
mov rdi, qword [r13 + 0x28]
test rdi, rdi
je 0x14001fe9a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 0x10000000
or r15d, r13d
mov dword [rsp + 0x60], r15d
jl 0x14002028a
mov r12, qword [rbp + 0x178]
mov ecx, dword [r12]
mov edi, dword [r12 + 0x20]
add ecx, 4
mov edx, dword [r12 + 0x10]
cmp ecx, 4
jb 0x140020012
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140020012
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x140020012
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140020012
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x140020012
mov dword [rbp + 0x224], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001ff47
mov r15d, 0xc0000017
mov r8d, 0xc0000095
jmp 0x14002001b
mov eax, dword [r12]
lea r15, [rdi + 4]
mov dword [rdi], eax
cmp r15, rdi
jb 0x14001ffea
mov r8d, dword [r12]
mov rcx, r15
mov rdx, qword [r12 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r12]
add rcx, r15
cmp rcx, r15
jb 0x14001ffea
mov eax, dword [r12 + 0x10]
lea r15, [rcx + 4]
mov dword [rcx], eax
cmp r15, rcx
jb 0x14001ffea
mov r8d, dword [r12 + 0x10]
mov rcx, r15
mov rdx, qword [r12 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r12 + 0x10]
add rcx, r15
cmp rcx, r15
jb 0x14001ffea
mov eax, dword [r12 + 0x20]
lea r15, [rcx + 4]
mov dword [rcx], eax
cmp r15, rcx
jb 0x14001ffea
mov r8d, dword [r12 + 0x20]
mov rcx, r15
mov rdx, qword [r12 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r12 + 0x20]
add rax, r15
cmp rax, r15
jb 0x14001ffea
mov eax, dword [rbp + 0x224]
mov r15d, r14d
mov qword [rbp + 0x58], rdi
mov rdi, r14
mov dword [rbp - 0x50], eax
jmp 0x14001fff0
mov r15d, 0xc0000095
test rdi, rdi
je 0x14001ff3c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14001ff3c
mov r8d, 0xc0000095
mov r15d, r8d
or r15d, r13d
mov dword [rsp + 0x60], r15d
jl 0x14002028a
mov qword [rbp + 0x370], r14
mov dword [rbp + 0x228], r14d
mov qword [rbp + 0x378], r14
mov dword [rbp + 0x22c], r14d
mov dword [rbp + 0x2f4], 0x3c
mov eax, 0x48
mov dword [rbp + 0x328], eax
mov dword [rbp + 0x32c], eax
lea r12d, [rax - 0x47]
cmp qword [rbp - 0x58], r14
jne 0x14002007a
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x14002015b
cmp dword [rbp - 0x60], r12d
jbe 0x14002006a
mov rax, qword [rbp - 0x58]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140020153
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140020153
add edx, r12d
cmp edx, r12d
jb 0x140020087
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140020153
test edi, edi
mov dword [rbp + 0x228], edi
mov rax, r14
cmovne rax, rcx
mov qword [rbp + 0x370], rax
cmp dword [rbp - 0x60], 2
jbe 0x14002006a
mov rax, qword [rbp - 0x58]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140020153
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140020153
add edx, r12d
cmp edx, 2
jb 0x1400200dc
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140020153
test edx, edx
mov dword [rbp + 0x22c], edx
mov rax, r14
cmovne rax, rcx
mov qword [rbp + 0x378], rax
lea eax, [rdi + 0x50]
cmp eax, 0x50
jb 0x140020153
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140020153
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140020153
mov dword [rbp + 0x330], eax
mov dword [rsp + 0x60], r14d
mov r15d, r14d
cmp eax, 0x400000
jbe 0x14002014e
mov r15d, 0x8000ffff
jmp 0x140020285
mov dword [rbp + 0x70], eax
jmp 0x14002015b
mov r15d, r8d
mov dword [rsp + 0x60], r8d
test r15d, r15d
js 0x14002028a
mov edi, dword [rbp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14002018e
mov r15d, 0xd0000017
mov rdi, r14
jmp 0x140020198
mov rdi, rax
mov qword [rbp - 0x70], rax
mov r15d, r13d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14002028a
mov rax, qword [rbp + 0x58]
test rax, rax
jne 0x1400201ba
mov r15d, 0x80070057
jmp 0x140020285
test rdi, rdi
je 0x1400201af
mov qword [rbp + 0x428], rax
lea r8, [rbp + 0x380]
mov eax, dword [rbp - 0x50]
lea rdx, [0x140087118]
mov dword [rbp + 0x438], eax
mov ecx, r12d
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x43c], eax
mov qword [rbp + 0x430], rdi
mov dword [rbp + 0x440], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14002022d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [rbp + 0x70]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x140020276
mov r15d, 0x80004005
jmp 0x140020271
mov rcx, qword [rbp + 0x380]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140020201
xor r9d, r9d
lea rdx, [rbp + 0x428]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [case.0x140066b0e.0]
mov edx, dword [rbp + 0x70]
mov r15d, eax
or r15d, r13d
cmovge edx, dword [rbp + 0x43c]
mov dword [rbp + 0x70], edx
mov dword [rsp + 0x60], r15d
cmp r15d, 0xd0000023
jne 0x140020292
mov r15d, 0x8007007a
mov dword [rsp + 0x60], r15d
mov r13, r14
jmp 0x140020619
test r15d, r15d
js 0x14002028a
mov qword [rbp + 0x78], r14
cmp edx, 4
jae 0x1400202ab
mov r15d, 0xc000003e
jmp 0x1400205c5
mov r13d, dword [rdi]
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x1400205bf
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x1400202a0
lea rdi, [rcx + r13]
mov qword [rbp - 0x68], rdi
cmp rdi, rcx
jb 0x1400205bf
lea ecx, [r13 + 4]
cmp ecx, 4
jb 0x1400205bf
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x1400202a0
mov r15d, dword [rdi]
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x1400205bf
lea edi, [rcx + 4]
cmp edi, ecx
jb 0x1400205bf
mov eax, edx
sub eax, edi
cmp eax, r15d
jb 0x1400202a0
lea rcx, [r8 + r15]
cmp rcx, r8
jb 0x1400205bf
lea r8d, [r15 + rdi]
cmp r8d, edi
jb 0x1400205bf
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x1400202a0
mov r12d, dword [rcx]
lea rax, [rcx + 4]
mov qword [rbp + 0x10], rax
cmp rax, rcx
jb 0x1400205bf
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x1400205bf
mov eax, edx
sub eax, ecx
cmp eax, r12d
jb 0x1400202a0
lea edi, [r12 + rcx]
cmp edi, ecx
jb 0x1400205bf
cmp edx, edi
jne 0x1400202a0
lea ecx, [r12 + r15]
mov eax, edx
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x1400202a0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400203b9
mov r15d, 0xc0000017
jmp 0x140020522
mov rax, qword [rbp - 0x70]
add rax, 4
je 0x140020406
mov dword [rdi], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, rax
test rax, rax
jne 0x1400203f0
mov r15d, 0xc0000017
jmp 0x1400204a6
mov qword [rdi + 8], rcx
mov rdx, qword [rbp - 0x70]
mov r8, r13
add rdx, 4
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14002040d
mov dword [rdi], r14d
mov qword [rdi + 8], r14
mov r13, qword [rbp - 0x68]
add r13, 4
je 0x14002044b
mov dword [rdi + 0x10], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400203e5
mov qword [rdi + 0x18], rax
mov r8, r15
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140020453
mov dword [rdi + 0x10], r14d
mov qword [rdi + 0x18], r14
mov r15, qword [rbp + 0x10]
test r15, r15
je 0x140020494
mov dword [rdi + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400203e5
mov qword [rdi + 0x28], rax
mov r8, r12
mov rdx, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14002049c
mov dword [rdi + 0x20], r14d
mov qword [rdi + 0x28], r14
mov qword [rbp + 0x78], rdi
mov r15d, r14d
mov rdi, r14
test rdi, rdi
je 0x140020522
mov r12, qword [rdi + 8]
test r12, r12
je 0x1400204cc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x1400204ed
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x14002050e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13, qword [rbp + 0x78]
test r15d, r15d
mov rdi, r14
cmovs rdi, qword [rbp + 0x78]
cmovs r13, r14
mov qword [rbp + 0x48], r13
test rdi, rdi
je 0x1400205c8
mov r12, qword [rdi + 8]
test r12, r12
je 0x140020563
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140020584
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x1400205a5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x48], r13
jmp 0x1400205c8
mov r15d, 0xc0000095
mov r13, r14
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140020619
mov qword [rbp + 0xf8], r14
mov rdi, r14
mov qword [rbp + 0x290], r14
test r13, r13
jne 0x1400205f9
mov r15d, 0xd000000d
mov dword [rsp + 0x60], r15d
jmp 0x140020619
mov r13, qword [r13 + 8]
mov qword [rbp + 0x18], r13
test r13, r13
jne 0x1400207c4
mov r15d, 0xd000000d
mov dword [rsp + 0x60], r15d
mov r13, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x60]
test rdi, rdi
je 0x140020636
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp + 0x178]
test r12, r12
je 0x1400206ca
mov rdi, qword [r12 + 8]
test rdi, rdi
je 0x140020669
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 [r12 + 8], r14
mov rdi, qword [r12 + 0x18]
test rdi, rdi
je 0x14002068c
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 [r12 + 0x18], r14
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x1400206af
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 [r12 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x178], r14
mov rdi, qword [rbp + 0x58]
test rdi, rdi
je 0x1400206e7
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 - 0x70]
test rdi, rdi
je 0x140020704
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x140020780
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x14002072a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 8], r14
mov rdi, qword [r13 + 0x18]
test rdi, rdi
je 0x14002074b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 0x18], r14
mov rdi, qword [r13 + 0x28]
test rdi, rdi
je 0x14002076c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x20]
test rdi, rdi
je 0x14002079d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14002123a
mov r8d, 1
cmp dword [rbp + 0xa8], r8d
jae 0x140020edf
mov r15d, 0xc004d501
jmp 0x14001edd0
mov rax, qword [rbp + 0x48]
cmp dword [rax], r14d
jne 0x1400207e0
mov r15d, 0xd000000d
mov r13, rax
mov dword [rsp + 0x60], r15d
jmp 0x140020619
mov r15d, dword [rax]
mov dword [rbp - 0x30], r14d
test r15, r15
je 0x140020d2d
add r15, 0xfffffffffffffff8
mov qword [rbp - 0x68], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x10], rax
mov r12, rax
test rax, rax
je 0x140020d26
mov r8, r15
mov qword [rbp + 0x920], rsi
mov dword [rbp - 0x28], r14d
mov dl, r14b
mov byte [rsp + 0x64], dl
mov r9, r13
mov r13, rax
mov r11d, r14d
and r8d, 7
je 0x140020925
or dword [rbp - 0x48], 0xffffffff
mov ecx, r14d
mov dword [rbp - 0x7c], ecx
mov r10d, r14d
mov dword [rbp - 0x38], r14d
test r8d, r8d
je 0x1400208a1
mov edi, 0x38
lea ebx, [rdi - 0x37]
movzx eax, byte [r9]
inc r9
cmp r10d, 4
jge 0x14002087c
lea ecx, [rdi - 0x20]
shl eax, cl
mov ecx, dword [rbp - 0x7c]
or r11d, eax
jmp 0x140020888
mov ecx, edi
shl eax, cl
mov ecx, dword [rbp - 0x7c]
or ecx, eax
mov dword [rbp - 0x7c], ecx
add r10d, ebx
sub edi, 8
cmp r10d, r8d
jl 0x140020862
mov dword [rbp - 0x38], r11d
movabs rbx, 0xc81ecb17b1b54a58
xor r11d, 0x92f65a5
mov edi, ecx
xor edi, 0x699a899c
mov dword [rbp - 0x28], r11d
mov dword [rbp - 0x48], edi
mov eax, r14d
test r8d, r8d
je 0x1400208eb
lea r10, [r13 + 1]
cmp eax, 4
jge 0x1400208d1
rol r11d, 8
mov ecx, r11d
jmp 0x1400208d6
rol edi, 8
mov ecx, edi
inc eax
mov byte [r13], cl
mov r13, r10
cmp eax, r8d
jl 0x1400208bf
mov r11d, dword [rbp - 0x28]
mov edi, dword [rbp - 0x48]
cmp r8d, 4
jbe 0x140020905
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp - 0x48], edi
jmp 0x140020931
mov edi, r14d
mov dword [rbp - 0x48], r14d
jae 0x140020931
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x28], r11d
jmp 0x140020931
or dword [rbp - 0x7c], 0xffffffff
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x48], r14d
mov rax, r15
shr rax, 3
mov qword [rbp + 0x50], rax
test rax, rax
je 0x140020c8f
movzx eax, word [rbp + 0x922]
lea r15, [r13 + 7]
mov r12d, dword [rbp + 0x924]
lea r14, [r9 + 2]
mov r13, qword [rbp + 0x50]
mov ebx, dword [rbp - 0x7c]
mov edx, dword [rbp - 0x38]
mov dword [rbp - 0x78], eax
movzx eax, si
movzx r8d, r12w
mov dword [rsp + 0x78], eax
mov dword [rbp - 0x80], r8d
movzx eax, byte [r14 - 1]
movzx r10d, byte [r14 - 2]
movzx r9d, byte [r14 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r14]
lea r14, [r14 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r14 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r14 - 3]
shl r9d, 8
or r9d, eax
xor edi, r9d
xor edi, r11d
xor edi, esi
xor edi, r12d
mov ecx, edi
mov eax, edi
sub ecx, esi
rol eax, 0xa
rol ecx, 5
imul ecx, r8d
add ecx, eax
movzx eax, word [rbp + 0x922]
xor r11d, ecx
lea ecx, [r11 + r12]
ror ecx, 9
imul ecx, eax
mov eax, r11d
rol eax, 2
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, r8d
shr eax, 0xd
imul ecx, dword [rsp + 0x78]
sub ecx, eax
movzx eax, word [rbp + 0x926]
xor r11d, ecx
movzx ecx, word [rbp + 0x922]
xor ecx, r11d
rol ecx, 6
imul ecx, eax
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, r12d
xor edi, ecx
mov ecx, edi
xor ecx, esi
sub eax, ecx
xor r11d, eax
mov eax, r8d
xor eax, r11d
mov ecx, r11d
imul eax, dword [rbp - 0x78]
ror ecx, 6
xor ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 2
lea ecx, [rdi + r12]
ror ecx, 0xf
imul ecx, dword [rsp + 0x78]
add ecx, eax
movzx eax, word [rbp + 0x926]
xor r11d, ecx
mov ecx, r11d
sub ecx, esi
ror ecx, 0xe
imul ecx, eax
mov eax, r11d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
xor ecx, esi
ror eax, 0xa
ror ecx, 0xc
imul ecx, r8d
xor ecx, eax
movzx eax, word [rbp + 0x922]
xor r11d, ecx
movzx ecx, word [rbp + 0x926]
xor ecx, r11d
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
movzx ecx, word [rbp + 0x926]
mov eax, edi
not eax
ror eax, 5
add eax, dword [rsp + 0x78]
imul eax, ecx
xor r11d, eax
mov r8d, r11d
sub r8d, ecx
xor r8d, edi
xor r8d, esi
xor ecx, r8d
mov eax, r8d
rol ecx, 2
imul ecx, dword [rbp - 0x80]
shr eax, 2
add ecx, eax
movzx eax, word [rbp + 0x922]
xor r11d, ecx
mov ecx, r11d
sub ecx, r12d
ror ecx, 6
imul ecx, eax
mov eax, r11d
rol eax, 7
add ecx, eax
mov eax, dword [rbp - 0x80]
xor r8d, ecx
xor eax, r8d
mov ecx, r8d
imul eax, dword [rsp + 0x78]
ror ecx, 9
add ecx, eax
movzx eax, word [rbp + 0x926]
xor r11d, ecx
movzx ecx, word [rbp + 0x922]
xor ecx, r11d
rol ecx, 5
imul ecx, eax
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
movzx ecx, word [rbp + 0x922]
mov edi, r8d
xor edi, r11d
xor edi, esi
xor edi, r12d
mov eax, edi
ror eax, 3
sub eax, ecx
imul eax, dword [rbp - 0x80]
xor r8d, eax
mov ecx, r8d
mov eax, r8d
sub ecx, r12d
ror eax, 6
ror ecx, 1
imul ecx, dword [rsp + 0x78]
sub ecx, eax
movzx eax, word [rbp + 0x926]
xor edi, ecx
lea ecx, [rdi + rsi]
rol ecx, 3
imul ecx, eax
mov eax, edi
rol eax, 0xe
add ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xe
lea ecx, [r8 + rsi]
rol ecx, 0xf
imul ecx, dword [rbp - 0x80]
sub ecx, eax
movzx eax, word [rbp + 0x922]
xor edi, ecx
mov ecx, edi
xor ecx, dword [rsp + 0x78]
imul ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
mov eax, r8d
rol eax, 2
xor ecx, r12d
rol ecx, 4
xor r8d, ebx
imul ecx, dword [rsp + 0x78]
mov ebx, r9d
mov dword [rbp - 0x48], r8d
mov r8d, dword [rbp - 0x80]
xor ecx, eax
xor ecx, edx
mov edx, r10d
xor edi, ecx
mov ecx, 1
mov dword [rbp - 0x28], edi
mov byte [r15 - 4], dil
mov al, byte [rbp - 0x48]
ror dword [rbp - 0x28], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x28]
mov byte [r15 - 0xd], al
mov al, byte [rbp - 0x48]
ror dword [rbp - 0x28], 8
mov byte [r15 - 9], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x28]
mov byte [r15 - 0xe], al
ror dword [rbp - 0x28], 8
mov al, byte [rbp - 0x48]
mov byte [r15 - 0xa], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x28]
mov byte [r15 - 0xf], al
mov al, byte [rbp - 0x48]
mov byte [r15 - 0xb], al
mov r11d, dword [rbp - 0x28]
mov edi, dword [rbp - 0x48]
ror r11d, 8
ror edi, 8
mov dword [rbp - 0x28], r11d
mov dword [rbp - 0x48], edi
sub r13, rcx
jne 0x140020977
mov dl, byte [rsp + 0x64]
movabs rbx, 0xc81ecb17b1b54a58
mov r15, qword [rbp - 0x68]
xor r14d, r14d
mov r12, qword [rbp + 0x10]
jmp 0x140020c94
mov ecx, 1
mov rax, r14
test r15, r15
je 0x140020ca8
xor dl, byte [rax + r12]
add rax, rcx
cmp rax, r15
jb 0x140020c9c
mov rcx, qword [rbp + 0x18]
movzx eax, dl
cmp rax, qword [r15 + rcx]
je 0x140020cc4
mov rdi, qword [rbp + 0xf8]
mov r15d, 0xc004d501
jmp 0x140020cdc
mov rdi, r12
mov qword [rbp + 0xf8], r12
mov qword [rbp + 0x290], r15
mov r12, r14
mov r15d, dword [rbp - 0x30]
test r12, r12
je 0x140020cfc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0xf8]
test r15d, r15d
js 0x140020d2d
mov ecx, dword [rbp + 0x290]
mov r12, rdi
mov qword [rbp - 0x20], rdi
mov r15d, 0x10000000
mov rdi, r14
mov dword [rbp + 0xc0], ecx
mov qword [rbp + 0xf8], r14
jmp 0x140020d3c
mov rdi, qword [rbp + 0xf8]
mov ecx, dword [rbp + 0xc0]
mov r15d, 0xd0000001
mov r12, r14
mov dword [rsp + 0x60], r15d
test rdi, rdi
je 0x140020d67
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp + 0xc0]
mov qword [rbp + 0xf8], r14
test r15d, r15d
js 0x140020615
cmp ecx, 4
jae 0x140020d80
mov r15d, 0xc000003e
jmp 0x140020ed5
mov r9d, dword [r12]
lea rdx, [r12 + 4]
mov dword [rbp - 0x78], r9d
cmp rdx, r12
jb 0x140020ecf
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140020d75
mov r15d, dword [rdx]
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140020ecf
lea eax, [rcx - 8]
cmp eax, r15d
jb 0x140020d75
lea eax, [r15 + 8]
cmp eax, 8
jb 0x140020ecf
mov r8d, ecx
lea rdx, [rdi + r15]
lea rax, [r12 + r8]
cmp rax, rdx
jb 0x140020d75
mov rax, r12
sub rax, r15
sub rax, rdi
add rax, r8
cmp rax, 8
jae 0x140020d75
mov dword [rbp - 0x50], r14d
mov r12, r14
mov r8d, r14d
test rdi, rdi
je 0x140020e61
mov rcx, rdi
cmp rdx, rdi
jb 0x140020ecf
jbe 0x140020e5c
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140020ecf
cmp rax, rdx
ja 0x140020e49
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x140020e54
mov dword [rbp + 0x3f0], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x140020ecf
mov rcx, r9
cmp r9, rdx
ja 0x140020e49
inc r8d
mov dword [rbp - 0x50], r8d
cmp rcx, rdx
jae 0x140020e5f
jmp 0x140020e02
mov r15d, 0xc000000d
jmp 0x140020ed5
mov r15d, 0xc0000095
jmp 0x140020eba
cmp rcx, rdx
jne 0x140020e49
test r15d, r15d
je 0x140020e8d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x140020e8d
mov r15d, 0xc0000017
jmp 0x140020eba
test rdi, rdi
je 0x140020ea0
mov r8, r15
mov rdx, rdi
mov rcx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rbp - 0x50]
mov dword [rbp + 0xa8], eax
mov qword [rbp + 0xb0], r12
mov dword [rbp + 0xac], r15d
mov r15d, r14d
test r15d, r15d
js 0x140020ed5
mov eax, dword [rbp - 0x78]
cmp eax, dword [rbp + 0xa8]
je 0x140020ed5
jmp 0x140020d75
mov r15d, 0xc0000095
bts r15d, 0x1c
jmp 0x140020610
cmp qword [rbp + 0xb0], r14
jne 0x140020efb
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
mov r10d, 0xc0000095
jmp 0x140020f55
cmp dword [rbp + 0xa8], r14d
jbe 0x140020ee8
mov rdi, qword [rbp + 0xb0]
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140020f47
test ecx, ecx
mov dword [rbp + 0x3b4], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x498], rax
mov dword [rsp + 0x60], r14d
mov r15d, r14d
cmp ecx, 4
jne 0x14001eeec
mov eax, dword [rax]
mov dword [rbp + 0x98], eax
jmp 0x140020ef3
mov r10d, 0xc0000095
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x14002123a
mov r15d, dword [rbp + 0x98]
mov r11d, 0x8007007a
cmp r15d, 0xd0000023
cmove r15d, r11d
mov dword [rsp + 0x60], r15d
mov dword [rbp + 0x98], r15d
cmp r15d, r11d
je 0x140020f90
test r15d, r15d
js 0x14002123a
cmp dword [rbp + 0xa8], 6
jne 0x1400207b9
cmp qword [rbp + 0xb0], r14
jne 0x140020fb3
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x14002101e
mov rax, qword [rbp + 0xb0]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140021016
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140021016
add edx, r8d
cmp edx, r8d
jb 0x140020fbd
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140021016
test ecx, ecx
mov dword [rbp + 0x3b0], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x4a0], rax
mov dword [rsp + 0x60], r14d
mov r15d, r14d
cmp ecx, 8
jne 0x14001eeec
mov rax, qword [rax]
mov qword [rbp + 0x388], rax
jmp 0x14002101e
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x14002123a
cmp qword [rbp + 0xb0], r14
jne 0x14002103d
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x1400210a6
mov rax, qword [rbp + 0xb0]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14002109e
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14002109e
add edx, r8d
cmp edx, 2
jb 0x140021047
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14002109e
test ecx, ecx
mov dword [rbp + 0x318], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x4a8], rax
mov dword [rsp + 0x60], r14d
mov r15d, r14d
cmp ecx, 4
jne 0x14001eeec
mov eax, dword [rax]
mov dword [rbp + 0x234], eax
jmp 0x1400210a6
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x14002123a
cmp qword [rbp + 0xb0], r14
jne 0x1400210c3
mov r15d, 0xc000000d
jmp 0x14001edd0
mov rax, qword [rbp + 0xb0]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140021294
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140021294
add edx, r8d
cmp edx, 3
jb 0x1400210cd
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140021294
test edi, edi
mov dword [rbp + 0x314], edi
mov r9, r14
cmovne r9, rcx
mov qword [rbp + 0x468], r9
mov rax, qword [rbp + 0xb0]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140021176
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140021176
add edx, r8d
cmp edx, 4
jb 0x14002111f
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140021176
test ecx, ecx
mov dword [rbp + 0x310], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x470], rax
mov dword [rsp + 0x60], r14d
mov r15d, r14d
cmp ecx, 4
jne 0x14001eeec
mov eax, dword [rax]
mov dword [rbp + 0x230], eax
jmp 0x14002117e
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x14002123a
mov rax, qword [rbp + 0xb0]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400211e8
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400211e8
add edx, r8d
cmp edx, 5
jb 0x140021191
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400211e8
test ecx, ecx
mov dword [rbp + 0xb8], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x478], rax
mov dword [rsp + 0x60], r14d
mov r15d, r14d
cmp ecx, 4
jne 0x14001eeec
mov eax, dword [rax]
mov dword [rbp + 0x120], eax
jmp 0x1400211f0
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x14002123a
mov rax, qword [rbp + 0x388]
cmp qword [rbp + 0x1c8], rax
jne 0x1400207b9
mov eax, dword [rbp + 0x120]
mov ecx, dword [rbp + 0x230]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x234]
mov dword [rbp + 0x128], eax
mov dword [rbp + 0xd8], ecx
cmp ecx, 4
jbe 0x140021249
mov r15d, r11d
mov dword [rsp + 0x60], r11d
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x68]
jmp 0x14001ef58
cmp edi, 4
ja 0x140021232
mov rcx, qword [rbp + 0x80]
mov r8, rdi
mov rdx, r9
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x68]
test r15d, r15d
js 0x14001ef58
cmp dword [rbp + 0x98], r14d
cmovne r15d, dword [rbp + 0x98]
jmp 0x14001ef53
or qword [rbp + 0x180], 0xffffffffffffffff
jmp 0x14001ef43
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14002123a
mov rax, qword [0x1400b70e8]
call qword [case.0x140066b0e.0]
mov edi, dword [0x1400be350]
lea rcx, [rbp + 0x4b0]
xor edx, edx
mov qword [0x1400be348], rax
mov dword [rsp + 0x68], edi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x48], r14
xor edx, edx
mov qword [rbp + 0x930], rax
lea rcx, [rbp + 0x9f0]
mov qword [rbp + 0x938], rax
mov qword [rbp + 0x50], r14
lea r12d, [rax + 1]
lea r8d, [rax + 0x2c]
mov dword [rbp + 0x124], r12d
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov qword [rbp + 0x78], r14
xor eax, eax
lock cmpxchg dword [0x1400be658], r12d
jne 0x140021307
mov eax, dword [0x1400be654]
test eax, eax
jne 0x140021930
mov dword [rbp - 0x38], r14d
mov dword [rsp + 0x78], r14d
mov dword [rbp - 0x80], r14d
mov qword [rbp + 0x188], r14
mov qword [rbp + 0x298], r14
mov dword [rbp - 0x78], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140021899
mov r15d, 0x67
mov byte [rsp + 0x64], r14b
mov edi, r14d
mov dword [rbp - 4], r14d
mov r12d, r14d
mov dword [rbp + 0x40], r14d
mov r13d, r14d
lea rsi, [rax + 7]
lea r14d, [r15 - 0x66]
or ecx, 0xffffffff
lea rbx, [0x1400907e2]
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 r13d, r11d
movzx eax, byte [rbx - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 3]
shl r10d, 8
or r10d, eax
xor r12d, r10d
xor r12d, r13d
xor r12d, 0xac987321
lea eax, [r12 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r12d
rol eax, 0xa
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 2
sub edx, eax
xor r12d, edx
imul edx, r12d, 0x605e
mov eax, r12d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r13d, edx
mov eax, r13d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r12d, edx
mov edx, r12d
xor edx, 0xab69605e
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r12d, r8d
mov r8d, 0xab69605e
lea eax, [r12 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r12d
rol eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 8
sub edx, eax
xor r12d, edx
mov eax, r12d
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r12d
ror eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea r9d, [r13 - 0x7f1]
xor r9d, r12d
xor r9d, r8d
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 7
add edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, r9d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r13d, r8d
mov eax, r13d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 7
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r13d
xor r8d, 0xac987321
mov eax, r8d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r9d, edx
lea eax, [r9 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r9d
ror eax, 6
sub edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r8d
rol eax, 0xe
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xe
sub edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
xor r9d, ecx
mov dword [rbp - 4], r9d
mov ecx, r10d
xor edx, eax
xor edx, edi
mov edi, r11d
xor r8d, edx
mov dword [rbp + 0x40], r8d
mov byte [rsi - 4], r8b
mov al, byte [rbp - 4]
ror dword [rbp + 0x40], 8
mov byte [rsi], al
lea rsi, [rsi + 8]
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x40]
mov byte [rsi - 0xd], al
mov al, byte [rbp - 4]
ror dword [rbp + 0x40], 8
mov byte [rsi - 9], al
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x40]
mov byte [rsi - 0xe], al
ror dword [rbp + 0x40], 8
mov al, byte [rbp - 4]
mov byte [rsi - 0xa], al
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x40]
mov byte [rsi - 0xf], al
mov al, byte [rbp - 4]
mov byte [rsi - 0xb], al
mov r13d, dword [rbp + 0x40]
mov r12d, dword [rbp - 4]
ror r13d, 8
ror r12d, 8
mov dword [rbp + 0x40], r13d
mov dword [rbp - 4], r12d
sub r15, r14
jne 0x140021393
mov cl, byte [rsp + 0x64]
xor r14d, r14d
mov edi, dword [rsp + 0x68]
mov eax, r14d
mov r15d, dword [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov r13, qword [rbp - 0x68]
movabs rsi, 0x7f1137fab69605e
lea edx, [r14 + 1]
mov r8d, 0x338
xor cl, byte [rax + r13]
add rax, rdx
cmp rax, r8
jb 0x1400216e5
movzx eax, cl
cmp rax, qword [0x140090b18]
je 0x140021705
mov r12d, 0xc004d501
jmp 0x14002171a
mov r12d, dword [rbp - 0x78]
mov qword [rbp + 0x188], r13
mov r13, r14
mov qword [rbp + 0x298], r8
test r13, r13
je 0x140021733
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x140021899
mov rax, qword [rbp + 0x298]
lea r13, [0x1400be360]
mov r12, qword [rbp + 0x188]
xor edx, edx
mov rcx, r13
lea r8d, [rdx + 0x60]
mov byte [rax + r12 - 1], r14b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r12], r14b
je 0x140021892
mov rdx, r12
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], r14w
jne 0x140021775
lea r12, [r12 + rax*2]
mov eax, dword [rbp - 0x80]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
xor ecx, ecx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x140021899
mov rax, qword [r13]
mov edx, 0x5a4d
mov ecx, r14d
mov dword [rsp + 0x78], ecx
cmp word [rax], dx
je 0x1400217c2
mov ecx, 0xc000007b
mov dword [rsp + 0x78], ecx
jmp 0x140021813
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x1400217b7
add rdx, qword [r13]
cmp rdx, qword [r13]
jb 0x1400217b7
cmp dword [rdx], 0x4550
jne 0x1400217b7
movzx eax, word [rdx + 0x18]
mov r8d, 0x10b
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
je 0x140021801
mov ecx, 0xc000000d
jmp 0x1400217bc
mov rax, qword [rdx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [r12 + 2]
mov edx, r14d
add r12, 6
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x50], edx
test eax, eax
je 0x14002187e
mov r8, r12
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], r14b
jne 0x140021830
inc r12
add r12, rax
test ecx, ecx
js 0x14002186a
mov rcx, qword [r13]
mov rdx, r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140021892
mov ecx, dword [rbp - 0x38]
lea rdx, [0x1400b7050]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x78]
mov edx, dword [rbp - 0x50]
mov eax, 1
add dword [rbp - 0x38], eax
add edx, eax
mov dword [rbp - 0x50], edx
cmp edx, dword [rbp - 0x78]
jb 0x140021829
jmp 0x140021883
mov eax, 1
add dword [rbp - 0x80], eax
lea r13, [0x1400be360]
jmp 0x140021764
mov r12d, dword [rsp + 0x78]
jmp 0x14002189f
mov r12d, 0xc000007a
cmp qword [rbp + 0x188], r14
je 0x1400218c0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x188]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
jns 0x140021924
mov eax, 1
lea r12, [0x1400be360]
lea r13d, [rax + 3]
cmp qword [r12], r14
je 0x1400218ea
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add r12, 0x18
sub r13, rax
jne 0x1400218d5
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400be360]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400737e0]
lea rcx, [0x1400b7050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea r12d, [r13 + 1]
jmp 0x140021939
mov eax, dword [0x1400be654]
mov r12d, 1
add eax, r12d
mov dword [0x1400be654], eax
xor ecx, ecx
mov dword [rsp + 0x7c], r14d
mov eax, r14d
mov dword [rbp + 0x80], r14d
xchg dword [0x1400be658], eax
xor eax, eax
mov dword [rbp + 0xe30], ecx
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], rax
mov qword [rbp + 0x258], rax
mov qword [rbp + 0x9a0], rax
mov qword [rbp + 0x9a8], rax
mov word [rbp + 0xe34], cx
mov qword [rbp + 0x1b8], r14
xor eax, eax
lock cmpxchg dword [0x1400be658], r12d
jne 0x140021989
mov eax, dword [0x1400be654]
test eax, eax
jne 0x140021fac
mov dword [rbp - 0x38], r14d
mov dword [rsp + 0x78], r14d
mov dword [rbp - 0x80], r14d
mov qword [rbp + 0x158], r14
mov qword [rbp + 0x2a0], r14
mov dword [rbp - 0x78], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140021f19
mov r15d, 0x67
mov byte [rsp + 0x64], r14b
mov edi, r14d
mov dword [rbp + 8], r14d
mov r12d, r14d
mov dword [rbp + 0x38], r14d
mov r13d, r14d
lea rsi, [rax + 7]
lea r14d, [r15 - 0x66]
or ecx, 0xffffffff
lea rbx, [0x1400907e2]
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 r13d, r11d
movzx eax, byte [rbx - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 3]
shl r10d, 8
or r10d, eax
xor r12d, r10d
xor r12d, r13d
xor r12d, 0xac987321
lea eax, [r12 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r12d
rol eax, 0xa
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 2
sub edx, eax
xor r12d, edx
imul edx, r12d, 0x605e
mov eax, r12d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r13d, edx
mov eax, r13d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r12d, edx
mov edx, r12d
xor edx, 0xab69605e
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r12d, r8d
mov r8d, 0xab69605e
lea eax, [r12 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r12d
rol eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 8
sub edx, eax
xor r12d, edx
mov eax, r12d
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r12d
ror eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea r9d, [r13 - 0x7f1]
xor r9d, r12d
xor r9d, r8d
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 7
add edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, r9d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r13d, r8d
mov eax, r13d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 7
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r13d
xor r8d, 0xac987321
mov eax, r8d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r9d, edx
lea eax, [r9 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r9d
ror eax, 6
sub edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r8d
rol eax, 0xe
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xe
sub edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
xor r9d, ecx
mov dword [rbp + 8], r9d
mov ecx, r10d
xor edx, eax
xor edx, r8d
xor edx, edi
mov edi, r11d
mov dword [rbp + 0x38], edx
mov byte [rsi - 4], dl
mov al, byte [rbp + 8]
ror dword [rbp + 0x38], 8
mov byte [rsi], al
lea rsi, [rsi + 8]
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x38]
mov byte [rsi - 0xd], al
mov al, byte [rbp + 8]
ror dword [rbp + 0x38], 8
mov byte [rsi - 9], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x38]
mov byte [rsi - 0xe], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 8]
mov byte [rsi - 0xa], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x38]
mov byte [rsi - 0xf], al
mov al, byte [rbp + 8]
mov byte [rsi - 0xb], al
mov r13d, dword [rbp + 0x38]
mov r12d, dword [rbp + 8]
ror r13d, 8
ror r12d, 8
mov dword [rbp + 0x38], r13d
mov dword [rbp + 8], r12d
sub r15, r14
jne 0x140021a15
mov cl, byte [rsp + 0x64]
xor r14d, r14d
mov edi, dword [rsp + 0x68]
mov eax, r14d
mov r15d, dword [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov r13, qword [rbp - 0x68]
movabs rsi, 0x7f1137fab69605e
lea edx, [r14 + 1]
mov r8d, 0x338
xor cl, byte [rax + r13]
add rax, rdx
cmp rax, r8
jb 0x140021d65
movzx eax, cl
cmp rax, qword [0x140090b18]
je 0x140021d85
mov r12d, 0xc004d501
jmp 0x140021d9a
mov r12d, dword [rbp - 0x78]
mov qword [rbp + 0x158], r13
mov r13, r14
mov qword [rbp + 0x2a0], r8
test r13, r13
je 0x140021db3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x140021f19
mov rax, qword [rbp + 0x2a0]
lea r13, [0x1400be360]
mov r12, qword [rbp + 0x158]
xor edx, edx
mov rcx, r13
lea r8d, [rdx + 0x60]
mov byte [rax + r12 - 1], r14b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r12], r14b
je 0x140021f12
mov rdx, r12
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], r14w
jne 0x140021df5
lea r12, [r12 + rax*2]
mov eax, dword [rbp - 0x80]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
xor ecx, ecx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x140021f19
mov rax, qword [r13]
mov edx, 0x5a4d
mov ecx, r14d
mov dword [rsp + 0x78], ecx
cmp word [rax], dx
je 0x140021e42
mov ecx, 0xc000007b
mov dword [rsp + 0x78], ecx
jmp 0x140021e93
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x140021e37
add rdx, qword [r13]
cmp rdx, qword [r13]
jb 0x140021e37
cmp dword [rdx], 0x4550
jne 0x140021e37
movzx eax, word [rdx + 0x18]
mov r8d, 0x10b
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
je 0x140021e81
mov ecx, 0xc000000d
jmp 0x140021e3c
mov rax, qword [rdx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [r12 + 2]
mov edx, r14d
add r12, 6
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x50], edx
test eax, eax
je 0x140021efe
mov r8, r12
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], r14b
jne 0x140021eb0
inc r12
add r12, rax
test ecx, ecx
js 0x140021eea
mov rcx, qword [r13]
mov rdx, r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140021f12
mov ecx, dword [rbp - 0x38]
lea rdx, [0x1400b7050]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x78]
mov edx, dword [rbp - 0x50]
mov eax, 1
add dword [rbp - 0x38], eax
add edx, eax
mov dword [rbp - 0x50], edx
cmp edx, dword [rbp - 0x78]
jb 0x140021ea9
jmp 0x140021f03
mov eax, 1
add dword [rbp - 0x80], eax
lea r13, [0x1400be360]
jmp 0x140021de4
mov r12d, dword [rsp + 0x78]
jmp 0x140021f1f
mov r12d, 0xc000007a
cmp qword [rbp + 0x158], r14
je 0x140021f40
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x158]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
jns 0x140021fa0
mov eax, 1
lea r12, [0x1400be360]
lea r13d, [rax + 3]
cmp qword [r12], r14
je 0x140021f6a
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add r12, 0x18
sub r13, rax
jne 0x140021f55
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400be360]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400737e0]
lea rcx, [0x1400b7050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140021fb5
mov eax, dword [0x1400be654]
mov r12d, 1
add eax, r12d
mov dword [0x1400be654], eax
xor edx, edx
lea rcx, [rbp + 0x4b0]
mov eax, r14d
xchg dword [0x1400be658], eax
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov ecx, SafeArrayGetDim
mov qword [rbp + 0x930], rax
xor edx, edx
mov eax, edi
mov r8d, 0x403
and eax, ecx
mov dword [rsp + 0x78], eax
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xe30], ax
mov eax, edi
shr eax, 8
and ax, cx
shr edi, 0xc
and di, cx
mov word [rbp + 0xe32], ax
mov rax, qword [0x1400b7148]
xor ecx, ecx
mov word [rbp + 0xe34], di
call qword [case.0x140066b0e.0]
mov qword [rsp + 0x70], rax
mov dword [rbp - 0x7c], 0xffffff
test rax, rax
jne 0x140022064
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400234fb
mov r12d, 0x80004005
jmp 0x1400234fb
mov rax, qword [0x1400b70f0]
lea r9, [rbp + 0xbc]
xor r8d, r8d
mov qword [rbp + 0x1c0], r14
lea rdx, [rbp + 0x94]
mov qword [rbp + 0x160], r14
mov qword [rbp + 0x2a8], r14
mov r12d, r14d
mov qword [rbp + 0xa0], r14
lea ecx, [r8 + 8]
mov qword [rbp + 0x100], r14
mov qword [rbp + 0xf0], r14
mov dword [rbp + 0xbc], r14d
call qword [case.0x140066b0e.0]
test eax, eax
jne 0x1400220e9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002223d
mov r12d, 0x80004005
jmp 0x14002223d
mov edi, dword [rbp + 0xbc]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0x100]
mov rdi, rax
call fcn.140047644
test rdi, rdi
jne 0x14002212c
mov qword [rbp + 0x100], r14
mov r12d, 0x8007000e
jmp 0x14002223d
mov qword [rbp + 0x100], rdi
mov edi, dword [rbp + 0x94]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xf0]
mov rdi, rax
call fcn.140047644
test rdi, rdi
jne 0x140022172
mov r12d, 0x8007000e
jmp 0x140022236
mov r8, qword [rbp + 0x100]
lea r9, [rbp + 0xbc]
mov rax, qword [0x1400b70f0]
lea rdx, [rbp + 0x94]
mov ecx, 8
mov qword [rbp + 0xf0], rdi
call qword [case.0x140066b0e.0]
test eax, eax
je 0x1400220be
mov rdi, qword [rbp + 0x100]
mov r13, qword [rbp + 0xf0]
cmp dword [rbp + 0x94], r14d
jbe 0x140022215
mov ebx, r14d
mov esi, 1
mov rax, qword [0x1400b7100]
xor edx, edx
mov rcx, rdi
call qword [case.0x140066b0e.0]
mov dword [r13], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x1400221e1
lea rdi, [rdi + rax*2]
add r13, 4
add rdi, 2
add ebx, esi
cmp ebx, dword [rbp + 0x94]
jb 0x1400221c7
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov dword [r13], 0x409
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x1c0], rax
mov eax, dword [rbp + 0x94]
inc eax
mov dword [rbp - 0x50], eax
mov qword [rbp + 0xf0], r14
lea rcx, [rbp + 0xf0]
call fcn.140047644
lea rcx, [rbp + 0x100]
call fcn.140047644
test r12d, r12d
js 0x1400229c6
lea r11, [0x140090740]
mov r10d, r14d
mov r9d, r14d
mov dword [rsp + 0x68], r14d
cmp dword [rbp - 0x50], r14d
jbe 0x1400222b4
mov rax, qword [rbp + 0x1c0]
mov r8, r14
mov edx, r14d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x1400222ad
mov ecx, 1
add rdi, 4
add edx, ecx
cmp edx, 0x26
jb 0x140022286
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x50]
jae 0x1400222b4
jmp 0x140022280
mov r10d, edx
mov dword [rsp + 0x68], edx
mov rax, qword [0x1400b70f8]
lea rdx, [rbp + 0xe40]
mov edi, r10d
xor r9d, r9d
mov dword [rbp - 0x70], r14d
mov ecx, dword [r11 + rdi*4]
lea r8d, [r9 + 0x55]
call qword [case.0x140066b0e.0]
test eax, eax
je 0x140022321
mov rax, qword [0x1400b70e0]
lea r8, [rbp + 0xc20]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0xe40]
lea edx, [r9 + 0x48]
call qword [case.0x140066b0e.0]
mov r9d, 1
test eax, eax
jle 0x140022327
mov r12d, dword [rbp + 0xc2c]
shr r12d, 0x1b
and r12d, r9d
mov dword [rbp - 0x70], r12d
jmp 0x140022327
mov r9d, 1
lea rcx, str.Segoe_UI_Light
mov r8d, SafeArrayGetElement
lea rdx, [rbp + 0xd90]
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r14w
jne 0x140022342
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub r8, r9
jne 0x14002233b
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x906c0]
mov rax, qword [rbp + rax*8 + 0xd90]
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x248], rax
movzx eax, byte [rcx + rdx + 0x906c1]
mov rax, qword [rbp + rax*8 + 0xd90]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x250], rax
movzx eax, byte [rcx + rdx + 0x906c2]
mov rdi, qword [rbp + rax*8 + 0xd90]
mov qword [rbp - 0x30], rdi
mov qword [rbp + 0x258], rdi
mov r12d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x1c90
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x1400223e7
mov r12d, 0x8007000e
jmp 0x1400229e7
or dword [rbp - 0x78], 0xffffffff
lea r11, [rax + 7]
mov r13d, dword [rbp - 0x78]
lea rsi, [0x14008e742]
mov ecx, r14d
mov dword [rbp + 0x34], r14d
mov r15d, r14d
mov dword [rbp + 4], ecx
mov r10d, r14d
mov ebx, 0x392
mov r14d, 1
movzx eax, byte [rsi - 1]
movzx r9d, byte [rsi - 2]
movzx r8d, byte [rsi + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [rsi - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rsi - 3]
shl r8d, 8
or r8d, eax
mov edi, r8d
xor edi, ecx
xor edi, r10d
xor edi, 0xac987321
lea eax, [rdi + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, edi
rol eax, 0xa
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 2
sub ecx, eax
xor edi, ecx
imul ecx, edi, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov edx, r10d
xor eax, 0x137f
ror edx, 6
imul ecx, eax, 0xab69
xor edx, ecx
xor edi, edx
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, edi
rol eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov eax, edi
mov edx, 0xab69605e
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xa
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor ecx, edi
mov eax, ecx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea edi, [r10 - 0x7f1]
xor edi, ecx
xor edi, edx
mov eax, edi
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, edi
shr eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 7
add ecx, eax
xor edi, ecx
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 9
imul ecx, eax, 0x605e
add edx, ecx
xor r10d, edx
mov eax, r10d
xor eax, 0xab69
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 7
add ecx, eax
xor edi, ecx
mov edx, edi
xor edx, r10d
xor edx, 0xac987321
mov eax, edx
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor edi, ecx
lea eax, [rdi - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, edi
ror eax, 6
sub ecx, eax
xor edx, ecx
lea eax, [rdx - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, edx
rol eax, 0xe
add ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xe
sub ecx, eax
xor edx, ecx
mov eax, edx
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edx
shr eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, edi
rol eax, 2
xor edi, r13d
mov dword [rbp + 4], edi
mov r13d, r8d
xor ecx, eax
xor ecx, r15d
mov r15d, r9d
xor edx, ecx
mov dword [rbp + 0x34], edx
mov byte [r11 - 4], dl
mov al, byte [rbp + 4]
ror dword [rbp + 0x34], 8
mov byte [r11], al
lea r11, [r11 + 8]
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x34]
mov byte [r11 - 0xd], al
mov al, byte [rbp + 4]
ror dword [rbp + 0x34], 8
mov byte [r11 - 9], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x34]
mov byte [r11 - 0xe], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 4]
mov byte [r11 - 0xa], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x34]
mov byte [r11 - 0xf], al
mov al, byte [rbp + 4]
mov byte [r11 - 0xb], al
mov r10d, dword [rbp + 0x34]
mov ecx, dword [rbp + 4]
ror r10d, 8
ror ecx, 8
mov dword [rbp + 0x34], r10d
mov dword [rbp + 4], ecx
sub rbx, r14
jne 0x140022415
mov r15d, dword [rsp + 0x60]
xor r14d, r14d
mov r13, qword [rbp - 0x68]
mov eax, r14d
xorps xmm1, xmm1
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r13]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rcx
jb 0x14002272f
psrldq xmm0, 8
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 2
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 1
pxor xmm1, xmm0
movd eax, xmm1
movzx eax, al
cmp rax, qword [0x1400903d0]
je 0x14002278e
mov r12d, 0xc004d501
jmp 0x14002279f
mov qword [rbp + 0x160], r13
mov r13, r14
mov qword [rbp + 0x2a8], rcx
test r13, r13
je 0x1400227b8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x1400229e7
mov rdx, qword [rbp + 0x160]
lea rdi, [rbp + 0xd60]
mov r9d, dword [rsp + 0x68]
mov r8d, 6
mov ecx, r14d
cmp r9d, ecx
jne 0x1400227e5
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r14b
jne 0x1400227e9
inc rax
add rdx, rax
mov eax, 1
add ecx, eax
cmp ecx, 0x26
jb 0x1400227dd
add rdi, 8
sub r8, rax
jne 0x1400227da
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xa0]
mov rdi, rax
call fcn.140047644
mov r8d, 1
test rdi, rdi
jne 0x14002284e
mov qword [rbp + 0xa0], r14
mov r12d, 0x8007000e
jmp 0x1400229ed
xor eax, eax
mov qword [rbp + 0xa0], rdi
mov qword [rdi], rax
lea rcx, [rbp + 0xe30]
mov edx, r14d
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov r13, r14
mov dword [rbp - 0x50], edx
mov qword [rbp - 0x20], rcx
movzx edi, word [rcx]
lea rcx, [0x140090b20]
mov eax, r14d
cmp di, word [rcx]
je 0x140022899
add eax, r8d
add rcx, 2
cmp eax, 6
jb 0x140022883
jmp 0x140022963
mov rcx, qword [rbp + rax*8 + 0xd60]
or rax, 0xffffffffffffffff
mov qword [rbp - 0x68], rcx
inc rax
cmp byte [rcx + rax], r14b
jne 0x1400228a9
lea r9d, [r8 + rax]
mov dword [rsp + 0x28], r14d
mov rax, qword [0x1400b7110]
mov r8, rcx
mov ecx, 0xfde9
mov qword [rsp + 0x20], r14
xor edx, edx
call qword [case.0x140066b0e.0]
mov dword [rbp - 0x78], eax
test eax, eax
je 0x1400229a2
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbp + 0xa0]
mov qword [rcx + r13], rax
mov rcx, qword [rbp + 0xa0]
cmp qword [rcx + r13], r14
je 0x1400223dc
mov r8, qword [rbp - 0x68]
or rax, 0xffffffffffffffff
inc rax
cmp byte [r8 + rax], r14b
jne 0x140022920
mov edx, dword [rbp - 0x78]
mov r9d, 1
mov dword [rsp + 0x28], edx
add r9d, eax
mov rdx, qword [rcx + r13]
mov ecx, 0xfde9
mov rax, qword [0x1400b7110]
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [case.0x140066b0e.0]
test eax, eax
je 0x1400229a2
mov edx, dword [rbp - 0x50]
mov r8d, 1
mov rcx, qword [rbp - 0x20]
add edx, r8d
add rcx, 2
mov dword [rbp - 0x50], edx
add r13, 8
mov qword [rbp - 0x20], rcx
cmp edx, 3
jb 0x140022876
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x1b8], rax
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x4b0], eax
mov qword [rbp + 0xa0], r14
jmp 0x1400229ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400229e7
mov r12d, 0x80004005
jmp 0x1400229e7
mov rax, qword [rbp + 0x258]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x248]
mov qword [rbp - 0x38], rax
mov r8d, 1
cmp qword [rbp + 0xa0], r14
je 0x140022a6b
mov eax, 3
mov r13, r14
mov qword [rbp - 0x20], rax
mov rcx, qword [rbp + 0xa0]
cmp qword [rcx + r13], r14
je 0x140022a5e
test rcx, rcx
jne 0x140022a17
mov rcx, r14
mov rdi, qword [rcx + r13]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140022a1f
xor eax, eax
lea rcx, [rcx*2 + 2]
rep stosb byte [rdi], al
mov rax, qword [rbp + 0xa0]
mov rdi, qword [rax + r13]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp - 0x20]
mov r8d, 1
add r13, 8
sub rax, r8
mov qword [rbp - 0x20], rax
jne 0x140022a02
mov rdi, qword [rbp + 0x160]
test rdi, rdi
je 0x140022a82
mov rcx, qword [rbp + 0x2a8]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0xa0]
call fcn.140047644
lea rcx, [rbp + 0x160]
call fcn.140047644
lea rcx, [rbp + 0x1c0]
call fcn.140047644
test r12d, r12d
js 0x1400234e7
mov rax, qword [rbp + 0x1b8]
lea r8, [rbp + 0x2e0]
xor r9d, r9d
xor edx, edx
mov edi, r14d
mov r12d, r14d
mov rcx, qword [rax]
mov qword [rbp + 0x4b8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x4c0], rcx
mov rcx, qword [rax + 0x10]
xor eax, eax
mov qword [rbp + 0x2e0], rax
mov qword [rbp + 0x4c8], rcx
mov qword [rbp + 0x2e8], rax
lea ecx, [rax + 0x42]
mov dword [rbp + 0x2e0], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rax, qword [0x1400b71b8]
call qword [case.0x140066b0e.0]
test eax, eax
jne 0x140022b3a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140022b43
mov r12d, 0x80004005
jmp 0x140022b43
mov edi, dword [rbp + 0x2e4]
and edi, 1
mov dword [rbp + 0x4b4], edi
test r12d, r12d
js 0x1400234e7
mov r13d, dword [rsp + 0x78]
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateVectorEx
mov ecx, r13d
mov dword [rbp - 0x80], eax
sub ecx, 1
je 0x140022b8f
sub ecx, 1
je 0x140022b85
cmp ecx, 1
jne 0x140022b9d
mov r12d, 0xe1
mov dword [rsp + 0x7c], r12d
mov dword [rbp + 0x80], r12d
jmp 0x140022b9d
mov dword [rsp + 0x7c], SafeArrayGetDim
jmp 0x140022b93
mov dword [rsp + 0x7c], eax
mov dword [rbp + 0x80], SafeArrayGetDim
mov edi, 0x60
lea rcx, [rbp + 0xc40]
xor edx, edx
mov dword [rbp + 0x58], edi
lea r12d, [rdi + 0x7c]
mov r8d, r12d
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400b7130]
lea r8, [rbp + 0xc40]
or edx, 0xffffffff
mov word [rbp + 0xc84], r12w
xor ecx, ecx
call qword [case.0x140066b0e.0]
test eax, eax
je 0x140022c13
mov eax, dword [rbp + 0xcec]
movzx edi, word [rbp + 0xce6]
and qword [rbp + 0x9a0], 0
mov dword [rbp + 0x9a8], eax
mov eax, dword [rbp + 0xcf0]
mov dword [rbp + 0x9ac], eax
lea eax, [r12 - 0x7c]
cmp edi, eax
cmovb edi, eax
mov dword [rbp + 0x58], edi
mov eax, 1
lea rcx, [rbp + 0xb00]
cmp r13d, eax
mov rax, qword [rbp - 0x30]
cmove rax, qword [rbp - 0x38]
xor edx, edx
mov qword [rbp - 0x30], rax
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400b7148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r12d, r14d
call qword [case.0x140066b0e.0]
mov r13, rax
test rax, rax
jne 0x140022c87
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400234e7
mov r12d, 0x80004005
jmp 0x1400234e7
mov ecx, dword [rsp + 0x7c]
mov r8d, 0x48
mov rax, qword [0x1400b7108]
mov edx, edi
call qword [case.0x140066b0e.0]
mov r8, qword [rbp - 0x30]
lea rcx, [rbp + 0xb1c]
neg eax
mov dword [rbp + 0xb10], 0x190
mov edx, 0x20
mov dword [rbp + 0xb00], eax
mov byte [rbp + 0xb1a], 5
call fcn.1400073a0
mov rax, qword [0x1400b7070]
lea rcx, [rbp + 0xb00]
call qword [case.0x140066b0e.0]
test rax, rax
jne 0x140022d0b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140022d12
mov r12d, 0x80004005
jmp 0x140022d12
mov qword [rbp + 0x4d0], rax
mov rax, qword [0x1400b71b0]
mov rdx, r13
xor ecx, ecx
call qword [case.0x140066b0e.0]
test r12d, r12d
js 0x1400234e7
xor edx, edx
lea rcx, [rbp + 0xb60]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400b7148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r12d, r14d
call qword [case.0x140066b0e.0]
mov r13, rax
test rax, rax
je 0x140022c5c
mov ecx, dword [rbp + 0x80]
mov r8d, 0x48
mov rax, qword [0x1400b7108]
mov edx, edi
call qword [case.0x140066b0e.0]
mov r8, qword [rbp - 0x30]
lea rcx, [rbp + 0xb7c]
neg eax
mov dword [rbp + 0xb70], 0x190
mov edx, 0x20
mov dword [rbp + 0xb60], eax
mov byte [rbp + 0xb7a], 5
call fcn.1400073a0
mov rax, qword [0x1400b7070]
lea rcx, [rbp + 0xb60]
call qword [case.0x140066b0e.0]
test rax, rax
jne 0x140022deb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140022df2
mov r12d, 0x80004005
jmp 0x140022df2
mov qword [rbp + 0x4d8], rax
mov rax, qword [0x1400b71b0]
mov rdx, r13
xor ecx, ecx
call qword [case.0x140066b0e.0]
test r12d, r12d
js 0x1400234e7
mov edi, dword [rsp + 0x78]
mov r13d, r14d
mov ecx, edi
mov edx, r14d
sub ecx, 1
je 0x140022e28
sub ecx, 1
je 0x140022e62
cmp ecx, 1
jne 0x140022e35
mov r13d, dword [rbp + 0x9a8]
mov edx, dword [rbp + 0x9ac]
mov dword [rbp + 0x938], r13d
mov dword [rbp + 0x93c], edx
mov ecx, 1
cmp edi, ecx
je 0x140022e9c
lea eax, [rdi - 2]
cmp eax, ecx
ja 0x140022e79
mov ecx, r14d
mov dword [rbp - 0x80], r14d
mov dword [rbp + 0x80], r14d
jmp 0x140022eab
mov eax, dword [rbp + 0x9a8]
cdq
and edx, 3
lea r13d, [rdx + rax]
mov edx, r14d
sar r13d, 2
jmp 0x140022e35
mov eax, dword [rbp + 0xb8]
mov ecx, dword [rbp + 0xb8]
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0xb8]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0xb8]
jmp 0x140022eae
mov ecx, reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rbp + 0x80], 0x20
mov eax, r14d
mov dword [rsp + 0x7c], ecx
mov dword [rbp - 0x38], eax
mov rdx, qword [rbp + 0x4d0]
sub r13d, ecx
mov rcx, qword [rsp + 0x70]
sub r13d, eax
mov rax, qword [0x1400b70c8]
mov r12d, r14d
mov rdi, qword [rbp + 0x4b8]
mov dword [rbp + 0x504], r13d
mov dword [rbp + 0x4f4], r13d
call qword [case.0x140066b0e.0]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rsp + 0x70]
lea r9, [rbp + 0x4ec]
mov qword [rbp - 0x68], rax
mov rcx, rdi
mov rax, qword [fcn.140006c60]
or r8d, 0xffffffff
mov dword [rsp + 0x20], 0xc50
call qword [case.0x140066b0e.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x140022f47
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
test r12d, r12d
js 0x1400234e7
mov rdx, qword [rbp + 0x4d8]
mov r12d, r14d
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x1400b70c8]
mov rdi, qword [rbp + 0x4c0]
call qword [case.0x140066b0e.0]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rsp + 0x70]
lea r9, [rbp + 0x4fc]
mov qword [rbp - 0x68], rax
mov rcx, rdi
mov rax, qword [fcn.140006c60]
or r8d, 0xffffffff
mov dword [rsp + 0x20], 0xc50
call qword [case.0x140066b0e.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x140022fce
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
test r12d, r12d
js 0x1400234e7
mov r12d, dword [rsp + 0x78]
mov edx, 1
mov ecx, dword [rbp + 0x4f4]
lea eax, [r12 - 2]
cmp eax, edx
ja 0x140022ffe
mov r13d, dword [rbp + 0x504]
cmp ecx, r13d
cmovg r13d, ecx
mov r8d, dword [rbp - 0x80]
mov rax, qword [fcn.140006c60]
cmp dword [rbp + 0x4b0], r14d
je 0x140023035
mov edi, dword [rbp - 0x38]
mov edx, edi
sub edx, ecx
lea rcx, [rbp + 0x4ec]
add edx, r13d
call qword [case.0x140066b0e.0]
sub edi, dword [rbp + 0x504]
lea edx, [rdi + r13]
jmp 0x14002304a
mov edx, dword [rsp + 0x7c]
lea rcx, [rbp + 0x4ec]
call qword [case.0x140066b0e.0]
mov edx, dword [rsp + 0x7c]
mov r8d, dword [rbp + 0x80]
lea rcx, [rbp + 0x4fc]
add r8d, dword [rbp + 0x4f8]
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
lea eax, [r12 - 2]
mov ecx, 1
cmp eax, ecx
jbe 0x1400232f8
cmp r12d, ecx
jne 0x140023315
lea r8d, [rcx + 0x5b]
mov dword [rbp + 0x4e8], 0xffffff
lea rcx, [rbp + 0xbc0]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400b7148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r12d, r14d
call qword [case.0x140066b0e.0]
mov rdi, rax
test rax, rax
je 0x140022c5c
mov edx, dword [rbp + 0x58]
mov r8d, 0x48
mov rax, qword [0x1400b7108]
lea ecx, [r8 - 0x3d]
call qword [case.0x140066b0e.0]
mov r8, qword [rbp + 0x18]
lea rcx, [rbp + 0xbdc]
neg eax
mov dword [rbp + 0xbd0], 0x190
mov edx, 0x20
mov dword [rbp + 0xbc0], eax
mov byte [rbp + 0xbda], 5
call fcn.1400073a0
mov rax, qword [0x1400b7070]
lea rcx, [rbp + 0xbc0]
call qword [case.0x140066b0e.0]
test rax, rax
jne 0x14002314e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140023155
mov r12d, 0x80004005
jmp 0x140023155
mov qword [rbp + 0x4e0], rax
mov rax, qword [0x1400b71b0]
mov rdx, rdi
xor ecx, ecx
call qword [case.0x140066b0e.0]
test r12d, r12d
js 0x1400234e7
mov rdx, qword [rbp + 0x4e0]
mov r12d, r14d
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x1400b70c8]
mov rdi, qword [rbp + 0x4c8]
mov dword [rbp + 0x514], r13d
call qword [case.0x140066b0e.0]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rsp + 0x70]
lea r9, [rbp + 0x50c]
mov r13, rax
mov dword [rsp + 0x20], 0x460
mov rax, qword [fcn.140006c60]
mov rcx, rdi
or r8d, 0xffffffff
call qword [case.0x140066b0e.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
test r13, r13
je 0x1400231f0
mov rax, qword [0x1400b70c8]
mov rdx, r13
mov rcx, rdi
call qword [case.0x140066b0e.0]
test r12d, r12d
js 0x1400234e7
mov eax, dword [rbp + 0x514]
mov ecx, 0x5a
mov edi, dword [rbp + 0x58]
add eax, 0x18
cmp eax, ecx
mov edx, edi
cmovl eax, ecx
lea r12d, [rcx + 6]
mov dword [rbp + 0x514], eax
mov r8d, r12d
lea eax, [rcx - 0x3a]
mov ecx, dword [rbp + 0x50c]
mov dword [rbp + 0x518], eax
mov rax, qword [0x1400b7108]
call qword [case.0x140066b0e.0]
mov ecx, dword [rbp + 0x510]
mov r8d, r12d
mov dword [rbp + 0x50c], eax
mov edx, edi
mov rax, qword [0x1400b7108]
call qword [case.0x140066b0e.0]
mov ecx, dword [rbp + 0x514]
mov r8d, r12d
mov dword [rbp + 0x510], eax
mov edx, edi
mov rax, qword [0x1400b7108]
call qword [case.0x140066b0e.0]
mov ecx, dword [rbp + 0x518]
mov r8d, r12d
mov dword [rbp + 0x514], eax
mov edx, edi
mov rax, qword [0x1400b7108]
call qword [case.0x140066b0e.0]
mov r8d, dword [rbp + 0x508]
lea rcx, [rbp + 0x50c]
add r8d, 0x24
mov dword [rbp + 0x518], eax
mov rax, qword [fcn.140006c60]
cmp dword [rbp + 0x4b0], r14d
je 0x1400232d7
mov edx, dword [rbp + 0x4ec]
cmp edx, dword [rbp + 0x4fc]
cmovge edx, dword [rbp + 0x4fc]
call qword [case.0x140066b0e.0]
jmp 0x140023315
mov edx, dword [rbp + 0x4f4]
cmp edx, dword [rbp + 0x504]
cmovle edx, dword [rbp + 0x504]
sub edx, dword [rbp + 0x514]
add edx, dword [rbp + 0x50c]
jmp 0x1400232cf
mov eax, dword [rbp + 0x508]
mov dword [rbp + 0x93c], eax
mov dword [rbp + 0x938], r13d
mov dword [rbp + 0x4e8], 0xffa8a8a8
mov ecx, dword [rsp + 0x78]
mov r13d, dword [rbp + 0x4b0]
mov r12d, dword [rbp + 0x93c]
mov edi, dword [rbp + 0x938]
sub ecx, 1
je 0x1400234dc
sub ecx, 1
je 0x1400233f4
cmp ecx, 1
jne 0x1400234e4
lea r13d, [rcx + 0x27]
xor edx, edx
mov r8d, r13d
lea rcx, [rbp + 0xad8]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [fcn.140006c60]
lea edx, [r13 - 0x27]
xor ecx, ecx
call qword [case.0x140066b0e.0]
lea rdx, [rbp + 0xad8]
mov dword [rbp + 0xad8], r13d
mov rcx, rax
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
test eax, eax
je 0x1400234e4
mov rax, qword [fcn.140006c60]
lea rdx, [rbp + 0xaec]
xor ecx, ecx
call qword [case.0x140066b0e.0]
mov rax, qword [fcn.140006c60]
lea rdx, [rbp + 0xaf4]
xor ecx, ecx
call qword [case.0x140066b0e.0]
mov eax, dword [rbp + 0xaf4]
sub eax, edi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov rcx, qword [rbp + 0xaf4]
shr rcx, 0x20
sub ecx, r12d
imul ecx, ecx, 0x32
jmp 0x1400234bd
xor edx, edx
lea rcx, [rbp + 0xab0]
lea r8d, [rdx + 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [fcn.140006c60]
mov edx, 1
xor ecx, ecx
call qword [case.0x140066b0e.0]
lea rdx, [rbp + 0xab0]
mov dword [rbp + 0xab0], SafeArrayCreateVectorEx
mov rcx, rax
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
test eax, eax
je 0x1400234e4
mov rax, qword [fcn.140006c60]
lea rdx, [rbp + 0xac4]
xor ecx, ecx
call qword [case.0x140066b0e.0]
mov rax, qword [fcn.140006c60]
lea rdx, [rbp + 0xacc]
xor ecx, ecx
call qword [case.0x140066b0e.0]
mov eax, dword [rbp + 0xacc]
test r13d, r13d
je 0x140023496
lea ecx, [rax + rax*4]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, dword [rbp + 0xac4]
jmp 0x1400234ac
sub eax, edi
imul ecx, eax, 0x5f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rbp + 0xacc]
shr rax, 0x20
sub eax, r12d
imul ecx, eax, 0x5f
mov dword [rbp + 0x930], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x934], edx
jmp 0x1400234e4
and qword [rbp + 0x930], 0
mov r12d, r14d
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x1400b71b0]
call qword [case.0x140066b0e.0]
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x1400be658], r13d
jne 0x140023501
mov eax, dword [0x1400be654]
test eax, eax
jle 0x140023580
sub eax, r13d
mov dword [0x1400be654], eax
jne 0x140023580
mov rax, r13
lea rdi, [0x1400be360]
mov r13d, 4
cmp qword [rdi], r14
je 0x140023546
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add rdi, 0x18
sub r13, rax
jne 0x140023533
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400be360]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400737e0]
lea rcx, [0x1400b7050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, 1
mov eax, r14d
lea rcx, [rbp + 0x1b8]
xchg dword [0x1400be658], eax
call fcn.140047644
test r12d, r12d
js 0x140024ead
mov rdi, qword [rbp + 0x930]
lea rcx, [rbp + 0x520]
xor edx, edx
mov qword [rbp + 0x2b0], rdi
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400b70a0]
mov r12d, r13d
mov r13, qword [rbp + 0x60]
mov edx, 7
mov rcx, r13
call qword [case.0x140066b0e.0]
test rax, rax
je 0x140023628
mov rcx, rax
lea r8, [rbp + 0x520]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
test eax, eax
je 0x140023628
mov eax, 0x20
cmp word [rbp + 0x532], ax
jne 0x140023628
cmp qword [rbp + 0x538], r14
je 0x140023628
cmp dword [rbp + 0x524], r14d
jle 0x140023628
cmp dword [rbp + 0x528], r14d
jg 0x14002362b
mov r12d, r14d
mov dword [rbp + 0x124], r12d
test r12d, r12d
mov r12d, 1
jne 0x140023644
cmp dword [rsp + 0x78], r12d
jne 0x1400236ac
mov r8d, dword [rbp + 0x2b4]
lea rcx, [rbp + 0x4ec]
mov rax, qword [fcn.140006c60]
mov edx, edi
call qword [case.0x140066b0e.0]
mov r8d, dword [rbp + 0x2b4]
lea rcx, [rbp + 0x4fc]
mov rax, qword [fcn.140006c60]
mov edx, edi
call qword [case.0x140066b0e.0]
mov edi, dword [rsp + 0x78]
cmp edi, r12d
jne 0x1400236b0
mov eax, dword [rbp + 0x4b4]
neg eax
mov rax, qword [0x1400b7078]
sbb ecx, ecx
not ecx
and ecx, 0xb26720
call qword [case.0x140066b0e.0]
mov qword [rbp + 0x78], rax
jmp 0x1400236b0
mov edi, dword [rsp + 0x78]
mov rax, qword [fcn.140006c60]
mov edx, r12d
mov rcx, r13
call qword [case.0x140066b0e.0]
cmp dword [rbp + 0x4b0], r14d
mov ecx, 0x20812
mov dword [rsp + 0x70], eax
mov eax, 0x810
cmovne eax, ecx
mov dword [rbp - 0x80], eax
cmp dword [rbp + 0x124], r14d
je 0x140024122
mov eax, dword [rbp + 0x4b4]
lea rcx, [rbp + 0x670]
mov r12, qword [rbp + 0x4b8]
mov edi, 0x68
mov dword [rbp - 0x78], eax
mov r8d, edi
mov rax, qword [rbp + 0x4d0]
xor edx, edx
mov qword [rbp - 0x68], rax
mov qword [rbp + 0x10], r12
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, edi
lea rcx, [rbp + 0x750]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
mov qword [rbp + 0x18], r14
lea rcx, [rbp + 0xa80]
mov dword [rbp - 0x50], r14d
mov edi, r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x960], rax
mov qword [rbp + 0x968], rax
test r12, r12
je 0x140024e94
lea edx, [rax + 7]
mov rcx, r13
mov rax, qword [0x1400b70a0]
call qword [case.0x140066b0e.0]
test rax, rax
je 0x140024180
mov rcx, rax
lea r8, [rbp + 0x670]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
test eax, eax
je 0x1400237bd
mov rax, qword [rbp + 0x688]
mov edi, dword [rbp + 0x678]
mov qword [rbp + 0x18], rax
mov eax, dword [rbp + 0x674]
mov dword [rbp - 0x50], eax
mov rax, qword [0x1400b7060]
mov rcx, r13
call qword [case.0x140066b0e.0]
mov r13, rax
test rax, rax
je 0x140024180
mov eax, dword [rbp + 0x4f4]
lea r9, [rbp + 0x390]
sub eax, dword [rbp + 0x4ec]
lea rdx, [rbp + 0xa80]
mov dword [rbp + 0xa84], eax
xorps xmm0, xmm0
mov eax, dword [rbp + 0x4f0]
xor r8d, r8d
sub eax, dword [rbp + 0x4f8]
mov rcx, r13
mov dword [rbp + 0xa88], eax
mov r12d, r14d
mov rax, qword [0x1400b7068]
mov dword [rsp + 0x28], r14d
mov qword [rbp + 0x390], r14
movdqu xmmword [rbp + 0xa90], xmm0
mov qword [rbp + 0xaa0], r14
mov dword [rbp + 0xaa8], r14d
mov dword [rbp + 0xa80], SafeArrayCreateVectorEx
mov dword [rbp + 0xa8c], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x140066b0e.0]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x140023894
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140023be9
mov r12d, 0x80004005
jmp 0x140023be9
mov rcx, rax
lea r8, [rbp + 0x750]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
mov rdx, qword [rsp + 0x68]
mov rcx, r14
test eax, eax
mov eax, dword [rbp + 0x4f4]
cmovne rcx, qword [rbp + 0x768]
sub eax, dword [rbp + 0x4ec]
mov dword [rbp + 0x968], eax
mov eax, dword [rbp + 0x4f8]
sub eax, dword [rbp + 0x4f0]
mov dword [rbp + 0x96c], eax
mov rax, qword [0x1400b70c8]
mov qword [rbp - 0x20], rcx
mov rcx, r13
call qword [case.0x140066b0e.0]
mov rax, qword [fcn.140006c60]
mov edx, 1
mov rcx, r13
call qword [case.0x140066b0e.0]
mov rdx, qword [rbp - 0x68]
mov rcx, r13
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov qword [rbp - 0x70], rax
xor ecx, ecx
mov rax, qword [0x1400b70c0]
call qword [case.0x140066b0e.0]
lea rdx, [rbp + 0x960]
mov rcx, r13
mov r8, rax
mov rax, qword [0x1400b7138]
call qword [case.0x140066b0e.0]
mov eax, dword [rbp - 0x80]
lea r9, [rbp + 0x960]
mov rdx, qword [rbp + 0x10]
or r8d, 0xffffffff
mov qword [rsp + 0x28], r14
mov rcx, r13
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
mov eax, 1
cmp dword [rsp + 0x78], eax
jne 0x1400239ac
cmp dword [rbp - 0x78], r14d
je 0x1400239a2
lea ecx, [rax + 7]
mov rax, qword [0x1400b7168]
call qword [case.0x140066b0e.0]
mov dword [rsp + 0x7c], eax
jmp 0x1400239b4
mov dword [rsp + 0x7c], 0xffffff
jmp 0x1400239b4
mov dword [rsp + 0x7c], 0xffa8a8a8
mov eax, dword [rbp + 0x4ec]
mov r9d, r14d
movsxd r10, dword [rbp - 0x50]
mov r8d, eax
neg r8d
mov edx, r14d
test eax, eax
mov r11d, r10d
cmovns r9d, eax
cmovns r8d, r14d
mov eax, dword [rbp + 0x4f0]
mov ecx, eax
neg ecx
test eax, eax
cmovns edx, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x968]
sub r11d, r9d
sub eax, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x96c]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x140023bbb
test edi, edi
jle 0x140023bbb
imul ecx, dword [rbp + 0x968]
mov esi, 1
mov ebx, dword [rsp + 0x7c]
movsxd rax, r8d
imul edx, r10d
mov qword [rbp - 0x30], rdi
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x20]
lea r8, [rax + rcx*4]
movsxd rcx, edx
movsxd rax, r9d
mov rdx, r10
add rcx, rax
mov qword [rbp - 0x20], r8
mov rax, qword [rbp + 0x18]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x968]
shl rcx, 2
shl rdx, 2
mov qword [rbp + 0x10], rdx
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], rcx
test r11d, r11d
jle 0x140023b8c
mov r10, rax
mov edi, r11d
sub r10, r8
mov qword [rbp + 0x18], rdi
lea r9, [r8 + 2]
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140023b67
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x7d]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x7e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp + 0x18]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp + 0x18], rdi
jne 0x140023a93
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp + 0x10]
mov rdi, qword [rbp - 0x30]
add r8, rcx
add rax, rdx
sub rdi, rsi
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x78], rax
jne 0x140023a79
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rsp + 0x68]
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140023be9
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov rax, qword [0x1400b7080]
mov rcx, r13
call qword [case.0x140066b0e.0]
test r12d, r12d
js 0x140024e94
mov eax, dword [rbp + 0x4b4]
lea rcx, [rbp + 0x600]
mov r12, qword [rbp + 0x4c0]
mov edi, 0x68
mov dword [rbp - 0x78], eax
mov r8d, edi
mov rax, qword [rbp + 0x4d8]
xor edx, edx
mov qword [rbp - 0x68], rax
mov qword [rbp + 0x10], r12
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, edi
lea rcx, [rbp + 0x7c0]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
mov qword [rbp + 0x18], r14
lea rcx, [rbp + 0x9c0]
mov dword [rbp - 0x50], r14d
mov edi, r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x970], rax
mov qword [rbp + 0x978], rax
test r12, r12
je 0x140024e94
mov r13, qword [rbp + 0x60]
lea edx, [rax + 7]
mov rax, qword [0x1400b70a0]
mov rcx, r13
call qword [case.0x140066b0e.0]
test rax, rax
je 0x140024180
mov rcx, rax
lea r8, [rbp + 0x600]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
test eax, eax
je 0x140023cd8
mov rax, qword [rbp + 0x618]
mov edi, dword [rbp + 0x608]
mov qword [rbp + 0x18], rax
mov eax, dword [rbp + 0x604]
mov dword [rbp - 0x50], eax
mov rax, qword [0x1400b7060]
mov rcx, r13
call qword [case.0x140066b0e.0]
mov r13, rax
test rax, rax
je 0x140024180
mov eax, dword [rbp + 0x504]
lea r9, [rbp + 0x398]
sub eax, dword [rbp + 0x4fc]
lea rdx, [rbp + 0x9c0]
mov dword [rbp + 0x9c4], eax
xorps xmm0, xmm0
mov eax, dword [rbp + 0x500]
xor r8d, r8d
sub eax, dword [rbp + 0x508]
mov rcx, r13
mov dword [rbp + 0x9c8], eax
mov r12d, r14d
mov rax, qword [0x1400b7068]
mov dword [rsp + 0x28], r14d
mov qword [rbp + 0x398], r14
movdqu xmmword [rbp + 0x9d0], xmm0
mov qword [rbp + 0x9e0], r14
mov dword [rbp + 0x9e8], r14d
mov dword [rbp + 0x9c0], SafeArrayCreateVectorEx
mov dword [rbp + 0x9cc], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x140066b0e.0]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x140023daf
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140024100
mov r12d, 0x80004005
jmp 0x140024100
mov rcx, rax
lea r8, [rbp + 0x7c0]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
mov rdx, qword [rsp + 0x68]
mov rcx, r14
test eax, eax
mov eax, dword [rbp + 0x504]
cmovne rcx, qword [rbp + 0x7d8]
sub eax, dword [rbp + 0x4fc]
mov dword [rbp + 0x978], eax
mov eax, dword [rbp + 0x508]
sub eax, dword [rbp + 0x500]
mov dword [rbp + 0x97c], eax
mov rax, qword [0x1400b70c8]
mov qword [rbp - 0x20], rcx
mov rcx, r13
call qword [case.0x140066b0e.0]
mov rax, qword [fcn.140006c60]
mov edx, 1
mov rcx, r13
call qword [case.0x140066b0e.0]
mov rdx, qword [rbp - 0x68]
mov rcx, r13
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov qword [rbp - 0x70], rax
xor ecx, ecx
mov rax, qword [0x1400b70c0]
call qword [case.0x140066b0e.0]
lea rdx, [rbp + 0x970]
mov rcx, r13
mov r8, rax
mov rax, qword [0x1400b7138]
call qword [case.0x140066b0e.0]
mov eax, dword [rbp - 0x80]
lea r9, [rbp + 0x970]
mov rdx, qword [rbp + 0x10]
or r8d, 0xffffffff
mov qword [rsp + 0x28], r14
mov rcx, r13
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
mov eax, 1
cmp dword [rsp + 0x78], eax
jne 0x140023ec2
cmp dword [rbp - 0x78], r14d
je 0x140023eb9
lea ecx, [rax + 7]
mov rax, qword [0x1400b7168]
call qword [case.0x140066b0e.0]
jmp 0x140023ec7
mov dword [rbp - 0x80], 0xffffff
jmp 0x140023ecd
mov eax, 0xffa8a8a8
mov dword [rbp - 0x80], eax
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp + 0x4fc]
mov r9d, r14d
movsxd r10, dword [rbp - 0x50]
mov r8d, eax
neg r8d
mov edx, r14d
test eax, eax
mov r11d, r10d
cmovns r9d, eax
cmovns r8d, r14d
mov eax, dword [rbp + 0x500]
mov ecx, eax
neg ecx
test eax, eax
cmovns edx, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x978]
sub r11d, r9d
sub eax, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x97c]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x1400240d2
test edi, edi
jle 0x1400240d2
imul ecx, dword [rbp + 0x978]
mov ebx, 1
mov esi, dword [rbp - 0x7c]
movsxd rax, r8d
imul edx, r10d
mov qword [rbp - 0x30], rdi
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x20]
lea r8, [rax + rcx*4]
movsxd rcx, edx
movsxd rax, r9d
mov rdx, r10
add rcx, rax
mov qword [rbp - 0x20], r8
mov rax, qword [rbp + 0x18]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x978]
shl rcx, 2
shl rdx, 2
mov qword [rbp + 0x10], rdx
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], rcx
test r11d, r11d
jle 0x1400240a3
mov r10, rax
mov edi, r11d
sub r10, r8
mov qword [rbp + 0x18], rdi
lea r9, [r8 + 2]
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14002407e
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x7f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x7e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp + 0x18]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rbx
mov qword [rbp + 0x18], rdi
jne 0x140023fab
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp + 0x10]
mov rdi, qword [rbp - 0x30]
add r8, rcx
add rax, rdx
sub rdi, rbx
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x78], rax
jne 0x140023f91
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rsp + 0x68]
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140024100
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov rax, qword [0x1400b7080]
mov rcx, r13
call qword [case.0x140066b0e.0]
test r12d, r12d
js 0x140024e94
mov rdi, qword [rbp + 0x60]
jmp 0x140024e4e
cmp dword [rbp + 0x4b4], r14d
jne 0x140024132
mov al, 0xc0
cmp edi, r12d
jne 0x140024134
mov al, 0xff
and word [rbp + 0x80], 0
mov rcx, r13
mov byte [rbp + 0x82], al
xor eax, eax
mov qword [rbp + 0x940], rax
mov qword [rbp + 0x948], rax
mov qword [rbp + 0x950], rax
mov qword [rbp + 0x958], rax
mov rax, qword [0x1400b7060]
mov byte [rbp + 0x83], r12b
call qword [case.0x140066b0e.0]
mov qword [rbp + 0x48], rax
test rax, rax
jne 0x14002418b
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140024e94
cmp edi, r12d
jne 0x140024255
mov r13d, dword [rbp + 0x504]
mov edx, r14d
mov edi, dword [rbp + 0x4f4]
mov eax, r13d
mov r9d, dword [rbp + 0x4fc]
mov r12d, edi
mov r10d, dword [rbp + 0x4ec]
sub eax, r9d
mov ecx, dword [rbp + 0x508]
sub r12d, r10d
mov r11d, dword [rbp + 0x4f0]
cmp eax, r12d
mov r8d, r14d
cmovg r12d, eax
sub ecx, r11d
mov dword [rbp - 0x38], ecx
cmp dword [rbp + 0x4b0], r14d
je 0x140024202
mov edx, r10d
mov r8d, r9d
sub edx, edi
sub r8d, r13d
add edx, r12d
add r8d, r12d
mov dword [rbp + 0x940], edx
mov dword [rbp + 0x950], r8d
mov eax, dword [rbp + 0x4f8]
sub edi, r10d
sub eax, r11d
sub r13d, r9d
mov dword [rbp + 0x58], eax
add edi, edx
mov dword [rbp + 0x94c], eax
add r13d, r8d
mov eax, dword [rbp + 0x500]
sub eax, r11d
mov dword [rbp + 0x948], edi
mov dword [rbp - 0x78], eax
mov dword [rbp + 0x954], eax
sub eax, dword [rbp + 0x500]
add eax, dword [rbp + 0x508]
mov dword [rbp - 0x50], eax
mov dword [rbp + 0x95c], eax
mov dword [rbp + 0x958], r13d
jmp 0x1400242ab
movups xmm0, xmmword [rbp + 0x4ec]
mov ecx, dword [rbp + 0x93c]
movups xmm1, xmmword [rbp + 0x4fc]
mov r12d, dword [rbp + 0x938]
movdqu xmmword [rbp + 0x940], xmm0
mov eax, dword [rbp + 0x94c]
mov edi, dword [rbp + 0x948]
movdqu xmmword [rbp + 0x950], xmm1
mov r13d, dword [rbp + 0x958]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x95c]
mov dword [rbp - 0x50], eax
mov eax, dword [rbp + 0x954]
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x38], ecx
mov eax, ecx
mov dword [rsp + 0x28], r14d
mov rcx, qword [rbp + 0x48]
lea r9, [rbp + 0x3a0]
neg eax
mov qword [rbp + 0x3a0], r14
mov dword [rbp + 0x9f8], eax
lea rdx, [rbp + 0x9f0]
mov rax, qword [0x1400b7068]
xorps xmm0, xmm0
xor r8d, r8d
mov qword [rbp + 0xa10], r14
movdqu xmmword [rbp + 0xa00], xmm0
mov dword [rbp + 0xa18], r14d
mov dword [rbp + 0x9f0], SafeArrayCreateVectorEx
mov dword [rbp + 0x9f4], r12d
mov dword [rbp + 0x9fc], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x140066b0e.0]
mov qword [rbp + 0x50], rax
test rax, rax
jne 0x140024330
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140024e7b
mov rcx, qword [rbp + 0x48]
mov rdx, rax
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov eax, 1
cmp dword [rsp + 0x78], eax
jne 0x140024388
mov r8, qword [rbp + 0x78]
test r8, r8
je 0x140024388
mov eax, dword [rbp - 0x38]
lea rdx, [rbp + 0x9b0]
and qword [rbp + 0x9b0], 0
mov rcx, qword [rbp + 0x48]
mov dword [rbp + 0x9bc], eax
mov rax, qword [0x1400b7138]
mov dword [rbp + 0x9b8], r12d
call qword [case.0x140066b0e.0]
mov eax, dword [rbp + 0x4b4]
lea rcx, [rbp + 0x590]
mov dword [rsp + 0x7c], eax
xor edx, edx
mov rax, qword [rbp + 0x4d0]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x4b8]
lea r8d, [rdx + 0x68]
mov qword [rbp + 0x18], rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
lea rcx, [rbp + 0x830]
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
mov qword [rbp + 0x10], r14
lea rcx, [rbp + 0xa20]
mov dword [rbp - 0x70], r14d
mov dword [rbp - 0x30], r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x980], rax
mov qword [rbp + 0x988], rax
cmp qword [rbp + 0x18], r14
je 0x140024e62
mov rcx, qword [rbp + 0x48]
lea edx, [rax + 7]
mov rax, qword [0x1400b70a0]
call qword [case.0x140066b0e.0]
test rax, rax
jne 0x140024428
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140024e62
mov rcx, rax
lea r8, [rbp + 0x590]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
test eax, eax
je 0x140024465
mov rax, qword [rbp + 0x5a8]
mov qword [rbp + 0x10], rax
mov eax, dword [rbp + 0x594]
mov dword [rbp - 0x70], eax
mov eax, dword [rbp + 0x598]
mov dword [rbp - 0x30], eax
mov rcx, qword [rbp + 0x48]
mov rax, qword [0x1400b7060]
call qword [case.0x140066b0e.0]
mov qword [rbp - 0x20], rax
mov rcx, rax
test rax, rax
je 0x14002441d
mov eax, dword [rbp + 0x944]
lea r9, [rbp + 0x3a8]
sub eax, dword [rbp + 0x58]
lea rdx, [rbp + 0xa20]
sub edi, dword [rbp + 0x940]
xorps xmm0, xmm0
mov dword [rbp + 0xa28], eax
xor r8d, r8d
mov rax, qword [0x1400b7068]
mov dword [rsp + 0x28], r14d
mov qword [rbp + 0x3a8], r14
mov dword [rsp + 0x68], r14d
movdqu xmmword [rbp + 0xa30], xmm0
mov qword [rbp + 0xa40], r14
mov dword [rbp + 0xa48], r14d
mov dword [rbp + 0xa20], SafeArrayCreateVectorEx
mov dword [rbp + 0xa24], edi
mov dword [rbp + 0xa2c], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x140066b0e.0]
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x140024534
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rsp + 0x68], ecx
test ecx, ecx
js 0x14002488a
mov dword [rsp + 0x68], 0x80004005
jmp 0x14002488a
mov rcx, rax
lea r8, [rbp + 0x830]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
mov rdx, qword [rbp - 0x68]
mov rcx, r14
test eax, eax
mov dword [rbp + 0x988], edi
mov eax, dword [rbp + 0x58]
cmovne rcx, qword [rbp + 0x848]
sub eax, dword [rbp + 0x944]
mov rdi, qword [rbp - 0x20]
mov dword [rbp + 0x98c], eax
mov rax, qword [0x1400b70c8]
mov qword [rbp - 0x10], rcx
mov rcx, rdi
call qword [case.0x140066b0e.0]
mov rax, qword [fcn.140006c60]
mov edx, 1
mov rcx, rdi
call qword [case.0x140066b0e.0]
mov rdx, qword [rbp + 0x68]
mov rcx, rdi
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov qword [rbp + 0x58], rax
xor ecx, ecx
mov rax, qword [0x1400b70c0]
call qword [case.0x140066b0e.0]
lea rdx, [rbp + 0x980]
mov rcx, rdi
mov r8, rax
mov rax, qword [0x1400b7138]
call qword [case.0x140066b0e.0]
mov eax, dword [rbp - 0x80]
lea r9, [rbp + 0x980]
mov rdx, qword [rbp + 0x18]
or r8d, 0xffffffff
mov qword [rsp + 0x28], r14
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
mov eax, 1
cmp dword [rsp + 0x78], eax
jne 0x140024641
cmp dword [rsp + 0x7c], r14d
je 0x140024637
lea ecx, [rax + 7]
mov rax, qword [0x1400b7168]
call qword [case.0x140066b0e.0]
mov dword [rsp + 0x7c], eax
jmp 0x140024649
mov dword [rsp + 0x7c], 0xffffff
jmp 0x140024649
mov dword [rsp + 0x7c], 0xffa8a8a8
mov eax, dword [rbp + 0x940]
mov r10d, r14d
mov r11d, dword [rbp - 0x70]
mov r9d, eax
mov edx, dword [rbp - 0x30]
neg r9d
test eax, eax
mov r8d, r14d
cmovns r10d, eax
cmovns r9d, r14d
mov eax, dword [rbp + 0x944]
mov ecx, eax
neg ecx
test eax, eax
cmovns r8d, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x988]
sub r11d, r10d
sub eax, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x98c]
sub eax, ecx
sub edx, r8d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x14002485d
test edx, edx
jle 0x14002485d
mov eax, dword [rbp + 0x988]
mov ebx, 1
mov esi, dword [rsp + 0x7c]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r9d
movsxd r9, dword [rbp - 0x70]
add rcx, rax
mov rax, qword [rbp - 0x10]
imul r8d, r9d
mov qword [rbp - 0x70], rdx
lea rdi, [rax + rcx*4]
movsxd rax, r10d
mov qword [rbp + 0x18], rdi
movsxd rcx, r8d
mov r8, r9
add rcx, rax
mov rax, qword [rbp + 0x10]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x988]
shl rcx, 2
shl r8, 2
mov qword [rbp + 0x68], r8
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x10], rcx
test r11d, r11d
jle 0x14002482a
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov edi, r11d
mov qword [rbp + 0x10], rdi
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140024805
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x7d]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x7e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp + 0x10]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rbx
mov qword [rbp + 0x10], rdi
jne 0x140024730
mov rdi, qword [rbp + 0x18]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp + 0x68]
mov rdx, qword [rbp - 0x70]
add rdi, rcx
add rax, r8
sub rdx, rbx
mov qword [rbp + 0x18], rdi
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x30], rax
jne 0x140024716
mov rdi, qword [rbp - 0x20]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14002488a
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov rcx, qword [rbp - 0x20]
mov rax, qword [0x1400b7080]
call qword [case.0x140066b0e.0]
cmp dword [rsp + 0x68], r14d
jl 0x140024e62
mov eax, dword [rbp + 0x4b4]
lea rcx, [rbp + 0x6e0]
mov rdi, qword [rbp + 0x4c0]
xor edx, edx
mov dword [rbp + 0x58], eax
mov rax, qword [rbp + 0x4d8]
mov qword [rbp - 0x10], rax
lea r8d, [rdx + 0x68]
mov qword [rbp + 0x68], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
lea rcx, [rbp + 0x8a0]
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
mov qword [rbp - 0x68], r14
lea rcx, [rbp + 0xa50]
mov dword [rsp + 0x68], r14d
mov dword [rbp - 0x30], r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x990], rax
mov qword [rbp + 0x998], rax
test rdi, rdi
je 0x140024e62
mov rdi, qword [rbp + 0x48]
lea edx, [rax + 7]
mov rax, qword [0x1400b70a0]
mov rcx, rdi
call qword [case.0x140066b0e.0]
test rax, rax
je 0x14002441d
mov rcx, rax
lea r8, [rbp + 0x6e0]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
test eax, eax
je 0x14002497f
mov rax, qword [rbp + 0x6f8]
mov qword [rbp - 0x68], rax
mov eax, dword [rbp + 0x6e4]
mov dword [rsp + 0x68], eax
mov eax, dword [rbp + 0x6e8]
mov dword [rbp - 0x30], eax
mov rax, qword [0x1400b7060]
mov rcx, rdi
call qword [case.0x140066b0e.0]
mov qword [rbp - 0x20], rax
mov rcx, rax
test rax, rax
je 0x14002441d
mov edi, dword [rbp - 0x78]
lea r9, [rbp + 0x3b8]
sub r13d, dword [rbp + 0x950]
lea rdx, [rbp + 0xa50]
mov eax, edi
mov dword [rsp + 0x28], r14d
sub eax, dword [rbp - 0x50]
xorps xmm0, xmm0
mov dword [rbp + 0xa58], eax
xor r8d, r8d
mov rax, qword [0x1400b7068]
mov qword [rbp + 0x3b8], r14
mov dword [rbp - 0x70], r14d
movdqu xmmword [rbp + 0xa60], xmm0
mov qword [rbp + 0xa70], r14
mov dword [rbp + 0xa78], r14d
mov dword [rbp + 0xa50], SafeArrayCreateVectorEx
mov dword [rbp + 0xa54], r13d
mov dword [rbp + 0xa5c], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x140066b0e.0]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x140024a53
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x70], ecx
mov r13, qword [rbp - 0x20]
test ecx, ecx
js 0x140024d97
mov dword [rbp - 0x70], 0x80004005
jmp 0x140024d97
mov rcx, rax
lea r8, [rbp + 0x8a0]
mov rax, qword [0x1400b70b8]
mov edx, 0x68
call qword [case.0x140066b0e.0]
mov rdx, qword [rbp - 0x78]
mov rcx, r14
test eax, eax
mov dword [rbp + 0x998], r13d
mov eax, dword [rbp - 0x50]
cmovne rcx, qword [rbp + 0x8b8]
sub eax, edi
mov r13, qword [rbp - 0x20]
mov dword [rbp + 0x99c], eax
mov rax, qword [0x1400b70c8]
mov qword [rbp + 0x10], rcx
mov rcx, r13
call qword [case.0x140066b0e.0]
mov rax, qword [fcn.140006c60]
mov edx, 1
mov rcx, r13
call qword [case.0x140066b0e.0]
mov rdx, qword [rbp - 0x10]
mov rcx, r13
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov qword [rbp - 0x50], rax
xor ecx, ecx
mov rax, qword [0x1400b70c0]
call qword [case.0x140066b0e.0]
lea rdx, [rbp + 0x990]
mov rcx, r13
mov r8, rax
mov rax, qword [0x1400b7138]
call qword [case.0x140066b0e.0]
mov eax, dword [rbp - 0x80]
lea r9, [rbp + 0x990]
mov rdx, qword [rbp + 0x68]
or r8d, 0xffffffff
mov qword [rsp + 0x28], r14
mov rcx, r13
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
mov eax, 1
cmp dword [rsp + 0x78], eax
jne 0x140024b57
cmp dword [rbp + 0x58], r14d
je 0x140024b4e
lea ecx, [rax + 7]
mov rax, qword [0x1400b7168]
call qword [case.0x140066b0e.0]
jmp 0x140024b5c
mov dword [rbp - 0x80], 0xffffff
jmp 0x140024b62
mov eax, 0xffa8a8a8
mov dword [rbp - 0x80], eax
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp + 0x950]
mov r9d, r14d
mov r11d, dword [rsp + 0x68]
mov r8d, eax
mov edx, dword [rbp - 0x30]
neg r8d
test eax, eax
mov ecx, edi
mov r10d, r14d
cmovns r9d, eax
cmovns r8d, r14d
mov eax, dword [rbp + 0x998]
neg ecx
test edi, edi
cmovns ecx, r14d
cmovns r10d, edi
sub eax, r8d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x99c]
sub eax, ecx
sub edx, r10d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x140024d6a
test edx, edx
jle 0x140024d6a
mov eax, dword [rbp + 0x998]
mov esi, 1
mov ebx, dword [rbp - 0x7c]
imul eax, ecx
mov qword [rbp - 0x20], rdx
movsxd rcx, eax
movsxd rax, r8d
movsxd r8, dword [rsp + 0x68]
add rcx, rax
mov rax, qword [rbp + 0x10]
lea rdi, [rax + rcx*4]
mov eax, r8d
imul eax, r10d
mov qword [rbp + 0x10], rdi
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x68]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x998]
shl rcx, 2
shl r8, 2
mov qword [rbp + 0x68], r8
mov qword [rbp + 0x18], rax
mov qword [rbp - 0x10], rcx
test r11d, r11d
jle 0x140024d3b
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x68], rdi
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140024d16
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x7f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x7e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x68]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x68], rdi
jne 0x140024c44
mov rdi, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp + 0x68]
mov rdx, qword [rbp - 0x20]
add rdi, rcx
add rax, r8
sub rdx, rsi
mov qword [rbp + 0x10], rdi
mov qword [rbp - 0x20], rdx
mov qword [rbp + 0x18], rax
jne 0x140024c2a
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x140024d97
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1400b70c8]
call qword [case.0x140066b0e.0]
mov rax, qword [0x1400b7080]
mov rcx, r13
call qword [case.0x140066b0e.0]
cmp dword [rbp - 0x70], r14d
jl 0x140024e62
mov rdi, qword [rbp + 0x60]
mov eax, 1
mov r9d, r12d
cmp dword [rsp + 0x78], eax
jne 0x140024e04
mov rax, qword [rbp + 0x48]
mov rcx, rdi
mov r8d, dword [rbp + 0x4f0]
mov edx, dword [rbp + 0x4ec]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x38]
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400b7050]
call qword [case.0x140066b0e.0]
jmp 0x140024e4e
mov eax, dword [rbp - 0x38]
mov ecx, dword [rbp + 0x80]
mov r8d, dword [rbp + 0x934]
mov edx, dword [rbp + 0x930]
mov dword [rsp + 0x50], ecx
mov rcx, qword [rbp + 0x48]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rcx
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
mov edx, dword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140006c60]
call qword [case.0x140066b0e.0]
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x140024e7b
mov rcx, rax
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x140024e94
mov rcx, rax
mov rax, qword [0x1400b7080]
call qword [case.0x140066b0e.0]
mov rax, qword [rbp + 0x78]
test rax, rax
je 0x140024ead
mov rcx, rax
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov rax, qword [rbp + 0x4b8]
or r12, 0xffffffffffffffff
test rax, rax
je 0x140024eff
mov rcx, r12
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140024ec0
mov rdi, qword [rbp + 0x4b8]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4b8]
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 + 0x4b8], r14
mov rax, qword [rbp + 0x4c0]
test rax, rax
je 0x140024f4d
mov rcx, r12
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140024f0e
mov rdi, qword [rbp + 0x4c0]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4c0]
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 + 0x4c0], r14
mov rdi, qword [rbp + 0x4c8]
test rdi, rdi
je 0x140024f94
mov rcx, r12
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140024f5c
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4c8]
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 + 0x4c8], r14
mov rcx, qword [rbp + 0x4d0]
test rcx, rcx
je 0x140024fb4
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov qword [rbp + 0x4d0], r14
mov rcx, qword [rbp + 0x4d8]
test rcx, rcx
je 0x140024fd4
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov qword [rbp + 0x4d8], r14
mov rcx, qword [rbp + 0x4e0]
test rcx, rcx
je 0x140024ff4
mov rax, qword [0x1400b7088]
call qword [case.0x140066b0e.0]
mov qword [rbp + 0x4e0], r14
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x1400be658], r13d
jne 0x140024ffa
mov eax, dword [0x1400be654]
test eax, eax
jle 0x14002506c
sub eax, r13d
mov dword [0x1400be654], eax
jne 0x14002506c
lea rdi, [0x1400be360]
mov r12d, 4
cmp qword [rdi], r14
je 0x140025037
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r12, r13
jne 0x140025029
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400be360]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400737e0]
lea rcx, [0x1400b7050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
xchg dword [0x1400be658], eax
mov eax, dword [0x1400be350]
mov dword [rbp - 0x30], eax
mov rax, qword [0x1400b70e8]
call qword [case.0x140066b0e.0]
xor edx, edx
mov dword [rbp + 0xd20], r14d
sub eax, dword [0x1400be348]
lea rcx, [rbp + 0xd28]
mov qword [rbp + 0x68], rax
lea r8d, [rdx + 0x38]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
lock cmpxchg dword [0x1400be658], r13d
jne 0x1400250ae
mov eax, dword [0x1400be654]
test eax, eax
jne 0x1400256a9
mov dword [rbp - 0x50], r14d
mov dword [rsp + 0x68], r14d
mov qword [rbp + 0x168], r14
mov qword [rbp + 0x2b8], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14002561c
mov esi, r14d
mov dword [rbp], r14d
or r15d, 0xffffffff
mov dword [rbp + 0x30], r14d
mov r8d, r14d
lea rbx, [rax + 7]
mov r11d, r14d
lea r12, [0x1400907e2]
mov ecx, 0x67
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r12 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
xor r8d, r9d
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r8d
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor r8d, edx
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r8d, edx
mov edx, r8d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
mov edi, 0xab69605e
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub edx, eax
xor r8d, edx
mov eax, r8d
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
mov eax, r8d
mov edi, r8d
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r8d, edx
lea eax, [r8 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xe
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
xor r8d, r15d
mov dword [rbp], r8d
mov r15d, r9d
xor edx, eax
xor edx, esi
mov esi, r10d
xor r11d, edx
mov dword [rbp + 0x30], r11d
mov byte [rbx - 4], r11b
mov al, byte [rbp]
ror dword [rbp + 0x30], 8
mov byte [rbx], al
lea rbx, [rbx + 8]
ror dword [rbp], 8
mov al, byte [rbp + 0x30]
mov byte [rbx - 0xd], al
mov al, byte [rbp]
ror dword [rbp + 0x30], 8
mov byte [rbx - 9], al
ror dword [rbp], 8
mov al, byte [rbp + 0x30]
mov byte [rbx - 0xe], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp]
mov byte [rbx - 0xa], al
ror dword [rbp], 8
mov al, byte [rbp + 0x30]
mov byte [rbx - 0xf], al
mov al, byte [rbp]
mov byte [rbx - 0xb], al
mov r11d, dword [rbp + 0x30]
mov r8d, dword [rbp]
ror r11d, 8
ror r8d, 8
mov dword [rbp + 0x30], r11d
mov dword [rbp], r8d
sub rcx, r13
jne 0x140025129
mov r15d, dword [rsp + 0x60]
mov rax, r14
mov r13, qword [rbp - 0x10]
mov cl, r14b
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r12d, r14d
mov edx, 1
mov edi, 0x338
xor cl, byte [rax + r13]
add rax, rdx
cmp rax, rdi
jb 0x140025479
movzx eax, cl
cmp rax, qword [0x140090b18]
je 0x140025498
mov edi, 0xc004d501
jmp 0x1400254ac
mov qword [rbp + 0x168], r13
mov r13, r14
mov qword [rbp + 0x2b8], rdi
mov edi, r14d
test r13, r13
je 0x1400254c5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14002561c
mov rax, qword [rbp + 0x2b8]
lea r13, [0x1400be360]
mov rdi, qword [rbp + 0x168]
xor edx, edx
mov rcx, r13
lea r8d, [rdx + 0x60]
mov byte [rax + rdi - 1], r14b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [rdi], r14b
je 0x140025622
jmp 0x140025507
lea r13, [0x1400be360]
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14002550e
lea rdi, [rdi + rax*2]
mov eax, dword [rsp + 0x68]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
xor ecx, ecx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14002561c
mov rax, qword [r13]
mov ecx, 0x5a4d
mov r12d, r14d
cmp word [rax], cx
je 0x140025555
mov r12d, 0xc000007b
jmp 0x1400255a3
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14002554d
add rcx, qword [r13]
cmp rcx, qword [r13]
jb 0x14002554d
cmp dword [rcx], 0x4550
jne 0x14002554d
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140025591
mov r12d, 0xc000000d
jmp 0x1400255a3
mov rax, qword [rcx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [rdi + 2]
mov ecx, r14d
add rdi, 6
mov dword [rsp + 0x70], eax
mov dword [rbp - 0x78], ecx
test eax, eax
je 0x140025606
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x1400255bf
inc rdi
add rdi, rax
test r12d, r12d
js 0x1400255f3
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140025622
mov ecx, dword [rbp - 0x50]
lea rdx, [0x1400b7050]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x78]
mov eax, 1
add dword [rbp - 0x50], eax
add ecx, eax
mov dword [rbp - 0x78], ecx
cmp ecx, dword [rsp + 0x70]
jb 0x1400255b8
mov r13d, 1
add dword [rsp + 0x68], r13d
cmp byte [rdi], r14b
jne 0x140025500
jmp 0x140025628
mov r12d, 0xc000007a
mov r13d, 1
cmp qword [rbp + 0x168], r14
je 0x140025649
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x168]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
jns 0x1400256a3
lea rdi, [0x1400be360]
mov r12d, 4
cmp qword [rdi], r14
je 0x140025669
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r12, r13
jne 0x14002565b
lea rdi, [0x1400be360]
xor edx, edx
mov rcx, rdi
lea r8d, [r12 + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400737e0]
lea rcx, [0x1400b7050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x1400256b9
mov eax, dword [0x1400be654]
add eax, r13d
lea rdi, [0x1400be360]
mov dword [0x1400be654], eax
mov rcx, qword [rbp + 0x68]
lea r9, [rbp + 0xd20]
mov eax, r14d
mov r12d, 4
xchg dword [0x1400be658], eax
mov eax, dword [rbp - 0x30]
mov r8d, r12d
mov dword [rbp + 0xd58], eax
mov edx, 0x2021
mov rax, qword [0x1400b7120]
mov dword [rbp + 0xd28], ecx
xor ecx, ecx
mov dword [rbp + 0xd20], r13d
mov dword [rbp + 0xd38], 0x9966f291
mov dword [rbp + 0xd30], r13d
mov dword [rbp + 0xd48], r13d
mov dword [rbp + 0xd40], r13d
mov dword [rbp + 0xd50], r13d
call qword [case.0x140066b0e.0]
xor eax, eax
lock cmpxchg dword [0x1400be658], r13d
jne 0x140025726
mov eax, dword [0x1400be654]
test eax, eax
jle 0x14002578b
sub eax, r13d
mov dword [0x1400be654], eax
jne 0x14002578b
cmp qword [rdi], r14
je 0x140025756
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r12, r13
jne 0x140025748
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400be360]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400737e0]
lea rcx, [0x1400b7050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
xchg dword [0x1400be658], eax
mov rdx, qword [rbp + 0x60]
xor ecx, ecx
mov rax, qword [0x1400b71b0]
call qword [case.0x140066b0e.0]
lea rcx, [rbp + 0x3c0]
call fcn.140012990
cmp dword [rbp + 0x88], r14d
je 0x14002762a
xor eax, eax
mov dword [rbp + 0xc4], r14d
mov qword [rbp + 0x20], rax
mov edi, LoadRegTypeLib
mov qword [rbp + 0x28], rax
mov r12, r14
mov qword [rbp + 0x130], rax
mov r13, r14
mov qword [rbp + 0x138], rax
lea rax, [0x1400bd3b0]
mov qword [rbp + 0x3c8], rax
mov qword [rbp + 0x2c0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x10], rax
mov rdi, rax
test rax, rax
je 0x1400275a3
mov r8, qword [rbp + 0x2c0]
mov rcx, rax
mov rdx, qword [rbp + 0x3c8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, dword [rbp + 0x2c0]
mov r12, rdi
mov dword [rsp + 0x70], r13d
mov qword [rbp - 0x70], rdi
lea rax, [0x1400bd2f0]
mov edi, 8
mov qword [rbp + 0x3d0], rax
mov qword [rbp + 0x260], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x68], rax
mov rdi, rax
test rax, rax
je 0x140027656
mov r8, qword [rbp + 0x260]
mov rcx, rax
mov rdx, qword [rbp + 0x3d0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp + 0x260]
mov dword [rbp - 0x78], ecx
mov qword [rsp + 0x68], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2c8], rax
mov dword [rbp + 0xcc], 8
add r13d, 4
cmp r13d, 4
jb 0x14002765e
mov dword [rbp + 0xcc], r13d
lea eax, [r13 + 8]
or edi, 0xffffffff
cmp eax, 8
mov edx, edi
cmovae edx, eax
jb 0x14002759e
lea r12d, [rcx + 4]
cmp r12d, 4
jb 0x14002759a
mov dword [rbp + 0xcc], r12d
lea eax, [r12 + rdx]
mov ecx, edi
cmp eax, edx
cmovae ecx, eax
jb 0x14002759a
mov dword [rbp + SafeArrayGetDimc], 0xc
lea eax, [rcx + 0xc]
mov edx, edi
cmp eax, ecx
cmovae edx, eax
jb 0x14002759a
mov dword [rbp + 0x24], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
je 0x14002759a
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x20], r14d
mov dword [rbp + 0x190], 4
lea rdi, [rax + 4]
cmp rdi, rax
jb 0x14002759a
mov ecx, dword [rbp + 0x24]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x14002759a
mov dword [rdx], 4
mov eax, dword [rbp + 0x190]
mov dword [rdi], eax
mov r8d, dword [rbp + 0x20]
inc r8d
mov dword [rbp + 0x20], r8d
mov edi, dword [rsp + 0x70]
test edi, edi
je 0x140025a5a
cmp qword [rbp + 0x28], r14
jne 0x1400259df
mov dword [rbp + 0x198], r13d
mov eax, dword [rbp + 0x24]
lea ecx, [rax + r13]
cmp ecx, eax
jb 0x14002759a
lea eax, [r8 + 1]
mov dword [rbp + 0x24], ecx
mov dword [rbp + 0x20], eax
jmp 0x140025a6c
mov rcx, qword [rbp + 0x28]
mov edx, r14d
test r8d, r8d
je 0x140025a18
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x14002759a
mov dword [rbp + 0x198], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x14002759a
inc edx
mov rcx, r8
cmp edx, dword [rbp + 0x20]
jb 0x1400259eb
lea r9, [rcx + 4]
cmp r9, rcx
jb 0x14002759a
mov edx, dword [rbp + 0x24]
lea rax, [rdi + 4]
add rdx, qword [rbp + 0x28]
add rax, rcx
mov r13d, r14d
mov r8, rdi
cmp rax, rdx
ja 0x14002759a
mov rdx, qword [rbp - 0x10]
mov dword [rcx], edi
mov rcx, r9
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, 1
add dword [rbp + 0x20], eax
jmp 0x140025a60
mov r13d, 0xc000000d
test r13d, r13d
js 0x14002759a
mov ecx, dword [rbp + 0x24]
mov r8d, dword [rbp - 0x78]
test r8d, r8d
je 0x140025b30
cmp qword [rbp + 0x28], r14
jne 0x140025ab1
mov dword [rbp + 0x19c], r12d
lea eax, [rcx + r12]
cmp eax, ecx
jb 0x14002759a
mov ecx, eax
mov r13d, 1
mov rax, qword [rbp + 0x2c8]
add dword [rbp + 0x20], r13d
mov qword [rbp + 0x2d0], rax
jmp 0x140025b59
mov edx, r14d
mov rdi, qword [rbp + 0x28]
mov r13d, 1
cmp dword [rbp + 0x20], r14d
jbe 0x140025af2
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14002759a
mov dword [rbp + 0x19c], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x14002759a
add edx, r13d
mov rdi, r9
cmp edx, dword [rbp + 0x20]
jb 0x140025ac4
lea r9, [rdi + 4]
cmp r9, rdi
jb 0x14002759a
mov edx, ecx
lea rax, [r8 + 4]
add rdx, qword [rbp + 0x28]
add rax, rdi
mov r12d, r14d
cmp rax, rdx
ja 0x14002759a
mov rdx, qword [rbp + 0x68]
mov rcx, r9
mov dword [rdi], r8d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add dword [rbp + 0x20], r13d
mov ecx, dword [rbp + 0x24]
jmp 0x140025b3c
mov r12d, 0xc000000d
mov r13d, 1
test r12d, r12d
js 0x14002759a
mov rax, qword [rbp + 0x2c8]
mov qword [rbp + 0x2d0], rax
cmp qword [rbp + 0x28], r14
jne 0x140025b73
mov dword [rbp + 0x1b0], SafeArrayGetDim
lea edi, [rcx + 0xc]
cmp edi, ecx
jb 0x14002759a
mov dword [rbp + 0x24], edi
jmp 0x140025be1
mov edi, r14d
mov rdx, qword [rbp + 0x28]
cmp dword [rbp + 0x20], r14d
jbe 0x140025bae
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14002759a
mov dword [rbp + 0x1b0], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14002759a
add edi, r13d
mov rdx, r8
cmp edi, dword [rbp + 0x20]
jb 0x140025b80
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14002759a
add rcx, qword [rbp + 0x28]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x14002759a
mov dword [rdx], 8
movsd xmm0, qword [rbp + 0x2d0]
movsd qword [rdi], xmm0
mov edi, dword [rbp + 0x24]
add dword [rbp + 0x20], r13d
mov dword [rbp + 0x308], SafeArrayGetDim
mov r9, r14
mov qword [rbp + 0x60], r14
mov r8d, r14d
mov dword [rsp + 0x7c], r14d
mov qword [rbp + 0x150], r14
mov r12, r14
mov qword [rbp + 0x58], r14
mov dword [rbp - 0x78], r14d
mov qword [rbp - 0x38], r14
mov dword [rbp + 0x74], r14d
mov qword [rbp + 0x78], r14
mov qword [rbp + 0x10], r14
mov dword [rbp + 0xd4], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2d8], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
mov edx, 0xc0000095
cmovae ecx, eax
sbb edi, edi
and edi, edx
mov dword [rbp + 0xd0], ecx
cmp eax, 8
jb 0x140025d2b
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140025c6f
mov edi, edx
jmp 0x140025d2b
mov dword [rbp + 0xd0], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
jne 0x140025ca6
mov edi, 0xc0000017
mov r8d, r14d
mov r9, r14
jmp 0x140025d2b
mov eax, dword [rbp + 0x20]
lea rdx, [r13 + 4]
mov dword [r13], eax
cmp rdx, r13
jb 0x140025cfe
mov eax, dword [rbp + 0x24]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x140025cfe
mov edx, dword [rbp + 0xd0]
mov edi, r14d
mov rax, qword [rbp + 0x2d8]
mov qword [rdx + r13 - 8], rax
mov r8d, dword [rbp + 0x24]
mov rdx, qword [rbp + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp + 0xd0]
mov r9, r13
mov qword [rbp + 0x60], r13
mov r13, r14
mov dword [rsp + 0x7c], r8d
jmp 0x140025d09
mov r9, r14
mov r8d, r14d
mov edi, 0xc0000095
test r13, r13
je 0x140025d2b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rsp + 0x7c]
mov r9, qword [rbp + 0x60]
or edi, 0x10000000
jl 0x140027360
mov qword [rbp + 0x3e0], r14
mov r13, r14
mov qword [rbp + 0x3e8], r14
mov qword [rbp + 0x420], r14
mov qword [rbp + 0x3f8], r14
mov qword [rbp + 0x1a8], r14
mov qword [rbp + 0x3d8], r14
test r9, r9
jne 0x140025d73
mov edi, 0xc000000d
jmp 0x140026542
mov edi, r8d
mov qword [rbp + 0x68], rdi
test r8d, r8d
je 0x14002649a
lea rax, [rdi + 8]
mov qword [rbp - 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rdi + 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14002649a
mov r9, qword [rbp + 0x60]
mov dl, r14b
mov byte [rsp + 0x64], dl
mov rcx, r14
test rdi, rdi
je 0x140025dd0
xor dl, byte [rcx + r9]
inc rcx
cmp rcx, rdi
jb 0x140025dc0
mov byte [rsp + 0x64], dl
mov rcx, rax
mov qword [rbp + 0x48], rax
or r10d, 0xffffffff
mov qword [rbp + 0x918], rbx
mov rax, rdi
mov dword [rbp - 0x14], r14d
mov dword [rbp - 0x3c], r10d
mov r11d, r14d
mov dword [rsp + 0x7c], r14d
mov dword [rbp - 0x7c], r14d
and eax, 7
je 0x140025f27
mov dword [rsp + 0x7c], r14d
mov r10d, r14d
mov dword [rbp - 0x7c], r14d
mov r8d, r14d
test eax, eax
je 0x140025e77
mov r10d, 0x38
mov esi, r14d
mov ebx, r14d
movzx r8d, byte [r9]
inc r9
cmp r11d, 4
jge 0x140025e3a
lea ecx, [r10 - 0x20]
shl r8d, cl
or ebx, r8d
jmp 0x140025e43
mov ecx, r10d
shl r8d, cl
or esi, r8d
inc r11d
sub r10d, 8
cmp r11d, eax
jl 0x140025e21
mov rcx, qword [rbp + 0x48]
mov dword [rbp - 0x7c], ebx
movabs rbx, 0xc81ecb17b1b54a58
mov r8d, dword [rbp - 0x7c]
mov dword [rsp + 0x7c], esi
movabs rsi, 0x7f1137fab69605e
mov r10d, dword [rsp + 0x7c]
mov r11d, r8d
xor r10d, 0x42f6b18d
xor r11d, 0xb17a307a
mov dword [rbp - 0x3c], r10d
mov dword [rbp - 0x14], r11d
mov r8d, r14d
test eax, eax
je 0x140025eeb
mov esi, 1
lea rbx, [rcx + 1]
mov qword [rbp - 0x10], rbx
cmp r8d, 4
jge 0x140025eb3
rol r11d, 8
mov ebx, r11d
jmp 0x140025eba
rol r10d, 8
mov ebx, r10d
mov byte [rcx], bl
add r8d, esi
mov rbx, qword [rbp - 0x10]
mov rcx, rbx
cmp r8d, eax
jl 0x140025e9c
mov r11d, dword [rbp - 0x14]
movabs rsi, 0x7f1137fab69605e
mov r10d, dword [rbp - 0x3c]
mov qword [rbp + 0x48], rbx
movabs rbx, 0xc81ecb17b1b54a58
cmp eax, 4
jbe 0x140025f06
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0x3c], r10d
jmp 0x140025f23
mov r10d, r14d
mov dword [rbp - 0x3c], r14d
jae 0x140025f27
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x14], r11d
mov rcx, qword [rbp + 0x48]
mov rax, rdi
shr rax, 3
mov qword [rbp - 0x10], rax
test rax, rax
je 0x140026287
mov rsi, qword [rbp - 0x10]
lea rdx, [rcx + 7]
mov r12d, dword [rsp + 0x7c]
lea rcx, [r9 + 2]
mov r13d, dword [rbp - 0x7c]
movzx r14d, word [rbp + 0x91c]
movzx eax, bx
mov dword [rsp + 0x70], eax
movzx eax, word [rbp + 0x91a]
mov r15d, dword [rsp + 0x70]
mov dword [rbp - 0x30], eax
movzx eax, byte [rcx - 1]
movzx r9d, byte [rcx - 2]
movzx r8d, byte [rcx + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rcx]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 1]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 3]
or r8d, eax
movzx eax, byte [rcx + 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r8d, 8
or r8d, eax
mov qword [rbp - 0x10], rcx
movzx eax, word [rbp + 0x91a]
xor r10d, r8d
mov edi, r10d
sub edi, r15d
xor edi, r9d
xor edi, r11d
mov r11d, dword [rbp + 0x91c]
xor edi, r11d
mov ecx, edi
xor ecx, r11d
ror ecx, 0xf
imul ecx, eax
mov eax, edi
ror eax, 7
add ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xa
lea ecx, [r10 + rbx]
ror ecx, 9
imul ecx, r14d
sub ecx, eax
movzx eax, word [rbp + 0x91e]
xor edi, ecx
mov ecx, r14d
xor ecx, edi
rol ecx, 4
imul ecx, eax
mov eax, edi
rol eax, 5
add ecx, eax
mov eax, r11d
xor r10d, ecx
mov ecx, r10d
xor ecx, ebx
sub eax, ecx
xor edi, eax
movzx eax, word [rbp + 0x91a]
mov ecx, edi
sub ecx, r15d
imul ecx, eax
mov eax, edi
shr eax, 6
sub ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x91e]
mov eax, r10d
ror eax, 0xf
xor eax, r14d
imul eax, r15d
xor edi, eax
mov eax, edi
not eax
ror eax, 3
add eax, ecx
imul eax, r14d
xor r10d, eax
mov eax, r10d
sub eax, r15d
sub eax, r11d
xor edi, eax
movzx eax, word [rbp + 0x91e]
xor eax, edi
mov ecx, edi
imul eax, dword [rbp - 0x30]
ror ecx, 0xa
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor ecx, r15d
ror eax, 3
rol ecx, 6
imul ecx, r14d
xor ecx, eax
xor edi, ecx
movzx ecx, word [rbp + 0x91e]
mov eax, edi
ror eax, 0xf
sub eax, ecx
imul eax, r15d
xor r10d, eax
xor ecx, r10d
mov eax, r10d
imul ecx, r15d
shr eax, 1
xor ecx, eax
mov eax, r10d
xor edi, ecx
shr eax, 0xf
mov ecx, r10d
sub ecx, r14d
rol ecx, 3
imul ecx, r15d
xor ecx, eax
movzx eax, word [rbp + 0x91a]
xor edi, ecx
mov ecx, edi
sub ecx, r14d
imul ecx, eax
mov eax, edi
shr eax, 0xd
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
mov eax, r10d
ror ecx, 9
imul ecx, r14d
ror eax, 0xb
xor ecx, eax
xor edi, ecx
movzx ecx, word [rbp + 0x91e]
mov eax, edi
sub eax, ecx
sub eax, ebx
xor r10d, eax
movzx eax, word [rbp + 0x91a]
xor eax, r10d
mov ecx, r10d
ror ecx, 7
imul eax, r15d
sub eax, ecx
movzx ecx, word [rbp + 0x91e]
xor edi, eax
movzx eax, word [rbp + 0x91a]
xor ecx, edi
rol ecx, 4
imul ecx, eax
mov eax, edi
ror eax, 0x10
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
mov eax, r10d
ror ecx, 0xa
imul ecx, r14d
ror eax, 4
add ecx, eax
movzx eax, word [rbp + 0x91e]
xor edi, ecx
mov ecx, edi
sub ecx, ebx
ror ecx, 4
imul ecx, eax
mov eax, edi
ror eax, 9
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor ecx, r11d
rol eax, 2
rol ecx, 8
imul ecx, r15d
sub ecx, eax
movzx eax, word [rbp + 0x91a]
xor edi, ecx
mov ecx, r11d
sub ecx, edi
ror ecx, 0xb
imul ecx, eax
mov eax, edi
ror eax, 0xc
sub ecx, eax
movzx eax, word [rbp + 0x91a]
xor r10d, ecx
mov ecx, r10d
xor ecx, eax
mov eax, r10d
shr eax, 8
imul ecx, r14d
xor ecx, eax
xor edi, ecx
mov rcx, qword [rbp - 0x10]
xor r10d, edi
xor edi, r13d
mov dword [rbp - 0x14], edi
xor r10d, ebx
xor r10d, r11d
mov r13d, r9d
xor r10d, r12d
mov r12d, r8d
mov dword [rbp - 0x3c], r10d
mov byte [rdx - 4], dil
mov al, byte [rbp - 0x3c]
ror dword [rbp - 0x14], 8
mov byte [rdx], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x14]
mov byte [rdx - 5], al
mov al, byte [rbp - 0x3c]
ror dword [rbp - 0x14], 8
mov byte [rdx - 1], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x14]
mov byte [rdx - 6], al
ror dword [rbp - 0x14], 8
mov al, byte [rbp - 0x3c]
mov byte [rdx - 2], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x14]
mov byte [rdx - 7], al
mov al, byte [rbp - 0x3c]
mov byte [rdx - 3], al
add rdx, 8
mov r11d, dword [rbp - 0x14]
mov r10d, dword [rbp - 0x3c]
ror r11d, 8
ror r10d, 8
mov dword [rbp - 0x14], r11d
mov dword [rbp - 0x3c], r10d
sub rsi, 1
jne 0x140025f6e
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
mov r12d, r14d
mov rdi, qword [rbp + 0x68]
mov r13d, r14d
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp + 0x50]
movzx eax, dl
mov qword [rcx + rdi], rax
mov rdi, qword [rbp - 0x68]
mov qword [rbp + 0x3d8], rdi
mov qword [rbp + 0x1a8], rcx
lea rax, [0x1400bd3a0]
mov qword [rbp + 0x3e8], 8
mov qword [rbp + 0x3e0], rax
lea rax, [0x1400bd300]
mov qword [rbp + 0x3f8], LoadRegTypeLib
mov qword [rbp + 0x420], rax
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 0x140026300
mov edi, 0xc0000017
jmp 0x14002648a
mov dword [rax], edi
mov edi, edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14002632a
mov edi, 0xc0000017
jmp 0x1400263fb
mov qword [rbx + 8], rax
mov rdx, qword [rbp + 0x50]
mov r8, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edi, LoadRegTypeLib
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edi, 8
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140026320
mov qword [rbx + 0x18], rax
lea rcx, [0x1400bd300]
movups xmm0, xmmword [rcx]
lea edx, [rdi + 0x78]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
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 0x140026320
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1400bd3a0]
mov r13, rbx
movsd qword [rax], xmm0
mov edi, r14d
mov rbx, r14
test rbx, rbx
je 0x14002648a
mov rax, qword [rbx + 8]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14002642a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x10]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x140026450
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x10]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x140026476
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x10]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
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 0x14002649f
mov qword [rbp + 0x150], r13
mov r13, r14
jmp 0x14002649f
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x1a8]
test rbx, rbx
je 0x1400264c6
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 + 0x1a8], r14
test r13, r13
je 0x140026542
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x1400264ec
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 [r13 + 8], r14
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x14002650d
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 [r13 + 0x18], r14
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x14002652e
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 [r13 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or edi, 0x10000000
jl 0x140027360
mov rbx, qword [rbp + 0x150]
mov ecx, dword [rbx]
mov edi, dword [rbx + 0x20]
add ecx, 4
mov edx, dword [rbx + 0x10]
cmp ecx, 4
jb 0x140026686
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140026686
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x140026686
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140026686
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x140026686
mov dword [rbp + 0x1b4], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
jne 0x1400265cc
mov edi, 0xc0000017
mov r8d, 0xc0000095
jmp 0x14002668f
mov eax, dword [rbx]
lea rdi, [r13 + 4]
mov dword [r13], eax
cmp rdi, r13
jb 0x14002665f
mov r8d, dword [rbx]
mov rcx, rdi
mov rdx, qword [rbx + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbx]
add rcx, rdi
cmp rcx, rdi
jb 0x14002665f
mov eax, dword [rbx + 0x10]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x14002665f
mov r8d, dword [rbx + 0x10]
mov rcx, rdi
mov rdx, qword [rbx + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbx + 0x10]
add rcx, rdi
cmp rcx, rdi
jb 0x14002665f
mov eax, dword [rbx + 0x20]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x14002665f
mov r8d, dword [rbx + 0x20]
mov rcx, rdi
mov rdx, qword [rbx + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rbx + 0x20]
add rax, rdi
cmp rax, rdi
jb 0x14002665f
mov eax, dword [rbp + 0x1b4]
mov edi, r14d
mov qword [rbp + 0x58], r13
mov r13, r14
mov dword [rbp - 0x78], eax
jmp 0x140026664
mov edi, 0xc0000095
test r13, r13
je 0x1400265c1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400265c1
mov r8d, 0xc0000095
mov edi, r8d
or edi, 0x10000000
jl 0x140027360
mov qword [rbp + 0x400], r14
mov dword [rbp + 0x1f4], r14d
mov qword [rbp + 0x408], r14
mov dword [rbp + 0x1f8], r14d
mov dword [rbp + 0x324], 0x1c
mov dword [rbp + 0x320], SafeArrayCreateVectorEx
mov dword [rbp + 0x31c], SafeArrayCreateVectorEx
mov r13d, 1
cmp qword [rbp + 0x28], r14
jne 0x1400266eb
mov edi, 0xc000000d
jmp 0x1400267c1
cmp dword [rbp + 0x20], r13d
jbe 0x1400266e1
mov rax, qword [rbp + 0x28]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400267be
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400267be
add edx, r13d
cmp edx, r13d
jb 0x1400266f8
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400267be
test edi, edi
mov dword [rbp + 0x1f4], edi
mov rax, r14
cmovne rax, rcx
mov qword [rbp + 0x400], rax
cmp dword [rbp + 0x20], 2
jbe 0x1400266e1
mov rax, qword [rbp + 0x28]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400267be
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400267be
add edx, r13d
cmp edx, 2
jb 0x14002674d
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400267be
test edx, edx
mov dword [rbp + 0x1f8], edx
mov rax, r14
cmovne rax, rcx
mov qword [rbp + 0x408], rax
lea eax, [rdi + 0x30]
cmp eax, 0x30
jb 0x1400267be
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x1400267be
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x1400267be
mov dword [rbp + 0x30c], eax
mov edi, r14d
cmp eax, 0x400000
jbe 0x1400267b9
mov edi, 0x8000ffff
jmp 0x140027360
mov dword [rbp + 0x74], eax
jmp 0x1400267c1
mov edi, r8d
test edi, edi
js 0x140027360
mov edi, dword [rbp + 0x74]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400267f2
mov edi, 0xd0000017
mov rbx, r14
jmp 0x1400267fe
mov rbx, rax
mov qword [rbp - 0x38], rax
mov edi, 0x10000000
test edi, edi
js 0x140027360
mov rax, qword [rbp + 0x58]
test rax, rax
jne 0x140026819
mov edi, 0x80070057
jmp 0x140027360
test rbx, rbx
je 0x14002680f
mov qword [rbp + 0x448], rax
lea r8, [rbp + 0x410]
mov eax, dword [rbp - 0x78]
lea rdx, [0x140087118]
mov dword [rbp + 0x458], eax
mov ecx, r13d
mov eax, dword [rbp + 0x74]
mov dword [rbp + 0x45c], eax
mov qword [rbp + 0x450], rbx
mov dword [rbp + 0x460], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x140026882
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x14002687d
mov edi, 0x80004005
mov edx, dword [rbp + 0x74]
jmp 0x1400268c8
mov rcx, qword [rbp + 0x410]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140026860
xor r9d, r9d
lea rdx, [rbp + 0x448]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [case.0x140066b0e.0]
mov edx, dword [rbp + 0x74]
mov edi, eax
or edi, 0x10000000
cmovge edx, dword [rbp + 0x45c]
mov dword [rbp + 0x74], edx
cmp edi, 0xd0000023
jne 0x1400268da
mov edi, 0x8007007a
jmp 0x140027360
test edi, edi
js 0x140027360
mov qword [rbp - 0x68], r14
cmp edx, 4
jae 0x1400268f5
mov edi, 0xc000003e
jmp 0x140026c15
mov ecx, dword [rbx]
lea rdi, [rbx + 4]
mov dword [rsp + 0x70], ecx
cmp rdi, rbx
jb 0x140026c10
lea eax, [rdx - 4]
cmp eax, ecx
jb 0x1400268eb
lea r10, [rdi + rcx]
mov qword [rbp + 0x50], rcx
mov qword [rbp - 0x10], r10
cmp r10, rdi
jb 0x140026c10
lea r9d, [rcx + 4]
cmp r9d, 4
jb 0x140026c10
mov eax, edx
sub eax, r9d
cmp eax, 4
jb 0x1400268eb
mov edi, dword [r10]
lea r8, [r10 + 4]
cmp r8, r10
jb 0x140026c10
lea r10d, [r9 + 4]
cmp r10d, r9d
jb 0x140026c10
mov eax, edx
sub eax, r10d
cmp eax, edi
jb 0x1400268eb
lea r11, [r8 + rdi]
cmp r11, r8
jb 0x140026c10
lea r9d, [r10 + rdi]
cmp r9d, r10d
jb 0x140026c10
mov eax, edx
sub eax, r9d
cmp eax, 4
jb 0x1400268eb
mov r13d, dword [r11]
lea rax, [r11 + 4]
mov qword [rbp + 0x68], rax
cmp rax, r11
jb 0x140026c10
lea r8d, [r9 + 4]
cmp r8d, r9d
jb 0x140026c10
mov eax, edx
sub eax, r8d
cmp eax, r13d
jb 0x1400268eb
lea r9d, [r8 + r13]
cmp r9d, r8d
jb 0x140026c10
cmp edx, r9d
jne 0x1400268eb
add ecx, edi
mov eax, edx
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x1400268eb
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 0x140026a0d
mov edi, 0xc0000017
jmp 0x140026b74
mov r12, qword [rbp - 0x38]
add r12, 4
je 0x140026a59
mov eax, dword [rsp + 0x70]
mov dword [rbx], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x50]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140026a44
mov edi, 0xc0000017
jmp 0x140026af8
mov qword [rbx + 8], rax
mov r8, qword [rbp + 0x50]
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140026a60
mov dword [rax], r14d
mov qword [rax + 8], r14
mov r12, qword [rbp - 0x10]
add r12, 4
je 0x140026a9d
mov dword [rbx + 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 0x140026a3a
mov qword [rbx + 0x18], rax
mov r8, rdi
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140026aa5
mov dword [rbx + 0x10], r14d
mov qword [rbx + 0x18], r14
mov rdi, qword [rbp + 0x68]
test rdi, rdi
je 0x140026ae6
mov dword [rbx + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140026a3a
mov qword [rbx + 0x28], rax
mov r8, r13
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140026aee
mov dword [rbx + 0x20], r14d
mov qword [rbx + 0x28], r14
mov qword [rbp - 0x68], rbx
mov edi, r14d
mov rbx, r14
test rbx, rbx
je 0x140026b74
mov r12, qword [rbx + 8]
test r12, r12
je 0x140026b1e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x140026b3f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x140026b60
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp - 0x68]
test edi, edi
mov rbx, r14
cmovs rbx, qword [rbp - 0x68]
cmovs r12, r14
mov qword [rbp + 0x78], r12
test rbx, rbx
je 0x140026c15
mov r13, qword [rbx + 8]
test r13, r13
je 0x140026bb4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov r13, qword [rbx + 0x18]
test r13, r13
je 0x140026bd5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov r13, qword [rbx + 0x28]
test r13, r13
je 0x140026bf6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
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 + 0x78], r12
jmp 0x140026c15
mov edi, 0xc0000095
or edi, 0x10000000
jl 0x140027360
mov qword [rbp + 0x240], r14
mov rbx, r14
mov qword [rbp + 0x108], rbx
test r12, r12
jne 0x140026c41
mov edi, 0xd000000d
jmp 0x140027360
mov rdi, qword [r12 + 8]
mov qword [rbp + 0x50], rdi
test rdi, rdi
je 0x140026c37
cmp dword [r12], r14d
je 0x140026c37
mov r13d, dword [r12]
mov dword [rbp - 0x30], r14d
test r13, r13
je 0x1400271cf
add r13, 0xfffffffffffffff8
mov qword [rbp + 0x68], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x20], rax
mov r8, rax
test rax, rax
je 0x1400271c8
mov r9, rdi
mov qword [rbp + 0x928], rsi
mov rdi, r13
mov dword [rbp - 0x24], r14d
mov dl, r14b
mov rbx, rax
mov byte [rsp + 0x64], dl
mov r10d, r14d
mov r11d, r14d
and edi, 7
je 0x140026dc6
or ecx, 0xffffffff
mov dword [rbp - 0x50], r14d
mov dword [rbp - 0x44], ecx
mov ecx, r14d
mov dword [rbp + 0x8c], ecx
test edi, edi
je 0x140026d29
mov esi, 0x38
lea r15d, [rsi - 0x37]
movzx eax, byte [r9]
inc r9
cmp r11d, 4
jge 0x140026cf9
lea ecx, [rsi - 0x20]
shl eax, cl
mov ecx, dword [rbp + 0x8c]
or r10d, eax
jmp 0x140026d0b
mov ecx, esi
shl eax, cl
mov ecx, dword [rbp + 0x8c]
or ecx, eax
mov dword [rbp + 0x8c], ecx
add r11d, r15d
sub esi, 8
cmp r11d, edi
jl 0x140026cdc
mov r15d, dword [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
mov dword [rbp - 0x50], r10d
xor r10d, 0x92f65a5
mov r11d, ecx
xor r11d, 0x699a899c
mov dword [rbp - 0x24], r10d
mov dword [rbp - 0x44], r11d
mov eax, r14d
test edi, edi
je 0x140026d8c
mov esi, 1
lea rcx, [rbx + 1]
mov qword [rbp - 0x10], rcx
cmp eax, 4
jge 0x140026d64
rol r10d, 8
mov ecx, r10d
jmp 0x140026d6b
rol r11d, 8
mov ecx, r11d
mov byte [rbx], cl
add eax, esi
mov rcx, qword [rbp - 0x10]
mov rbx, rcx
cmp eax, edi
jl 0x140026d4e
mov r10d, dword [rbp - 0x24]
movabs rsi, 0x7f1137fab69605e
mov r11d, dword [rbp - 0x44]
cmp edi, 4
jbe 0x140026da7
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x44], r11d
jmp 0x140026dce
mov r11d, r14d
mov dword [rbp - 0x44], r14d
jae 0x140026dce
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0x24], r10d
jmp 0x140026dce
mov dword [rbp - 0x50], r14d
mov dword [rbp - 0x44], r14d
mov rax, r13
shr rax, 3
mov qword [rbp - 0x10], rax
test rax, rax
je 0x140027130
mov eax, dword [rbp + 0x92c]
lea r14, [rbx + 7]
movzx edi, word [rbp + 0x92e]
lea r12, [r9 + 2]
mov edx, dword [rbp - 0x50]
mov ebx, dword [rbp + 0x92c]
mov r13, qword [rbp - 0x10]
movzx r15d, ax
xor eax, esi
mov dword [rbp - 0x78], eax
movzx eax, word [rbp + 0x92a]
mov dword [rsp + 0x70], eax
movzx eax, si
mov dword [rbp - 0x7c], eax
movzx eax, byte [r12 - 1]
movzx r9d, byte [r12 - 2]
movzx r8d, byte [r12 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [r12 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r12 - 3]
shl r8d, 8
or r8d, eax
xor r11d, r8d
xor r11d, r10d
xor r11d, esi
xor r11d, ebx
mov ecx, r11d
mov eax, r11d
sub ecx, esi
rol eax, 0xa
rol ecx, 5
imul ecx, r15d
add ecx, eax
movzx eax, word [rbp + 0x92a]
xor r10d, ecx
lea ecx, [rbx + r10]
ror ecx, 9
imul ecx, eax
mov eax, r10d
rol eax, 2
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
mov eax, r11d
sub ecx, r15d
shr eax, 0xd
imul ecx, dword [rbp - 0x7c]
sub ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x92a]
xor ecx, r10d
mov eax, r10d
rol ecx, 6
imul ecx, edi
rol eax, 2
sub ecx, eax
mov eax, ebx
xor r11d, ecx
mov ecx, r11d
xor ecx, esi
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov ecx, r10d
ror ecx, 6
xor eax, r15d
imul eax, dword [rsp + 0x70]
xor ecx, eax
xor r11d, ecx
mov eax, r11d
rol eax, 2
lea ecx, [rbx + r11]
ror ecx, 0xf
imul ecx, dword [rbp - 0x7c]
add ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
sub ecx, esi
ror ecx, 0xe
imul ecx, edi
rol eax, 8
sub ecx, eax
xor r11d, ecx
mov ecx, esi
xor ecx, r11d
mov eax, r11d
ror ecx, 0xc
imul ecx, r15d
ror eax, 0xa
xor ecx, eax
movzx eax, word [rbp + 0x92a]
xor r10d, ecx
mov ecx, edi
xor ecx, r10d
imul ecx, eax
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, dword [rbp - 0x7c]
imul eax, edi
xor r10d, eax
movzx eax, word [rbp + 0x92e]
mov edi, r10d
sub edi, eax
xor edi, r11d
movzx r11d, word [rbp + 0x92e]
xor edi, esi
mov ecx, r11d
xor ecx, edi
mov eax, edi
rol ecx, 2
imul ecx, r15d
shr eax, 2
add ecx, eax
movzx eax, word [rbp + 0x92a]
xor r10d, ecx
mov ecx, r10d
sub ecx, ebx
ror ecx, 6
imul ecx, eax
mov eax, r10d
rol eax, 7
add ecx, eax
xor edi, ecx
mov eax, edi
mov ecx, edi
ror ecx, 9
xor eax, r15d
imul eax, dword [rbp - 0x7c]
add ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x92a]
xor ecx, r10d
mov eax, r10d
rol ecx, 5
rol eax, 7
imul ecx, r11d
add ecx, eax
mov eax, dword [rbp - 0x78]
xor edi, ecx
movzx ecx, word [rbp + 0x92a]
xor eax, edi
xor r10d, eax
mov eax, r10d
ror eax, 3
sub eax, ecx
imul eax, r15d
xor edi, eax
mov ecx, edi
mov eax, edi
sub ecx, ebx
ror eax, 6
ror ecx, 1
imul ecx, dword [rbp - 0x7c]
sub ecx, eax
xor r10d, ecx
lea ecx, [r10 + rsi]
rol ecx, 3
mov eax, r10d
imul ecx, r11d
rol eax, 0xe
add ecx, eax
xor edi, ecx
mov eax, edi
ror eax, 0xe
lea ecx, [rdi + rsi]
rol ecx, 0xf
imul ecx, r15d
sub ecx, eax
movzx eax, word [rbp + 0x92a]
xor r10d, ecx
mov ecx, r10d
xor ecx, dword [rbp - 0x7c]
imul ecx, eax
mov eax, r10d
shr eax, 3
xor ecx, eax
xor edi, ecx
mov ecx, ebx
xor ecx, edi
mov eax, edi
xor edi, dword [rbp + 0x8c]
mov dword [rbp - 0x44], edi
movzx edi, word [rbp + 0x92e]
rol eax, 2
rol ecx, 4
imul ecx, dword [rbp - 0x7c]
mov dword [rbp + 0x8c], r8d
xor ecx, eax
xor ecx, edx
mov edx, r9d
xor r10d, ecx
mov ecx, 1
mov dword [rbp - 0x24], r10d
mov byte [r14 - 4], r10b
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x24], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x24]
mov byte [r14 - 0xd], al
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x24], 8
mov byte [r14 - 9], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x24]
mov byte [r14 - 0xe], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x44]
mov byte [r14 - 0xa], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x24]
mov byte [r14 - 0xf], al
mov al, byte [rbp - 0x44]
mov byte [r14 - 0xb], al
mov r10d, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x44]
ror r10d, 8
ror r11d, 8
mov dword [rbp - 0x24], r10d
mov dword [rbp - 0x44], r11d
sub r13, rcx
jne 0x140026e1e
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
mov r12, qword [rbp + 0x78]
mov r13, qword [rbp + 0x68]
mov r8, qword [rbp - 0x20]
jmp 0x140027135
mov ecx, 1
mov rax, r14
test r13, r13
je 0x140027149
xor dl, byte [rax + r8]
add rax, rcx
cmp rax, r13
jb 0x14002713d
mov rcx, qword [rbp + 0x50]
movzx eax, dl
cmp rax, qword [rcx + r13]
je 0x140027164
mov rbx, qword [rbp + 0x108]
mov edi, 0xc004d501
jmp 0x14002717f
mov edi, dword [rbp - 0x30]
mov rbx, r8
mov qword [rbp + 0x108], rbx
mov r8, r14
mov qword [rbp - 0x20], r14
mov qword [rbp + 0x240], r13
test r8, r8
je 0x1400271a0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x20]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x108]
test edi, edi
js 0x1400271cf
mov ecx, dword [rbp + 0x240]
mov rsi, rbx
mov qword [rbp + 0x10], rbx
mov edi, 0x10000000
mov rbx, r14
mov dword [rbp + 0xd4], ecx
mov qword [rbp + 0x108], rbx
jmp 0x1400271dd
mov rbx, qword [rbp + 0x108]
mov ecx, dword [rbp + 0xd4]
mov edi, 0xd0000001
mov rsi, r14
test rbx, rbx
je 0x140027203
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp + 0xd4]
mov qword [rbp + 0x108], r14
test edi, edi
js 0x140027360
cmp ecx, 4
jae 0x14002721a
mov edi, 0xc000003e
jmp 0x14002735c
mov r9d, dword [rsi]
lea rdx, [rsi + 4]
mov dword [rsp + 0x70], r9d
cmp rdx, rsi
jb 0x140027357
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140027210
mov ebx, dword [rdx]
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140027357
lea eax, [rcx - 8]
cmp eax, ebx
jb 0x140027210
lea eax, [rbx + 8]
cmp eax, 8
jb 0x140027357
lea rdx, [rdi + rbx]
lea rax, [rcx + rsi]
cmp rax, rdx
jb 0x140027210
sub rcx, rbx
sub rcx, rdi
add rcx, rsi
cmp rcx, 8
jae 0x140027210
mov dword [rbp - 0x78], r14d
mov rsi, r14
mov r8d, r14d
test rdi, rdi
je 0x1400272ec
mov rcx, rdi
cmp rdx, rdi
jb 0x140027357
jbe 0x1400272e7
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140027357
cmp rax, rdx
ja 0x1400272d9
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400272e0
mov dword [rbp + 0x304], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x140027357
mov rcx, r9
cmp r9, rdx
ja 0x1400272d9
inc r8d
mov dword [rbp - 0x78], r8d
cmp rcx, rdx
jae 0x1400272ea
jmp 0x140027292
mov edi, 0xc000000d
jmp 0x14002735c
mov edi, 0xc0000095
jmp 0x140027342
cmp rcx, rdx
jne 0x1400272d9
test ebx, ebx
je 0x140027316
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x140027316
mov edi, 0xc0000017
jmp 0x140027342
test rdi, rdi
je 0x140027329
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x130], eax
mov qword [rbp + 0x138], rsi
mov dword [rbp + 0x134], ebx
mov edi, r14d
test edi, edi
js 0x14002735c
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp + 0x130]
je 0x14002735c
jmp 0x140027210
mov edi, 0xc0000095
bts edi, 0x1c
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x14002737d
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 + 0x150]
test rbx, rbx
je 0x140027407
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x1400273aa
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 [rbx + 8], r14
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x1400273cb
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 [rbx + 0x18], r14
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x1400273ec
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 [rbx + 0x28], r14
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 + 0x150], r14
mov rbx, qword [rbp + 0x58]
test rbx, rbx
je 0x140027424
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 - 0x38]
test rbx, rbx
je 0x140027441
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12, r12
je 0x1400274c3
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x140027469
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 [r12 + 8], r14
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x14002748c
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 [r12 + 0x18], r14
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x1400274af
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 [r12 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x10]
test rbx, rbx
je 0x1400274e0
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 0x14002759a
mov ecx, dword [rbp + 0x130]
mov r9d, 1
cmp ecx, r9d
jb 0x14002759a
mov rdi, qword [rbp + 0x138]
test rdi, rdi
je 0x14002759a
test ecx, ecx
je 0x14002759a
mov edx, dword [rdi]
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x14002759a
test edx, edx
mov dword [rbp + 0x300], edx
mov rax, r14
cmovne rax, r8
mov qword [rbp + 0x480], rax
cmp edx, 4
jne 0x14002759a
mov eax, dword [rax]
mov dword [rbp + 0xc4], eax
test eax, eax
js 0x14002759a
cmp ecx, r9d
jbe 0x14002759a
mov ecx, r14d
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14002759a
mov edi, dword [rdi]
add rdi, rdx
cmp rdi, rdx
jb 0x14002759a
add ecx, r9d
cmp ecx, r9d
jb 0x14002754f
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14002759a
test ecx, ecx
mov dword [rbp + 0x2fc], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x488], rax
cmp ecx, 8
jne 0x14002759a
mov rax, qword [rax]
mov qword [rbp + 0x490], rax
mov r12, qword [rbp - 0x70]
mov r13, qword [rsp + 0x68]
and qword [rbp + 0x20], 0
mov rdi, qword [rbp + 0x28]
test rdi, rdi
je 0x1400275c9
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 + 0x28], r14
and qword [rbp + 0x130], 0
mov rdi, qword [rbp + 0x138]
test rdi, rdi
je 0x1400275f8
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 + 0x138], r14
test r12, r12
je 0x140027611
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x14002762a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0xd8]
mov ebx, dword [rbp + 0x128]
mov dword [rbp + 0x2f8], eax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x110], r14
jmp 0x14001eb23
mov r13, r14
jmp 0x1400275a3
mov r13, rdi
jmp 0x1400275a3
cmp r15d, 0xd00000e5
je 0x14002768c
cmp r15d, 0xc004d501
je 0x14002768c
cmp r15d, 0xd000003e
jne 0x140027692
mov r15d, 0xc004f028
jmp 0x14001ebc9
mov r15d, 0xc004f027
test r15d, r15d
jns 0x1400276ad
mov eax, 0x8007007a
cmp r15d, eax
jne 0x14001ebc9
mov r14d, 0xc004f01e
jmp 0x1400276c4
cmp ebx, 4
jne 0x1400276a5
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x418]
mov edx, dword [rcx]
mov dword [rax], edx
lea rcx, [rbp + 0x1a0]
call fcn.14004761c
mov eax, r14d
mov rcx, qword [rbp + 0x1100]
xor rcx, rsp
call fcn.140066490
mov rbx, qword [rsp + 0x1250]
add rsp, 0x1210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret