Function at 0x14001a590
Capabilities:
Encode data using xor
Execute anti-debugging instructions
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 - 0x1120]
mov eax, 0x1220
call fcn.1400669b0
sub rsp, rax
mov rax, qword [0x1400c2270]
xor rax, rsp
mov qword [rbp + 0x1110], rax
xor ebx, ebx
mov qword [rbp + 0x468], r8
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x208], rbx
test rdx, rdx
jne 0x14001a5e9
mov ebx, 0x80070057
jmp 0x1400243be
test r8, r8
je 0x14001a5df
mov dword [rbp + 0x17c], ebx
mov r13d, 1
mov dword [rbp + 0xd8], ebx
mov qword [rbp + 0x140], rbx
mov dword [rbp + 0x78], ebx
xor eax, eax
lock cmpxchg dword [0x1400c3668], r13d
jne 0x14001a60a
mov eax, dword [0x1400c3664]
or edi, 0xffffffff
mov dword [rbp + 0x90], edi
mov esi, 0x338
test eax, eax
jne 0x14001abea
mov dword [rbp - 0x80], ebx
mov qword [rbp + 0x188], rbx
mov qword [rbp + 0x2d0], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
mov r15, rax
test rax, rax
je 0x14001ab69
mov r14d, 0x67
mov dword [rbp - 8], ebx
mov eax, ebx
mov dword [rbp + 0x18], ebx
mov esi, ebx
lea r12, [r15 + 7]
mov r11d, ebx
lea r13, [0x140092822]
lea ebx, [r14 - 0x66]
mov r15d, edi
movzx ecx, byte [r13 - 1]
movzx r10d, byte [r13 - 2]
movzx r9d, byte [r13 + 2]
shl r10d, 8
or r10d, ecx
shl r9d, 8
movzx ecx, byte [r13]
lea r13, [r13 + 8]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r13 - 7]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r13 - 5]
or r9d, ecx
xor r11d, r10d
movzx ecx, byte [r13 - 4]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r13 - 3]
shl r9d, 8
or r9d, ecx
xor esi, r9d
xor esi, r11d
xor esi, 0xac987321
lea ecx, [rsi + 0x54969fa2]
rol ecx, 5
imul edx, ecx, 0x137f
mov ecx, esi
rol ecx, 0xa
add edx, ecx
xor r11d, edx
lea ecx, [r11 + 0x7f1137f]
ror ecx, 9
imul edx, ecx, 0xab69
mov ecx, r11d
rol ecx, 2
sub edx, ecx
xor esi, edx
lea ecx, [rsi - 0x137f]
imul edx, ecx, 0x605e
mov ecx, esi
shr ecx, 0xd
sub edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0xab69
rol ecx, 6
imul edx, ecx, 0x7f1
mov ecx, r11d
rol ecx, 2
sub edx, ecx
mov ecx, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub ecx, edx
xor r11d, ecx
mov ecx, r11d
mov edi, r11d
xor ecx, 0x137f
ror edi, 6
imul edx, ecx, 0xab69
xor edi, edx
xor esi, edi
mov edi, 0xab69605e
lea ecx, [rsi + 0x7f1137f]
ror ecx, 0xf
imul edx, ecx, 0x605e
mov ecx, esi
rol ecx, 2
add edx, ecx
xor r11d, edx
lea ecx, [r11 + 0x54969fa2]
ror ecx, 0xe
imul edx, ecx, 0x7f1
mov ecx, r11d
rol ecx, 8
sub edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, edi
ror ecx, 0xc
imul edx, ecx, 0x137f
mov ecx, esi
ror ecx, 0xa
xor edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0x7f1
imul edx, ecx, 0xab69
mov ecx, r11d
shr ecx, 0xa
xor edx, ecx
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 5
add ecx, 0x605e
imul ecx, ecx, 0x7f1
xor r11d, ecx
lea r8d, [r11 - 0x7f1]
xor r8d, esi
mov esi, 0xab69
xor r8d, edi
mov ecx, r8d
xor ecx, 0x7f1
rol ecx, 2
imul edx, ecx, 0x137f
mov ecx, r8d
shr ecx, 2
add edx, ecx
xor r11d, edx
lea ecx, [r11 - 0x7f1137f]
ror ecx, 6
imul edx, ecx, 0xab69
mov ecx, r11d
rol ecx, 7
add edx, ecx
xor r8d, edx
mov ecx, r8d
mov edi, r8d
xor ecx, 0x137f
ror edi, 9
imul edx, ecx, 0x605e
add edi, edx
xor r11d, edi
mov ecx, r11d
xor ecx, esi
rol ecx, 5
imul edx, ecx, 0x7f1
mov ecx, r11d
rol ecx, 7
add edx, ecx
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov ecx, edi
ror ecx, 3
sub ecx, esi
imul ecx, ecx, 0x137f
xor r8d, ecx
lea ecx, [r8 - 0x7f1137f]
ror ecx, 1
imul edx, ecx, 0x605e
mov ecx, r8d
ror ecx, 6
sub edx, ecx
xor edi, edx
lea ecx, [rdi - 0x54969fa2]
rol ecx, 3
imul edx, ecx, 0x7f1
mov ecx, edi
rol ecx, 0xe
add edx, ecx
xor r8d, edx
lea ecx, [r8 - 0x54969fa2]
rol ecx, 0xf
imul edx, ecx, 0x137f
mov ecx, r8d
ror ecx, 0xe
sub edx, ecx
xor edi, edx
mov ecx, edi
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, edi
shr ecx, 3
xor edx, ecx
xor r8d, edx
mov ecx, r8d
xor ecx, 0x7f1137f
rol ecx, 4
imul edx, ecx, 0x605e
mov ecx, r8d
rol ecx, 2
xor r8d, r15d
mov dword [rbp - 8], r8d
mov r15d, r9d
xor edx, ecx
xor edx, eax
mov eax, r10d
xor edi, edx
mov dword [rbp + 0x18], edi
mov byte [r12 - 4], dil
mov cl, byte [rbp - 8]
ror dword [rbp + 0x18], 8
mov byte [r12], cl
lea r12, [r12 + 8]
ror dword [rbp - 8], 8
mov cl, byte [rbp + 0x18]
mov byte [r12 - 0xd], cl
mov cl, byte [rbp - 8]
ror dword [rbp + 0x18], 8
mov byte [r12 - 9], cl
ror dword [rbp - 8], 8
mov cl, byte [rbp + 0x18]
mov byte [r12 - 0xe], cl
ror dword [rbp + 0x18], 8
mov cl, byte [rbp - 8]
mov byte [r12 - 0xa], cl
ror dword [rbp - 8], 8
mov cl, byte [rbp + 0x18]
mov byte [r12 - 0xf], cl
mov cl, byte [rbp - 8]
mov byte [r12 - 0xb], cl
mov r11d, dword [rbp + 0x18]
mov esi, dword [rbp - 8]
ror r11d, 8
ror esi, 8
mov dword [rbp + 0x18], r11d
mov dword [rbp - 8], esi
sub r14, rbx
jne 0x14001a68d
mov r15, qword [rbp + 0x50]
xor ebx, ebx
mov ecx, ebx
mov al, bl
mov r14d, ebx
mov esi, 0x338
lea r13d, [rbx + 1]
xor al, byte [rcx + r15]
add rcx, r13
cmp rcx, rsi
jb 0x14001a9b8
movzx ecx, al
cmp rcx, qword [0x140092b58]
je 0x14001a9d7
mov edi, 0xc004d501
jmp 0x14001a9ea
mov qword [rbp + 0x188], r15
mov edi, ebx
mov r15, rbx
mov qword [rbp + 0x2d0], rsi
test r15, r15
je 0x14001aa03
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14001ab69
mov rax, qword [rbp + 0x2d0]
lea rsi, [0x1400c3370]
mov rdi, qword [rbp + 0x188]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x60]
mov byte [rax + rdi - 1], bl
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
cmp byte [rdi], bl
je 0x14001ab6f
mov r12d, ebx
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x14001aa44
lea rdi, [rdi + rax*2]
mov eax, r12d
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 0x14001ab69
mov rax, qword [rsi]
mov ecx, 0x5a4d
mov r14d, ebx
cmp word [rax], cx
je 0x14001aa87
mov r14d, 0xc000007b
jmp 0x14001aad2
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001aa7f
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x14001aa7f
cmp dword [rcx], 0x4550
jne 0x14001aa7f
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001aac1
mov r14d, 0xc000000d
jmp 0x14001aad2
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov r13d, dword [rdi + 2]
mov r15d, ebx
add rdi, 6
test r13d, r13d
je 0x14001ab47
mov qword [rbp + 0x2d8], rbx
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x14001aaf0
inc rdi
add rdi, rax
test r14d, r14d
js 0x14001ab32
lea r9, [rbp + 0x2d8]
mov r8, rsi
xor edx, edx
call fcn.140046474
mov r14d, eax
test eax, eax
js 0x14001ab61
mov eax, dword [rbp - 0x80]
lea r8, [0x1400bc090]
mov rcx, qword [rbp + 0x2d8]
mov qword [r8 + rax*8], rcx
jmp 0x14001ab35
mov eax, dword [rbp - 0x80]
mov ecx, 1
add eax, ecx
add r15d, ecx
mov dword [rbp - 0x80], eax
cmp r15d, r13d
jb 0x14001aae2
mov r13d, 1
lea rsi, [0x1400c3370]
add r12d, r13d
cmp byte [rdi], bl
jne 0x14001aa3d
jmp 0x14001ab6f
mov r13d, 1
jmp 0x14001ab6f
mov r14d, 0xc000007a
cmp qword [rbp + 0x188], rbx
je 0x14001ab90
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 r14d, r14d
jns 0x14001abe4
lea r15, [0x1400c3370]
mov esi, 4
mov rdi, r15
cmp qword [rdi], rbx
je 0x14001abb2
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r13
jne 0x14001aba4
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bc090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001abf3
mov eax, dword [0x1400c3664]
add eax, r13d
mov dword [0x1400c3664], eax
mov eax, ebx
mov r14d, ebx
xchg dword [0x1400c3668], eax
mov qword [rbp + 0x230], rbx
mov esi, ebx
mov qword [rbp + 0x228], rbx
mov edi, 0x80004005
mov rax, qword gs:[0x60]
mov r12d, 0x80070000
cmp dword [rax + 0x2c0], ebx
je 0x14001ae66
mov rax, qword [0x1400bc1a0]
call qword [0x140077040]
mov r15, rax
test rax, rax
jne 0x14001ac63
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14001ae6a
mov esi, edi
jmp 0x14001ae6a
mov rdi, rbx
mov qword [rbp + 0xe8], rbx
mov r9d, ebx
lea rax, [rbp + 0x180]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400bc1c0]
mov rcx, r15
call qword [0x140077040]
test eax, eax
jne 0x14001ad10
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001acfa
cmp qword [rbp + 0xe8], rbx
jne 0x14001acf1
mov edi, dword [rbp + 0x180]
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.140046720
test rdi, rdi
je 0x14001acea
mov r9d, dword [rbp + 0x180]
mov qword [rbp + 0xe8], rdi
jmp 0x14001ac70
mov esi, 0x8007000e
jmp 0x14001ad1e
mov edi, 0x80004005
mov esi, edi
jmp 0x14001ad2a
mov edi, 0x80004005
test eax, eax
je 0x14001acf6
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
jmp 0x14001ad2a
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x230], rax
mov edi, 0x80004005
mov qword [rbp + 0xe8], rbx
lea rcx, [rbp + 0xe8]
call fcn.140046720
test esi, esi
js 0x14001ae6a
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x1400bc1b8]
call qword [0x140077040]
mov r15, rax
test rax, rax
je 0x14001ac43
mov rdi, rbx
mov qword [rbp + 0xf0], rbx
mov esi, ebx
mov r9d, ebx
lea rax, [rbp + 0x160]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400bc1c0]
mov rcx, r15
call qword [0x140077040]
test eax, eax
jne 0x14001ae07
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001adf6
cmp qword [rbp + 0xf0], rbx
jne 0x14001adef
mov edi, dword [rbp + 0x160]
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 + 0xf0]
mov rdi, rax
call fcn.140046720
test rdi, rdi
je 0x14001ade8
mov r9d, dword [rbp + 0x160]
mov qword [rbp + 0xf0], rdi
jmp 0x14001ad6e
mov esi, 0x8007000e
jmp 0x14001ae15
mov esi, 0x80004005
jmp 0x14001ae1c
test eax, eax
je 0x14001adef
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
jmp 0x14001ae1c
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x228], rax
mov qword [rbp + 0xf0], rbx
lea rcx, [rbp + 0xf0]
call fcn.140046720
test esi, esi
js 0x14001ae6a
mov rcx, qword [rbp + 0x230]
test rcx, rcx
je 0x14001ae66
lea rdx, str.WinSta0
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001ae66
mov rcx, qword [rbp + 0x228]
test rcx, rcx
je 0x14001ae66
lea rdx, str.Default
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
cmove r14d, r13d
mov dword [rbp + 0x78], r14d
lea rcx, [rbp + 0x228]
call fcn.140046720
lea rcx, [rbp + 0x230]
call fcn.140046720
mov eax, dword [rbp + 0x78]
test esi, esi
cmovs eax, ebx
mov dword [rbp + 0x78], eax
mov edx, 4
mov dword [rbp + 0xd8], ebx
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
lea rcx, [rbp + 0x140]
mov qword [rbp + 0x40], rax
mov rdi, rax
call fcn.1400466fc
test rdi, rdi
jne 0x14001af7a
mov qword [rbp + 0x140], rbx
mov esi, 0x8007000e
mov r14d, dword [rbp + 0xe0]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400c3668], r12d
jne 0x14001aed6
mov eax, dword [0x1400c3664]
test eax, eax
jle 0x14001af46
sub eax, r12d
mov dword [0x1400c3664], eax
jne 0x14001af46
lea r13, [0x1400c3370]
mov r15d, 4
mov rdi, r13
cmp qword [rdi], rbx
je 0x14001af16
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r12
jne 0x14001af08
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bc090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
lea rcx, [rbp + 0x140]
xchg dword [0x1400c3668], eax
call fcn.1400466fc
test esi, esi
jns 0x1400243a6
cmp esi, 0xd0000034
jne 0x140024368
mov esi, 0xc004f012
mov ebx, esi
jmp 0x1400243be
xor eax, eax
mov qword [rbp + 0x140], rdi
mov qword [rbp - 0x60], rax
mov edi, LoadRegTypeLib
mov qword [rbp - 0x58], rax
mov r14, rbx
mov qword [rbp + 0xb8], rax
mov r15, rbx
mov qword [rbp + 0xc0], rax
lea rax, [0x1400c2390]
mov qword [rbp + 0x340], rax
mov dword [rbp + 0x150], ebx
mov dword [rbp + 0xa0], ebx
mov qword [rbp + 0x2e0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov esi, 8
mov r8d, edi
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
mov rdi, rax
mov r12d, 0xc0000017
test rax, rax
jne 0x14001affd
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x14001b198
mov r8, qword [rbp + 0x2e0]
mov rcx, rdi
mov rdx, qword [rbp + 0x340]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, dword [rbp + 0x2e0]
mov r14, rdi
mov qword [rsp + 0x78], rdi
lea rax, [0x1400c22d0]
mov qword [rbp + 0x300], rsi
mov qword [rbp + 0x348], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
mov edx, esi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x40], rax
mov rdi, rax
test rax, rax
je 0x14001aff0
mov r8, qword [rbp + 0x300]
mov rcx, rax
mov rdx, qword [rbp + 0x348]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15, rdi
mov qword [rsp + 0x70], rdi
mov rdi, qword [rbp + 0x300]
mov qword [rbp + 0x70], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x258], rax
lea r14d, [r13 + 4]
or r10d, 0xffffffff
cmp r14d, 4
mov eax, r10d
mov r11d, 0xc0000095
mov ecx, 8
cmovae eax, r14d
sbb r12d, r12d
and r12d, r11d
cmp r14d, 4
mov dword [rsp + 0x60], r12d
mov esi, r12d
cmovae ecx, eax
mov dword [rbp + 0x8c], ecx
test r12d, r12d
js 0x14001b193
lea edx, [rcx + 8]
cmp edx, 8
jb 0x14001b0de
mov esi, ebx
jmp 0x14001b0e4
mov edx, r10d
mov esi, r11d
mov r8d, 0x10000000
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b193
lea r15d, [rdi + 4]
mov eax, r10d
cmp r15d, 4
cmovae eax, r15d
sbb esi, esi
and esi, r11d
cmp r15d, 4
mov dword [rsp + 0x60], esi
mov dword [rbp - 0x70], esi
cmovae ecx, eax
mov dword [rbp + 0x8c], ecx
test esi, esi
js 0x14001b18e
lea eax, [rcx + rdx]
cmp eax, edx
jb 0x14001b12e
mov esi, ebx
jmp 0x14001b134
mov eax, r10d
mov esi, r11d
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b18e
mov dword [rbp + 0x8c], SafeArrayGetDim
lea edi, [rax + 0xc]
cmp edi, eax
jb 0x14001b152
mov esi, ebx
jmp 0x14001b158
mov edi, r10d
mov esi, r11d
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b18e
mov rcx, qword [rbp + 0x30]
lea r8, [rbp + 0x210]
mov edx, 0x7fffffff
call fcn.140046758
test eax, eax
jns 0x14001b2ab
mov qword [rbp + 0x210], rbx
mov esi, 0xc000003e
mov dword [rsp + 0x60], esi
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r13d, 1
and qword [rbp - 0x60], 0
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x14001b1c4
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], rbx
and qword [rbp + 0xb8], 0
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x14001b1f3
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 + 0xc0], rbx
test r14, r14
je 0x14001b20c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x14001b225
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x14001aec9
mov eax, dword [rbp + 0x78]
test eax, eax
je 0x14002433b
mov edi, 0x104
mov qword [rbp + 0x480], rbx
mov r8d, edi
mov dword [0x1400c3360], eax
lea rdx, [rbp + 0xf00]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140021fc0
cmp eax, edi
jne 0x14001b27c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140021fc0
mov rax, qword [0x1400bc188]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x140077040]
mov qword [rbp + 0x30], rax
test rax, rax
jne 0x14001dc10
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140021fc0
mov rax, qword [rbp + 0x210]
or r10d, 0xffffffff
mov edx, dword [rbp + 0x8c]
inc rax
mov qword [rbp + 0x210], rax
mov r11d, 0xc0000095
lea ecx, [rax*2 + 4]
mov eax, r10d
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, r11d
cmp ecx, 4
mov dword [rsp + 0x60], esi
cmovae edx, eax
mov dword [rbp + 0x8c], edx
test esi, esi
js 0x14001b18e
lea ecx, [rdx + rdi]
cmp ecx, edi
jb 0x14001b304
mov esi, ebx
jmp 0x14001b30a
mov ecx, r10d
mov esi, r11d
mov r8d, 0x10000000
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b18e
mov dword [rbp + 0x8c], 8
lea eax, [rcx + 8]
cmp eax, ecx
jb 0x14001b332
mov esi, ebx
jmp 0x14001b338
mov eax, r10d
mov esi, r11d
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b18e
mov dword [rbp + 0x8c], 8
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x14001b35a
mov esi, ebx
jmp 0x14001b360
mov ecx, r10d
mov esi, r11d
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b18e
mov dword [rbp - 0x5c], 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 rdx, rax
test rax, rax
jne 0x14001b39b
mov esi, 0xc0000017
jmp 0x14001b18a
mov qword [rbp - 0x58], rdx
mov r8d, ebx
mov dword [rbp - 0x60], ebx
mov dword [rbp + 0x1d0], ebx
add rax, 4
or rdi, 0xffffffffffffffff
cmp rax, rdx
mov r11d, 0xc0000095
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001b400
mov ecx, dword [rbp - 0x5c]
lea rax, [rdx + 8]
add rcx, rdx
cmp rax, rcx
jbe 0x14001b3e7
mov esi, 0xc0000023
jmp 0x14001b18a
mov dword [rdx], 4
mov eax, dword [rbp + 0x1d0]
mov dword [rdi], eax
mov r8d, dword [rbp - 0x60]
inc r8d
mov dword [rbp - 0x60], r8d
test esi, esi
js 0x14001b18e
test r13d, r13d
je 0x14001b551
cmp qword [rbp - 0x58], rbx
jne 0x14001b47c
mov edx, dword [rbp + 0x100]
or r10d, 0xffffffff
cmp r14d, 4
mov dword [rsp + 0x60], r12d
mov eax, r10d
mov esi, r12d
cmovae eax, r14d
cmovae edx, eax
mov dword [rbp + 0x100], edx
test r12d, r12d
js 0x14001b55a
mov ecx, dword [rbp - 0x5c]
mov r9d, r10d
mov r12d, 1
lea eax, [rcx + rdx]
cmp eax, ecx
cmovae r9d, eax
sbb esi, esi
and esi, r11d
mov dword [rbp - 0x5c], r9d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x14001b564
add r8d, r12d
mov dword [rbp - 0x60], r8d
jmp 0x14001b576
mov rdi, qword [rbp - 0x58]
mov r10d, ebx
mov r12d, 1
test r8d, r8d
je 0x14001b4fe
mov r9d, dword [rbp + 0x100]
mov r14d, r11d
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r11, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r14d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r9d, ecx
mov dword [rbp + 0x100], r9d
test esi, esi
js 0x14001b55a
or rax, 0xffffffffffffffff
mov edx, r9d
add rdx, rdi
mov rcx, rdi
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r14d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001b55a
add r10d, r12d
cmp r10d, r8d
jb 0x14001b498
mov r11d, 0xc0000095
lea rax, [rdi + 4]
or r9, 0xffffffffffffffff
cmp rax, rdi
cmovae r9, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001b55a
mov ecx, dword [rbp - 0x5c]
lea rax, [r13 + 4]
add rcx, qword [rbp - 0x58]
add rax, rdi
mov r8, r13
cmp rax, rcx
ja 0x14001b3dd
mov rdx, qword [rbp + 0x50]
mov rcx, r9
mov dword [rdi], r13d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp - 0x60]
add r8d, r12d
mov dword [rbp - 0x60], r8d
jmp 0x14001b560
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r12d, 1
mov r9d, dword [rbp - 0x5c]
test esi, esi
js 0x14001b18e
or r10d, 0xffffffff
mov r11d, 0xc0000095
mov rdx, qword [rbp + 0x70]
test edx, edx
je 0x14001b6d7
cmp qword [rbp - 0x58], rbx
jne 0x14001b5f6
mov edx, dword [rbp + 0x104]
cmp r15d, 4
mov esi, dword [rbp - 0x70]
mov eax, r10d
cmovae eax, r15d
mov dword [rsp + 0x60], esi
cmovae edx, eax
mov dword [rbp + 0x104], edx
test esi, esi
js 0x14001b18e
add edx, r9d
mov ecx, r9d
cmp edx, r9d
mov eax, r10d
mov edi, r9d
cmovae eax, edx
cmp edx, ecx
mov r9d, eax
mov dword [rbp - 0x5c], eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp edx, ecx
jb 0x14001b6e5
mov rax, qword [rbp + 0x258]
add r8d, r12d
mov dword [rbp - 0x60], r8d
mov qword [rbp + 0x308], rax
jmp 0x14001b705
mov rdi, qword [rbp - 0x58]
or r13, 0xffffffffffffffff
mov r11d, ebx
test r8d, r8d
je 0x14001b676
mov r10d, dword [rbp + 0x104]
mov r15d, 0xc0000095
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r14, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r15d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r10d, ecx
mov dword [rbp + 0x104], r10d
test esi, esi
js 0x14001b6e2
mov rcx, rdi
mov edx, r10d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001b6e2
add r11d, r12d
cmp r11d, r8d
jb 0x14001b613
mov rdx, qword [rbp + 0x70]
lea rax, [rdi + 4]
mov r10, r13
cmp rax, rdi
mov r11d, 0xc0000095
cmovae r10, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001b6e5
mov r8d, edx
mov ecx, r9d
add rcx, qword [rbp - 0x58]
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rcx
ja 0x14001b3dd
mov dword [rdi], edx
mov rcx, r10
mov rdx, qword [rbp - 0x40]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp - 0x60]
mov r11d, 0xc0000095
mov r9d, dword [rbp - 0x5c]
add r8d, r12d
mov dword [rbp - 0x60], r8d
jmp 0x14001b6e5
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001b6e5
mov r11d, r15d
test esi, esi
js 0x14001b18e
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x308], rax
cmp qword [rbp - 0x58], rbx
jne 0x14001b73d
or r10d, 0xffffffff
mov dword [rbp + 0x154], SafeArrayGetDim
lea ecx, [r9 + 0xc]
mov eax, r10d
cmp ecx, r9d
cmovae eax, ecx
sbb esi, esi
and esi, r11d
mov dword [rbp - 0x5c], eax
mov dword [rsp + 0x60], esi
cmp ecx, r9d
jb 0x14001b7ff
add r8d, r12d
mov dword [rbp - 0x60], r8d
jmp 0x14001b807
mov rdi, qword [rbp - 0x58]
or r13, 0xffffffffffffffff
mov r11d, ebx
mov r15d, 0xc0000095
test r8d, r8d
je 0x14001b7b9
mov r10d, dword [rbp + 0x154]
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r14, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r15d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r10d, ecx
mov dword [rbp + 0x154], r10d
test esi, esi
js 0x14001b18e
mov rcx, rdi
mov edx, r10d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001b7ff
add r11d, r12d
cmp r11d, r8d
jb 0x14001b75a
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001b7ff
mov ecx, r9d
lea rax, [rdi + 0xc]
add rcx, qword [rbp - 0x58]
cmp rax, rcx
ja 0x14001b3dd
mov dword [rdi], 8
movsd xmm0, qword [rbp + 0x308]
movsd qword [rdx], xmm0
add dword [rbp - 0x60], r12d
test esi, esi
js 0x14001b18e
mov r14, qword [rbp + 0x30]
lea r8, [rbp + 0x1c0]
mov rcx, r14
mov edx, 0x7fffffff
call fcn.140046758
test eax, eax
jns 0x14001b82f
mov qword [rbp + 0x1c0], rbx
jmp 0x14001b185
mov rcx, qword [rbp + 0x1c0]
or r13, 0xffffffffffffffff
mov r11d, 0xc0000095
mov rdx, r13
lea rax, [rcx + 1]
cmp rax, rcx
lea r15d, [r11 - 0x72]
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov qword [rbp + 0x1c0], rdx
mov dword [rsp + 0x60], esi
cmp rax, rcx
jb 0x14001b9ce
lea r9d, [rdx + rdx]
test r9d, r9d
je 0x14001b9b9
cmp qword [rbp - 0x58], rbx
jne 0x14001b8e3
mov edx, dword [rbp + 0x108]
lea eax, [r9 + 4]
or edi, 0xffffffff
cmp eax, 4
mov ecx, edi
cmovae ecx, eax
sbb esi, esi
and esi, r11d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae edx, ecx
mov dword [rbp + 0x108], edx
test esi, esi
js 0x14001b9c2
mov ecx, dword [rbp - 0x5c]
mov r8d, edi
lea eax, [rcx + rdx]
cmp eax, ecx
cmovae r8d, eax
sbb esi, esi
and esi, r11d
mov dword [rbp - 0x5c], r8d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x14001b9c6
add dword [rbp - 0x60], r12d
mov esi, ebx
mov dword [rsp + 0x60], ebx
jmp 0x14001b9c6
mov r10d, ebx
mov rdi, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001b962
mov r8d, dword [rbp + 0x108]
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r11, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r8d, ecx
mov dword [rbp + 0x108], r8d
test esi, esi
js 0x14001b9c2
mov rcx, rdi
mov edx, r8d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, 0xc0000095
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001b9c2
add r10d, r12d
cmp r10d, dword [rbp - 0x60]
jb 0x14001b8f6
mov r11d, 0xc0000095
lea rax, [rdi + 4]
mov r10, r13
cmp rax, rdi
cmovae r10, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001b9c2
mov r8d, dword [rbp - 0x5c]
lea rax, [r9 + 4]
mov ecx, r8d
mov edx, r9d
add rcx, qword [rbp - 0x58]
add rax, rdi
cmp rax, rcx
jbe 0x14001b9a2
mov esi, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14001b9c6
mov r8, rdx
mov dword [rdi], r9d
mov rdx, r14
mov rcx, r10
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add dword [rbp - 0x60], r12d
jmp 0x14001b9c2
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r8d, dword [rbp - 0x5c]
mov r11d, 0xc0000095
jmp 0x14001b9d2
mov r8d, dword [rbp - 0x5c]
test esi, esi
js 0x14001b18e
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x1d8], eax
cmp qword [rbp - 0x58], rbx
jne 0x14001ba36
mov dword [rbp + 0x14c], 8
lea edx, [r8 + 8]
or r10d, 0xffffffff
cmp edx, r8d
mov ecx, r8d
mov eax, r10d
mov edi, r8d
cmovae eax, edx
cmp edx, ecx
mov r8d, eax
mov dword [rbp - 0x5c], eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp edx, ecx
jb 0x14001bb0a
add dword [rbp - 0x60], r12d
mov dword [rbp + 0x170], 4
jmp 0x14001bb22
mov r10d, ebx
mov rdi, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001bab2
mov r9d, dword [rbp + 0x14c]
mov r14d, 0xc0000095
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r11, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r14d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r9d, ecx
mov dword [rbp + 0x14c], r9d
test esi, esi
js 0x14001bb03
mov rcx, rdi
mov edx, r9d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r14d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001bb03
add r10d, r12d
cmp r10d, dword [rbp - 0x60]
jb 0x14001ba4f
mov r11d, r14d
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001bb06
mov ecx, r8d
lea rax, [rdi + 8]
add rcx, qword [rbp - 0x58]
cmp rax, rcx
jbe 0x14001baeb
mov esi, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14001b18e
mov dword [rdi], 4
mov eax, dword [rbp + 0x1d8]
mov dword [rdx], eax
add dword [rbp - 0x60], r12d
mov r8d, dword [rbp - 0x5c]
jmp 0x14001bb06
mov r11d, r14d
or r10d, 0xffffffff
test esi, esi
js 0x14001b18e
mov dword [rbp + 0x170], 4
cmp qword [rbp - 0x58], rbx
jne 0x14001bb61
mov dword [rbp + 0x168], 8
lea edx, [r8 + 8]
mov ecx, r8d
cmp edx, r8d
mov eax, r10d
mov edi, r8d
cmovae eax, edx
cmp edx, ecx
mov r8d, eax
mov dword [rbp - 0x5c], eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp edx, ecx
jb 0x14001bc28
add dword [rbp - 0x60], r12d
jmp 0x14001bc30
mov r10d, ebx
mov rdi, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001bbd9
mov r9d, dword [rbp + 0x168]
mov r14d, 0xc0000095
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r11, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r14d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r9d, ecx
mov dword [rbp + 0x168], r9d
test esi, esi
js 0x14001bc21
mov rcx, rdi
mov edx, r9d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r14d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001bc21
add r10d, r12d
cmp r10d, dword [rbp - 0x60]
jb 0x14001bb7a
mov r11d, r14d
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001bc24
mov ecx, r8d
lea rax, [rdi + 8]
add rcx, qword [rbp - 0x58]
cmp rax, rcx
ja 0x14001bade
mov dword [rdi], 4
mov eax, dword [rbp + 0x170]
mov dword [rdx], eax
add dword [rbp - 0x60], r12d
mov r8d, dword [rbp - 0x5c]
jmp 0x14001bc24
mov r11d, r14d
or r10d, 0xffffffff
test esi, esi
js 0x14001dbfb
mov dword [rbp + 0x3ec], 8
mov r9, rbx
mov qword [rbp + 0x30], rbx
mov r15d, ebx
mov qword [rbp + 0x190], rbx
mov qword [rbp - 0x68], rbx
mov r12d, ebx
mov dword [rsp + 0x68], ebx
mov qword [rbp + 0x80], rbx
mov dword [rbp + 0x4c], ebx
mov qword [rbp + 0x60], rbx
mov qword [rbp - 0x78], rbx
mov dword [rbp + 0xa4], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x310], rax
lea eax, [r8 + 8]
mov ecx, r10d
cmp eax, 8
cmovae ecx, eax
sbb esi, esi
and esi, r11d
mov dword [rbp + 0x10c], ecx
cmp eax, 8
jb 0x14001bd7a
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14001bcb4
mov esi, r11d
jmp 0x14001bd7a
mov dword [rbp + 0x10c], 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 0x14001bce8
mov esi, 0xc0000017
mov r9, rbx
jmp 0x14001bd7a
mov eax, dword [rbp - 0x60]
mov rdx, r13
mov dword [rdi], eax
mov r11d, 0xc0000095
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
cmp rax, rdi
jb 0x14001bd5a
mov eax, dword [rbp - 0x5c]
mov rcx, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb esi, esi
and esi, r11d
cmp rax, rdx
jb 0x14001bd5a
mov edx, dword [rbp + 0x10c]
mov rax, qword [rbp + 0x310]
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 r15d, dword [rbp + 0x10c]
mov r9, rdi
mov qword [rbp + 0x30], rdi
mov rdi, rbx
jmp 0x14001bd5d
mov r9, rbx
test rdi, rdi
je 0x14001bd7a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9, qword [rbp + 0x30]
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d562
mov qword [rbp + 0x358], rbx
mov r14, rbx
mov qword [rbp + 0x360], rbx
mov qword [rbp + 0x368], rbx
mov qword [rbp + 0x370], rbx
mov qword [rbp + 0x238], rbx
mov qword [rbp + 0x350], rbx
test r9, r9
jne 0x14001bdc6
mov esi, 0xc000000d
jmp 0x14001c501
mov esi, r15d
mov qword [rbp + 0x50], rsi
test r15d, r15d
je 0x14001c455
lea rdi, [rsi + 8]
mov qword [rbp + 0x38], 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 - 0x40], rax
mov r13, rax
test rax, rax
je 0x14001c455
mov r10, qword [rbp + 0x30]
mov dl, bl
mov rcx, rbx
test r15d, r15d
je 0x14001be21
mov eax, 1
xor dl, byte [r10 + rcx]
add rcx, rax
cmp rcx, rsi
jb 0x14001be15
or r11d, 0xffffffff
mov dword [rbp - 0x24], ebx
mov r8, rsi
mov dword [rbp - 0x38], r11d
mov dword [rbp - 0x80], ebx
mov r15, r13
mov dword [rbp + 0x10], ebx
mov edi, ebx
and r8d, 7
je 0x14001bf11
mov dword [rbp - 0x80], ebx
mov r11d, ebx
mov dword [rbp + 0x10], r12d
mov r9d, ebx
test r8d, r8d
jle 0x14001be93
mov edi, 0x38
movzx eax, byte [r10]
cmp r9d, 4
jge 0x14001be6f
lea ecx, [rdi - 0x20]
shl eax, cl
or r12d, eax
jmp 0x14001be76
mov ecx, edi
shl eax, cl
or r11d, eax
mov ecx, 1
sub edi, 8
add r9d, ecx
add r10, rcx
cmp r9d, r8d
jl 0x14001be5b
mov dword [rbp + 0x10], r12d
mov dword [rbp - 0x80], r11d
jmp 0x14001be98
mov ecx, 1
xor r11d, 0x42f6b18d
mov edi, r12d
xor edi, 0xb17a307a
mov dword [rbp - 0x38], r11d
mov dword [rbp - 0x24], edi
mov eax, ebx
test r8d, r8d
jle 0x14001bedb
cmp eax, 4
jge 0x14001bec3
rol edi, 8
mov byte [r15], dil
jmp 0x14001beca
rol r11d, 8
mov byte [r15], r11b
add eax, ecx
add r15, rcx
cmp eax, r8d
jl 0x14001beb6
mov edi, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x38]
lea eax, [r8 - 4]
test eax, eax
jle 0x14001bef9
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x38], r11d
jmp 0x14001bf11
mov dword [rbp - 0x38], ebx
mov r11d, ebx
test eax, eax
jns 0x14001bf11
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x24], edi
mov r12, rsi
shr r12, 3
test r12, r12
je 0x14001c256
mov r14d, dword [rbp - 0x80]
lea rsi, [r10 + 2]
mov r13d, dword [rbp + 0x10]
add r15, 7
mov ebx, 1
movzx eax, byte [rsi - 1]
movzx r10d, byte [rsi - 2]
movzx r9d, byte [rsi + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 5]
or r9d, eax
movzx eax, byte [rsi - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
mov edi, 0xc81ecb17
xor r8d, edi
mov eax, r8d
xor eax, edi
ror eax, 0xf
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 7
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x4e4ab5a8]
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 0xa
sub ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, 0xcb17
rol eax, 4
imul ecx, eax, 0xc81e
mov eax, r8d
rol eax, 5
add ecx, eax
mov eax, edi
xor r11d, ecx
mov ecx, r11d
xor ecx, 0xb1b54a58
sub eax, ecx
xor r8d, eax
lea eax, [r8 - 0x4a58]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov ecx, 0xc81e
mov eax, r11d
ror eax, 0xf
xor eax, 0xcb17
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, ecx
imul eax, eax, 0xcb17
xor r11d, eax
lea eax, [r11 + 0x37e0ea91]
xor r8d, eax
mov eax, r8d
mov edi, r8d
xor eax, ecx
ror edi, 0xa
imul ecx, eax, 0xb1b5
xor edi, ecx
xor r11d, edi
mov eax, r11d
xor eax, 0x4a58
rol eax, 6
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, 0xc81e
mov eax, r8d
ror eax, 0xf
sub eax, ecx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, ecx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
lea eax, [r11 - 0xcb17]
rol eax, 3
xor r8d, ecx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xcb17]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 0xd
sub ecx, eax
mov eax, 0xb1b54a58
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e49ed8a]
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0xb1b5
ror edi, 7
imul ecx, eax, 0x4a58
sub ecx, edi
mov edi, 0xc81ecb17
xor r8d, ecx
mov eax, r8d
xor eax, 0xc81e
rol eax, 4
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 0x10
sub ecx, eax
mov eax, 0xb1b54a58
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 4
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e4ab5a8]
ror eax, 4
imul ecx, eax, 0xc81e
mov eax, r8d
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, edi
rol eax, 8
imul ecx, eax, 0x4a58
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, edi
xor r8d, ecx
sub eax, r8d
ror eax, 0xb
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xb1b5
imul ecx, eax, 0xcb17
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r8d, r13d
mov dword [rbp - 0x24], r8d
xor r11d, 0x79ab814f
xor r11d, r14d
mov r13d, r10d
mov dword [rbp - 0x38], r11d
mov r14d, r9d
mov byte [r15 - 4], r8b
mov al, byte [rbp - 0x38]
ror dword [rbp - 0x24], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 0xd], al
mov al, byte [rbp - 0x38]
ror dword [rbp - 0x24], 8
mov byte [r15 - 9], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 0xe], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x38]
mov byte [r15 - 0xa], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 0xf], al
mov al, byte [rbp - 0x38]
mov byte [r15 - 0xb], al
mov edi, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x38]
ror edi, 8
ror r11d, 8
mov dword [rbp - 0x24], edi
mov dword [rbp - 0x38], r11d
sub r12, rbx
jne 0x14001bf36
mov rsi, qword [rbp + 0x50]
xor ebx, ebx
mov r13, qword [rbp - 0x40]
mov r14d, ebx
movzx eax, dl
mov qword [rsi + r13], rax
mov rsi, qword [rbp + 0x38]
mov qword [rbp + 0x350], rsi
mov qword [rbp + 0x238], r13
lea rax, [0x1400c2380]
mov r12d, 8
mov qword [rbp + 0x358], rax
mov qword [rbp + 0x360], r12
lea r15, [0x1400c22e0]
mov qword [rbp + 0x370], LoadRegTypeLib
mov qword [rbp + 0x368], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [r12 + 0x28]
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001c2cc
mov esi, 0xc0000017
jmp 0x14001c440
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14001c2f4
mov esi, 0xc0000017
jmp 0x14001c3c4
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov esi, LoadRegTypeLib
mov dword [rdi + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001c2ea
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r15]
lea edx, [rsi - 0x20]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r15 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r15 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r15 + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [r15 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r15 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r15 + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001c2ea
mov qword [rdi + 0x28], rax
movsd xmm0, qword [0x1400c2380]
mov r14, rdi
movsd qword [rax], xmm0
mov esi, ebx
mov rdi, rbx
test rdi, rdi
je 0x14001c440
mov r15, qword [rdi + 8]
test r15, r15
je 0x14001c3ea
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x14001c40b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x14001c42c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, dword [rsp + 0x68]
test esi, esi
js 0x14001c45a
mov qword [rbp + 0x190], r14
mov r14, rbx
jmp 0x14001c45a
mov esi, 0xc0000001
mov rdi, qword [rbp + 0x238]
test rdi, rdi
je 0x14001c481
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 + 0x238], rbx
test r14, r14
je 0x14001c4fd
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001c4a7
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 [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14001c4c8
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 [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14001c4e9
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 [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r13, 0xffffffffffffffff
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d562
mov r14, qword [rbp + 0x190]
or r11d, 0xffffffff
mov ecx, r11d
mov r15d, 0xc0000095
mov eax, dword [r14]
mov r8d, dword [r14 + 0x20]
add eax, 4
mov edi, dword [r14 + 0x10]
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r15d
cmp eax, 4
jb 0x14001c5a3
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb esi, esi
and esi, r15d
cmp eax, ecx
jb 0x14001c5a3
lea eax, [rdx + rdi]
mov ecx, r11d
cmp eax, edx
cmovae ecx, eax
sbb esi, esi
and esi, r15d
cmp eax, edx
jb 0x14001c5a3
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb esi, esi
and esi, r15d
cmp eax, ecx
jb 0x14001c5a3
mov edi, dword [rbp + 0x110]
lea ecx, [rdx + r8]
cmp ecx, edx
mov eax, r11d
cmovae eax, ecx
sbb esi, esi
and esi, r15d
cmp ecx, edx
cmovae edi, eax
mov dword [rbp + 0x110], edi
jmp 0x14001c5a9
mov edi, dword [rbp + 0x110]
test esi, esi
js 0x14001c6fa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001c5da
mov esi, 0xc0000017
jmp 0x14001c6f6
mov eax, dword [r14]
mov r15, r13
mov dword [rdi], eax
lea rax, [rdi + 4]
cmp rax, rdi
cmovae r15, rax
sbb esi, esi
and esi, 0xc0000095
cmp rax, rdi
jb 0x14001c6d7
mov r8d, dword [r14]
mov rcx, r15
mov rdx, qword [r14 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r14]
mov rdx, r13
add rcx, r15
mov r8d, 0xc0000095
cmp rcx, r15
cmovae rdx, rcx
sbb esi, esi
and esi, r8d
cmp rcx, r15
jb 0x14001c6d7
mov eax, dword [r14 + 0x10]
mov r15, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r15, rax
sbb esi, esi
and esi, r8d
cmp rax, rdx
jb 0x14001c6d7
mov r8d, dword [r14 + 0x10]
mov rcx, r15
mov rdx, qword [r14 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r14 + 0x10]
mov rdx, r13
add rcx, r15
mov r8d, 0xc0000095
cmp rcx, r15
cmovae rdx, rcx
sbb esi, esi
and esi, r8d
cmp rcx, r15
jb 0x14001c6d7
mov eax, dword [r14 + 0x20]
mov r15, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r15, rax
sbb esi, esi
and esi, r8d
cmp rax, rdx
jb 0x14001c6d7
mov r8d, dword [r14 + 0x20]
mov rcx, r15
mov rdx, qword [r14 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r14 + 0x20]
add rcx, r15
cmp rcx, r15
sbb esi, esi
and esi, 0xc0000095
cmp rcx, r15
jb 0x14001c6d7
mov r12d, dword [rbp + 0x110]
mov qword [rbp - 0x68], rdi
mov rdi, rbx
test rdi, rdi
je 0x14001c6f0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15d, 0xc0000095
or r11d, 0xffffffff
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d562
mov qword [rbp + 0x378], rbx
mov r9d, ebx
mov dword [rbp + 0x240], ebx
mov r10d, ebx
mov qword [rbp + 0x380], rbx
mov dword [rbp + 0x244], ebx
mov dword [rbp + 0x3e8], 0x3c
mov eax, 0x48
mov dword [rbp + 0x470], eax
mov dword [rbp + 0x478], eax
lea r14d, [rax - 0x47]
cmp qword [rbp - 0x58], rbx
jne 0x14001c75d
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001c900
cmp dword [rbp - 0x60], r14d
jbe 0x14001c74f
mov rdx, qword [rbp - 0x58]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001c777
mov esi, ebx
jmp 0x14001c77d
mov rdi, r13
mov esi, r15d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d562
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001c7e5
add r8d, r14d
cmp r8d, r14d
jb 0x14001c76a
mov edi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001c7e5
test edi, edi
mov dword [rbp + 0x240], edi
mov rax, rbx
mov r9d, edi
cmovne rax, rcx
mov qword [rbp + 0x378], rax
test esi, esi
js 0x14001d562
cmp dword [rbp - 0x60], 2
jbe 0x14001c74f
mov rdx, qword [rbp - 0x58]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001c80b
mov esi, ebx
jmp 0x14001c811
mov rdi, r13
mov esi, r15d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d562
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001c87a
add r8d, r14d
cmp r8d, 2
jb 0x14001c7fe
mov edi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001c87a
test edi, edi
mov dword [rbp + 0x244], edi
mov rax, rbx
mov r10d, edi
cmovne rax, rcx
mov qword [rbp + 0x380], rax
test esi, esi
js 0x14001d562
lea eax, [r9 + 0x50]
mov ecx, r11d
cmp eax, 0x50
cmovae ecx, eax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp eax, 0x50
jb 0x14001c8dd
lea eax, [rcx + 4]
mov edi, r11d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x14001c8dd
mov edx, dword [rbp + 0x164]
lea ecx, [rdi + r10]
cmp ecx, edi
mov eax, r11d
cmovae eax, ecx
sbb esi, esi
and esi, r15d
cmp ecx, edi
mov dword [rsp + 0x60], esi
cmovae edx, eax
mov dword [rbp + 0x164], edx
jmp 0x14001c8e3
mov edx, dword [rbp + 0x164]
test esi, esi
js 0x14001d562
cmp edx, 0x400000
jbe 0x14001c8fd
mov esi, 0x8000ffff
jmp 0x14001d55e
mov dword [rbp + 0x4c], edx
test esi, esi
js 0x14001d562
mov edi, dword [rbp + 0x4c]
mov esi, ebx
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 0x14001c933
mov esi, 0xc0000017
mov rdi, rbx
jmp 0x14001c93d
mov rdi, rax
mov qword [rbp + 0x80], rax
mov r15d, 0x10000000
or esi, r15d
mov dword [rsp + 0x60], esi
jl 0x14001d562
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x14001c963
mov esi, 0x80070057
jmp 0x14001d55e
test rdi, rdi
je 0x14001c959
mov qword [rbp + 0x488], rax
lea r8, [rbp + 0x388]
mov eax, dword [rbp + 0x4c]
lea rdx, [0x14008c998]
mov ecx, r14d
mov dword [rbp + 0x49c], eax
mov dword [rbp + 0x498], r12d
mov qword [rbp + 0x490], rdi
mov dword [rbp + 0x4a0], ebx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14001c9cd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [rbp + 0x4c]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001ca14
mov esi, 0x80004005
jmp 0x14001ca10
mov rcx, qword [rbp + 0x388]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001c9a7
xor r9d, r9d
lea rdx, [rbp + 0x488]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x140077040]
mov edx, dword [rbp + 0x4c]
mov esi, eax
or esi, r15d
cmovge edx, dword [rbp + 0x49c]
mov dword [rbp + 0x4c], edx
mov dword [rsp + 0x60], esi
cmp esi, 0xd0000023
jne 0x14001ca2f
mov r12d, 0x8007007a
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x14001d568
test esi, esi
js 0x14001d562
mov r14, rbx
cmp edx, 4
jae 0x14001ca49
mov esi, 0xc000003e
jmp 0x14001cdfb
mov r9d, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
mov dword [rbp - 0x70], r9d
mov r15, r13
mov r8d, 0xc0000095
cmovae r15, rax
sbb esi, esi
and esi, r8d
cmp rax, rdi
jb 0x14001cdfb
lea eax, [rdx - 4]
cmp eax, r9d
jb 0x14001ca3f
mov eax, r9d
mov rdi, r13
mov qword [rbp + 0x70], rax
add rax, r15
cmp rax, r15
cmovae rdi, rax
sbb esi, esi
and esi, r8d
cmp rax, r15
jb 0x14001cdfb
lea eax, [r9 + 4]
or r11d, 0xffffffff
cmp eax, 4
mov ecx, r11d
cmovae ecx, eax
sbb esi, esi
and esi, r8d
cmp eax, 4
jb 0x14001cdfb
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14001ca3f
mov r10d, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
mov dword [rsp + 0x68], r10d
mov r12, r13
cmovae r12, rax
sbb esi, esi
and esi, r8d
cmp rax, rdi
jb 0x14001cdfb
lea eax, [rcx + 4]
mov edi, r11d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, r8d
cmp eax, ecx
jb 0x14001cdfb
mov eax, edx
sub eax, edi
cmp eax, r10d
jb 0x14001ca3f
mov eax, r10d
mov rcx, r13
mov qword [rbp + 0x50], rax
add rax, r12
cmp rax, r12
cmovae rcx, rax
sbb esi, esi
and esi, r8d
cmp rax, r12
jb 0x14001cdfb
lea eax, [r10 + rdi]
mov r8d, r11d
cmp eax, edi
cmovae r8d, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, edi
jb 0x14001cdfb
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14001ca3f
mov r13d, dword [rcx]
lea rax, [rcx + 4]
or rdi, 0xffffffffffffffff
cmp rax, rcx
cmovae rdi, rax
sbb esi, esi
mov qword [rbp - 0x40], rdi
mov edi, 0xc0000095
and esi, edi
cmp rax, rcx
jb 0x14001cdfb
lea eax, [r8 + 4]
mov ecx, r11d
cmp eax, r8d
cmovae ecx, eax
sbb esi, esi
and esi, edi
cmp eax, r8d
jb 0x14001cdfb
mov eax, edx
sub eax, ecx
cmp eax, r13d
jb 0x14001ca3f
lea eax, [rcx + r13]
mov edi, r11d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, ecx
jb 0x14001cdfb
cmp edx, edi
jne 0x14001ca3f
lea ecx, [r10 + r13]
mov eax, edx
add ecx, r9d
add rcx, 0xc
cmp rcx, rax
jne 0x14001ca3f
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 0x14001cc11
mov esi, 0xc0000017
jmp 0x14001cd74
mov esi, ebx
test r15, r15
je 0x14001cc59
mov eax, dword [rbp - 0x70]
mov dword [rdi], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x70]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14001cc44
mov esi, 0xc0000017
jmp 0x14001ccf8
mov qword [rdi + 8], rax
mov r8, qword [rbp + 0x70]
mov rdx, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001cc5f
mov dword [rax], ebx
mov qword [rax + 8], rbx
test r12, r12
je 0x14001cca1
mov eax, dword [rsp + 0x68]
mov dword [rdi + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r15, qword [rbp + 0x50]
mov edx, 8
mov rcx, rax
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001cc3a
mov qword [rdi + 0x18], rax
mov r8, r15
mov rdx, r12
mov rcx, rax
mov esi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001cca8
mov dword [rdi + 0x10], ebx
mov qword [rdi + 0x18], rbx
mov r15, qword [rbp - 0x40]
test r15, r15
je 0x14001cceb
mov dword [rdi + 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 0x14001cc3a
mov qword [rdi + 0x28], rax
mov r8, r13
mov rdx, r15
mov rcx, rax
mov esi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001ccf2
mov dword [rdi + 0x20], ebx
mov qword [rdi + 0x28], rbx
mov r14, rdi
mov rdi, rbx
test rdi, rdi
je 0x14001cd74
mov r15, qword [rdi + 8]
test r15, r15
je 0x14001cd1e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x14001cd3f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x14001cd60
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x14001cd7f
mov qword [rbp + 0x60], r14
mov r14, rbx
test r14, r14
je 0x14001cdfb
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001cda5
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 [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14001cdc6
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 [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14001cde7
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 [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d562
mov rax, qword [rbp + 0x60]
mov rdi, rbx
mov qword [rbp + 0x128], rbx
mov esi, ebx
mov qword [rbp + 0x318], rbx
mov dword [rsp + 0x60], ebx
test rax, rax
jne 0x14001ce35
mov esi, 0xc000000d
jmp 0x14001d388
mov r14, qword [rax + 8]
mov qword [rbp + 0x70], r14
test r14, r14
je 0x14001ce2b
cmp dword [rax], ebx
je 0x14001ce2b
mov r15d, dword [rax]
mov dword [rbp - 0x70], ebx
test r15, r15
je 0x14001d363
add r15, 0xfffffffffffffff8
mov qword [rbp - 0x40], 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 + 0x38], rax
mov r12, rax
test rax, rax
je 0x14001d35c
mov rdi, r15
mov byte [rsp + 0x64], bl
mov dword [rbp - 0x30], ebx
mov r10, r14
mov dl, bl
mov r13, rax
mov r14d, ebx
mov r11d, ebx
and edi, 7
je 0x14001cf77
or dword [rbp - 0x48], 0xffffffff
mov r9d, ebx
mov dword [rbp - 0x80], ebx
mov dword [rbp + 0x10], ebx
test edi, edi
jle 0x14001cef4
mov r8d, 0x38
movzx eax, byte [r10]
cmp r9d, 4
jge 0x14001cece
lea ecx, [r8 - 0x20]
shl eax, cl
or r11d, eax
jmp 0x14001ced6
mov ecx, r8d
shl eax, cl
or r14d, eax
mov ecx, 1
sub r8d, 8
add r9d, ecx
add r10, rcx
cmp r9d, edi
jl 0x14001ceb9
mov dword [rbp + 0x10], r11d
mov dword [rbp - 0x80], r14d
jmp 0x14001cef9
mov ecx, 1
xor r11d, 0x92f65a5
xor r14d, 0x699a899c
mov dword [rbp - 0x30], r11d
mov eax, ebx
mov dword [rbp - 0x48], r14d
test edi, edi
jle 0x14001cf3d
cmp eax, 4
jge 0x14001cf24
rol r11d, 8
mov byte [r13], r11b
jmp 0x14001cf2c
rol r14d, 8
mov byte [r13], r14b
add eax, ecx
add r13, rcx
cmp eax, edi
jl 0x14001cf15
mov r11d, dword [rbp - 0x30]
mov r14d, dword [rbp - 0x48]
lea eax, [rdi - 4]
test eax, eax
jle 0x14001cf5a
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r14d, cl
shl r14d, cl
mov dword [rbp - 0x48], r14d
jmp 0x14001cf81
mov dword [rbp - 0x48], ebx
mov r14d, ebx
test eax, eax
jns 0x14001cf81
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x30], r11d
jmp 0x14001cf81
or dword [rbp - 0x80], 0xffffffff
mov dword [rbp + 0x10], ebx
mov dword [rbp - 0x48], ebx
mov rax, r15
shr rax, 3
test rax, rax
je 0x14001d2ce
mov edx, dword [rbp - 0x80]
lea r15, [r13 + 7]
mov r12d, dword [rbp + 0x10]
lea rbx, [r10 + 2]
mov r13, rax
mov esi, 1
movzx eax, byte [rbx - 1]
movzx r10d, byte [rbx - 2]
movzx r9d, byte [rbx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [rbx - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rbx - 3]
shl r9d, 8
or r9d, eax
xor r14d, r9d
xor r14d, r11d
xor r14d, 0xac987321
lea eax, [r14 + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, r14d
rol eax, 0xa
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub ecx, eax
xor r14d, ecx
lea eax, [r14 - 0x137f]
imul ecx, eax, 0x605e
mov eax, r14d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor r14d, ecx
mov ecx, r14d
xor ecx, 0xab69605e
sub eax, ecx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul ecx, eax, 0xab69
xor edi, ecx
xor r14d, edi
mov edi, 0xab69605e
lea eax, [r14 + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, r14d
rol eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub ecx, eax
xor r14d, ecx
mov eax, r14d
xor eax, edi
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, r14d
ror eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor r14d, ecx
mov eax, r14d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, r14d
mov r14d, 0xab69
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
mov eax, r8d
mov edi, r8d
xor eax, 0x137f
ror edi, 9
imul ecx, eax, 0x605e
add edi, ecx
xor r11d, edi
mov eax, r11d
xor eax, r14d
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, r14d
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, edi
rol eax, 0xe
add ecx, eax
xor r8d, ecx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, r8d
ror eax, 0xe
sub ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, r8d
rol eax, 2
xor r8d, edx
mov dword [rbp - 0x48], r8d
mov edx, r9d
xor ecx, eax
xor ecx, r12d
mov r12d, r10d
xor edi, ecx
mov dword [rbp - 0x30], edi
mov byte [r15 - 4], dil
mov al, byte [rbp - 0x48]
ror dword [rbp - 0x30], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 0xd], al
mov al, byte [rbp - 0x48]
ror dword [rbp - 0x30], 8
mov byte [r15 - 9], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 0xe], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x48]
mov byte [r15 - 0xa], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 0xf], al
mov al, byte [rbp - 0x48]
mov byte [r15 - 0xb], al
mov r11d, dword [rbp - 0x30]
mov r14d, dword [rbp - 0x48]
ror r11d, 8
ror r14d, 8
mov dword [rbp - 0x30], r11d
mov dword [rbp - 0x48], r14d
sub r13, rsi
jne 0x14001cfa8
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov esi, dword [rsp + 0x60]
mov r15, qword [rbp - 0x40]
mov r12, qword [rbp + 0x38]
mov rax, rbx
test r15, r15
je 0x14001d2e7
mov ecx, 1
xor dl, byte [rax + r12]
add rax, rcx
cmp rax, r15
jb 0x14001d2db
mov rcx, qword [rbp + 0x70]
movzx eax, dl
cmp rax, qword [r15 + rcx]
je 0x14001d303
mov rdi, qword [rbp + 0x128]
mov r14d, 0xc004d501
jmp 0x14001d31b
mov r14d, dword [rbp - 0x70]
mov rdi, r12
mov qword [rbp + 0x128], r12
mov r12, rbx
mov qword [rbp + 0x318], r15
test r12, r12
je 0x14001d33b
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 + 0x128]
test r14d, r14d
js 0x14001d363
mov eax, dword [rbp + 0x318]
mov qword [rbp - 0x78], rdi
mov rdi, rbx
mov dword [rbp + 0xa4], eax
mov qword [rbp + 0x128], rbx
jmp 0x14001d368
mov rdi, qword [rbp + 0x128]
mov esi, 0xc0000001
test rdi, rdi
je 0x14001d388
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 + 0x128], rbx
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d562
cmp dword [rbp + 0xa4], 4
jb 0x14001d555
mov r8, qword [rbp - 0x78]
or r10, 0xffffffffffffffff
mov rcx, r10
mov r11d, 0xc0000095
mov r9d, dword [r8]
lea rax, [r8 + 4]
cmp rax, r8
mov dword [rsp + 0x68], r9d
cmovae rcx, rax
sbb esi, esi
and esi, r11d
cmp rax, r8
jb 0x14001d55a
mov eax, dword [rbp + 0xa4]
add eax, 0xfffffffc
cmp eax, 4
jb 0x14001d555
mov r14d, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
mov rdi, r10
cmovae rdi, rax
sbb esi, esi
and esi, r11d
cmp rax, rcx
jb 0x14001d55a
mov eax, dword [rbp + 0xa4]
add eax, 0xfffffff8
cmp eax, r14d
jb 0x14001d555
lea eax, [r14 + 8]
cmp eax, 8
sbb esi, esi
and esi, r11d
cmp eax, 8
jb 0x14001d55a
mov edx, dword [rbp + 0xa4]
lea rcx, [rdi + r14]
lea rax, [r8 + rdx]
cmp rax, rcx
jb 0x14001d555
mov rax, r8
sub rax, rdi
sub rax, r14
add rax, rdx
cmp rax, 8
jae 0x14001d555
mov r15, rbx
mov esi, ebx
mov r13d, ebx
test rdi, rdi
je 0x14001d4ee
cmp rcx, rdi
mov r8, r10
mov rdx, rdi
cmovae r8, rcx
sbb esi, esi
and esi, r11d
cmp rcx, rdi
jb 0x14001d548
cmp rdi, r8
jae 0x14001d4e9
lea rax, [rdx + 4]
cmp rax, rdx
jb 0x14001d4e4
cmp rax, r8
ja 0x14001d4dd
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001d4d8
mov dword [rbp + 0xc8], eax
mov ecx, eax
mov rax, r10
add rcx, rdx
cmp rcx, rdx
cmovae rax, rcx
sbb esi, esi
and esi, r11d
cmp rcx, rdx
jb 0x14001d548
cmp rax, r8
ja 0x14001d4dd
inc r13d
mov rdx, rax
cmp rax, r8
jmp 0x14001d48b
mov esi, r11d
jmp 0x14001d548
mov esi, 0xc000000d
jmp 0x14001d55a
mov esi, r11d
jmp 0x14001d55a
cmp rdx, r8
jne 0x14001d4dd
test r14d, r14d
je 0x14001d51b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
test rax, rax
jne 0x14001d519
mov esi, 0xc0000017
jmp 0x14001d543
mov esi, ebx
test rdi, rdi
je 0x14001d52e
mov r8, r14
mov rdx, rdi
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 0xc0], r15
mov dword [rbp + 0xbc], r14d
mov dword [rbp + 0xb8], r13d
mov r9d, dword [rsp + 0x68]
test esi, esi
js 0x14001d55a
cmp r9d, dword [rbp + 0xb8]
je 0x14001d55a
mov esi, 0xc000003e
bts esi, 0x1c
mov dword [rsp + 0x60], esi
mov r12d, 0x8007007a
mov rdi, qword [rbp + 0x30]
test rdi, rdi
je 0x14001d585
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x190]
test r14, r14
je 0x14001d60f
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001d5b2
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 [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14001d5d3
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 [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14001d5f4
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 [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x190], rbx
mov rdi, qword [rbp - 0x68]
test rdi, rdi
je 0x14001d62c
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 + 0x80]
test rdi, rdi
je 0x14001d64c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x60]
test r14, r14
je 0x14001d6cc
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001d676
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 [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14001d697
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 [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14001d6b8
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 [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x14001d6e9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test esi, esi
js 0x14001dc01
cmp dword [rbp + 0xb8], r13d
jae 0x14001d718
mov r14, qword [rsp + 0x78]
mov esi, 0xc004d501
mov r15, qword [rsp + 0x70]
mov dword [rsp + 0x60], esi
jmp 0x14001b19e
or r13, 0xffffffffffffffff
mov r11d, 0xc0000095
cmp qword [rbp + 0xc0], rbx
jne 0x14001d736
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001d7a1
cmp dword [rbp + 0xb8], ebx
jbe 0x14001d72b
mov rdi, qword [rbp + 0xc0]
mov rdx, r13
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001d77b
test ecx, ecx
mov dword [rbp + 0x248], ecx
mov rax, rbx
cmovne rax, rdx
mov qword [rbp + 0x390], rax
jmp 0x14001d788
mov ecx, dword [rbp + 0x248]
mov rax, qword [rbp + 0x390]
test esi, esi
js 0x14001b18e
cmp ecx, 4
jne 0x14001b3dd
mov eax, dword [rax]
mov dword [rbp + 0xa0], eax
test esi, esi
js 0x14001b18e
mov esi, dword [rbp + 0xa0]
cmp esi, 0xd0000023
cmove esi, r12d
mov dword [rsp + 0x60], esi
mov dword [rbp + 0xa0], esi
cmp esi, r12d
je 0x14001d7d0
test esi, esi
js 0x14001b18e
cmp dword [rbp + 0xb8], 6
je 0x14001d7e3
mov esi, 0xc004d501
jmp 0x14001b18a
cmp qword [rbp + 0xc0], rbx
jne 0x14001d7fa
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001d8a7
mov rdx, qword [rbp + 0xc0]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001d811
mov esi, ebx
jmp 0x14001d817
mov rdi, r13
mov esi, r11d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d87f
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001d87f
mov eax, 1
add r8d, eax
cmp r8d, eax
jb 0x14001d804
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001d87f
test ecx, ecx
mov dword [rbp + 0x24c], ecx
mov rax, rbx
cmovne rax, rdi
mov qword [rbp + 0x398], rax
jmp 0x14001d88c
mov ecx, dword [rbp + 0x24c]
mov rax, qword [rbp + 0x398]
test esi, esi
js 0x14001b18e
cmp ecx, 8
jne 0x14001b3dd
mov rax, qword [rax]
mov qword [rbp + 0x3c0], rax
test esi, esi
js 0x14001b18e
cmp qword [rbp + 0xc0], rbx
jne 0x14001d8c6
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001d96d
mov rdx, qword [rbp + 0xc0]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001d8dd
mov esi, ebx
jmp 0x14001d8e3
mov rdi, r13
mov esi, r11d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d947
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001d947
inc r8d
cmp r8d, 2
jb 0x14001d8d0
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001d947
test ecx, ecx
mov dword [rbp + 0x250], ecx
mov rax, rbx
cmovne rax, rdi
mov qword [rbp + 0x3a0], rax
jmp 0x14001d954
mov ecx, dword [rbp + 0x250]
mov rax, qword [rbp + 0x3a0]
test esi, esi
js 0x14001b18e
cmp ecx, 4
jne 0x14001b3dd
mov eax, dword [rax]
mov dword [rbp + 0x1e4], eax
test esi, esi
js 0x14001b18e
cmp qword [rbp + 0xc0], rbx
jne 0x14001d988
mov esi, 0xc000000d
jmp 0x14001b18a
mov rdx, qword [rbp + 0xc0]
mov r8d, ebx
mov r14d, 1
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001d9a5
mov esi, ebx
jmp 0x14001d9ab
mov rdi, r13
mov esi, r11d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001da12
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001da12
add r8d, r14d
cmp r8d, 3
jb 0x14001d998
mov r10d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001da12
test r10d, r10d
mov dword [rbp + 0x254], r10d
mov r11, rbx
cmovne r11, rcx
mov qword [rbp + 0x3a8], r11
jmp 0x14001da20
mov r10d, dword [rbp + 0x254]
mov r11, qword [rbp + 0x3a8]
test esi, esi
js 0x14001b18e
mov rdx, qword [rbp + 0xc0]
mov r8d, ebx
mov r15d, 0xc0000095
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001da45
mov esi, ebx
jmp 0x14001da4b
mov rdi, r13
mov esi, r15d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001daaf
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001daaf
add r8d, r14d
cmp r8d, 4
jb 0x14001da38
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001daaf
test ecx, ecx
mov dword [rbp + 0x1c8], ecx
mov rax, rbx
cmovne rax, rdi
mov qword [rbp + 0x3b0], rax
jmp 0x14001dabc
mov ecx, dword [rbp + 0x1c8]
mov rax, qword [rbp + 0x3b0]
test esi, esi
js 0x14001dad5
cmp ecx, 4
jne 0x14001b3dd
mov r8d, dword [rax]
mov dword [rbp + 0x1cc], r8d
jmp 0x14001dadc
mov r8d, dword [rbp + 0x1cc]
test esi, esi
js 0x14001b18e
mov rdx, qword [rbp + 0xc0]
mov r9d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001dafb
mov esi, ebx
jmp 0x14001db01
mov rdi, r13
mov esi, r15d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001db65
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001db65
add r9d, r14d
cmp r9d, 5
jb 0x14001daee
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001db65
test ecx, ecx
mov dword [rbp + 0x1e0], ecx
mov rax, rbx
cmovne rax, rdi
mov qword [rbp + 0x3b8], rax
jmp 0x14001db72
mov ecx, dword [rbp + 0x1e0]
mov rax, qword [rbp + 0x3b8]
test esi, esi
js 0x14001db89
cmp ecx, 4
jne 0x14001b3dd
mov ecx, dword [rax]
mov dword [rbp + 0x150], ecx
jmp 0x14001db8f
mov ecx, dword [rbp + 0x150]
test esi, esi
js 0x14001b18e
mov rax, qword [rbp + 0x3c0]
cmp qword [rbp + 0x258], rax
jne 0x14001d7d9
mov eax, dword [rbp + 0x1e4]
mov dword [rbp + 0x17c], eax
mov dword [rbp + 0xd8], r8d
mov dword [rbp + 0x78], ecx
cmp r8d, 4
jbe 0x14001dbd4
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x14001b18e
cmp r10d, 4
ja 0x14001dbc7
mov rcx, qword [rbp + 0x40]
mov rdx, r11
mov r8d, r10d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
cmp dword [rbp + 0xa0], ebx
cmovne esi, dword [rbp + 0xa0]
jmp 0x14001b18a
mov r13d, 1
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14001b19e
mov rax, qword [0x1400bc128]
call qword [0x140077040]
mov edi, dword [0x1400c3360]
lea rcx, [rbp + 0x4d0]
xor edx, edx
mov qword [0x1400c3350], rax
mov dword [rsp + 0x68], edi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
mov dword [rbp + 0x148], r13d
xor edx, edx
mov qword [rbp + 0x930], rax
lea rcx, [rbp + 0xa28]
mov qword [rbp + 0x938], rax
mov qword [rbp + 0x60], rbx
lea r8d, [rax + 0x2c]
mov qword [rbp + 0x50], rbx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov qword [rbp + 0x70], rbx
xor eax, eax
lock cmpxchg dword [0x1400c3668], r13d
jne 0x14001dc75
mov eax, dword [0x1400c3664]
test eax, eax
jne 0x14001e283
mov dword [rbp - 0x80], ebx
mov dword [rbp + 0x80], ebx
mov dword [rbp + 0x10], ebx
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x260], rbx
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 - 0x40], rax
test rax, rax
je 0x14001e201
or dword [rbp - 0x78], 0xffffffff
lea rdi, [rax + 7]
mov ecx, 0x67
mov byte [rsp + 0x64], bl
mov r12d, ebx
mov dword [rbp - 4], ebx
mov r13d, ebx
mov dword [rbp + 0x1c], ebx
mov r14d, ebx
lea r15, [0x140092822]
mov ebx, dword [rbp - 0x78]
lea esi, [rcx - 0x66]
movzx eax, byte [r15 - 1]
movzx r11d, byte [r15 - 2]
movzx r10d, byte [r15 + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 5]
or r10d, eax
xor r13d, r11d
movzx eax, byte [r15 - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 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
lea eax, [r12 - 0x137f]
imul edx, eax, 0x605e
mov eax, r12d
shr eax, 0xd
sub edx, eax
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
mov r12d, 0xab69
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, r12d
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
sub eax, r12d
imul eax, eax, 0x137f
xor r9d, eax
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, ebx
mov dword [rbp - 4], r9d
mov ebx, r10d
xor edx, eax
xor edx, r14d
mov r14d, r11d
xor r8d, edx
mov dword [rbp + 0x1c], r8d
mov byte [rdi - 4], r8b
mov al, byte [rbp - 4]
ror dword [rbp + 0x1c], 8
mov byte [rdi], al
lea rdi, [rdi + 8]
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x1c]
mov byte [rdi - 0xd], al
mov al, byte [rbp - 4]
ror dword [rbp + 0x1c], 8
mov byte [rdi - 9], al
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x1c]
mov byte [rdi - 0xe], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp - 4]
mov byte [rdi - 0xa], al
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x1c]
mov byte [rdi - 0xf], al
mov al, byte [rbp - 4]
mov byte [rdi - 0xb], al
mov r13d, dword [rbp + 0x1c]
mov r12d, dword [rbp - 4]
ror r13d, 8
ror r12d, 8
mov dword [rbp + 0x1c], r13d
mov dword [rbp - 4], r12d
sub rcx, rsi
jne 0x14001dcfb
mov cl, byte [rsp + 0x64]
xor ebx, ebx
mov edi, dword [rsp + 0x68]
mov eax, ebx
mov esi, dword [rsp + 0x60]
mov edx, 0x338
mov r15d, dword [rbp + 0x80]
mov r14, qword [rbp - 0x40]
lea r13d, [rbx + 1]
xor cl, byte [rax + r14]
add rax, r13
cmp rax, rdx
jb 0x14001e045
movzx eax, cl
cmp rax, qword [0x140092b58]
je 0x14001e065
mov r12d, 0xc004d501
jmp 0x14001e079
mov qword [rbp + 0x198], r14
mov r12d, r15d
mov r14, rbx
mov qword [rbp + 0x260], rdx
test r14, r14
je 0x14001e092
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x14001e201
mov rax, qword [rbp + 0x260]
lea r12, [0x1400c3370]
mov r14, qword [rbp + 0x198]
xor edx, edx
mov rcx, r12
lea r8d, [rdx + 0x60]
mov byte [rax + r14 - 1], bl
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
jmp 0x14001e1ee
mov rdx, r14
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], bx
jne 0x14001e0cf
lea r14, [r14 + rax*2]
mov eax, dword [rbp + 0x10]
lea rcx, [rax + rax*2]
lea r12, [r12 + rcx*8]
xor ecx, ecx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14001e201
mov rax, qword [r12]
mov ecx, 0x5a4d
mov r15d, ebx
cmp word [rax], cx
je 0x14001e114
mov r15d, 0xc000007b
jmp 0x14001e164
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001e10c
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14001e10c
cmp dword [rcx], 0x4550
jne 0x14001e10c
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001e150
mov r15d, 0xc000000d
jmp 0x14001e164
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [r14 + 2]
mov r13d, ebx
add r14, 6
mov dword [rbp - 0x70], eax
test eax, eax
je 0x14001e1dd
mov qword [rbp + 0x268], rbx
mov rcx, r14
or rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], bl
jne 0x14001e184
inc r14
add r14, rax
test r15d, r15d
js 0x14001e1c7
lea r9, [rbp + 0x268]
mov r8, r12
xor edx, edx
call fcn.140046474
mov r15d, eax
test eax, eax
js 0x14001e1f9
mov eax, dword [rbp - 0x80]
lea r8, [0x1400bc090]
mov rcx, qword [rbp + 0x268]
mov qword [r8 + rax*8], rcx
jmp 0x14001e1ca
mov eax, dword [rbp - 0x80]
mov ecx, 1
add eax, ecx
add r13d, ecx
mov dword [rbp - 0x80], eax
cmp r13d, dword [rbp - 0x70]
jb 0x14001e176
mov r13d, 1
lea r12, [0x1400c3370]
add dword [rbp + 0x10], r13d
cmp byte [r14], bl
jne 0x14001e0c8
jmp 0x14001e207
mov r13d, 1
jmp 0x14001e207
mov r15d, 0xc000007a
cmp qword [rbp + 0x198], rbx
je 0x14001e228
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x198]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x14001e27d
lea r12, [0x1400c3370]
mov r15d, 4
mov r14, r12
cmp qword [r14], rbx
je 0x14001e24b
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add r14, 0x18
sub r15, r13
jne 0x14001e23d
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bc090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001e28c
mov eax, dword [0x1400c3664]
add eax, r13d
mov dword [0x1400c3664], eax
mov eax, ebx
mov dword [rbp - 0x50], ebx
xchg dword [0x1400c3668], eax
xor ecx, ecx
mov dword [rbp - 0x1c], ebx
xor eax, eax
mov dword [rbp + 0xe42], ecx
mov qword [rbp + 0x2e8], rax
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x2f8], rax
mov qword [rbp + 0x9a8], rax
mov qword [rbp + 0x9b0], rax
mov qword [rbp + 0x220], rbx
xor eax, eax
lock cmpxchg dword [0x1400c3668], r13d
jne 0x14001e2ce
mov eax, dword [0x1400c3664]
test eax, eax
jne 0x14001e8da
mov dword [rbp - 0x80], ebx
mov dword [rbp + 0x80], ebx
mov dword [rbp + 0x10], ebx
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x270], rbx
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 - 0x40], rax
test rax, rax
je 0x14001e858
or dword [rbp - 0x78], 0xffffffff
lea rdi, [rax + 7]
mov ecx, 0x67
mov byte [rsp + 0x64], bl
mov r12d, ebx
mov dword [rbp], ebx
mov r13d, ebx
mov dword [rbp + 0x20], ebx
mov r14d, ebx
lea r15, [0x140092822]
mov ebx, dword [rbp - 0x78]
lea esi, [rcx - 0x66]
movzx eax, byte [r15 - 1]
movzx r11d, byte [r15 - 2]
movzx r10d, byte [r15 + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 5]
or r10d, eax
xor r13d, r11d
movzx eax, byte [r15 - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 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
lea eax, [r12 - 0x137f]
imul edx, eax, 0x605e
mov eax, r12d
shr eax, 0xd
sub edx, eax
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
mov r12d, 0xab69
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, r12d
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
sub eax, r12d
imul eax, eax, 0x137f
xor r9d, eax
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, ebx
mov dword [rbp], r9d
mov ebx, r10d
xor edx, eax
xor edx, r8d
xor edx, r14d
mov r14d, r11d
mov dword [rbp + 0x20], edx
mov byte [rdi - 4], dl
mov al, byte [rbp]
ror dword [rbp + 0x20], 8
mov byte [rdi], al
lea rdi, [rdi + 8]
ror dword [rbp], 8
mov al, byte [rbp + 0x20]
mov byte [rdi - 0xd], al
mov al, byte [rbp]
ror dword [rbp + 0x20], 8
mov byte [rdi - 9], al
ror dword [rbp], 8
mov al, byte [rbp + 0x20]
mov byte [rdi - 0xe], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp]
mov byte [rdi - 0xa], al
ror dword [rbp], 8
mov al, byte [rbp + 0x20]
mov byte [rdi - 0xf], al
mov al, byte [rbp]
mov byte [rdi - 0xb], al
mov r13d, dword [rbp + 0x20]
mov r12d, dword [rbp]
ror r13d, 8
ror r12d, 8
mov dword [rbp + 0x20], r13d
mov dword [rbp], r12d
sub rcx, rsi
jne 0x14001e354
mov cl, byte [rsp + 0x64]
xor ebx, ebx
mov edi, dword [rsp + 0x68]
mov eax, ebx
mov esi, dword [rsp + 0x60]
mov edx, 0x338
mov r15d, dword [rbp + 0x80]
mov r14, qword [rbp - 0x40]
lea r13d, [rbx + 1]
xor cl, byte [rax + r14]
add rax, r13
cmp rax, rdx
jb 0x14001e69c
movzx eax, cl
cmp rax, qword [0x140092b58]
je 0x14001e6bc
mov r12d, 0xc004d501
jmp 0x14001e6d0
mov qword [rbp + 0x1a0], r14
mov r12d, r15d
mov r14, rbx
mov qword [rbp + 0x270], rdx
test r14, r14
je 0x14001e6e9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x14001e858
mov rax, qword [rbp + 0x270]
lea r12, [0x1400c3370]
mov r14, qword [rbp + 0x1a0]
xor edx, edx
mov rcx, r12
lea r8d, [rdx + 0x60]
mov byte [rax + r14 - 1], bl
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
jmp 0x14001e845
mov rdx, r14
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], bx
jne 0x14001e726
lea r14, [r14 + rax*2]
mov eax, dword [rbp + 0x10]
lea rcx, [rax + rax*2]
lea r12, [r12 + rcx*8]
xor ecx, ecx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14001e858
mov rax, qword [r12]
mov ecx, 0x5a4d
mov r15d, ebx
cmp word [rax], cx
je 0x14001e76b
mov r15d, 0xc000007b
jmp 0x14001e7bb
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001e763
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14001e763
cmp dword [rcx], 0x4550
jne 0x14001e763
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001e7a7
mov r15d, 0xc000000d
jmp 0x14001e7bb
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [r14 + 2]
mov r13d, ebx
add r14, 6
mov dword [rbp - 0x70], eax
test eax, eax
je 0x14001e834
mov qword [rbp + 0x278], rbx
mov rcx, r14
or rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], bl
jne 0x14001e7db
inc r14
add r14, rax
test r15d, r15d
js 0x14001e81e
lea r9, [rbp + 0x278]
mov r8, r12
xor edx, edx
call fcn.140046474
mov r15d, eax
test eax, eax
js 0x14001e850
mov eax, dword [rbp - 0x80]
lea r8, [0x1400bc090]
mov rcx, qword [rbp + 0x278]
mov qword [r8 + rax*8], rcx
jmp 0x14001e821
mov eax, dword [rbp - 0x80]
mov ecx, 1
add eax, ecx
add r13d, ecx
mov dword [rbp - 0x80], eax
cmp r13d, dword [rbp - 0x70]
jb 0x14001e7cd
mov r13d, 1
lea r12, [0x1400c3370]
add dword [rbp + 0x10], r13d
cmp byte [r14], bl
jne 0x14001e71f
jmp 0x14001e85e
mov r13d, 1
jmp 0x14001e85e
mov r15d, 0xc000007a
cmp qword [rbp + 0x1a0], rbx
je 0x14001e87f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1a0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x14001e8d4
lea r12, [0x1400c3370]
mov r15d, 4
mov r14, r12
cmp qword [r14], rbx
je 0x14001e8a2
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add r14, 0x18
sub r15, r13
jne 0x14001e894
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bc090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001e8e3
mov eax, dword [0x1400c3664]
add eax, r13d
mov dword [0x1400c3664], eax
xor edx, edx
lea rcx, [rbp + 0x4d0]
mov eax, ebx
xchg dword [0x1400c3668], eax
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
mov r12d, edi
mov qword [rbp + 0x930], rax
xor edx, edx
mov r8d, 0x403
lea ecx, [rax + 0xf]
mov eax, edi
shr eax, 4
and r12d, ecx
and ax, cx
mov dword [rbp - 0x28], r12d
mov word [rbp + 0xe40], ax
mov eax, edi
shr eax, 8
and ax, cx
shr edi, 0xc
and di, cx
mov word [rbp + 0xe42], ax
mov rax, qword [0x1400bc188]
xor ecx, ecx
mov word [rbp + 0xe44], di
call qword [0x140077040]
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x88], 0xffffff
test rax, rax
jne 0x14001e993
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001fdd1
mov r14d, 0x80004005
jmp 0x14001fdd1
mov rax, qword [0x1400bc130]
lea r9, [rbp + 0x114]
xor r8d, r8d
mov qword [rbp + 0x1e8], rbx
lea rdx, [rbp + 0xac]
mov qword [rbp + 0x1a8], rbx
mov qword [rbp + 0x280], rbx
mov r14d, ebx
mov qword [rbp + 0x98], rbx
lea ecx, [r8 + 8]
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0xf8], rbx
mov dword [rbp + 0x114], ebx
call qword [0x140077040]
test eax, eax
jne 0x14001ea17
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001eb54
mov r14d, 0x80004005
jmp 0x14001eb54
mov edi, dword [rbp + 0x114]
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 + 0x130]
mov rdi, rax
call fcn.140046720
test rdi, rdi
jne 0x14001ea5a
mov qword [rbp + 0x130], rbx
mov r14d, 0x8007000e
jmp 0x14001eb54
mov qword [rbp + 0x130], rdi
mov edi, dword [rbp + 0xac]
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 + 0xf8]
mov rdi, rax
call fcn.140046720
test rdi, rdi
jne 0x14001eaa0
mov r14d, 0x8007000e
jmp 0x14001eb4d
mov r8, qword [rbp + 0x130]
lea r9, [rbp + 0x114]
mov rax, qword [0x1400bc130]
lea rdx, [rbp + 0xac]
mov ecx, 8
mov qword [rbp + 0xf8], rdi
call qword [0x140077040]
test eax, eax
je 0x14001e9ec
mov r12d, ebx
mov rdi, qword [rbp + 0x130]
mov r15, qword [rbp + 0xf8]
cmp dword [rbp + 0xac], ebx
jbe 0x14001eb2c
mov rax, qword [0x1400bc140]
xor edx, edx
mov rcx, rdi
call qword [0x140077040]
mov dword [r15], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x14001eb08
lea rdi, [rdi + rax*2]
add r15, 4
add rdi, 2
add r12d, r13d
cmp r12d, dword [rbp + 0xac]
jb 0x14001eaef
mov r14d, ebx
mov dword [r15], 0x409
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x1e8], rax
mov eax, dword [rbp + 0xac]
inc eax
mov dword [rsp + 0x68], eax
mov qword [rbp + 0xf8], rbx
lea rcx, [rbp + 0xf8]
call fcn.140046720
lea rcx, [rbp + 0x130]
call fcn.140046720
test r14d, r14d
js 0x14001f2bf
lea r11, [0x140092780]
mov r10d, ebx
mov r9d, ebx
mov dword [rbp - 0x78], ebx
cmp dword [rsp + 0x68], ebx
jbe 0x14001ebc4
mov rax, qword [rbp + 0x1e8]
mov r8, rbx
mov edx, ebx
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [rax + r8], ecx
je 0x14001ebbe
add edx, r13d
add rdi, 4
cmp edx, 0x26
jb 0x14001eb9a
add r9d, r13d
add r8, 4
cmp r9d, dword [rsp + 0x68]
jae 0x14001ebc4
jmp 0x14001eb95
mov r10d, edx
mov dword [rbp - 0x78], edx
mov rax, qword [0x1400bc138]
lea rdx, [rbp + 0xe50]
mov edi, r10d
xor r9d, r9d
mov dword [rbp + 0x10], ebx
mov ecx, dword [r11 + rdi*4]
lea r8d, [r9 + 0x55]
call qword [0x140077040]
test eax, eax
je 0x14001ec28
mov rax, qword [0x1400bc120]
lea r8, [rbp + 0xc30]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0xe50]
lea edx, [r9 + 0x48]
call qword [0x140077040]
test eax, eax
jle 0x14001ec28
mov r14d, dword [rbp + 0xc3c]
shr r14d, 0x1b
and r14d, r13d
mov dword [rbp + 0x10], r14d
lea rcx, str.Segoe_UI_Light
mov r8d, SafeArrayUnaccessData
lea rdx, [rbp + 0xda0]
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], bx
jne 0x14001ec43
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub r8, r13
jne 0x14001ec3c
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x92700]
mov r12, qword [rbp + rax*8 + 0xda0]
movzx eax, byte [rcx + rdx + 0x92701]
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x2e8], r12
mov r12, qword [rbp + rax*8 + 0xda0]
movzx eax, byte [rcx + rdx + 0x92702]
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x2f0], r12
mov rdi, qword [rbp + rax*8 + 0xda0]
mov qword [rsp + 0x70], rdi
mov qword [rbp + 0x2f8], rdi
mov dword [rbp - 0x80], ebx
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 - 0x40], rax
test rax, rax
jne 0x14001eceb
mov r14d, 0x8007000e
jmp 0x14001f2e4
or r14d, 0xffffffff
mov dword [rbp + 4], ebx
mov r11d, ebx
mov dword [rbp + 0x24], ebx
mov r10d, ebx
lea r12, [rax + 7]
lea r13, [0x140090782]
mov esi, 1
mov r15d, 0x392
movzx eax, byte [r13 - 1]
movzx r9d, byte [r13 - 2]
movzx r8d, byte [r13 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r13]
lea r13, [r13 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r13 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r13 - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [r13 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r13 - 3]
shl r8d, 8
or r8d, eax
xor r11d, r8d
xor r11d, r10d
xor r11d, 0xac987321
lea eax, [r11 + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, r11d
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 r11d, ecx
lea eax, [r11 - 0x137f]
imul ecx, eax, 0x605e
mov eax, r11d
shr eax, 0xd
sub ecx, eax
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 r11d, ecx
mov ecx, r11d
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 r11d, edx
mov edx, 0xab69605e
lea eax, [r11 + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, r11d
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 r11d, ecx
mov eax, r11d
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, r11d
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 r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea edi, [r10 - 0x7f1]
xor edi, r11d
mov r11d, 0xab69
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, r11d
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
sub eax, r11d
imul eax, eax, 0x137f
xor edi, eax
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, r14d
mov dword [rbp + 4], edi
mov r14d, r8d
xor ecx, eax
xor ecx, ebx
mov ebx, r9d
xor edx, ecx
mov dword [rbp + 0x24], edx
mov byte [r12 - 4], dl
mov al, byte [rbp + 4]
ror dword [rbp + 0x24], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 0xd], al
mov al, byte [rbp + 4]
ror dword [rbp + 0x24], 8
mov byte [r12 - 9], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 0xe], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 4]
mov byte [r12 - 0xa], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 0xf], al
mov al, byte [rbp + 4]
mov byte [r12 - 0xb], al
mov r10d, dword [rbp + 0x24]
mov r11d, dword [rbp + 4]
ror r10d, 8
ror r11d, 8
mov dword [rbp + 0x24], r10d
mov dword [rbp + 4], r11d
sub r15, rsi
jne 0x14001ed11
mov esi, dword [rsp + 0x60]
xor ebx, ebx
mov r14d, dword [rbp - 0x80]
mov eax, ebx
mov r15, qword [rbp - 0x40]
xorps xmm1, xmm1
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r15]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rcx
jb 0x14001f03a
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 [0x140092410]
je 0x14001f099
mov r14d, 0xc004d501
jmp 0x14001f0aa
mov qword [rbp + 0x1a8], r15
mov r15, rbx
mov qword [rbp + 0x280], rcx
test r15, r15
je 0x14001f0c3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test r14d, r14d
js 0x14001f2ea
mov rdx, qword [rbp + 0x1a8]
lea rdi, [rbp + 0xd70]
mov r9d, dword [rbp - 0x78]
lea r8d, [r13 + 5]
mov ecx, ebx
cmp r9d, ecx
jne 0x14001f0f2
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], bl
jne 0x14001f0f6
inc rdx
add ecx, r13d
add rdx, rax
cmp ecx, 0x26
jb 0x14001f0ea
add rdi, 8
sub r8, r13
jne 0x14001f0e8
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 + 0x98]
mov rdi, rax
call fcn.140046720
test rdi, rdi
jne 0x14001f150
mov qword [rbp + 0x98], rbx
mov r14d, 0x8007000e
jmp 0x14001f369
xor eax, eax
mov qword [rbp + 0x98], rdi
mov qword [rdi], rax
lea rcx, [rbp + 0xe40]
mov qword [rdi + 8], rax
mov edx, ebx
mov qword [rdi + 0x10], rax
mov r15, rbx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x78], rcx
movzx edi, word [rcx]
lea rcx, [0x140092b60]
mov eax, ebx
cmp di, word [rcx]
je 0x14001f19b
add eax, r13d
add rcx, 2
cmp eax, 6
jb 0x14001f185
jmp 0x14001f259
mov r12, qword [rbp + rax*8 + 0xd70]
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], bl
jne 0x14001f1a7
lea r9d, [rax + r13]
mov dword [rsp + 0x28], ebx
mov rax, qword [0x1400bc150]
mov r8, r12
xor edx, edx
mov qword [rsp + 0x20], rbx
mov ecx, 0xfde9
call qword [0x140077040]
movsxd r13, eax
test eax, eax
je 0x14001f29b
mov rdi, r13
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 + 0x98]
mov qword [rcx + r15], rax
mov rcx, qword [rbp + 0x98]
cmp qword [rcx + r15], rbx
je 0x14001ece0
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], bl
jne 0x14001f219
mov rdx, qword [rcx + r15]
lea r9d, [rax + 1]
mov rax, qword [0x1400bc150]
mov r8, r12
mov dword [rsp + 0x28], r13d
mov ecx, 0xfde9
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [0x140077040]
test eax, eax
je 0x14001f29b
mov edx, dword [rsp + 0x68]
mov r13d, 1
mov rcx, qword [rsp + 0x78]
add edx, r13d
add rcx, 2
mov dword [rsp + 0x68], edx
add r15, 8
mov qword [rsp + 0x78], rcx
cmp edx, 3
jb 0x14001f179
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x220], rax
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0x4d0], eax
mov qword [rbp + 0x98], rbx
jmp 0x14001f2ea
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001f2e4
mov r14d, 0x80004005
jmp 0x14001f2e4
mov rax, qword [rbp + 0x2f8]
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x2e8]
mov qword [rbp + 0x80], rax
mov r13d, 1
cmp qword [rbp + 0x98], rbx
je 0x14001f369
mov r15, rbx
mov r12d, 3
mov rcx, qword [rbp + 0x98]
cmp qword [rcx + r15], rbx
je 0x14001f360
test rcx, rcx
jne 0x14001f316
mov rcx, rbx
mov rdi, rbx
jmp 0x14001f320
mov rcx, qword [rbp + 0x98]
mov rdi, rcx
mov rax, qword [rcx + r15]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], bx
jne 0x14001f328
mov rdi, qword [rdi + r15]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x98]
mov rdi, qword [rax + r15]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
add r15, 8
sub r12, r13
jne 0x14001f2fc
mov rdi, qword [rbp + 0x1a8]
test rdi, rdi
je 0x14001f380
mov rcx, qword [rbp + 0x280]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0x98]
call fcn.140046720
lea rcx, [rbp + 0x1a8]
call fcn.140046720
lea rcx, [rbp + 0x1e8]
call fcn.140046720
test r14d, r14d
js 0x14001fdba
mov rax, qword [rbp + 0x220]
lea r8, [rbp + 0x320]
xor r9d, r9d
xor edx, edx
mov edi, ebx
mov r14d, ebx
mov rcx, qword [rax]
mov qword [rbp + 0x4d8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x4e0], rcx
mov rcx, qword [rax + 0x10]
xor eax, eax
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x324], rax
mov dword [rbp + 0x32c], eax
lea ecx, [rax + 0x42]
mov dword [rbp + 0x320], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rax, qword [0x1400bc1f8]
call qword [0x140077040]
test eax, eax
jne 0x14001f436
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001f43f
mov r14d, 0x80004005
jmp 0x14001f43f
mov edi, dword [rbp + 0x324]
and edi, r13d
mov r12d, dword [rbp - 0x28]
mov dword [rbp + 0x4d4], edi
test r14d, r14d
js 0x14001fdbe
mov edx, 0xb
mov ecx, r12d
lea eax, [rdx + 0x1f]
mov dword [rbp - 0x4c], eax
sub ecx, 1
je 0x14001f485
sub ecx, 1
je 0x14001f47c
cmp ecx, 1
jne 0x14001f48b
mov edi, 0xe1
mov dword [rbp - 0x50], edi
mov dword [rbp - 0x1c], edi
jmp 0x14001f48b
mov dword [rbp - 0x50], SafeArrayGetDim
jmp 0x14001f488
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x1c], edx
mov r14d, 0x60
lea rcx, [rbp + 0xc50]
xor edx, edx
mov r13d, r14d
lea edi, [r14 + 0x7c]
mov r8d, edi
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [0x1400bc170]
lea r8, [rbp + 0xc50]
or edx, 0xffffffff
mov word [rbp + 0xc94], di
xor ecx, ecx
call qword [0x140077040]
test eax, eax
je 0x14001f4fc
movzx r13d, word [rbp + 0xcf6]
mov eax, dword [rbp + 0xcfc]
and qword [rbp + 0x9a8], 0
cmp r13d, r14d
mov dword [rbp + 0x9b0], eax
mov eax, dword [rbp + 0xd00]
cmovb r13d, r14d
mov dword [rbp + 0x9b4], eax
mov r15, qword [rsp + 0x70]
lea rcx, [rbp + 0xb10]
mov eax, 1
cmp r12d, eax
cmove r15, qword [rbp + 0x80]
xor edx, edx
lea r8d, [rax + 0x5b]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [0x1400bc188]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r14d, ebx
call qword [0x140077040]
mov rdi, rax
test rax, rax
jne 0x14001f570
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001fdbe
mov r14d, 0x80004005
jmp 0x14001fdbe
mov ecx, dword [rbp - 0x50]
mov r8d, 0x48
mov rax, qword [0x1400bc148]
mov edx, r13d
call qword [0x140077040]
mov r8, r15
mov dword [rbp + 0xb20], 0x190
neg eax
mov byte [rbp + 0xb2a], 5
mov edx, 0x20
mov dword [rbp + 0xb10], eax
lea rcx, [rbp + 0xb2c]
call fcn.1400248f4
mov rax, qword [0x1400bc0b0]
lea rcx, [rbp + 0xb10]
call qword [0x140077040]
test rax, rax
jne 0x14001f5f3
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001f5fa
mov r14d, 0x80004005
jmp 0x14001f5fa
mov qword [rbp + 0x4f0], rax
mov rax, qword [0x1400bc1f0]
mov rdx, rdi
xor ecx, ecx
call qword [0x140077040]
test r14d, r14d
js 0x14001fdbe
xor edx, edx
lea rcx, [rbp + 0xb70]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [0x1400bc188]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r14d, ebx
call qword [0x140077040]
mov rdi, rax
test rax, rax
je 0x14001f545
mov ecx, dword [rbp - 0x1c]
mov r8d, 0x48
mov rax, qword [0x1400bc148]
mov edx, r13d
call qword [0x140077040]
mov r8, r15
mov dword [rbp + 0xb80], 0x190
neg eax
mov byte [rbp + 0xb8a], 5
mov edx, 0x20
mov dword [rbp + 0xb70], eax
lea rcx, [rbp + 0xb8c]
call fcn.1400248f4
mov rax, qword [0x1400bc0b0]
lea rcx, [rbp + 0xb70]
call qword [0x140077040]
test rax, rax
jne 0x14001f6d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001f6d7
mov r14d, 0x80004005
jmp 0x14001f6d7
mov qword [rbp + 0x4f8], rax
mov rax, qword [0x1400bc1f0]
mov rdx, rdi
xor ecx, ecx
call qword [0x140077040]
test r14d, r14d
js 0x14001fdbe
mov ecx, r12d
mov r15d, ebx
mov edx, ebx
sub ecx, 1
je 0x14001f709
sub ecx, 1
je 0x14001f743
cmp ecx, 1
jne 0x14001f716
mov r15d, dword [rbp + 0x9b0]
mov edx, dword [rbp + 0x9b4]
mov dword [rbp + 0x938], r15d
mov dword [rbp + 0x93c], edx
mov ecx, 1
cmp r12d, ecx
je 0x14001f77d
lea eax, [r12 - 2]
cmp eax, ecx
ja 0x14001f759
mov eax, ebx
mov dword [rbp - 0x80], ebx
mov dword [rbp - 0x4c], ebx
mov dword [rbp - 0x1c], ebx
jmp 0x14001f78c
mov eax, dword [rbp + 0x9b0]
cdq
and edx, 3
lea r15d, [rdx + rax]
mov edx, ebx
sar r15d, 2
jmp 0x14001f716
mov eax, dword [rbp + 0xc8]
mov r12d, dword [rbp + 0xc8]
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp + 0xc8]
mov dword [rbp - 0x4c], eax
mov eax, dword [rbp + 0xc8]
mov dword [rbp - 0x80], eax
jmp 0x14001f78f
mov eax, reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rbp - 0x1c], 0x20
mov dword [rbp - 0x80], eax
mov r12d, ebx
mov rdx, qword [rbp + 0x4f0]
sub r15d, eax
mov rcx, qword [rbp - 0x68]
sub r15d, r12d
mov rax, qword [0x1400bc108]
mov r14d, ebx
mov rdi, qword [rbp + 0x4d8]
mov dword [rbp + 0x524], r15d
mov dword [rbp + 0x514], r15d
call qword [0x140077040]
mov rdx, rdi
mov qword [rsp + 0x28], rbx
mov rdi, qword [rbp - 0x68]
lea r9, [rbp + 0x50c]
mov qword [rbp - 0x40], rax
mov rcx, rdi
mov rax, qword [fcn.140006320]
or r8d, 0xffffffff
mov dword [rsp + 0x20], 0xc50
call qword [0x140077040]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x14001f81f
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400bc108]
call qword [0x140077040]
test r14d, r14d
js 0x14001fdba
mov rdx, qword [rbp + 0x4f8]
mov r14d, ebx
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400bc108]
mov rdi, qword [rbp + 0x4e0]
call qword [0x140077040]
mov rdx, rdi
mov qword [rsp + 0x28], rbx
mov rdi, qword [rbp - 0x68]
lea r9, [rbp + 0x51c]
mov qword [rbp - 0x40], rax
mov rcx, rdi
mov rax, qword [fcn.140006320]
or r8d, 0xffffffff
mov dword [rsp + 0x20], 0xc50
call qword [0x140077040]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x14001f8a4
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400bc108]
call qword [0x140077040]
test r14d, r14d
js 0x14001fdba
mov eax, dword [rbp - 0x28]
mov r14d, 1
mov ecx, dword [rbp + 0x514]
add eax, 0xfffffffe
cmp eax, r14d
ja 0x14001f8d2
mov r15d, dword [rbp + 0x524]
cmp ecx, r15d
cmovg r15d, ecx
mov r8d, dword [rbp - 0x4c]
mov rax, qword [fcn.140006320]
cmp dword [rbp + 0x4d0], ebx
je 0x14001f907
mov edx, r12d
sub edx, ecx
lea rcx, [rbp + 0x50c]
add edx, r15d
call qword [0x140077040]
sub r12d, dword [rbp + 0x524]
lea edx, [r15 + r12]
jmp 0x14001f91a
mov edx, dword [rbp - 0x80]
lea rcx, [rbp + 0x50c]
call qword [0x140077040]
mov edx, dword [rbp - 0x80]
mov r8d, dword [rbp - 0x1c]
lea rcx, [rbp + 0x51c]
add r8d, dword [rbp + 0x518]
mov rax, qword [fcn.140006320]
call qword [0x140077040]
mov r12d, dword [rbp - 0x28]
lea eax, [r12 - 2]
cmp eax, r14d
jbe 0x14001fbc9
cmp r12d, r14d
jne 0x14001fbe6
xor edx, edx
mov dword [rbp + 0x508], 0xffffff
lea rcx, [rbp + 0xbd0]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [0x1400bc188]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r14d, ebx
call qword [0x140077040]
mov rdi, rax
test rax, rax
je 0x14001f545
mov rax, qword [0x1400bc148]
mov r8d, 0x48
mov edx, r13d
lea ecx, [r8 - 0x3d]
call qword [0x140077040]
mov r8, qword [rbp + 0x40]
lea rcx, [rbp + 0xbec]
neg eax
mov dword [rbp + 0xbe0], 0x190
mov edx, 0x20
mov dword [rbp + 0xbd0], eax
mov byte [rbp + 0xbea], 5
call fcn.1400248f4
mov rax, qword [0x1400bc0b0]
lea rcx, [rbp + 0xbd0]
call qword [0x140077040]
test rax, rax
jne 0x14001fa1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001fa22
mov r14d, 0x80004005
jmp 0x14001fa22
mov qword [rbp + 0x500], rax
mov rax, qword [0x1400bc1f0]
mov rdx, rdi
xor ecx, ecx
call qword [0x140077040]
test r14d, r14d
js 0x14001fdbe
mov r12, qword [rbp - 0x68]
mov r14d, ebx
mov rdx, qword [rbp + 0x500]
mov rcx, r12
mov rax, qword [0x1400bc108]
mov rdi, qword [rbp + 0x4e8]
mov dword [rbp + 0x534], r15d
call qword [0x140077040]
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x52c]
mov r15, rax
mov dword [rsp + 0x20], 0x460
mov rax, qword [fcn.140006320]
or r8d, 0xffffffff
mov rdx, rdi
mov rcx, r12
call qword [0x140077040]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
test r15, r15
je 0x14001faba
mov rax, qword [0x1400bc108]
mov rdx, r15
mov rcx, r12
call qword [0x140077040]
test r14d, r14d
js 0x14001fdba
mov eax, dword [rbp + 0x534]
mov ecx, 0x5a
add eax, 0x18
mov edx, r13d
cmp eax, ecx
cmovl eax, ecx
lea edi, [rcx + 6]
mov dword [rbp + 0x534], eax
mov r8d, edi
lea eax, [rcx - 0x3a]
mov ecx, dword [rbp + 0x52c]
mov dword [rbp + 0x538], eax
mov rax, qword [0x1400bc148]
call qword [0x140077040]
mov ecx, dword [rbp + 0x530]
mov r8d, edi
mov dword [rbp + 0x52c], eax
mov edx, r13d
mov rax, qword [0x1400bc148]
call qword [0x140077040]
mov ecx, dword [rbp + 0x534]
mov r8d, edi
mov dword [rbp + 0x530], eax
mov edx, r13d
mov rax, qword [0x1400bc148]
call qword [0x140077040]
mov ecx, dword [rbp + 0x538]
mov r8d, edi
mov dword [rbp + 0x534], eax
mov edx, r13d
mov rax, qword [0x1400bc148]
call qword [0x140077040]
lea rcx, [rbp + 0x52c]
mov r8d, dword [rbp + 0x528]
mov dword [rbp + 0x538], eax
mov rax, qword [fcn.140006320]
cmp dword [rbp + 0x4d0], ebx
je 0x14001fba4
mov edx, dword [rbp + 0x51c]
cmp dword [rbp + 0x50c], edx
cmovl edx, dword [rbp + 0x50c]
add r8d, 0x24
call qword [0x140077040]
mov r12d, dword [rbp - 0x28]
jmp 0x14001fbe6
mov edx, dword [rbp + 0x524]
cmp dword [rbp + 0x514], edx
cmovg edx, dword [rbp + 0x514]
add r8d, 0x24
sub edx, dword [rbp + 0x534]
add edx, dword [rbp + 0x52c]
jmp 0x14001fb98
mov eax, dword [rbp + 0x528]
mov dword [rbp + 0x93c], eax
mov dword [rbp + 0x938], r15d
mov dword [rbp + 0x508], 0xffa8a8a8
mov r15d, dword [rbp + 0x4d0]
mov ecx, r12d
mov r14d, dword [rbp + 0x93c]
mov edi, dword [rbp + 0x938]
sub ecx, 1
je 0x14001fdad
sub ecx, 1
je 0x14001fcc4
cmp ecx, 1
jne 0x14001fdb5
lea r13d, [rcx + 0x27]
xor edx, edx
mov r8d, r13d
lea rcx, [rbp + 0xae8]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [fcn.140006320]
lea edx, [r13 - 0x27]
xor ecx, ecx
call qword [0x140077040]
lea rdx, [rbp + 0xae8]
mov dword [rbp + 0xae8], r13d
mov rcx, rax
mov rax, qword [fcn.140006320]
call qword [0x140077040]
test eax, eax
je 0x14001fdb5
mov rax, qword [fcn.140006320]
lea rdx, [rbp + 0xafc]
xor ecx, ecx
call qword [0x140077040]
mov rax, qword [fcn.140006320]
lea rdx, [rbp + 0xb04]
xor ecx, ecx
call qword [0x140077040]
mov eax, dword [rbp + 0xb04]
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 + 0xb04]
shr rcx, 0x20
sub ecx, r14d
imul ecx, ecx, 0x32
jmp 0x14001fd8e
mov r13d, SafeArrayCreateVectorEx
lea rcx, [rbp + 0x9d0]
mov r8d, r13d
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [fcn.140006320]
lea edx, [r13 - 0x27]
xor ecx, ecx
call qword [0x140077040]
lea rdx, [rbp + 0x9d0]
mov dword [rbp + 0x9d0], r13d
mov rcx, rax
mov rax, qword [fcn.140006320]
call qword [0x140077040]
test eax, eax
je 0x14001fdb5
mov rax, qword [fcn.140006320]
lea rdx, [rbp + 0x9e4]
xor ecx, ecx
call qword [0x140077040]
mov rax, qword [fcn.140006320]
lea rdx, [rbp + 0x9ec]
xor ecx, ecx
call qword [0x140077040]
mov eax, dword [rbp + 0x9ec]
test r15d, r15d
je 0x14001fd67
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 + 0x9e4]
jmp 0x14001fd7d
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 + 0x9ec]
shr rax, 0x20
sub eax, r14d
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 0x14001fdb5
and qword [rbp + 0x930], 0
mov r14d, ebx
jmp 0x14001fdbe
mov r12d, dword [rbp - 0x28]
mov rdx, qword [rbp - 0x68]
xor ecx, ecx
mov rax, qword [0x1400bc1f0]
call qword [0x140077040]
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x1400c3668], r13d
jne 0x14001fdd7
mov eax, dword [0x1400c3664]
test eax, eax
jle 0x14001fe48
sub eax, r13d
mov dword [0x1400c3664], eax
jne 0x14001fe48
lea rdi, [0x1400c3370]
mov r15d, 4
cmp qword [rdi], rbx
je 0x14001fe14
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r13
jne 0x14001fe06
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x1400c3370]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bc090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
lea rcx, [rbp + 0x220]
xchg dword [0x1400c3668], eax
call fcn.140046720
test r14d, r14d
js 0x1400216d5
mov rdi, qword [rbp + 0x930]
lea rcx, [rbp + 0x540]
xor edx, edx
mov qword [rbp + 0x288], rdi
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r15, qword [rbp + 0x30]
mov edx, 7
mov rax, qword [0x1400bc0e0]
mov rcx, r15
mov r14d, r13d
call qword [0x140077040]
test rax, rax
je 0x14001feed
mov rcx, rax
lea r8, [rbp + 0x540]
mov rax, qword [0x1400bc0f8]
mov edx, 0x68
call qword [0x140077040]
test eax, eax
je 0x14001feed
mov eax, 0x20
cmp word [rbp + 0x552], ax
jne 0x14001feed
cmp qword [rbp + 0x558], rbx
je 0x14001feed
cmp dword [rbp + 0x544], ebx
jle 0x14001feed
cmp dword [rbp + 0x548], ebx
jg 0x14001fef0
mov r14d, ebx
mov dword [rbp + 0x148], r14d
test r14d, r14d
jne 0x14001ff01
cmp r12d, r13d
jne 0x14001ff63
mov r8d, dword [rbp + 0x28c]
lea rcx, [rbp + 0x50c]
mov rax, qword [fcn.140006320]
mov edx, edi
call qword [0x140077040]
mov r8d, dword [rbp + 0x28c]
lea rcx, [rbp + 0x51c]
mov rax, qword [fcn.140006320]
mov edx, edi
call qword [0x140077040]
cmp r12d, r13d
jne 0x14001ff63
mov eax, dword [rbp + 0x4d4]
neg eax
mov rax, qword [0x1400bc0b8]
sbb ecx, ecx
not ecx
and ecx, 0xb26720
call qword [0x140077040]
mov qword [rbp + 0x70], rax
mov rax, qword [fcn.140006320]
mov edx, r13d
mov rcx, r15
call qword [0x140077040]
cmp dword [rbp + 0x4d0], ebx
mov ecx, 0x20812
mov dword [rsp + 0x78], eax
mov eax, 0x810
cmovne eax, ecx
mov dword [rbp + 0x40], eax
cmp dword [rbp + 0x148], ebx
je 0x14002097c
mov eax, dword [rbp + 0x4d4]
lea rcx, [rbp + 0x620]
mov r14, qword [rbp + 0x4d8]
mov r12d, 0x68
mov dword [rbp - 0x70], eax
mov r8d, r12d
mov rax, qword [rbp + 0x4f0]
xor edx, edx
mov qword [rbp - 0x40], rax
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, r12d
lea rcx, [rbp + 0x770]
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor edx, edx
mov qword [rbp - 0x68], rbx
lea r8d, [r12 - 0x3c]
mov dword [rsp + 0x68], ebx
lea rcx, [rbp + 0xab8]
mov r13d, ebx
mov edi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
mov qword [rbp + 0x968], rax
mov qword [rbp + 0x970], rax
test r14, r14
je 0x1400216b6
lea edx, [rax + 7]
mov rcx, r15
mov rax, qword [0x1400bc0e0]
call qword [0x140077040]
test rax, rax
jne 0x14002003b
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400216b6
mov rcx, rax
lea r8, [rbp + 0x620]
mov rax, qword [0x1400bc0f8]
mov edx, r12d
call qword [0x140077040]
test eax, eax
je 0x140020076
mov rax, qword [rbp + 0x638]
mov r13d, dword [rbp + 0x624]
mov edi, dword [rbp + 0x628]
mov qword [rbp - 0x68], rax
mov dword [rsp + 0x68], r13d
mov rax, qword [0x1400bc0a0]
mov rcx, r15
call qword [0x140077040]
mov r12, rax
test rax, rax
je 0x140020030
xor edx, edx
mov qword [rbp + 0x3c8], rbx
lea rcx, [rbp + 0xab8]
mov r15d, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov eax, dword [rbp + 0x514]
lea r9, [rbp + 0x3c8]
sub eax, dword [rbp + 0x50c]
lea rdx, [rbp + 0xab8]
mov dword [rbp + 0xabc], eax
xor r8d, r8d
mov eax, dword [rbp + 0x510]
mov rcx, r12
sub eax, dword [rbp + 0x518]
mov dword [rbp + 0xac0], eax
mov rax, qword [0x1400bc0a8]
mov dword [rsp + 0x28], ebx
mov dword [rbp + 0xab8], SafeArrayCreateVectorEx
mov dword [rbp + 0xac4], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140077040]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x140020140
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140020471
mov r15d, 0x80004005
jmp 0x140020471
mov rcx, rax
lea r8, [rbp + 0x770]
mov rax, qword [0x1400bc0f8]
mov edx, 0x68
call qword [0x140077040]
mov rdx, qword [rbp - 0x78]
mov rcx, rbx
test eax, eax
mov eax, dword [rbp + 0x514]
cmovne rcx, qword [rbp + 0x788]
sub eax, dword [rbp + 0x50c]
mov dword [rbp + 0x970], eax
mov eax, dword [rbp + 0x518]
sub eax, dword [rbp + 0x510]
mov dword [rbp + 0x974], eax
mov rax, qword [0x1400bc108]
mov qword [rbp + 0x38], rcx
mov rcx, r12
call qword [0x140077040]
mov rax, qword [fcn.140006320]
mov edx, 1
mov rcx, r12
call qword [0x140077040]
mov rdx, qword [rbp - 0x40]
mov rcx, r12
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov rax, qword [0x1400bc100]
call qword [0x140077040]
lea rdx, [rbp + 0x968]
mov rcx, r12
mov r8, rax
mov rax, qword [0x1400bc178]
call qword [0x140077040]
mov eax, dword [rbp + 0x40]
lea r9, [rbp + 0x968]
mov qword [rsp + 0x28], rbx
or r8d, 0xffffffff
mov dword [rsp + 0x20], eax
mov rdx, r14
mov rax, qword [fcn.140006320]
mov rcx, r12
call qword [0x140077040]
mov ecx, 1
cmp dword [rbp - 0x28], ecx
jne 0x140020256
cmp dword [rbp - 0x70], ebx
je 0x14002024e
mov rax, qword [0x1400bc1a8]
mov ecx, 8
call qword [0x140077040]
mov r14d, eax
mov dword [rbp - 0x4c], eax
jmp 0x140020260
mov r14d, 0xffffff
jmp 0x14002025c
mov r14d, 0xffa8a8a8
mov dword [rbp - 0x4c], r14d
mov r9d, dword [rbp + 0x50c]
mov r8d, ebx
mov edx, dword [rbp + 0x510]
mov ecx, ebx
test r9d, r9d
jns 0x140020280
mov r8d, r9d
mov r9d, ebx
neg r8d
test edx, edx
jns 0x14002028a
mov ecx, edx
mov edx, ebx
neg ecx
movsxd r11, dword [rbp + 0x970]
mov r10d, r13d
sub r10d, r9d
mov eax, r11d
sub eax, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x974]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r10d, r10d
jle 0x140020444
test edi, edi
jle 0x140020444
imul ecx, r11d
movsxd rax, r8d
imul edx, r13d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x38]
lea r8, [rax + rcx*4]
movsxd rax, r9d
movsxd rcx, edx
add rcx, rax
mov qword [rsp + 0x70], r8
mov rax, qword [rbp - 0x68]
lea r13, [rax + rcx*4]
test edi, edi
jle 0x140020444
movsxd rcx, dword [rsp + 0x68]
mov rax, r11
shl rax, 2
mov esi, 1
shl rcx, 2
mov edx, edi
mov qword [rbp + 0x38], rcx
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x70], rdx
test r10d, r10d
jle 0x140020428
mov r11, r8
mov edi, r10d
sub r11, r13
mov qword [rbp - 0x68], rdi
lea r9, [r13 + 2]
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140020406
movzx edi, byte [r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4b]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4a]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [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 [r9 - 2], dl
movzx edi, byte [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 [r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x68], rdi
jne 0x140020338
mov r8, qword [rsp + 0x70]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp - 0x70]
add r8, rax
add r13, rcx
sub rdx, rsi
mov qword [rsp + 0x70], r8
mov qword [rbp - 0x70], rdx
jne 0x14002031e
mov esi, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140020471
mov rdx, rax
mov rcx, r12
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov rax, qword [0x1400bc0c0]
mov rcx, r12
call qword [0x140077040]
test r15d, r15d
js 0x1400216b6
mov eax, dword [rbp + 0x4d4]
lea rcx, [rbp + 0x5b0]
mov r12, qword [rbp + 0x4e0]
mov r14d, 0x68
mov dword [rbp - 0x70], eax
mov r8d, r14d
mov rax, qword [rbp + 0x4f8]
xor edx, edx
mov qword [rbp - 0x40], rax
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, r14d
lea rcx, [rbp + 0x7e0]
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor edx, edx
mov qword [rbp - 0x68], rbx
lea r8d, [r14 - 0x3c]
mov dword [rsp + 0x68], ebx
lea rcx, [rbp + 0x9f8]
mov r13d, ebx
mov edi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
mov qword [rbp + 0x978], rax
mov qword [rbp + 0x980], rax
test r12, r12
je 0x1400216b6
mov r15, qword [rbp + 0x30]
lea edx, [rax + 7]
mov rax, qword [0x1400bc0e0]
mov rcx, r15
call qword [0x140077040]
test rax, rax
je 0x140020030
mov rcx, rax
lea r8, [rbp + 0x5b0]
mov rax, qword [0x1400bc0f8]
mov edx, r14d
call qword [0x140077040]
test eax, eax
je 0x140020560
mov rax, qword [rbp + 0x5c8]
mov r13d, dword [rbp + 0x5b4]
mov edi, dword [rbp + 0x5b8]
mov qword [rbp - 0x68], rax
mov dword [rsp + 0x68], r13d
mov rax, qword [0x1400bc0a0]
mov rcx, r15
call qword [0x140077040]
mov r15, rax
test rax, rax
je 0x140020030
xor edx, edx
mov qword [rbp + 0x3d0], rbx
lea rcx, [rbp + 0x9f8]
mov r14d, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov eax, dword [rbp + 0x524]
lea r9, [rbp + 0x3d0]
sub eax, dword [rbp + 0x51c]
lea rdx, [rbp + 0x9f8]
mov dword [rbp + 0x9fc], eax
xor r8d, r8d
mov eax, dword [rbp + 0x520]
mov rcx, r15
sub eax, dword [rbp + 0x528]
mov dword [rbp + 0xa00], eax
mov rax, qword [0x1400bc0a8]
mov dword [rsp + 0x28], ebx
mov dword [rbp + 0x9f8], SafeArrayCreateVectorEx
mov dword [rbp + 0xa04], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140077040]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x14002062e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14002095a
mov r14d, 0x80004005
jmp 0x14002095a
mov rcx, rax
lea r8, [rbp + 0x7e0]
mov rax, qword [0x1400bc0f8]
mov edx, 0x68
call qword [0x140077040]
mov rdx, qword [rbp - 0x80]
mov rcx, rbx
test eax, eax
mov eax, dword [rbp + 0x524]
cmovne rcx, qword [rbp + 0x7f8]
sub eax, dword [rbp + 0x51c]
mov dword [rbp + 0x980], eax
mov eax, dword [rbp + 0x528]
sub eax, dword [rbp + 0x520]
mov dword [rbp + 0x984], eax
mov rax, qword [0x1400bc108]
mov qword [rbp + 0x38], rcx
mov rcx, r15
call qword [0x140077040]
mov rax, qword [fcn.140006320]
mov edx, 1
mov rcx, r15
call qword [0x140077040]
mov rdx, qword [rbp - 0x40]
mov rcx, r15
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov qword [rbp + 0x10], rax
xor ecx, ecx
mov rax, qword [0x1400bc100]
call qword [0x140077040]
lea rdx, [rbp + 0x978]
mov rcx, r15
mov r8, rax
mov rax, qword [0x1400bc178]
call qword [0x140077040]
mov eax, dword [rbp + 0x40]
lea r9, [rbp + 0x978]
mov qword [rsp + 0x28], rbx
or r8d, 0xffffffff
mov dword [rsp + 0x20], eax
mov rdx, r12
mov rax, qword [fcn.140006320]
mov rcx, r15
call qword [0x140077040]
mov eax, 1
cmp dword [rbp - 0x28], eax
jne 0x14002073d
cmp dword [rbp - 0x70], ebx
je 0x140020734
lea ecx, [rax + 7]
mov rax, qword [0x1400bc1a8]
call qword [0x140077040]
jmp 0x140020742
mov dword [rbp - 0x4c], 0xffffff
jmp 0x14002074b
mov eax, 0xffa8a8a8
mov dword [rbp - 0x4c], eax
mov dword [rbp + 0x88], eax
mov r9d, dword [rbp + 0x51c]
mov r8d, ebx
mov edx, dword [rbp + 0x520]
mov ecx, ebx
test r9d, r9d
jns 0x14002076b
mov r8d, r9d
mov r9d, ebx
neg r8d
test edx, edx
jns 0x140020775
mov ecx, edx
mov edx, ebx
neg ecx
movsxd r11, dword [rbp + 0x980]
mov r10d, r13d
sub r10d, r9d
mov eax, r11d
sub eax, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x984]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r10d, r10d
jle 0x14002092d
test edi, edi
jle 0x14002092d
imul ecx, r11d
imul edx, r13d
movsxd rax, r8d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x38]
lea r12, [rax + rcx*4]
movsxd rax, r9d
movsxd rcx, edx
add rcx, rax
mov rax, qword [rbp - 0x68]
lea r13, [rax + rcx*4]
test edi, edi
jle 0x14002092d
movsxd rcx, dword [rsp + 0x68]
mov rax, r11
mov r14d, dword [rbp + 0x88]
mov esi, 1
shl rax, 2
shl rcx, 2
mov edx, edi
mov qword [rbp + 0x38], rcx
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x70], rdx
test r10d, r10d
jle 0x140020912
mov r11, r12
mov edi, r10d
sub r11, r13
mov qword [rbp - 0x68], rdi
lea r9, [r13 + 2]
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x1400208f4
movzx edi, byte [r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4b]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4a]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [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 [r9 - 2], dl
movzx edi, byte [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 [r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x68], rdi
jne 0x140020826
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rsp + 0x70]
add r12, rax
add r13, rcx
sub rdx, rsi
mov qword [rsp + 0x70], rdx
jne 0x14002080c
mov esi, dword [rsp + 0x60]
mov r14d, ebx
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x14002095a
mov rdx, rax
mov rcx, r15
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov rax, qword [0x1400bc0c0]
mov rcx, r15
call qword [0x140077040]
test r14d, r14d
js 0x1400216b6
mov rdi, qword [rbp + 0x30]
jmp 0x140021670
cmp dword [rbp + 0x4d4], ebx
jne 0x14002098b
mov al, 0xc0
cmp r12d, r13d
jne 0x14002098d
mov al, 0xff
and word [rbp + 0x80], 0
mov rcx, r15
mov byte [rbp + 0x82], al
xor eax, eax
mov qword [rbp + 0x958], rax
mov qword [rbp + 0x960], rax
mov qword [rbp + 0x948], rax
mov qword [rbp + 0x950], rax
mov rax, qword [0x1400bc0a0]
mov byte [rbp + 0x83], r13b
call qword [0x140077040]
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x1400209e4
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400216bc
cmp r12d, r13d
jne 0x140020ac4
mov ecx, dword [rbp + 0x524]
mov eax, dword [rbp + 0x514]
mov r14d, dword [rbp + 0x51c]
sub ecx, r14d
mov edi, dword [rbp + 0x50c]
sub eax, edi
mov r9d, dword [rbp + 0x528]
cmp ecx, eax
mov r8d, dword [rbp + 0x510]
mov edx, eax
cmovg edx, ecx
sub r9d, r8d
mov dword [rbp - 0x80], edx
mov dword [rbp + 0x10], r9d
cmp dword [rbp + 0x4d0], ebx
je 0x140020a53
sub edi, dword [rbp + 0x514]
sub r14d, dword [rbp + 0x524]
add edi, edx
add r14d, edx
mov dword [rbp + 0x958], edi
mov dword [rbp + 0x948], r14d
jmp 0x140020a60
mov edi, dword [rbp + 0x958]
mov r14d, dword [rbp + 0x948]
mov r12d, dword [rbp + 0x518]
lea r13d, [rdi + rax]
mov r15d, dword [rbp + 0x520]
lea eax, [r14 + rcx]
sub r12d, r8d
mov dword [rbp - 0x4c], r13d
mov dword [rbp - 0x50], r12d
sub r15d, r8d
mov dword [rbp + 0x964], r12d
mov r12d, r15d
sub r12d, dword [rbp + 0x520]
add r12d, dword [rbp + 0x528]
mov dword [rsp + 0x68], r12d
mov dword [rbp + 0x954], r12d
mov r12d, edx
mov dword [rbp + 0x960], r13d
mov r13d, r9d
mov dword [rbp + 0x950], eax
mov dword [rbp + 0x94c], r15d
jmp 0x140020b2e
movups xmm0, xmmword [rbp + 0x50c]
mov r12d, dword [rbp + 0x938]
movups xmm1, xmmword [rbp + 0x51c]
mov r13d, dword [rbp + 0x93c]
movdqu xmmword [rbp + 0x958], xmm0
mov eax, dword [rbp + 0x964]
mov ecx, dword [rbp + 0x960]
mov edi, dword [rbp + 0x958]
movdqu xmmword [rbp + 0x948], xmm1
mov r15d, dword [rbp + 0x94c]
mov r14d, dword [rbp + 0x948]
mov dword [rbp - 0x50], eax
mov eax, dword [rbp + 0x954]
mov dword [rsp + 0x68], eax
mov eax, dword [rbp + 0x950]
mov dword [rbp - 0x80], r12d
mov dword [rbp + 0x10], r13d
mov dword [rbp - 0x4c], ecx
xor edx, edx
mov dword [rbp - 0x1c], eax
lea rcx, [rbp + 0xa28]
mov qword [rbp + 0x3d8], rbx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rcx, qword [rbp + 0x60]
lea r9, [rbp + 0x3d8]
mov eax, r13d
mov dword [rsp + 0x28], ebx
neg eax
mov dword [rbp + 0xa28], SafeArrayCreateVectorEx
mov dword [rbp + 0xa30], eax
lea rdx, [rbp + 0xa28]
mov rax, qword [0x1400bc0a8]
xor r8d, r8d
mov dword [rbp + 0xa2c], r12d
mov dword [rbp + 0xa34], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140077040]
mov qword [rbp + 0x50], rax
test rax, rax
jne 0x140020baf
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14002169d
mov rcx, qword [rbp + 0x60]
mov rdx, rax
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov eax, 1
cmp dword [rbp - 0x28], eax
jne 0x140020c0f
mov rax, qword [rbp + 0x70]
test rax, rax
je 0x140020c0f
xor ecx, ecx
mov dword [rbp + 0x9cc], r13d
mov qword [rbp + 0x9c4], rcx
lea rdx, [rbp + 0x9c0]
mov qword [rbp + 0x9c0], rcx
mov r8, rax
mov rcx, qword [rbp + 0x60]
mov rax, qword [0x1400bc178]
mov dword [rbp + 0x9c8], r12d
call qword [0x140077040]
mov eax, dword [rbp + 0x4d4]
lea rcx, [rbp + 0x690]
mov r12, qword [rbp + 0x4d8]
mov r13d, 0x68
mov dword [rsp + 0x70], eax
mov r8d, r13d
mov rax, qword [rbp + 0x4f0]
xor edx, edx
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x68], r12
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, r13d
lea rcx, [rbp + 0x850]
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor edx, edx
mov qword [rbp + 0x38], rbx
lea rcx, [rbp + 0xa88]
mov dword [rbp - 0x70], ebx
mov r13d, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
mov qword [rbp + 0x988], rax
mov qword [rbp + 0x990], rax
test r12, r12
je 0x140021684
mov r12, qword [rbp + 0x60]
lea edx, [rax + 7]
mov rax, qword [0x1400bc0e0]
mov rcx, r12
call qword [0x140077040]
test rax, rax
jne 0x140020cb6
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140021684
mov rcx, rax
lea r8, [rbp + 0x690]
mov rax, qword [0x1400bc0f8]
mov edx, 0x68
call qword [0x140077040]
test eax, eax
je 0x140020cf1
mov rax, qword [rbp + 0x6a8]
mov r13d, dword [rbp + 0x698]
mov qword [rbp + 0x38], rax
mov eax, dword [rbp + 0x694]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1400bc0a0]
mov rcx, r12
call qword [0x140077040]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140020cab
xor edx, edx
mov qword [rbp + 0x3e0], rbx
lea rcx, [rbp + 0xa88]
mov dword [rbp - 0x78], ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov eax, dword [rbp - 0x4c]
lea r9, [rbp + 0x3e0]
mov r12d, dword [rbp + 0x95c]
lea rdx, [rbp + 0xa88]
mov rcx, qword [rbp - 0x68]
sub eax, edi
mov dword [rbp - 0x4c], eax
xor r8d, r8d
mov dword [rbp + 0xa8c], eax
mov eax, r12d
sub eax, dword [rbp - 0x50]
mov dword [rbp + 0xa90], eax
mov rax, qword [0x1400bc0a8]
mov dword [rsp + 0x28], ebx
mov dword [rbp + 0xa88], SafeArrayCreateVectorEx
mov dword [rbp + 0xa94], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140077040]
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x140020dba
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x78], ecx
test ecx, ecx
js 0x1400210e2
mov dword [rbp - 0x78], 0x80004005
jmp 0x1400210e2
mov rcx, rax
lea r8, [rbp + 0x850]
mov rax, qword [0x1400bc0f8]
mov edx, 0x68
call qword [0x140077040]
mov rdx, qword [rbp - 0x40]
mov rcx, rbx
test eax, eax
mov eax, dword [rbp - 0x50]
cmovne rcx, qword [rbp + 0x868]
sub eax, r12d
mov qword [rbp + 0x58], rcx
mov ecx, dword [rbp - 0x4c]
mov dword [rbp + 0x990], ecx
mov rcx, qword [rbp - 0x68]
mov dword [rbp + 0x994], eax
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov rcx, qword [rbp - 0x68]
mov edx, 1
mov rax, qword [fcn.140006320]
call qword [0x140077040]
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov qword [rbp + 0xb0], rax
xor ecx, ecx
mov rax, qword [0x1400bc100]
call qword [0x140077040]
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp + 0x988]
mov r8, rax
mov rax, qword [0x1400bc178]
call qword [0x140077040]
mov eax, dword [rbp + 0x40]
lea r9, [rbp + 0x988]
mov rdx, qword [rbp + 0x68]
or r8d, 0xffffffff
mov rcx, qword [rbp - 0x68]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006320]
call qword [0x140077040]
mov eax, 1
cmp dword [rbp - 0x28], eax
jne 0x140020eca
cmp dword [rsp + 0x70], ebx
je 0x140020ec1
lea ecx, [rax + 7]
mov rax, qword [0x1400bc1a8]
call qword [0x140077040]
mov dword [rbp - 0x50], eax
jmp 0x140020ed1
mov dword [rbp - 0x50], 0xffffff
jmp 0x140020ed1
mov dword [rbp - 0x50], 0xffa8a8a8
mov edx, ebx
mov ecx, ebx
test edi, edi
jns 0x140020edf
mov edx, edi
mov edi, ebx
neg edx
test r12d, r12d
jns 0x140020eec
mov ecx, r12d
mov r12d, ebx
neg ecx
movsxd r8, dword [rbp + 0x990]
movsxd r9, dword [rbp - 0x70]
mov eax, r8d
sub eax, edx
mov r10d, r9d
sub r10d, edi
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x994]
sub eax, ecx
sub r13d, r12d
cmp eax, r13d
cmovl r13d, eax
test r10d, r10d
jle 0x1400210b1
test r13d, r13d
jle 0x1400210b1
imul ecx, r8d
movsxd rax, edx
imul r12d, r9d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x58]
lea rdx, [rax + rcx*4]
movsxd rax, edi
movsxd rcx, r12d
add rcx, rax
mov qword [rsp + 0x70], rdx
mov rax, qword [rbp + 0x38]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x38], rax
test r13d, r13d
jle 0x1400210b1
mov r12d, dword [rbp - 0x50]
mov rcx, r8
shl rcx, 2
mov rdi, r9
shl rdi, 2
mov esi, 1
mov r8d, r13d
mov qword [rbp + 0x68], rdi
mov qword [rbp + 0x58], rcx
mov qword [rbp - 0x70], r8
test r10d, r10d
jle 0x140021091
mov r11, rdx
mov r13d, r10d
sub r11, rax
lea r9, [rax + 2]
movzx eax, byte [r11 + r9 - 2]
movzx ecx, byte [r11 + r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r11 + r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14002106f
movzx edi, byte [r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [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 [r9 - 2], dl
movzx edi, byte [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 byte [r9 + 1], dl
add r9, 4
sub r13, rsi
jne 0x140020fa5
mov rax, qword [rbp + 0x38]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x58]
mov rdi, qword [rbp + 0x68]
mov r8, qword [rbp - 0x70]
add rdx, rcx
add rax, rdi
sub r8, rsi
mov qword [rsp + 0x70], rdx
mov qword [rbp - 0x70], r8
mov qword [rbp + 0x38], rax
jne 0x140020f8f
mov esi, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x40]
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x1400210e2
mov rcx, qword [rbp - 0x68]
mov rdx, rax
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400bc0c0]
call qword [0x140077040]
cmp dword [rbp - 0x78], ebx
jl 0x140021684
mov eax, dword [rbp + 0x4d4]
lea rcx, [rbp + 0x700]
mov r12, qword [rbp + 0x4e0]
mov edi, 0x68
mov dword [rsp + 0x70], eax
mov r8d, edi
mov rax, qword [rbp + 0x4f8]
xor edx, edx
mov qword [rbp + 0x58], rax
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, edi
lea rcx, [rbp + 0x8c0]
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor edx, edx
mov qword [rbp - 0x40], rbx
lea rcx, [rbp + 0xa58]
mov dword [rbp - 0x70], ebx
mov edi, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
mov qword [rbp + 0x998], rax
mov qword [rbp + 0x9a0], rax
test r12, r12
je 0x140021684
mov r13, qword [rbp + 0x60]
lea edx, [rax + 7]
mov rax, qword [0x1400bc0e0]
mov rcx, r13
call qword [0x140077040]
test rax, rax
je 0x140020cab
mov rcx, rax
lea r8, [rbp + 0x700]
mov rax, qword [0x1400bc0f8]
mov edx, 0x68
call qword [0x140077040]
test eax, eax
je 0x1400211cd
mov rax, qword [rbp + 0x718]
mov edi, dword [rbp + 0x708]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp + 0x704]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1400bc0a0]
mov rcx, r13
call qword [0x140077040]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140020cab
xor edx, edx
mov qword [rbp + 0x3f8], rbx
lea rcx, [rbp + 0xa58]
mov r13d, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov eax, dword [rbp - 0x1c]
lea r9, [rbp + 0x3f8]
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp + 0xa58]
sub eax, r14d
mov dword [rsp + 0x28], ebx
mov dword [rbp - 0x1c], eax
xor r8d, r8d
mov dword [rbp + 0xa5c], eax
mov eax, r15d
sub eax, dword [rsp + 0x68]
mov dword [rbp + 0xa60], eax
mov rax, qword [0x1400bc0a8]
mov dword [rbp + 0xa58], SafeArrayCreateVectorEx
mov dword [rbp + 0xa64], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140077040]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x140021295
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x1400215bd
mov r13d, 0x80004005
jmp 0x1400215bd
mov rcx, rax
lea r8, [rbp + 0x8c0]
mov rax, qword [0x1400bc0f8]
mov edx, 0x68
call qword [0x140077040]
mov rdx, qword [rbp - 0x78]
mov rcx, rbx
test eax, eax
mov eax, dword [rbp - 0x1c]
mov dword [rbp + 0x9a0], eax
cmovne rcx, qword [rbp + 0x8d8]
mov eax, dword [rsp + 0x68]
sub eax, r15d
mov qword [rbp + 0x68], rcx
mov rcx, qword [rbp - 0x68]
mov dword [rbp + 0x9a4], eax
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov rcx, qword [rbp - 0x68]
mov edx, 1
mov rax, qword [fcn.140006320]
call qword [0x140077040]
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov qword [rbp + 0xb0], rax
xor ecx, ecx
mov rax, qword [0x1400bc100]
call qword [0x140077040]
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp + 0x998]
mov r8, rax
mov rax, qword [0x1400bc178]
call qword [0x140077040]
mov eax, dword [rbp + 0x40]
lea r9, [rbp + 0x998]
mov rdx, r12
mov qword [rsp + 0x28], rbx
mov r12, qword [rbp - 0x68]
or r8d, 0xffffffff
mov dword [rsp + 0x20], eax
mov rcx, r12
mov rax, qword [fcn.140006320]
call qword [0x140077040]
mov eax, 1
cmp dword [rbp - 0x28], eax
jne 0x1400213a2
cmp dword [rsp + 0x70], ebx
je 0x140021399
lea ecx, [rax + 7]
mov rax, qword [0x1400bc1a8]
call qword [0x140077040]
jmp 0x1400213a7
mov dword [rbp + 0x40], 0xffffff
jmp 0x1400213b0
mov eax, 0xffa8a8a8
mov dword [rbp + 0x40], eax
mov dword [rbp + 0x88], eax
mov edx, ebx
mov ecx, ebx
test r14d, r14d
jns 0x1400213c1
mov edx, r14d
mov r14d, ebx
neg edx
test r15d, r15d
jns 0x1400213ce
mov ecx, r15d
mov r15d, ebx
neg ecx
movsxd r8, dword [rbp + 0x9a0]
movsxd r9, dword [rbp - 0x70]
mov eax, r8d
sub eax, edx
mov r10d, r9d
sub r10d, r14d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x9a4]
sub eax, ecx
sub edi, r15d
cmp eax, edi
cmovl edi, eax
test r10d, r10d
jle 0x14002158d
test edi, edi
jle 0x14002158d
imul ecx, r8d
movsxd rax, edx
imul r15d, r9d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x68]
lea rdx, [rax + rcx*4]
movsxd rax, r14d
movsxd rcx, r15d
add rcx, rax
mov qword [rbp + 0x38], rdx
mov rax, qword [rbp - 0x40]
lea r14, [rax + rcx*4]
test edi, edi
jle 0x14002158d
mov r12d, dword [rbp + 0x88]
mov r15, r8
shl r15, 2
mov rax, r9
shl rax, 2
mov esi, 1
mov ecx, edi
mov qword [rbp + 0x58], rax
mov qword [rsp + 0x70], rcx
test r10d, r10d
jle 0x14002156d
mov r11, rdx
mov edi, r10d
sub r11, r14
mov qword [rbp - 0x40], rdi
lea r9, [r14 + 2]
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14002154f
movzx edi, byte [r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x41]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x42]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [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 [r9 - 2], dl
movzx edi, byte [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 - 0x40]
mov byte [r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x40], rdi
jne 0x140021481
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x58]
mov rcx, qword [rsp + 0x70]
add rdx, r15
add r14, rax
sub rcx, rsi
mov qword [rbp + 0x38], rdx
mov qword [rsp + 0x70], rcx
jne 0x140021467
mov esi, dword [rsp + 0x60]
mov r12, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x1400215bd
mov rdx, rax
mov rcx, r12
mov rax, qword [0x1400bc108]
call qword [0x140077040]
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400bc0c0]
call qword [0x140077040]
test r13d, r13d
js 0x140021684
mov r9d, dword [rbp - 0x80]
mov eax, 1
mov rdi, qword [rbp + 0x30]
cmp dword [rbp - 0x28], eax
jne 0x140021628
mov rax, qword [rbp + 0x60]
mov rcx, rdi
mov r8d, dword [rbp + 0x510]
mov edx, dword [rbp + 0x50c]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x10]
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400bc090]
call qword [0x140077040]
jmp 0x140021670
mov eax, dword [rbp + 0x10]
mov ecx, dword [rbp + 0x80]
mov r8d, dword [rbp + 0x934]
mov edx, dword [rbp + 0x930]
mov dword [rsp + 0x50], ecx
mov rcx, qword [rbp + 0x60]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rcx
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006320]
call qword [0x140077040]
mov edx, dword [rsp + 0x78]
mov rcx, rdi
mov rax, qword [fcn.140006320]
call qword [0x140077040]
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x14002169d
mov rcx, rax
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x1400216b6
mov rcx, rax
mov rax, qword [0x1400bc0c0]
call qword [0x140077040]
mov r13d, 1
mov rax, qword [rbp + 0x70]
test rax, rax
je 0x1400216d5
mov rcx, rax
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov rax, qword [rbp + 0x4d8]
or r14, 0xffffffffffffffff
test rax, rax
je 0x140021726
mov rcx, r14
inc rcx
cmp word [rax + rcx*2], bx
jne 0x1400216e8
mov rdi, qword [rbp + 0x4d8]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4d8]
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 + 0x4d8], rbx
mov r12, qword [rbp + 0x4e0]
test r12, r12
je 0x140021774
mov rcx, r14
inc rcx
cmp word [r12 + rcx*2], bx
jne 0x140021735
mov rdi, qword [rbp + 0x4e0]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4e0]
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 + 0x4e0], rbx
mov rdi, qword [rbp + 0x4e8]
test rdi, rdi
je 0x1400217ba
mov rcx, r14
inc rcx
cmp word [rdi + rcx*2], bx
jne 0x140021783
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4e8]
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 + 0x4e8], rbx
mov rcx, qword [rbp + 0x4f0]
test rcx, rcx
je 0x1400217da
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov qword [rbp + 0x4f0], rbx
mov rcx, qword [rbp + 0x4f8]
test rcx, rcx
je 0x1400217fa
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov qword [rbp + 0x4f8], rbx
mov rcx, qword [rbp + 0x500]
test rcx, rcx
je 0x14002181a
mov rax, qword [0x1400bc0c8]
call qword [0x140077040]
mov qword [rbp + 0x500], rbx
xor eax, eax
lock cmpxchg dword [0x1400c3668], r13d
jne 0x14002181a
mov eax, dword [0x1400c3664]
test eax, eax
jle 0x14002188a
sub eax, r13d
mov dword [0x1400c3664], eax
jne 0x14002188a
lea r15, [0x1400c3370]
mov r14d, 4
mov rdi, r15
cmp qword [rdi], rbx
je 0x14002185a
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x14002184c
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bc090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
xchg dword [0x1400c3668], eax
mov eax, dword [0x1400c3360]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1400bc128]
call qword [0x140077040]
xor edx, edx
mov dword [rbp + 0xd30], ebx
sub eax, dword [0x1400c3350]
lea rcx, [rbp + 0xd38]
mov qword [rbp + 0x68], rax
lea r8d, [rdx + 0x38]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
lock cmpxchg dword [0x1400c3668], r13d
jne 0x1400218ca
mov eax, dword [0x1400c3664]
test eax, eax
jne 0x140021ec1
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x78], ebx
mov dword [rbp - 0x78], ebx
mov qword [rbp + 0x1b0], rbx
mov qword [rbp + 0x298], rbx
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 + 0x58], rax
test rax, rax
je 0x140021e3c
mov byte [rsp + 0x64], bl
lea r12, [rax + 7]
mov r14d, ebx
mov dword [rbp + 8], ebx
mov r13d, ebx
mov dword [rbp + 0x28], ebx
mov r11d, ebx
lea r15, [0x140092822]
mov ebx, 0x67
or ecx, 0xffffffff
lea esi, [rbx - 0x66]
movzx eax, byte [r15 - 1]
movzx r10d, byte [r15 - 2]
movzx r9d, byte [r15 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r15 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 3]
shl r9d, 8
or r9d, eax
xor r13d, r9d
xor r13d, r11d
xor r13d, 0xac987321
lea eax, [r13 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r13d
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 r13d, edx
lea eax, [r13 - 0x137f]
imul edx, eax, 0x605e
mov eax, r13d
shr eax, 0xd
sub edx, eax
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 r13d, edx
mov edx, r13d
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 r13d, edi
mov edi, 0xab69605e
lea eax, [r13 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r13d
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 r13d, edx
mov eax, r13d
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r13d
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 r13d, edx
mov eax, r13d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, r13d
mov r13d, 0xab69
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, r13d
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, r13d
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub edx, eax
xor edi, edx
lea eax, [rdi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, edi
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 edi, edx
mov eax, edi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, edi
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, r14d
mov r14d, r10d
xor edi, edx
mov dword [rbp + 0x28], edi
mov byte [r12 - 4], dil
mov al, byte [rbp + 8]
ror dword [rbp + 0x28], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 0xd], al
mov al, byte [rbp + 8]
ror dword [rbp + 0x28], 8
mov byte [r12 - 9], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 0xe], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 8]
mov byte [r12 - 0xa], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 0xf], al
mov al, byte [rbp + 8]
mov byte [r12 - 0xb], al
mov r11d, dword [rbp + 0x28]
mov r13d, dword [rbp + 8]
ror r11d, 8
ror r13d, 8
mov dword [rbp + 0x28], r11d
mov dword [rbp + 8], r13d
sub rbx, rsi
jne 0x14002194b
mov cl, byte [rsp + 0x64]
lea r13d, [rbx + 1]
mov esi, dword [rsp + 0x60]
mov rax, rbx
mov r14d, dword [rsp + 0x78]
mov edx, 0x338
mov r15, qword [rbp + 0x58]
xor cl, byte [r15 + rax]
add rax, r13
cmp rax, rdx
jb 0x140021c8b
movzx eax, cl
cmp rax, qword [0x140092b58]
je 0x140021caa
mov edi, 0xc004d501
jmp 0x140021cbe
mov qword [rbp + 0x1b0], r15
mov edi, r14d
mov r15, rbx
mov qword [rbp + 0x298], rdx
test r15, r15
je 0x140021cd7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x140021e3c
mov rax, qword [rbp + 0x298]
lea r15, [0x1400c3370]
mov rdi, qword [rbp + 0x1b0]
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 0x60]
mov byte [rax + rdi - 1], bl
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
jmp 0x140021e2a
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x140021d12
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x78]
lea rcx, [rax + rax*2]
lea r15, [r15 + rcx*8]
xor ecx, ecx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x140021e3c
mov rax, qword [r15]
mov ecx, 0x5a4d
mov r14d, ebx
cmp word [rax], cx
je 0x140021d55
mov r14d, 0xc000007b
jmp 0x140021da1
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140021d4d
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x140021d4d
cmp dword [rcx], 0x4550
jne 0x140021d4d
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140021d8f
mov r14d, 0xc000000d
jmp 0x140021da1
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov r13d, dword [rdi + 2]
mov r12d, ebx
add rdi, 6
test r13d, r13d
je 0x140021e19
mov qword [rbp + 0x2a0], rbx
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x140021dbf
inc rdi
add rdi, rax
test r14d, r14d
js 0x140021e02
lea r9, [rbp + 0x2a0]
mov r8, r15
xor edx, edx
call fcn.140046474
mov r14d, eax
test eax, eax
js 0x140021e34
mov eax, dword [rsp + 0x68]
lea r8, [0x1400bc090]
mov rcx, qword [rbp + 0x2a0]
mov qword [r8 + rax*8], rcx
jmp 0x140021e06
mov eax, dword [rsp + 0x68]
mov ecx, 1
add eax, ecx
add r12d, ecx
mov dword [rsp + 0x68], eax
cmp r12d, r13d
jb 0x140021db1
mov r13d, 1
lea r15, [0x1400c3370]
add dword [rbp - 0x78], r13d
cmp byte [rdi], bl
jne 0x140021d0b
jmp 0x140021e42
mov r13d, 1
jmp 0x140021e42
mov r14d, 0xc000007a
cmp qword [rbp + 0x1b0], rbx
je 0x140021e63
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1b0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
jns 0x140021ebb
lea r15, [0x1400c3370]
mov r14d, 4
mov rdi, r15
cmp qword [rdi], rbx
je 0x140021e86
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x140021e78
lea r12d, [r14 + 0x60]
xor edx, edx
mov r8d, r12d
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bc090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140021ed7
mov eax, dword [0x1400c3664]
add eax, r13d
lea r15, [0x1400c3370]
mov dword [0x1400c3664], eax
mov r12d, 0x60
mov rcx, qword [rbp + 0x68]
lea r9, [rbp + 0xd30]
mov eax, ebx
mov r14d, 4
xchg dword [0x1400c3668], eax
mov eax, dword [rbp - 0x70]
mov r8d, r14d
mov dword [rbp + 0xd68], eax
mov edx, 0x2021
mov rax, qword [0x1400bc160]
mov dword [rbp + 0xd38], ecx
xor ecx, ecx
mov dword [rbp + 0xd30], r13d
mov dword [rbp + 0xd48], 0x9966f291
mov dword [rbp + 0xd40], r13d
mov dword [rbp + 0xd58], r13d
mov dword [rbp + 0xd50], r13d
mov dword [rbp + 0xd60], r13d
call qword [0x140077040]
xor eax, eax
lock cmpxchg dword [0x1400c3668], r13d
jne 0x140021f43
mov eax, dword [0x1400c3664]
test eax, eax
jle 0x140021fa5
sub eax, r13d
mov dword [0x1400c3664], eax
jne 0x140021fa5
mov rdi, r15
cmp qword [rdi], rbx
je 0x140021f76
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x140021f68
mov r8, r12
xor edx, edx
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bc090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
xchg dword [0x1400c3668], eax
mov rdx, qword [rbp + 0x30]
xor ecx, ecx
mov rax, qword [0x1400bc1f0]
call qword [0x140077040]
lea rcx, [rbp + 0x480]
call fcn.14000f390
cmp dword [rbp + 0x78], ebx
je 0x14002433b
xor eax, eax
mov dword [rbp + 0x1fc], ebx
mov qword [rbp - 0x18], rax
mov edi, LoadRegTypeLib
mov qword [rbp - 0x10], rax
mov r14, rbx
mov qword [rbp + 0x118], rax
mov r15, rbx
mov qword [rbp + 0x120], rax
lea rax, [0x1400c2390]
mov qword [rbp + 0x408], rax
mov qword [rbp + 0x2a8], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r12d, 8
mov r8d, edi
mov rcx, rax
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x58], rax
mov rdi, rax
test rax, rax
je 0x1400242b4
mov r8, qword [rbp + 0x2a8]
mov rcx, rax
mov rdx, qword [rbp + 0x408]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, dword [rbp + 0x2a8]
mov r14, rdi
mov qword [rbp - 0x78], rdi
lea rax, [0x1400c22d0]
mov qword [rbp + 0x2b0], r12
mov qword [rbp + 0x410], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r12d
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0xb0], rax
mov rdi, rax
test rax, rax
je 0x1400242b4
mov r8, qword [rbp + 0x2b0]
mov rcx, rax
mov rdx, qword [rbp + 0x410]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15, rdi
mov qword [rbp - 0x80], rdi
mov rdi, qword [rbp + 0x2b0]
mov qword [rbp + 0x68], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x290], rax
lea r14d, [r13 + 4]
or r8d, 0xffffffff
cmp r14d, 4
mov eax, r8d
mov ecx, 8
mov r9d, 0xc0000095
cmovae eax, r14d
sbb r12d, r12d
cmp r14d, 4
cmovae ecx, eax
mov dword [rbp + 0x15c], ecx
and r12d, r9d
js 0x1400242b0
lea edx, [rcx + 8]
cmp edx, 8
jb 0x14002211a
mov eax, ebx
jmp 0x140022120
mov edx, r8d
mov eax, r9d
mov r10d, 0x10000000
or eax, r10d
jl 0x1400242b0
lea r15d, [rdi + 4]
mov eax, r8d
cmp r15d, 4
cmovae eax, r15d
sbb edi, edi
and edi, r9d
cmp r15d, 4
mov dword [rsp + 0x78], edi
cmovae ecx, eax
mov dword [rbp + 0x15c], ecx
test edi, edi
js 0x1400242ac
lea eax, [rcx + rdx]
cmp eax, edx
jb 0x140022167
mov ecx, ebx
jmp 0x14002216d
mov eax, r8d
mov ecx, r9d
or ecx, r10d
jl 0x1400242ac
mov dword [rbp + 0x15c], SafeArrayGetDim
lea ecx, [rax + 0xc]
cmp ecx, eax
jb 0x14002218b
mov eax, ebx
jmp 0x140022191
mov ecx, r8d
mov eax, r9d
or eax, r10d
jl 0x1400242ac
mov dword [rbp - 0x14], 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 rdx, rax
test rax, rax
je 0x1400242ac
mov qword [rbp - 0x10], rax
mov r8d, ebx
mov dword [rbp - 0x18], ebx
mov dword [rbp + 0x200], 4
lea rcx, [rax + 4]
or rdi, 0xffffffffffffffff
cmp rcx, rax
mov r10d, 0xc0000095
cmovae rdi, rcx
sbb r9d, r9d
and r9d, r10d
cmp rcx, rax
jb 0x14002222a
mov ecx, dword [rbp - 0x14]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x1400242ac
mov dword [rdx], 4
mov r11d, 1
mov eax, dword [rbp + 0x200]
mov dword [rdi], eax
mov r8d, dword [rbp - 0x18]
add r8d, r11d
mov dword [rbp - 0x18], r8d
jmp 0x140022230
mov r11d, 1
test r9d, r9d
js 0x1400242ac
test r13d, r13d
je 0x140022365
cmp qword [rbp - 0x10], rbx
jne 0x14002229c
mov edx, dword [rbp + 0xcc]
or r13d, 0xffffffff
cmp r14d, 4
mov eax, r13d
cmovae eax, r14d
cmovae edx, eax
mov dword [rbp + 0xcc], edx
test r12d, r12d
js 0x1400242ac
mov ecx, dword [rbp - 0x14]
mov r9d, r13d
lea eax, [rcx + rdx]
cmp eax, ecx
cmovae r9d, eax
sbb r14d, r14d
and r14d, r10d
mov dword [rbp - 0x14], r9d
cmp eax, ecx
jb 0x140022373
add r8d, r11d
mov dword [rbp - 0x18], r8d
jmp 0x14002237c
mov rdi, qword [rbp - 0x10]
mov r10d, ebx
mov r12d, 0xc0000095
test r8d, r8d
je 0x140022312
mov r9d, dword [rbp + 0xcc]
mov ecx, dword [rdi]
or edx, 0xffffffff
add ecx, 4
mov r11, rdi
cmp ecx, 4
cmovae edx, ecx
sbb eax, eax
cmp ecx, 4
cmovae r9d, edx
mov dword [rbp + 0xcc], r9d
and eax, r12d
js 0x1400242ac
or rax, 0xffffffffffffffff
mov edx, r9d
add rdx, rdi
mov rcx, rdi
cmp rdx, rdi
mov r11d, 1
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb r14d, r14d
and r14d, r12d
cmp rdx, rcx
jb 0x14002236b
add r10d, r11d
cmp r10d, r8d
jb 0x1400222b5
lea rax, [rdi + 4]
or rcx, 0xffffffffffffffff
cmp rax, rdi
cmovae rcx, rax
sbb r14d, r14d
and r14d, r12d
cmp rax, rdi
jb 0x14002236b
mov edx, dword [rbp - 0x14]
lea rax, [r13 + 4]
add rdx, qword [rbp - 0x10]
add rax, rdi
mov r8, r13
cmp rax, rdx
ja 0x1400242ac
mov rdx, qword [rbp + 0x58]
mov dword [rdi], r13d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp - 0x18]
mov r11d, 1
add r8d, r11d
mov dword [rbp - 0x18], r8d
jmp 0x14002236b
mov r14d, 0xc000000d
mov r9d, dword [rbp - 0x14]
or r13d, 0xffffffff
test r14d, r14d
js 0x1400242ac
mov r12, qword [rbp + 0x68]
test r12d, r12d
je 0x1400224c7
cmp qword [rbp - 0x10], rbx
jne 0x1400223f9
mov edx, dword [rbp + 0xd0]
cmp r15d, 4
mov eax, r13d
cmovae eax, r15d
cmovae edx, eax
mov dword [rbp + 0xd0], edx
cmp dword [rsp + 0x78], ebx
jl 0x1400242ac
add edx, r9d
mov ecx, r9d
cmp edx, r9d
mov eax, r13d
mov edi, r9d
cmovae eax, edx
cmp edx, ecx
mov r9d, eax
mov dword [rbp - 0x14], eax
sbb r14d, r14d
and r14d, 0xc0000095
cmp edx, ecx
jb 0x1400224d5
mov rax, qword [rbp + 0x290]
add r8d, r11d
mov dword [rbp - 0x18], r8d
mov qword [rbp + 0x2b8], rax
jmp 0x1400224f2
mov rdi, qword [rbp - 0x10]
mov r11d, ebx
test r8d, r8d
je 0x140022469
mov r10d, dword [rbp + 0xd0]
mov ecx, dword [rdi]
mov edx, r13d
add ecx, 4
mov r15, rdi
cmp ecx, 4
cmovae edx, ecx
sbb eax, eax
cmp ecx, 4
cmovae r10d, edx
mov dword [rbp + 0xd0], r10d
and eax, 0xc0000095
js 0x1400242ac
or rax, 0xffffffffffffffff
mov edx, r10d
add rdx, rdi
mov rcx, rdi
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rdx, rcx
jb 0x1400224cf
inc r11d
cmp r11d, r8d
jb 0x14002240c
lea rax, [rdi + 4]
or rcx, 0xffffffffffffffff
cmp rax, rdi
cmovae rcx, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rax, rdi
jb 0x1400224cf
mov r8d, r12d
mov edx, r9d
add rdx, qword [rbp - 0x10]
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rdx
ja 0x1400242ac
mov rdx, qword [rbp + 0xb0]
mov dword [rdi], r12d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp - 0x18]
mov r11d, 1
mov r9d, dword [rbp - 0x14]
add r8d, r11d
mov dword [rbp - 0x18], r8d
jmp 0x1400224d5
mov r14d, 0xc000000d
jmp 0x1400224d5
mov r11d, 1
test r14d, r14d
js 0x1400242ac
mov rax, qword [rbp + 0x290]
mov qword [rbp + 0x2b8], rax
cmp qword [rbp - 0x10], rbx
jne 0x140022535
mov dword [rbp + 0x158], SafeArrayGetDim
lea edx, [r9 + 0xc]
mov ecx, r9d
cmp edx, r9d
mov eax, r13d
mov edi, r9d
cmovae eax, edx
cmp edx, ecx
mov r9d, eax
mov dword [rbp - 0x14], eax
sbb r10d, r10d
and r10d, 0xc0000095
cmp edx, ecx
jb 0x140022606
add r8d, r11d
mov dword [rbp - 0x18], r8d
jmp 0x14002260f
mov rdi, qword [rbp - 0x10]
mov r14d, ebx
test r8d, r8d
je 0x1400225ad
mov r11d, dword [rbp + 0x158]
mov ecx, dword [rdi]
mov edx, r13d
add ecx, 4
mov r15, rdi
cmp ecx, 4
cmovae edx, ecx
sbb eax, eax
cmp ecx, 4
cmovae r11d, edx
mov dword [rbp + 0x158], r11d
and eax, 0xc0000095
js 0x1400242ac
or rax, 0xffffffffffffffff
mov edx, r11d
add rdx, rdi
mov rcx, rdi
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb r10d, r10d
and r10d, 0xc0000095
cmp rdx, rcx
jb 0x140022606
mov r15d, 1
add r14d, r15d
cmp r14d, r8d
jb 0x140022548
jmp 0x1400225b3
mov r15d, 1
lea rax, [rdi + 4]
or rdx, 0xffffffffffffffff
cmp rax, rdi
cmovae rdx, rax
sbb r10d, r10d
and r10d, 0xc0000095
cmp rax, rdi
jb 0x140022606
mov ecx, r9d
lea rax, [rdi + 0xc]
add rcx, qword [rbp - 0x10]
cmp rax, rcx
ja 0x1400242ac
mov dword [rdi], 8
movsd xmm0, qword [rbp + 0x2b8]
movsd qword [rdx], xmm0
mov r8d, dword [rbp - 0x18]
mov r9d, dword [rbp - 0x14]
add r8d, r15d
mov dword [rbp - 0x18], r8d
test r10d, r10d
js 0x1400242ac
mov dword [rbp + 0x400], SafeArrayGetDim
mov r10, rbx
mov qword [rbp + 0x30], rbx
mov r12d, ebx
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x70], rbx
mov r13, rbx
mov dword [rbp - 0x70], ebx
mov qword [rbp - 0x40], rbx
mov dword [rbp + 0x48], ebx
mov qword [rbp - 0x68], rbx
mov qword [rbp + 0x60], rbx
mov dword [rbp + 0xa8], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2c0], rax
lea eax, [r9 + 8]
or ecx, 0xffffffff
cmp eax, 8
mov r15d, 0xc0000095
cmovae ecx, eax
sbb r14d, r14d
and r14d, r15d
mov dword [rbp + 0xdc], ecx
cmp eax, 8
jb 0x14002275e
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140022696
mov r14d, r15d
jmp 0x14002275e
mov dword [rbp + 0xdc], 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 0x1400226cb
mov r14d, 0xc0000017
mov r10, rbx
jmp 0x14002275a
mov eax, dword [rbp - 0x18]
or rcx, 0xffffffffffffffff
mov dword [rdi], eax
mov rdx, rcx
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
and r14d, r15d
cmp rax, rdi
jb 0x14002273a
mov eax, dword [rbp - 0x14]
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, r15d
cmp rax, rdx
jb 0x14002273a
mov edx, dword [rbp + 0xdc]
mov rax, qword [rbp + 0x2c0]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x14]
mov rdx, qword [rbp - 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12d, dword [rbp + 0xdc]
mov r10, rdi
mov qword [rbp + 0x30], rdi
mov rdi, rbx
jmp 0x14002273d
mov r10, rbx
test rdi, rdi
je 0x14002275a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r10, qword [rbp + 0x30]
mov r8d, dword [rbp - 0x18]
or r14d, 0x10000000
jl 0x140023ffa
mov qword [rbp + 0x420], rbx
mov r15, rbx
mov qword [rbp + 0x428], rbx
mov qword [rbp + 0x430], rbx
mov qword [rbp + 0x438], rbx
mov qword [rbp + 0x218], rbx
mov qword [rbp + 0x418], rbx
test r10, r10
jne 0x1400227a8
mov r14d, 0xc000000d
jmp 0x140022f17
mov r14d, r12d
mov qword [rbp + 0x58], r14
test r12d, r12d
je 0x140022e63
lea rdi, [r14 + 8]
mov qword [rbp + 0xb0], 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 + 0x68], rax
mov r13, rax
test rax, rax
je 0x140022e5f
mov r10, qword [rbp + 0x30]
mov dl, bl
mov rcx, rbx
test r12d, r12d
je 0x140022806
mov eax, 1
xor dl, byte [rcx + r10]
add rcx, rax
cmp rcx, r14
jb 0x1400227fa
or r11d, 0xffffffff
mov dword [rbp - 0x20], ebx
mov r8, r14
mov dword [rbp - 0x34], r11d
mov dword [rsp + 0x68], ebx
mov r9, r13
mov dword [rbp - 0x50], ebx
mov edi, ebx
and r8d, 7
je 0x1400228fe
mov dword [rsp + 0x68], ebx
mov r12d, ebx
mov dword [rbp - 0x50], ebx
mov ecx, ebx
mov r11d, ebx
test r8d, r8d
jle 0x14002287e
mov edi, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x14002285c
lea ecx, [rdi - 0x20]
shl eax, cl
mov ecx, dword [rbp - 0x50]
or ecx, eax
mov dword [rbp - 0x50], ecx
jmp 0x140022866
mov ecx, edi
shl eax, cl
mov ecx, dword [rbp - 0x50]
or r12d, eax
mov eax, 1
sub edi, 8
add r11d, eax
add r10, rax
cmp r11d, r8d
jl 0x140022843
mov dword [rsp + 0x68], r12d
mov edi, ecx
mov r11d, r12d
xor edi, 0xb17a307a
xor r11d, 0x42f6b18d
mov dword [rbp - 0x20], edi
mov eax, ebx
mov dword [rbp - 0x34], r11d
test r8d, r8d
jle 0x1400228c8
mov ecx, 1
cmp eax, 4
jge 0x1400228b0
rol edi, 8
mov byte [r9], dil
jmp 0x1400228b7
rol r11d, 8
mov byte [r9], r11b
add eax, ecx
add r9, rcx
cmp eax, r8d
jl 0x1400228a3
mov edi, dword [rbp - 0x20]
mov r11d, dword [rbp - 0x34]
lea eax, [r8 - 4]
test eax, eax
jle 0x1400228e6
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x34], r11d
jmp 0x1400228fe
mov dword [rbp - 0x34], ebx
mov r11d, ebx
test eax, eax
jns 0x1400228fe
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x20], edi
mov r12, r14
shr r12, 3
test r12, r12
je 0x140022c48
mov r15d, dword [rsp + 0x68]
lea r14, [r9 + 7]
mov r13d, dword [rbp - 0x50]
lea rbx, [r10 + 2]
mov esi, 1
movzx eax, byte [rbx - 1]
movzx r10d, byte [rbx - 2]
movzx r9d, byte [rbx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 5]
or r9d, eax
movzx eax, byte [rbx - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rbx - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
mov edi, 0xc81ecb17
xor r8d, edi
mov eax, r8d
xor eax, edi
ror eax, 0xf
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 7
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x4e4ab5a8]
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 0xa
sub ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, 0xcb17
rol eax, 4
imul ecx, eax, 0xc81e
mov eax, r8d
rol eax, 5
add ecx, eax
mov eax, edi
xor r11d, ecx
mov ecx, r11d
xor ecx, 0xb1b54a58
sub eax, ecx
xor r8d, eax
lea eax, [r8 - 0x4a58]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov ecx, 0xc81e
mov eax, r11d
ror eax, 0xf
xor eax, 0xcb17
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, ecx
imul eax, eax, 0xcb17
xor r11d, eax
lea eax, [r11 + 0x37e0ea91]
xor r8d, eax
mov eax, r8d
mov edi, r8d
xor eax, ecx
ror edi, 0xa
imul ecx, eax, 0xb1b5
xor edi, ecx
xor r11d, edi
mov eax, r11d
xor eax, 0x4a58
rol eax, 6
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, 0xc81e
mov eax, r8d
ror eax, 0xf
sub eax, ecx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, ecx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
lea eax, [r11 - 0xcb17]
rol eax, 3
xor r8d, ecx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xcb17]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 0xd
sub ecx, eax
mov eax, 0xb1b54a58
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e49ed8a]
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0xb1b5
ror edi, 7
imul ecx, eax, 0x4a58
sub ecx, edi
mov edi, 0xc81ecb17
xor r8d, ecx
mov eax, r8d
xor eax, 0xc81e
rol eax, 4
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 0x10
sub ecx, eax
mov eax, 0xb1b54a58
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 4
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e4ab5a8]
ror eax, 4
imul ecx, eax, 0xc81e
mov eax, r8d
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, edi
rol eax, 8
imul ecx, eax, 0x4a58
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, edi
xor r8d, ecx
sub eax, r8d
ror eax, 0xb
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xb1b5
imul ecx, eax, 0xcb17
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r8d, r13d
mov dword [rbp - 0x20], r8d
xor r11d, 0x79ab814f
xor r11d, r15d
mov r13d, r10d
mov dword [rbp - 0x34], r11d
mov r15d, r9d
mov byte [r14 - 4], r8b
mov al, byte [rbp - 0x34]
ror dword [rbp - 0x20], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rbp - 0x34], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 0xd], al
mov al, byte [rbp - 0x34]
ror dword [rbp - 0x20], 8
mov byte [r14 - 9], al
ror dword [rbp - 0x34], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 0xe], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x34]
mov byte [r14 - 0xa], al
ror dword [rbp - 0x34], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 0xf], al
mov al, byte [rbp - 0x34]
mov byte [r14 - 0xb], al
mov edi, dword [rbp - 0x20]
mov r11d, dword [rbp - 0x34]
ror edi, 8
ror r11d, 8
mov dword [rbp - 0x20], edi
mov dword [rbp - 0x34], r11d
sub r12, rsi
jne 0x140022924
mov esi, dword [rsp + 0x60]
xor ebx, ebx
mov r14, qword [rbp + 0x58]
mov r15d, ebx
mov r13, qword [rbp + 0x68]
movzx eax, dl
mov qword [r14 + r13], rax
mov r14, qword [rbp + 0xb0]
mov qword [rbp + 0x418], r14
mov qword [rbp + 0x218], r13
lea rax, [0x1400c2380]
mov edi, 8
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x428], rdi
lea r12, [0x1400c22e0]
mov qword [rbp + 0x438], LoadRegTypeLib
mov qword [rbp + 0x430], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [rdi + 0x28]
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140022cbf
mov r14d, 0xc0000017
jmp 0x140022e4a
mov dword [rax], r14d
mov r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r14d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140022cec
mov r14d, 0xc0000017
jmp 0x140022dce
mov qword [rdi + 8], rax
mov r8, r14
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r14d, LoadRegTypeLib
mov dword [rdi + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r14d
mov r14d, 8
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140022ce1
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r12]
lea ecx, [r14 + 0x78]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [rax + rcx - 0x10], xmm1
movups xmm0, xmmword [r12 + rcx]
movups xmmword [rax + rcx], xmm0
movups xmm1, xmmword [r12 + rcx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
mov dword [rdi + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r14d
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140022ce1
mov qword [rdi + 0x28], rax
movsd xmm0, qword [0x1400c2380]
mov r15, rdi
movsd qword [rax], xmm0
mov r14d, ebx
mov rdi, rbx
test rdi, rdi
je 0x140022e4a
mov r12, qword [rdi + 8]
test r12, r12
je 0x140022df4
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], rbx
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140022e15
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], rbx
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x140022e36
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], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp - 0x18]
test r14d, r14d
js 0x140022e69
mov qword [rbp + 0x1b8], r15
mov r15, rbx
jmp 0x140022e69
mov r8d, dword [rbp - 0x18]
mov r14d, 0xc0000001
mov rdi, qword [rbp + 0x218]
test rdi, rdi
je 0x140022e94
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp - 0x18]
mov qword [rbp + 0x218], rbx
test r15, r15
je 0x140022f14
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140022eba
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rbx
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140022edb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rbx
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x140022efc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp - 0x18]
mov r13, rbx
or r14d, 0x10000000
jl 0x140023ffa
mov r15, qword [rbp + 0x1b8]
or r12d, 0xffffffff
mov ecx, r12d
mov r10d, 0xc0000095
mov eax, dword [r15]
mov r9d, dword [r15 + 0x20]
add eax, 4
mov edi, dword [r15 + 0x10]
cmp eax, 4
cmovae ecx, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, 4
jb 0x140022fbb
lea eax, [rcx + 4]
mov edx, r12d
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, ecx
jb 0x140022fbb
lea eax, [rdx + rdi]
mov ecx, r12d
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, edx
jb 0x140022fbb
lea eax, [rcx + 4]
mov edx, r12d
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, ecx
jb 0x140022fbb
mov edi, dword [rbp + 0xd4]
lea ecx, [rdx + r9]
cmp ecx, edx
mov eax, r12d
cmovae eax, ecx
sbb r14d, r14d
and r14d, r10d
cmp ecx, edx
cmovae edi, eax
mov dword [rbp + 0xd4], edi
jmp 0x140022fc1
mov edi, dword [rbp + 0xd4]
test r14d, r14d
js 0x140023125
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140022ff4
mov r14d, 0xc0000017
jmp 0x140023121
mov eax, dword [r15]
or r12, 0xffffffffffffffff
mov dword [rdi], eax
lea rax, [rdi + 4]
cmp rax, rdi
cmovae r12, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rax, rdi
jb 0x140023104
mov r8d, dword [r15]
mov rcx, r12
mov rdx, qword [r15 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r15]
or r8, 0xffffffffffffffff
add rcx, r12
mov rdx, r8
cmp rcx, r12
mov r10d, 0xc0000095
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r10d
cmp rcx, r12
jb 0x140023104
mov eax, dword [r15 + 0x10]
mov r12, r8
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r12, rax
sbb r14d, r14d
and r14d, r10d
cmp rax, rdx
jb 0x140023104
mov r8d, dword [r15 + 0x10]
mov rcx, r12
mov rdx, qword [r15 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r15 + 0x10]
or r8, 0xffffffffffffffff
add rcx, r12
mov rdx, r8
cmp rcx, r12
mov r10d, 0xc0000095
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r10d
cmp rcx, r12
jb 0x140023104
mov eax, dword [r15 + 0x20]
mov r12, r8
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r12, rax
sbb r14d, r14d
and r14d, r10d
cmp rax, rdx
jb 0x140023104
mov r8d, dword [r15 + 0x20]
mov rcx, r12
mov rdx, qword [r15 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r15 + 0x20]
add rcx, r12
cmp rcx, r12
sbb r14d, r14d
and r14d, 0xc0000095
cmp rcx, r12
jb 0x140023104
mov eax, dword [rbp + 0xd4]
mov qword [rbp + 0x70], rdi
mov rdi, rbx
mov dword [rbp - 0x70], eax
test rdi, rdi
je 0x14002311d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r12d, 0xffffffff
mov r8d, dword [rbp - 0x18]
or r14d, 0x10000000
jl 0x140023ffa
mov qword [rbp + 0x440], rbx
mov r9d, ebx
mov dword [rbp + 0x1f0], ebx
mov r10d, ebx
mov qword [rbp + 0x448], rbx
mov dword [rbp + 0x1f4], ebx
mov dword [rbp + 0x3f0], 0x1c
mov dword [rbp + 0x338], SafeArrayCreateVectorEx
mov dword [rbp + 0x334], SafeArrayCreateVectorEx
mov r15d, 1
cmp qword [rbp - 0x10], rbx
jne 0x140023187
mov r14d, 0xc000000d
jmp 0x140023333
cmp r8d, r15d
jbe 0x14002317c
mov rdx, qword [rbp - 0x10]
mov r11d, ebx
or r15, 0xffffffffffffffff
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400231a5
mov r14d, ebx
jmp 0x1400231ae
mov rdi, r15
mov r14d, 0xc0000095
test r14d, r14d
js 0x14002321a
mov ecx, dword [rdx]
mov rdx, r15
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, 0xc0000095
cmp rcx, rdi
jb 0x14002321a
mov eax, 1
add r11d, eax
cmp r11d, eax
jb 0x140023197
mov edi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r15
mov r11d, 0xc0000095
cmovae rcx, rax
sbb r14d, r14d
and r14d, r11d
cmp rax, rdx
jb 0x140023220
test edi, edi
mov dword [rbp + 0x1f0], edi
mov rax, rbx
mov r9d, edi
cmovne rax, rcx
mov qword [rbp + 0x440], rax
jmp 0x140023220
mov r11d, 0xc0000095
test r14d, r14d
js 0x14002332d
cmp r8d, 2
ja 0x14002323a
mov r14d, 0xc000000d
jmp 0x14002332d
mov rdx, qword [rbp - 0x10]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14002324f
mov r14d, ebx
jmp 0x140023255
mov rdi, r15
mov r14d, r11d
test r14d, r14d
js 0x14002332d
mov ecx, dword [rdx]
mov rdx, r15
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r11d
cmp rcx, rdi
jb 0x1400232b5
inc r8d
cmp r8d, 2
jb 0x140023241
mov edi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r15
cmovae rcx, rax
sbb r14d, r14d
and r14d, r11d
cmp rax, rdx
jb 0x1400232b5
test edi, edi
mov dword [rbp + 0x1f4], edi
mov rax, rbx
mov r10d, edi
cmovne rax, rcx
mov qword [rbp + 0x448], rax
test r14d, r14d
js 0x14002332d
lea eax, [r9 + 0x30]
mov ecx, r12d
cmp eax, 0x30
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
cmp eax, 0x30
jb 0x14002330c
lea eax, [rcx + 4]
mov edi, r12d
cmp eax, ecx
cmovae edi, eax
sbb r14d, r14d
and r14d, r11d
cmp eax, ecx
jb 0x14002330c
mov edx, dword [rbp + 0x178]
lea ecx, [rdi + r10]
cmp ecx, edi
mov eax, r12d
cmovae eax, ecx
sbb r14d, r14d
and r14d, r11d
cmp ecx, edi
cmovae edx, eax
mov dword [rbp + 0x178], edx
jmp 0x140023312
mov edx, dword [rbp + 0x178]
test r14d, r14d
js 0x14002332d
cmp edx, 0x400000
jbe 0x14002332a
mov r14d, 0x8000ffff
jmp 0x140023ffa
mov dword [rbp + 0x48], edx
mov r15d, 1
test r14d, r14d
js 0x140023ffa
mov edi, dword [rbp + 0x48]
mov r14d, ebx
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 0x140023366
mov r14d, 0xc0000017
jmp 0x14002336d
mov r13, rax
mov qword [rbp - 0x40], rax
mov edi, 0x10000000
or r14d, edi
jl 0x140023ffa
mov rax, qword [rbp + 0x70]
test rax, rax
jne 0x14002338f
mov r14d, 0x80070057
jmp 0x140023ffa
test r13, r13
je 0x140023384
mov qword [rbp + 0x4a8], rax
lea r8, [rbp + 0x450]
mov eax, dword [rbp - 0x70]
lea rdx, [0x14008c998]
mov dword [rbp + 0x4b8], eax
mov ecx, r15d
mov eax, dword [rbp + 0x48]
mov dword [rbp + 0x4bc], eax
mov qword [rbp + 0x4b0], r13
mov dword [rbp + 0x4c0], ebx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400233fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x1400233f7
mov r14d, 0x80004005
mov edx, dword [rbp + 0x48]
jmp 0x140023440
mov rcx, qword [rbp + 0x450]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400233d5
xor r9d, r9d
lea rdx, [rbp + 0x4a8]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x140077040]
mov edx, dword [rbp + 0x48]
mov r14d, eax
or r14d, edi
cmovge edx, dword [rbp + 0x4bc]
mov dword [rbp + 0x48], edx
cmp r14d, 0xd0000023
jne 0x140023454
mov r14d, 0x8007007a
jmp 0x140023ffa
test r14d, r14d
js 0x140023ffa
mov r15, rbx
cmp edx, 4
jae 0x140023470
mov r14d, 0xc000003e
jmp 0x140023850
mov r9d, dword [r13]
lea rax, [r13 + 4]
or r11, 0xffffffffffffffff
mov dword [rsp + 0x78], r9d
cmp rax, r13
mov r12, r11
mov r10d, 0xc0000095
cmovae r12, rax
sbb r14d, r14d
and r14d, r10d
cmp rax, r13
jb 0x140023850
lea eax, [rdx - 4]
cmp eax, r9d
jb 0x140023465
mov eax, r9d
mov rdi, r11
mov qword [rbp + 0x50], rax
add rax, r12
cmp rax, r12
cmovae rdi, rax
sbb r14d, r14d
and r14d, r10d
cmp rax, r12
jb 0x140023850
lea eax, [r9 + 4]
or r8d, 0xffffffff
cmp eax, 4
mov ecx, r8d
cmovae ecx, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, 4
jb 0x140023850
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x140023465
mov r10d, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
mov dword [rsp + 0x70], r10d
mov r13, r11
cmovae r13, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rax, rdi
jb 0x140023850
lea eax, [rcx + 4]
mov edi, r8d
cmp eax, ecx
cmovae edi, eax
sbb r14d, r14d
and r14d, 0xc0000095
cmp eax, ecx
jb 0x140023850
mov eax, edx
sub eax, edi
cmp eax, r10d
jb 0x140023465
mov eax, r10d
mov rcx, r11
mov qword [rbp + 0x58], rax
add rax, r13
cmp rax, r13
cmovae rcx, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rax, r13
jb 0x140023850
lea eax, [r10 + rdi]
cmp eax, edi
cmovae r8d, eax
sbb r14d, r14d
and r14d, 0xc0000095
cmp eax, edi
jb 0x140023850
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x140023465
mov edi, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
mov dword [rbp - 0x70], edi
cmovae r11, rax
sbb r14d, r14d
and r14d, 0xc0000095
mov qword [rbp + 0x68], r11
cmp rax, rcx
jb 0x140023850
lea eax, [r8 + 4]
or r11d, 0xffffffff
cmp eax, r8d
mov ecx, r11d
cmovae ecx, eax
sbb r14d, r14d
and r14d, 0xc0000095
cmp eax, r8d
jb 0x140023850
mov eax, edx
sub eax, ecx
cmp eax, edi
jb 0x140023465
lea eax, [rdi + rcx]
mov r8d, r11d
cmp eax, ecx
cmovae r8d, eax
sbb r14d, r14d
and r14d, 0xc0000095
cmp eax, ecx
jb 0x140023850
cmp edx, r8d
jne 0x140023465
lea ecx, [rdi + r10]
mov eax, edx
add ecx, r9d
add rcx, 0xc
cmp rcx, rax
jne 0x140023465
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 0x14002365b
mov r14d, 0xc0000017
jmp 0x1400237c8
mov r14d, ebx
test r12, r12
je 0x1400236a6
mov eax, dword [rsp + 0x78]
mov dword [rdi], 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 0x140023691
mov r14d, 0xc0000017
jmp 0x14002374c
mov qword [rdi + 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 0x1400236ac
mov dword [rax], ebx
mov qword [rax + 8], rbx
test r13, r13
je 0x1400236ef
mov eax, dword [rsp + 0x70]
mov dword [rdi + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r12, qword [rbp + 0x58]
mov edx, 8
mov rcx, rax
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140023686
mov qword [rdi + 0x18], rax
mov r8, r12
mov rdx, r13
mov rcx, rax
mov r14d, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x1400236f6
mov dword [rdi + 0x10], ebx
mov qword [rdi + 0x18], rbx
mov r12, qword [rbp + 0x68]
test r12, r12
je 0x14002373f
mov eax, dword [rbp - 0x70]
mov dword [rdi + 0x20], eax
mov r13d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r13d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140023686
mov qword [rdi + 0x28], rax
mov r8d, r13d
mov rdx, r12
mov rcx, rax
mov r14d, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140023746
mov dword [rdi + 0x20], ebx
mov qword [rdi + 0x28], rbx
mov r15, rdi
mov rdi, rbx
test rdi, rdi
je 0x1400237c8
mov r12, qword [rdi + 8]
test r12, r12
je 0x140023772
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], rbx
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140023793
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], rbx
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x1400237b4
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], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x1400237d4
mov qword [rbp - 0x68], r15
mov r15, rbx
test r15, r15
je 0x140023850
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x1400237fa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rbx
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x14002381b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rbx
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x14002383c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r14d, 0x10000000
jl 0x140023ffa
mov rax, qword [rbp - 0x68]
mov rdi, rbx
mov qword [rbp + 0x138], rbx
mov r14d, ebx
mov qword [rbp + 0x2c8], rbx
mov dword [rsp + 0x78], ebx
test rax, rax
jne 0x140023889
mov r14d, 0xc000000d
jmp 0x140023dfe
mov r15, qword [rax + 8]
mov qword [rbp + 0x50], r15
test r15, r15
je 0x14002387e
cmp dword [rax], ebx
je 0x14002387e
mov r12d, dword [rax]
mov dword [rsp + 0x70], ebx
test r12, r12
je 0x140023dd8
add r12, 0xfffffffffffffff8
mov qword [rbp + 0x68], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0xb0], rax
mov r13, rax
test rax, rax
je 0x140023dd1
mov rdi, r12
mov byte [rsp + 0x64], bl
mov dword [rbp - 0x2c], ebx
mov dl, bl
mov r9, r15
mov r8, rax
mov r11d, ebx
and edi, 7
je 0x1400239d7
or r15d, 0xffffffff
mov dword [rbp + 0x90], ebx
mov dword [rbp - 0x44], r15d
mov r15d, ebx
mov dword [rsp + 0x68], ebx
mov r10d, ebx
test edi, edi
jle 0x140023956
mov edx, 0x38
movzx eax, byte [r9]
cmp r10d, 4
jge 0x14002392c
lea ecx, [rdx - 0x20]
shl eax, cl
or r11d, eax
jmp 0x140023933
mov ecx, edx
shl eax, cl
or r15d, eax
mov ecx, 1
sub edx, 8
add r10d, ecx
add r9, rcx
cmp r10d, edi
jl 0x140023918
mov dword [rbp + 0x90], r15d
mov dl, bl
mov dword [rsp + 0x68], r11d
jmp 0x14002395b
mov ecx, 1
xor r11d, 0x92f65a5
xor r15d, 0x699a899c
mov dword [rbp - 0x2c], r11d
mov eax, ebx
mov dword [rbp - 0x44], r15d
test edi, edi
jle 0x14002399d
cmp eax, 4
jge 0x140023985
rol r11d, 8
mov byte [r8], r11b
jmp 0x14002398c
rol r15d, 8
mov byte [r8], r15b
add eax, ecx
add r8, rcx
cmp eax, edi
jl 0x140023977
mov r11d, dword [rbp - 0x2c]
mov r15d, dword [rbp - 0x44]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400239ba
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r15d, cl
shl r15d, cl
mov dword [rbp - 0x44], r15d
jmp 0x1400239e1
mov dword [rbp - 0x44], ebx
mov r15d, ebx
test eax, eax
jns 0x1400239e1
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x2c], r11d
jmp 0x1400239e1
mov dword [rsp + 0x68], ebx
mov r15d, ebx
mov dword [rbp - 0x44], ebx
mov rax, r12
shr rax, 3
test rax, rax
je 0x140023d42
mov edx, dword [rsp + 0x68]
lea r12, [r8 + 7]
mov r14d, dword [rbp + 0x90]
lea rbx, [r9 + 2]
mov r13, rax
mov esi, 1
movzx eax, byte [rbx - 1]
movzx r10d, byte [rbx - 2]
movzx r9d, byte [rbx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [rbx - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rbx - 3]
shl r9d, 8
or r9d, eax
xor r15d, r9d
xor r15d, r11d
xor r15d, 0xac987321
lea eax, [r15 + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, r15d
rol eax, 0xa
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub ecx, eax
xor r15d, ecx
lea eax, [r15 - 0x137f]
imul ecx, eax, 0x605e
mov eax, r15d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor r15d, ecx
mov ecx, r15d
xor ecx, 0xab69605e
sub eax, ecx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul ecx, eax, 0xab69
xor edi, ecx
xor r15d, edi
mov edi, 0xab69605e
lea eax, [r15 + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, r15d
rol eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub ecx, eax
xor r15d, ecx
mov eax, r15d
xor eax, edi
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, r15d
ror eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor r15d, ecx
mov eax, r15d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, r15d
mov r15d, 0xab69
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
mov eax, r8d
mov edi, r8d
xor eax, 0x137f
ror edi, 9
imul ecx, eax, 0x605e
add edi, ecx
xor r11d, edi
mov eax, r11d
xor eax, r15d
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, r15d
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, edi
rol eax, 0xe
add ecx, eax
xor r8d, ecx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, r8d
ror eax, 0xe
sub ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, r8d
rol eax, 2
xor r8d, r14d
mov dword [rbp - 0x44], r8d
mov r14d, r9d
xor ecx, eax
xor ecx, edx
mov edx, r10d
xor edi, ecx
mov dword [rbp - 0x2c], edi
mov byte [r12 - 4], dil
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x2c], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x2c]
mov byte [r12 - 0xd], al
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x2c], 8
mov byte [r12 - 9], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x2c]
mov byte [r12 - 0xe], al
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x44]
mov byte [r12 - 0xa], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x2c]
mov byte [r12 - 0xf], al
mov al, byte [rbp - 0x44]
mov byte [r12 - 0xb], al
mov r11d, dword [rbp - 0x2c]
mov r15d, dword [rbp - 0x44]
ror r11d, 8
ror r15d, 8
mov dword [rbp - 0x2c], r11d
mov dword [rbp - 0x44], r15d
sub r13, rsi
jne 0x140023a0c
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov esi, dword [rsp + 0x60]
mov r14d, dword [rsp + 0x78]
mov r12, qword [rbp + 0x68]
mov r13, qword [rbp + 0xb0]
mov rax, rbx
test r12, r12
je 0x140023d5b
mov ecx, 1
xor dl, byte [rax + r13]
add rax, rcx
cmp rax, r12
jb 0x140023d4f
mov rcx, qword [rbp + 0x50]
movzx eax, dl
cmp rax, qword [r12 + rcx]
je 0x140023d77
mov rdi, qword [rbp + 0x138]
mov r15d, 0xc004d501
jmp 0x140023d90
mov r15d, dword [rsp + 0x70]
mov rdi, r13
mov qword [rbp + 0x138], r13
mov r13, rbx
mov qword [rbp + 0x2c8], r12
test r13, r13
je 0x140023db0
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 + 0x138]
test r15d, r15d
js 0x140023dd8
mov eax, dword [rbp + 0x2c8]
mov qword [rbp + 0x60], rdi
mov rdi, rbx
mov dword [rbp + 0xa8], eax
mov qword [rbp + 0x138], rbx
jmp 0x140023dde
mov rdi, qword [rbp + 0x138]
mov r14d, 0xc0000001
test rdi, rdi
je 0x140023dfe
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], rbx
or r14d, 0x10000000
jl 0x140023ffa
cmp dword [rbp + 0xa8], 4
jb 0x140023fef
mov r8, qword [rbp + 0x60]
or r11, 0xffffffffffffffff
mov rcx, r11
mov edx, 0xc0000095
mov r10d, dword [r8]
lea rax, [r8 + 4]
cmp rax, r8
mov dword [rbp + 0x90], r10d
cmovae rcx, rax
sbb r14d, r14d
and r14d, edx
cmp rax, r8
jb 0x140023ff5
mov eax, dword [rbp + 0xa8]
add eax, 0xfffffffc
cmp eax, 4
jb 0x140023fef
mov r15d, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
mov rdi, r11
cmovae rdi, rax
sbb r14d, r14d
and r14d, edx
cmp rax, rcx
jb 0x140023ff5
mov eax, dword [rbp + 0xa8]
add eax, 0xfffffff8
cmp eax, r15d
jb 0x140023fef
lea eax, [r15 + 8]
cmp eax, 8
sbb r14d, r14d
and r14d, edx
cmp eax, 8
jb 0x140023ff5
mov edx, dword [rbp + 0xa8]
lea rcx, [rdi + r15]
lea rax, [r8 + rdx]
cmp rax, rcx
jb 0x140023fef
mov rax, r8
sub rax, rdi
sub rax, r15
add rax, rdx
cmp rax, 8
jae 0x140023fef
mov dword [rbp - 0x70], ebx
mov r12, rbx
mov r14d, ebx
mov r9d, ebx
test rdi, rdi
je 0x140023f81
cmp rcx, rdi
mov r8, r11
mov rdx, rdi
cmovae r8, rcx
sbb r14d, r14d
and r14d, 0xc0000095
cmp rcx, rdi
jb 0x140023fe1
cmp rdi, r8
jae 0x140023f7c
lea rax, [rdx + 4]
cmp rax, rdx
jb 0x140023f74
cmp rax, r8
ja 0x140023f69
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140023f61
mov dword [rbp + 0x330], eax
mov ecx, eax
mov rax, r11
add rcx, rdx
cmp rcx, rdx
cmovae rax, rcx
sbb r14d, r14d
and r14d, 0xc0000095
cmp rcx, rdx
jb 0x140023fe1
cmp rax, r8
ja 0x140023f69
inc r9d
mov rdx, rax
mov dword [rbp - 0x70], r9d
cmp rax, r8
jmp 0x140023f0b
mov r14d, 0xc0000095
jmp 0x140023fe1
mov r14d, 0xc000000d
jmp 0x140023ff5
mov r14d, 0xc0000095
jmp 0x140023ff5
cmp rdx, r8
jne 0x140023f69
test r15d, r15d
je 0x140023fb0
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 0x140023fad
mov r14d, 0xc0000017
jmp 0x140023fda
mov r14d, ebx
test rdi, rdi
je 0x140023fc3
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 - 0x70]
mov dword [rbp + 0x118], eax
mov qword [rbp + 0x120], r12
mov dword [rbp + 0x11c], r15d
mov r10d, dword [rbp + 0x90]
test r14d, r14d
js 0x140023ff5
cmp r10d, dword [rbp + 0x118]
je 0x140023ff5
mov r14d, 0xc000003e
bts r14d, 0x1c
mov rdi, qword [rbp + 0x30]
test rdi, rdi
je 0x140024017
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [rbp + 0x1b8]
test r15, r15
je 0x1400240a1
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140024044
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rbx
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140024065
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rbx
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x140024086
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1b8], rbx
mov rdi, qword [rbp + 0x70]
test rdi, rdi
je 0x1400240be
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 - 0x40]
test rdi, rdi
je 0x1400240db
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [rbp - 0x68]
test r15, r15
je 0x14002415b
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140024105
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rbx
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140024126
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rbx
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x140024147
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x60]
test rdi, rdi
je 0x140024178
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x1400242ac
mov r13d, 1
cmp dword [rbp + 0x118], r13d
jb 0x1400242ac
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x1400242ac
cmp dword [rbp + 0x118], ebx
jbe 0x1400242ac
mov ecx, dword [rdi]
lea rax, [rdi + 4]
or r10, 0xffffffffffffffff
mov r11d, 0xc0000095
cmp rax, rdi
mov rdx, r10
cmovae rdx, rax
sbb r8d, r8d
and r8d, r11d
cmp rax, rdi
jb 0x1400241ed
test ecx, ecx
mov dword [rbp + 0x1f8], ecx
mov rax, rbx
cmovne rax, rdx
mov qword [rbp + 0x458], rax
jmp 0x1400241fa
mov ecx, dword [rbp + 0x1f8]
mov rax, qword [rbp + 0x458]
test r8d, r8d
js 0x1400242ac
cmp ecx, 4
jne 0x1400242ac
mov eax, dword [rax]
mov dword [rbp + 0x1fc], eax
test eax, eax
js 0x1400242ac
cmp dword [rbp + 0x118], r13d
jbe 0x1400242ac
mov rdx, qword [rbp + 0x120]
mov r9d, ebx
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x1400242ac
mov ecx, dword [rdx]
mov rdx, r10
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, r11d
cmp rcx, r8
jb 0x14002428c
add r9d, r13d
cmp r9d, r13d
jb 0x140024233
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r10, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x14002428c
test ecx, ecx
mov dword [rbp + 0xe0], ecx
mov rax, rbx
cmovne rax, r10
mov qword [rbp + 0x460], rax
jmp 0x140024299
mov ecx, dword [rbp + 0xe0]
mov rax, qword [rbp + 0x460]
test edi, edi
js 0x1400242ac
cmp ecx, 8
jne 0x1400242ac
mov rax, qword [rax]
mov qword [rbp + 0x4c8], rax
mov r15, qword [rbp - 0x80]
mov r14, qword [rbp - 0x78]
and qword [rbp - 0x18], 0
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x1400242da
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 - 0x10], rbx
and qword [rbp + 0x118], 0
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x140024309
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 + 0x120], rbx
test r14, r14
je 0x140024322
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x14002433b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0xd8]
mov r14d, dword [rbp + 0x17c]
mov dword [rbp + 0x474], eax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x140], rbx
jmp 0x14001aed0
cmp esi, 0xd00000e5
je 0x14002438a
cmp esi, 0xc004d501
je 0x14002438a
cmp esi, 0xd000003e
jne 0x14002438f
mov esi, 0xc004f028
jmp 0x14001af73
mov esi, 0xc004f027
test esi, esi
jns 0x1400243a6
cmp esi, 0x8007007a
jne 0x14001af73
mov ebx, 0xc004f01e
jmp 0x1400243be
cmp r14d, 4
jne 0x14002439f
mov rcx, qword [rbp + 0x208]
mov rax, qword [rbp + 0x468]
mov edx, dword [rcx]
mov dword [rax], edx
lea rcx, [rbp + 0x208]
call fcn.1400466fc
mov eax, ebx
mov rcx, qword [rbp + 0x1110]
xor rcx, rsp
call fcn.140065760
mov rbx, qword [rsp + 0x1260]
add rsp, 0x1220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret