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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xef0]
sub rsp, 0xff0
mov rax, qword [0x1400ab2e8]
xor rax, rsp
mov qword [rbp + 0xee0], rax
xor r14d, r14d
mov qword [rbp + 0x98], r8
mov qword [rbp + 0xc10], rdx
mov qword [rbp + 0xa0], r14
test rdx, rdx
jne 0x14001d3f8
mov r14d, 0x80070057
jmp 0x140027fda
test r8, r8
je 0x14001d3ed
mov dword [rbp + 0x78], r14d
mov r12d, r14d
mov qword [rbp + 0xa8], r14
mov r15d, 1
xor eax, eax
lock cmpxchg dword [0x1400ac66c], r15d
jne 0x14001d411
mov eax, dword [0x1400ac668]
or edi, 0xffffffff
mov dword [rbp + 0x44], edi
mov ebx, 0x338
test eax, eax
jne 0x14001d9b3
mov dword [rbp + 0x30], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14001d7d8
mov esi, 0x67
lea r15, [rax + 7]
mov r13d, r14d
lea r12, [0x14008acb2]
mov ecx, edi
mov r10d, r14d
mov r11d, r14d
lea ebx, [rsi - 0x66]
movzx eax, byte [r12 - 1]
movzx r9d, byte [r12 - 2]
movzx r8d, byte [r12 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 5]
or r8d, eax
xor r11d, r9d
movzx eax, byte [r12 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r12 - 3]
shl r8d, 8
or r8d, eax
xor r10d, r8d
xor r10d, r11d
xor r10d, 0xac987321
lea eax, [r10 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r10d
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 r10d, edx
imul edx, r10d, 0x605e
mov eax, r10d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r10d, edx
mov edx, r10d
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 r10d, edi
mov edi, 0xab69605e
lea eax, [r10 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r10d
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 r10d, edx
mov eax, r10d
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r10d
ror eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r10d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r10d, [r11 - 0x7f1]
xor r10d, edx
xor r10d, edi
mov eax, r10d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r10d
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 r10d, edx
mov eax, r10d
mov edi, r10d
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add edx, eax
xor r10d, edx
xor r11d, r10d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r10d, edx
lea eax, [r10 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r10d
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor r10d, edx
lea eax, [r10 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r10d
ror eax, 0xe
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor r10d, edx
mov eax, r10d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r10d
xor r10d, ecx
rol eax, 2
mov ecx, r8d
xor edx, eax
xor edx, r13d
mov r13d, r9d
xor r11d, edx
mov byte [r15 - 4], r11b
mov byte [r15], r10b
lea r15, [r15 + 8]
ror r11d, 8
mov byte [r15 - 0xd], r11b
ror r10d, 8
mov byte [r15 - 9], r10b
ror r11d, 8
mov byte [r15 - 0xe], r11b
ror r10d, 8
mov byte [r15 - 0xa], r10b
ror r11d, 8
ror r10d, 8
mov byte [r15 - 0xf], r11b
mov byte [r15 - 0xb], r10b
ror r10d, 8
ror r11d, 8
sub rsi, rbx
jne 0x14001d487
mov rbx, qword [rsp + 0x78]
mov rax, r14
mov cl, r14b
mov esi, r14d
mov r13d, r14d
mov edx, 0x338
mov r15d, 1
xor cl, byte [rax + rbx]
add rax, r15
cmp rax, rdx
jb 0x14001d79e
movzx eax, cl
cmp rax, qword [0x14008afe8]
je 0x14001d830
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r12d, r14d
lea rsi, [0x1400ac460]
mov ebx, 4
mov rdi, rsi
cmp qword [rdi], r14
je 0x14001d7fb
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub rbx, r15
jne 0x14001d7e7
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140067db0]
lea rcx, [0x1400a5050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001d9bc
mov byte [rbx + rdx - 1], r14b
lea rdi, [0x1400ac460]
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r15, rbx
cmp byte [rbx], r14b
je 0x14001d97c
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r14w
jne 0x14001d85d
lea rbx, [rbx + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea rdi, [rdi + rcx*8]
xor ecx, ecx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x14001d972
mov rax, qword [rdi]
mov ecx, 0x5a4d
mov esi, r14d
cmp word [rax], cx
je 0x14001d8a6
mov esi, 0xc000007b
jmp 0x14001d8f0
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001d89f
add rcx, qword [rdi]
cmp rcx, qword [rdi]
jb 0x14001d89f
cmp dword [rcx], 0x4550
jne 0x14001d89f
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001d8df
mov esi, 0xc000000d
jmp 0x14001d8f0
mov rax, qword [rcx + 0x88]
mov qword [rdi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rdi + 8], eax
mov eax, dword [rbx + 2]
mov r12d, r14d
add rbx, 6
mov dword [rbp - 0x68], eax
mov ecx, 1
test eax, eax
je 0x14001d95d
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r14b
jne 0x14001d90d
inc rbx
add rbx, rax
test esi, esi
js 0x14001d94c
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov rdx, rax
test rax, rax
je 0x14001d977
mov eax, dword [rbp + 0x30]
lea r8, [0x1400a5050]
mov ecx, 1
mov qword [r8 + rax*8], rdx
jmp 0x14001d94f
mov eax, dword [rbp + 0x30]
add eax, ecx
add r12d, ecx
mov dword [rbp + 0x30], eax
cmp r12d, dword [rbp - 0x68]
jb 0x14001d906
add r13d, ecx
lea rdi, [0x1400ac460]
cmp byte [rbx], r14b
jne 0x14001d856
jmp 0x14001d977
mov esi, 0xc000007a
test r15, r15
je 0x14001d99c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r15d, 1
test esi, esi
js 0x14001d7d5
mov eax, dword [0x1400ac668]
mov r12d, r14d
add eax, r15d
mov dword [0x1400ac668], eax
mov eax, r14d
mov esi, r14d
xchg dword [0x1400ac66c], eax
mov qword [rbp + 0xc0], r14
mov ebx, r14d
mov qword [rbp + 0xc8], r14
mov edi, 0x80004005
mov rax, qword gs:[0x60]
mov r13d, 0x80070000
cmp dword [rax + 0x2c0], r14d
je 0x14001dd11
movabs r10, 0xf6ddaf373053f870
mov rax, qword [0x1400a5160]
call qword [0x14006efd8]
mov r15, rax
test rax, rax
jne 0x14001da3f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14001dd14
mov ebx, edi
jmp 0x14001dd14
mov qword [rbp + 0xd0], r14
mov r9d, r14d
mov rdi, r14
mov rax, r14
test rdi, rdi
mov r8, r14
cmovne r8, rax
movabs r10, 0xe8a8076f5454d170
lea rax, [rbp + 0x74]
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rax, qword [0x1400a5180]
call qword [0x14006efd8]
test eax, eax
jne 0x14001db0c
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x14001dafb
cmp qword [rbp + 0xd0], r14
jne 0x14001daf4
mov edi, dword [rbp + 0x74]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0xd0]
mov rdi, rax
call fcn.140046c74
mov qword [rbp + 0xd0], rdi
test rdi, rdi
je 0x14001daed
mov r9d, dword [rbp + 0x74]
mov rax, rdi
jmp 0x14001da4f
mov ebx, 0x8007000e
jmp 0x14001db21
mov ebx, 0x80004005
jmp 0x14001db21
test eax, eax
je 0x14001daf4
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
jmp 0x14001db21
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xd0], r14
lea rcx, [rbp + 0xd0]
call fcn.140046c74
test ebx, ebx
js 0x14001dd14
mov rdi, qword [0x1400a5178]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
nop dword [rax + rax]
mov ecx, eax
movabs r10, 0xcb9036c510d00b70
mov rax, rdi
call qword [0x14006efd8]
mov r15, rax
test rax, rax
jne 0x14001db8e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14001dd14
mov ebx, 0x80004005
jmp 0x14001dd14
mov qword [rbp + 0xd8], r14
mov ebx, r14d
mov r9d, r14d
mov rdi, r14
mov rax, r14
test rdi, rdi
mov r8, r14
cmovne r8, rax
movabs r10, 0xe8a8076f5454d170
lea rax, [rbp + 0x70]
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rax, qword [0x1400a5180]
call qword [0x14006efd8]
test eax, eax
jne 0x14001dc65
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x14001dc4f
cmp qword [rbp + 0xd8], r14
jne 0x14001dc46
mov edi, dword [rbp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0xd8]
mov rdi, rax
call fcn.140046c74
mov qword [rbp + 0xd8], rdi
test rdi, rdi
je 0x14001dc3f
mov r9d, dword [rbp + 0x70]
mov rax, rdi
jmp 0x14001dba1
mov ebx, 0x8007000e
jmp 0x14001dc7a
mov edi, 0x80004005
mov ebx, edi
jmp 0x14001dc7f
mov edi, 0x80004005
test eax, eax
je 0x14001dc4b
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
jmp 0x14001dc7f
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd8], r14
mov edi, 0x80004005
lea rcx, [rbp + 0xd8]
call fcn.140046c74
test ebx, ebx
js 0x14001dd14
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x14001dd11
lea rdx, [0x140088c00]
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001dd11
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x14001dd11
lea rdx, str.Default
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001dd11
xor eax, eax
mov dword [rbp + 0x40], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
nop dword [rax + rax]
mov r9d, 4
lea r8, [rbp + 0x40]
mov rcx, rax
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
nop dword [rax + rax]
test eax, eax
je 0x14001da19
mov eax, SafeArrayGetDim
test byte [rbp + 0x40], al
mov eax, 1
cmove esi, eax
mov r12d, esi
lea rcx, [rbp + 0xc8]
call fcn.140046c74
lea rcx, [rbp + 0xc0]
call fcn.140046c74
test ebx, ebx
mov edi, r14d
cmovns edi, r12d
mov dword [rbp - 0x68], edi
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0xa8]
mov qword [rsp + 0x78], rax
mov rbx, rax
call fcn.140046c44
test rbx, rbx
jne 0x14001de2a
mov qword [rbp + 0xa8], r14
mov r13d, 0x8007000e
mov esi, dword [rbp + 0x40]
mov r15d, 1
xor eax, eax
lock cmpxchg dword [0x1400ac66c], r15d
jne 0x14001dd7f
mov eax, dword [0x1400ac668]
test eax, eax
jle 0x14001ddf4
sub eax, r15d
mov dword [0x1400ac668], eax
jne 0x14001ddf4
lea r12, [0x1400ac460]
mov ebx, 4
mov rdi, r12
cmp qword [rdi], r14
je 0x14001ddc4
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub rbx, r15
jne 0x14001ddb0
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140067db0]
lea rcx, [0x1400a5050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
lea rcx, [rbp + 0xa8]
xchg dword [0x1400ac66c], eax
call fcn.140046c44
test r13d, r13d
jns 0x140027fc3
cmp r13d, 0xd0000034
jne 0x140027f84
mov r13d, 0xc004f012
jmp 0x140027fbe
xorps xmm0, xmm0
mov qword [rbp + 0xa8], rbx
movups xmmword [rbp + 0x1f8], xmm0
mov r15, r14
mov qword [rbp + 0x210], r14
mov r12, r14
mov dword [rbp + 0x6c], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r13d, 8
mov r8d, LoadRegTypeLib
mov rcx, rax
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
movabs rbx, 0xc81ecb17b1b54a58
mov dword [rbp + 0x48], 0x38
lea r8, [0x140000000]
lea edx, [r13 + 0x78]
test rax, rax
jne 0x14001dea6
mov r13d, 0xc0000017
mov dword [rbp + 0x30], r13d
jmp 0x140020dcf
mov r15, rax
lea rax, [r8 + 0xab410]
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r15 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r15 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r15 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r15 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r15 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r15 + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [r15 + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [r15 + rdx + 0x10], xmm1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14001de97
mov r12, rax
mov rax, qword [0x1400ab350]
mov qword [r12], rax
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp], rax
mov dword [rbp + 0x5c], SafeArrayGetDim
mov rcx, qword [rbp + 0xc10]
lea r8, [rbp + 0xe8]
mov edx, 0x7fffffff
call fcn.140046cc0
test eax, eax
jns 0x14001df85
mov qword [rbp + 0xe8], r14
mov r13d, 0xc000003e
jmp 0x14001de9d
mov rax, qword [rbp + 0xe8]
inc rax
mov dword [rbp - 8], 8
mov qword [rbp + 0xe8], rax
mov dword [rbp - 0x28], LoadRegTypeLib
lea ecx, [rax*2 + 4]
cmp ecx, 4
jb 0x14001dfb5
mov r13d, r14d
jmp 0x14001dfc8
mov rax, qword [rsp + 0x78]
mov r13d, 0xc0000095
mov ecx, dword [rbp + 0x5c]
mov qword [rsp + 0x78], rax
mov dword [rbp + 0x30], r13d
test r13d, r13d
js 0x140020dcf
mov edx, 0xc4
mov dword [rbp + 0x10], edi
or r9d, 0xffffffff
mov r10d, 0x10000000
mov r8d, r9d
lea eax, [rcx + rdx]
cmp eax, edx
cmovae r8d, eax
sbb r13d, r13d
and r13d, 0xc0000095
add r13d, r10d
mov dword [rbp + 0x30], r13d
cmp eax, edx
jb 0x140020f67
lea eax, [r8 + 8]
mov dword [rbp + 0x10], edi
cmp eax, r8d
mov edx, r9d
cmovae edx, eax
sbb r13d, r13d
and r13d, 0xc0000095
add r13d, r10d
mov dword [rbp + 0x30], r13d
cmp eax, r8d
jb 0x140020f67
lea eax, [rdx + 8]
mov dword [rbp + 0x10], edi
cmp eax, edx
mov r8d, r9d
cmovae r8d, eax
sbb r13d, r13d
and r13d, 0xc0000095
add r13d, r10d
mov dword [rbp + 0x30], r13d
cmp eax, edx
jb 0x140020f67
mov dword [rbp + 0x20c], r8d
mov edi, r8d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x14001e09b
mov r13d, 0xc0000017
jmp 0x14001e8b7
mov qword [rbp + 0x210], rax
mov ecx, r14d
mov dword [rbp + 0x208], ecx
test rax, rax
jne 0x14001e0f5
mov eax, dword [rbp + 0x20c]
lea r11d, [rax + 8]
cmp r11d, eax
jb 0x140020f5c
mov rdx, qword [rsp + 0x78]
inc ecx
mov r9d, dword [rbp - 8]
mov rdi, rdx
mov r8d, dword [rbp - 0x28]
mov rax, r15
mov dword [rbp + 0x208], ecx
mov r13d, r9d
mov qword [rsp + 0x78], rdx
mov r10, r12
mov dword [rbp + 0x20c], r11d
jmp 0x14001e179
mov rdi, qword [rbp + 0x210]
mov rdx, qword [rsp + 0x78]
mov r8d, dword [rbp - 0x28]
mov r9d, dword [rbp - 8]
lea r10, [rdi + 4]
cmp r10, rdi
jb 0x140020f5c
mov ecx, dword [rbp + 0x20c]
lea rax, [rdi + 8]
add rcx, rdi
cmp rax, rcx
jbe 0x14001e133
mov r13d, 0xc0000023
jmp 0x14001e8b7
mov dword [rdi], 4
mov dword [r10], r14d
mov ecx, dword [rbp + 0x208]
inc ecx
mov dword [rbp + 0x208], ecx
mov qword [rsp + 0x78], rdx
mov rdi, rdx
mov rax, r15
mov r13d, r9d
mov r10, r12
test r15, r15
jne 0x14001e172
test r8d, r8d
jne 0x14001e24b
mov r11d, dword [rbp + 0x20c]
jmp 0x14001e182
mov r11d, dword [rbp + 0x20c]
test r8d, r8d
je 0x14001e24b
cmp qword [rbp + 0x210], r14
jne 0x14001e1af
mov r15, rax
mov r12, r10
mov r9d, 0xa4
add r9d, r11d
cmp r9d, r11d
jb 0x140020f5c
mov dword [rbp + 0x20c], r9d
jmp 0x14001e239
mov r10, qword [rbp + 0x210]
mov edi, r14d
test ecx, ecx
je 0x14001e1e1
mov eax, dword [r10]
add eax, 4
cmp eax, 4
jb 0x140020f5c
add rax, r10
cmp rax, r10
jb 0x140020f5c
inc edi
mov r10, rax
cmp edi, ecx
jb 0x14001e1bd
mov r13d, r9d
mov qword [rsp + 0x78], rdx
lea r9, [r10 + 4]
mov rdi, rdx
cmp r9, r10
jb 0x140020f5c
mov edx, r8d
lea rax, [r10 + 4]
mov ecx, r11d
add rax, rdx
add rcx, qword [rbp + 0x210]
cmp rax, rcx
ja 0x14001e128
mov dword [r10], r8d
test r15, r15
je 0x14001e22c
mov r8d, edx
mov rcx, r9
mov rdx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp + 0x208]
mov r9d, dword [rbp + 0x20c]
inc ecx
mov dword [rbp + 0x208], ecx
test r12, r12
jne 0x14001e256
test r13d, r13d
je 0x14001e25b
mov r13d, 0xc000000d
jmp 0x14001e8b7
test r13d, r13d
je 0x14001e24b
cmp qword [rbp + 0x210], r14
jne 0x14001e282
mov r8d, SafeArrayGetDim
add r8d, r9d
cmp r8d, r9d
jb 0x140020f5c
mov dword [rbp + 0x20c], r8d
jmp 0x14001e307
mov rdx, qword [rbp + 0x210]
mov r8d, r14d
test ecx, ecx
je 0x14001e2b8
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140020f5c
mov r10d, eax
add r10, rdx
cmp r10, rdx
jb 0x140020f5c
inc r8d
mov rdx, r10
cmp r8d, ecx
jb 0x14001e290
lea r10, [rdx + 4]
mov qword [rsp + 0x78], rdi
cmp r10, rdx
jb 0x140020f5c
mov r8d, r13d
lea rax, [rdx + 4]
mov ecx, r9d
add rax, r8
add rcx, qword [rbp + 0x210]
cmp rax, rcx
ja 0x14001e128
mov dword [rdx], r13d
test r12, r12
je 0x14001e2fa
mov rdx, r12
mov rcx, r10
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp + 0x208]
mov r8d, dword [rbp + 0x20c]
mov r13d, 1
add ecx, r13d
mov dword [rbp + 0x208], ecx
cmp qword [rbp + 0x210], r14
jne 0x14001e33d
lea eax, [r8 + 0xc]
cmp eax, r8d
jb 0x140020f5c
add ecx, r13d
mov dword [rbp + 0x20c], eax
mov dword [rbp + 0x208], ecx
jmp 0x14001e3b0
mov rdx, qword [rbp + 0x210]
mov r9d, r14d
test ecx, ecx
je 0x14001e373
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140020f5c
mov r10d, eax
add r10, rdx
cmp r10, rdx
jb 0x140020f5c
add r9d, r13d
mov rdx, r10
cmp r9d, ecx
jb 0x14001e34b
lea r9, [rdx + 4]
mov qword [rsp + 0x78], rdi
cmp r9, rdx
jb 0x140020f5c
mov ecx, r8d
lea rax, [rdx + 0xc]
add rcx, qword [rbp + 0x210]
cmp rax, rcx
ja 0x14001e128
mov rax, qword [rbp]
mov dword [rdx], 8
mov qword [r9], rax
add dword [rbp + 0x208], r13d
mov rcx, qword [rbp + 0xc10]
lea r8, [rbp + 0xf0]
mov edx, 0x7fffffff
call fcn.140046cc0
test eax, eax
jns 0x14001e3de
mov qword [rbp + 0xf0], r14
mov r13d, 0xc000003e
jmp 0x14001e8b7
mov rax, qword [rbp + 0xf0]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x140020f54
lea r9d, [rcx + rcx]
mov qword [rbp + 0xf0], rcx
test r9d, r9d
je 0x14001e523
cmp qword [rbp + 0x210], r14
jne 0x14001e46a
add r9d, 4
cmp r9d, 4
jb 0x14001e45f
mov eax, dword [rbp + 0x20c]
mov edx, dword [rbp + 0x208]
mov qword [rsp + 0x78], rdi
lea ecx, [rax + r9]
cmp ecx, eax
jb 0x14001e44d
add edx, r13d
mov dword [rbp + 0x20c], ecx
mov dword [rbp + 0x208], edx
mov r13d, r14d
mov dword [rbp + 0x30], r14d
jmp 0x14001e538
or dword [rbp + 0x20c], 0xffffffff
mov r13d, 0xc0000095
jmp 0x14001e534
mov r13d, 0xc0000095
jmp 0x14001e529
mov edx, dword [rbp + 0x208]
mov r13d, r14d
mov r8, qword [rbp + 0x210]
test edx, edx
je 0x14001e4b8
mov rcx, r12
mov r10, r15
mov r11, rdi
mov eax, dword [r8]
mov rdi, r11
add eax, 4
mov qword [rsp + 0x78], r11
mov r15, r10
mov r12, rcx
cmp eax, 4
jb 0x14001e4ec
mov ecx, eax
add rcx, r8
cmp rcx, r8
jb 0x14001e4ec
inc r13d
mov r8, rcx
mov rcx, r12
cmp r13d, edx
jb 0x14001e487
lea r11, [r8 + 4]
cmp r11, r8
jb 0x14001e454
mov ecx, dword [rbp + 0x20c]
lea rax, [r9 + 4]
add rcx, qword [rbp + 0x210]
add rax, r8
mov dword [rbp + 0x30], r14d
mov r13d, r14d
mov r10d, r9d
cmp rax, rcx
jbe 0x14001e4f9
mov r13d, 0xc0000023
jmp 0x14001e52f
mov r13d, 0xc0000095
mov qword [rsp + 0x78], r11
jmp 0x14001e534
mov rdx, qword [rbp + 0xc10]
mov rcx, r11
mov dword [r8], r9d
mov r8, r10
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, dword [rbp + 0x208]
inc edx
mov qword [rsp + 0x78], rdi
mov dword [rbp + 0x208], edx
jmp 0x14001e538
mov r13d, 0xc000000d
mov edx, dword [rbp + 0x208]
mov qword [rsp + 0x78], rdi
mov dword [rbp + 0x30], r13d
mov r10, r15
mov rcx, r12
mov r9d, dword [rbp - 0x68]
test r13d, r13d
js 0x140020f4c
cmp qword [rbp + 0x210], r14
jne 0x14001e579
mov eax, dword [rbp + 0x20c]
lea r11d, [rax + 8]
cmp r11d, eax
jb 0x140020f42
mov dword [rbp + 0x20c], r11d
mov r13d, 1
jmp 0x14001e608
mov r8, qword [rbp + 0x210]
mov r11d, r14d
mov r13d, 1
test edx, edx
je 0x14001e5be
mov eax, dword [r8]
mov r15, r10
add eax, 4
mov r12, rcx
cmp eax, 4
jb 0x140020f42
mov ecx, eax
add rcx, r8
cmp rcx, r8
jb 0x140020f42
add r11d, r13d
mov r8, rcx
mov rcx, r12
cmp r11d, edx
jb 0x14001e58d
lea rdx, [r8 + 4]
mov qword [rsp + 0x78], rdi
cmp rdx, r8
jb 0x140020f42
mov ecx, dword [rbp + 0x20c]
lea rax, [r8 + 8]
add rcx, qword [rbp + 0x210]
cmp rax, rcx
jbe 0x14001e5f1
mov r13d, 0xc0000023
jmp 0x140020f48
mov dword [r8], 4
mov dword [rdx], r9d
mov edx, dword [rbp + 0x208]
mov r11d, dword [rbp + 0x20c]
add edx, r13d
mov dword [rbp + 0x208], edx
cmp qword [rbp + 0x210], r14
jne 0x14001e638
lea ecx, [r11 + 8]
cmp ecx, r11d
jb 0x140020f42
add edx, r13d
mov dword [rbp + 0x20c], ecx
mov dword [rbp + 0x208], edx
jmp 0x14001e6b7
mov r8, qword [rbp + 0x210]
mov ecx, r14d
test edx, edx
je 0x14001e674
mov eax, dword [r8]
add eax, 4
cmp eax, 4
jb 0x140020f42
mov r10d, eax
add r10, r8
cmp r10, r8
jb 0x140020f42
mov r13d, 1
mov r8, r10
add ecx, r13d
cmp ecx, edx
jb 0x14001e646
lea rdx, [r8 + 4]
mov qword [rsp + 0x78], rdi
cmp rdx, r8
jb 0x140020f42
mov ecx, r11d
lea rax, [r8 + 8]
add rcx, qword [rbp + 0x210]
cmp rax, rcx
ja 0x14001e5e6
mov dword [r8], 4
mov dword [rdx], 4
add dword [rbp + 0x208], r13d
mov ecx, dword [rbp + 0x20c]
mov qword [rbp - 0x30], r14
mov dword [rbp - 0x28], r14d
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x20], r14
mov dword [rbp - 8], r14d
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x38], r14
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp - 0x18], rax
add ecx, 8
cmp ecx, 8
jb 0x140020f3a
lea rdx, [rcx + 7]
and edx, 0xfffffff8
cmp edx, ecx
jb 0x140020f3a
mov r13d, edx
mov qword [rbp - 0x40], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r13d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp + 0x10], rax
mov rcx, rax
test rax, rax
jne 0x14001e740
mov r13d, 0xd0000017
jmp 0x14001e8b7
mov eax, dword [rbp + 0x208]
lea rdx, [rcx + 4]
mov qword [rbp - 0x58], r15
mov r8, r15
mov qword [rbp - 0x60], r12
mov r9, r12
mov dword [rcx], eax
cmp rdx, rcx
jb 0x14001e875
mov eax, dword [rbp + 0x20c]
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
jb 0x14001e879
mov rdx, qword [rbp - 0x18]
mov qword [rcx + r13 - 8], rdx
mov rcx, rax
mov r8d, dword [rbp + 0x20c]
mov rdx, qword [rbp + 0x210]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rbp - 0x40]
mov r13, qword [rbp + 0x10]
mov qword [rbp - 0x30], r13
mov dword [rbp - 0x28], eax
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140020a92
add rax, 8
mov qword [rbp - 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x80], rax
mov r9, rax
test rax, rax
je 0x140020a92
mov r8d, dword [rbp - 0x28]
mov al, r14b
mov byte [rsp + 0x60], al
mov rcx, r14
mov edx, r8d
test r8d, r8d
je 0x14001e81b
mov r8d, 1
xor al, byte [rcx + r13]
add rcx, r8
cmp rcx, rdx
jb 0x14001e80b
mov byte [rsp + 0x60], al
mov rcx, r9
mov qword [rbp + 0x6f0], rbx
or r10d, 0xffffffff
mov qword [rsp + 0x68], rcx
mov dword [rbp + 0x30], r14d
mov r8, r13
mov dword [rbp + 0x10], r14d
mov r9d, r14d
and edx, 7
je 0x14001e9ac
mov ecx, r14d
mov r10d, r14d
mov dword [rbp - 0x48], ecx
test edx, edx
je 0x14001e989
mov esi, 0x38
lea eax, [rsi - 0x37]
movzx r11d, byte [r8]
inc r8
cmp ecx, 4
jae 0x14001e8c3
lea ecx, [rsi - 0x20]
shl r11d, cl
or r9d, r11d
jmp 0x14001e8cb
mov qword [rbp + 0x10], rcx
mov r13d, 0xc0000095
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x10]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
or r13d, 0x10000000
mov dword [rbp + 0x30], r13d
jl 0x140020aa1
mov r13d, 0xd000000d
mov edi, dword [rbp - 0x68]
mov dword [rbp + 0x30], r13d
jmp 0x140020dcf
mov ecx, esi
shl r11d, cl
or r10d, r11d
mov ecx, dword [rbp - 0x48]
sub esi, 8
add ecx, eax
mov dword [rbp + 0x30], r10d
mov dword [rbp + 0x10], r9d
mov dword [rbp - 0x48], ecx
cmp ecx, edx
jl 0x14001e85e
mov al, byte [rsp + 0x60]
xor r9d, 0xb17a307a
mov rbx, qword [rsp + 0x68]
xor r10d, 0x42f6b18d
mov dword [rbp - 0x48], r14d
mov r11d, r10d
mov ecx, r9d
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r15
mov r14d, 1
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x30], r13
cmp dword [rbp - 0x48], 4
lea r13, [rbx + 1]
mov qword [rsp + 0x68], r13
jge 0x14001e935
rol ecx, 8
mov r13d, ecx
jmp 0x14001e93c
rol r11d, 8
mov r13d, r11d
add dword [rbp - 0x48], r14d
mov byte [rbx], r13b
mov r13, qword [rsp + 0x68]
mov rbx, r13
cmp dword [rbp - 0x48], edx
jl 0x14001e91e
mov rcx, r13
mov r13, qword [rbp - 0x30]
mov qword [rsp + 0x68], rcx
movabs rbx, 0xc81ecb17b1b54a58
mov r14d, 0
cmp edx, 4
jbe 0x14001e982
lea ecx, [r14 + 8]
sub ecx, edx
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x14001e9a7
mov r10d, r14d
jae 0x14001e9ac
jmp 0x14001e997
mov r9d, 0xb17a307a
mov dword [rbp + 0x10], r14d
mov dword [rbp + 0x30], r14d
mov ecx, 4
sub ecx, edx
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov rcx, qword [rsp + 0x68]
mov edx, dword [rbp - 0x28]
mov r11d, edx
shr rdx, 3
test rdx, rdx
je 0x14001ecf5
movzx eax, word [rbp + 0x6f2]
lea r12, [rcx + 7]
mov r13d, dword [rbp + 0x30]
lea r15, [r8 + 2]
mov r14d, dword [rbp + 0x10]
mov rsi, rdx
mov dword [rbp - 0x48], eax
movzx eax, word [rbp + 0x6f4]
movzx r11d, bx
movzx ecx, byte [r15 - 1]
movzx r8d, byte [r15 - 2]
movzx edi, byte [r15 + 2]
shl r8d, 8
or r8d, ecx
shl edi, 8
movzx ecx, byte [r15]
lea r15, [r15 + 8]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r15 - 7]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r15 - 5]
or edi, ecx
movzx ecx, byte [r15 - 4]
shl edi, 8
or edi, ecx
movzx ecx, byte [r15 - 3]
shl edi, 8
or edi, ecx
movzx ecx, word [rbp + 0x6f2]
xor r10d, edi
mov edx, r10d
sub edx, r11d
xor edx, r8d
xor edx, r9d
mov r9d, edx
ror edx, 0xf
imul edx, ecx
xor r9d, dword [rbp + 0x6f4]
mov ecx, r9d
ror ecx, 7
add edx, ecx
xor r10d, edx
mov ecx, r10d
ror ecx, 0xa
lea edx, [r10 + rbx]
ror edx, 9
imul edx, eax
sub edx, ecx
movzx ecx, word [rbp + 0x6f6]
xor r9d, edx
mov edx, eax
xor edx, r9d
rol edx, 4
imul edx, ecx
mov ecx, r9d
rol ecx, 5
add edx, ecx
mov ecx, dword [rbp + 0x6f4]
xor r10d, edx
mov edx, r10d
xor edx, ebx
sub ecx, edx
xor r9d, ecx
movzx ecx, word [rbp + 0x6f2]
mov edx, r9d
sub edx, r11d
imul edx, ecx
mov ecx, r9d
shr ecx, 6
sub edx, ecx
xor r10d, edx
movzx edx, word [rbp + 0x6f6]
mov ecx, r10d
ror ecx, 0xf
xor ecx, eax
imul ecx, r11d
xor r9d, ecx
mov ecx, r9d
not ecx
ror ecx, 3
add ecx, edx
imul ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, r11d
sub ecx, dword [rbp + 0x6f4]
xor r9d, ecx
mov edx, r9d
ror edx, 0xa
movzx ecx, word [rbp + 0x6f6]
xor ecx, r9d
imul ecx, dword [rbp - 0x48]
xor edx, ecx
xor r10d, edx
mov edx, r11d
xor edx, r10d
mov ecx, r10d
rol edx, 6
imul edx, eax
ror ecx, 3
xor edx, ecx
xor r9d, edx
movzx edx, word [rbp + 0x6f6]
mov ecx, r9d
ror ecx, 0xf
sub ecx, edx
imul ecx, r11d
xor r10d, ecx
xor edx, r10d
mov ecx, r10d
imul edx, r11d
shr ecx, 1
xor edx, ecx
mov ecx, r10d
xor r9d, edx
shr ecx, 0xf
mov edx, r10d
sub edx, eax
rol edx, 3
imul edx, r11d
xor edx, ecx
movzx ecx, word [rbp + 0x6f2]
xor r9d, edx
mov edx, r9d
sub edx, eax
imul edx, ecx
mov ecx, r9d
shr ecx, 0xd
sub edx, ecx
xor r10d, edx
mov edx, ebx
sub edx, r10d
mov ecx, r10d
ror edx, 9
imul edx, eax
ror ecx, 0xb
xor edx, ecx
xor r9d, edx
movzx edx, word [rbp + 0x6f6]
mov ecx, r9d
sub ecx, edx
sub ecx, ebx
xor r10d, ecx
movzx ecx, word [rbp + 0x6f2]
xor ecx, r10d
mov edx, r10d
ror edx, 7
imul ecx, r11d
sub ecx, edx
movzx edx, word [rbp + 0x6f6]
xor r9d, ecx
movzx ecx, word [rbp + 0x6f2]
xor edx, r9d
rol edx, 4
imul edx, ecx
mov ecx, r9d
ror ecx, 0x10
sub edx, ecx
xor r10d, edx
mov edx, ebx
sub edx, r10d
mov ecx, r10d
ror edx, 0xa
imul edx, eax
ror ecx, 4
add edx, ecx
xor r9d, edx
mov edx, r9d
sub edx, ebx
movzx ecx, word [rbp + 0x6f6]
ror edx, 4
imul edx, ecx
mov ecx, r9d
ror ecx, 9
xor edx, ecx
xor r10d, edx
mov edx, r10d
mov ecx, r10d
xor edx, dword [rbp + 0x6f4]
rol edx, 8
imul edx, r11d
rol ecx, 2
sub edx, ecx
movzx ecx, word [rbp + 0x6f2]
xor r9d, edx
mov edx, dword [rbp + 0x6f4]
sub edx, r9d
ror edx, 0xb
imul edx, ecx
mov ecx, r9d
ror ecx, 0xc
sub edx, ecx
xor r10d, edx
movzx edx, word [rbp + 0x6f2]
xor edx, r10d
mov ecx, r10d
xor r10d, dword [rbp + 0x6f4]
imul edx, eax
shr ecx, 8
xor edx, ecx
xor r9d, edx
xor r10d, r9d
xor r9d, r14d
mov byte [r12 - 4], r9b
xor r10d, ebx
xor r10d, r13d
ror r9d, 8
mov byte [r12], r10b
mov r14d, r8d
mov byte [r12 - 5], r9b
lea r12, [r12 + 8]
ror r10d, 8
mov r13d, edi
mov byte [r12 - 9], r10b
ror r9d, 8
mov byte [r12 - 0xe], r9b
ror r10d, 8
mov byte [r12 - 0xa], r10b
ror r9d, 8
ror r10d, 8
mov byte [r12 - 0xf], r9b
mov byte [r12 - 0xb], r10b
ror r10d, 8
ror r9d, 8
sub rsi, 1
jne 0x14001e9e7
mov al, byte [rsp + 0x60]
xor r14d, r14d
mov r15, qword [rbp - 0x58]
mov r12, qword [rbp - 0x60]
mov rdi, qword [rsp + 0x78]
mov r13, qword [rbp - 0x30]
mov r11, qword [rbp - 0x40]
movzx ecx, al
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x68], r13
mov qword [rax + r11], rcx
mov qword [rbp + 0x110], 8
mov qword [rbp + 0x118], LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x14001ed53
mov r13d, 0xc0000017
jmp 0x14001efbf
mov rcx, qword [rbp - 0x78]
mov ecx, ecx
mov dword [rax], ecx
mov qword [rbp - 0x30], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x78]
mov edx, 8
mov r8d, r8d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdx, rax
test rax, rax
jne 0x14001ed98
mov rax, qword [rsp + 0x68]
jmp 0x14001eeb6
mov rax, qword [rbp - 0x40]
mov qword [rax + 8], rdx
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rax + 8]
mov r8d, r8d
mov qword [rbp - 0x40], rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsp + 0x68], r13
mov r13, qword [rbp - 0x40]
mov qword [rbp - 0x78], rdi
mov dword [r13 + 0x10], LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov r8d, LoadRegTypeLib
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14001eeba
mov qword [r13 + 0x18], rax
mov r8, qword [rsp + 0x68]
mov rcx, rax
mov edx, 0x80
mov qword [rbp - 0x30], r8
lea rax, [0x140000000]
lea rax, [rax + 0xab360]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [rcx + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
mov dword [r13 + 0x20], 8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov eax, 8
mov r8d, eax
mov edx, eax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x14001ef9b
mov rax, qword [rsp + 0x68]
mov rdi, r13
mov rdi, qword [rbp - 0x78]
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x30], rax
mov r13d, 0xc0000017
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x18], r14
mov rcx, qword [rax + 8]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x14001ef00
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x40]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x14001ef38
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x40]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14001ef70
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x40]
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x40]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, r14
test r13d, r13d
js 0x14001efbf
jmp 0x14001efb7
mov qword [r13 + 0x28], rax
mov rdx, qword [rbp - 0x40]
mov r13d, r14d
mov rax, qword [0x1400ab400]
mov rcx, qword [rdx + 0x28]
mov qword [rcx], rax
mov rax, rdx
mov qword [rbp + 0x18], rax
mov qword [rbp - 0x18], r14
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x18], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x80]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x14001f0d8
mov rcx, qword [rax + 8]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x14001f035
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x18]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x14001f06d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x18]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14001f0a5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x18]
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x18]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x30]
mov qword [rbp + 0x18], rdx
mov qword [rbp - 0x30], rcx
jmp 0x14001f0e0
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x18]
or r13d, 0x10000000
mov dword [rbp + 0x30], r13d
jl 0x14001f1ad
lea rax, [rdx + 0x20]
mov r13, rdx
mov qword [rbp - 0x78], rax
mov eax, dword [rax]
mov dword [rbp - 0x48], eax
lea rax, [rdx + 0x10]
mov qword [rbp - 0x60], rax
mov eax, dword [rax]
mov dword [rbp - 0x28], eax
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140020a09
lea r9d, [rax + 4]
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x18], rdx
cmp r9d, eax
jb 0x140020a7b
mov r8d, dword [rbp - 0x28]
add r8d, r9d
cmp r8d, r9d
jb 0x140020a7b
lea eax, [r8 + 4]
cmp eax, r8d
jb 0x140020a7b
mov r8d, dword [rbp - 0x48]
add r8d, eax
cmp r8d, eax
jb 0x140020a7b
mov eax, r8d
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x80], rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x48], rax
mov rcx, rax
test rax, rax
jne 0x14001f429
mov r13d, 0xd0000017
mov dword [rbp + 0x30], r13d
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14001f1d3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x30]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x14001f2a9
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14001f218
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0x18]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14001f250
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0x18]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14001f288
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0x18]
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x18]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
cmp qword [rbp + 0x20], r14
je 0x14001f2d0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x20]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
cmp qword [rbp + 0x28], r14
je 0x14001f2f7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x28]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x14001f3cd
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14001f33c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0x50]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14001f374
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0x50]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14001f3ac
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0x50]
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x50]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
cmp qword [rbp + 0x38], r14
je 0x14001f3f4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov edx, dword [rbp - 0x68]
test r13d, r13d
js 0x140020dcd
mov eax, 1
cmp dword [rbp + 0x1f8], eax
jb 0x140020d81
cmp qword [rbp + 0x200], r14
jne 0x140020aa9
mov r13d, 0xc000000d
jmp 0x140020dc9
mov eax, dword [r13]
mov r8, rdi
mov rdx, qword [rbp - 0x80]
mov r9, r15
mov dword [rcx], eax
mov r10, r12
lea rax, [rcx + 4]
mov qword [rbp - 0x30], rdx
mov qword [rbp + 0x18], r13
mov r11, r13
mov qword [rbp - 0x80], rax
cmp rax, rcx
jb 0x14001f50e
mov r8d, dword [r13]
mov rcx, rax
mov rdx, qword [r13 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r13]
add rcx, qword [rbp - 0x80]
cmp rcx, qword [rbp - 0x80]
jb 0x14001f4f4
mov rdx, qword [rbp - 0x60]
mov eax, dword [rdx]
mov dword [rcx], eax
lea rax, [rcx + 4]
mov qword [rbp - 0x80], rax
cmp rax, rcx
jb 0x14001f4f4
mov r8d, dword [rdx]
mov rcx, rax
mov rdx, qword [r13 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x60]
mov ecx, dword [rcx]
add rcx, rdx
mov qword [rbp - 0x80], rcx
cmp rcx, rdx
jb 0x14001f4f4
mov rdx, qword [rbp - 0x78]
mov eax, dword [rdx]
mov dword [rcx], eax
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x14001f4f4
mov r8d, dword [rdx]
mov rcx, rax
mov rdx, qword [r13 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rcx, qword [rbp - 0x78]
mov eax, dword [rcx]
mov rcx, qword [rbp - 0x80]
add rcx, 4
add rax, rcx
cmp rax, rcx
jb 0x14001f4fc
mov r8, qword [rbp - 0x48]
mov eax, dword [rsp + 0x68]
mov qword [rbp + 0x20], r8
jmp 0x14001f558
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x30], rax
jmp 0x14001f51a
mov qword [rbp - 0x48], rcx
mov qword [rbp + 0x18], r11
mov qword [rbp - 0x30], rdx
mov r13d, 0xc0000095
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x48]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
or r13d, 0x10000000
mov dword [rbp + 0x30], r13d
jl 0x14001f1a9
mov eax, dword [rbp - 8]
mov r8, r14
cmp qword [rbp + 0x210], r14
jne 0x14001f56c
mov r13d, 0xc000000d
jmp 0x14001f1a5
mov ecx, 1
cmp dword [rbp + 0x208], ecx
mov rcx, qword [rbp - 0x30]
ja 0x14001f588
mov r13d, 0xc000000d
jmp 0x14001ffba
mov r9, qword [rbp + 0x210]
mov r11d, r14d
mov rdx, qword [rbp + 0x18]
lea r10, [r9 + 4]
mov dword [rbp - 8], eax
mov qword [rbp + 0x20], r8
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x18], rdx
cmp r10, r9
jb 0x140020a70
mov r9d, dword [r9]
add r9, r10
cmp r9, r10
jb 0x140020a45
mov eax, 1
add r11d, eax
cmp r11d, eax
mov eax, dword [rbp - 8]
jb 0x14001f596
mov eax, dword [r9]
mov dword [rbp - 0x48], eax
lea rax, [r9 + 4]
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x18], rdx
cmp rax, r9
jb 0x140020a65
mov rax, r8
mov qword [rbp + 0x20], rax
cmp qword [rbp + 0x210], r14
je 0x14001f57d
cmp dword [rbp + 0x208], 2
ja 0x14001f610
mov r13d, 0xc000000d
jmp 0x1400209f4
mov r9, qword [rbp + 0x210]
mov r10, rdx
mov qword [rbp - 0x60], rax
mov r11, r12
mov rax, rdi
mov dword [rbp - 0x28], r14d
mov r13, r15
mov qword [rsp + 0x68], r15
mov qword [rbp - 0x78], rcx
mov edx, dword [rbp - 8]
mov r15, r13
mov r13d, dword [rbp - 0x48]
mov rdi, rax
mov r8, qword [rbp - 0x60]
mov r12, r11
mov dword [rbp - 0x48], r13d
lea r13, [r9 + 4]
mov dword [rbp - 8], edx
mov rdx, r10
mov qword [rbp + 0x20], r8
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x18], rdx
cmp r13, r9
jb 0x140020a4d
mov r9d, dword [r9]
add r9, r13
cmp r9, r13
jb 0x140020a45
inc dword [rbp - 0x28]
mov r13, r15
cmp dword [rbp - 0x28], 2
mov qword [rsp + 0x68], r15
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x60], r8
jb 0x14001f634
mov r10d, dword [r9]
lea rax, [r9 + 4]
cmp rax, r9
jb 0x140020a45
mov eax, dword [rbp - 0x48]
add eax, 0x50
cmp eax, 0x50
jb 0x140020a45
lea r9d, [rax + 4]
cmp r9d, eax
jb 0x140020a45
lea eax, [r9 + r10]
cmp eax, r9d
jb 0x140020a45
cmp eax, 0x400000
jbe 0x14001f6de
mov r13d, 0x8000ffff
jmp 0x14001ffba
mov r13d, eax
mov qword [rsp + 0x68], r13
mov qword [rbp + 0x18], rdx
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x20], r8
mov qword [rbp - 0x80], r8
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], r15
mov qword [rsp + 0x78], r11
mov qword [rbp - 0x18], rdx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r13d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14001f19f
mov r9, rax
mov qword [rbp + 0x28], rax
mov rax, qword [rbp - 0x80]
test rax, rax
jne 0x14001f762
mov rcx, qword [rbp - 0x18]
mov r13d, 0x80070057
mov qword [rbp + 0x18], rcx
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x28], r9
jmp 0x1400209f8
mov qword [rbp + 0x248], rax
lea r8, [rbp + 0x128]
mov eax, dword [rbp - 8]
lea rdx, [0x140081590]
mov ecx, 1
mov dword [rbp + 0x258], eax
mov qword [rbp + 0x250], r9
mov dword [rbp + 0x25c], r13d
mov dword [rbp + 0x260], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x14001f818
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r10, qword [rsp + 0x68]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
mov eax, 0x80004005
test r13d, r13d
cmovns r13d, eax
mov dword [rbp + 0x30], r13d
cmp r13d, 0xd0000023
jne 0x14001f890
mov rcx, qword [rbp - 0x18]
mov r13d, 0x8007007a
mov rax, qword [rbp + 0x28]
mov r8, qword [rbp - 0x80]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x28], rax
mov qword [rbp - 0x30], rcx
mov dword [rbp + 0x30], r13d
mov qword [rbp + 0x20], r8
jmp 0x14001f1ad
mov rcx, qword [rbp + 0x128]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x14001f7aa
movabs r10, 0x86712ea7345e2b70
xor r9d, r9d
lea rdx, [rbp + 0x248]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x14006efd8]
mov r10, qword [rsp + 0x68]
mov r13d, eax
or r13d, 0x10000000
mov dword [rbp + 0x30], r13d
jl 0x14001f7dc
mov r10d, dword [rbp + 0x25c]
mov rax, rdi
mov r11, qword [rbp - 0x80]
mov r8, r15
mov rdx, qword [rbp - 0x78]
mov r9, r12
jmp 0x14001f8bd
mov rax, qword [rbp - 0x18]
mov r9, r12
mov rdx, qword [rbp - 0x78]
mov r8, r15
mov r11, qword [rbp - 0x80]
mov rcx, rdx
mov qword [rbp + 0x18], rax
mov rax, rdi
mov qword [rbp - 0x30], rdx
mov qword [rbp + 0x20], r11
test r13d, r13d
js 0x14001f1ad
mov qword [rsp + 0x68], r14
cmp r10d, 4
jae 0x14001f8fc
mov rax, qword [rbp + 0x28]
mov r13d, 0xd000003e
mov rdi, qword [rbp - 0x60]
mov r12, r9
mov qword [rbp + 0x28], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x18], rax
mov r15, r8
mov qword [rbp - 0x30], rdx
mov rcx, rdx
mov dword [rbp + 0x30], r13d
mov qword [rbp + 0x20], r11
jmp 0x14001f1ad
mov r9, qword [rbp + 0x28]
mov rdi, rax
mov r12, qword [rsp + 0x78]
mov qword [rbp + 0x28], r9
mov r13d, dword [r9]
lea rcx, [r9 + 4]
mov dword [rbp - 0x48], r13d
mov qword [rbp - 0x80], rcx
cmp rcx, r9
jb 0x140020a32
mov r15, qword [rbp - 0x58]
lea eax, [r10 - 4]
mov qword [rbp - 0x30], rdx
mov rcx, rdx
mov rdx, qword [rbp - 0x18]
mov r8, r11
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r11
cmp eax, r13d
jae 0x14001f963
mov r13d, 0xd000003e
mov rcx, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x60]
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x18], rdx
jmp 0x14001f8ef
mov rax, qword [rbp - 0x80]
movabs rbx, 0xc81ecb17b1b54a58
add rax, r13
mov qword [rbp + 0x10], r13
cmp rax, qword [rbp - 0x80]
jb 0x140020a27
lea r11d, [r13 + 4]
cmp r11d, 4
jb 0x140020a14
mov eax, r10d
sub eax, r11d
cmp eax, 4
jae 0x14001f9a6
mov r13d, 0xd000003e
jmp 0x14001ffba
mov rax, qword [rbp - 0x80]
add rax, r13
mov qword [rbp + 0x20], r8
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x28], r9
mov r13d, dword [rax]
lea rsi, [rax + 4]
mov qword [rbp - 0x20], rsi
cmp rsi, rax
movabs rsi, 0x7f1137fab69605e
mov dword [rbp - 0x28], r13d
jb 0x140020a09
lea eax, [r11 + 4]
mov dword [rbp - 8], eax
cmp eax, r11d
jb 0x140020a14
mov r11d, dword [rbp - 8]
mov eax, r10d
sub eax, r11d
mov qword [rbp - 0x78], rcx
cmp eax, r13d
jb 0x14001f99b
mov rax, qword [rbp - 0x20]
add rax, r13
mov qword [rbp - 0x50], r13
mov qword [rbp + 0x20], r8
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x28], r9
cmp rax, qword [rbp - 0x20]
jb 0x140020a09
add r13d, r11d
mov rax, r8
mov dword [rbp - 8], r13d
cmp r13d, r11d
jb 0x1400209e6
mov eax, r10d
sub eax, r13d
cmp eax, 4
jb 0x14001f99b
mov rax, qword [rbp - 0x20]
add rax, qword [rbp - 0x50]
mov qword [rbp + 0x20], r8
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x18], rdx
mov r13d, dword [rax]
lea r11, [rax + 4]
mov dword [rbp + 0x30], r13d
mov qword [rbp - 0x38], r11
mov qword [rbp + 0x28], r9
cmp r11, rax
jb 0x140020a09
mov eax, dword [rbp - 8]
lea r11d, [rax + 4]
cmp r11d, eax
jb 0x140020a14
mov eax, r10d
mov qword [rbp - 0x70], r8
sub eax, r11d
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x10], rdx
mov qword [rsp + 0x70], r9
cmp eax, r13d
jb 0x14001f99b
lea eax, [r11 + r13]
mov dword [rbp - 8], eax
cmp eax, r11d
jb 0x140020a14
mov rdx, r8
mov rax, qword [rbp - 0x10]
mov r8, rcx
mov qword [rbp + 0x18], rax
mov r9, rdi
mov rax, qword [rsp + 0x70]
mov r11, r15
mov qword [rbp - 0x30], rcx
mov rcx, r12
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x20], rdx
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x60], r12
cmp r10d, dword [rbp - 8]
je 0x14001fb1a
mov qword [rbp + 0x28], rax
mov r13d, 0xd000003e
mov rax, qword [rbp - 0x10]
mov rcx, r8
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x30], r13d
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x20], rdx
jmp 0x14001f1ad
mov ecx, dword [rbp - 0x28]
add ecx, dword [rbp - 0x48]
add ecx, r13d
mov eax, r10d
add rcx, 0xc
cmp rcx, rax
je 0x14001fb36
mov rax, qword [rsp + 0x70]
jmp 0x14001faf4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 8], rax
mov r9, rax
test rax, rax
jne 0x14001fb91
mov rax, qword [rsp + 0x70]
mov r13d, 0xd0000017
mov qword [rbp + 0x28], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp - 0x78]
mov rcx, rax
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x70]
jmp 0x1400209fc
mov r13d, r14d
cmp qword [rbp - 0x80], r14
je 0x14001fbef
mov eax, dword [rbp - 0x48]
mov dword [r9], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x10]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x14001fd22
mov rax, qword [rbp - 8]
mov qword [rax + 8], rcx
mov r8, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x80]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r9, qword [rbp - 8]
mov r10, qword [rbp - 0x38]
jmp 0x14001fbfe
mov r10, qword [rbp - 0x38]
mov dword [rax], r14d
mov qword [rbp - 0x38], r10
mov qword [rax + 8], r14
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x18]
mov r8, qword [rbp + 0x28]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x20], rax
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x60], r12
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x28], r8
mov qword [rbp - 8], r9
cmp qword [rbp - 0x20], r14
je 0x14001fcc7
mov eax, dword [rbp - 0x28]
mov dword [r9 + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x50]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x14001fd22
mov rax, qword [rbp - 8]
mov qword [rax + 0x18], rcx
mov r8, qword [rbp - 0x50]
mov r13d, r14d
mov rdx, qword [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rbp - 0x30]
mov r9, qword [rbp - 8]
mov r10, qword [rbp - 0x38]
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x20], rax
mov qword [rbp - 8], r9
mov qword [rbp - 0x38], r10
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x18], rdx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r15
mov qword [rsp + 0x78], rdi
jmp 0x14001fcdb
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov r8, qword [rbp + 0x28]
mov dword [r9 + 0x10], r14d
mov qword [r9 + 0x18], r14
test r10, r10
je 0x14001fe52
mov eax, dword [rbp + 0x30]
mov dword [r9 + 0x20], eax
mov r13d, eax
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r13d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
jne 0x14001fe06
mov r13d, 0xc0000017
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14001fd64
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 8]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14001fd9c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 8]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14001fdd4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 8]
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdx, qword [rbp + 0x18]
mov r9, r14
mov rax, qword [rbp + 0x20]
mov r8, qword [rbp + 0x28]
jmp 0x14001fe5f
mov rax, qword [rbp - 8]
mov qword [rax + 0x28], rcx
mov r8, qword [rsp + 0x70]
mov r13d, r14d
mov rdx, qword [rbp - 0x38]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rbp - 0x30]
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x18]
mov r9, qword [rbp - 8]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x18], rdx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r15
mov qword [rsp + 0x78], rdi
jmp 0x14001fe5a
mov dword [r9 + 0x20], r14d
mov qword [r9 + 0x28], r14
mov qword [rsp + 0x68], r9
mov rcx, qword [rbp - 0x30]
mov qword [rbp - 0x10], rcx
mov qword [rsp + 0x70], rax
mov qword [rbp + 8], rdi
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x70], r8
test r13d, r13d
js 0x14001fe8a
mov qword [rbp + 0x50], r9
jmp 0x14001ff9a
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x18], rdx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r15
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x20], rax
test r9, r9
je 0x14001ff9a
mov rdi, qword [rsp + 0x68]
mov r15, qword [rdi + 8]
test r15, r15
je 0x14001fee6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 8], r14
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x14001ff13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 0x18], r14
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x14001ff40
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x70]
mov r15, qword [rbp - 0x38]
mov rdi, qword [rbp + 8]
mov rcx, qword [rbp - 0x10]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x18], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x50], r14
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r15
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x30], rcx
or r13d, 0x10000000
mov dword [rbp + 0x30], r13d
jl 0x14001f1ad
mov r13, qword [rbp + 0x50]
test r13, r13
jne 0x14001ffc3
mov r13d, 0xd000000d
mov dword [rbp + 0x30], r13d
jmp 0x14001f1ad
mov rax, qword [r13 + 8]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14001ffb4
cmp dword [r13], r14d
je 0x14001ffb4
mov eax, dword [r13]
add rax, 0xfffffffffffffff8
mov qword [rbp - 0x10], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x10]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp + 0x38], rax
mov r11, rax
test rax, rax
je 0x14002056f
mov rdx, qword [rbp - 0x10]
mov al, r14b
mov r8, qword [rsp + 0x70]
and edx, 7
mov rcx, r11
mov qword [rbp - 0x50], rdx
mov byte [rsp + 0x60], al
mov qword [rbp + 0x6f8], rsi
mov qword [rbp + 8], r8
mov qword [rbp - 0x38], rcx
je 0x1400204da
mov dword [rbp - 0x48], r14d
test edx, edx
je 0x1400204af
mov rdx, qword [rbp - 0x30]
mov r11d, 0x38
mov r8, qword [rbp + 0x18]
mov eax, r14d
mov r9, qword [rbp + 0x20]
mov r10, qword [rbp + 0x28]
mov rsi, qword [rbp + 8]
movzx ecx, byte [rsi]
inc rsi
mov dword [rbp - 0x28], ecx
cmp eax, 4
jae 0x140020087
mov rdx, qword [rbp - 0x10]
mov rdi, rdx
shr rdi, 3
test rdi, rdi
je 0x1400204ee
mov r10d, 0x92f65a5
mov dword [rbp - 0x28], r14d
mov dword [rbp - 0x48], r14d
mov dword [rbp + 0x30], r14d
mov ecx, 4
sub ecx, edx
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov rcx, qword [rbp - 0x38]
jmp 0x14002016a
or dword [rbp - 0x48], 0xffffffff
mov r10d, r14d
mov dword [rbp - 0x28], r14d
mov dword [rbp + 0x30], r14d
jmp 0x14002016a
mov qword [rbp + 0x38], r14
mov r13d, 0xd0000001
jmp 0x14001f1a5
mov rcx, qword [rbp - 0x78]
mov r13d, 0xd0000095
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x18], rdx
mov qword [rbp - 0x30], rcx
mov dword [rbp + 0x30], r13d
mov qword [rbp + 0x20], rax
jmp 0x14001f1ad
mov r13d, 0xd0000095
jmp 0x14001ffba
mov r13d, 0xd0000095
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x18], rdx
jmp 0x14001f807
mov r13d, 0xd0000095
jmp 0x14001f94d
mov rcx, qword [rbp - 0x18]
mov r13d, 0xd0000095
mov qword [rbp + 0x18], rcx
jmp 0x14001f8e5
mov r13d, 0xc0000095
jmp 0x140020a1e
mov r15, qword [rsp + 0x68]
mov r13d, 0xc0000095
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x18], r10
jmp 0x14001f807
mov r13d, 0xc0000095
jmp 0x14001f80b
mov r13d, 0xc0000095
jmp 0x14001ffba
mov r13d, 0xd0000095
mov qword [rbp + 0x18], rdx
mov dword [rbp + 0x30], r13d
mov qword [rbp - 0x30], rcx
jmp 0x14001f1ad
mov r13d, 0xd0000001
mov dword [rbp + 0x30], r13d
jmp 0x14001f1b2
mov rcx, r14
jmp 0x14001f1ad
cmp dword [rbp + 0x1f8], r14d
jbe 0x14001f41e
mov rax, qword [rbp + 0x200]
mov r10d, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140020dc3
test r10d, r10d
mov rax, r14
cmovne rax, rcx
mov r9, r15
mov r8, r12
cmp r10d, 4
je 0x140020aee
mov r13d, 0xc0000023
jmp 0x140020dc9
mov r13d, dword [rax]
mov dword [rbp + 0x30], r13d
cmp r13d, 0xd0000023
jne 0x140020b05
mov ecx, 0x8007007a
jmp 0x140020b1a
mov ecx, r13d
cmp r13d, 0x8007007a
je 0x140020b1a
test r13d, r13d
js 0x140020dcd
cmp dword [rbp + 0x1f8], 6
jne 0x140020d81
cmp qword [rbp + 0x200], r14
je 0x14001f41e
mov rax, qword [rbp + 0x200]
mov r11d, r14d
lea r10, [rax + 4]
mov r15, r9
mov r12, r8
cmp r10, rax
jb 0x140020dc3
mov eax, dword [rax]
add rax, r10
cmp rax, r10
jb 0x140020dc3
mov r10d, 1
add r11d, r10d
cmp r11d, r10d
jb 0x140020b3e
lea r9, [rax + 4]
cmp r9, rax
jb 0x140020dc3
cmp dword [rax], r14d
mov r8, r14
cmovne r8, r9
cmp dword [rax], 8
jne 0x140020ae3
mov r8, qword [r8]
cmp qword [rbp + 0x200], r14
je 0x14001f41e
mov rax, qword [rbp + 0x200]
mov r13d, r14d
mov r9, r12
mov r10, r15
lea r11, [rax + 4]
mov r15, r10
mov r12, r9
cmp r11, rax
jb 0x140020dc3
mov eax, dword [rax]
add rax, r11
cmp rax, r11
jb 0x140020dc3
inc r13d
cmp r13d, 2
jb 0x140020bad
mov r10d, dword [rax]
lea r9, [rax + 4]
cmp r9, rax
jb 0x140020dc3
test r10d, r10d
mov rax, r14
cmovne rax, r9
cmp r10d, 4
jne 0x140020ae3
mov r11d, dword [rax]
cmp qword [rbp + 0x200], r14
je 0x14001f41e
mov rax, qword [rbp + 0x200]
mov r9, r12
mov dword [rbp - 0x40], r14d
mov r10, r15
lea r13, [rax + 4]
mov r15, r10
mov r12, r9
cmp r13, rax
jb 0x140020dc3
mov eax, dword [rax]
add rax, r13
cmp rax, r13
jb 0x140020dc3
mov r13d, dword [rbp - 0x40]
inc r13d
mov dword [rbp - 0x40], r13d
cmp r13d, 3
jb 0x140020c1c
mov r9d, dword [rax]
lea r13, [rax + 4]
cmp r13, rax
jb 0x140020dc3
test r9d, r9d
mov r10, r14
cmovne r10, r13
cmp qword [rbp + 0x200], r14
je 0x14001f41e
mov rax, qword [rbp + 0x200]
mov r13, r12
mov dword [rbp - 0x40], r14d
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x10], r15
mov r12, r13
lea r13, [rax + 4]
cmp r13, rax
jb 0x140020dba
mov eax, dword [rax]
add rax, r13
cmp rax, r13
jb 0x140020dc3
inc dword [rbp - 0x40]
mov r13, r12
cmp dword [rbp - 0x40], 4
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x10], r15
jb 0x140020c8c
mov r13d, dword [rax]
mov dword [rbp - 0x40], r13d
lea r13, [rax + 4]
cmp r13, rax
jb 0x140020dc3
cmp dword [rbp - 0x40], r14d
mov rax, r14
cmovne rax, r13
cmp dword [rbp - 0x40], 4
jne 0x140020ae3
mov eax, dword [rax]
mov dword [rbp - 0x40], eax
cmp qword [rbp + 0x200], r14
je 0x14001f41e
mov rax, qword [rbp + 0x200]
mov r13, r12
mov dword [rbp - 0x48], r14d
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x10], r15
mov r12, r13
mov dword [rbp + 0x6c], ecx
mov r13d, dword [rbp - 0x40]
mov dword [rbp - 0x40], r13d
lea r13, [rax + 4]
cmp r13, rax
jb 0x140020dba
mov eax, dword [rax]
add rax, r13
cmp rax, r13
jb 0x140020dc3
inc dword [rbp - 0x48]
mov r13, r12
cmp dword [rbp - 0x48], 5
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x10], r15
jb 0x140020d11
mov r13d, dword [rax]
lea rcx, [rax + 4]
mov dword [rbp - 0x48], r13d
cmp rcx, rax
jb 0x140020dc3
test r13d, r13d
mov rax, r14
mov r13d, r14d
cmovne rax, rcx
cmp dword [rbp - 0x48], 4
jne 0x140020ae3
mov ecx, dword [rax]
mov dword [rbp + 0x10], ecx
cmp qword [rbp], r8
je 0x140020d89
mov r13d, 0xc004d501
jmp 0x140020dc9
cmp dword [rbp - 0x40], 4
mov dword [rbp + 0x78], r11d
ja 0x140020d99
cmp r9d, 4
jbe 0x140020da7
mov r13d, 0x8007007a
mov edi, ecx
mov dword [rbp + 0x30], r13d
jmp 0x140020dcf
mov r8, r9
mov rdx, r10
mov rcx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140020f6c
mov r15, qword [rbp - 0x10]
mov r12, qword [rsp + 0x70]
mov r13d, 0xc0000095
mov dword [rbp + 0x30], r13d
mov edi, edx
mov rax, qword [rbp + 0x210]
and qword [rbp + 0x208], 0
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140020e11
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x210], r14
mov rax, qword [rbp + 0x200]
and qword [rbp + 0x1f8], 0
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140020e53
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x200], r14
test r15, r15
je 0x140020e78
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12, r12
je 0x140020e9d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r13d, r13d
js 0x14001dd76
test edi, edi
je 0x140027d42
mov dword [0x1400ac450], edi
lea rdx, [rbp + 0xcd0]
mov edi, 0x104
mov qword [rbp + 0x138], r14
mov r8d, edi
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
nop dword [rax + rax]
test eax, eax
je 0x140025954
cmp eax, edi
jne 0x140020efe
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
je 0x140025954
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400a5148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x14006efd8]
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x140020f81
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140025954
mov r13d, 0xd0000095
jmp 0x140020f48
mov r13d, 0xc0000095
mov dword [rbp + 0x30], r13d
mov edi, r9d
jmp 0x140020dcf
or qword [rbp + 0xf0], 0xffffffffffffffff
mov r13d, 0xc0000095
jmp 0x14001e8b7
test r13d, r13d
js 0x140020f79
mov eax, dword [rbp + 0x6c]
test eax, eax
cmovne r13d, eax
mov dword [rbp + 0x30], r13d
mov edi, dword [rbp + 0x10]
jmp 0x140020dcf
movabs r10, 0xcd6cb78050552870
mov rax, qword [0x1400a50e8]
call qword [0x14006efd8]
mov edi, dword [0x1400ac450]
lea rcx, [rbp + 0x680]
xor edx, edx
mov qword [0x1400ac448], rax
mov dword [rbp - 0x40], edi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x10], r14
xorps xmm0, xmm0
mov qword [rbp + 0x8c0], rax
movups xmmword [rbp + 0x750], xmm0
mov dword [rbp + 0x8c8], eax
lea ecx, [rax + 1]
mov qword [rbp + 8], r14
movups xmmword [rbp + 0x8a0], xmm0
movups xmmword [rbp + 0x8b0], xmm0
xor eax, eax
lock cmpxchg dword [0x1400ac66c], ecx
jne 0x140020fec
mov eax, dword [0x1400ac668]
test eax, eax
jne 0x1400215c3
mov dword [rbp - 0x48], r14d
mov dword [rbp - 8], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1400213bb
mov r13d, 0x67
lea rbx, [rax + 7]
mov edi, r14d
lea rsi, [0x14008acb2]
or ecx, 0xffffffff
mov r12d, r14d
mov r11d, r14d
lea r15d, [r13 - 0x66]
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
xor r11d, r10d
movzx eax, byte [rsi - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 3]
shl r9d, 8
or r9d, eax
xor r12d, r9d
xor r12d, r11d
xor r12d, 0xac987321
lea eax, [r12 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r12d
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 r12d, edx
imul edx, r12d, 0x605e
mov eax, r12d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r12d, edx
mov edx, r12d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov r8d, r11d
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 r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
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 r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r12d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r12d, [r11 - 0x7f1]
xor r12d, edx
xor r12d, r8d
mov eax, r12d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r12d
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 r12d, edx
mov eax, r12d
mov r8d, r12d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r11d, r8d
mov eax, r11d
mov r8d, r11d
xor eax, 0xab69
rol r11d, 7
rol eax, 5
imul edx, eax, 0x7f1
add edx, r11d
xor r12d, edx
mov r11d, r12d
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r12d, edx
lea eax, [r12 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r12d
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor r12d, edx
lea eax, [r12 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r12d
ror eax, 0xe
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r12d
xor r12d, ecx
rol eax, 2
mov ecx, r9d
xor edx, eax
xor edx, edi
mov edi, r10d
xor r11d, edx
mov byte [rbx - 4], r11b
mov byte [rbx], r12b
lea rbx, [rbx + 8]
ror r11d, 8
mov byte [rbx - 0xd], r11b
ror r12d, 8
mov byte [rbx - 9], r12b
ror r11d, 8
mov byte [rbx - 0xe], r11b
ror r12d, 8
mov byte [rbx - 0xa], r12b
ror r11d, 8
ror r12d, 8
mov byte [rbx - 0xf], r11b
mov byte [rbx - 0xb], r12b
ror r12d, 8
ror r11d, 8
sub r13, r15
jne 0x14002105f
mov edi, dword [rbp - 0x40]
mov rax, r14
mov r13d, dword [rbp + 0x30]
mov cl, r14b
mov r15, qword [rbp - 0x38]
movabs rbx, 0xc81ecb17b1b54a58
mov edx, 1
mov r8d, 0x338
xor cl, byte [rax + r15]
add rax, rdx
cmp rax, r8
jb 0x14002137f
movzx eax, cl
cmp rax, qword [0x14008afe8]
je 0x140021423
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, 1
lea r15, [0x1400ac460]
lea r12d, [rax + 3]
cmp qword [r15], r14
je 0x1400213e4
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add r15, 0x18
sub r12, rax
jne 0x1400213cb
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400ac460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140067db0]
lea rcx, [0x1400a5050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea ecx, [r12 + 1]
jmp 0x1400215cb
xor edx, edx
mov byte [r8 + r15 - 1], r14b
lea r12, [0x1400ac460]
mov rcx, r12
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r15], r14b
je 0x14002158c
mov qword [rbp + 0x148], r15
jmp 0x140021456
lea r12, [0x1400ac460]
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], r14w
jne 0x14002145d
lea r15, [r15 + rax*2]
mov eax, dword [rbp - 8]
lea rcx, [rax + rax*2]
lea r8, [r12 + rcx*8]
xor ecx, ecx
mov qword [rbp - 0x38], r8
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x140021578
mov r8, qword [rbp - 0x38]
mov ecx, 0x5a4d
mov r12d, r14d
mov rax, qword [r8]
cmp word [rax], cx
je 0x1400214ac
mov r12d, 0xc000007b
jmp 0x1400214f8
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400214a4
add rcx, qword [r8]
cmp rcx, qword [r8]
jb 0x1400214a4
cmp dword [rcx], 0x4550
jne 0x1400214a4
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400214e6
mov r12d, 0xc000000d
jmp 0x1400214f8
mov rax, qword [rcx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r15 + 2]
mov ecx, r14d
add r15, 6
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x68], ecx
test eax, eax
je 0x140021565
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], r14b
jne 0x140021514
inc r15
add r15, rax
test r12d, r12d
js 0x140021551
mov rcx, qword [r8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x14002157e
mov ecx, dword [rbp - 0x48]
lea rdx, [0x1400a5050]
mov r8, qword [rbp - 0x38]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x68]
mov eax, 1
add dword [rbp - 0x48], eax
add ecx, eax
mov dword [rbp - 0x68], ecx
cmp ecx, dword [rbp - 0x28]
jb 0x14002150d
jmp 0x14002156a
mov eax, 1
add dword [rbp - 8], eax
cmp byte [r15], r14b
jne 0x14002144f
jmp 0x14002157e
mov r12d, 0xc000007a
mov r15, qword [rbp + 0x148]
test r15, r15
je 0x1400215af
jmp 0x14002158f
mov r12d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12d, r12d
js 0x1400213bb
mov eax, dword [0x1400ac668]
mov ecx, 1
add eax, ecx
mov dword [0x1400ac668], eax
mov eax, r14d
mov dword [rbp - 0x48], r14d
xchg dword [0x1400ac66c], eax
xorps xmm0, xmm0
mov qword [rbp + 0x150], r14
movups xmmword [rbp + 0x760], xmm0
mov dword [rbp - 0x28], r14d
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x20], r14
xor eax, eax
lock cmpxchg dword [0x1400ac66c], ecx
jne 0x1400215f9
mov eax, dword [0x1400ac668]
test eax, eax
jne 0x140021bc7
mov dword [rbp - 8], r14d
mov dword [rbp + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1400219c4
mov r13d, 0x67
lea rbx, [rax + 7]
mov edi, r14d
lea rsi, [0x14008acb2]
or ecx, 0xffffffff
mov r11d, r14d
mov r12d, r14d
lea r15d, [r13 - 0x66]
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
xor r12d, r10d
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
xor r11d, r12d
xor r11d, 0xac987321
lea eax, [r11 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r11d
rol eax, 0xa
add edx, eax
xor r12d, edx
lea eax, [r12 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r12d
rol eax, 2
sub edx, eax
xor r11d, edx
imul edx, r11d, 0x605e
mov eax, r11d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r12d, edx
mov eax, r12d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r11d, edx
mov edx, r11d
xor edx, 0xab69605e
sub eax, edx
xor r12d, eax
mov eax, r12d
mov r8d, r12d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r11d, r8d
mov r8d, 0xab69605e
lea eax, [r11 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r11d
rol eax, 2
add edx, eax
xor r12d, edx
lea eax, [r12 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 8
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r11d
ror eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r12d
shr eax, 0xa
xor edx, eax
xor edx, r11d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r12d, eax
lea r11d, [r12 - 0x7f1]
xor r11d, edx
xor r11d, r8d
mov eax, r11d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r11d
shr eax, 2
add edx, eax
xor r12d, edx
lea eax, [r12 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r12d
rol eax, 7
add edx, eax
xor r11d, edx
mov eax, r11d
mov r8d, r11d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r12d, r8d
mov eax, r12d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 7
add edx, eax
xor r11d, edx
xor r12d, r11d
xor r12d, 0xac987321
mov eax, r12d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r11d
ror eax, 6
sub edx, eax
xor r12d, edx
lea eax, [r12 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 0xe
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r11d
ror eax, 0xe
sub edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r12d
shr eax, 3
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r11d
xor r11d, ecx
rol eax, 2
mov ecx, r9d
xor edx, eax
xor edx, edi
mov edi, r10d
xor r12d, edx
mov byte [rbx - 4], r12b
mov byte [rbx], r11b
lea rbx, [rbx + 8]
ror r12d, 8
mov byte [rbx - 0xd], r12b
ror r11d, 8
mov byte [rbx - 9], r11b
ror r12d, 8
mov byte [rbx - 0xe], r12b
ror r11d, 8
mov byte [rbx - 0xa], r11b
ror r12d, 8
ror r11d, 8
mov byte [rbx - 0xf], r12b
mov byte [rbx - 0xb], r11b
ror r11d, 8
ror r12d, 8
sub r13, r15
jne 0x14002166c
mov edi, dword [rbp - 0x40]
mov rax, r14
mov r13d, dword [rbp + 0x30]
mov cl, r14b
mov r15, qword [rbp - 0x70]
movabs rbx, 0xc81ecb17b1b54a58
mov edx, 1
mov r8d, 0x338
xor cl, byte [rax + r15]
add rax, rdx
cmp rax, r8
jb 0x140021988
movzx eax, cl
cmp rax, qword [0x14008afe8]
je 0x140021a27
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, 1
lea r15, [0x1400ac460]
lea r12d, [rax + 3]
cmp qword [r15], r14
je 0x1400219ed
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add r15, 0x18
sub r12, rax
jne 0x1400219d4
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400ac460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140067db0]
lea rcx, [0x1400a5050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140021bcf
xor edx, edx
mov byte [r15 + r8 - 1], r14b
lea r12, [0x1400ac460]
mov rcx, r12
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r15], r14b
je 0x140021b90
mov qword [rbp + 0x160], r15
jmp 0x140021a5a
lea r12, [0x1400ac460]
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], r14w
jne 0x140021a61
lea r15, [r15 + rax*2]
mov eax, dword [rbp + 0x10]
lea rcx, [rax + rax*2]
lea r8, [r12 + rcx*8]
xor ecx, ecx
mov qword [rbp - 0x70], r8
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x140021b7c
mov r8, qword [rbp - 0x70]
mov ecx, 0x5a4d
mov r12d, r14d
mov rax, qword [r8]
cmp word [rax], cx
je 0x140021ab0
mov r12d, 0xc000007b
jmp 0x140021afc
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140021aa8
add rcx, qword [r8]
cmp rcx, qword [r8]
jb 0x140021aa8
cmp dword [rcx], 0x4550
jne 0x140021aa8
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140021aea
mov r12d, 0xc000000d
jmp 0x140021afc
mov rax, qword [rcx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r15 + 2]
mov ecx, r14d
add r15, 6
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x68], ecx
test eax, eax
je 0x140021b69
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], r14b
jne 0x140021b18
inc r15
add r15, rax
test r12d, r12d
js 0x140021b55
mov rcx, qword [r8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140021b82
mov ecx, dword [rbp - 8]
lea rdx, [0x1400a5050]
mov r8, qword [rbp - 0x70]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x68]
mov eax, 1
add dword [rbp - 8], eax
add ecx, eax
mov dword [rbp - 0x68], ecx
cmp ecx, dword [rbp - 0x40]
jb 0x140021b11
jmp 0x140021b6e
mov eax, 1
add dword [rbp + 0x10], eax
cmp byte [r15], r14b
jne 0x140021a53
jmp 0x140021b82
mov r12d, 0xc000007a
mov r15, qword [rbp + 0x160]
test r15, r15
je 0x140021bb3
jmp 0x140021b93
mov r12d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12d, r12d
js 0x1400219c4
mov eax, dword [0x1400ac668]
mov ecx, 1
add eax, ecx
mov dword [0x1400ac668], eax
xor edx, edx
lea rcx, [rbp + 0x680]
mov eax, r14d
xchg dword [0x1400ac66c], eax
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, SafeArrayGetDim
mov eax, edi
and eax, ecx
xorps xmm0, xmm0
mov dword [rbp - 0x40], eax
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xc10], ax
mov eax, edi
shr eax, 8
shr edi, 0xc
and ax, cx
and di, cx
mov word [rbp + 0xc12], ax
movups xmmword [rbp + 0x750], xmm0
mov word [rbp + 0xc14], di
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400a5148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x14006efd8]
mov qword [rbp - 0x70], rax
mov dword [rbp - 8], 0xffffff
test rax, rax
jne 0x140021c8d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140023336
mov r15d, 0x80004005
jmp 0x140023336
mov qword [rbp + 0x168], r14
mov r15d, r14d
mov qword [rbp + 0x170], r14
mov qword [rbp + 0x178], r14
mov qword [rbp + 0x180], r14
mov qword [rbp + 0x188], r14
mov qword [rbp + 0x190], r14
mov dword [rbp + 0x80], r14d
movabs r10, 0xbe1926d37a52c070
mov rax, qword [0x1400a50f0]
lea r9, [rbp + 0x80]
xor r8d, r8d
lea rdx, [rbp + 0x7c]
lea ecx, [r8 + 8]
call qword [0x14006efd8]
test eax, eax
jne 0x140021d1f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140021e86
mov r15d, 0x80004005
jmp 0x140021e86
mov edi, dword [rbp + 0x80]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x188]
mov rdi, rax
call fcn.140046c74
test rdi, rdi
jne 0x140021d6e
mov qword [rbp + 0x188], r14
mov r15d, 0x8007000e
jmp 0x140021e86
mov qword [rbp + 0x188], rdi
mov edi, dword [rbp + 0x7c]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x190]
mov rdi, rax
call fcn.140046c74
test rdi, rdi
jne 0x140021dbd
mov r15d, 0x8007000e
jmp 0x140021e7f
mov qword [rbp + 0x190], rdi
movabs r10, 0xbe1926d37a52c070
mov r8, qword [rbp + 0x188]
lea r9, [rbp + 0x80]
mov rax, qword [0x1400a50f0]
lea rdx, [rbp + 0x7c]
mov ecx, 8
call qword [0x14006efd8]
test eax, eax
je 0x140021cee
mov rdi, qword [rbp + 0x188]
mov r12, qword [rbp + 0x190]
cmp dword [rbp + 0x7c], r14d
jbe 0x140021e61
mov esi, r14d
mov ebx, 1
movabs r10, 0xeadd062354d83270
mov rax, qword [0x1400a5100]
xor edx, edx
mov rcx, rdi
call qword [0x14006efd8]
mov dword [r12], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x140021e3a
lea rdi, [rdi + rax*2]
add r12, 4
add rdi, 2
add esi, ebx
cmp esi, dword [rbp + 0x7c]
jb 0x140021e16
movabs rbx, 0xc81ecb17b1b54a58
mov dword [r12], 0x409
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x168], rax
mov eax, dword [rbp + 0x7c]
inc eax
mov dword [rbp - 0x68], eax
mov qword [rbp + 0x190], r14
lea rcx, [rbp + 0x190]
call fcn.140046c74
lea rcx, [rbp + 0x188]
call fcn.140046c74
test r15d, r15d
js 0x140022664
lea r11, [0x14008ac10]
mov r10d, r14d
mov r9d, r14d
mov dword [rbp + 0x10], r14d
cmp dword [rbp - 0x68], r14d
jbe 0x140021efb
mov rax, qword [rbp + 0x168]
mov r8, r14
mov edx, r14d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x140021ef5
mov ecx, 1
add rdi, 4
add edx, ecx
cmp edx, 0x26
jb 0x140021ece
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x68]
jae 0x140021efb
jmp 0x140021ec8
mov r10d, edx
mov dword [rbp + 0x10], edx
mov edi, r10d
mov dword [rbp - 0x68], r14d
movabs r10, 0xf3552e1936d87370
mov ecx, dword [r11 + rdi*4]
lea rdx, [rbp + 0xc20]
mov rax, qword [0x1400a50f8]
xor r9d, r9d
lea r8d, [r9 + 0x55]
call qword [0x14006efd8]
test eax, eax
je 0x140021f7c
movabs r10, 0xe375262d7cd44270
mov rax, qword [0x1400a50e0]
lea r8, [rbp + 0x7a0]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0xc20]
lea edx, [r9 + 0x48]
call qword [0x14006efd8]
mov r9d, 1
test eax, eax
jle 0x140021f82
mov r15d, dword [rbp + 0x7ac]
shr r15d, 0x1b
and r15d, r9d
mov dword [rbp - 0x68], r15d
jmp 0x140021f82
mov r9d, 1
lea rcx, str.Segoe_UI_Light
mov r8d, SafeArrayGetElement
lea rdx, [rbp + 0xb70]
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r14w
jne 0x140021f9d
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub r8, r9
jne 0x140021f96
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x8ab90]
mov rax, qword [rbp + rax*8 + 0xb70]
mov qword [rbp - 0x38], rax
movzx eax, byte [rcx + rdx + 0x8ab91]
mov rax, qword [rbp + rax*8 + 0xb70]
mov qword [rbp - 0x50], rax
movzx eax, byte [rcx + rdx + 0x8ab92]
mov rax, qword [rbp + rax*8 + 0xb70]
mov qword [rbp - 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x1c90
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x140022037
mov r15d, 0x8007000e
jmp 0x140022664
mov esi, r14d
lea r11, [rax + 7]
or r13d, 0xffffffff
lea r15, [0x140088c12]
mov r9d, r14d
mov r10d, r14d
mov ebx, 0x392
mov r12d, 1
movzx eax, byte [r15 - 1]
movzx r8d, byte [r15 - 2]
movzx edi, byte [r15 + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r8d, 8
or r8d, eax
movzx eax, byte [r15 - 7]
shl r8d, 8
or r8d, eax
movzx eax, byte [r15 - 5]
or edi, eax
xor r10d, r8d
movzx eax, byte [r15 - 4]
shl edi, 8
or edi, eax
movzx eax, byte [r15 - 3]
shl edi, 8
or edi, eax
xor r9d, edi
xor r9d, r10d
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, r9d
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 r9d, ecx
imul ecx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor r9d, ecx
mov ecx, r9d
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 r9d, edx
mov edx, 0xab69605e
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, r9d
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 r9d, ecx
mov eax, r9d
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, r9d
ror eax, 0xa
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor ecx, r9d
mov eax, ecx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea r9d, [r10 - 0x7f1]
xor r9d, ecx
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, r9d
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 r9d, ecx
mov eax, r9d
mov edx, r9d
xor eax, 0x137f
ror edx, 9
imul ecx, eax, 0x605e
add edx, ecx
xor r10d, edx
mov eax, r10d
xor eax, 0xab69
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 7
add ecx, eax
xor r9d, ecx
xor r10d, r9d
xor r10d, 0xac987321
mov eax, r10d
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor r9d, ecx
lea eax, [r9 - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, r9d
ror eax, 6
sub ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 0xe
add ecx, eax
xor r9d, ecx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, r9d
ror eax, 0xe
sub ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 3
xor ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, r9d
xor r9d, r13d
rol eax, 2
mov r13d, edi
xor ecx, eax
xor ecx, esi
mov esi, r8d
xor r10d, ecx
mov byte [r11 - 4], r10b
mov byte [r11], r9b
lea r11, [r11 + 8]
ror r10d, 8
mov byte [r11 - 0xd], r10b
ror r9d, 8
mov byte [r11 - 9], r9b
ror r10d, 8
mov byte [r11 - 0xe], r10b
ror r9d, 8
mov byte [r11 - 0xa], r9b
ror r10d, 8
ror r9d, 8
mov byte [r11 - 0xf], r10b
mov byte [r11 - 0xb], r9b
ror r9d, 8
ror r10d, 8
sub rbx, r12
jne 0x14002205a
mov r13d, dword [rbp + 0x30]
mov rax, r14
mov r12, qword [rsp + 0x68]
xorps xmm1, xmm1
movabs rbx, 0xc81ecb17b1b54a58
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r12]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rcx
jb 0x140022363
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 [0x14008a8a0]
je 0x1400223ec
mov r15d, 0xc004d501
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x178], r14
jmp 0x140022664
mov r8d, dword [rbp + 0x10]
lea rdx, [rbp + 0xb00]
mov qword [rbp + 0x170], r12
mov r15d, r14d
mov qword [rbp + 0x178], rcx
mov edi, 6
mov ecx, r14d
cmp r8d, ecx
jne 0x140022418
mov qword [rdx], r12
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], r14b
jne 0x14002241c
inc rax
add r12, rax
mov eax, 1
add ecx, eax
cmp ecx, 0x26
jb 0x140022410
add rdx, 8
sub rdi, rax
jne 0x14002240d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
lea r8d, [rdi + 0x18]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x180]
mov rdi, rax
call fcn.140046c74
mov r8d, 1
test rdi, rdi
jne 0x14002248d
mov qword [rbp + 0x180], r14
mov r15d, 0x8007000e
jmp 0x14002266a
mov qword [rbp + 0x180], rdi
lea rcx, [rbp + 0xc10]
xor eax, eax
mov qword [rsp + 0x68], rcx
xorps xmm0, xmm0
mov edx, r14d
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov r12, r14
mov rax, qword [rbp + 0x178]
mov qword [rbp + 0x178], rax
mov dword [rbp + 0x10], edx
movzx edi, word [rcx]
lea rcx, [0x14008aff0]
mov eax, r14d
cmp di, word [rcx]
je 0x1400224e6
add eax, r8d
add rcx, 2
cmp eax, 6
jb 0x1400224d0
jmp 0x1400225d0
mov rax, qword [rbp + rax*8 + 0xb00]
or rcx, 0xffffffffffffffff
mov qword [rbp - 0x80], rax
inc rcx
cmp byte [rax + rcx], r14b
jne 0x1400224f6
lea r9d, [r8 + rcx]
movabs r10, 0x8f85170d18d27270
mov r8, rax
mov dword [rsp + 0x28], r14d
mov rax, qword [0x1400a5110]
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], r14
call qword [0x14006efd8]
mov dword [rbp - 0x18], eax
test eax, eax
je 0x14002263b
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x180]
mov qword [rcx + r12], rax
mov rcx, qword [rbp + 0x180]
cmp qword [rcx + r12], r14
je 0x14002202c
mov rdx, qword [rcx + r12]
or rcx, 0xffffffffffffffff
mov r8, qword [rbp - 0x80]
inc rcx
cmp byte [r8 + rcx], r14b
jne 0x140022587
mov r9d, 1
add r9d, ecx
movabs r10, 0x8f85170d18d27270
mov eax, dword [rbp - 0x18]
mov ecx, 0xfde9
mov dword [rsp + 0x28], eax
mov rax, qword [0x1400a5110]
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [0x14006efd8]
test eax, eax
je 0x140022611
mov edx, dword [rbp + 0x10]
mov r8d, 1
mov rcx, qword [rsp + 0x68]
add edx, r8d
add rcx, 2
mov dword [rbp + 0x10], edx
add r12, 8
mov qword [rsp + 0x68], rcx
cmp edx, 3
jb 0x1400224c3
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x150], rax
mov eax, dword [rbp - 0x68]
mov dword [rbp + 0x680], eax
mov qword [rbp + 0x180], r14
jmp 0x14002266a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140022664
mov r15d, 0x80004005
jmp 0x140022664
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
mov eax, 0x80004005
test r15d, r15d
cmovns r15d, eax
mov r8d, 1
cmp qword [rbp + 0x180], r14
je 0x1400226fe
mov eax, 3
mov r12, r14
mov qword [rsp + 0x68], rax
mov rcx, qword [rbp + 0x180]
cmp qword [rcx + r12], r14
je 0x1400226f0
mov rax, qword [rcx + r12]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140022699
mov rdi, qword [rbp + 0x180]
lea rcx, [rcx*2 + 2]
xor eax, eax
mov rdi, qword [rdi + r12]
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x180]
mov rdi, qword [rax + r12]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rsp + 0x68]
mov r8d, 1
add r12, 8
sub rax, r8
mov qword [rsp + 0x68], rax
jne 0x140022684
mov rdi, qword [rbp + 0x170]
test rdi, rdi
je 0x140022715
mov rcx, qword [rbp + 0x178]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0x180]
call fcn.140046c74
lea rcx, [rbp + 0x170]
call fcn.140046c74
lea rcx, [rbp + 0x168]
call fcn.140046c74
test r15d, r15d
js 0x140023319
mov rax, qword [rbp + 0x150]
xorps xmm0, xmm0
mov rcx, qword [rax]
mov qword [rbp + 0x688], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x690], rcx
mov rcx, qword [rax + 0x10]
movups xmmword [rbp + 0x228], xmm0
mov qword [rbp + 0x698], rcx
mov dword [rbp + 0x228], reloc.OLEAUT32.dll_SafeArrayGetDim
movabs r10, 0xadb51e5154d11b70
mov rax, qword [0x1400a51b8]
lea r8, [rbp + 0x228]
xor edx, edx
xor r9d, r9d
lea ecx, [rdx + 0x42]
call qword [0x14006efd8]
test eax, eax
jne 0x1400227dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
mov dword [rbp + 0x684], r14d
test eax, eax
cmovle r15d, eax
mov eax, 0x80004005
test r15d, r15d
cmovns r15d, eax
jmp 0x140023319
mov eax, dword [rbp + 0x22c]
and eax, 1
mov dword [rbp + 0x684], eax
mov r15d, dword [rbp - 0x40]
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateVectorEx
mov ecx, r15d
mov dword [rbp - 0x18], eax
sub ecx, 1
je 0x140022822
sub ecx, 1
je 0x140022819
cmp ecx, 1
jne 0x14002282c
mov r12d, 0xe1
mov dword [rbp - 0x48], r12d
mov dword [rbp - 0x28], r12d
jmp 0x14002282c
mov dword [rbp - 0x48], SafeArrayGetDim
jmp 0x140022825
mov dword [rbp - 0x48], eax
mov dword [rbp - 0x28], SafeArrayGetDim
mov edi, 0x60
lea rcx, [rbp + 0xa20]
xor edx, edx
mov dword [rbp - 0x68], edi
lea r12d, [rdi + 0x7c]
mov r8d, r12d
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov word [rbp + 0xa64], r12w
movabs r10, 0xd1659e5312d9a870
mov rax, qword [0x1400a5130]
lea r8, [rbp + 0xa20]
or edx, 0xffffffff
xor ecx, ecx
call qword [0x14006efd8]
test eax, eax
je 0x1400228ac
mov eax, dword [rbp + 0xacc]
movzx edi, word [rbp + 0xac6]
and qword [rbp + 0x760], 0
mov dword [rbp + 0x768], eax
mov eax, dword [rbp + 0xad0]
mov dword [rbp + 0x76c], eax
lea eax, [r12 - 0x7c]
cmp edi, eax
cmovb edi, eax
mov dword [rbp - 0x68], edi
mov eax, 1
lea rcx, [rbp + 0x900]
cmp r15d, eax
mov rax, qword [rbp - 0x20]
cmove rax, qword [rbp - 0x38]
xor edx, edx
mov qword [rbp - 0x20], rax
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r15d, r14d
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400a5148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x14006efd8]
mov r12, rax
test rax, rax
je 0x140022dfd
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp - 0x48]
mov r8d, 0x48
mov rax, qword [0x1400a5108]
mov edx, edi
call qword [0x14006efd8]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x91c]
neg eax
mov dword [rbp + 0x910], 0x190
mov edx, 0x20
mov dword [rbp + 0x900], eax
mov byte [rbp + 0x91a], 5
call fcn.140007400
movabs r10, 0xfab916f870535070
mov rax, qword [0x1400a5070]
lea rcx, [rbp + 0x900]
call qword [0x14006efd8]
test rax, rax
jne 0x1400229a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400229a7
mov r15d, 0x80004005
jmp 0x1400229a7
mov qword [rbp + 0x6a0], rax
movabs r10, 0xb7b1b729165e9270
mov rax, qword [0x1400a51b0]
mov rdx, r12
xor ecx, ecx
call qword [0x14006efd8]
test r15d, r15d
js 0x140023319
xor edx, edx
lea rcx, [rbp + 0x960]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r15d, r14d
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400a5148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x14006efd8]
mov r12, rax
test rax, rax
je 0x140022dfd
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp - 0x28]
mov r8d, 0x48
mov rax, qword [0x1400a5108]
mov edx, edi
call qword [0x14006efd8]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x97c]
neg eax
mov dword [rbp + 0x970], 0x190
mov edx, 0x20
mov dword [rbp + 0x960], eax
mov byte [rbp + 0x97a], 5
call fcn.140007400
movabs r10, 0xfab916f870535070
mov rax, qword [0x1400a5070]
lea rcx, [rbp + 0x960]
call qword [0x14006efd8]
test rax, rax
jne 0x140022aab
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140022ab2
mov r15d, 0x80004005
jmp 0x140022ab2
mov qword [rbp + 0x6a8], rax
movabs r10, 0xb7b1b729165e9270
mov rax, qword [0x1400a51b0]
mov rdx, r12
xor ecx, ecx
call qword [0x14006efd8]
test r15d, r15d
js 0x140023319
mov edi, dword [rbp - 0x40]
mov r12d, r14d
mov ecx, edi
mov edx, r14d
sub ecx, 1
je 0x140022af1
sub ecx, 1
je 0x140022b27
cmp ecx, 1
jne 0x140022afe
mov r12d, dword [rbp + 0x768]
mov edx, dword [rbp + 0x76c]
mov dword [rbp + 0x758], r12d
mov dword [rbp + 0x75c], edx
mov ecx, edi
sub ecx, 1
je 0x140022b4c
sub ecx, 1
je 0x140022b3e
cmp ecx, 1
je 0x140022b3e
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 0x48]
jmp 0x140022b60
mov eax, dword [rbp + 0x768]
cdq
and edx, 3
lea r12d, [rdx + rax]
mov edx, r14d
sar r12d, 2
jmp 0x140022afe
mov dword [rbp - 0x28], r14d
mov dword [rbp - 0x18], r14d
mov dword [rbp + 0x10], r14d
jmp 0x140022b5a
mov dword [rbp - 0x28], reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rbp + 0x10], 0x20
mov eax, r14d
mov dword [rbp - 0x48], eax
sub r12d, dword [rbp - 0x28]
mov r15d, r14d
mov rdi, qword [rbp + 0x688]
sub r12d, eax
mov dword [rbp + 0x6d4], r12d
mov dword [rbp + 0x6c4], r12d
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp + 0x6a0]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
mov qword [rbp - 0x38], rax
movabs r10, 0xfa2817df7ad26370
mov rax, qword [0x1400a5128]
lea r9, [rbp + 0x6bc]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rbp - 0x70]
or r8d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x20], 0xc50
call qword [0x14006efd8]
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140022c0f
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
test r15d, r15d
js 0x140023319
mov rdi, qword [rbp + 0x690]
mov r15d, r14d
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp + 0x6a8]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
mov qword [rbp - 0x38], rax
movabs r10, 0xfa2817df7ad26370
mov rax, qword [0x1400a5128]
lea r9, [rbp + 0x6cc]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rbp - 0x70]
or r8d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x20], 0xc50
call qword [0x14006efd8]
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140022cb2
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
test r15d, r15d
js 0x140023319
mov r15d, dword [rbp - 0x40]
mov edx, 1
mov ecx, dword [rbp + 0x6c4]
lea eax, [r15 - 2]
cmp eax, edx
ja 0x140022ce0
mov r12d, dword [rbp + 0x6d4]
cmp ecx, r12d
cmovg r12d, ecx
cmp dword [rbp + 0x680], r14d
je 0x140022d4a
mov edi, dword [rbp - 0x48]
mov edx, edi
sub edx, ecx
add edx, r12d
movabs r10, 0xef788e6016d10870
mov r8d, dword [rbp - 0x18]
lea rcx, [rbp + 0x6bc]
mov rax, qword [0x1400a51a0]
call qword [0x14006efd8]
sub edi, dword [rbp + 0x6d4]
mov r8d, dword [rbp + 0x6c8]
add r8d, dword [rbp + 0x10]
lea edx, [r12 + rdi]
movabs r10, 0xef788e6016d10870
mov rax, qword [0x1400a51a0]
lea rcx, [rbp + 0x6cc]
call qword [0x14006efd8]
jmp 0x140022d9b
movabs r10, 0xef788e6016d10870
mov r8d, dword [rbp - 0x18]
lea rcx, [rbp + 0x6bc]
mov edx, dword [rbp - 0x28]
mov rax, qword [0x1400a51a0]
call qword [0x14006efd8]
mov r8d, dword [rbp + 0x6c8]
add r8d, dword [rbp + 0x10]
movabs r10, 0xef788e6016d10870
mov edx, dword [rbp - 0x28]
lea rcx, [rbp + 0x6cc]
mov rax, qword [0x1400a51a0]
call qword [0x14006efd8]
lea eax, [r15 - 2]
mov edx, 1
cmp eax, edx
jbe 0x1400230d4
cmp r15d, edx
jne 0x1400230f1
xor edx, edx
mov dword [rbp + 0x6b8], 0xffffff
lea rcx, [rbp + 0x9c0]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r15d, r14d
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400a5148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x14006efd8]
mov rdi, rax
test rax, rax
jne 0x140022e2e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140023319
mov r15d, 0x80004005
jmp 0x140023319
movabs r10, 0xb354a64f56d8b370
mov edx, dword [rbp - 0x68]
mov r8d, 0x48
mov rax, qword [0x1400a5108]
lea ecx, [r8 - 0x3d]
call qword [0x14006efd8]
mov r8, qword [rbp - 0x50]
lea rcx, [rbp + 0x9dc]
neg eax
mov dword [rbp + 0x9d0], 0x190
mov edx, 0x20
mov dword [rbp + 0x9c0], eax
mov byte [rbp + 0x9da], 5
call fcn.140007400
movabs r10, 0xfab916f870535070
mov rax, qword [0x1400a5070]
lea rcx, [rbp + 0x9c0]
call qword [0x14006efd8]
test rax, rax
jne 0x140022ecd
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140022ed4
mov r15d, 0x80004005
jmp 0x140022ed4
mov qword [rbp + 0x6b0], rax
movabs r10, 0xb7b1b729165e9270
mov rax, qword [0x1400a51b0]
mov rdx, rdi
xor ecx, ecx
call qword [0x14006efd8]
test r15d, r15d
js 0x140023319
mov rdi, qword [rbp + 0x698]
mov r15d, r14d
mov dword [rbp + 0x6e4], r12d
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp + 0x6b0]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
mov r12, rax
movabs r10, 0xfa2817df7ad26370
mov rax, qword [0x1400a5128]
lea r9, [rbp + 0x6dc]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rbp - 0x70]
or r8d, 0xffffffff
mov rcx, rdi
mov dword [rsp + 0x20], 0x460
call qword [0x14006efd8]
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
test r12, r12
je 0x140022f95
movabs r10, 0xe62ca6fe305b8a70
mov rax, qword [0x1400a50c8]
mov rdx, r12
mov rcx, rdi
call qword [0x14006efd8]
test r15d, r15d
js 0x140023319
mov eax, dword [rbp + 0x6e4]
mov ecx, 0x5a
add eax, 0x18
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x6e4], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x6e8], eax
movabs r10, 0xb354a64f56d8b370
mov edi, dword [rbp - 0x68]
lea r15d, [rcx + 6]
mov ecx, dword [rbp + 0x6dc]
mov r8d, r15d
mov rax, qword [0x1400a5108]
mov edx, edi
call qword [0x14006efd8]
mov dword [rbp + 0x6dc], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp + 0x6e0]
mov r8d, r15d
mov rax, qword [0x1400a5108]
mov edx, edi
call qword [0x14006efd8]
mov dword [rbp + 0x6e0], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp + 0x6e4]
mov r8d, r15d
mov rax, qword [0x1400a5108]
mov edx, edi
call qword [0x14006efd8]
mov dword [rbp + 0x6e4], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp + 0x6e8]
mov r8d, r15d
mov rax, qword [0x1400a5108]
mov edx, edi
call qword [0x14006efd8]
mov r8d, dword [rbp + 0x6d8]
add r8d, 0x24
mov dword [rbp + 0x6e8], eax
cmp dword [rbp + 0x680], r14d
je 0x1400230b3
mov edx, dword [rbp + 0x6bc]
cmp edx, dword [rbp + 0x6cc]
cmovge edx, dword [rbp + 0x6cc]
movabs r10, 0xef788e6016d10870
mov rax, qword [0x1400a51a0]
lea rcx, [rbp + 0x6dc]
call qword [0x14006efd8]
mov edx, 1
jmp 0x1400230f1
mov edx, dword [rbp + 0x6c4]
cmp edx, dword [rbp + 0x6d4]
cmovle edx, dword [rbp + 0x6d4]
sub edx, dword [rbp + 0x6e4]
add edx, dword [rbp + 0x6dc]
jmp 0x14002308e
mov eax, dword [rbp + 0x6d8]
mov dword [rbp + 0x75c], eax
mov dword [rbp + 0x758], r12d
mov dword [rbp + 0x6b8], 0xffa8a8a8
mov ecx, dword [rbp - 0x40]
mov r12d, dword [rbp + 0x680]
mov r15d, dword [rbp + 0x75c]
mov edi, dword [rbp + 0x758]
sub ecx, 1
je 0x14002330e
sub ecx, 1
je 0x1400231fb
cmp ecx, 1
jne 0x140023316
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x7e8], xmm0
mov qword [rbp + 0x808], rax
movups xmmword [rbp + 0x7f8], xmm0
movabs r10, 0x95359f2d7edc9a70
mov rax, qword [0x1400a5198]
xor ecx, ecx
call qword [0x14006efd8]
mov dword [rbp + 0x7e8], SafeArrayCreateVectorEx
movabs r10, 0x93fc1ebd305e9370
mov rcx, rax
lea rdx, [rbp + 0x7e8]
mov rax, qword [0x1400a5158]
call qword [0x14006efd8]
test eax, eax
je 0x140023316
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x1400a5190]
lea rdx, [rbp + 0x7fc]
xor ecx, ecx
call qword [0x14006efd8]
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x1400a5190]
lea rdx, [rbp + 0x804]
xor ecx, ecx
call qword [0x14006efd8]
mov eax, dword [rbp + 0x804]
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 + 0x804]
shr rcx, 0x20
sub ecx, r15d
imul ecx, ecx, 0x32
jmp 0x1400232ef
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x7c0], xmm0
mov qword [rbp + 0x7e0], rax
movups xmmword [rbp + 0x7d0], xmm0
movabs r10, 0x95359f2d7edc9a70
mov rax, qword [0x1400a5198]
xor ecx, ecx
call qword [0x14006efd8]
mov dword [rbp + 0x7c0], SafeArrayCreateVectorEx
movabs r10, 0x93fc1ebd305e9370
mov rcx, rax
lea rdx, [rbp + 0x7c0]
mov rax, qword [0x1400a5158]
call qword [0x14006efd8]
test eax, eax
je 0x140023316
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x1400a5190]
lea rdx, [rbp + 0x7d4]
xor ecx, ecx
call qword [0x14006efd8]
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x1400a5190]
lea rdx, [rbp + 0x7dc]
xor ecx, ecx
call qword [0x14006efd8]
mov eax, dword [rbp + 0x7dc]
test r12d, r12d
je 0x1400232c8
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 + 0x7d4]
jmp 0x1400232de
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 + 0x7dc]
shr rax, 0x20
sub eax, r15d
imul ecx, eax, 0x5f
mov dword [rbp + 0x750], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x754], edx
jmp 0x140023316
and qword [rbp + 0x750], 0
mov r15d, r14d
movabs r10, 0xb7b1b729165e9270
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
mov rax, qword [0x1400a51b0]
call qword [0x14006efd8]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400ac66c], r12d
jne 0x14002333c
mov eax, dword [0x1400ac668]
test eax, eax
jle 0x1400233c2
sub eax, r12d
mov dword [0x1400ac668], eax
jne 0x1400233c2
mov rax, r12
lea rdi, [0x1400ac460]
mov r12d, 4
cmp qword [rdi], r14
je 0x140023387
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add rdi, 0x18
sub r12, rax
jne 0x14002336e
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400ac460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140067db0]
lea rcx, [0x1400a5050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12d, 1
mov eax, r14d
lea rcx, [rbp + 0x150]
xchg dword [0x1400ac66c], eax
call fcn.140046c74
test r15d, r15d
js 0x140024491
mov rdi, qword [rbp + 0x750]
lea rcx, [rbp + 0x300]
xor edx, edx
mov qword [rbp + 0x198], rdi
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r15d, r12d
movabs r10, 0xea2596a652d04370
mov rcx, qword [rsp + 0x70]
mov edx, 7
mov rax, qword [0x1400a50a0]
call qword [0x14006efd8]
test rax, rax
je 0x14002351b
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x300]
mov rax, qword [0x1400a50b8]
mov edx, 0x68
call qword [0x14006efd8]
test eax, eax
je 0x14002351b
mov eax, 0x20
cmp word [rbp + 0x312], ax
jne 0x140023484
cmp qword [rbp + 0x318], r14
je 0x140023484
cmp dword [rbp + 0x304], r14d
jle 0x140023484
cmp dword [rbp + 0x308], r14d
jg 0x140023487
mov r15d, r14d
test r15d, r15d
je 0x14002351e
mov r12d, dword [rbp - 0x40]
movabs r10, 0xef788e6016d10870
mov r8d, dword [rbp + 0x19c]
lea rcx, [rbp + 0x6bc]
mov rax, qword [0x1400a51a0]
mov edx, edi
call qword [0x14006efd8]
movabs r10, 0xef788e6016d10870
mov r8d, dword [rbp + 0x19c]
lea rcx, [rbp + 0x6cc]
mov rax, qword [0x1400a51a0]
mov edx, edi
call qword [0x14006efd8]
mov edi, 1
cmp r12d, edi
jne 0x140023532
mov ecx, dword [rbp + 0x684]
neg ecx
sbb ecx, ecx
not ecx
and ecx, 0xb26720
movabs r10, 0xa66c2f7d5ed6d070
mov rax, qword [0x1400a5078]
call qword [0x14006efd8]
mov qword [rbp + 8], rax
jmp 0x140023532
mov r15d, r14d
mov r12d, dword [rbp - 0x40]
mov eax, 1
cmp r12d, eax
je 0x140023494
mov edi, eax
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400a50d0]
mov edx, edi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call qword [0x14006efd8]
cmp dword [rbp + 0x680], r14d
mov ecx, 0x20812
mov dword [rbp - 0x18], eax
mov eax, 0x810
cmovne eax, ecx
mov dword [rbp - 0x48], eax
test r15d, r15d
je 0x1400240eb
mov eax, dword [rbp + 0x684]
lea rcx, [rbp + 0x450]
mov rdi, qword [rbp + 0x688]
mov r12d, 0x68
mov dword [rbp - 0x28], eax
mov r8d, r12d
mov rax, qword [rbp + 0x6a0]
xor edx, edx
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x50], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r12d
lea rcx, [rbp + 0x3e0]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x20], r14
mov dword [rbp - 0x68], r14d
xorps xmm0, xmm0
mov qword [rbp + 0x830], rax
mov r15d, r14d
mov dword [rbp + 0x838], eax
movups xmmword [rbp + 0x810], xmm0
movups xmmword [rbp + 0x820], xmm0
movups xmmword [rbp + 0x770], xmm0
test rdi, rdi
je 0x14002446e
movabs r10, 0xea2596a652d04370
mov rdi, qword [rsp + 0x70]
lea edx, [rax + 7]
mov rax, qword [0x1400a50a0]
mov rcx, rdi
call qword [0x14006efd8]
test rax, rax
je 0x1400240da
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x450]
mov rax, qword [0x1400a50b8]
mov edx, r12d
call qword [0x14006efd8]
test eax, eax
je 0x140023666
mov rax, qword [rbp + 0x468]
mov r15d, dword [rbp + 0x458]
mov qword [rbp - 0x20], rax
mov eax, dword [rbp + 0x454]
mov dword [rbp - 0x68], eax
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400a5060]
mov rcx, rdi
call qword [0x14006efd8]
mov r12, rax
test rax, rax
je 0x1400240da
mov ecx, dword [rbp + 0x6c4]
xorps xmm0, xmm0
mov eax, dword [rbp + 0x6c0]
sub ecx, dword [rbp + 0x6bc]
sub eax, dword [rbp + 0x6c8]
mov dword [rbp + 0x814], ecx
mov dword [rbp + 0x818], eax
mov qword [rbp + 0x1a0], r14
movdqu xmmword [rbp + 0x820], xmm0
mov qword [rbp + 0x830], r14
mov dword [rbp + 0x838], r14d
mov dword [rbp + 0x810], SafeArrayCreateVectorEx
mov dword [rbp + 0x81c], 0x200001
movabs r10, 0xcf05a77938531370
mov rax, qword [0x1400a5068]
lea r9, [rbp + 0x1a0]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp + 0x810]
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rcx, r12
call qword [0x14006efd8]
mov qword [rbp - 0x70], rax
mov rdi, rax
test rax, rax
jne 0x14002374e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, 0x80004005
test edi, edi
cmovns edi, eax
jmp 0x140023b00
movabs r10, 0xeec037b63c533370
mov rax, qword [0x1400a50b8]
lea r8, [rbp + 0x3e0]
mov edx, 0x68
mov rcx, rdi
call qword [0x14006efd8]
test eax, eax
mov rcx, r14
mov eax, dword [rbp + 0x6c4]
cmovne rcx, qword [rbp + 0x3f8]
sub eax, dword [rbp + 0x6bc]
mov dword [rbp + 0x778], eax
mov eax, dword [rbp + 0x6c8]
sub eax, dword [rbp + 0x6c0]
mov dword [rbp + 0x77c], eax
mov qword [rsp + 0x68], rcx
movabs r10, 0xe62ca6fe305b8a70
mov rax, qword [0x1400a50c8]
mov rdx, rdi
mov rcx, r12
call qword [0x14006efd8]
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400a50d0]
mov edx, 1
mov rcx, r12
call qword [0x14006efd8]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp - 0x38]
mov rcx, r12
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
mov rdi, qword [0x1400a5138]
mov qword [rbp - 0x38], rax
movabs r10, 0xfd20bef77ed52170
mov rax, qword [0x1400a50c0]
xor ecx, ecx
call qword [0x14006efd8]
mov r8, rax
movabs r10, 0x94f1065e3ade9370
lea rdx, [rbp + 0x770]
mov rcx, r12
mov rax, rdi
call qword [0x14006efd8]
movabs r10, 0xfa2817df7ad26370
mov eax, dword [rbp - 0x48]
lea r9, [rbp + 0x770]
mov rdx, qword [rbp - 0x50]
or r8d, 0xffffffff
mov qword [rsp + 0x28], r14
mov rcx, r12
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400a5128]
call qword [0x14006efd8]
mov eax, 1
cmp dword [rbp - 0x40], eax
jne 0x1400238b5
cmp dword [rbp - 0x28], r14d
je 0x1400238ac
movabs r10, 0x8b0406ad5454f070
lea ecx, [rax + 7]
mov rax, qword [0x1400a5168]
call qword [0x14006efd8]
mov dword [rbp - 0x28], eax
jmp 0x1400238bc
mov dword [rbp - 0x28], 0xffffff
jmp 0x1400238bc
mov dword [rbp - 0x28], 0xffa8a8a8
mov eax, dword [rbp + 0x6bc]
mov r10d, r14d
mov ecx, dword [rbp + 0x6c0]
mov r9d, eax
mov r11d, dword [rbp - 0x68]
neg r9d
test eax, eax
mov edx, ecx
mov r8d, r14d
mov edi, r14d
cmovns r10d, eax
cmovns r9d, r14d
mov eax, dword [rbp + 0x778]
neg edx
test ecx, ecx
cmovns edx, r14d
cmovns r8d, ecx
sub eax, r9d
sub r11d, r10d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x77c]
sub eax, edx
sub r15d, r8d
cmp eax, r15d
cmovl r15d, eax
test r11d, r11d
jle 0x140023abf
test r15d, r15d
jle 0x140023abf
imul edx, dword [rbp + 0x778]
mov esi, r14d
movsxd rdi, dword [rbp - 0x68]
movsxd rax, r9d
imul r8d, edi
mov qword [rbp - 0x80], rdi
movsxd rcx, edx
add rcx, rax
mov rax, qword [rsp + 0x68]
lea rdx, [rax + rcx*4]
movsxd rax, r10d
movsxd rcx, r8d
add rcx, rax
mov qword [rbp - 0x50], rdx
mov rax, qword [rbp - 0x20]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x778]
shl rcx, 2
mov qword [rsp + 0x68], rcx
mov rbx, qword [rsp + 0x68]
mov ecx, r15d
mov r15d, dword [rbp - 0x28]
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x20], rax
mov r10, rax
mov r8d, r11d
sub r10, rdx
mov qword [rsp + 0x68], r8
lea r9, [rdx + 2]
mov r13d, 1
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140023a77
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r15b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x27]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x26]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
mov r8, qword [rsp + 0x68]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
add r9, 4
mov edi, esi
sub r8, r13
mov qword [rsp + 0x68], r8
jne 0x1400239a3
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x50]
mov r13, qword [rbp - 0x80]
add rdx, rbx
sub qword [rbp - 0x78], 1
mov qword [rbp - 0x50], rdx
lea rax, [rax + r13*4]
mov qword [rbp - 0x20], rax
jne 0x14002398b
mov r13d, dword [rbp + 0x30]
movabs rbx, 0xc81ecb17b1b54a58
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140023b00
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, r12
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
movabs r10, 0xc5540fa17e509b70
mov rax, qword [0x1400a5080]
mov rcx, r12
call qword [0x14006efd8]
test edi, edi
js 0x14002446e
mov eax, dword [rbp + 0x684]
lea rcx, [rbp + 0x370]
mov rdi, qword [rbp + 0x690]
mov r12d, 0x68
mov dword [rbp - 0x28], eax
mov r8d, r12d
mov rax, qword [rbp + 0x6a8]
xor edx, edx
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x50], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r12d
lea rcx, [rbp + 0x4c0]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x20], r14
mov dword [rbp - 0x68], r14d
xorps xmm0, xmm0
mov qword [rbp + 0x860], rax
mov r15d, r14d
mov dword [rbp + 0x868], eax
movups xmmword [rbp + 0x840], xmm0
movups xmmword [rbp + 0x850], xmm0
movups xmmword [rbp + 0x780], xmm0
test rdi, rdi
je 0x14002446e
movabs r10, 0xea2596a652d04370
mov rdi, qword [rsp + 0x70]
lea edx, [rax + 7]
mov rax, qword [0x1400a50a0]
mov rcx, rdi
call qword [0x14006efd8]
test rax, rax
je 0x1400240da
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x370]
mov rax, qword [0x1400a50b8]
mov edx, r12d
call qword [0x14006efd8]
test eax, eax
je 0x140023c12
mov rax, qword [rbp + 0x388]
mov r15d, dword [rbp + 0x378]
mov qword [rbp - 0x20], rax
mov eax, dword [rbp + 0x374]
mov dword [rbp - 0x68], eax
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400a5060]
mov rcx, rdi
call qword [0x14006efd8]
mov r12, rax
test rax, rax
je 0x1400240da
mov ecx, dword [rbp + 0x6d4]
xorps xmm0, xmm0
mov eax, dword [rbp + 0x6d0]
sub ecx, dword [rbp + 0x6cc]
sub eax, dword [rbp + 0x6d8]
mov dword [rbp + 0x844], ecx
mov dword [rbp + 0x848], eax
mov qword [rbp + 0x1a8], r14
movdqu xmmword [rbp + 0x850], xmm0
mov qword [rbp + 0x860], r14
mov dword [rbp + 0x868], r14d
mov dword [rbp + 0x840], SafeArrayCreateVectorEx
mov dword [rbp + 0x84c], 0x200001
movabs r10, 0xcf05a77938531370
mov rax, qword [0x1400a5068]
lea r9, [rbp + 0x1a8]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp + 0x840]
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rcx, r12
call qword [0x14006efd8]
mov qword [rbp - 0x70], rax
mov rdi, rax
test rax, rax
jne 0x140023cfa
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, 0x80004005
test edi, edi
cmovns edi, eax
jmp 0x1400240ab
movabs r10, 0xeec037b63c533370
mov rax, qword [0x1400a50b8]
lea r8, [rbp + 0x4c0]
mov edx, 0x68
mov rcx, rdi
call qword [0x14006efd8]
test eax, eax
mov rcx, r14
mov eax, dword [rbp + 0x6d4]
cmovne rcx, qword [rbp + 0x4d8]
sub eax, dword [rbp + 0x6cc]
mov dword [rbp + 0x788], eax
mov eax, dword [rbp + 0x6d8]
sub eax, dword [rbp + 0x6d0]
mov dword [rbp + 0x78c], eax
mov qword [rsp + 0x68], rcx
movabs r10, 0xe62ca6fe305b8a70
mov rax, qword [0x1400a50c8]
mov rdx, rdi
mov rcx, r12
call qword [0x14006efd8]
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400a50d0]
mov edx, 1
mov rcx, r12
call qword [0x14006efd8]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp - 0x38]
mov rcx, r12
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
mov rdi, qword [0x1400a5138]
mov qword [rbp - 0x38], rax
movabs r10, 0xfd20bef77ed52170
mov rax, qword [0x1400a50c0]
xor ecx, ecx
call qword [0x14006efd8]
mov r8, rax
movabs r10, 0x94f1065e3ade9370
lea rdx, [rbp + 0x780]
mov rcx, r12
mov rax, rdi
call qword [0x14006efd8]
movabs r10, 0xfa2817df7ad26370
mov eax, dword [rbp - 0x48]
lea r9, [rbp + 0x780]
mov rdx, qword [rbp - 0x50]
or r8d, 0xffffffff
mov qword [rsp + 0x28], r14
mov rcx, r12
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400a5128]
call qword [0x14006efd8]
mov eax, 1
cmp dword [rbp - 0x40], eax
jne 0x140023e5e
cmp dword [rbp - 0x28], r14d
je 0x140023e55
movabs r10, 0x8b0406ad5454f070
lea ecx, [rax + 7]
mov rax, qword [0x1400a5168]
call qword [0x14006efd8]
jmp 0x140023e63
mov dword [rbp - 0x40], 0xffffff
jmp 0x140023e69
mov eax, 0xffa8a8a8
mov dword [rbp - 0x40], eax
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x6cc]
mov r10d, r14d
mov ecx, dword [rbp + 0x6d0]
mov r9d, eax
mov r11d, dword [rbp - 0x68]
neg r9d
test eax, eax
mov edx, ecx
mov r8d, r14d
mov edi, r14d
cmovns r10d, eax
cmovns r9d, r14d
mov eax, dword [rbp + 0x788]
neg edx
test ecx, ecx
cmovns edx, r14d
cmovns r8d, ecx
sub eax, r9d
sub r11d, r10d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x78c]
sub eax, edx
sub r15d, r8d
cmp eax, r15d
cmovl r15d, eax
test r11d, r11d
jle 0x14002406a
test r15d, r15d
jle 0x14002406a
imul edx, dword [rbp + 0x788]
movsxd rdi, dword [rbp - 0x68]
movsxd rax, r9d
imul r8d, edi
mov qword [rbp - 0x80], rdi
movsxd rcx, edx
add rcx, rax
mov dword [rbp - 0x48], r14d
mov rax, qword [rsp + 0x68]
lea rdx, [rax + rcx*4]
movsxd rax, r10d
movsxd rcx, r8d
add rcx, rax
mov qword [rbp - 0x50], rdx
mov rax, qword [rbp - 0x20]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x788]
shl rcx, 2
mov qword [rsp + 0x68], rcx
mov ecx, r15d
mov r15d, r14d
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x20], rax
mov esi, dword [rbp - 8]
lea r9, [rdx + 2]
mov r10, rax
mov r8d, r11d
sub r10, rdx
mov qword [rbp - 0x60], r8
mov ebx, 1
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140024021
movzx edi, byte [r9 + r10]
mov r15d, 0x80808081
movzx r8d, dl
mov eax, r15d
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x3f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r15d
add dl, dil
mov byte [r9 + r10], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x3e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r15d
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r15d
mov r15d, dword [rbp - 0x48]
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
mov r8, qword [rbp - 0x60]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
add r9, 4
mov edi, r15d
sub r8, rbx
mov qword [rbp - 0x60], r8
jne 0x140023f4c
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x50]
add rdx, qword [rsp + 0x68]
sub qword [rbp - 0x78], rbx
mov rsi, qword [rbp - 0x80]
mov qword [rbp - 0x50], rdx
mov dword [rbp - 0x48], r15d
lea rax, [rax + rsi*4]
mov qword [rbp - 0x20], rax
jne 0x140023f33
movabs rbx, 0xc81ecb17b1b54a58
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x1400240ab
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, r12
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
movabs r10, 0xc5540fa17e509b70
mov rax, qword [0x1400a5080]
mov rcx, r12
call qword [0x14006efd8]
test edi, edi
js 0x14002446e
mov r12, qword [rsp + 0x70]
mov rdi, r14
jmp 0x14002566a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14002446e
mov r15d, 1
cmp dword [rbp + 0x684], r14d
jne 0x140024101
mov al, 0xc0
cmp r12d, r15d
jne 0x140024103
mov al, 0xff
and word [rbp - 0x28], 0
mov byte [rbp - 0x26], al
mov byte [rbp - 0x25], r15b
mov dword [rbp - 0x68], r14d
mov dword [rbp + 0x10], r14d
mov dword [rbp + 0x38], r14d
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400a5060]
mov rcx, rdi
call qword [0x14006efd8]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x14002414f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14002446e
cmp r12d, r15d
jne 0x140024208
mov edx, dword [rbp + 0x6c4]
mov edi, r14d
mov r9d, dword [rbp + 0x6d4]
mov r15d, edx
mov r8d, dword [rbp + 0x6bc]
mov eax, r9d
mov r10d, dword [rbp + 0x6cc]
sub r15d, r8d
mov ecx, dword [rbp + 0x6d8]
sub eax, r10d
mov r11d, dword [rbp + 0x6c0]
cmp eax, r15d
mov r12d, r14d
cmovg r15d, eax
sub ecx, r11d
mov dword [rbp + 0x50], ecx
cmp dword [rbp + 0x680], r14d
je 0x1400241c7
mov ecx, r8d
mov eax, r10d
sub ecx, edx
sub eax, r9d
add ecx, r15d
add eax, r15d
mov dword [rbp - 0x68], ecx
mov edi, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x50]
mov r12d, eax
mov eax, dword [rbp + 0x6c8]
sub r12d, r10d
add r12d, r9d
sub edi, r8d
mov dword [rbp + 0x20], r12d
sub eax, r11d
mov r12d, dword [rbp + 0x6d0]
add edi, edx
sub r12d, r11d
mov dword [rbp + 0x28], eax
mov dword [rbp + 0x18], r12d
sub r12d, dword [rbp + 0x6d0]
add r12d, dword [rbp + 0x6d8]
mov dword [rbp - 0x30], r12d
mov r12d, dword [rbp - 0x40]
jmp 0x14002427b
movups xmm0, xmmword [rbp + 0x6bc]
mov ecx, dword [rbp + 0x75c]
movups xmm1, xmmword [rbp + 0x6cc]
mov r15d, dword [rbp + 0x758]
movdqu xmmword [rbp + 0x740], xmm0
mov eax, dword [rbp + 0x74c]
mov edi, dword [rbp + 0x748]
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x744]
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x740]
movdqu xmmword [rbp + 0x790], xmm1
mov dword [rbp - 0x68], eax
mov eax, dword [rbp + 0x79c]
mov dword [rbp - 0x30], eax
mov eax, dword [rbp + 0x798]
mov dword [rbp + 0x20], eax
mov eax, dword [rbp + 0x794]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x790]
mov dword [rbp + 0x38], eax
mov dword [rbp + 0x50], ecx
xorps xmm0, xmm0
mov qword [rbp + 0x1b0], r14
neg ecx
mov qword [rbp + 0x8c0], r14
movdqu xmmword [rbp + 0x8b0], xmm0
mov dword [rbp + 0x8a8], ecx
mov dword [rbp + 0x8c8], r14d
mov dword [rbp + 0x8a0], SafeArrayCreateVectorEx
mov dword [rbp + 0x8a4], r15d
mov dword [rbp + 0x8ac], 0x200001
movabs r10, 0xcf05a77938531370
mov rcx, qword [rbp - 0x38]
lea r9, [rbp + 0x1b0]
mov rax, qword [0x1400a5068]
lea rdx, [rbp + 0x8a0]
mov dword [rsp + 0x28], r14d
xor r8d, r8d
mov qword [rsp + 0x20], r14
call qword [0x14006efd8]
mov qword [rbp - 0x10], rax
test rax, rax
jne 0x140024312
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rdi, qword [rbp - 0x38]
jmp 0x140024454
movabs r10, 0xe62ca6fe305b8a70
mov rcx, qword [rbp - 0x38]
mov rdx, rax
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
mov eax, 1
cmp r12d, eax
jne 0x14002437d
mov r8, qword [rbp + 8]
test r8, r8
je 0x14002437d
mov eax, dword [rbp + 0x50]
and qword [rbp + 0x710], 0
mov dword [rbp + 0x71c], eax
mov dword [rbp + 0x718], r15d
movabs r10, 0x94f1065e3ade9370
mov rcx, qword [rbp - 0x38]
lea rdx, [rbp + 0x710]
mov rax, qword [0x1400a5138]
call qword [0x14006efd8]
mov eax, dword [rbp + 0x684]
lea rcx, [rbp + 0x530]
mov dword [rbp], eax
mov r12d, 0x68
mov rax, qword [rbp + 0x6a0]
mov r8d, r12d
mov qword [rbp - 0x50], rax
xor edx, edx
mov rax, qword [rbp + 0x688]
mov qword [rbp - 0x20], rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r12d
lea rcx, [rbp + 0x5a0]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x70], r14
xorps xmm0, xmm0
mov dword [rsp + 0x78], r14d
mov r12d, r14d
mov qword [rbp + 0x890], rax
movups xmmword [rbp + 0x870], xmm0
mov dword [rbp + 0x898], eax
movups xmmword [rbp + 0x880], xmm0
movups xmmword [rbp + 0x720], xmm0
cmp qword [rbp - 0x20], r14
je 0x140024430
movabs r10, 0xea2596a652d04370
mov rcx, qword [rbp - 0x38]
lea edx, [rax + 7]
mov rax, qword [0x1400a50a0]
call qword [0x14006efd8]
test rax, rax
jne 0x140024b32
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rdi, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x10]
movabs r10, 0xb2e10636105e9a70
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
test rdi, rdi
je 0x14002446e
movabs r10, 0xc5540fa17e509b70
mov rax, qword [0x1400a5080]
mov rcx, rdi
call qword [0x14006efd8]
mov rax, qword [rbp + 8]
test rax, rax
je 0x140024491
movabs r10, 0xb2e10636105e9a70
mov rcx, rax
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
mov rax, qword [rbp + 0x688]
or r15, 0xffffffffffffffff
test rax, rax
je 0x1400244ef
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x1400244a4
mov rdi, qword [rbp + 0x688]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x688]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x688], r14
mov rax, qword [rbp + 0x690]
test rax, rax
je 0x140024549
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x1400244fe
mov rdi, qword [rbp + 0x690]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x690]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x690], r14
mov rdi, qword [rbp + 0x698]
test rdi, rdi
je 0x14002459c
mov rcx, r15
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140024558
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x698]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x698], r14
mov rcx, qword [rbp + 0x6a0]
test rcx, rcx
je 0x1400245c6
movabs r10, 0xb2e10636105e9a70
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
mov qword [rbp + 0x6a0], r14
mov rcx, qword [rbp + 0x6a8]
test rcx, rcx
je 0x1400245f0
movabs r10, 0xb2e10636105e9a70
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
mov qword [rbp + 0x6a8], r14
mov rcx, qword [rbp + 0x6b0]
test rcx, rcx
je 0x14002461a
movabs r10, 0xb2e10636105e9a70
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
mov qword [rbp + 0x6b0], r14
mov edi, 1
xor eax, eax
lock cmpxchg dword [0x1400ac66c], edi
jne 0x14002461f
mov eax, dword [0x1400ac668]
test eax, eax
jle 0x14002469f
sub eax, edi
mov dword [0x1400ac668], eax
jne 0x14002469f
mov eax, 1
lea r12, [0x1400ac460]
mov rdi, r12
lea r15d, [rax + 3]
cmp qword [rdi], r14
je 0x14002466b
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add rdi, 0x18
sub r15, rax
jne 0x140024652
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140067db0]
lea rcx, [0x1400a5050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea edi, [r15 + 1]
mov eax, r14d
xchg dword [0x1400ac66c], eax
mov eax, dword [0x1400ac450]
mov dword [rsp + 0x78], eax
movabs r10, 0xcd6cb78050552870
mov rax, qword [0x1400a50e8]
call qword [0x14006efd8]
mov r12, rax
xorps xmm0, xmm0
sub r12d, dword [0x1400ac448]
xor eax, eax
mov qword [rbp - 0x10], r12
mov qword [rbp + 0xb68], rax
movups xmmword [rbp + 0xb38], xmm0
movups xmmword [rbp + 0xb48], xmm0
movups xmmword [rbp + 0xb58], xmm0
xor eax, eax
lock cmpxchg dword [0x1400ac66c], edi
jne 0x1400246f8
mov eax, dword [0x1400ac668]
test eax, eax
jne 0x14002583d
mov dword [rbp], r14d
mov dword [rbp - 0x30], r14d
mov dword [rbp + 0x18], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp + 8], rax
test rax, rax
je 0x140024acc
mov r15d, 0x67
mov byte [rsp + 0x60], r14b
mov esi, r14d
lea rbx, [rax + 7]
mov r12d, r14d
lea rcx, [0x14008acb2]
mov r11d, r14d
or r13d, 0xffffffff
lea r14d, [r15 - 0x66]
movzx eax, byte [rcx - 1]
movzx r10d, byte [rcx - 2]
movzx r9d, byte [rcx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rcx]
lea rcx, [rcx + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [rcx - 4]
mov r8d, r11d
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx - 3]
shl r9d, 8
or r9d, eax
xor r12d, r9d
xor r8d, r12d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r8d
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor r8d, edx
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r8d, edx
mov edx, r8d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub edx, eax
xor r8d, edx
mov eax, r8d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov r8d, 0x605e
mov eax, edx
not eax
ror eax, 5
add eax, r8d
imul eax, eax, 0x7f1
xor r11d, eax
lea r12d, [r11 - 0x7f1]
xor r12d, edx
xor r12d, edi
mov eax, r12d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r12d
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 r12d, edx
mov eax, r12d
mov edi, r12d
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add edx, eax
xor r12d, edx
xor r11d, r12d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r12d, edx
lea eax, [r12 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r12d
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor r12d, edx
lea eax, [r12 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r12d
ror eax, 0xe
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, r8d
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r12d
xor r12d, r13d
rol eax, 2
mov r13d, r9d
xor edx, eax
xor edx, esi
mov esi, r10d
xor r11d, edx
mov byte [rbx - 4], r11b
mov byte [rbx], r12b
lea rbx, [rbx + 8]
ror r11d, 8
mov byte [rbx - 0xd], r11b
ror r12d, 8
mov byte [rbx - 9], r12b
ror r11d, 8
mov byte [rbx - 0xe], r11b
ror r12d, 8
mov byte [rbx - 0xa], r12b
ror r11d, 8
ror r12d, 8
mov byte [rbx - 0xf], r11b
mov byte [rbx - 0xb], r12b
ror r12d, 8
ror r11d, 8
sub r15, r14
jne 0x140024775
mov cl, byte [rsp + 0x60]
xor r14d, r14d
mov r13d, dword [rbp + 0x30]
mov eax, r14d
mov r15, qword [rbp + 8]
movabs rbx, 0xc81ecb17b1b54a58
mov edi, 0x338
lea edx, [r14 + 1]
xor cl, byte [rax + r15]
add rax, rdx
cmp rax, rdi
jb 0x140024a8c
movzx eax, cl
cmp rax, qword [0x14008afe8]
je 0x1400256a1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r12, qword [rbp - 0x10]
mov eax, 1
lea rdi, [0x1400ac460]
lea r15d, [rax + 3]
cmp qword [rdi], r14
je 0x140024af5
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add rdi, 0x18
sub r15, rax
jne 0x140024adc
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x1400ac460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140067db0]
lea rcx, [0x1400a5050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea edi, [r15 + 1]
jmp 0x140025845
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x530]
mov rax, qword [0x1400a50b8]
mov edx, 0x68
call qword [0x14006efd8]
test eax, eax
je 0x140024b78
mov rax, qword [rbp + 0x548]
mov r12d, dword [rbp + 0x538]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0x534]
mov dword [rsp + 0x78], eax
movabs r10, 0xb2ed17fc1cdcd370
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x1400a5060]
call qword [0x14006efd8]
mov qword [rsp + 0x68], rax
mov rcx, rax
test rax, rax
je 0x140024424
mov eax, dword [rbp + 0x10]
xorps xmm0, xmm0
sub eax, dword [rbp + 0x28]
sub edi, dword [rbp - 0x68]
mov dword [rbp + 0x878], eax
mov qword [rbp + 0x1b8], r14
movdqu xmmword [rbp + 0x880], xmm0
mov qword [rbp + 0x890], r14
mov dword [rbp + 0x898], r14d
mov dword [rbp + 0x870], SafeArrayCreateVectorEx
mov dword [rbp + 0x874], edi
mov dword [rbp + 0x87c], 0x200001
movabs r10, 0xcf05a77938531370
mov rax, qword [0x1400a5068]
lea r9, [rbp + 0x1b8]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp + 0x870]
xor r8d, r8d
mov qword [rsp + 0x20], r14
call qword [0x14006efd8]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x140024c51
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, 0x80004005
test edi, edi
cmovns edi, eax
jmp 0x140024ff1
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x5a0]
mov rax, qword [0x1400a50b8]
mov edx, 0x68
call qword [0x14006efd8]
mov rcx, r14
mov dword [rbp + 0x728], edi
test eax, eax
mov eax, dword [rbp + 0x28]
cmovne rcx, qword [rbp + 0x5b8]
sub eax, dword [rbp + 0x10]
mov dword [rbp + 0x72c], eax
mov qword [rbp - 0x78], rcx
movabs r10, 0xe62ca6fe305b8a70
mov rdi, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400a50d0]
mov edx, 1
mov rcx, rdi
call qword [0x14006efd8]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
mov rdi, qword [0x1400a5138]
mov qword [rbp - 0x50], rax
movabs r10, 0xfd20bef77ed52170
mov rax, qword [0x1400a50c0]
xor ecx, ecx
call qword [0x14006efd8]
mov r8, rax
movabs r10, 0x94f1065e3ade9370
mov rcx, qword [rsp + 0x68]
lea rdx, [rbp + 0x720]
mov rax, rdi
call qword [0x14006efd8]
movabs r10, 0xfa2817df7ad26370
mov eax, dword [rbp - 0x48]
lea r9, [rbp + 0x720]
mov rdx, qword [rbp - 0x20]
or r8d, 0xffffffff
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400a5128]
call qword [0x14006efd8]
mov eax, 1
cmp dword [rbp - 0x40], eax
jne 0x140024daa
cmp dword [rbp], r14d
je 0x140024da3
movabs r10, 0x8b0406ad5454f070
lea ecx, [rax + 7]
mov rax, qword [0x1400a5168]
call qword [0x14006efd8]
jmp 0x140024daf
mov eax, 0xffffff
jmp 0x140024daf
mov eax, 0xffa8a8a8
movsxd r11, dword [rsp + 0x78]
mov r10d, r14d
mov dword [rbp], eax
mov edx, r14d
mov eax, dword [rbp - 0x68]
mov r8d, r11d
mov r9d, eax
mov edi, r14d
neg r9d
test eax, eax
cmovns r10d, eax
cmovns r9d, r14d
mov eax, dword [rbp + 0x10]
mov ecx, eax
neg ecx
test eax, eax
cmovns edx, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x728]
sub r8d, r10d
sub eax, r9d
cmp eax, r8d
cmovl r8d, eax
mov eax, dword [rbp + 0x72c]
sub eax, ecx
mov dword [rsp + 0x78], r8d
sub r12d, edx
cmp eax, r12d
cmovl r12d, eax
test r8d, r8d
jle 0x140024fae
test r12d, r12d
jle 0x140024fae
imul ecx, dword [rbp + 0x728]
mov esi, dword [rsp + 0x78]
mov ebx, dword [rbp]
movsxd rax, r9d
imul edx, r11d
movsxd rcx, ecx
add rcx, rax
mov qword [rbp - 0x60], r11
mov rax, qword [rbp - 0x78]
mov dword [rbp + 0x28], r14d
lea r8, [rax + rcx*4]
movsxd rax, r10d
movsxd rcx, edx
add rcx, rax
mov qword [rbp - 0x20], r8
mov rax, qword [rbp - 0x70]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x728]
shl rcx, 2
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x70], rax
mov r13d, dword [rbp + 0x28]
lea r9, [r8 + 2]
mov r10, rax
sub r10, r8
mov r8d, esi
mov qword [rbp - 0x58], r8
mov esi, 1
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140024f5f
movzx edi, byte [r9 + r10]
mov r11d, 0x80808081
movzx r8d, dl
mov eax, r11d
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 1]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
add dl, dil
mov byte [r9 + r10], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 2]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
mov r8, qword [rbp - 0x58]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
add r9, 4
mov edi, r13d
sub r8, rsi
mov qword [rbp - 0x58], r8
jne 0x140024e8f
mov rax, qword [rbp - 0x70]
mov r8, qword [rbp - 0x20]
add r8, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x60]
sub r12, rsi
mov esi, dword [rsp + 0x78]
mov qword [rbp - 0x20], r8
mov dword [rbp + 0x28], r13d
lea rax, [rax + rcx*4]
mov qword [rbp - 0x70], rax
jne 0x140024e75
mov r13d, dword [rbp + 0x30]
movabs rbx, 0xc81ecb17b1b54a58
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x140024ff1
movabs r10, 0xe62ca6fe305b8a70
mov rcx, qword [rsp + 0x68]
mov rdx, rax
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
movabs r10, 0xc5540fa17e509b70
mov rcx, qword [rsp + 0x68]
mov rax, qword [0x1400a5080]
call qword [0x14006efd8]
test edi, edi
js 0x140024430
mov eax, dword [rbp + 0x684]
lea rcx, [rbp + 0x290]
mov rdi, qword [rbp + 0x690]
mov r12d, 0x68
mov dword [rsp + 0x78], eax
mov r8d, r12d
mov rax, qword [rbp + 0x6a8]
xor edx, edx
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x20], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r12d
lea rcx, [rbp + 0x610]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x70], r14
mov dword [rbp], r14d
xorps xmm0, xmm0
mov qword [rbp + 0x8f0], rax
mov r12d, r14d
mov dword [rbp + 0x8f8], eax
movups xmmword [rbp + 0x8d0], xmm0
movups xmmword [rbp + 0x8e0], xmm0
movups xmmword [rbp + 0x730], xmm0
test rdi, rdi
je 0x140024430
movabs r10, 0xea2596a652d04370
mov rdi, qword [rbp - 0x38]
lea edx, [rax + 7]
mov rax, qword [0x1400a50a0]
mov rcx, rdi
call qword [0x14006efd8]
test rax, rax
jne 0x1400250cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140024434
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x290]
mov rax, qword [0x1400a50b8]
mov edx, 0x68
call qword [0x14006efd8]
test eax, eax
je 0x140025114
mov rax, qword [rbp + 0x2a8]
mov r12d, dword [rbp + 0x298]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0x294]
mov dword [rbp], eax
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400a5060]
mov rcx, rdi
call qword [0x14006efd8]
mov qword [rsp + 0x68], rax
mov rcx, rax
test rax, rax
je 0x1400250be
mov edi, dword [rbp + 0x20]
xorps xmm0, xmm0
mov eax, dword [rbp + 0x18]
sub edi, dword [rbp + 0x38]
sub eax, dword [rbp - 0x30]
mov dword [rbp + 0x8d4], edi
mov dword [rbp + 0x8d8], eax
mov qword [rbp + 0x1c0], r14
movdqu xmmword [rbp + 0x8e0], xmm0
mov qword [rbp + 0x8f0], r14
mov dword [rbp + 0x8f8], r14d
mov dword [rbp + 0x8d0], SafeArrayCreateVectorEx
mov dword [rbp + 0x8dc], 0x200001
movabs r10, 0xcf05a77938531370
mov rax, qword [0x1400a5068]
lea r9, [rbp + 0x1c0]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp + 0x8d0]
xor r8d, r8d
mov qword [rsp + 0x20], r14
call qword [0x14006efd8]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x1400251eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, 0x80004005
test edi, edi
cmovns edi, eax
jmp 0x140025590
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x610]
mov rax, qword [0x1400a50b8]
mov edx, 0x68
call qword [0x14006efd8]
mov rcx, r14
mov dword [rbp + 0x738], edi
test eax, eax
mov eax, dword [rbp - 0x30]
cmovne rcx, qword [rbp + 0x628]
sub eax, dword [rbp + 0x18]
mov dword [rbp + 0x73c], eax
mov qword [rbp - 0x78], rcx
movabs r10, 0xe62ca6fe305b8a70
mov rdi, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400a50d0]
mov edx, 1
mov rcx, rdi
call qword [0x14006efd8]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
mov rdi, qword [0x1400a5138]
mov qword [rbp - 0x50], rax
movabs r10, 0xfd20bef77ed52170
mov rax, qword [0x1400a50c0]
xor ecx, ecx
call qword [0x14006efd8]
mov r8, rax
movabs r10, 0x94f1065e3ade9370
mov rcx, qword [rsp + 0x68]
lea rdx, [rbp + 0x730]
mov rax, rdi
call qword [0x14006efd8]
movabs r10, 0xfa2817df7ad26370
mov eax, dword [rbp - 0x48]
lea r9, [rbp + 0x730]
mov rdx, qword [rbp - 0x20]
or r8d, 0xffffffff
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400a5128]
call qword [0x14006efd8]
mov eax, 1
cmp dword [rbp - 0x40], eax
jne 0x140025348
cmp dword [rsp + 0x78], r14d
je 0x14002533e
movabs r10, 0x8b0406ad5454f070
lea ecx, [rax + 7]
mov rax, qword [0x1400a5168]
call qword [0x14006efd8]
jmp 0x14002534d
mov dword [rsp + 0x78], 0xffffff
jmp 0x140025354
mov eax, 0xffa8a8a8
mov dword [rsp + 0x78], eax
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x38]
mov r9d, r14d
movsxd r10, dword [rbp]
mov r8d, eax
neg r8d
mov edx, r14d
test eax, eax
mov r11d, r10d
mov edi, r14d
cmovns r9d, eax
cmovns r8d, r14d
mov eax, dword [rbp + 0x18]
mov ecx, eax
neg ecx
test eax, eax
cmovns edx, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x738]
sub r11d, r9d
sub eax, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x73c]
sub eax, ecx
sub r12d, edx
cmp eax, r12d
cmovl r12d, eax
test r11d, r11d
jle 0x14002554d
test r12d, r12d
jle 0x14002554d
mov eax, dword [rbp + 0x738]
imul eax, ecx
imul edx, r10d
mov qword [rbp - 0x60], r10
mov dword [rbp], r14d
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x78]
lea r8, [rax + rcx*4]
movsxd rax, r9d
movsxd rcx, edx
add rcx, rax
mov qword [rbp - 0x20], r8
mov rax, qword [rbp - 0x70]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x738]
shl rcx, 2
mov qword [rbp - 0x78], rcx
mov ecx, r12d
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x70], rax
mov ebx, dword [rbp]
lea r9, [r8 + 2]
mov r13d, dword [rbp - 8]
mov r10, rax
sub r10, r8
mov esi, 1
mov r8d, r11d
mov qword [rbp - 0x30], r8
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140025503
movzx edi, byte [r9 + r10]
mov r12d, 0x80808081
movzx r8d, dl
mov eax, r12d
movzx ecx, r13b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x79]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r12d
add dl, dil
mov byte [r9 + r10], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x7a]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r12d
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r12d
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
mov r8, qword [rbp - 0x30]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
add r9, 4
mov edi, ebx
sub r8, rsi
mov qword [rbp - 0x30], r8
jne 0x140025430
mov rax, qword [rbp - 0x70]
mov r8, qword [rbp - 0x20]
add r8, qword [rbp - 0x78]
sub qword [rbp - 0x58], rsi
mov r13, qword [rbp - 0x60]
mov qword [rbp - 0x20], r8
mov dword [rbp], ebx
lea rax, [rax + r13*4]
mov qword [rbp - 0x70], rax
jne 0x140025413
mov r13d, dword [rbp + 0x30]
movabs rbx, 0xc81ecb17b1b54a58
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400a5088]
call qword [0x14006efd8]
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x140025590
movabs r10, 0xe62ca6fe305b8a70
mov rcx, qword [rsp + 0x68]
mov rdx, rax
mov rax, qword [0x1400a50c8]
call qword [0x14006efd8]
movabs r10, 0xc5540fa17e509b70
mov rcx, qword [rsp + 0x68]
mov rax, qword [0x1400a5080]
call qword [0x14006efd8]
test edi, edi
js 0x140024430
mov eax, 1
cmp dword [rbp - 0x40], eax
jne 0x140025611
movabs r10, 0xa3080f0c3650fa70
mov eax, dword [rbp + 0x50]
mov r9d, r15d
mov rdi, qword [rbp - 0x38]
mov r12, qword [rsp + 0x70]
mov r8d, dword [rbp + 0x6c0]
mov rcx, r12
mov edx, dword [rbp + 0x6bc]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400a5050]
call qword [0x14006efd8]
jmp 0x14002566a
movabs r10, 0xf658a6f3125f5170
mov eax, dword [rbp + 0x50]
mov r9d, r15d
mov ecx, dword [rbp - 0x28]
mov rdi, qword [rbp - 0x38]
mov r12, qword [rsp + 0x70]
mov r8d, dword [rbp + 0x754]
mov edx, dword [rbp + 0x750]
mov dword [rsp + 0x50], ecx
mov rcx, r12
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400a5090]
call qword [0x14006efd8]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x10], rax
movabs r10, 0xc0b816137adf0070
mov edx, dword [rbp - 0x18]
mov rcx, r12
mov rax, qword [0x1400a50d0]
call qword [0x14006efd8]
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14002444f
jmp 0x140024438
xor edx, edx
mov byte [rdi + r15 - 1], r14b
lea rdi, [0x1400ac460]
mov rcx, rdi
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r15], r14b
je 0x140025803
mov qword [rbp + 0x1d0], r15
jmp 0x1400256d4
lea rdi, [0x1400ac460]
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], r14w
jne 0x1400256db
lea r15, [r15 + rax*2]
mov eax, dword [rbp + 0x18]
lea rcx, [rax + rax*2]
lea r12, [rdi + rcx*8]
xor ecx, ecx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x1400257f0
mov rax, qword [r12]
mov ecx, 0x5a4d
mov edi, r14d
cmp word [rax], cx
je 0x140025725
mov edi, 0xc000007b
jmp 0x140025774
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14002571e
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14002571e
cmp dword [rcx], 0x4550
jne 0x14002571e
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140025760
mov edi, 0xc000000d
jmp 0x140025774
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [r15 + 2]
mov ecx, r14d
add r15, 6
mov dword [rbp - 0x30], eax
mov dword [rbp + 0x20], ecx
test eax, eax
je 0x1400257dd
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], r14b
jne 0x140025790
inc r15
add r15, rax
test edi, edi
js 0x1400257c9
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x1400257f5
mov ecx, dword [rbp]
lea rdx, [0x1400a5050]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp + 0x20]
mov eax, 1
add dword [rbp], eax
add ecx, eax
mov dword [rbp + 0x20], ecx
cmp ecx, dword [rbp - 0x30]
jb 0x140025789
jmp 0x1400257e2
mov eax, 1
add dword [rbp + 0x18], eax
cmp byte [r15], r14b
jne 0x1400256cd
jmp 0x1400257f5
mov edi, 0xc000007a
mov r15, qword [rbp + 0x1d0]
test r15, r15
je 0x140025826
jmp 0x140025806
mov edi, dword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test edi, edi
js 0x140024ac8
mov eax, dword [0x1400ac668]
mov edi, 1
mov r12, qword [rbp - 0x10]
add eax, edi
mov dword [0x1400ac668], eax
mov eax, r14d
xchg dword [0x1400ac66c], eax
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0xb68], eax
mov dword [rbp + 0xb38], r12d
mov dword [rbp + 0xb30], edi
mov dword [rbp + 0xb48], 0x9966f291
mov dword [rbp + 0xb40], edi
mov dword [rbp + 0xb58], edi
mov dword [rbp + 0xb50], edi
mov dword [rbp + 0xb60], edi
movabs r10, 0xc9cc1e45325ad070
mov rax, qword [0x1400a5120]
lea r9, [rbp + 0xb30]
mov r15d, 4
mov edx, 0x2021
mov r8d, r15d
xor ecx, ecx
call qword [0x14006efd8]
xor eax, eax
lock cmpxchg dword [0x1400ac66c], edi
jne 0x1400258b5
mov eax, dword [0x1400ac668]
test eax, eax
jle 0x14002592d
sub eax, edi
mov dword [0x1400ac668], eax
jne 0x14002592d
lea r12, [0x1400ac460]
mov eax, 1
mov rdi, r12
cmp qword [rdi], r14
je 0x1400258fd
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add rdi, 0x18
sub r15, rax
jne 0x1400258e4
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140067db0]
lea rcx, [0x1400a5050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
xchg dword [0x1400ac66c], eax
movabs r10, 0xb7b1b729165e9270
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x1400a51b0]
call qword [0x14006efd8]
lea rcx, [rbp + 0x138]
call fcn.14001d2c0
xorps xmm0, xmm0
mov qword [rbp + 0x220], r14
movups xmmword [rbp + 0x238], xmm0
mov r15, r14
mov r12, r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edi, 8
mov r8d, LoadRegTypeLib
mov rcx, rax
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x140027c82
mov r15, rax
lea edx, [rdi + 0x78]
lea rax, [0x140000000]
lea rax, [rax + 0xab410]
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r15 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r15 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r15 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r15 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r15 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r15 + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [r15 + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [r15 + rdx + 0x10], xmm1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x140027c82
mov r12, rax
mov rax, qword [0x1400ab350]
mov qword [r12], rax
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1d8], rax
mov dword [rbp + 0x21c], 0xc4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, 0xc4
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x140027c82
mov qword [rbp + 0x220], rax
mov ecx, r14d
mov dword [rbp + 0x218], ecx
lea r11d, [rdi - 7]
mov r8, rax
mov r9d, r14d
mov edx, LoadRegTypeLib
test ecx, ecx
je 0x140025ae0
mov eax, dword [r8]
add eax, 4
cmp eax, 4
jb 0x140027c82
mov r10d, eax
add r10, r8
cmp r10, r8
jb 0x140027c82
add r9d, r11d
mov r8, r10
cmp r9d, ecx
jb 0x140025ab7
lea r9, [r8 + 4]
cmp r9, r8
jb 0x140027c82
mov ecx, dword [rbp + 0x21c]
lea rax, [r8 + 8]
add rcx, qword [rbp + 0x220]
cmp rax, rcx
ja 0x140027c82
mov dword [r8], 4
mov dword [r9], 4
mov ecx, dword [rbp + 0x218]
add ecx, r11d
mov dword [rbp + 0x218], ecx
mov dword [rsp + 0x78], edi
mov r8, r15
mov r10, r12
test r15, r15
jne 0x140025b3c
test edx, edx
je 0x140025b44
jmp 0x140027c82
test edx, edx
je 0x140027c82
mov r9d, dword [rbp + 0x21c]
cmp qword [rbp + 0x220], r14
jne 0x140025b7c
mov r15, r8
mov r12, r10
mov r8d, 0xa4
add r8d, r9d
cmp r8d, r9d
jb 0x140027c82
mov edi, dword [rsp + 0x78]
mov dword [rbp + 0x21c], r8d
jmp 0x140025c06
mov r8, qword [rbp + 0x220]
mov r10d, r14d
test ecx, ecx
je 0x140025bb3
mov eax, dword [r8]
add eax, 4
cmp eax, 4
jb 0x140027c82
mov r11d, eax
add r11, r8
cmp r11, r8
jb 0x140027c82
inc r10d
mov r8, r11
cmp r10d, ecx
jb 0x140025b8a
lea r11, [r8 + 4]
cmp r11, r8
jb 0x140027c82
mov r10d, edx
mov ecx, r9d
add rcx, qword [rbp + 0x220]
lea rax, [r10 + 4]
add rax, r8
cmp rax, rcx
ja 0x140027c82
mov dword [r8], edx
test r15, r15
je 0x140025bf3
mov r8d, r10d
mov rdx, r15
mov rcx, r11
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp + 0x218]
mov r11d, 1
mov r8d, dword [rbp + 0x21c]
add ecx, r11d
mov dword [rbp + 0x218], ecx
test r12, r12
jne 0x140025c1d
test edi, edi
je 0x140025c25
jmp 0x140027c82
test edi, edi
je 0x140027c82
cmp qword [rbp + 0x220], r14
jne 0x140025c4a
mov edi, SafeArrayGetDim
add edi, r8d
cmp edi, r8d
jb 0x140027c82
mov dword [rbp + 0x21c], edi
jmp 0x140025cd1
mov rdx, qword [rbp + 0x220]
mov r9d, r14d
test ecx, ecx
je 0x140025c80
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140027c82
mov r10d, eax
add r10, rdx
cmp r10, rdx
jb 0x140027c82
add r9d, r11d
mov rdx, r10
cmp r9d, ecx
jb 0x140025c58
lea r10, [rdx + 4]
cmp r10, rdx
jb 0x140027c82
mov r9d, edi
mov ecx, r8d
add rcx, qword [rbp + 0x220]
lea rax, [r9 + 4]
add rax, rdx
cmp rax, rcx
ja 0x140027c82
mov dword [rdx], edi
test r12, r12
je 0x140025cc5
mov r8d, r9d
mov rdx, r12
mov rcx, r10
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r11d, 1
mov ecx, dword [rbp + 0x218]
mov edi, dword [rbp + 0x21c]
add ecx, r11d
mov dword [rbp + 0x218], ecx
cmp qword [rbp + 0x220], r14
jne 0x140025d02
lea r8d, [rdi + 0xc]
cmp r8d, edi
jb 0x140027c82
add ecx, r11d
mov dword [rbp + 0x21c], r8d
mov dword [rbp + 0x218], ecx
jmp 0x140025d79
mov rdx, qword [rbp + 0x220]
mov r8d, r14d
test ecx, ecx
je 0x140025d38
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140027c82
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x140027c82
add r8d, r11d
mov rdx, r9
cmp r8d, ecx
jb 0x140025d10
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140027c82
mov ecx, edi
lea rax, [rdx + 0xc]
add rcx, qword [rbp + 0x220]
cmp rax, rcx
ja 0x140027c82
mov rax, qword [rbp + 0x1d8]
mov dword [rdx], 8
mov qword [r8], rax
add dword [rbp + 0x218], r11d
mov r8d, dword [rbp + 0x21c]
mov rdi, r14
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x78], r14d
mov qword [rbp - 0x10], r14
mov qword [rbp + 8], r14
mov dword [rbp], r14d
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x20], r14
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp - 0x70], rax
add r8d, 8
cmp r8d, 8
jb 0x140027c82
lea rdx, [r8 + 7]
and edx, 0xfffffff8
cmp edx, r8d
jb 0x140027c82
mov eax, edx
mov qword [rsp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x60], rax
mov rcx, rax
test rax, rax
je 0x140027c82
mov eax, dword [rbp + 0x218]
lea rdx, [rcx + 4]
mov qword [rbp - 0x80], r15
mov r8, r15
mov qword [rbp - 0x78], r12
mov r9, r12
mov dword [rcx], eax
cmp rdx, rcx
jb 0x140025e70
mov eax, dword [rbp + 0x21c]
lea r9, [rdx + 4]
mov dword [rdx], eax
cmp r9, rdx
jb 0x140025e74
mov rax, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x70]
mov qword [rax + rcx - 8], rdx
mov rcx, r9
mov r8d, dword [rbp + 0x21c]
mov rdx, qword [rbp + 0x220]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsp + 0x68]
mov rdi, qword [rbp - 0x60]
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x70], r14
jmp 0x140025ec2
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r12
mov dword [rbp - 0x30], 0xc0000095
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x60]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
or dword [rbp - 0x30], 0x10000000
jl 0x140027f7c
mov qword [rbp - 0x70], r14
test r14, r14
je 0x140027c82
mov eax, dword [rsp + 0x78]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140027f72
add rax, 8
mov qword [rbp - 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x60]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x58], rax
mov r9, rax
test rax, rax
je 0x140027f72
mov r8d, dword [rsp + 0x78]
mov al, r14b
mov byte [rsp + 0x60], al
mov rcx, r14
mov edx, r8d
test r8d, r8d
je 0x140025f35
mov r8d, 1
xor al, byte [rcx + rdi]
add rcx, r8
cmp rcx, rdx
jb 0x140025f26
mov byte [rsp + 0x60], al
mov rcx, r9
mov qword [rbp + 0x700], rbx
or r10d, 0xffffffff
mov qword [rbp - 0x10], rcx
mov dword [rbp - 0x30], r14d
mov r8, rdi
mov dword [rbp + 0x18], r14d
mov r9d, r14d
and edx, 7
je 0x14002606b
mov ecx, r14d
mov r10d, r14d
mov dword [rbp + 0x20], ecx
test edx, edx
je 0x140026049
mov ebx, 0x38
lea eax, [rbx - 0x37]
movzx r11d, byte [r8]
inc r8
cmp ecx, 4
jae 0x140025f8e
lea ecx, [rbx - 0x20]
shl r11d, cl
or r9d, r11d
jmp 0x140025f96
mov ecx, ebx
shl r11d, cl
or r10d, r11d
mov ecx, dword [rbp + 0x20]
sub ebx, 8
add ecx, eax
mov dword [rbp - 0x30], r10d
mov dword [rbp + 0x18], r9d
mov dword [rbp + 0x20], ecx
cmp ecx, edx
jl 0x140025f77
mov al, byte [rsp + 0x60]
xor r9d, 0xb17a307a
mov rsi, qword [rbp - 0x10]
xor r10d, 0x42f6b18d
mov qword [rsp + 0x70], rdi
mov r11d, r10d
mov edi, r14d
mov qword [rbp - 0x78], r12
mov ecx, r9d
mov qword [rbp - 0x80], r15
movabs rbx, 0xc81ecb17b1b54a58
mov r14d, 1
lea r13, [rsi + 1]
mov qword [rbp - 0x10], r13
cmp edi, 4
jge 0x140025ffe
rol ecx, 8
mov r13d, ecx
jmp 0x140026005
rol r11d, 8
mov r13d, r11d
mov byte [rsi], r13b
add edi, r14d
mov r13, qword [rbp - 0x10]
mov rsi, r13
cmp edi, edx
jl 0x140025fe9
mov rdi, qword [rsp + 0x70]
mov rcx, r13
mov r13d, dword [rbp + 0x30]
mov r14d, 0
mov qword [rbp - 0x10], rcx
cmp edx, 4
jbe 0x140026042
lea ecx, [r14 + 8]
sub ecx, edx
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x140026067
mov r10d, r14d
jae 0x14002606b
jmp 0x140026057
mov r9d, 0xb17a307a
mov dword [rbp + 0x18], r14d
mov dword [rbp - 0x30], r14d
mov ecx, 4
sub ecx, edx
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov rcx, qword [rbp - 0x10]
mov edx, dword [rsp + 0x78]
mov r11d, edx
shr rdx, 3
test rdx, rdx
je 0x14002636a
movzx r14d, word [rbp + 0x704]
lea r11, [rcx + 7]
movzx r12d, word [rbp + 0x702]
lea rax, [r8 + 2]
movzx r15d, word [rbp + 0x706]
mov rsi, rdx
movzx r13d, bx
movzx ecx, byte [rax - 1]
movzx r8d, byte [rax - 2]
movzx edi, byte [rax + 2]
shl r8d, 8
or r8d, ecx
shl edi, 8
movzx ecx, byte [rax]
lea rax, [rax + 8]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [rax - 7]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [rax - 5]
or edi, ecx
movzx ecx, byte [rax - 4]
shl edi, 8
or edi, ecx
movzx ecx, byte [rax - 3]
shl edi, 8
or edi, ecx
xor r10d, edi
mov edx, r10d
sub edx, r13d
xor edx, r8d
xor edx, r9d
mov r9d, edx
ror edx, 0xf
xor r9d, dword [rbp + 0x704]
imul edx, r12d
mov ecx, r9d
ror ecx, 7
add edx, ecx
xor r10d, edx
mov ecx, r10d
ror ecx, 0xa
lea edx, [rbx + r10]
ror edx, 9
imul edx, r14d
sub edx, ecx
xor r9d, edx
mov edx, r14d
xor edx, r9d
mov ecx, r9d
rol ecx, 5
rol edx, 4
imul edx, r15d
add edx, ecx
mov ecx, dword [rbp + 0x704]
xor r10d, edx
mov edx, ebx
xor edx, r10d
sub ecx, edx
xor r9d, ecx
mov edx, r9d
mov ecx, r9d
shr ecx, 6
sub edx, r13d
imul edx, r12d
sub edx, ecx
xor r10d, edx
mov ecx, r10d
ror ecx, 0xf
xor ecx, r14d
imul ecx, r13d
xor r9d, ecx
mov ecx, r9d
not ecx
ror ecx, 3
add ecx, r15d
imul ecx, r14d
xor r10d, ecx
mov ecx, r10d
sub ecx, r13d
sub ecx, dword [rbp + 0x704]
xor r9d, ecx
mov ecx, r15d
mov edx, r9d
xor ecx, r9d
ror edx, 0xa
imul ecx, r12d
xor edx, ecx
xor r10d, edx
mov edx, r13d
xor edx, r10d
mov ecx, r10d
rol edx, 6
imul edx, r14d
ror ecx, 3
xor edx, ecx
xor r9d, edx
mov edx, r15d
mov ecx, r9d
ror ecx, 0xf
sub ecx, r15d
imul ecx, r13d
xor r10d, ecx
xor edx, r10d
mov ecx, r10d
imul edx, r13d
shr ecx, 1
xor edx, ecx
mov ecx, r10d
xor r9d, edx
shr ecx, 0xf
mov edx, r10d
sub edx, r14d
rol edx, 3
imul edx, r13d
xor edx, ecx
xor r9d, edx
mov edx, r9d
mov ecx, r9d
sub edx, r14d
shr ecx, 0xd
imul edx, r12d
sub edx, ecx
xor r10d, edx
mov edx, ebx
sub edx, r10d
mov ecx, r10d
ror edx, 9
imul edx, r14d
ror ecx, 0xb
xor edx, ecx
xor r9d, edx
mov ecx, r9d
sub ecx, r15d
sub ecx, ebx
xor r10d, ecx
mov ecx, r12d
xor ecx, r10d
mov edx, r10d
ror edx, 7
imul ecx, r13d
sub ecx, edx
mov edx, r15d
xor r9d, ecx
xor edx, r9d
mov ecx, r9d
rol edx, 4
imul edx, r12d
ror ecx, 0x10
sub edx, ecx
xor r10d, edx
mov edx, ebx
sub edx, r10d
mov ecx, r10d
ror edx, 0xa
imul edx, r14d
ror ecx, 4
add edx, ecx
xor r9d, edx
mov edx, r9d
mov ecx, r9d
sub edx, ebx
ror ecx, 9
ror edx, 4
imul edx, r15d
xor edx, ecx
xor r10d, edx
mov edx, r10d
xor edx, dword [rbp + 0x704]
mov ecx, r10d
rol edx, 8
imul edx, r13d
rol ecx, 2
sub edx, ecx
xor r9d, edx
mov edx, dword [rbp + 0x704]
sub edx, r9d
mov ecx, r9d
ror edx, 0xb
ror ecx, 0xc
imul edx, r12d
sub edx, ecx
xor r10d, edx
mov edx, r12d
xor edx, r10d
mov ecx, r10d
shr ecx, 8
imul edx, r14d
xor edx, ecx
mov ecx, dword [rbp + 0x704]
xor r9d, edx
xor ecx, ebx
xor ecx, r9d
xor r9d, dword [rbp + 0x18]
mov byte [r11 - 4], r9b
xor r10d, ecx
xor r10d, dword [rbp - 0x30]
mov byte [r11], r10b
lea r11, [r11 + 8]
ror r9d, 8
mov byte [r11 - 0xd], r9b
ror r10d, 8
mov byte [r11 - 9], r10b
ror r9d, 8
mov byte [r11 - 0xe], r9b
ror r10d, 8
mov byte [r11 - 0xa], r10b
ror r9d, 8
ror r10d, 8
mov byte [r11 - 0xf], r9b
mov byte [r11 - 0xb], r10b
ror r10d, 8
ror r9d, 8
mov dword [rbp + 0x18], r8d
mov dword [rbp - 0x30], edi
sub rsi, 1
jne 0x1400260a6
mov al, byte [rsp + 0x60]
xor r14d, r14d
mov r15, qword [rbp - 0x80]
mov r12, qword [rbp - 0x78]
mov r13d, dword [rbp + 0x30]
mov rdi, qword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
movzx ecx, al
mov rax, qword [rbp - 0x58]
mov qword [rax + r11], rcx
mov ebx, 8
mov qword [rbp + 0x90], LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea r8d, [rbx + 0x28]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x80], rax
mov rbx, rax
test rax, rax
jne 0x140026635
mov dword [rbp - 0x30], 0xc0000017
mov rbx, r14
mov qword [rbp - 0x10], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1400264bf
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14002642a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x70]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x140026462
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x70]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14002649a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x70]
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp - 0x10], rbx
mov ecx, dword [rbp - 0x30]
or ecx, 0x10000000
jl 0x140027a03
lea rax, [rbx + 0x20]
mov qword [rbp - 0x70], rax
mov eax, dword [rax]
mov dword [rsp + 0x78], eax
lea rax, [rbx + 0x10]
mov ecx, dword [rax]
mov qword [rsp + 0x68], rax
mov eax, dword [rbx]
add eax, 4
cmp eax, 4
jb 0x140027ef4
lea edx, [rax + 4]
mov qword [rbp - 0x10], rbx
cmp edx, eax
jb 0x140027f64
add ecx, edx
cmp ecx, edx
jb 0x140027f64
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140027f64
mov ecx, dword [rsp + 0x78]
add ecx, eax
cmp ecx, eax
jb 0x140027f64
mov eax, ecx
mov qword [rbp - 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x80]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp + 0x18], rax
mov rcx, rax
test rax, rax
je 0x140026a5c
mov eax, dword [rbx]
mov r8, rdi
mov dword [rcx], eax
mov r9, r15
lea rax, [rcx + 4]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x78], rax
mov r10, r12
cmp rax, rcx
jb 0x140026880
mov r8d, dword [rbx]
mov rcx, rax
mov rdx, qword [rbx + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, dword [rbx]
add rdx, qword [rbp - 0x78]
cmp rdx, qword [rbp - 0x78]
jb 0x140026876
mov r8, qword [rsp + 0x68]
mov eax, dword [r8]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov qword [rbp - 0x78], rax
cmp rax, rdx
jb 0x140026876
mov r8d, dword [r8]
mov rcx, rax
mov rdx, qword [rbx + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx]
add rcx, qword [rbp - 0x78]
mov qword [rsp + 0x68], rcx
cmp rcx, qword [rbp - 0x78]
jb 0x140026876
mov rdx, qword [rbp - 0x70]
mov eax, dword [rdx]
mov dword [rcx], eax
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140026876
mov r8d, dword [rdx]
mov rcx, rax
mov rdx, qword [rbx + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rcx, qword [rbp - 0x70]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x68]
add rcx, 4
add rax, rcx
cmp rax, rcx
jb 0x140026884
mov rcx, qword [rbp + 0x18]
mov eax, dword [rbp - 0x80]
mov qword [rbp + 8], rcx
jmp 0x1400268c3
mov eax, dword [rbp - 0x60]
mov dword [rbx], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x60]
mov edx, 8
mov r8d, r8d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14002676c
mov qword [rbx + 8], rax
mov r8, qword [rbp - 0x60]
mov rcx, rax
mov rdx, qword [rbp - 0x58]
mov r8d, r8d
mov qword [rbp - 0x80], rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsp + 0x70], rdi
mov dword [rbx + 0x10], LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov r8d, LoadRegTypeLib
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14002676c
mov qword [rbx + 0x18], rax
mov rcx, rax
mov edx, 0x80
lea rax, [0x140000000]
lea rax, [rax + 0xab360]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [rcx + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
mov dword [rbx + 0x20], 8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov eax, 8
mov r8d, eax
mov edx, eax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x140026852
mov rdi, rbx
mov qword [rbp - 0x80], rbx
mov rdi, qword [rsp + 0x70]
mov ebx, 0xc0000017
mov dword [rbp - 0x30], ebx
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x70], r14
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x1400267b4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x80]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x1400267ec
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x80]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140026824
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x80]
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x80]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, r14
test ebx, ebx
js 0x1400263bd
jmp 0x14002686a
mov qword [rbx + 0x28], rax
mov rcx, rax
mov dword [rbp - 0x30], r14d
mov rax, qword [0x1400ab400]
mov qword [rcx], rax
mov rax, rbx
mov rbx, rax
mov qword [rbp - 0x70], r14
jmp 0x1400263c0
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x18], rax
jmp 0x140026884
mov qword [rbp + 0x18], rcx
mov qword [rbp - 0x10], rbx
mov dword [rbp - 0x30], 0xc0000095
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x18]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
or dword [rbp - 0x30], 0x10000000
jl 0x140027f7c
mov eax, dword [rbp]
mov rcx, r14
cmp qword [rbp + 0x220], r14
je 0x1400268d9
mov edx, 1
cmp dword [rbp + 0x218], edx
ja 0x1400268e3
mov esi, 0xc000000d
jmp 0x140027a05
mov rdx, qword [rbp + 0x220]
mov r9d, r14d
lea r8, [rdx + 4]
mov dword [rbp], eax
mov qword [rbp + 8], rcx
mov r11, rdi
mov qword [rbp - 0x10], rbx
cmp r8, rdx
jb 0x140027f5a
mov edx, dword [rdx]
add rdx, r8
cmp rdx, r8
jb 0x140027f50
mov eax, 1
add r9d, eax
cmp r9d, eax
mov eax, dword [rbp]
jb 0x1400268ed
mov eax, dword [rdx]
mov dword [rsp + 0x78], eax
lea rax, [rdx + 4]
mov qword [rbp - 0x10], rbx
cmp rax, rdx
jb 0x140027f46
mov rax, rcx
mov qword [rbp + 8], rcx
cmp qword [rbp + 0x220], r14
je 0x1400268d9
cmp dword [rbp + 0x218], 2
ja 0x140026960
mov esi, 0xc000000d
jmp 0x140026de5
mov rcx, qword [rbp + 0x220]
mov r8, rbx
mov dword [rbp - 0x30], r14d
mov r9, r12
mov r10, r15
mov qword [rsp + 0x70], rax
mov edx, dword [rbp]
mov rbx, r8
mov qword [rbp + 8], rax
mov rdi, r11
mov dword [rbp], edx
mov r15, r10
mov rdx, rax
mov qword [rbp - 0x10], rbx
mov eax, dword [rsp + 0x78]
mov r12, r9
mov dword [rsp + 0x78], eax
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140027f33
mov ecx, dword [rcx]
add rcx, rax
cmp rcx, rax
jb 0x140027f2c
inc dword [rbp - 0x30]
mov rax, rdx
cmp dword [rbp - 0x30], 2
mov qword [rsp + 0x70], rdx
jb 0x140026979
mov r8d, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140027f2c
mov eax, dword [rsp + 0x78]
add eax, 0x30
cmp eax, 0x30
jb 0x140027f2c
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140027f2c
lea eax, [rcx + r8]
cmp eax, ecx
jb 0x140027f2c
cmp eax, 0x400000
jbe 0x140026a12
mov esi, 0x8000ffff
jmp 0x140027a05
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x10], rbx
mov qword [rbp + 8], rdx
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x80], r10
mov qword [rbp - 0x78], r9
mov qword [rbp - 0x60], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rbx, qword [rsp + 0x70]
mov edx, 8
mov rcx, rax
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x140026a66
mov esi, 0xd0000017
jmp 0x140027a05
mov r8, rax
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x70]
test rax, rax
jne 0x140026a8c
mov rcx, qword [rbp - 0x60]
mov esi, 0x80070057
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x38], r8
jmp 0x140026de9
mov qword [rbp + 0x268], rax
lea rdx, [0x140081590]
mov eax, dword [rbp]
mov ecx, 1
mov qword [rbp + 0x270], r8
lea r8, [rbp + 0x130]
mov dword [rbp + 0x278], eax
mov dword [rbp + 0x27c], ebx
mov dword [rbp + 0x280], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x140026b2d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r9, qword [rsp + 0x70]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovns ecx, eax
mov dword [rbp - 0x30], ecx
cmp ecx, 0xd0000023
jne 0x140026b9e
mov rdx, qword [rbp - 0x38]
mov esi, 0x8007007a
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x38], rdx
mov rdx, qword [rbp - 0x70]
mov qword [rbp - 0x10], rcx
mov qword [rbp + 8], rdx
jmp 0x140027a05
mov rcx, qword [rbp + 0x130]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140026ad3
movabs r10, 0x86712ea7345e2b70
xor r9d, r9d
lea rdx, [rbp + 0x268]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x14006efd8]
mov r9, qword [rsp + 0x70]
mov ecx, eax
or ecx, 0x10000000
mov dword [rbp - 0x30], ecx
jl 0x140026aff
mov r9d, dword [rbp + 0x27c]
mov r11, rdi
mov r10, qword [rbp - 0x70]
mov rbx, r15
mov rdx, qword [rbp - 0x60]
mov rax, r12
jmp 0x140026bbf
mov rdx, qword [rbp - 0x60]
mov rax, r12
mov r10, qword [rbp - 0x70]
mov rbx, r15
mov qword [rbp - 0x10], rdx
mov r11, rdi
mov qword [rbp + 8], r10
test ecx, ecx
js 0x140027f7c
mov qword [rbp - 0x70], r14
mov r15, rbx
mov rdi, r11
cmp r9d, 4
jae 0x140026bf0
mov rdx, qword [rbp - 0x38]
mov esi, 0xd000003e
mov rcx, qword [rbp - 0x60]
mov r12, rax
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x10], rcx
mov qword [rbp + 8], r10
jmp 0x140027a05
mov r8, qword [rbp - 0x38]
mov qword [rbp - 0x38], r8
mov ecx, dword [r8]
mov dword [rsp + 0x78], ecx
lea rcx, [r8 + 4]
mov qword [rsp + 0x68], rcx
cmp rcx, r8
jb 0x140027f1a
mov rcx, qword [rbp - 0x60]
mov r12, rax
lea eax, [r9 - 4]
mov qword [rbp - 0x10], rcx
mov rdx, r10
mov rbx, rcx
mov qword [rbp + 8], rdx
cmp eax, dword [rsp + 0x78]
jae 0x140026c43
mov esi, 0xd000003e
mov r12, qword [rbp - 0x78]
mov r15, qword [rbp - 0x80]
mov qword [rbp - 0x38], r8
jmp 0x140026be3
mov eax, dword [rsp + 0x78]
mov r8d, eax
mov qword [rbp - 0x60], rax
add r8, qword [rsp + 0x68]
cmp r8, qword [rsp + 0x68]
mov qword [rbp + 0x20], r8
mov r8, qword [rbp - 0x38]
jb 0x140027f10
lea r10d, [rax + 4]
cmp r10d, 4
jb 0x140027efe
mov eax, r9d
sub eax, r10d
cmp eax, 4
jae 0x140026c89
mov esi, 0xd000003e
jmp 0x140027a05
mov rax, qword [rbp + 0x20]
mov qword [rbp + 8], rdx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x38], r8
mov r11d, dword [rax]
lea rcx, [rax + 4]
mov dword [rbp], r11d
cmp rcx, rax
jb 0x140027ef4
lea eax, [r10 + 4]
mov dword [rbp - 0x30], eax
cmp eax, r10d
jb 0x140027efe
mov eax, r9d
sub eax, dword [rbp - 0x30]
cmp eax, r11d
jb 0x140026c7f
lea r10, [r11 + rcx]
mov qword [rbp + 0x50], r11
mov qword [rbp + 8], rdx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x38], r8
cmp r10, rcx
jb 0x140027ef4
mov eax, dword [rbp - 0x30]
lea esi, [r11 + rax]
mov dword [rbp - 0x30], esi
cmp esi, eax
movabs rsi, 0x7f1137fab69605e
jb 0x140027efe
mov eax, r9d
sub eax, dword [rbp - 0x30]
cmp eax, 4
jb 0x140026c7f
mov r10d, dword [r10]
lea rax, [rcx + r11]
lea rcx, [rax + 4]
mov dword [rbp + 0x18], r10d
mov qword [rbp - 0x18], rcx
mov qword [rbp + 8], rdx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x38], r8
cmp rcx, rax
jb 0x140027ef4
mov ecx, dword [rbp - 0x30]
lea eax, [rcx + 4]
mov dword [rbp - 0x30], eax
cmp eax, ecx
jb 0x140027efe
mov eax, r9d
mov qword [rbp - 0x58], rdx
sub eax, dword [rbp - 0x30]
mov rcx, rdx
mov qword [rbp - 0x28], r8
cmp eax, r10d
jb 0x140026c7f
mov eax, dword [rbp - 0x30]
mov qword [rbp - 0x10], rbx
lea esi, [r10 + rax]
mov dword [rbp - 0x30], esi
cmp esi, eax
movabs rsi, 0x7f1137fab69605e
jb 0x140027ee6
mov r8, r15
mov rax, qword [rbp - 0x28]
mov qword [rbp + 8], rdx
mov rdx, rdi
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r12
cmp r9d, dword [rbp - 0x30]
je 0x140026dbe
mov esi, 0xd000003e
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x10], rbx
mov qword [rbp + 8], rcx
jmp 0x140027a05
mov ecx, dword [rsp + 0x78]
add ecx, r11d
mov eax, r9d
add ecx, r10d
add rcx, 0xc
cmp rcx, rax
je 0x140026df2
mov esi, 0xd000003e
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x10], rbx
mov qword [rbp + 8], rax
jmp 0x140027a05
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 8], rax
mov r8, rax
test rax, rax
jne 0x140026e29
mov esi, 0xd0000017
jmp 0x140026dd9
mov dword [rbp - 0x30], r14d
cmp qword [rsp + 0x68], r14
je 0x140026e8f
mov eax, dword [rsp + 0x78]
mov dword [r8], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x60]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x140026fac
mov rax, qword [rbp - 8]
mov qword [rax + 8], rcx
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x68]
mov dword [rbp - 0x30], r14d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8, qword [rbp - 8]
mov r9, qword [rbp - 0x18]
jmp 0x140026e9e
mov r9, qword [rbp - 0x18]
mov dword [rax], r14d
mov qword [rbp - 0x18], r9
mov qword [rax + 8], r14
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x38]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 8], r8
add rax, 4
je 0x140026f58
mov eax, dword [rbp]
mov dword [r8 + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x50]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x140026fac
mov rax, qword [rbp - 8]
mov qword [rax + 0x18], rcx
mov rdx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x50]
add rdx, 4
mov dword [rbp - 0x30], r14d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8, qword [rbp - 8]
mov r9, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp + 8]
mov qword [rbp - 8], r8
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x38], rdx
mov qword [rbp + 8], rax
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x70], rdi
jmp 0x140026f68
mov rax, qword [rbp + 8]
mov rdx, qword [rbp - 0x38]
mov dword [r8 + 0x10], r14d
mov qword [r8 + 0x18], r14
test r9, r9
je 0x1400270c7
mov eax, dword [rbp + 0x18]
mov dword [r8 + 0x20], eax
mov qword [rbp - 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x50]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
jne 0x140027087
mov dword [rbp - 0x30], 0xc0000017
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x50], rcx
test rcx, rcx
je 0x140026fed
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x50]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 8]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rbp - 0x50], rcx
test rcx, rcx
je 0x140027023
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x50]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 8]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140027059
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x50]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 8]
mov qword [rax + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 8]
mov r8, r14
mov rdx, qword [rbp - 0x38]
jmp 0x1400270d3
mov rax, qword [rbp - 8]
mov qword [rax + 0x28], rcx
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x18]
mov dword [rbp - 0x30], r14d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp + 8]
mov r8, qword [rbp - 8]
mov qword [rbp - 0x38], rdx
mov qword [rbp + 8], rax
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x70], rdi
jmp 0x1400270cf
mov dword [r8 + 0x20], r14d
mov qword [r8 + 0x28], r14
mov qword [rbp - 0x70], r8
mov r9, rax
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x60], rdi
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rdx
mov ecx, dword [rbp - 0x30]
mov dword [rsp + 0x78], ecx
test ecx, ecx
js 0x1400270fa
mov rax, r8
jmp 0x1400271ff
mov qword [rbp - 0x38], rdx
mov rax, r14
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x70], rdi
mov qword [rbp + 8], r9
test r8, r8
je 0x140027203
mov rdi, qword [rbp - 0x70]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140027154
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 8], r14
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x140027181
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 0x18], r14
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x1400271ae
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x20]
mov rax, r14
mov rbx, qword [rbp + 0x18]
mov rdi, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x68]
mov qword [rbp - 0x38], rcx
mov ecx, dword [rsp + 0x78]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x70], rdi
mov qword [rbp + 8], rdx
mov qword [rbp - 0x50], rax
or ecx, 0x10000000
jl 0x140027a03
test rax, rax
jne 0x14002721e
mov esi, 0xd000000d
jmp 0x140027a05
mov rcx, qword [rax + 8]
mov qword [rbp - 0x70], rcx
test rcx, rcx
je 0x140027214
cmp dword [rax], r14d
je 0x140027214
mov eax, dword [rax]
add rax, 0xfffffffffffffff8
mov qword [rsp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rsp + 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x20], rax
mov r10, rax
test rax, rax
je 0x1400277a1
mov rdx, qword [rsp + 0x68]
mov al, r14b
mov r8, qword [rbp - 0x70]
and edx, 7
mov qword [rbp + 0x20], rdx
mov byte [rsp + 0x60], al
mov qword [rbp + 0x708], rsi
mov qword [rbp - 0x60], r8
mov qword [rbp - 0x58], r10
je 0x14002771b
test edx, edx
je 0x1400276f0
mov rdx, qword [rbp + 8]
mov r10d, r14d
mov r8, qword [rbp - 0x38]
mov r13d, r14d
mov r9, qword [rbp - 0x50]
mov r11, qword [rbp + 0x20]
mov rsi, qword [rbp - 0x60]
movzx ecx, byte [rsi]
inc rsi
mov dword [rsp + 0x78], ecx
mov ecx, dword [rbp + 0x48]
cmp r14d, 4
jae 0x1400272df
add ecx, 0xffffffe0
shl dword [rsp + 0x78], cl
or r10d, dword [rsp + 0x78]
mov ecx, dword [rbp + 0x48]
jmp 0x1400272e8
shl dword [rsp + 0x78], cl
or r13d, dword [rsp + 0x78]
sub ecx, 8
inc r14d
mov dword [rbp + 0x48], ecx
cmp r14d, r11d
jl 0x1400272bb
mov r11d, r10d
mov dword [rsp + 0x78], r10d
mov r10, qword [rbp - 0x20]
xor r11d, 0x92f65a5
mov ecx, r13d
mov dword [rbp + 0x44], r13d
mov r13d, dword [rbp + 0x30]
xor ecx, 0x699a899c
xor r14d, r14d
mov qword [rbp - 0x60], rsi
mov dword [rbp], r11d
mov eax, r11d
mov qword [rbp - 0x38], r8
movabs rsi, 0x7f1137fab69605e
mov qword [rsp + 0x70], rdi
mov r8d, r14d
mov qword [rbp + 8], rdx
lea r11d, [r14 + 1]
mov rdx, qword [rbp + 0x20]
mov rdi, r10
mov dword [rbp - 0x30], ecx
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x80], r15
lea r9, [rdi + 1]
mov qword [rbp - 0x58], r9
cmp r8d, 4
jge 0x140027376
rol eax, 8
mov r9d, eax
jmp 0x14002737c
rol ecx, 8
mov r9d, ecx
mov byte [rdi], r9b
add r8d, r11d
mov r9, qword [rbp - 0x58]
mov rdi, r9
cmp r8d, edx
jl 0x140027360
mov al, byte [rsp + 0x60]
mov rcx, r9
mov r11d, dword [rbp]
mov qword [rbp - 0x58], rcx
cmp edx, 4
jbe 0x1400276e1
mov r9d, dword [rbp - 0x30]
mov ecx, 8
sub ecx, edx
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov rcx, rdi
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x68]
shr rdx, 3
mov qword [rbp - 0x60], rdx
test rdx, rdx
je 0x14002772e
mov eax, dword [rbp + 0x70c]
lea rbx, [rcx + 7]
mov r10d, dword [rsp + 0x78]
lea r12, [r8 + 2]
mov r14, qword [rbp - 0x60]
movzx r13d, word [rbp + 0x70a]
movzx edx, ax
mov dword [rbp], edx
mov r15d, dword [rbp]
movzx edx, si
mov dword [rbp - 0x30], edx
mov edx, esi
xor edx, eax
mov dword [rbp + 0x18], edx
movzx ecx, byte [r12 - 1]
movzx r8d, byte [r12 - 2]
movzx edi, byte [r12 + 2]
shl r8d, 8
or r8d, ecx
shl edi, 8
movzx ecx, byte [r12]
lea r12, [r12 + 8]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r12 - 7]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r12 - 5]
or edi, ecx
xor r11d, r8d
movzx ecx, byte [r12 - 4]
shl edi, 8
or edi, ecx
movzx ecx, byte [r12 - 3]
shl edi, 8
or edi, ecx
mov ecx, eax
xor ecx, esi
xor r9d, edi
xor r9d, ecx
xor r9d, r11d
mov edx, r9d
mov ecx, r9d
sub edx, esi
rol ecx, 0xa
rol edx, 5
imul edx, r15d
add edx, ecx
xor r11d, edx
mov ecx, r11d
rol ecx, 2
lea edx, [rax + r11]
ror edx, 9
imul edx, r13d
sub edx, ecx
xor r9d, edx
mov edx, r9d
mov ecx, r9d
sub edx, r15d
shr ecx, 0xd
imul edx, dword [rbp - 0x30]
sub edx, ecx
movzx ecx, word [rbp + 0x70e]
xor r11d, edx
mov edx, r13d
xor edx, r11d
rol edx, 6
imul edx, ecx
mov ecx, r11d
rol ecx, 2
sub edx, ecx
mov ecx, eax
xor r9d, edx
mov edx, esi
xor edx, r9d
sub ecx, edx
xor r11d, ecx
mov ecx, r15d
xor ecx, r11d
mov edx, r11d
ror edx, 6
imul ecx, r13d
xor edx, ecx
xor r9d, edx
mov ecx, r9d
rol ecx, 2
lea edx, [rax + r9]
ror edx, 0xf
imul edx, dword [rbp - 0x30]
add edx, ecx
movzx ecx, word [rbp + 0x70e]
xor r11d, edx
mov edx, r11d
sub edx, esi
ror edx, 0xe
imul edx, ecx
mov ecx, r11d
rol ecx, 8
sub edx, ecx
xor r9d, edx
mov edx, r9d
mov ecx, r9d
xor edx, esi
ror ecx, 0xa
ror edx, 0xc
imul edx, r15d
xor edx, ecx
movzx ecx, word [rbp + 0x70e]
xor r11d, edx
mov edx, r11d
xor edx, ecx
mov ecx, r11d
shr ecx, 0xa
imul edx, r13d
xor edx, ecx
xor r9d, edx
movzx edx, word [rbp + 0x70e]
mov ecx, r9d
not ecx
ror ecx, 5
add ecx, dword [rbp - 0x30]
imul ecx, edx
xor r11d, ecx
mov ecx, r11d
sub ecx, edx
xor ecx, esi
xor r9d, ecx
xor edx, r9d
mov ecx, r9d
rol edx, 2
imul edx, r15d
shr ecx, 2
add edx, ecx
xor r11d, edx
mov edx, r11d
mov ecx, r11d
sub edx, eax
rol ecx, 7
ror edx, 6
imul edx, r13d
add edx, ecx
mov ecx, r15d
xor r9d, edx
xor ecx, r9d
mov edx, r9d
imul ecx, dword [rbp - 0x30]
ror edx, 9
add edx, ecx
movzx ecx, word [rbp + 0x70e]
xor r11d, edx
mov edx, r13d
xor edx, r11d
rol edx, 5
imul edx, ecx
mov ecx, r11d
rol ecx, 7
add edx, ecx
mov ecx, dword [rbp + 0x18]
xor r9d, edx
xor ecx, r9d
xor r11d, ecx
mov ecx, r11d
ror ecx, 3
sub ecx, r13d
imul ecx, r15d
xor r9d, ecx
mov edx, r9d
mov ecx, r9d
sub edx, eax
ror ecx, 6
ror edx, 1
imul edx, dword [rbp - 0x30]
sub edx, ecx
xor r11d, edx
lea edx, [rsi + r11]
rol edx, 3
movzx ecx, word [rbp + 0x70e]
imul edx, ecx
mov ecx, r11d
rol ecx, 0xe
add edx, ecx
xor r9d, edx
mov ecx, r9d
ror ecx, 0xe
lea edx, [rsi + r9]
rol edx, 0xf
imul edx, r15d
sub edx, ecx
xor r11d, edx
mov edx, dword [rbp - 0x30]
xor edx, r11d
mov ecx, r11d
imul edx, r13d
shr ecx, 3
xor edx, ecx
xor r9d, edx
mov edx, eax
xor edx, r9d
mov ecx, r9d
xor r9d, dword [rbp + 0x44]
rol edx, 4
imul edx, dword [rbp - 0x30]
rol ecx, 2
mov dword [rbp + 0x44], edi
xor edx, ecx
xor edx, r10d
mov r10d, r8d
xor r11d, edx
mov edx, 1
mov byte [rbx - 4], r11b
mov byte [rbx], r9b
lea rbx, [rbx + 8]
ror r11d, 8
mov byte [rbx - 0xd], r11b
ror r9d, 8
mov byte [rbx - 9], r9b
ror r11d, 8
mov byte [rbx - 0xe], r11b
ror r9d, 8
mov byte [rbx - 0xa], r9b
ror r11d, 8
ror r9d, 8
mov byte [rbx - 0xf], r11b
mov byte [rbx - 0xb], r9b
ror r9d, 8
ror r11d, 8
sub r14, rdx
jne 0x14002740d
mov al, byte [rsp + 0x60]
mov r15, qword [rbp - 0x80]
mov r12, qword [rbp - 0x78]
mov r13d, dword [rbp + 0x30]
mov rbx, qword [rbp - 0x10]
mov r10, qword [rbp - 0x20]
jmp 0x140027733
mov r9d, r14d
jae 0x1400273bd
mov r8, qword [rbp - 0x60]
jmp 0x140027702
mov r11d, 0x92f65a5
mov dword [rsp + 0x78], r14d
mov dword [rbp + 0x44], r14d
mov r9d, r14d
mov ecx, 4
sub ecx, edx
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov rcx, qword [rbp - 0x58]
jmp 0x1400273c1
mov dword [rsp + 0x78], r14d
mov r9d, r14d
mov r11d, r14d
mov rcx, r10
jmp 0x1400273c1
mov edx, 1
mov rsi, qword [rsp + 0x68]
mov rcx, r14
test rsi, rsi
je 0x14002774c
xor al, byte [rcx + r10]
add rcx, rdx
cmp rcx, rsi
jb 0x140027740
mov rcx, qword [rbp + 8]
mov r8, qword [rbp - 0x50]
mov r11, rcx
mov rdx, qword [rbp - 0x38]
mov r9, r8
mov rdi, qword [rsp + 0x70]
mov qword [rbp + 8], rcx
movzx ecx, al
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x50], r8
cmp rcx, qword [rsi + rax]
je 0x1400277af
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x20]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov esi, 0xd0000001
mov qword [rbp - 0x20], r14
jmp 0x140027a05
mov qword [rbp - 0x38], rdx
mov r8, rdx
mov qword [rbp - 0x50], r9
mov rdx, r11
mov qword [rbp + 8], rdx
mov qword [rbp - 0x10], rbx
cmp esi, 4
jae 0x1400277d4
mov ecx, 0xc000003e
jmp 0x1400279ff
mov ecx, dword [r10]
mov dword [rsp + 0x78], ecx
lea rcx, [r10 + 4]
mov qword [rbp + 8], rdx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x20], r10
cmp rcx, r10
jb 0x1400279fa
lea eax, [rsi - 4]
cmp eax, 4
jae 0x140027822
mov ecx, 0xc000003e
mov qword [rbp - 0x20], r10
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x10], rbx
mov qword [rbp + 8], r11
jmp 0x1400279ff
mov eax, dword [rcx]
lea r11, [rcx + 4]
mov dword [rbp], eax
cmp r11, rcx
jb 0x140027ec8
mov ecx, dword [rbp]
lea eax, [rsi - 8]
mov qword [rsp + 0x70], rdx
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x60], r8
mov qword [rbp - 0x58], r9
cmp eax, ecx
jb 0x1400277ca
lea eax, [rcx + 8]
cmp eax, 8
jb 0x1400279e6
mov ecx, 0xc0000095
bts ecx, 0x1c
mov esi, ecx
test rdi, rdi
je 0x140027a2a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x140027ade
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140027a64
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 8], r14
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x140027a91
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 0x18], r14
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140027abe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x140027b07
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x140027b30
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp - 0x50]
test rdi, rdi
je 0x140027be4
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140027b6a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 8], r14
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x140027b97
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 0x18], r14
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140027bc4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x140027c0d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test esi, esi
js 0x140027c82
mov eax, dword [rbp + 0x238]
mov r10d, 1
cmp eax, r10d
jb 0x140027c82
mov rdi, qword [rbp + 0x240]
test rdi, rdi
je 0x140027c82
test eax, eax
je 0x140027c82
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x140027c82
cmp dword [rdi], r14d
mov rax, r14
cmovne rax, rcx
cmp dword [rdi], 4
jne 0x140027c82
cmp dword [rax], r14d
jl 0x140027c82
cmp rdi, r14
je 0x140027c82
cmp dword [rbp + 0x238], r10d
jbe 0x140027c82
mov rcx, rdi
mov edi, r14d
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x140027c82
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x140027c82
add edi, r10d
cmp edi, r10d
jb 0x140027c63
lea rax, [rcx + 4]
and qword [rbp + 0x218], 0
mov rdi, qword [rbp + 0x220]
test rdi, rdi
je 0x140027cbd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x220], r14
and qword [rbp + 0x238], 0
mov rdi, qword [rbp + 0x240]
test rdi, rdi
je 0x140027cf8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x240], r14
test r15, r15
je 0x140027d1d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12, r12
je 0x140027d42
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp + 0xa8]
mov esi, dword [rbp + 0x78]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], r14
jmp 0x14001dd79
mov ecx, 0xc0000095
mov qword [rbp + 8], rdx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x20], r10
jmp 0x1400279ff
mov esi, 0xd0000095
mov qword [rbp - 0x38], r8
jmp 0x140026b24
mov esi, 0xd0000095
jmp 0x140027a05
mov esi, 0xd0000095
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x10], rbx
jmp 0x140026b24
mov esi, 0xd0000095
jmp 0x140026c35
mov r12, qword [rbp - 0x78]
mov esi, 0xd0000095
mov qword [rbp - 0x10], rdx
jmp 0x140026be7
mov esi, 0xc0000095
jmp 0x140027f07
mov rax, qword [rsp + 0x70]
mov esi, 0xc0000095
mov qword [rbp - 0x10], r8
jmp 0x140026de9
mov esi, 0xc0000095
jmp 0x140026db5
mov esi, 0xc0000095
jmp 0x140026db1
mov esi, 0xc0000095
jmp 0x140027a05
mov esi, 0xd0000095
mov qword [rbp - 0x10], rbx
jmp 0x140027a05
mov esi, 0xd0000001
jmp 0x140027a0a
mov esi, dword [rbp - 0x30]
jmp 0x140027a05
cmp r13d, 0xd00000e5
je 0x140027fb8
cmp r13d, 0xc004d501
je 0x140027fb8
cmp r13d, 0xd000003e
jne 0x140027fa7
mov r13d, 0xc004f028
jmp 0x140027fbe
cmp r13d, 0x8007007a
jne 0x140027fbe
mov r14d, 0xc004f01e
jmp 0x140027fda
mov r13d, 0xc004f027
mov r14d, r13d
jmp 0x140027fda
cmp esi, 4
jne 0x140027fb0
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x98]
mov edx, dword [rcx]
mov dword [rax], edx
lea rcx, [rbp + 0xa0]
call fcn.140046c44
mov eax, r14d
mov rcx, qword [rbp + 0xee0]
xor rcx, rsp
call fcn.140061ac0
mov rbx, qword [rsp + 0x1030]
add rsp, 0xff0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret