Function at 0x14001e430
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 - 0xed0]
sub rsp, 0xfd0
mov rax, qword [0x1400b02e8]
xor rax, rsp
mov qword [rbp + 0xec0], rax
xor r14d, r14d
mov qword [rbp + 0x170], r8
mov qword [rbp + 0xbf0], rdx
mov qword [rbp + 0x178], r14
test rdx, rdx
jne 0x14001e488
mov r14d, 0x80070057
jmp 0x140028061
test r8, r8
je 0x14001e47d
mov dword [rbp + 0x58], r14d
mov r12d, 1
mov qword [rbp + 0x188], r14
mov dword [rsp + 0x74], r14d
xor eax, eax
lock cmpxchg dword [0x1400b166c], r12d
jne 0x14001e4a3
mov eax, dword [0x1400b1668]
or edi, 0xffffffff
mov dword [rbp + 0x30], edi
mov r13d, 0x338
test eax, eax
jne 0x14001ea5a
mov dword [rbp - 0x60], r14d
mov rbx, r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r13d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14001e872
mov ebx, 0x67
lea r12, [rax + 7]
mov esi, r14d
lea r13, [0x14008fc62]
mov ecx, edi
mov r10d, r14d
mov r11d, r14d
lea r15d, [rbx - 0x66]
movzx eax, byte [r13 - 1]
movzx r9d, byte [r13 - 2]
movzx r8d, byte [r13 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r13]
lea r13, [r13 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r13 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r13 - 5]
or r8d, eax
xor r11d, r9d
movzx eax, byte [r13 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r13 - 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, esi
mov esi, r9d
xor r11d, edx
mov byte [r12 - 4], r11b
mov byte [r12], r10b
lea r12, [r12 + 8]
ror r11d, 8
mov byte [r12 - 0xd], r11b
ror r10d, 8
mov byte [r12 - 9], r10b
ror r11d, 8
mov byte [r12 - 0xe], r11b
ror r10d, 8
mov byte [r12 - 0xa], r10b
ror r11d, 8
ror r10d, 8
mov byte [r12 - 0xf], r11b
mov byte [r12 - 0xb], r10b
ror r10d, 8
ror r11d, 8
sub rbx, r15
jne 0x14001e51e
mov r15, qword [rsp + 0x68]
mov rax, r14
mov cl, r14b
mov rbx, r14
mov esi, r14d
mov r12d, 1
mov r13d, 0x338
xor cl, byte [rax + r15]
add rax, r12
cmp rax, r13
jb 0x14001e836
movzx eax, cl
cmp rax, qword [0x14008ff98]
je 0x14001e902
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 esi, 0xc000007a
test rbx, rbx
je 0x14001e89c
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, 1
test esi, esi
jns 0x14001ea54
lea r15, [0x1400b1460]
mov rdi, r15
lea ebx, [r12 + 3]
cmp qword [rdi], r14
je 0x14001e8cd
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub rbx, r12
jne 0x14001e8b9
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x14006cdb0]
lea rcx, [0x1400aa050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001ea63
xor edx, edx
mov byte [r15 + r13 - 1], r14b
mov rbx, r15
mov rdi, r15
lea r15, [0x1400b1460]
mov rcx, r15
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [rbx], r14b
je 0x14001e87c
mov r13d, r14d
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14001e935
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea r15, [r15 + rcx*8]
xor ecx, ecx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x14001e872
mov rax, qword [r15]
mov ecx, 0x5a4d
mov esi, r14d
cmp word [rax], cx
je 0x14001e97e
mov esi, 0xc000007b
jmp 0x14001e9c9
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001e977
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x14001e977
cmp dword [rcx], 0x4550
jne 0x14001e977
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001e9b7
mov esi, 0xc000000d
jmp 0x14001e9c9
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov eax, dword [rdi + 2]
mov r12d, r14d
add rdi, 6
mov dword [rsp + 0x78], eax
mov ecx, 1
test eax, eax
je 0x14001ea3c
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x14001e9e7
inc rdi
add rdi, rax
test esi, esi
js 0x14001ea2a
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov rdx, rax
test rax, rax
je 0x14001e877
mov eax, dword [rbp - 0x60]
lea r8, [0x1400aa050]
mov ecx, 1
mov qword [r8 + rax*8], rdx
jmp 0x14001ea2d
mov eax, dword [rbp - 0x60]
add eax, ecx
add r12d, ecx
mov dword [rbp - 0x60], eax
cmp r12d, dword [rsp + 0x78]
jb 0x14001e9e0
add r13d, ecx
lea r15, [0x1400b1460]
cmp byte [rdi], r14b
jne 0x14001e92e
jmp 0x14001e877
mov eax, dword [0x1400b1668]
add eax, r12d
mov dword [0x1400b1668], eax
mov eax, r14d
mov esi, r14d
xchg dword [0x1400b166c], eax
mov qword [rbp + 0x90], r14
mov ebx, r14d
mov qword [rbp + 0x98], r14
mov edi, 0x80004005
mov rax, qword gs:[0x60]
mov r13d, 0x80070000
cmp dword [rax + 0x2c0], r14d
je 0x14001ed96
movabs r10, 0xf6ddaf373053f870
mov rax, qword [0x1400aa160]
call qword [0x140073fd0]
mov r15, rax
test rax, rax
jne 0x14001eae6
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 0x14001ed9a
mov ebx, edi
jmp 0x14001ed9a
mov qword [rbp + 0xa0], r14
mov r9d, r14d
mov rdi, r14
movabs r10, 0xe8a8076f5454d170
lea rax, [rbp + 0x7c]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400aa180]
mov rcx, r15
call qword [0x140073fd0]
test eax, eax
jne 0x14001eba6
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x14001eb95
cmp qword [rbp + 0xa0], r14
jne 0x14001eb8e
mov edi, dword [rbp + 0x7c]
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 + 0xa0]
mov rdi, rax
call fcn.140048bc4
test rdi, rdi
je 0x14001eb87
mov r9d, dword [rbp + 0x7c]
mov qword [rbp + 0xa0], rdi
jmp 0x14001eaf3
mov ebx, 0x8007000e
jmp 0x14001ebb4
mov ebx, 0x80004005
jmp 0x14001ebbb
test eax, eax
je 0x14001eb8e
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
jmp 0x14001ebbb
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0xa0], r14
lea rcx, [rbp + 0xa0]
call fcn.140048bc4
test ebx, ebx
js 0x14001ed9a
mov rdi, qword [0x1400aa178]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
nop dword [rax + rax]
mov ecx, eax
movabs r10, 0xcb9036c510d00b70
mov rax, rdi
call qword [0x140073fd0]
mov r15, rax
test rax, rax
jne 0x14001ec28
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 0x14001ed9a
mov ebx, 0x80004005
jmp 0x14001ed9a
mov qword [rbp + 0xa8], r14
mov ebx, r14d
mov r9d, r14d
mov rdi, r14
movabs r10, 0xe8a8076f5454d170
lea rax, [rbp + 0x78]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400aa180]
mov rcx, r15
call qword [0x140073fd0]
test eax, eax
jne 0x14001ecf2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x14001ecdc
cmp qword [rbp + 0xa8], r14
jne 0x14001ecd3
mov edi, dword [rbp + 0x78]
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 + 0xa8]
mov rdi, rax
call fcn.140048bc4
test rdi, rdi
je 0x14001eccc
mov r9d, dword [rbp + 0x78]
mov qword [rbp + 0xa8], rdi
jmp 0x14001ec38
mov ebx, 0x8007000e
jmp 0x14001ed00
mov edi, 0x80004005
mov ebx, edi
jmp 0x14001ed0c
mov edi, 0x80004005
test eax, eax
je 0x14001ecd8
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
jmp 0x14001ed0c
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x98], rax
mov edi, 0x80004005
mov qword [rbp + 0xa8], r14
lea rcx, [rbp + 0xa8]
call fcn.140048bc4
test ebx, ebx
js 0x14001ed9a
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x14001ed96
lea rdx, [0x14008dbb0]
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001ed96
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x14001ed96
lea rdx, str.Default
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001ed96
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 0x14001eac0
mov eax, SafeArrayGetDim
test byte [rbp + 0x40], al
cmove esi, r12d
mov dword [rsp + 0x74], esi
lea rcx, [rbp + 0x98]
call fcn.140048bc4
lea rcx, [rbp + 0x90]
call fcn.140048bc4
test ebx, ebx
mov r12d, r14d
cmovns r12d, dword [rsp + 0x74]
mov dword [rsp + 0x78], r12d
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x188]
mov qword [rsp + 0x68], rax
mov rdi, rax
call fcn.140048b94
test rdi, rdi
jne 0x14001eeb4
mov qword [rbp + 0x188], r14
mov r15d, 0x8007000e
mov esi, dword [rbp + 0x40]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400b166c], r12d
jne 0x14001ee09
mov eax, dword [0x1400b1668]
test eax, eax
jle 0x14001ee7e
sub eax, r12d
mov dword [0x1400b1668], eax
jne 0x14001ee7e
lea r13, [0x1400b1460]
mov ebx, 4
mov rdi, r13
cmp qword [rdi], r14
je 0x14001ee4e
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub rbx, r12
jne 0x14001ee3a
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r13
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x14006cdb0]
lea rcx, [0x1400aa050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
lea rcx, [rbp + 0x188]
xchg dword [0x1400b166c], eax
call fcn.140048b94
test r15d, r15d
jns 0x14002804a
cmp r15d, 0xd0000034
jne 0x14002800b
mov r15d, 0xc004f012
jmp 0x140028045
xorps xmm0, xmm0
mov qword [rbp + 0x188], rdi
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x68], r14
mov qword [rbp + 0x218], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r15d, 8
mov r8d, LoadRegTypeLib
mov rcx, rax
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
movabs rbx, 0xc81ecb17b1b54a58
mov dword [rbp + 0x34], 0x38
lea rdx, [0x140000000]
mov r13, rax
lea r8d, [r15 + 0x78]
movabs rsi, 0x7f1137fab69605e
mov edi, 0xc0000095
test rax, rax
jne 0x14001ef40
mov r15d, 0xc0000017
mov dword [rbp - 0x60], r15d
jmp 0x14002144c
lea rax, [rdx + 0xb0410]
mov qword [rbp - 0x78], r13
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r13 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r13 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r13 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r13 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r13 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r13 + r8 - 0x10], xmm1
movups xmm0, xmmword [rax + r8]
movups xmmword [r13 + r8], xmm0
movups xmm1, xmmword [rax + r8 + 0x10]
movups xmmword [r13 + r8 + 0x10], xmm1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x70], rax
mov rcx, rax
test rax, rax
je 0x14001ef31
mov rax, qword [0x1400b0350]
mov qword [rcx], rax
mov qword [rbp - 0x68], rcx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp + 0xbf0]
lea r8, [rbp + 0xb8]
mov edx, 0x7fffffff
call fcn.140048c10
test eax, eax
jns 0x14001f024
mov qword [rbp + 0xb8], r14
mov r15d, 0xc000003e
jmp 0x14001ef37
mov rax, qword [rbp + 0xb8]
inc rax
mov qword [rbp + 0xb8], rax
lea ecx, [rax*2 + 4]
cmp ecx, 4
jb 0x140021446
mov r9d, 0xc4
or r8d, 0xffffffff
mov edx, r8d
mov r10d, 0x10000000
lea eax, [rcx + r9]
cmp eax, r9d
cmovae edx, eax
sbb r15d, r15d
and r15d, edi
mov edi, r12d
add r15d, r10d
mov dword [rbp - 0x60], r15d
cmp eax, r9d
jb 0x14002142c
lea eax, [rdx + 8]
mov ecx, r8d
cmp eax, edx
mov r9d, 0xc0000095
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
add r15d, r10d
mov dword [rbp - 0x60], r15d
cmp eax, edx
jb 0x14002142c
lea eax, [rcx + 8]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r9d
add r15d, r10d
mov dword [rbp - 0x60], r15d
cmp eax, ecx
jb 0x14002142c
mov dword [rbp + 0x214], edx
mov edi, edx
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]
mov rdx, rax
test rax, rax
je 0x14001ef31
mov qword [rbp + 0x218], rax
mov dword [rbp + 0x210], r14d
lea rdi, [rax + 4]
cmp rdi, rax
jb 0x140021421
mov ecx, dword [rbp + 0x214]
add rcx, rax
add rax, 8
cmp rax, rcx
jbe 0x14001f130
mov r15d, 0xc0000023
jmp 0x14001ef37
mov dword [rdx], 4
mov dword [rdi], r14d
mov ecx, dword [rbp + 0x210]
inc ecx
mov dword [rbp + 0x210], ecx
cmp qword [rbp + 0x218], r14
jne 0x14001f177
mov eax, dword [rbp + 0x214]
lea edi, [rax + 0xa4]
cmp edi, eax
jb 0x140021421
mov dword [rbp + 0x214], edi
inc ecx
mov r11d, 1
jmp 0x14001f253
mov rdi, qword [rbp + 0x218]
mov edx, r14d
mov r11d, 1
test ecx, ecx
je 0x14001f1b2
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x140021421
mov r8d, eax
add r8, rdi
cmp r8, rdi
jb 0x140021421
add edx, r11d
mov rdi, r8
cmp edx, ecx
jb 0x14001f18b
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140021421
mov ecx, dword [rbp + 0x214]
lea rax, [rdi + 0xa4]
add rcx, qword [rbp + 0x218]
cmp rax, rcx
ja 0x14001f125
mov dword [rdi], LoadRegTypeLib
mov eax, 0x80
movups xmm0, xmmword [r13]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [r13 + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [r13 + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [r13 + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [r13 + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [r13 + 0x60]
movups xmmword [rdx + 0x60], xmm0
movups xmm1, xmmword [r13 + 0x70]
movups xmmword [rdx + rax - 0x10], xmm1
movups xmm0, xmmword [r13 + rax]
movups xmmword [rdx + rax], xmm0
movups xmm1, xmmword [r13 + rax + 0x10]
movups xmmword [rdx + rax + 0x10], xmm1
mov ecx, dword [rbp + 0x210]
mov edi, dword [rbp + 0x214]
add ecx, r11d
mov dword [rbp + 0x210], ecx
cmp qword [rbp + 0x218], r14
jne 0x14001f275
lea eax, [rdi + 0xc]
cmp eax, edi
jb 0x140021421
add ecx, r11d
jmp 0x14001f2fc
mov rdx, qword [rbp + 0x218]
mov r8d, r14d
test ecx, ecx
je 0x14001f2ab
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140021421
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x140021421
add r8d, r11d
mov rdx, r9
cmp r8d, ecx
jb 0x14001f283
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140021421
mov ecx, edi
lea rax, [rdx + 0xc]
add rcx, qword [rbp + 0x218]
cmp rax, rcx
ja 0x14001f125
mov rax, qword [rbp - 0x70]
mov dword [rdx], 8
mov rax, qword [rax]
mov qword [r8], rax
mov ecx, dword [rbp + 0x210]
add ecx, r11d
mov dword [rbp + 0x210], ecx
cmp qword [rbp + 0x218], r14
jne 0x14001f318
mov eax, dword [rbp + 0x214]
lea edx, [rax + 0xc]
cmp edx, eax
jb 0x140021421
add ecx, r11d
mov dword [rbp + 0x214], edx
mov dword [rbp + 0x210], ecx
jmp 0x14001f388
mov rdx, qword [rbp + 0x218]
mov edi, r14d
test ecx, ecx
je 0x14001f34d
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140021421
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140021421
add edi, r11d
mov rdx, r8
cmp edi, ecx
jb 0x14001f326
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140021421
mov ecx, dword [rbp + 0x214]
lea rax, [rdx + 0xc]
add rcx, qword [rbp + 0x218]
cmp rax, rcx
ja 0x14001f125
mov rax, qword [rbp - 0x40]
mov dword [rdx], 8
mov qword [rdi], rax
add dword [rbp + 0x210], r11d
mov r15, qword [rbp + 0xbf0]
lea r8, [rbp + 0xc0]
mov rcx, r15
mov edx, 0x7fffffff
call fcn.140048c10
test eax, eax
jns 0x14001f3b3
mov qword [rbp + 0xc0], r14
jmp 0x14001f019
mov rax, qword [rbp + 0xc0]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x140021419
lea edi, [rcx + rcx]
mov qword [rbp + 0xc0], rcx
test edi, edi
je 0x14002140e
cmp qword [rbp + 0x218], r14
jne 0x14001f40b
add edi, 4
cmp edi, 4
jb 0x140021421
add edi, dword [rbp + 0x214]
cmp edi, dword [rbp + 0x214]
jb 0x140021421
mov dword [rbp + 0x214], edi
jmp 0x14001f48f
mov ecx, r14d
mov rdx, qword [rbp + 0x218]
cmp dword [rbp + 0x210], r14d
jbe 0x14001f44f
mov r11d, 1
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140021421
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140021421
add ecx, r11d
mov rdx, r8
cmp ecx, dword [rbp + 0x210]
jb 0x14001f424
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x140021421
mov ecx, dword [rbp + 0x214]
lea rax, [rdi + 4]
add rcx, qword [rbp + 0x218]
add rax, rdx
mov r8d, edi
cmp rax, rcx
ja 0x14001f125
mov dword [rdx], edi
mov rcx, r9
mov rdx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edi, dword [rbp + 0x214]
mov ecx, dword [rbp + 0x210]
mov r11d, 1
add ecx, r11d
mov dword [rbp + 0x210], ecx
cmp qword [rbp + 0x218], r14
jne 0x14001f4c0
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140021421
add ecx, r11d
jmp 0x14001f540
mov rdx, qword [rbp + 0x218]
mov r8d, r14d
test ecx, ecx
je 0x14001f4f6
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140021421
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x140021421
add r8d, r11d
mov rdx, r9
cmp r8d, ecx
jb 0x14001f4ce
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140021421
mov ecx, edi
lea rax, [rdx + 8]
add rcx, qword [rbp + 0x218]
cmp rax, rcx
ja 0x14001f125
mov dword [rdx], 4
mov dword [r8], r12d
mov ecx, dword [rbp + 0x210]
add ecx, r11d
mov dword [rbp + 0x210], ecx
cmp qword [rbp + 0x218], r14
jne 0x14001f55c
mov eax, dword [rbp + 0x214]
lea edi, [rax + 8]
cmp edi, eax
jb 0x140021421
add ecx, r11d
mov dword [rbp + 0x214], edi
mov dword [rbp + 0x210], ecx
jmp 0x14001f5d1
mov rdx, qword [rbp + 0x218]
mov edi, r14d
test ecx, ecx
je 0x14001f591
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140021421
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140021421
add edi, r11d
mov rdx, r8
cmp edi, ecx
jb 0x14001f56a
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140021421
mov ecx, dword [rbp + 0x214]
lea rax, [rdx + 8]
add rcx, qword [rbp + 0x218]
cmp rax, rcx
ja 0x14001f125
mov dword [rdx], 4
mov dword [rdi], 4
add dword [rbp + 0x210], r11d
mov edi, dword [rbp + 0x214]
mov r13, r14
mov qword [rbp - 0x38], r14
mov r12, r14
mov dword [rbp - 0x58], r14d
mov qword [rbp + 0x18], r14
mov qword [rbp], r14
mov qword [rbp + 0x48], r14
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp - 0x30], rax
add edi, 8
cmp edi, 8
jb 0x1400213fe
lea r15, [rdi + 7]
and r15d, 0xfffffff8
cmp r15d, edi
jb 0x1400213fe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x14001f64b
mov r15d, 0xd0000017
jmp 0x140021404
mov eax, dword [rbp + 0x210]
lea rdx, [rdi + 4]
mov dword [rdi], eax
cmp rdx, rdi
jb 0x14001f766
mov eax, dword [rbp + 0x214]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x14001f766
mov rdx, qword [rbp - 0x30]
mov qword [r15 + rdi - 8], rdx
mov r8d, dword [rbp + 0x214]
mov rdx, qword [rbp + 0x218]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r15d
mov r13, rdi
mov qword [rbp - 0x70], rdi
mov r15d, eax
mov qword [rbp - 0x30], r14
mov qword [rbp - 8], rax
test eax, eax
je 0x14002115b
add rax, 8
mov qword [rbp - 0x10], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea r8, [r15 + 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x28], rax
mov rdx, rax
test rax, rax
je 0x14002115b
mov al, r14b
mov rcx, r14
mov byte [rsp + 0x60], al
test r15, r15
je 0x14001f70b
mov r8d, 1
xor al, byte [rcx + rdi]
add rcx, r8
cmp rcx, r15
jb 0x14001f6fc
mov byte [rsp + 0x60], al
mov rcx, rdx
mov qword [rbp - 0x80], rdx
mov rdx, r15
mov qword [rbp + 0x6d0], rbx
or r10d, 0xffffffff
mov dword [rbp - 0x60], r14d
mov dword [rsp + 0x74], r14d
mov r8, rdi
mov r9d, r14d
and edx, 7
je 0x14001f878
mov ecx, r14d
mov r10d, r14d
mov dword [rsp + 0x70], ecx
test edx, edx
je 0x14001f855
mov esi, 0x38
movzx r11d, byte [r8]
inc r8
cmp ecx, 4
jae 0x14001f7a8
lea ecx, [rsi - 0x20]
shl r11d, cl
or r9d, r11d
jmp 0x14001f7b0
mov r15d, 0xc0000095
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]
or r15d, 0x10000000
mov dword [rbp - 0x60], r15d
jl 0x140020163
mov r15d, 0xd000000d
jmp 0x140021404
mov ecx, esi
shl r11d, cl
or r10d, r11d
mov ecx, dword [rsp + 0x70]
sub esi, 8
inc ecx
mov dword [rbp - 0x60], r10d
mov dword [rsp + 0x74], r9d
mov dword [rsp + 0x70], ecx
cmp ecx, edx
jl 0x14001f74f
mov rbx, qword [rbp - 0x80]
xor r9d, 0xb17a307a
xor r10d, 0x42f6b18d
mov qword [rbp - 0x70], rdi
mov r11d, r10d
mov qword [rbp - 0x30], r14
mov ecx, r9d
movabs rsi, 0x7f1137fab69605e
mov edi, r14d
lea r12, [rbx + 1]
mov qword [rbp - 0x80], r12
cmp edi, 4
jae 0x14001f80c
rol ecx, 8
mov r12d, ecx
jmp 0x14001f813
rol r11d, 8
mov r12d, r11d
mov byte [rbx], r12b
inc edi
mov r12, qword [rbp - 0x80]
mov rbx, r12
cmp edi, edx
jl 0x14001f7f7
mov rcx, r12
movabs rbx, 0xc81ecb17b1b54a58
mov qword [rbp - 0x80], rcx
mov r12, r14
cmp edx, 4
jbe 0x14001f84e
mov ecx, 8
sub ecx, edx
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x14001f874
mov r10d, r14d
jae 0x14001f878
jmp 0x14001f864
mov r9d, 0xb17a307a
mov dword [rsp + 0x74], r14d
mov dword [rbp - 0x60], r14d
mov ecx, 4
sub ecx, edx
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov rcx, qword [rbp - 0x80]
mov r11, r15
shr r11, 3
test r11, r11
je 0x14001fbb8
movzx eax, word [rbp + 0x6d2]
lea r13, [rcx + 7]
movzx r15d, word [rbp + 0x6d4]
mov esi, dword [rbp - 0x60]
mov r12d, dword [rsp + 0x74]
mov dword [rsp + 0x70], eax
lea rax, [r8 + 2]
movzx r14d, 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
movzx ecx, word [rbp + 0x6d2]
xor r10d, edi
mov edx, r10d
sub edx, r14d
xor edx, r8d
xor edx, r9d
mov r9d, edx
ror edx, 0xf
imul edx, ecx
xor r9d, dword [rbp + 0x6d4]
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, r15d
sub edx, ecx
movzx ecx, word [rbp + 0x6d6]
xor r9d, edx
mov edx, r15d
xor edx, r9d
rol edx, 4
imul edx, ecx
mov ecx, r9d
rol ecx, 5
add edx, ecx
mov ecx, dword [rbp + 0x6d4]
xor r10d, edx
mov edx, r10d
xor edx, ebx
sub ecx, edx
xor r9d, ecx
movzx ecx, word [rbp + 0x6d2]
mov edx, r9d
sub edx, r14d
imul edx, ecx
mov ecx, r9d
shr ecx, 6
sub edx, ecx
xor r10d, edx
movzx edx, word [rbp + 0x6d6]
mov ecx, r10d
ror ecx, 0xf
xor ecx, r15d
imul ecx, r14d
xor r9d, ecx
mov ecx, r9d
not ecx
ror ecx, 3
add ecx, edx
imul ecx, r15d
xor r10d, ecx
mov ecx, r10d
sub ecx, r14d
sub ecx, dword [rbp + 0x6d4]
xor r9d, ecx
mov edx, r9d
ror edx, 0xa
movzx ecx, word [rbp + 0x6d6]
xor ecx, r9d
imul ecx, dword [rsp + 0x70]
xor edx, ecx
xor r10d, edx
mov edx, r14d
xor edx, r10d
mov ecx, r10d
rol edx, 6
imul edx, r15d
ror ecx, 3
xor edx, ecx
xor r9d, edx
movzx edx, word [rbp + 0x6d6]
mov ecx, r9d
ror ecx, 0xf
sub ecx, edx
imul ecx, r14d
xor r10d, ecx
xor edx, r10d
mov ecx, r10d
imul edx, r14d
shr ecx, 1
xor edx, ecx
mov ecx, r10d
xor r9d, edx
shr ecx, 0xf
mov edx, r10d
sub edx, r15d
rol edx, 3
imul edx, r14d
xor edx, ecx
movzx ecx, word [rbp + 0x6d2]
xor r9d, edx
mov edx, r9d
sub edx, r15d
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, r15d
ror ecx, 0xb
xor edx, ecx
xor r9d, edx
movzx edx, word [rbp + 0x6d6]
mov ecx, r9d
sub ecx, edx
sub ecx, ebx
xor r10d, ecx
movzx ecx, word [rbp + 0x6d2]
xor ecx, r10d
mov edx, r10d
ror edx, 7
imul ecx, r14d
sub ecx, edx
movzx edx, word [rbp + 0x6d6]
xor r9d, ecx
movzx ecx, word [rbp + 0x6d2]
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, r15d
ror ecx, 4
add edx, ecx
xor r9d, edx
mov edx, r9d
sub edx, ebx
movzx ecx, word [rbp + 0x6d6]
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 + 0x6d4]
rol edx, 8
imul edx, r14d
rol ecx, 2
sub edx, ecx
movzx ecx, word [rbp + 0x6d2]
xor r9d, edx
mov edx, dword [rbp + 0x6d4]
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 + 0x6d2]
xor edx, r10d
mov ecx, r10d
xor r10d, dword [rbp + 0x6d4]
imul edx, r15d
shr ecx, 8
xor edx, ecx
xor r9d, edx
xor r10d, r9d
xor r9d, r12d
mov byte [r13 - 4], r9b
xor r10d, ebx
xor r10d, esi
ror r9d, 8
mov byte [r13], r10b
mov r12d, r8d
mov byte [r13 - 5], r9b
lea r13, [r13 + 8]
ror r10d, 8
mov esi, edi
mov byte [r13 - 9], r10b
ror r9d, 8
mov byte [r13 - 0xe], r9b
ror r10d, 8
mov byte [r13 - 0xa], r10b
ror r9d, 8
ror r10d, 8
mov byte [r13 - 0xf], r9b
mov byte [r13 - 0xb], r10b
ror r10d, 8
ror r9d, 8
sub r11, 1
jne 0x14001f8af
mov al, byte [rsp + 0x60]
xor r14d, r14d
mov r13, qword [rbp - 0x70]
mov r12d, r14d
mov r15, qword [rbp - 8]
movabs rsi, 0x7f1137fab69605e
movzx ecx, al
mov rax, qword [rbp - 0x28]
mov qword [rax + r15], rcx
mov r15, qword [rbp - 0x10]
mov qword [rbp + 0xd8], 8
mov qword [rbp + 0xe0], 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 rdi, rax
test rax, rax
jne 0x14001fd95
mov r15d, 0xc0000017
mov rdi, qword [rbp - 0x30]
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]
test rdi, rdi
je 0x14001fcf7
mov rax, qword [rdi + 8]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14001fc73
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 qword [rdi + 8], r14
mov rax, qword [rdi + 0x18]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14001fca5
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 qword [rdi + 0x18], r14
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14001fcd7
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 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]
or r15d, 0x10000000
mov dword [rbp - 0x60], r15d
jl 0x140020163
mov eax, dword [r12]
mov edi, dword [r12 + 0x20]
add eax, 4
mov edx, dword [r12 + 0x10]
mov dword [rsp + 0x70], edi
mov dword [rbp - 0x60], edx
mov dword [rsp + 0x74], eax
cmp eax, 4
jb 0x140021150
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140021150
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140021150
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140021150
lea eax, [rcx + rdi]
cmp eax, ecx
jb 0x140021150
mov edi, eax
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]
mov rdi, rax
test rax, rax
jne 0x14001ffa1
mov r15d, 0xd0000017
jmp 0x14002015f
mov r15d, r15d
mov dword [rax], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14001feaf
mov qword [rdi + 8], rax
mov rdx, qword [rbp - 0x28]
mov r8d, r15d
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15d, LoadRegTypeLib
mov dword [rdi + 0x10], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r15d
mov r15d, 8
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x14001feaf
mov qword [rdi + 0x18], rax
lea edx, [r15 + 0x78]
lea rax, [0x140000000]
lea rax, [rax + 0xb0360]
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 [rdi + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r15d
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
jne 0x14001ff82
mov r15d, 0xc0000017
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x30], rax
mov rax, qword [rdi + 8]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14001feef
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 qword [rdi + 8], r14
mov rax, qword [rdi + 0x18]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14001ff21
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 qword [rdi + 0x18], r14
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14001ff53
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 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]
test r15d, r15d
js 0x14001fc13
mov rax, qword [rbp - 0x30]
jmp 0x14001ff96
mov qword [rdi + 0x28], rcx
mov rax, qword [0x1400b0400]
mov r15d, r14d
mov qword [rcx], rax
mov rax, rdi
mov r12, rax
mov rdi, r14
jmp 0x14001fc17
mov eax, dword [r12]
lea r15, [rdi + 4]
mov dword [rdi], eax
cmp r15, rdi
jb 0x14002004b
mov r8d, dword [r12]
mov rcx, r15
mov rdx, qword [r12 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r12]
add rcx, r15
cmp rcx, r15
jb 0x14002004b
mov eax, dword [r12 + 0x10]
lea r15, [rcx + 4]
mov dword [rcx], eax
cmp r15, rcx
jb 0x14002004b
mov r8d, dword [r12 + 0x10]
mov rcx, r15
mov rdx, qword [r12 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r12 + 0x10]
add rcx, r15
cmp rcx, r15
jb 0x14002004b
mov eax, dword [r12 + 0x20]
lea r15, [rcx + 4]
mov dword [rcx], eax
cmp r15, rcx
jb 0x14002004b
mov r8d, dword [r12 + 0x20]
mov rcx, r15
mov rdx, qword [r12 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r12 + 0x20]
add rax, r15
cmp rax, r15
jb 0x14002004b
mov eax, dword [rbp - 0x60]
mov qword [rbp - 0x38], rdi
add eax, 4
mov edi, dword [rsp + 0x74]
add edi, 4
add eax, edi
add eax, dword [rsp + 0x70]
mov dword [rbp - 0x58], eax
jmp 0x140020082
mov r15d, 0xc0000095
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]
or r15d, 0x10000000
mov dword [rbp - 0x60], r15d
jl 0x140020163
cmp qword [rbp + 0x218], r14
jne 0x140020096
mov r15d, 0xc000000d
jmp 0x14002015f
mov r15d, 1
cmp dword [rbp + 0x210], r15d
jbe 0x14002008b
mov rcx, qword [rbp + 0x218]
mov edi, r14d
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x140021145
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x140021145
add edi, r15d
cmp edi, r15d
jb 0x1400200af
mov r11d, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140021145
cmp dword [rbp + 0x210], 2
jbe 0x14002008b
mov rcx, qword [rbp + 0x218]
mov edi, r14d
mov r10, qword [rbp - 0x38]
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x140021145
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x140021145
add edi, r15d
cmp edi, 2
jb 0x1400200f5
mov edx, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140021145
lea eax, [r11 + 0x50]
cmp eax, 0x50
jb 0x140021145
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140021145
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140021145
cmp eax, 0x400000
jbe 0x14002039e
mov r15d, 0x8000ffff
mov dword [rbp - 0x60], r15d
test r13, r13
je 0x140020188
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12, r12
je 0x14002023e
mov rdi, qword [r12 + 8]
test rdi, rdi
je 0x1400201c0
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 [r12 + 8], r14
mov rdi, qword [r12 + 0x18]
test rdi, rdi
je 0x1400201ef
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 [r12 + 0x18], r14
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x14002021e
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 [r12 + 0x28], r14
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 rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x140020267
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 + 0x18]
test rdi, rdi
je 0x140020290
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]
test rdi, rdi
je 0x140020344
mov r12, qword [rdi + 8]
test r12, r12
je 0x1400202ca
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 [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x1400202f7
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 [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x140020324
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 [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 + 0x48]
test rdi, rdi
je 0x14002036d
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 ecx, dword [rsp + 0x78]
mov edi, ecx
test r15d, r15d
js 0x14002144f
mov r11d, 1
cmp dword [rbp + 0x1e0], r11d
jae 0x14002116a
mov r15d, 0xc004d501
mov dword [rbp - 0x60], r15d
jmp 0x14002144f
mov r15d, eax
mov qword [rbp - 8], r15
mov rdi, r10
mov qword [rbp - 0x38], r10
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x1400203df
mov r15d, 0xd0000017
jmp 0x14002048a
mov rdx, rax
mov qword [rbp + 0x18], rax
test rdi, rdi
jne 0x1400203fa
mov r15d, 0x80070057
mov qword [rbp + 0x18], rdx
jmp 0x14002048a
mov eax, dword [rbp - 0x58]
lea r8, [rbp + 0xe8]
mov qword [rbp + 0x238], rdx
mov ecx, 1
lea rdx, [0x140086550]
mov qword [rbp + 0x230], rdi
mov dword [rbp + 0x240], eax
mov dword [rbp + 0x244], r15d
mov dword [rbp + 0x248], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x140020497
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r8, qword [rbp - 8]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
mov eax, 0x80004005
test r15d, r15d
cmovns r15d, eax
mov dword [rbp - 0x60], r15d
cmp r15d, 0xd0000023
jne 0x1400204f5
mov r15d, 0x8007007a
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x18], rax
mov dword [rbp - 0x60], r15d
mov qword [rbp - 0x38], rdi
jmp 0x140020163
mov rcx, qword [rbp + 0xe8]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140020442
movabs r10, 0x86712ea7345e2b70
xor r9d, r9d
lea rdx, [rbp + 0x230]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x140073fd0]
mov r8, qword [rbp - 8]
mov r15d, eax
or r15d, 0x10000000
mov dword [rbp - 0x60], r15d
jl 0x140020473
mov r8d, dword [rbp + 0x244]
jmp 0x1400204fe
test r15d, r15d
js 0x140020163
cmp r8d, 4
jae 0x14002050f
mov r15d, 0xd000003e
jmp 0x140020482
mov rdx, qword [rbp + 0x18]
mov r10d, dword [rdx]
lea rcx, [rdx + 4]
mov dword [rsp + 0x70], r10d
mov qword [rbp - 0x80], rcx
cmp rcx, rdx
jb 0x14002113a
lea eax, [r8 - 4]
cmp eax, r10d
jae 0x140020540
mov r15d, 0xd000003e
jmp 0x1400203f1
lea r11, [rcx + r10]
mov qword [rbp - 0x70], r10
cmp r11, rcx
jb 0x14002113a
lea r9d, [r10 + 4]
cmp r9d, 4
jb 0x14002113a
mov eax, r8d
sub eax, r9d
cmp eax, 4
jb 0x140020535
mov ecx, dword [r11]
lea r15, [r11 + 4]
mov dword [rbp - 0x58], ecx
mov qword [rbp - 0x38], r15
cmp r15, r11
jb 0x14002113a
lea r11d, [r9 + 4]
cmp r11d, r9d
jb 0x14002113a
mov eax, r8d
sub eax, r11d
cmp eax, ecx
jb 0x140020535
lea r9, [r15 + rcx]
mov qword [rbp - 0x30], r9
cmp r9, r15
jb 0x14002113a
lea r15d, [rcx + r11]
cmp r15d, r11d
jb 0x14002113a
mov eax, r8d
sub eax, r15d
cmp eax, 4
jb 0x140020535
mov rax, qword [rbp - 0x30]
mov r9d, dword [r9]
mov dword [rbp - 0x60], r9d
lea r11, [rax + 4]
mov qword [rbp - 0x30], r11
cmp r11, rax
jb 0x14002113a
lea r11d, [r15 + 4]
cmp r11d, r15d
jb 0x14002113a
mov eax, r8d
sub eax, r11d
cmp eax, r9d
jb 0x140020535
lea r15d, [r11 + r9]
cmp r15d, r11d
jb 0x14002113a
cmp r8d, r15d
jne 0x140020535
add ecx, r10d
mov eax, r8d
add ecx, r9d
add rcx, 0xc
cmp rcx, rax
jne 0x140020535
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 r15, rax
test rax, rax
jne 0x140020664
mov r15d, 0xd0000017
jmp 0x140020482
cmp qword [rbp - 0x80], r14
je 0x1400206b4
mov eax, dword [rsp + 0x70]
mov dword [r15], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x70]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x140020755
mov qword [r15 + 8], rax
mov r8, qword [rbp - 0x70]
mov rcx, rax
mov rdx, qword [rbp - 0x80]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x1400206bb
mov dword [rax], r14d
mov qword [rax + 8], r14
cmp qword [rbp - 0x38], r14
je 0x14002070b
mov eax, dword [rbp - 0x58]
mov dword [r15 + 0x10], eax
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]
test rax, rax
je 0x140020755
mov qword [r15 + 0x18], rax
mov r8, qword [rbp - 0x80]
mov rcx, rax
mov rdx, qword [rbp - 0x38]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140020713
mov dword [r15 + 0x10], r14d
mov qword [r15 + 0x18], r14
cmp qword [rbp - 0x30], r14
je 0x14002094d
mov eax, dword [rbp - 0x60]
mov dword [r15 + 0x20], eax
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]
test rax, rax
jne 0x140020937
mov rax, qword [rbp + 0x18]
mov r15d, 0xc0000017
mov qword [rbp + 0x18], rax
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x70], r13
mov rax, qword [rbp - 8]
mov qword [rbp], r14
mov rcx, qword [rax + 8]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x1400207ad
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 - 8]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x1400207e3
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 - 8]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140020819
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 - 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 r9, qword [rbp + 0x18]
mov rcx, r13
mov qword [rbp - 0x28], r9
mov rdx, r12
mov qword [rbp - 0x10], rdi
mov rax, r14
mov dword [rsp + 0x70], r15d
test r15d, r15d
jns 0x140020970
mov qword [rbp], r14
mov qword [rbp + 0x18], r9
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x70], rcx
test rax, rax
je 0x140020970
mov r15, qword [r14 + 8]
mov rdi, rax
test r15, r15
je 0x1400208aa
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 [r14 + 8], r14
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400208d7
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 0x140020904
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 - 0x28]
mov r15d, dword [rsp + 0x70]
mov rdi, qword [rbp - 0x10]
mov qword [rbp], r14
jmp 0x140020960
mov qword [r15 + 0x28], rax
mov r8, qword [rbp - 0x80]
mov rcx, rax
mov rdx, qword [rbp - 0x30]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140020955
mov dword [r15 + 0x20], r14d
mov qword [r15 + 0x28], r14
mov rax, qword [rbp + 0x18]
mov qword [rbp], r15
mov r15d, r14d
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x38], rdi
mov qword [rbp + 0x18], rax
or r15d, 0x10000000
mov dword [rbp - 0x60], r15d
jl 0x140020163
mov r15, qword [rbp]
test r15, r15
jne 0x140020995
mov r15d, 0xd000000d
jmp 0x14002015f
mov rax, qword [r15 + 8]
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14002098a
cmp dword [r15], r14d
je 0x14002098a
mov eax, dword [r15]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0x48], rax
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_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 8], rax
mov r8, rax
test rax, rax
je 0x140020f3b
mov r9, qword [rbp + 0x48]
mov dl, r14b
mov rcx, qword [rbp - 0x30]
mov qword [rbp - 0x48], rax
mov rax, r9
and eax, 7
mov byte [rsp + 0x60], dl
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x6e0], rsi
mov qword [rbp - 0x10], rcx
je 0x140020ebb
mov ecx, r14d
mov dword [rbp - 0x60], ecx
test eax, eax
je 0x140020e94
mov rax, qword [rbp + 0x18]
mov r8d, 0x38
mov r10, qword [rbp - 0x28]
mov edx, ecx
mov rsi, qword [rbp - 0x10]
movzx r11d, byte [rsi]
inc rsi
cmp ecx, 4
jae 0x140020a4b
lea ecx, [r8 - 0x20]
shl r11d, cl
or edx, r11d
jmp 0x140020a54
mov ecx, r8d
shl r11d, cl
or r14d, r11d
mov ecx, dword [rbp - 0x60]
sub r8d, 8
inc ecx
mov dword [rbp - 0x60], ecx
cmp ecx, r10d
jl 0x140020a33
mov r8, qword [rbp - 8]
mov r11d, r14d
mov r10d, edx
mov dword [rsp + 0x70], r14d
xor r10d, 0x92f65a5
mov qword [rbp - 0x38], rdi
xor r11d, 0x699a899c
mov dword [rbp - 0x58], edx
mov dl, byte [rsp + 0x60]
xor r14d, r14d
mov edi, r14d
mov qword [rbp - 0x10], rsi
mov qword [rbp + 0x18], rax
mov r14d, 1
mov rax, qword [rbp - 0x28]
mov ecx, r10d
mov ebx, r11d
mov qword [rbp], r15
mov qword [rbp - 0x80], r12
movabs rsi, 0x7f1137fab69605e
mov qword [rbp - 0x70], r13
mov r9, r8
lea r15, [r9 + 1]
mov qword [rbp - 0x48], r15
cmp edi, 4
jae 0x140020ad9
rol ecx, 8
mov r15d, ecx
jmp 0x140020adf
rol ebx, 8
mov r15d, ebx
mov byte [r9], r15b
add edi, r14d
mov r15, qword [rbp - 0x48]
mov r9, r15
cmp edi, eax
jl 0x140020ac4
mov r9, qword [rbp + 0x48]
movabs rbx, 0xc81ecb17b1b54a58
mov qword [rbp - 0x48], r15
mov r14d, 0
mov r15, qword [rbp]
cmp eax, 4
jbe 0x140020e89
lea ecx, [r14 + 8]
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov rcx, qword [rbp - 0x10]
mov rax, r9
shr rax, 3
mov qword [rbp - 0x18], rax
test rax, rax
je 0x140020ecf
mov r14d, dword [rbp + 0x6e4]
mov r13, qword [rbp - 0x48]
mov ebx, dword [rbp - 0x58]
add r13, 7
mov edx, dword [rsp + 0x70]
mov r15, qword [rbp - 0x18]
movzx eax, r14w
mov dword [rbp - 0x60], eax
movzx eax, word [rbp + 0x6e2]
mov dword [rsp + 0x74], eax
mov eax, r14d
xor eax, esi
mov dword [rbp - 0x28], eax
add rcx, 2
mov r12d, dword [rbp - 0x28]
movzx eax, si
mov dword [rbp - 0x10], eax
movzx eax, byte [rcx - 1]
mov edi, r14d
movzx r9d, byte [rcx - 2]
movzx r8d, byte [rcx + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rcx]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 1]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 3]
or r8d, eax
xor r10d, r9d
movzx eax, byte [rcx + 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r8d, 8
mov qword [rbp - 0x18], rcx
or r8d, eax
xor r11d, r8d
xor edi, r11d
mov r11d, dword [rbp - 0x60]
xor edi, r10d
xor edi, esi
mov ecx, edi
mov eax, edi
sub ecx, esi
rol eax, 0xa
rol ecx, 5
imul ecx, r11d
add ecx, eax
movzx eax, word [rbp + 0x6e2]
xor r10d, ecx
lea ecx, [r14 + r10]
ror ecx, 9
imul ecx, eax
mov eax, r10d
rol eax, 2
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, r11d
shr eax, 0xd
imul ecx, dword [rbp - 0x10]
sub ecx, eax
movzx eax, word [rbp + 0x6e2]
xor r10d, ecx
mov ecx, r10d
xor ecx, eax
movzx eax, word [rbp + 0x6e6]
rol ecx, 6
imul ecx, eax
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, r14d
xor edi, ecx
mov ecx, edi
xor ecx, esi
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov ecx, r10d
ror ecx, 6
xor eax, r11d
imul eax, dword [rsp + 0x74]
xor ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 2
lea ecx, [r14 + rdi]
ror ecx, 0xf
imul ecx, dword [rbp - 0x10]
add ecx, eax
xor r10d, ecx
movzx eax, word [rbp + 0x6e6]
mov ecx, r10d
sub ecx, esi
ror ecx, 0xe
imul ecx, eax
mov eax, r10d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
ror eax, 0xa
xor ecx, esi
ror ecx, 0xc
imul ecx, r11d
movzx r11d, word [rbp + 0x6e6]
xor ecx, eax
movzx eax, word [rbp + 0x6e2]
xor r10d, ecx
mov ecx, r10d
xor ecx, r11d
imul ecx, eax
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, dword [rbp - 0x10]
imul eax, r11d
xor r10d, eax
movzx eax, word [rbp + 0x6e6]
mov r11d, r10d
sub r11d, eax
xor r11d, edi
mov edi, dword [rbp - 0x60]
xor r11d, esi
mov ecx, r11d
xor ecx, eax
mov eax, r11d
shr eax, 2
rol ecx, 2
imul ecx, edi
add ecx, eax
movzx eax, word [rbp + 0x6e2]
xor r10d, ecx
mov ecx, r10d
sub ecx, r14d
ror ecx, 6
imul ecx, eax
mov eax, r10d
rol eax, 7
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov ecx, r11d
xor eax, edi
ror ecx, 9
imul eax, dword [rbp - 0x10]
add ecx, eax
movzx eax, word [rbp + 0x6e2]
xor r10d, ecx
mov ecx, r10d
xor ecx, eax
movzx eax, word [rbp + 0x6e6]
rol ecx, 5
imul ecx, eax
mov eax, r10d
rol eax, 7
add ecx, eax
mov eax, r12d
xor r11d, ecx
movzx ecx, word [rbp + 0x6e2]
xor eax, r11d
xor r10d, eax
mov eax, r10d
ror eax, 3
sub eax, ecx
imul eax, edi
xor r11d, eax
mov ecx, r11d
mov eax, r11d
sub ecx, r14d
ror eax, 6
ror ecx, 1
imul ecx, dword [rbp - 0x10]
sub ecx, eax
movzx eax, word [rbp + 0x6e6]
xor r10d, ecx
lea ecx, [r10 + rsi]
rol ecx, 3
imul ecx, eax
mov eax, r10d
rol eax, 0xe
add ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xe
lea ecx, [r11 + rsi]
rol ecx, 0xf
imul ecx, edi
mov edi, 1
sub ecx, eax
movzx eax, word [rbp + 0x6e2]
xor r10d, ecx
mov ecx, r10d
xor ecx, dword [rbp - 0x10]
imul ecx, eax
mov eax, r10d
shr eax, 3
xor ecx, eax
xor r11d, ecx
mov ecx, r14d
xor ecx, r11d
mov eax, r11d
xor r11d, edx
rol ecx, 4
imul ecx, dword [rbp - 0x10]
mov edx, r8d
rol eax, 2
xor ecx, eax
xor ecx, ebx
mov ebx, r9d
xor r10d, ecx
mov rcx, qword [rbp - 0x18]
mov byte [r13 - 4], r10b
mov byte [r13], r11b
lea r13, [r13 + 8]
ror r10d, 8
mov byte [r13 - 0xd], r10b
ror r11d, 8
mov byte [r13 - 9], r11b
ror r10d, 8
mov byte [r13 - 0xe], r10b
ror r11d, 8
mov byte [r13 - 0xa], r11b
ror r10d, 8
ror r11d, 8
mov byte [r13 - 0xf], r10b
mov byte [r13 - 0xb], r11b
ror r11d, 8
ror r10d, 8
sub r15, rdi
jne 0x140020b7e
mov dl, byte [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov r12, qword [rbp - 0x80]
xor r14d, r14d
mov r13, qword [rbp - 0x70]
mov r8, qword [rbp - 8]
mov r15, qword [rbp]
mov r9, qword [rbp + 0x48]
jmp 0x140020ed4
mov r11d, r14d
jae 0x140020b24
jmp 0x140020ea6
mov r10d, 0x92f65a5
mov dword [rbp - 0x58], r14d
mov dword [rsp + 0x70], r14d
mov r11d, r14d
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x140020b24
or dword [rsp + 0x70], 0xffffffff
mov r11d, r14d
mov dword [rbp - 0x58], r14d
mov r10d, r14d
jmp 0x140020b28
mov edi, 1
mov rax, r14
test r9, r9
je 0x140020ee8
xor dl, byte [rax + r8]
add rax, rdi
cmp rax, r9
jb 0x140020edc
mov rax, qword [rbp + 0x18]
mov rcx, r15
mov rdi, qword [rbp - 0x38]
mov r9, rax
mov qword [rbp + 0x18], rax
mov r10, rdi
movzx eax, dl
mov rdx, qword [rbp + 0x48]
mov qword [rbp - 0x38], rdi
mov rdi, qword [rbp - 0x30]
mov qword [rbp - 0x18], r13
mov qword [rbp], r15
cmp rax, qword [rdx + rdi]
je 0x140020f76
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 rdi, r14
test r14, r14
je 0x140020f63
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r15d, 0xd0000001
mov qword [rbp + 0x48], r14
mov dword [rbp - 0x60], r15d
jmp 0x140020163
cmp edx, 4
jae 0x140020f86
mov r15d, 0xc000003e
jmp 0x140021120
mov eax, dword [r8]
lea r15, [r8 + 4]
mov dword [rbp - 0x10], eax
cmp r15, r8
jb 0x14002111a
lea eax, [rdx - 4]
cmp eax, 4
jb 0x140020f7b
mov r13d, dword [r15]
lea rdi, [r15 + 4]
mov dword [rbp - 0x28], r13d
cmp rdi, r15
jb 0x140021116
lea eax, [rdx - 8]
cmp eax, r13d
jae 0x140020fcc
mov r13, qword [rbp - 0x18]
mov r15d, 0xc000003e
jmp 0x140021120
lea eax, [r13 + 8]
cmp eax, 8
jb 0x140021116
mov edx, edx
lea r15, [rdi + r13]
lea rax, [rdx + r8]
cmp rax, r15
jb 0x140020fbd
mov r13, qword [rbp - 0x18]
mov r15d, 0xc0000095
mov qword [rbp + 0x48], r8
mov qword [rbp], rcx
mov qword [rbp + 0x18], r9
mov qword [rbp - 0x38], r10
bts r15d, 0x1c
jmp 0x14002015f
mov r15d, 0xd0000095
jmp 0x1400203f1
mov r15d, 0xc0000095
jmp 0x14002015f
mov r15d, 0xd0000095
jmp 0x14002015f
mov r15d, 0xd0000001
mov dword [rbp - 0x60], r15d
jmp 0x140020168
cmp qword [rbp + 0x1e8], r14
jne 0x14002117e
mov r15d, 0xc000000d
jmp 0x140020395
cmp dword [rbp + 0x1e0], r14d
jbe 0x140021173
mov r12, qword [rbp + 0x1e8]
lea rdx, [r12 + 4]
cmp rdx, r12
jb 0x1400213f3
cmp dword [r12], r14d
mov rax, r14
cmovne rax, rdx
cmp dword [r12], 4
je 0x1400211b9
mov r15d, 0xc0000023
jmp 0x140020395
mov r15d, dword [rax]
mov dword [rbp - 0x60], r15d
cmp r15d, 0xd0000023
jne 0x1400211d1
mov r12d, 0x8007007a
jmp 0x1400211e6
mov r12d, r15d
cmp r15d, 0x8007007a
je 0x1400211e6
test r15d, r15d
js 0x14002144f
cmp dword [rbp + 0x1e0], 6
je 0x140021200
mov r15d, 0xc004d501
mov dword [rbp - 0x60], r15d
mov edi, ecx
jmp 0x14002144f
cmp qword [rbp + 0x1e8], r14
je 0x1400212c1
mov rax, qword [rbp + 0x1e8]
mov edi, r14d
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x1400213e8
add edi, r11d
cmp edi, r11d
jb 0x140021217
mov edi, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
test edi, edi
mov rax, r14
cmovne rax, rdx
cmp edi, 8
je 0x14002125f
mov r15d, 0xc0000023
jmp 0x1400211f5
mov r13, qword [rax]
cmp qword [rbp + 0x1e8], r14
je 0x1400212c1
mov rax, qword [rbp + 0x1e8]
mov edi, r14d
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x1400213e8
add edi, r11d
cmp edi, 2
jb 0x140021275
mov edi, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
test edi, edi
mov rax, r14
cmovne rax, rdx
cmp edi, 4
jne 0x140021257
mov r11d, dword [rax]
cmp qword [rbp + 0x1e8], r14
jne 0x1400212cc
mov r15d, 0xc000000d
jmp 0x1400211f5
mov rax, qword [rbp + 0x1e8]
mov edi, r14d
mov r15d, 1
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x1400213e8
add edi, r15d
cmp edi, 3
jb 0x1400212dc
mov r8d, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
test r8d, r8d
mov r9, r14
cmovne r9, rdx
mov rax, qword [rbp + 0x1e8]
mov edi, r14d
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x1400213e8
add edi, r15d
cmp edi, 4
jb 0x140021323
lea rdi, [rax + 4]
cmp rdi, rax
jb 0x1400213e8
cmp dword [rax], r14d
mov rdx, r14
cmovne rdx, rdi
cmp dword [rax], 4
jne 0x140021257
mov rax, qword [rbp + 0x1e8]
mov edi, r14d
mov r10d, dword [rdx]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x1400213e8
add edi, r15d
cmp edi, 5
jb 0x140021373
mov edi, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400213e8
test edi, edi
mov rax, r14
cmovne rax, rdx
cmp edi, 4
jne 0x140021257
mov edi, dword [rax]
mov r15d, r14d
mov dword [rbp - 0x60], r14d
cmp qword [rbp - 0x40], r13
jne 0x1400211ef
mov dword [rbp + 0x58], r11d
cmp r10d, 4
jbe 0x1400213d3
mov r15d, 0x8007007a
jmp 0x140020395
cmp r8d, 4
ja 0x1400213c8
mov rcx, qword [rsp + 0x68]
mov rdx, r9
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140021438
mov r15d, 0xc0000095
jmp 0x1400211f5
mov r15d, 0xc0000095
jmp 0x140020395
mov r15d, 0xd0000095
mov edi, dword [rsp + 0x78]
mov dword [rbp - 0x60], r15d
jmp 0x14002144f
mov r15d, 0xc000000d
jmp 0x14001ef37
or qword [rbp + 0xc0], 0xffffffffffffffff
mov r15d, 0xc0000095
jmp 0x14001ef37
mov dword [rbp + 0x58], r14d
mov r12d, r14d
test r15d, r15d
js 0x14002144f
test r12d, r12d
je 0x14002144f
mov r15d, r12d
mov dword [rbp - 0x60], r12d
jmp 0x14002144f
mov r15d, edi
mov dword [rbp - 0x60], edi
mov edi, r12d
and qword [rbp + 0x210], 0
mov r12, qword [rbp + 0x218]
test r12, r12
je 0x14002148a
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 + 0x218], r14
and qword [rbp + 0x1e0], 0
mov r12, qword [rbp + 0x1e8]
test r12, r12
je 0x1400214c5
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 + 0x1e8], r14
mov r12, qword [rbp - 0x78]
test r12, r12
je 0x1400214ee
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 r12, qword [rbp - 0x68]
test r12, r12
je 0x140021517
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 r15d, r15d
js 0x14001ee00
test edi, edi
je 0x140026eca
mov dword [0x1400b1450], edi
lea rdx, [rbp + 0xcb0]
mov edi, 0x104
mov qword [rbp + 0xf0], r14
mov r8d, edi
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
nop dword [rax + rax]
test eax, eax
je 0x140025fef
cmp eax, edi
jne 0x140021578
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
je 0x140025fef
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400aa148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x140073fd0]
mov qword [rbp - 0x18], rax
test rax, rax
jne 0x1400215b3
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140025fef
movabs r10, 0xcd6cb78050552870
mov rax, qword [0x1400aa0e8]
call qword [0x140073fd0]
mov edi, dword [0x1400b1450]
lea rcx, [rbp + 0x660]
xor edx, edx
mov qword [0x1400b1448], rax
mov dword [rbp - 0x10], edi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x48], r14
xorps xmm0, xmm0
mov qword [rbp + 0x8d0], rax
movups xmmword [rbp + 0x6f0], xmm0
mov dword [rbp + 0x8d8], eax
lea ecx, [rax + 1]
mov qword [rbp - 0x80], r14
movups xmmword [rbp + 0x8b0], xmm0
movups xmmword [rbp + 0x8c0], xmm0
xor eax, eax
lock cmpxchg dword [0x1400b166c], ecx
jne 0x14002161e
mov eax, dword [0x1400b1668]
test eax, eax
jne 0x140021c1b
mov dword [rbp - 0x28], r14d
mov r13, r14
mov dword [rsp + 0x70], r14d
mov dword [rbp - 0x58], 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 [rsp + 0x68], rax
test rax, rax
je 0x140021a02
mov r15d, 0x67
mov byte [rsp + 0x60], r14b
mov edi, r14d
lea rbx, [rax + 7]
mov r12d, r14d
lea rsi, [0x14008fc62]
or ecx, 0xffffffff
lea r14d, [r15 - 0x66]
movzx eax, byte [rsi - 1]
movzx r11d, byte [rsi - 2]
movzx r10d, byte [rsi + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rsi - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rsi - 5]
or r10d, eax
xor r13d, r11d
movzx eax, byte [rsi - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 3]
shl r10d, 8
or r10d, eax
mov r9d, r10d
xor r9d, r12d
xor r9d, r13d
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r9d
rol eax, 0xa
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 2
sub edx, eax
xor r9d, edx
imul edx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r13d, edx
mov eax, r13d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r9d, edx
mov edx, r9d
xor edx, 0xab69605e
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 8
sub edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor edx, r9d
mov r9d, 0x605e
mov eax, edx
not eax
ror eax, 5
add eax, r9d
imul eax, eax, 0x7f1
xor r13d, eax
lea r12d, [r13 - 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 r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r13d
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 r13d, r8d
mov eax, r13d
mov r8d, r13d
xor eax, 0xab69
rol r13d, 7
rol eax, 5
imul edx, eax, 0x7f1
add edx, r13d
xor r12d, edx
mov r13d, r12d
xor r13d, r8d
xor r13d, 0xac987321
mov eax, r13d
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 r13d, edx
lea eax, [r13 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r13d
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 r13d, edx
mov eax, r13d
xor eax, r9d
imul edx, eax, 0xab69
mov eax, r13d
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, r10d
xor edx, eax
xor edx, edi
mov edi, r11d
xor r13d, edx
mov byte [rbx - 4], r13b
mov byte [rbx], r12b
lea rbx, [rbx + 8]
ror r13d, 8
mov byte [rbx - 0xd], r13b
ror r12d, 8
mov byte [rbx - 9], r12b
ror r13d, 8
mov byte [rbx - 0xe], r13b
ror r12d, 8
mov byte [rbx - 0xa], r12b
ror r13d, 8
ror r12d, 8
mov byte [rbx - 0xf], r13b
mov byte [rbx - 0xb], r12b
ror r12d, 8
ror r13d, 8
sub r15, r14
jne 0x14002169c
mov cl, byte [rsp + 0x60]
xor r14d, r14d
mov edi, dword [rbp - 0x10]
mov eax, r14d
mov r15d, dword [rbp - 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov r13, qword [rsp + 0x68]
mov r8d, 0x338
lea edx, [r14 + 1]
xor cl, byte [rax + r13]
add rax, rdx
cmp rax, r8
jb 0x1400219c3
movzx eax, cl
cmp rax, qword [0x14008ff98]
je 0x140021aa2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r13, r14
mov dword [rsp + 0x70], 0xc000007a
test r13, r13
je 0x140021a2f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
cmp dword [rsp + 0x70], r14d
jge 0x140021c10
mov eax, 1
lea r12, [0x1400b1460]
lea r13d, [rax + 3]
cmp qword [r12], r14
je 0x140021a65
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add r12, 0x18
sub r13, rax
jne 0x140021a4a
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400b1460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x14006cdb0]
lea rcx, [0x1400aa050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea ecx, [r13 + 1]
jmp 0x140021c23
xor edx, edx
mov byte [r8 + r13 - 1], r14b
lea rcx, [0x1400b1460]
mov r12, r13
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r13], r14b
je 0x140021a0f
mov rdx, r12
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], r14w
jne 0x140021acd
lea r12, [r12 + rax*2]
mov eax, dword [rbp - 0x58]
lea rcx, [rax + rax*2]
lea rax, [0x1400b1460]
lea r8, [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0x68], r8
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x140021a02
mov r8, qword [rsp + 0x68]
mov edx, 0x5a4d
mov ecx, r14d
mov dword [rsp + 0x70], ecx
mov rax, qword [r8]
cmp word [rax], dx
je 0x140021b2c
mov ecx, 0xc000007b
mov dword [rsp + 0x70], ecx
jmp 0x140021b7b
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x140021b21
add rdx, qword [r8]
cmp rdx, qword [r8]
jb 0x140021b21
cmp dword [rdx], 0x4550
jne 0x140021b21
movzx eax, word [rdx + 0x18]
mov r9d, 0x10b
sub ax, r9w
mov r9d, 0xfeff
test r9w, ax
je 0x140021b69
mov ecx, 0xc000000d
jmp 0x140021b26
mov rax, qword [rdx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r12 + 2]
mov edx, r14d
add r12, 6
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x74], edx
test eax, eax
je 0x140021bf9
mov r9, r12
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], r14b
jne 0x140021b9a
inc r12
add r12, rax
test ecx, ecx
js 0x140021be3
mov rcx, qword [r8]
mov rdx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140021a0a
mov ecx, dword [rbp - 0x28]
lea rdx, [0x1400aa050]
mov r8, qword [rsp + 0x68]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x70]
mov edx, dword [rsp + 0x74]
mov eax, 1
add dword [rbp - 0x28], eax
add edx, eax
mov dword [rsp + 0x74], edx
cmp edx, dword [rsp + 0x78]
jb 0x140021b93
jmp 0x140021bfe
mov eax, 1
add dword [rbp - 0x58], eax
cmp byte [r12], r14b
jne 0x140021ac6
jmp 0x140021a0a
mov eax, dword [0x1400b1668]
mov ecx, 1
add eax, ecx
mov dword [0x1400b1668], eax
mov eax, r14d
mov dword [rbp - 0x28], r14d
xchg dword [0x1400b166c], eax
xorps xmm0, xmm0
mov qword [rbp + 0x108], r14
movups xmmword [rbp + 0x700], xmm0
mov dword [rsp + 0x70], r14d
mov qword [rsp + 0x68], r14
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x68], r14
xor eax, eax
lock cmpxchg dword [0x1400b166c], ecx
jne 0x140021c53
mov eax, dword [0x1400b1668]
test eax, eax
jne 0x140022240
mov dword [rbp - 0x58], r14d
mov r13, r14
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x74], 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 0x140022031
mov r15d, 0x67
mov byte [rsp + 0x60], r14b
mov edi, r14d
lea rbx, [rax + 7]
mov r12d, r14d
lea rsi, [0x14008fc62]
or ecx, 0xffffffff
lea r14d, [r15 - 0x66]
movzx eax, byte [rsi - 1]
movzx r11d, byte [rsi - 2]
movzx r10d, byte [rsi + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rsi - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rsi - 5]
or r10d, eax
xor r13d, r11d
movzx eax, byte [rsi - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 3]
shl r10d, 8
or r10d, eax
mov r9d, r10d
xor r9d, r12d
xor r9d, r13d
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r9d
rol eax, 0xa
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 2
sub edx, eax
xor r9d, edx
imul edx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r13d, edx
mov eax, r13d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r9d, edx
mov edx, r9d
xor edx, 0xab69605e
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 8
sub edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor edx, r9d
mov r9d, 0x605e
mov eax, edx
not eax
ror eax, 5
add eax, r9d
imul eax, eax, 0x7f1
xor r13d, eax
lea r12d, [r13 - 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 r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r13d
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 r13d, r8d
mov eax, r13d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 7
add edx, eax
xor r12d, edx
xor r13d, r12d
xor r13d, 0xac987321
mov eax, r13d
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 r13d, edx
lea eax, [r13 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r13d
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 r13d, edx
mov eax, r13d
xor eax, r9d
imul edx, eax, 0xab69
mov eax, r13d
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, r10d
xor edx, eax
xor edx, edi
mov edi, r11d
xor r13d, edx
mov byte [rbx - 4], r13b
mov byte [rbx], r12b
lea rbx, [rbx + 8]
ror r13d, 8
mov byte [rbx - 0xd], r13b
ror r12d, 8
mov byte [rbx - 9], r12b
ror r13d, 8
mov byte [rbx - 0xe], r13b
ror r12d, 8
mov byte [rbx - 0xa], r12b
ror r13d, 8
ror r12d, 8
mov byte [rbx - 0xf], r13b
mov byte [rbx - 0xb], r12b
ror r12d, 8
ror r13d, 8
sub r15, r14
jne 0x140021cd1
mov cl, byte [rsp + 0x60]
xor r14d, r14d
mov edi, dword [rbp - 0x10]
mov eax, r14d
mov r15d, dword [rbp - 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov r13, qword [rbp - 0x70]
mov r8d, 0x338
lea edx, [r14 + 1]
xor cl, byte [rax + r13]
add rax, rdx
cmp rax, r8
jb 0x140021ff2
movzx eax, cl
cmp rax, qword [0x14008ff98]
je 0x1400220cd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r13, r14
mov dword [rsp + 0x78], 0xc000007a
test r13, r13
je 0x14002205e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
cmp dword [rsp + 0x78], r14d
jge 0x140022235
mov eax, 1
lea r12, [0x1400b1460]
lea r13d, [rax + 3]
cmp qword [r12], r14
je 0x140022094
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add r12, 0x18
sub r13, rax
jne 0x140022079
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400b1460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x14006cdb0]
lea rcx, [0x1400aa050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140022248
xor edx, edx
mov byte [r8 + r13 - 1], r14b
lea rcx, [0x1400b1460]
mov r12, r13
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r13], r14b
je 0x14002203e
mov rdx, r12
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], r14w
jne 0x1400220f8
lea r12, [r12 + rax*2]
mov eax, dword [rsp + 0x74]
lea rcx, [rax + rax*2]
lea rax, [0x1400b1460]
lea r8, [rax + 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 0x140022031
mov r8, qword [rbp - 0x70]
mov edx, 0x5a4d
mov ecx, r14d
mov dword [rsp + 0x78], ecx
mov rax, qword [r8]
cmp word [rax], dx
je 0x140022156
mov ecx, 0xc000007b
mov dword [rsp + 0x78], ecx
jmp 0x1400221a5
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x14002214b
add rdx, qword [r8]
cmp rdx, qword [r8]
jb 0x14002214b
cmp dword [rdx], 0x4550
jne 0x14002214b
movzx eax, word [rdx + 0x18]
mov r9d, 0x10b
sub ax, r9w
mov r9d, 0xfeff
test r9w, ax
je 0x140022193
mov ecx, 0xc000000d
jmp 0x140022150
mov rax, qword [rdx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r12 + 2]
mov edx, r14d
add r12, 6
mov dword [rbp - 0x10], eax
mov dword [rbp - 8], edx
test eax, eax
je 0x14002221d
mov r9, r12
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], r14b
jne 0x1400221c2
inc r12
add r12, rax
test ecx, ecx
js 0x140022209
mov rcx, qword [r8]
mov rdx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140022039
mov ecx, dword [rbp - 0x58]
lea rdx, [0x1400aa050]
mov r8, qword [rbp - 0x70]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x78]
mov edx, dword [rbp - 8]
mov eax, 1
add dword [rbp - 0x58], eax
add edx, eax
mov dword [rbp - 8], edx
cmp edx, dword [rbp - 0x10]
jb 0x1400221bb
jmp 0x140022222
mov eax, 1
add dword [rsp + 0x74], eax
cmp byte [r12], r14b
jne 0x1400220f1
jmp 0x140022039
mov eax, dword [0x1400b1668]
mov ecx, 1
add eax, ecx
mov dword [0x1400b1668], eax
xor edx, edx
lea rcx, [rbp + 0x660]
mov eax, r14d
xchg dword [0x1400b166c], eax
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, SafeArrayGetDim
mov eax, edi
shr eax, 4
mov r13d, edi
and ax, cx
xorps xmm0, xmm0
mov word [rbp + 0xbf0], ax
and r13d, ecx
mov eax, edi
mov dword [rbp - 8], r13d
shr eax, 8
shr edi, 0xc
and ax, cx
and di, cx
mov word [rbp + 0xbf2], ax
movups xmmword [rbp + 0x6f0], xmm0
mov word [rbp + 0xbf4], di
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400aa148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x140073fd0]
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x10], 0xffffff
test rax, rax
jne 0x140022309
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400239b4
mov r12d, 0x80004005
jmp 0x1400239b4
mov qword [rbp + 0x120], r14
mov r12d, r14d
mov qword [rbp + 0x128], r14
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], r14
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x148], r14
mov dword [rbp + 0x5c], r14d
movabs r10, 0xbe1926d37a52c070
mov rax, qword [0x1400aa0f0]
lea r9, [rbp + 0x5c]
xor r8d, r8d
lea rdx, [rbp - 0x20]
lea ecx, [r8 + 8]
call qword [0x140073fd0]
test eax, eax
jne 0x140022395
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400224f6
mov r12d, 0x80004005
jmp 0x1400224f6
mov edi, dword [rbp + 0x5c]
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 + 0x140]
mov rdi, rax
call fcn.140048bc4
test rdi, rdi
jne 0x1400223e1
mov qword [rbp + 0x140], r14
mov r12d, 0x8007000e
jmp 0x1400224f6
mov qword [rbp + 0x140], rdi
mov edi, dword [rbp - 0x20]
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 + 0x148]
mov rdi, rax
call fcn.140048bc4
test rdi, rdi
jne 0x140022430
mov r12d, 0x8007000e
jmp 0x1400224ef
mov qword [rbp + 0x148], rdi
movabs r10, 0xbe1926d37a52c070
mov r8, qword [rbp + 0x140]
lea r9, [rbp + 0x5c]
mov rax, qword [0x1400aa0f0]
lea rdx, [rbp - 0x20]
mov ecx, 8
call qword [0x140073fd0]
test eax, eax
je 0x140022364
mov rdi, qword [rbp + 0x140]
mov r13, qword [rbp + 0x148]
cmp dword [rbp - 0x20], r14d
jbe 0x1400224d1
mov esi, r14d
mov ebx, 1
movabs r10, 0xeadd062354d83270
mov rax, qword [0x1400aa100]
xor edx, edx
mov rcx, rdi
call qword [0x140073fd0]
mov dword [r13], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x1400224aa
lea rdi, [rdi + rax*2]
add r13, 4
add rdi, 2
add esi, ebx
cmp esi, dword [rbp - 0x20]
jb 0x140022486
movabs rbx, 0xc81ecb17b1b54a58
mov dword [r13], 0x409
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x120], rax
mov eax, dword [rbp - 0x20]
inc eax
mov dword [rbp - 0x58], eax
mov qword [rbp + 0x148], r14
lea rcx, [rbp + 0x148]
call fcn.140048bc4
lea rcx, [rbp + 0x140]
call fcn.140048bc4
test r12d, r12d
js 0x140022cc9
lea r11, [0x14008fbc0]
mov r10d, r14d
mov r9d, r14d
mov dword [rsp + 0x78], r14d
cmp dword [rbp - 0x58], r14d
jbe 0x14002256d
mov rax, qword [rbp + 0x120]
mov r8, r14
mov edx, r14d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x140022566
mov ecx, 1
add rdi, 4
add edx, ecx
cmp edx, 0x26
jb 0x14002253f
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x58]
jae 0x14002256d
jmp 0x140022539
mov r10d, edx
mov dword [rsp + 0x78], edx
mov edi, r10d
mov dword [rbp - 0x58], r14d
movabs r10, 0xf3552e1936d87370
mov ecx, dword [r11 + rdi*4]
lea rdx, [rbp + 0xc00]
mov rax, qword [0x1400aa0f8]
xor r9d, r9d
lea r8d, [r9 + 0x55]
call qword [0x140073fd0]
test eax, eax
je 0x1400225ee
movabs r10, 0xe375262d7cd44270
mov rax, qword [0x1400aa0e0]
lea r8, [rbp + 0x780]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0xc00]
lea edx, [r9 + 0x48]
call qword [0x140073fd0]
mov r9d, 1
test eax, eax
jle 0x1400225f4
mov r12d, dword [rbp + 0x78c]
shr r12d, 0x1b
and r12d, r9d
mov dword [rbp - 0x58], r12d
jmp 0x1400225f4
mov r9d, 1
lea rcx, str.Segoe_UI_Light
mov r8d, SafeArrayGetElement
lea rdx, [rbp + 0xb50]
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r14w
jne 0x14002260f
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub r8, r9
jne 0x140022608
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x8fb40]
mov rax, qword [rbp + rax*8 + 0xb50]
mov qword [rsp + 0x68], rax
movzx eax, byte [rcx + rdx + 0x8fb41]
mov rax, qword [rbp + rax*8 + 0xb50]
mov qword [rbp - 0x78], rax
movzx eax, byte [rcx + rdx + 0x8fb42]
mov rax, qword [rbp + rax*8 + 0xb50]
mov qword [rbp - 0x68], 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 [rbp - 0x40], rax
test rax, rax
jne 0x1400226a9
mov r12d, 0x8007000e
jmp 0x140022cc9
or dword [rsp + 0x74], 0xffffffff
lea r12, [rax + 7]
mov r13d, dword [rsp + 0x74]
lea rsi, [0x14008dbc2]
mov r15d, r14d
mov r11d, r14d
mov r10d, r14d
mov ebx, 0x392
movzx eax, byte [rsi - 1]
movzx r9d, byte [rsi - 2]
movzx r8d, byte [rsi + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [rsi - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rsi - 3]
shl r8d, 8
or r8d, eax
mov edi, r8d
xor edi, r11d
xor edi, r10d
xor edi, 0xac987321
lea eax, [rdi + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, edi
rol eax, 0xa
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 2
sub ecx, eax
xor edi, ecx
imul ecx, edi, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov edx, r10d
xor eax, 0x137f
ror edx, 6
imul ecx, eax, 0xab69
xor edx, ecx
xor edi, edx
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, edi
rol eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov eax, edi
mov edx, 0xab69605e
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xa
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor ecx, edi
mov edi, 0x605e
mov eax, ecx
not eax
ror eax, 5
add eax, edi
imul eax, eax, 0x7f1
xor r10d, eax
lea r11d, [r10 - 0x7f1]
xor r11d, ecx
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, r11d
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 r11d, ecx
mov eax, r11d
mov edx, r11d
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 r11d, ecx
xor r10d, r11d
xor r10d, 0xac987321
mov eax, r10d
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, r11d
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 r11d, ecx
lea eax, [r11 - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, r11d
ror eax, 0xe
sub ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, edi
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 3
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, r11d
xor r11d, r13d
rol eax, 2
mov r13d, r8d
xor ecx, eax
xor ecx, r15d
mov r15d, r9d
xor r10d, ecx
mov r9d, 1
mov byte [r12 - 4], r10b
mov byte [r12], r11b
lea r12, [r12 + 8]
ror r10d, 8
mov byte [r12 - 0xd], r10b
ror r11d, 8
mov byte [r12 - 9], r11b
ror r10d, 8
mov byte [r12 - 0xe], r10b
ror r11d, 8
mov byte [r12 - 0xa], r11b
ror r10d, 8
ror r11d, 8
mov byte [r12 - 0xf], r10b
mov byte [r12 - 0xb], r11b
ror r11d, 8
ror r10d, 8
sub rbx, r9
jne 0x1400226cc
mov r15d, dword [rbp - 0x60]
mov rax, r14
mov r13, qword [rbp - 0x40]
xorps xmm1, xmm1
movabs rbx, 0xc81ecb17b1b54a58
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r13]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rcx
jb 0x1400229d7
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 [0x14008f850]
je 0x140022a60
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r12d, 0xc004d501
mov qword [rbp + 0x130], r14
jmp 0x140022cc9
mov r8d, dword [rsp + 0x78]
lea rdx, [rbp + 0xae0]
mov qword [rbp + 0x128], r13
mov r12d, r14d
mov qword [rbp + 0x130], rcx
mov edi, 6
mov ecx, r14d
cmp r8d, ecx
jne 0x140022a8d
mov qword [rdx], r13
or rax, 0xffffffffffffffff
inc rax
cmp byte [rax + r13], r14b
jne 0x140022a91
inc r13
add ecx, r9d
add r13, rax
cmp ecx, 0x26
jb 0x140022a85
add rdx, 8
sub rdi, r9
jne 0x140022a82
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 + 0x138]
mov rdi, rax
call fcn.140048bc4
mov r8d, 1
test rdi, rdi
jne 0x140022afe
mov qword [rbp + 0x138], r14
mov r12d, 0x8007000e
jmp 0x140022ccf
mov qword [rbp + 0x138], rdi
lea rcx, [rbp + 0xbf0]
xorps xmm0, xmm0
mov qword [rbp - 0x40], rcx
xor eax, eax
mov edx, r14d
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov r13, r14
mov dword [rsp + 0x78], edx
movzx edi, word [rcx]
lea rcx, [0x14008ffa0]
mov eax, r14d
cmp di, word [rcx]
je 0x140022b49
add eax, r8d
add rcx, 2
cmp eax, 6
jb 0x140022b33
jmp 0x140022c36
mov rax, qword [rbp + rax*8 + 0xae0]
or rcx, 0xffffffffffffffff
mov qword [rbp - 0x38], rax
inc rcx
cmp byte [rax + rcx], r14b
jne 0x140022b59
lea r9d, [r8 + rcx]
movabs r10, 0x8f85170d18d27270
mov r8, rax
mov dword [rsp + 0x28], r14d
mov rax, qword [0x1400aa110]
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], r14
call qword [0x140073fd0]
mov dword [rsp + 0x74], eax
test eax, eax
je 0x140022ca0
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 + 0x138]
mov qword [rcx + r13], rax
mov rcx, qword [rbp + 0x138]
cmp qword [rcx + r13], r14
je 0x14002269e
mov rdx, qword [rcx + r13]
or rcx, 0xffffffffffffffff
mov r8, qword [rbp - 0x38]
inc rcx
cmp byte [r8 + rcx], r14b
jne 0x140022beb
mov r9d, 1
add r9d, ecx
movabs r10, 0x8f85170d18d27270
mov eax, dword [rsp + 0x74]
mov ecx, 0xfde9
mov dword [rsp + 0x28], eax
mov rax, qword [0x1400aa110]
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [0x140073fd0]
test eax, eax
je 0x140022c76
mov edx, dword [rsp + 0x78]
mov r8d, 1
mov rcx, qword [rbp - 0x40]
add edx, r8d
add rcx, 2
mov dword [rsp + 0x78], edx
add r13, 8
mov qword [rbp - 0x40], rcx
cmp edx, 3
jb 0x140022b26
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x108], rax
mov eax, dword [rbp - 0x58]
mov dword [rbp + 0x660], eax
mov qword [rbp + 0x138], r14
jmp 0x140022ccf
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140022cc9
mov r12d, 0x80004005
jmp 0x140022cc9
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
mov eax, 0x80004005
test r12d, r12d
cmovns r12d, eax
mov r8d, 1
cmp qword [rbp + 0x138], r14
je 0x140022d60
mov eax, 3
mov r13, r14
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp + 0x138]
cmp qword [rcx + r13], r14
je 0x140022d53
mov rax, qword [rcx + r13]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140022cfd
mov rdi, qword [rbp + 0x138]
lea rcx, [rcx*2 + 2]
xor eax, eax
mov rdi, qword [rdi + r13]
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x138]
mov rdi, qword [rax + r13]
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 - 0x40]
mov r8d, 1
add r13, 8
sub rax, r8
mov qword [rbp - 0x40], rax
jne 0x140022ce8
mov rdi, qword [rbp + 0x128]
test rdi, rdi
je 0x140022d77
mov rcx, qword [rbp + 0x130]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0x138]
call fcn.140048bc4
lea rcx, [rbp + 0x128]
call fcn.140048bc4
lea rcx, [rbp + 0x120]
call fcn.140048bc4
test r12d, r12d
js 0x140023997
mov rax, qword [rbp + 0x108]
xorps xmm0, xmm0
mov rcx, qword [rax]
mov qword [rbp + 0x668], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x670], rcx
mov rcx, qword [rax + 0x10]
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x678], rcx
mov dword [rbp + 0x220], reloc.OLEAUT32.dll_SafeArrayGetDim
movabs r10, 0xadb51e5154d11b70
mov rax, qword [0x1400aa1b8]
lea r8, [rbp + 0x220]
xor edx, edx
xor r9d, r9d
lea ecx, [rdx + 0x42]
call qword [0x140073fd0]
test eax, eax
jne 0x140022e3e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
mov dword [rbp + 0x664], r14d
test eax, eax
cmovle r12d, eax
mov eax, 0x80004005
test r12d, r12d
cmovns r12d, eax
jmp 0x140023997
mov eax, dword [rbp + 0x224]
and eax, 1
mov dword [rbp + 0x664], eax
mov r13d, dword [rbp - 8]
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateVectorEx
mov ecx, r13d
mov dword [rbp - 0x58], eax
sub ecx, 1
je 0x140022e85
sub ecx, 1
je 0x140022e7c
cmp ecx, 1
jne 0x140022e90
mov r12d, 0xe1
mov dword [rbp - 0x28], r12d
mov dword [rsp + 0x70], r12d
jmp 0x140022e90
mov dword [rbp - 0x28], SafeArrayGetDim
jmp 0x140022e88
mov dword [rbp - 0x28], eax
mov dword [rsp + 0x70], SafeArrayGetDim
mov edi, 0x60
lea rcx, [rbp + 0xa00]
xor edx, edx
mov dword [rsp + 0x78], edi
lea r12d, [rdi + 0x7c]
mov r8d, r12d
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov word [rbp + 0xa44], r12w
movabs r10, 0xd1659e5312d9a870
mov rax, qword [0x1400aa130]
lea r8, [rbp + 0xa00]
or edx, 0xffffffff
xor ecx, ecx
call qword [0x140073fd0]
test eax, eax
je 0x140022f12
mov eax, dword [rbp + 0xaac]
movzx edi, word [rbp + 0xaa6]
and qword [rbp + 0x700], 0
mov dword [rbp + 0x708], eax
mov eax, dword [rbp + 0xab0]
mov dword [rbp + 0x70c], eax
lea eax, [r12 - 0x7c]
cmp edi, eax
cmovb edi, eax
mov dword [rsp + 0x78], edi
mov eax, 1
lea rcx, [rbp + 0x8e0]
cmp r13d, eax
mov rax, qword [rbp - 0x68]
cmove rax, qword [rsp + 0x68]
xor edx, edx
mov qword [rbp - 0x68], rax
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r12d, r14d
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400aa148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x140073fd0]
mov r13, rax
test rax, rax
jne 0x140022f97
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140023997
mov r12d, 0x80004005
jmp 0x140023997
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp - 0x28]
mov r8d, 0x48
mov rax, qword [0x1400aa108]
mov edx, edi
call qword [0x140073fd0]
mov r8, qword [rbp - 0x68]
lea rcx, [rbp + 0x8fc]
neg eax
mov dword [rbp + 0x8f0], 0x190
mov edx, 0x20
mov dword [rbp + 0x8e0], eax
mov byte [rbp + 0x8fa], 5
call fcn.140007230
movabs r10, 0xfab916f870535070
mov rax, qword [0x1400aa070]
lea rcx, [rbp + 0x8e0]
call qword [0x140073fd0]
test rax, rax
jne 0x140023034
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002303b
mov r12d, 0x80004005
jmp 0x14002303b
mov qword [rbp + 0x680], rax
movabs r10, 0xb7b1b729165e9270
mov rax, qword [0x1400aa1b0]
mov rdx, r13
xor ecx, ecx
call qword [0x140073fd0]
test r12d, r12d
js 0x140023997
xor edx, edx
lea rcx, [rbp + 0x940]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r12d, r14d
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400aa148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x140073fd0]
mov r13, rax
test rax, rax
je 0x140022f66
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rsp + 0x70]
mov r8d, 0x48
mov rax, qword [0x1400aa108]
mov edx, edi
call qword [0x140073fd0]
mov r8, qword [rbp - 0x68]
lea rcx, [rbp + 0x95c]
neg eax
mov dword [rbp + 0x950], 0x190
mov edx, 0x20
mov dword [rbp + 0x940], eax
mov byte [rbp + 0x95a], 5
call fcn.140007230
movabs r10, 0xfab916f870535070
mov rax, qword [0x1400aa070]
lea rcx, [rbp + 0x940]
call qword [0x140073fd0]
test rax, rax
jne 0x140023140
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140023147
mov r12d, 0x80004005
jmp 0x140023147
mov qword [rbp + 0x688], rax
movabs r10, 0xb7b1b729165e9270
mov rax, qword [0x1400aa1b0]
mov rdx, r13
xor ecx, ecx
call qword [0x140073fd0]
test r12d, r12d
js 0x140023997
mov edi, dword [rbp - 8]
mov r13d, r14d
mov ecx, edi
mov edx, r14d
sub ecx, 1
je 0x140023186
sub ecx, 1
je 0x1400231be
cmp ecx, 1
jne 0x140023193
mov r13d, dword [rbp + 0x708]
mov edx, dword [rbp + 0x70c]
mov dword [rbp + 0x6f8], r13d
mov dword [rbp + 0x6fc], edx
mov ecx, 1
cmp edi, ecx
je 0x1400231ea
lea eax, [rdi - 2]
cmp eax, ecx
ja 0x1400231d5
mov ecx, r14d
mov dword [rbp - 0x58], r14d
mov dword [rsp + 0x74], r14d
jmp 0x1400231f7
mov eax, dword [rbp + 0x708]
cdq
and edx, 3
lea r13d, [rdx + rax]
mov edx, r14d
sar r13d, 2
jmp 0x140023193
mov eax, dword [rbp - 0x20]
mov ecx, dword [rbp - 0x20]
mov dword [rsp + 0x74], eax
mov eax, dword [rbp - 0x20]
mov dword [rbp - 0x58], eax
mov eax, dword [rbp - 0x20]
jmp 0x1400231fa
mov ecx, reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rsp + 0x74], 0x20
mov eax, r14d
mov dword [rbp - 0x28], ecx
mov dword [rsp + 0x70], eax
mov rdi, qword [rbp + 0x668]
sub r13d, ecx
sub r13d, eax
mov r12d, r14d
mov dword [rbp + 0x6b4], r13d
mov dword [rbp + 0x6a4], r13d
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp + 0x680]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
mov qword [rsp + 0x68], rax
movabs r10, 0xfa2817df7ad26370
mov rax, qword [0x1400aa128]
lea r9, [rbp + 0x69c]
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 [0x140073fd0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400232b1
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
test r12d, r12d
js 0x140023997
mov rdi, qword [rbp + 0x670]
mov r12d, r14d
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp + 0x688]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
mov qword [rsp + 0x68], rax
movabs r10, 0xfa2817df7ad26370
mov rax, qword [0x1400aa128]
lea r9, [rbp + 0x6ac]
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 [0x140073fd0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140023356
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
test r12d, r12d
js 0x140023997
mov r12d, dword [rbp - 8]
mov edx, 1
mov ecx, dword [rbp + 0x6a4]
lea eax, [r12 - 2]
cmp eax, edx
ja 0x140023385
mov r13d, dword [rbp + 0x6b4]
cmp ecx, r13d
cmovg r13d, ecx
cmp dword [rbp + 0x660], r14d
je 0x1400233f1
mov edi, dword [rsp + 0x70]
mov edx, edi
sub edx, ecx
add edx, r13d
movabs r10, 0xef788e6016d10870
mov r8d, dword [rbp - 0x58]
lea rcx, [rbp + 0x69c]
mov rax, qword [0x1400aa1a0]
call qword [0x140073fd0]
sub edi, dword [rbp + 0x6b4]
mov r8d, dword [rbp + 0x6a8]
add r8d, dword [rsp + 0x74]
lea edx, [rdi + r13]
movabs r10, 0xef788e6016d10870
mov rax, qword [0x1400aa1a0]
lea rcx, [rbp + 0x6ac]
call qword [0x140073fd0]
jmp 0x140023443
movabs r10, 0xef788e6016d10870
mov r8d, dword [rbp - 0x58]
lea rcx, [rbp + 0x69c]
mov edx, dword [rbp - 0x28]
mov rax, qword [0x1400aa1a0]
call qword [0x140073fd0]
mov r8d, dword [rbp + 0x6a8]
add r8d, dword [rsp + 0x74]
movabs r10, 0xef788e6016d10870
mov edx, dword [rbp - 0x28]
lea rcx, [rbp + 0x6ac]
mov rax, qword [0x1400aa1a0]
call qword [0x140073fd0]
lea eax, [r12 - 2]
mov edx, 1
cmp eax, edx
jbe 0x140023752
cmp r12d, edx
jne 0x14002376f
xor edx, edx
mov dword [rbp + 0x698], 0xffffff
lea rcx, [rbp + 0x9a0]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r12d, r14d
movabs r10, 0x9b61a6a01ad19370
mov rax, qword [0x1400aa148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x140073fd0]
mov rdi, rax
test rax, rax
je 0x140022f66
movabs r10, 0xb354a64f56d8b370
mov edx, dword [rsp + 0x78]
mov r8d, 0x48
mov rax, qword [0x1400aa108]
lea ecx, [r8 - 0x3d]
call qword [0x140073fd0]
mov r8, qword [rbp - 0x78]
lea rcx, [rbp + 0x9bc]
neg eax
mov dword [rbp + 0x9b0], 0x190
mov edx, 0x20
mov dword [rbp + 0x9a0], eax
mov byte [rbp + 0x9ba], 5
call fcn.140007230
movabs r10, 0xfab916f870535070
mov rax, qword [0x1400aa070]
lea rcx, [rbp + 0x9a0]
call qword [0x140073fd0]
test rax, rax
jne 0x14002354a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140023551
mov r12d, 0x80004005
jmp 0x140023551
mov qword [rbp + 0x690], rax
movabs r10, 0xb7b1b729165e9270
mov rax, qword [0x1400aa1b0]
mov rdx, rdi
xor ecx, ecx
call qword [0x140073fd0]
test r12d, r12d
js 0x140023997
mov rdi, qword [rbp + 0x678]
mov r12d, r14d
mov dword [rbp + 0x6c4], r13d
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp + 0x690]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
mov r13, rax
movabs r10, 0xfa2817df7ad26370
mov rax, qword [0x1400aa128]
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], 0x460
call qword [0x140073fd0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
test r13, r13
je 0x140023612
movabs r10, 0xe62ca6fe305b8a70
mov rax, qword [0x1400aa0c8]
mov rdx, r13
mov rcx, rdi
call qword [0x140073fd0]
test r12d, r12d
js 0x140023997
mov eax, dword [rbp + 0x6c4]
mov ecx, 0x5a
add eax, 0x18
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x6c4], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x6c8], eax
movabs r10, 0xb354a64f56d8b370
mov edi, dword [rsp + 0x78]
lea r12d, [rcx + 6]
mov ecx, dword [rbp + 0x6bc]
mov r8d, r12d
mov rax, qword [0x1400aa108]
mov edx, edi
call qword [0x140073fd0]
mov dword [rbp + 0x6bc], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp + 0x6c0]
mov r8d, r12d
mov rax, qword [0x1400aa108]
mov edx, edi
call qword [0x140073fd0]
mov dword [rbp + 0x6c0], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp + 0x6c4]
mov r8d, r12d
mov rax, qword [0x1400aa108]
mov edx, edi
call qword [0x140073fd0]
mov dword [rbp + 0x6c4], eax
movabs r10, 0xb354a64f56d8b370
mov ecx, dword [rbp + 0x6c8]
mov r8d, r12d
mov rax, qword [0x1400aa108]
mov edx, edi
call qword [0x140073fd0]
mov r8d, dword [rbp + 0x6b8]
add r8d, 0x24
mov dword [rbp + 0x6c8], eax
cmp dword [rbp + 0x660], r14d
je 0x140023731
mov edx, dword [rbp + 0x69c]
cmp edx, dword [rbp + 0x6ac]
cmovge edx, dword [rbp + 0x6ac]
movabs r10, 0xef788e6016d10870
mov rax, qword [0x1400aa1a0]
lea rcx, [rbp + 0x6bc]
call qword [0x140073fd0]
mov edx, 1
jmp 0x14002376f
mov edx, dword [rbp + 0x6a4]
cmp edx, dword [rbp + 0x6b4]
cmovle edx, dword [rbp + 0x6b4]
sub edx, dword [rbp + 0x6c4]
add edx, dword [rbp + 0x6bc]
jmp 0x14002370c
mov eax, dword [rbp + 0x6b8]
mov dword [rbp + 0x6fc], eax
mov dword [rbp + 0x6f8], r13d
mov dword [rbp + 0x698], 0xffa8a8a8
mov ecx, dword [rbp - 8]
mov r13d, dword [rbp + 0x660]
mov r12d, dword [rbp + 0x6fc]
mov edi, dword [rbp + 0x6f8]
sub ecx, 1
je 0x14002398c
sub ecx, 1
je 0x140023879
cmp ecx, 1
jne 0x140023994
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x7c8], xmm0
mov qword [rbp + 0x7e8], rax
movups xmmword [rbp + 0x7d8], xmm0
movabs r10, 0x95359f2d7edc9a70
mov rax, qword [0x1400aa198]
xor ecx, ecx
call qword [0x140073fd0]
mov dword [rbp + 0x7c8], SafeArrayCreateVectorEx
movabs r10, 0x93fc1ebd305e9370
mov rcx, rax
lea rdx, [rbp + 0x7c8]
mov rax, qword [0x1400aa158]
call qword [0x140073fd0]
test eax, eax
je 0x140023994
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x1400aa190]
lea rdx, [rbp + 0x7dc]
xor ecx, ecx
call qword [0x140073fd0]
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x1400aa190]
lea rdx, [rbp + 0x7e4]
xor ecx, ecx
call qword [0x140073fd0]
mov eax, dword [rbp + 0x7e4]
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 + 0x7e4]
shr rcx, 0x20
sub ecx, r12d
imul ecx, ecx, 0x32
jmp 0x14002396d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x7a0], xmm0
mov qword [rbp + 0x7c0], rax
movups xmmword [rbp + 0x7b0], xmm0
movabs r10, 0x95359f2d7edc9a70
mov rax, qword [0x1400aa198]
xor ecx, ecx
call qword [0x140073fd0]
mov dword [rbp + 0x7a0], SafeArrayCreateVectorEx
movabs r10, 0x93fc1ebd305e9370
mov rcx, rax
lea rdx, [rbp + 0x7a0]
mov rax, qword [0x1400aa158]
call qword [0x140073fd0]
test eax, eax
je 0x140023994
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x1400aa190]
lea rdx, [rbp + 0x7b4]
xor ecx, ecx
call qword [0x140073fd0]
movabs r10, 0x8ce4ae9652ddab70
mov rax, qword [0x1400aa190]
lea rdx, [rbp + 0x7bc]
xor ecx, ecx
call qword [0x140073fd0]
mov eax, dword [rbp + 0x7bc]
test r13d, r13d
je 0x140023946
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 + 0x7b4]
jmp 0x14002395c
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 + 0x7bc]
shr rax, 0x20
sub eax, r12d
imul ecx, eax, 0x5f
mov dword [rbp + 0x6f0], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x6f4], edx
jmp 0x140023994
and qword [rbp + 0x6f0], 0
mov r12d, r14d
movabs r10, 0xb7b1b729165e9270
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
mov rax, qword [0x1400aa1b0]
call qword [0x140073fd0]
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x1400b166c], r13d
jne 0x1400239ba
mov eax, dword [0x1400b1668]
test eax, eax
jle 0x140023a3f
sub eax, r13d
mov dword [0x1400b1668], eax
jne 0x140023a3f
mov rax, r13
lea rdi, [0x1400b1460]
mov r13d, 4
cmp qword [rdi], r14
je 0x140023a05
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add rdi, 0x18
sub r13, rax
jne 0x1400239ec
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400b1460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x14006cdb0]
lea rcx, [0x1400aa050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, 1
mov eax, r14d
lea rcx, [rbp + 0x108]
xchg dword [0x1400b166c], eax
call fcn.140048bc4
test r12d, r12d
js 0x14002569c
mov rdi, qword [rbp + 0x6f0]
lea rcx, [rbp + 0x3c0]
xor edx, edx
mov qword [rbp + 0x150], rdi
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r12d, r13d
movabs r10, 0xea2596a652d04370
mov rcx, qword [rbp - 0x18]
mov edx, 7
mov rax, qword [0x1400aa0a0]
call qword [0x140073fd0]
test rax, rax
je 0x140023b97
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x3c0]
mov rax, qword [0x1400aa0b8]
mov edx, 0x68
call qword [0x140073fd0]
test eax, eax
je 0x140023b97
mov eax, 0x20
cmp word [rbp + 0x3d2], ax
jne 0x140023b00
cmp qword [rbp + 0x3d8], r14
je 0x140023b00
cmp dword [rbp + 0x3c4], r14d
jle 0x140023b00
cmp dword [rbp + 0x3c8], r14d
jg 0x140023b03
mov r12d, r14d
test r12d, r12d
je 0x140023b9a
mov r13d, dword [rbp - 8]
movabs r10, 0xef788e6016d10870
mov r8d, dword [rbp + 0x154]
lea rcx, [rbp + 0x69c]
mov rax, qword [0x1400aa1a0]
mov edx, edi
call qword [0x140073fd0]
movabs r10, 0xef788e6016d10870
mov r8d, dword [rbp + 0x154]
lea rcx, [rbp + 0x6ac]
mov rax, qword [0x1400aa1a0]
mov edx, edi
call qword [0x140073fd0]
mov edi, 1
cmp r13d, edi
jne 0x140023bae
mov ecx, dword [rbp + 0x664]
neg ecx
sbb ecx, ecx
not ecx
and ecx, 0xb26720
movabs r10, 0xa66c2f7d5ed6d070
mov rax, qword [0x1400aa078]
call qword [0x140073fd0]
mov qword [rbp - 0x80], rax
jmp 0x140023bae
mov r12d, r14d
mov r13d, dword [rbp - 8]
mov eax, 1
cmp r13d, eax
je 0x140023b10
mov edi, eax
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400aa0d0]
mov edx, edi
mov rdi, qword [rbp - 0x18]
mov rcx, rdi
call qword [0x140073fd0]
cmp dword [rbp + 0x660], r14d
mov ecx, 0x20812
mov dword [rbp - 0x28], eax
mov eax, 0x810
cmovne eax, ecx
mov dword [rsp + 0x70], eax
test r12d, r12d
je 0x14002477d
mov eax, dword [rbp + 0x664]
lea rcx, [rbp + 0x350]
mov rdi, qword [rbp + 0x668]
mov r12d, 0x68
mov dword [rbp - 0x58], eax
mov r8d, r12d
mov rax, qword [rbp + 0x680]
xor edx, edx
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x78], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r12d
lea rcx, [rbp + 0x270]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x68], r14
mov dword [rsp + 0x78], r14d
xorps xmm0, xmm0
mov qword [rbp + 0x810], rax
mov r13d, r14d
mov dword [rbp + 0x818], eax
movups xmmword [rbp + 0x7f0], xmm0
movups xmmword [rbp + 0x800], xmm0
movups xmmword [rbp + 0x710], xmm0
test rdi, rdi
je 0x140025679
movabs r10, 0xea2596a652d04370
mov rdi, qword [rbp - 0x18]
lea edx, [rax + 7]
mov rax, qword [0x1400aa0a0]
mov rcx, rdi
call qword [0x140073fd0]
test rax, rax
je 0x1400247d2
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x350]
mov rax, qword [0x1400aa0b8]
mov edx, r12d
call qword [0x140073fd0]
test eax, eax
je 0x140023ce4
mov rax, qword [rbp + 0x368]
mov r13d, dword [rbp + 0x358]
mov qword [rbp - 0x68], rax
mov eax, dword [rbp + 0x354]
mov dword [rsp + 0x78], eax
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400aa060]
mov rcx, rdi
call qword [0x140073fd0]
mov qword [rbp - 0x70], rax
mov rdi, rax
test rax, rax
je 0x1400247d2
mov eax, dword [rbp + 0x6a4]
xorps xmm0, xmm0
sub eax, dword [rbp + 0x69c]
mov r12d, r14d
mov dword [rbp + 0x7f4], eax
mov eax, dword [rbp + 0x6a0]
sub eax, dword [rbp + 0x6a8]
mov dword [rbp + 0x7f8], eax
mov qword [rbp + 0x158], r14
movdqu xmmword [rbp + 0x800], xmm0
mov qword [rbp + 0x810], r14
mov dword [rbp + 0x818], r14d
mov dword [rbp + 0x7f0], SafeArrayCreateVectorEx
mov dword [rbp + 0x7fc], 0x200001
movabs r10, 0xcf05a77938531370
mov rax, qword [0x1400aa068]
lea r9, [rbp + 0x158]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp + 0x7f0]
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rcx, rdi
call qword [0x140073fd0]
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x140023dd8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002418d
mov r12d, 0x80004005
jmp 0x14002418d
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x270]
mov rax, qword [0x1400aa0b8]
mov edx, 0x68
call qword [0x140073fd0]
test eax, eax
mov rcx, r14
mov eax, dword [rbp + 0x6a4]
cmovne rcx, qword [rbp + 0x288]
sub eax, dword [rbp + 0x69c]
mov dword [rbp + 0x718], eax
mov eax, dword [rbp + 0x6a8]
sub eax, dword [rbp + 0x6a0]
mov dword [rbp + 0x71c], eax
mov qword [rbp - 0x38], rcx
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp - 0x40]
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400aa0d0]
mov edx, 1
mov rcx, rdi
call qword [0x140073fd0]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
mov rdi, qword [0x1400aa138]
mov qword [rsp + 0x68], rax
movabs r10, 0xfd20bef77ed52170
mov rax, qword [0x1400aa0c0]
xor ecx, ecx
call qword [0x140073fd0]
mov r8, rax
movabs r10, 0x94f1065e3ade9370
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp + 0x710]
mov rax, rdi
call qword [0x140073fd0]
movabs r10, 0xfa2817df7ad26370
mov eax, dword [rsp + 0x70]
lea r9, [rbp + 0x710]
mov rdi, qword [rbp - 0x70]
or r8d, 0xffffffff
mov rdx, qword [rbp - 0x78]
mov rcx, rdi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400aa128]
call qword [0x140073fd0]
mov eax, 1
cmp dword [rbp - 8], eax
jne 0x140023f47
cmp dword [rbp - 0x58], r14d
je 0x140023f3e
movabs r10, 0x8b0406ad5454f070
lea ecx, [rax + 7]
mov rax, qword [0x1400aa168]
call qword [0x140073fd0]
mov dword [rbp - 0x58], eax
jmp 0x140023f4e
mov dword [rbp - 0x58], 0xffffff
jmp 0x140023f4e
mov dword [rbp - 0x58], 0xffa8a8a8
mov eax, dword [rbp + 0x69c]
mov r9d, r14d
mov ecx, dword [rbp + 0x6a0]
mov edx, eax
mov r11d, dword [rsp + 0x78]
neg edx
test eax, eax
mov r8d, ecx
mov r10d, r14d
cmovns r9d, eax
cmovns edx, r14d
mov eax, dword [rbp + 0x718]
neg r8d
test ecx, ecx
cmovns r8d, r14d
cmovns r10d, ecx
sub eax, edx
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x71c]
sub eax, r8d
sub r13d, r10d
cmp eax, r13d
cmovl r13d, eax
test r11d, r11d
jle 0x14002414b
test r13d, r13d
jle 0x14002414b
mov eax, dword [rbp + 0x718]
mov esi, 1
movsxd rdi, dword [rsp + 0x78]
imul eax, r8d
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp - 0x38]
lea rdx, [rax + rcx*4]
mov eax, edi
imul eax, r10d
mov qword [rbp - 0x78], rdx
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x68]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x718]
shl rcx, 2
mov qword [rbp - 0x38], rcx
mov rcx, rdi
mov rbx, qword [rbp - 0x38]
shl rcx, 2
mov qword [rbp + 0x18], rcx
mov ecx, r13d
mov r13d, dword [rbp - 0x58]
mov qword [rbp], rcx
mov qword [rbp - 0x68], rax
mov r10, rax
mov edi, r11d
sub r10, rdx
mov qword [rbp - 0x38], rdi
lea r9, [rdx + 2]
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14002410b
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r13b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x57]
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 - 0x56]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x38]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x38], rdi
jne 0x140024038
mov rdx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x68]
add rdx, rbx
add rax, qword [rbp + 0x18]
sub qword [rbp], rsi
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x68], rax
jne 0x140024027
mov rdi, qword [rbp - 0x70]
movabs rbx, 0xc81ecb17b1b54a58
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbp - 0x40]
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14002418d
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
movabs r10, 0xc5540fa17e509b70
mov rax, qword [0x1400aa080]
mov rcx, rdi
call qword [0x140073fd0]
test r12d, r12d
js 0x140025679
mov eax, dword [rbp + 0x664]
lea rcx, [rbp + 0x5f0]
mov rdi, qword [rbp + 0x670]
mov r12d, 0x68
mov dword [rbp - 0x58], eax
mov r8d, r12d
mov rax, qword [rbp + 0x688]
xor edx, edx
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x78], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r12d
lea rcx, [rbp + 0x580]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x68], r14
mov dword [rsp + 0x78], r14d
xorps xmm0, xmm0
mov qword [rbp + 0x840], rax
mov r13d, r14d
mov dword [rbp + 0x848], eax
movups xmmword [rbp + 0x820], xmm0
movups xmmword [rbp + 0x830], xmm0
movups xmmword [rbp + 0x770], xmm0
test rdi, rdi
je 0x140025679
movabs r10, 0xea2596a652d04370
mov rdi, qword [rbp - 0x18]
lea edx, [rax + 7]
mov rax, qword [0x1400aa0a0]
mov rcx, rdi
call qword [0x140073fd0]
test rax, rax
je 0x1400247d2
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x5f0]
mov rax, qword [0x1400aa0b8]
mov edx, r12d
call qword [0x140073fd0]
test eax, eax
je 0x1400242a2
mov rax, qword [rbp + 0x608]
mov r13d, dword [rbp + 0x5f8]
mov qword [rbp - 0x68], rax
mov eax, dword [rbp + 0x5f4]
mov dword [rsp + 0x78], eax
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400aa060]
mov rcx, rdi
call qword [0x140073fd0]
mov qword [rbp - 0x70], rax
mov rdi, rax
test rax, rax
je 0x1400247d2
mov eax, dword [rbp + 0x6b4]
xorps xmm0, xmm0
sub eax, dword [rbp + 0x6ac]
mov r12d, r14d
mov dword [rbp + 0x824], eax
mov eax, dword [rbp + 0x6b0]
sub eax, dword [rbp + 0x6b8]
mov dword [rbp + 0x828], eax
mov qword [rbp + 0x160], r14
movdqu xmmword [rbp + 0x830], xmm0
mov qword [rbp + 0x840], r14
mov dword [rbp + 0x848], r14d
mov dword [rbp + 0x820], SafeArrayCreateVectorEx
mov dword [rbp + 0x82c], 0x200001
movabs r10, 0xcf05a77938531370
mov rax, qword [0x1400aa068]
lea r9, [rbp + 0x160]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp + 0x820]
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rcx, rdi
call qword [0x140073fd0]
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x140024396
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002474e
mov r12d, 0x80004005
jmp 0x14002474e
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x580]
mov rax, qword [0x1400aa0b8]
mov edx, 0x68
call qword [0x140073fd0]
test eax, eax
mov rcx, r14
mov eax, dword [rbp + 0x6b4]
cmovne rcx, qword [rbp + 0x598]
sub eax, dword [rbp + 0x6ac]
mov dword [rbp + 0x778], eax
mov eax, dword [rbp + 0x6b8]
sub eax, dword [rbp + 0x6b0]
mov dword [rbp + 0x77c], eax
mov qword [rbp - 0x38], rcx
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp - 0x40]
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400aa0d0]
mov edx, 1
mov rcx, rdi
call qword [0x140073fd0]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
mov rdi, qword [0x1400aa138]
mov qword [rsp + 0x68], rax
movabs r10, 0xfd20bef77ed52170
mov rax, qword [0x1400aa0c0]
xor ecx, ecx
call qword [0x140073fd0]
mov r8, rax
movabs r10, 0x94f1065e3ade9370
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp + 0x770]
mov rax, rdi
call qword [0x140073fd0]
movabs r10, 0xfa2817df7ad26370
mov eax, dword [rsp + 0x70]
lea r9, [rbp + 0x770]
mov rdi, qword [rbp - 0x70]
or r8d, 0xffffffff
mov rdx, qword [rbp - 0x78]
mov rcx, rdi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400aa128]
call qword [0x140073fd0]
mov eax, 1
cmp dword [rbp - 8], eax
jne 0x140024502
cmp dword [rbp - 0x58], r14d
je 0x1400244f9
movabs r10, 0x8b0406ad5454f070
lea ecx, [rax + 7]
mov rax, qword [0x1400aa168]
call qword [0x140073fd0]
jmp 0x140024507
mov dword [rbp - 8], 0xffffff
jmp 0x14002450d
mov eax, 0xffa8a8a8
mov dword [rbp - 8], eax
mov dword [rbp - 0x10], eax
mov eax, dword [rbp + 0x6ac]
mov r9d, r14d
mov ecx, dword [rbp + 0x6b0]
mov edx, eax
mov r11d, dword [rsp + 0x78]
neg edx
test eax, eax
mov r8d, ecx
mov r10d, r14d
cmovns r9d, eax
cmovns edx, r14d
mov eax, dword [rbp + 0x778]
neg r8d
test ecx, ecx
cmovns r8d, r14d
cmovns r10d, ecx
sub eax, edx
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x77c]
sub eax, r8d
sub r13d, r10d
cmp eax, r13d
cmovl r13d, eax
test r11d, r11d
jle 0x14002470c
test r13d, r13d
jle 0x14002470c
mov eax, dword [rbp + 0x778]
mov r15d, 1
movsxd rdi, dword [rsp + 0x78]
mov esi, dword [rbp - 0x10]
imul eax, r8d
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp - 0x38]
lea rdx, [rax + rcx*4]
mov eax, edi
imul eax, r10d
mov qword [rbp - 0x78], rdx
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x68]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x778]
shl rcx, 2
mov qword [rbp - 0x38], rcx
mov rcx, rdi
mov rbx, qword [rbp - 0x38]
shl rcx, 2
mov qword [rbp + 0x18], rcx
mov ecx, r13d
mov qword [rbp], rcx
mov qword [rbp - 0x68], rax
mov r10, rax
mov edi, r11d
sub r10, rdx
mov qword [rbp - 0x38], rdi
lea r9, [rdx + 2]
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x1400246c8
movzx edi, byte [r10 + r9]
mov r13d, 0x80808081
movzx r8d, dl
mov eax, r13d
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 7]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
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 - 6]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
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, r13d
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x38]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, r15
mov qword [rbp - 0x38], rdi
jne 0x1400245f7
mov rdx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x68]
add rdx, rbx
add rax, qword [rbp + 0x18]
sub qword [rbp], r15
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x68], rax
jne 0x1400245e6
mov r15d, dword [rbp - 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov rdi, qword [rbp - 0x70]
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbp - 0x40]
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14002474e
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
movabs r10, 0xc5540fa17e509b70
mov rax, qword [0x1400aa080]
mov rcx, rdi
call qword [0x140073fd0]
test r12d, r12d
js 0x140025679
mov rdi, qword [rbp - 0x18]
mov r13, r14
jmp 0x14002560b
mov r12d, 1
cmp dword [rbp + 0x664], r14d
jne 0x140024793
mov al, 0xc0
cmp r13d, r12d
jne 0x140024795
mov al, 0xff
and word [rbp - 0x58], 0
mov byte [rbp - 0x56], al
mov byte [rbp - 0x55], r12b
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x74], r14d
mov dword [rbp - 0x30], r14d
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400aa060]
mov rcx, rdi
call qword [0x140073fd0]
mov qword [rbp + 0x50], rax
test rax, rax
jne 0x1400247e3
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140025679
cmp r13d, r12d
jne 0x14002489d
mov edx, dword [rbp + 0x6b4]
mov edi, r14d
mov r9d, dword [rbp + 0x6a4]
mov eax, edx
mov r8d, dword [rbp + 0x6ac]
mov r12d, r9d
mov r10d, dword [rbp + 0x69c]
sub eax, r8d
mov ecx, dword [rbp + 0x6b8]
sub r12d, r10d
mov r11d, dword [rbp + 0x6a0]
cmp eax, r12d
mov r13d, r14d
cmovg r12d, eax
sub ecx, r11d
mov dword [rbp + 0x48], ecx
cmp dword [rbp + 0x660], r14d
je 0x14002485b
mov ecx, r10d
mov eax, r8d
sub ecx, r9d
sub eax, edx
add ecx, r12d
add eax, r12d
mov dword [rsp + 0x78], ecx
mov edi, ecx
mov dword [rbp - 0x30], eax
mov ecx, dword [rbp + 0x48]
mov r13d, eax
mov eax, dword [rbp + 0x6a8]
sub r13d, r8d
add r13d, edx
sub edi, r10d
mov dword [rbp + 0x18], r13d
sub eax, r11d
mov r13d, dword [rbp + 0x6b0]
add edi, r9d
sub r13d, r11d
mov dword [rbp], eax
mov dword [rbp - 0x38], r13d
sub r13d, dword [rbp + 0x6b0]
add r13d, dword [rbp + 0x6b8]
mov dword [rbp - 0x40], r13d
mov r13d, dword [rbp - 8]
jmp 0x140024912
movups xmm0, xmmword [rbp + 0x69c]
mov ecx, dword [rbp + 0x6fc]
movups xmm1, xmmword [rbp + 0x6ac]
mov r12d, dword [rbp + 0x6f8]
movdqu xmmword [rbp + 0x760], xmm0
mov eax, dword [rbp + 0x76c]
mov edi, dword [rbp + 0x768]
mov dword [rbp], eax
mov eax, dword [rbp + 0x764]
mov dword [rsp + 0x74], eax
mov eax, dword [rbp + 0x760]
movdqu xmmword [rbp + 0x750], xmm1
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x75c]
mov dword [rbp - 0x40], eax
mov eax, dword [rbp + 0x758]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x754]
mov dword [rbp - 0x38], eax
mov eax, dword [rbp + 0x750]
mov dword [rbp - 0x30], eax
mov dword [rbp + 0x48], ecx
xorps xmm0, xmm0
mov qword [rbp + 0x168], r14
neg ecx
mov qword [rbp + 0x8d0], r14
movdqu xmmword [rbp + 0x8c0], xmm0
mov dword [rbp + 0x8b8], ecx
mov dword [rbp + 0x8d8], r14d
mov dword [rbp + 0x8b0], SafeArrayCreateVectorEx
mov dword [rbp + 0x8b4], r12d
mov dword [rbp + 0x8bc], 0x200001
movabs r10, 0xcf05a77938531370
mov rcx, qword [rbp + 0x50]
lea r9, [rbp + 0x168]
mov rax, qword [0x1400aa068]
lea rdx, [rbp + 0x8b0]
mov dword [rsp + 0x28], r14d
xor r8d, r8d
mov qword [rsp + 0x20], r14
call qword [0x140073fd0]
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x1400249a9
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r13, qword [rbp + 0x50]
jmp 0x14002565f
movabs r10, 0xe62ca6fe305b8a70
mov rcx, qword [rbp + 0x50]
mov rdx, rax
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
mov eax, 1
cmp r13d, eax
jne 0x140024a14
mov r8, qword [rbp - 0x80]
test r8, r8
je 0x140024a14
mov eax, dword [rbp + 0x48]
and qword [rbp + 0x740], 0
mov dword [rbp + 0x74c], eax
mov dword [rbp + 0x748], r12d
movabs r10, 0x94f1065e3ade9370
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x740]
mov rax, qword [0x1400aa138]
call qword [0x140073fd0]
mov eax, dword [rbp + 0x664]
lea rcx, [rbp + 0x510]
mov r13, qword [rbp + 0x668]
xor edx, edx
mov dword [rbp - 0x70], eax
mov rax, qword [rbp + 0x680]
mov qword [rbp + 8], rax
lea r8d, [rdx + 0x68]
mov qword [rbp + 0x38], r13
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
lea rcx, [rbp + 0x4a0]
lea r8d, [rdx + 0x68]
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 dword [rbp - 0x78], r14d
mov qword [rbp + 0x870], rax
mov dword [rbp + 0x878], eax
movups xmmword [rbp + 0x850], xmm0
movups xmmword [rbp + 0x860], xmm0
movups xmmword [rbp + 0x730], xmm0
test r13, r13
je 0x14002563b
movabs r10, 0xea2596a652d04370
mov r13, qword [rbp + 0x50]
lea edx, [rax + 7]
mov rax, qword [0x1400aa0a0]
mov rcx, r13
call qword [0x140073fd0]
test rax, rax
jne 0x140024aca
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14002563f
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x510]
mov rax, qword [0x1400aa0b8]
mov edx, 0x68
call qword [0x140073fd0]
test eax, eax
je 0x140024b11
mov rax, qword [rbp + 0x528]
mov qword [rbp + 0x20], rax
mov eax, dword [rbp + 0x514]
mov dword [rbp - 0x68], eax
mov eax, dword [rbp + 0x518]
mov dword [rbp - 0x78], eax
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400aa060]
mov rcx, r13
call qword [0x140073fd0]
mov qword [rbp - 0x50], rax
mov rcx, rax
test rax, rax
je 0x140024ab9
mov eax, dword [rsp + 0x74]
xorps xmm0, xmm0
sub eax, dword [rbp]
mov r13d, r14d
sub edi, dword [rsp + 0x78]
mov dword [rbp + 0x858], eax
mov qword [rbp + 0x180], r14
movdqu xmmword [rbp + 0x860], xmm0
mov qword [rbp + 0x870], r14
mov dword [rbp + 0x878], r14d
mov dword [rbp + 0x850], SafeArrayCreateVectorEx
mov dword [rbp + 0x854], edi
mov dword [rbp + 0x85c], 0x200001
movabs r10, 0xcf05a77938531370
mov rax, qword [0x1400aa068]
lea r9, [rbp + 0x180]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp + 0x850]
xor r8d, r8d
mov qword [rsp + 0x20], r14
call qword [0x140073fd0]
mov qword [rbp + 0x28], rax
test rax, rax
jne 0x140024bf1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x140024f90
mov r13d, 0x80004005
jmp 0x140024f90
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x4a0]
mov rax, qword [0x1400aa0b8]
mov edx, 0x68
call qword [0x140073fd0]
mov rcx, r14
mov dword [rbp + 0x738], edi
test eax, eax
mov eax, dword [rbp]
cmovne rcx, qword [rbp + 0x4b8]
sub eax, dword [rsp + 0x74]
mov dword [rbp + 0x73c], eax
mov qword [rbp + 0x10], rcx
movabs r10, 0xe62ca6fe305b8a70
mov rdi, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x28]
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400aa0d0]
mov edx, 1
mov rcx, rdi
call qword [0x140073fd0]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp + 8]
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
mov rdi, qword [0x1400aa138]
mov qword [rbp + 8], rax
movabs r10, 0xfd20bef77ed52170
mov rax, qword [0x1400aa0c0]
xor ecx, ecx
call qword [0x140073fd0]
mov r8, rax
movabs r10, 0x94f1065e3ade9370
mov rcx, qword [rbp - 0x50]
lea rdx, [rbp + 0x730]
mov rax, rdi
call qword [0x140073fd0]
movabs r10, 0xfa2817df7ad26370
mov eax, dword [rsp + 0x70]
lea r9, [rbp + 0x730]
mov rdi, qword [rbp - 0x50]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x38]
mov rcx, rdi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400aa128]
call qword [0x140073fd0]
mov eax, 1
cmp dword [rbp - 8], eax
jne 0x140024d4c
cmp dword [rbp - 0x70], r14d
je 0x140024d45
movabs r10, 0x8b0406ad5454f070
lea ecx, [rax + 7]
mov rax, qword [0x1400aa168]
call qword [0x140073fd0]
jmp 0x140024d51
mov eax, 0xffffff
jmp 0x140024d51
mov eax, 0xffa8a8a8
mov ecx, dword [rbp - 0x68]
mov r10d, r14d
mov edx, dword [rbp - 0x78]
mov r11d, r14d
mov dword [rbp - 0x70], eax
mov eax, dword [rsp + 0x78]
mov r8d, eax
neg r8d
test eax, eax
cmovns r10d, eax
cmovns r8d, r14d
mov eax, dword [rsp + 0x74]
mov r9d, eax
neg r9d
test eax, eax
cmovns r11d, eax
cmovns r9d, r14d
mov eax, dword [rbp + 0x738]
sub ecx, r10d
sub eax, r8d
cmp eax, ecx
cmovl ecx, eax
mov eax, dword [rbp + 0x73c]
sub eax, r9d
mov dword [rbp], ecx
sub edx, r11d
cmp eax, edx
cmovl edx, eax
test ecx, ecx
jle 0x140024f4f
test edx, edx
jle 0x140024f4f
mov eax, dword [rbp + 0x738]
mov ebx, dword [rbp]
mov esi, dword [rbp - 0x70]
imul eax, r9d
movsxd rcx, eax
movsxd rax, r8d
movsxd r8, dword [rbp - 0x68]
add rcx, rax
mov rax, qword [rbp + 0x10]
lea rdi, [rax + rcx*4]
mov eax, r8d
imul eax, r11d
mov qword [rbp + 0x10], rdi
movsxd rcx, eax
movsxd rax, r10d
add rcx, rax
mov rax, qword [rbp + 0x20]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x738]
shl rcx, 2
mov qword [rbp + 0x38], rcx
mov rcx, r8
shl rcx, 2
mov qword [rbp - 0x78], rcx
mov ecx, edx
mov qword [rbp - 0x68], rcx
mov qword [rbp + 0x20], rax
mov r10, rax
mov qword [rbp], rbx
sub r10, rdi
lea r9, [rdi + 2]
mov rdi, rbx
mov r15d, 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 0x140024f0a
movzx edi, byte [r10 + r9]
mov r11d, 0x80808081
movzx r8d, dl
mov eax, r11d
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x6f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
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 - 0x6e]
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
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, r15
mov qword [rbp], rdi
jne 0x140024e39
mov rdi, qword [rbp + 0x10]
mov rax, qword [rbp + 0x20]
add rdi, qword [rbp + 0x38]
add rax, qword [rbp - 0x78]
sub qword [rbp - 0x68], r15
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x20], rax
jne 0x140024e22
mov r15d, dword [rbp - 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov rdi, qword [rbp - 0x50]
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbp + 0x28]
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
mov rax, qword [rbp + 8]
test rax, rax
je 0x140024f90
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
movabs r10, 0xc5540fa17e509b70
mov rcx, qword [rbp - 0x50]
mov rax, qword [0x1400aa080]
call qword [0x140073fd0]
test r13d, r13d
js 0x14002563b
mov eax, dword [rbp + 0x664]
lea rcx, [rbp + 0x2e0]
mov rdi, qword [rbp + 0x670]
mov r13d, 0x68
mov dword [rsp + 0x68], eax
mov r8d, r13d
mov rax, qword [rbp + 0x688]
xor edx, edx
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x28], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r13d
lea rcx, [rbp + 0x430]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp - 0x50], r14
mov dword [rbp - 0x78], r14d
xorps xmm0, xmm0
mov dword [rbp - 0x68], r14d
mov qword [rbp + 0x8a0], rax
mov dword [rbp + 0x8a8], eax
movups xmmword [rbp + 0x880], xmm0
movups xmmword [rbp + 0x890], xmm0
movups xmmword [rbp + 0x720], xmm0
test rdi, rdi
je 0x14002563b
movabs r10, 0xea2596a652d04370
mov r13, qword [rbp + 0x50]
lea edx, [rax + 7]
mov rax, qword [0x1400aa0a0]
mov rcx, r13
call qword [0x140073fd0]
test rax, rax
je 0x140024ab9
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x2e0]
mov rax, qword [0x1400aa0b8]
mov edx, 0x68
call qword [0x140073fd0]
test eax, eax
je 0x1400250a9
mov rax, qword [rbp + 0x2f8]
mov qword [rbp - 0x50], rax
mov eax, dword [rbp + 0x2e4]
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x2e8]
mov dword [rbp - 0x68], eax
movabs r10, 0xb2ed17fc1cdcd370
mov rax, qword [0x1400aa060]
mov rcx, r13
call qword [0x140073fd0]
mov qword [rbp + 0x20], rax
mov rcx, rax
test rax, rax
je 0x140024ab9
mov edi, dword [rbp + 0x18]
xorps xmm0, xmm0
mov eax, dword [rbp - 0x38]
mov r13d, r14d
sub edi, dword [rbp - 0x30]
sub eax, dword [rbp - 0x40]
mov dword [rbp + 0x884], edi
mov dword [rbp + 0x888], eax
mov qword [rbp + 0x198], r14
movdqu xmmword [rbp + 0x890], xmm0
mov qword [rbp + 0x8a0], r14
mov dword [rbp + 0x8a8], r14d
mov dword [rbp + 0x880], SafeArrayCreateVectorEx
mov dword [rbp + 0x88c], 0x200001
movabs r10, 0xcf05a77938531370
mov rax, qword [0x1400aa068]
lea r9, [rbp + 0x198]
mov dword [rsp + 0x28], r14d
lea rdx, [rbp + 0x880]
xor r8d, r8d
mov qword [rsp + 0x20], r14
call qword [0x140073fd0]
mov qword [rbp + 0x38], rax
test rax, rax
jne 0x14002518e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x140025533
mov r13d, 0x80004005
jmp 0x140025533
movabs r10, 0xeec037b63c533370
mov rcx, rax
lea r8, [rbp + 0x430]
mov rax, qword [0x1400aa0b8]
mov edx, 0x68
call qword [0x140073fd0]
mov rcx, r14
mov dword [rbp + 0x728], edi
test eax, eax
mov eax, dword [rbp - 0x40]
cmovne rcx, qword [rbp + 0x448]
sub eax, dword [rbp - 0x38]
mov dword [rbp + 0x72c], eax
mov qword [rbp + 8], rcx
movabs r10, 0xe62ca6fe305b8a70
mov rdi, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x38]
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
movabs r10, 0xc0b816137adf0070
mov rax, qword [0x1400aa0d0]
mov edx, 1
mov rcx, rdi
call qword [0x140073fd0]
movabs r10, 0xe62ca6fe305b8a70
mov rdx, qword [rbp + 0x10]
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
mov rdi, qword [0x1400aa138]
mov qword [rbp + 0x10], rax
movabs r10, 0xfd20bef77ed52170
mov rax, qword [0x1400aa0c0]
xor ecx, ecx
call qword [0x140073fd0]
mov r8, rax
movabs r10, 0x94f1065e3ade9370
mov rcx, qword [rbp + 0x20]
lea rdx, [rbp + 0x720]
mov rax, rdi
call qword [0x140073fd0]
movabs r10, 0xfa2817df7ad26370
mov eax, dword [rsp + 0x70]
lea r9, [rbp + 0x720]
mov rdi, qword [rbp + 0x20]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x28]
mov rcx, rdi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400aa128]
call qword [0x140073fd0]
mov eax, 1
cmp dword [rbp - 8], eax
jne 0x1400252ec
cmp dword [rsp + 0x68], r14d
je 0x1400252e2
movabs r10, 0x8b0406ad5454f070
lea ecx, [rax + 7]
mov rax, qword [0x1400aa168]
call qword [0x140073fd0]
jmp 0x1400252f1
mov dword [rsp + 0x68], 0xffffff
jmp 0x1400252f8
mov eax, 0xffa8a8a8
mov dword [rsp + 0x68], eax
mov dword [rbp - 0x10], eax
mov eax, dword [rbp - 0x30]
mov r9d, r14d
mov r11d, dword [rbp - 0x78]
mov r8d, eax
mov edx, dword [rbp - 0x68]
neg r8d
test eax, eax
mov r10d, r14d
cmovns r9d, eax
cmovns r8d, r14d
mov eax, dword [rbp - 0x38]
mov ecx, eax
neg ecx
test eax, eax
cmovns r10d, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x728]
sub r11d, r9d
sub eax, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x72c]
sub eax, ecx
sub edx, r10d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x1400254f2
test edx, edx
jle 0x1400254f2
mov eax, dword [rbp + 0x728]
mov r15d, 1
mov esi, dword [rbp - 0x10]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r8d
movsxd r8, dword [rbp - 0x78]
add rcx, rax
mov rax, qword [rbp + 8]
lea rdi, [rax + rcx*4]
mov eax, r8d
imul eax, r10d
mov qword [rbp + 0x28], rdi
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x50]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x728]
shl rcx, 2
mov qword [rbp + 8], rcx
mov rcx, r8
mov rbx, qword [rbp + 8]
shl rcx, 2
mov qword [rbp - 0x78], rcx
mov ecx, edx
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x50], rax
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov edi, r11d
mov qword [rbp + 8], rdi
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x1400254ae
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x69]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x6a]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp + 8]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, r15
mov qword [rbp + 8], rdi
jne 0x1400253d9
mov rdi, qword [rbp + 0x28]
mov rax, qword [rbp - 0x50]
add rdi, rbx
add rax, qword [rbp - 0x78]
sub qword [rbp - 0x68], r15
mov qword [rbp + 0x28], rdi
mov qword [rbp - 0x50], rax
jne 0x1400253c8
mov r15d, dword [rbp - 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov rdi, qword [rbp + 0x20]
movabs r10, 0xb2e10636105e9a70
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140025533
movabs r10, 0xe62ca6fe305b8a70
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400aa0c8]
call qword [0x140073fd0]
movabs r10, 0xc5540fa17e509b70
mov rcx, qword [rbp + 0x20]
mov rax, qword [0x1400aa080]
call qword [0x140073fd0]
test r13d, r13d
js 0x14002563b
mov eax, 1
cmp dword [rbp - 8], eax
jne 0x1400255b3
movabs r10, 0xa3080f0c3650fa70
mov eax, dword [rbp + 0x48]
mov r9d, r12d
mov r13, qword [rbp + 0x50]
mov rdi, qword [rbp - 0x18]
mov r8d, dword [rbp + 0x6a0]
mov rcx, rdi
mov edx, dword [rbp + 0x69c]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400aa050]
call qword [0x140073fd0]
jmp 0x14002560b
movabs r10, 0xf658a6f3125f5170
mov eax, dword [rbp + 0x48]
mov r9d, r12d
mov ecx, dword [rbp - 0x58]
mov r13, qword [rbp + 0x50]
mov rdi, qword [rbp - 0x18]
mov r8d, dword [rbp + 0x6f4]
mov edx, dword [rbp + 0x6f0]
mov dword [rsp + 0x50], ecx
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400aa090]
call qword [0x140073fd0]
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x48], rax
movabs r10, 0xc0b816137adf0070
mov edx, dword [rbp - 0x28]
mov rcx, rdi
mov rax, qword [0x1400aa0d0]
call qword [0x140073fd0]
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14002565a
jmp 0x140025643
mov r13, qword [rbp + 0x50]
mov rcx, qword [rbp - 0x48]
movabs r10, 0xb2e10636105e9a70
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
test r13, r13
je 0x140025679
movabs r10, 0xc5540fa17e509b70
mov rax, qword [0x1400aa080]
mov rcx, r13
call qword [0x140073fd0]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x14002569c
movabs r10, 0xb2e10636105e9a70
mov rcx, rax
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
mov rax, qword [rbp + 0x668]
or r12, 0xffffffffffffffff
test rax, rax
je 0x1400256fa
mov rcx, r12
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x1400256af
mov rdi, qword [rbp + 0x668]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x668]
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 + 0x668], r14
mov rax, qword [rbp + 0x670]
test rax, rax
je 0x140025754
mov rcx, r12
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140025709
mov rdi, qword [rbp + 0x670]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x670]
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 + 0x670], r14
mov rdi, qword [rbp + 0x678]
test rdi, rdi
je 0x1400257a7
mov rcx, r12
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140025763
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x678]
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 + 0x678], r14
mov rcx, qword [rbp + 0x680]
test rcx, rcx
je 0x1400257d1
movabs r10, 0xb2e10636105e9a70
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
mov qword [rbp + 0x680], r14
mov rcx, qword [rbp + 0x688]
test rcx, rcx
je 0x1400257fb
movabs r10, 0xb2e10636105e9a70
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
mov qword [rbp + 0x688], r14
mov rcx, qword [rbp + 0x690]
test rcx, rcx
je 0x140025825
movabs r10, 0xb2e10636105e9a70
mov rax, qword [0x1400aa088]
call qword [0x140073fd0]
mov qword [rbp + 0x690], r14
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x1400b166c], r13d
jne 0x14002582b
mov eax, dword [0x1400b1668]
test eax, eax
jle 0x1400258a3
sub eax, r13d
mov dword [0x1400b1668], eax
jne 0x1400258a3
lea rdi, [0x1400b1460]
mov r12d, 4
cmp qword [rdi], r14
je 0x14002586e
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r12, r13
jne 0x14002585a
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400b1460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x14006cdb0]
lea rcx, [0x1400aa050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
xchg dword [0x1400b166c], eax
mov eax, dword [0x1400b1450]
mov dword [rsp + 0x68], eax
movabs r10, 0xcd6cb78050552870
mov rax, qword [0x1400aa0e8]
call qword [0x140073fd0]
sub eax, dword [0x1400b1448]
xorps xmm0, xmm0
mov qword [rbp + 0x10], rax
xor eax, eax
mov qword [rbp + 0xb48], rax
movups xmmword [rbp + 0xb18], xmm0
movups xmmword [rbp + 0xb28], xmm0
movups xmmword [rbp + 0xb38], xmm0
xor eax, eax
lock cmpxchg dword [0x1400b166c], r13d
jne 0x1400258f8
mov eax, dword [0x1400b1668]
test eax, eax
jne 0x140025ed6
mov dword [rbp - 0x78], r14d
mov r12, r14
mov dword [rbp - 0x68], r14d
mov dword [rbp - 0x70], 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 + 0x28], rax
test rax, rax
je 0x140025cda
mov ecx, 0x67
mov byte [rsp + 0x60], r14b
mov ebx, r14d
lea rsi, [rax + 7]
mov r13d, r14d
lea r12, [0x14008fc62]
mov r11d, r14d
or r15d, 0xffffffff
lea r14d, [rcx - 0x66]
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r12 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
mov r8d, r9d
xor r8d, r13d
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r8d
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor r8d, edx
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r8d, edx
mov edx, r8d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
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 r13d, [r11 - 0x7f1]
xor r13d, edx
xor r13d, edi
mov eax, r13d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r13d
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 r13d, edx
mov eax, r13d
mov edi, r13d
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 r13d, edx
xor r11d, r13d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r13d
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 r13d, edx
lea eax, [r13 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r13d
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 r13d, edx
mov eax, r13d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r13d
xor r13d, r15d
rol eax, 2
mov r15d, r9d
xor edx, eax
xor edx, ebx
mov ebx, r10d
xor r11d, edx
mov byte [rsi - 4], r11b
mov byte [rsi], r13b
lea rsi, [rsi + 8]
ror r11d, 8
mov byte [rsi - 0xd], r11b
ror r13d, 8
mov byte [rsi - 9], r13b
ror r11d, 8
mov byte [rsi - 0xe], r11b
ror r13d, 8
mov byte [rsi - 0xa], r13b
ror r11d, 8
ror r13d, 8
mov byte [rsi - 0xf], r11b
mov byte [rsi - 0xb], r13b
ror r13d, 8
ror r11d, 8
sub rcx, r14
jne 0x140025978
mov cl, byte [rsp + 0x60]
xor r14d, r14d
mov r15d, dword [rbp - 0x60]
mov eax, r14d
mov rdi, qword [rbp + 0x28]
movabs rbx, 0xc81ecb17b1b54a58
mov r12d, r14d
mov edx, 0x338
lea r13d, [r14 + 1]
xor cl, byte [rax + rdi]
add rax, r13
cmp rax, rdx
jb 0x140025c9f
movzx eax, cl
cmp rax, qword [0x14008ff98]
je 0x140025d72
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 dword [rbp - 0x68], 0xc000007a
test r12, r12
je 0x140025d06
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 r13d, 1
cmp dword [rbp - 0x68], r14d
jge 0x140025ed0
lea rdi, [0x1400b1460]
lea r12d, [r13 + 3]
cmp qword [rdi], r14
je 0x140025d35
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r12, r13
jne 0x140025d21
lea rdi, [0x1400b1460]
xor edx, edx
mov rcx, rdi
lea r8d, [r12 + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x14006cdb0]
lea rcx, [0x1400aa050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140025ee6
mov byte [rdi + rdx - 1], r14b
lea r13, [0x1400b1460]
xor edx, edx
mov rcx, r13
mov r12, rdi
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [rdi], r14b
je 0x140025ce6
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x140025d9f
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x70]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
xor ecx, ecx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x140025cda
mov rax, qword [r13]
mov edx, 0x5a4d
mov ecx, r14d
mov dword [rbp - 0x68], ecx
cmp word [rax], dx
je 0x140025df0
mov ecx, 0xc000007b
mov dword [rbp - 0x68], ecx
jmp 0x140025e41
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x140025de6
add rdx, qword [r13]
cmp rdx, qword [r13]
jb 0x140025de6
cmp dword [rdx], 0x4550
jne 0x140025de6
movzx eax, word [rdx + 0x18]
mov r8d, 0x10b
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
je 0x140025e2f
mov ecx, 0xc000000d
jmp 0x140025deb
mov rax, qword [rdx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [rdi + 2]
mov edx, r14d
add rdi, 6
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x38], edx
test eax, eax
je 0x140025eb3
mov r8, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x140025e5c
inc rdi
add rdi, rax
test ecx, ecx
js 0x140025e9f
mov rcx, qword [r13]
mov rdx, r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140025ce1
mov ecx, dword [rbp - 0x78]
lea rdx, [0x1400aa050]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x68]
mov edx, dword [rbp - 0x38]
mov eax, 1
add dword [rbp - 0x78], eax
add edx, eax
mov dword [rbp - 0x38], edx
cmp edx, dword [rbp - 0x40]
jb 0x140025e55
jmp 0x140025eb8
mov eax, 1
add dword [rbp - 0x70], eax
lea r13, [0x1400b1460]
cmp byte [rdi], r14b
jne 0x140025d98
jmp 0x140025ce1
mov eax, dword [0x1400b1668]
add eax, r13d
lea rdi, [0x1400b1460]
mov dword [0x1400b1668], eax
mov rcx, qword [rbp + 0x10]
mov eax, r14d
xchg dword [0x1400b166c], eax
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0xb48], eax
mov dword [rbp + 0xb18], ecx
mov dword [rbp + 0xb10], r13d
mov dword [rbp + 0xb28], 0x9966f291
mov dword [rbp + 0xb20], r13d
mov dword [rbp + 0xb38], r13d
mov dword [rbp + 0xb30], r13d
mov dword [rbp + 0xb40], r13d
movabs r10, 0xc9cc1e45325ad070
mov rax, qword [0x1400aa120]
lea r9, [rbp + 0xb10]
mov r12d, 4
mov edx, 0x2021
mov r8d, r12d
xor ecx, ecx
call qword [0x140073fd0]
xor eax, eax
lock cmpxchg dword [0x1400b166c], r13d
jne 0x140025f5e
mov eax, dword [0x1400b1668]
test eax, eax
jle 0x140025fc9
sub eax, r13d
mov dword [0x1400b1668], eax
jne 0x140025fc9
cmp qword [rdi], r14
je 0x140025f94
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r12, r13
jne 0x140025f80
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400b1460]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x14006cdb0]
lea rcx, [0x1400aa050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
xchg dword [0x1400b166c], eax
movabs r10, 0xb7b1b729165e9270
mov rdx, qword [rbp - 0x18]
xor ecx, ecx
mov rax, qword [0x1400aa1b0]
call qword [0x140073fd0]
lea rcx, [rbp + 0xf0]
call fcn.14001e350
xorps xmm0, xmm0
mov qword [rbp + 0x1f8], r14
movups xmmword [rbp + 0x200], xmm0
mov r13, r14
mov r12, r14
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]
mov rdi, rax
test rax, rax
je 0x140026e0a
lea rax, [0x140000000]
mov qword [rbp + 0x10], rdi
lea rcx, [rax + 0xb0410]
mov r13, rdi
movups xmm0, xmmword [rcx]
mov eax, 0x80
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdi + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdi + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdi + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdi + 0x60], xmm0
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rdi + rax - 0x10], xmm1
movups xmm0, xmmword [rcx + rax]
movups xmmword [rdi + rax], xmm0
movups xmm1, xmmword [rcx + rax + 0x10]
movups xmmword [rdi + rax + 0x10], xmm1
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]
mov r12, rax
test rax, rax
je 0x140027ffb
mov rcx, qword [0x1400b0350]
mov qword [rax], rcx
mov qword [rbp + 0x28], rax
rdtsc
shl rdx, 0x20
or rax, rdx
mov r13, rax
mov dword [rbp + 0x1f4], 0xc4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov r8d, 0xc4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdx, rax
test rax, rax
je 0x140028003
mov qword [rbp + 0x1f8], rax
mov dword [rbp + 0x1f0], r14d
lea r8, [rax + 4]
cmp r8, rax
jb 0x140028003
mov ecx, dword [rbp + 0x1f4]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x140028003
mov dword [rdx], 4
mov dword [r8], 4
mov ecx, dword [rbp + 0x1f0]
inc ecx
mov dword [rbp + 0x1f0], ecx
cmp qword [rbp + 0x1f8], r14
jne 0x1400261b6
mov eax, dword [rbp + 0x1f4]
lea edi, [rax + 0xa4]
cmp edi, eax
jb 0x140026e06
mov r9d, SafeArrayGetDim
mov dword [rbp + 0x1f4], edi
inc ecx
lea r10d, [r9 - 0xb]
jmp 0x140026296
mov r8, qword [rbp + 0x1f8]
mov edx, r14d
mov r9d, SafeArrayGetDim
test ecx, ecx
je 0x1400261fa
mov eax, dword [r8]
add eax, 4
cmp eax, 4
jb 0x140028003
mov r10d, eax
add r10, r8
cmp r10, r8
jb 0x140028003
mov r8, r10
mov r10d, 1
add edx, r10d
cmp edx, ecx
jb 0x1400261ca
jmp 0x140026200
mov r10d, 1
lea rdx, [r8 + 4]
cmp rdx, r8
jb 0x140028003
mov ecx, dword [rbp + 0x1f4]
lea rax, [r8 + 0xa4]
add rcx, qword [rbp + 0x1f8]
cmp rax, rcx
ja 0x140028003
mov dword [r8], LoadRegTypeLib
mov eax, 0x80
movups xmm0, xmmword [rdi]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rdi + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rdi + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rdi + 0x60]
movups xmmword [rdx + 0x60], xmm0
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rdx + rax - 0x10], xmm1
movups xmm0, xmmword [rdi + rax]
movups xmmword [rdx + rax], xmm0
movups xmm1, xmmword [rdi + rax + 0x10]
movups xmmword [rdx + rax + 0x10], xmm1
mov ecx, dword [rbp + 0x1f0]
mov edi, dword [rbp + 0x1f4]
add ecx, r10d
mov dword [rbp + 0x1f0], ecx
cmp qword [rbp + 0x1f8], r14
jne 0x1400262b9
lea eax, [r9 + rdi]
cmp eax, edi
jb 0x140026e06
add ecx, r10d
jmp 0x14002633d
mov rdx, qword [rbp + 0x1f8]
mov r8d, r14d
test ecx, ecx
je 0x1400262ef
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140026e06
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x140026e06
add r8d, r10d
mov rdx, r9
cmp r8d, ecx
jb 0x1400262c7
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140026e06
mov ecx, edi
lea rax, [rdx + 0xc]
add rcx, qword [rbp + 0x1f8]
cmp rax, rcx
ja 0x140026e06
mov dword [rdx], 8
mov rax, qword [r12]
mov qword [r8], rax
mov ecx, dword [rbp + 0x1f0]
add ecx, r10d
mov dword [rbp + 0x1f0], ecx
cmp qword [rbp + 0x1f8], r14
jne 0x140026359
mov eax, dword [rbp + 0x1f4]
lea edi, [rax + 0xc]
cmp edi, eax
jb 0x140026e06
add ecx, r10d
mov dword [rbp + 0x1f4], edi
mov dword [rbp + 0x1f0], ecx
jmp 0x1400263cb
mov rdx, qword [rbp + 0x1f8]
mov edi, r14d
test ecx, ecx
je 0x14002638e
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140026e06
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140026e06
add edi, r10d
mov rdx, r8
cmp edi, ecx
jb 0x140026367
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140026e06
mov ecx, dword [rbp + 0x1f4]
lea rax, [rdx + 0xc]
add rcx, qword [rbp + 0x1f8]
cmp rax, rcx
ja 0x140026e06
mov dword [rdx], 8
mov qword [rdi], r13
add dword [rbp + 0x1f0], r10d
mov edi, dword [rbp + 0x1f4]
mov r13, r14
mov qword [rbp - 0x50], r14
mov dword [rsp + 0x68], r14d
mov r12, r14
mov qword [rbp + 0x20], r14
mov dword [rbp - 0x78], r14d
mov qword [rbp + 0x38], r14
mov qword [rbp + 8], r14
mov qword [rbp + 0x50], r14
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp - 0x18], rax
add edi, 8
cmp edi, 8
jb 0x140026e02
lea rax, [rdi + 7]
and eax, 0xfffffff8
mov qword [rbp - 0x48], rax
cmp eax, edi
jb 0x140026e02
mov edi, eax
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]
mov qword [rbp - 0x80], rax
mov rcx, rax
test rax, rax
je 0x140026e02
mov eax, dword [rbp + 0x1f0]
lea rdx, [rcx + 4]
mov dword [rcx], eax
cmp rdx, rcx
jb 0x1400264aa
mov eax, dword [rbp + 0x1f4]
lea r9, [rdx + 4]
mov dword [rdx], eax
cmp r9, rdx
jb 0x1400264aa
mov rdx, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x48]
mov eax, edi
mov qword [rax + rcx - 8], rdx
mov rcx, r9
mov r8d, dword [rbp + 0x1f4]
mov rdx, qword [rbp + 0x1f8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13, qword [rbp - 0x80]
mov eax, edi
mov dword [rsp + 0x68], eax
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x18], r14
jmp 0x1400264ed
mov edi, 0xc0000095
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]
or edi, 0x10000000
jl 0x140026b93
mov qword [rbp - 0x18], r14
test r14, r14
je 0x140026e02
mov eax, dword [rsp + 0x68]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140027ff1
add rax, 8
mov qword [rbp - 0x80], 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_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x38], rax
mov r9, rax
test rax, rax
je 0x140027ff1
mov r8d, dword [rsp + 0x68]
mov al, r14b
mov byte [rsp + 0x60], al
mov rcx, r14
mov edx, r8d
test r8d, r8d
je 0x140026560
mov r8d, 1
xor al, byte [rcx + r13]
add rcx, r8
cmp rcx, rdx
jb 0x140026550
mov byte [rsp + 0x60], al
mov rcx, r9
mov qword [rbp + 0x6d8], rbx
or r10d, 0xffffffff
mov qword [rbp + 0x18], rcx
mov dword [rbp - 0x68], r14d
mov r8, r13
mov dword [rbp - 0x70], r14d
mov r9d, r14d
and edx, 7
je 0x140026688
mov ecx, r14d
mov r10d, r14d
mov dword [rbp - 0x40], ecx
test edx, edx
je 0x140026666
mov esi, 0x38
lea edi, [rsi - 0x37]
movzx r11d, byte [r8]
inc r8
cmp ecx, 4
jge 0x1400265b9
lea ecx, [rsi - 0x20]
shl r11d, cl
or r9d, r11d
jmp 0x1400265c1
mov ecx, esi
shl r11d, cl
or r10d, r11d
mov ecx, dword [rbp - 0x40]
sub esi, 8
add ecx, edi
mov dword [rbp - 0x68], r10d
mov dword [rbp - 0x70], r9d
mov dword [rbp - 0x40], ecx
cmp ecx, edx
jl 0x1400265a2
mov rdi, qword [rbp + 0x18]
xor r9d, 0xb17a307a
xor r10d, 0x42f6b18d
mov qword [rbp - 0x50], r13
mov r11d, r10d
mov qword [rbp - 0x18], r14
mov ecx, r9d
mov ebx, r14d
mov eax, 1
lea r15, [rdi + 1]
mov qword [rbp - 0x40], r15
cmp ebx, 4
jge 0x140026615
rol ecx, 8
mov r15d, ecx
jmp 0x14002661c
rol r11d, 8
mov r15d, r11d
mov byte [rdi], r15b
add ebx, eax
mov r15, qword [rbp - 0x40]
mov rdi, r15
cmp ebx, edx
jl 0x140026600
mov al, byte [rsp + 0x60]
mov rcx, r15
mov r15d, dword [rbp - 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov qword [rbp + 0x18], rcx
cmp edx, 4
jbe 0x14002665f
mov ecx, 8
sub ecx, edx
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov rcx, rdi
jmp 0x140026688
mov r10d, r14d
jae 0x140026688
jmp 0x140026674
mov r9d, 0xb17a307a
mov dword [rbp - 0x70], r14d
mov dword [rbp - 0x68], r14d
mov ecx, 4
sub ecx, edx
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov rcx, qword [rbp + 0x18]
mov edx, dword [rsp + 0x68]
mov r11d, edx
shr rdx, 3
test rdx, rdx
je 0x1400269d0
movzx eax, word [rbp + 0x6da]
lea r11, [rcx + 7]
movzx r15d, word [rbp + 0x6dc]
lea r14, [r8 + 2]
mov r13d, dword [rbp - 0x68]
mov rsi, rdx
mov dword [rsp + 0x68], eax
mov eax, dword [rbp - 0x70]
movzx r12d, bx
movzx ecx, byte [r14 - 1]
movzx r8d, byte [r14 - 2]
movzx edi, byte [r14 + 2]
shl r8d, 8
or r8d, ecx
shl edi, 8
movzx ecx, byte [r14]
lea r14, [r14 + 8]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r14 - 7]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r14 - 5]
or edi, ecx
movzx ecx, byte [r14 - 4]
shl edi, 8
or edi, ecx
movzx ecx, byte [r14 - 3]
shl edi, 8
or edi, ecx
movzx ecx, word [rbp + 0x6da]
xor r10d, edi
mov edx, r10d
sub edx, r12d
xor edx, r8d
xor edx, r9d
mov r9d, edx
ror edx, 0xf
imul edx, ecx
xor r9d, dword [rbp + 0x6dc]
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, r15d
sub edx, ecx
movzx ecx, word [rbp + 0x6de]
xor r9d, edx
mov edx, r15d
xor edx, r9d
rol edx, 4
imul edx, ecx
mov ecx, r9d
rol ecx, 5
add edx, ecx
mov ecx, dword [rbp + 0x6dc]
xor r10d, edx
mov edx, ebx
xor edx, r10d
sub ecx, edx
xor r9d, ecx
movzx ecx, word [rbp + 0x6da]
mov edx, r9d
sub edx, r12d
imul edx, ecx
mov ecx, r9d
shr ecx, 6
sub edx, ecx
xor r10d, edx
movzx edx, word [rbp + 0x6de]
mov ecx, r10d
ror ecx, 0xf
xor ecx, r15d
imul ecx, r12d
xor r9d, ecx
mov ecx, r9d
not ecx
ror ecx, 3
add ecx, edx
imul ecx, r15d
xor r10d, ecx
mov ecx, r10d
sub ecx, r12d
sub ecx, dword [rbp + 0x6dc]
xor r9d, ecx
mov edx, r9d
ror edx, 0xa
movzx ecx, word [rbp + 0x6de]
xor ecx, r9d
imul ecx, dword [rsp + 0x68]
xor edx, ecx
xor r10d, edx
mov edx, r12d
xor edx, r10d
mov ecx, r10d
rol edx, 6
imul edx, r15d
ror ecx, 3
xor edx, ecx
xor r9d, edx
movzx edx, word [rbp + 0x6de]
mov ecx, r9d
ror ecx, 0xf
sub ecx, edx
imul ecx, r12d
xor r10d, ecx
xor edx, r10d
mov ecx, r10d
imul edx, r12d
shr ecx, 1
xor edx, ecx
mov ecx, r10d
xor r9d, edx
shr ecx, 0xf
mov edx, r10d
sub edx, r15d
rol edx, 3
imul edx, r12d
xor edx, ecx
movzx ecx, word [rbp + 0x6da]
xor r9d, edx
mov edx, r9d
sub edx, r15d
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, r15d
ror ecx, 0xb
xor edx, ecx
xor r9d, edx
movzx edx, word [rbp + 0x6de]
mov ecx, r9d
sub ecx, edx
sub ecx, ebx
xor r10d, ecx
movzx ecx, word [rbp + 0x6da]
xor ecx, r10d
mov edx, r10d
ror edx, 7
imul ecx, r12d
sub ecx, edx
movzx edx, word [rbp + 0x6de]
xor r9d, ecx
movzx ecx, word [rbp + 0x6da]
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, r15d
ror ecx, 4
add edx, ecx
xor r9d, edx
mov edx, r9d
sub edx, ebx
movzx ecx, word [rbp + 0x6de]
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 + 0x6dc]
rol edx, 8
imul edx, r12d
rol ecx, 2
sub edx, ecx
movzx ecx, word [rbp + 0x6da]
xor r9d, edx
mov edx, dword [rbp + 0x6dc]
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 + 0x6da]
xor edx, r10d
mov ecx, r10d
shr ecx, 8
imul edx, r15d
xor edx, ecx
mov ecx, dword [rbp + 0x6dc]
xor r9d, edx
xor ecx, ebx
xor ecx, r9d
xor r9d, eax
mov byte [r11 - 4], r9b
xor r10d, ecx
xor r10d, r13d
ror r9d, 8
mov byte [r11], r10b
mov eax, r8d
mov byte [r11 - 5], r9b
lea r11, [r11 + 8]
ror r10d, 8
mov r13d, edi
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
sub rsi, 1
jne 0x1400266c5
mov al, byte [rsp + 0x60]
xor r14d, r14d
mov r15d, dword [rbp - 0x60]
mov r12d, r14d
mov r13, qword [rbp - 0x50]
mov r11, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x38]
movzx ecx, al
mov qword [rdi + r11], rcx
mov ebx, 8
mov qword [rbp + 0x1d0], 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 rbx, rax
test rax, rax
jne 0x140026ee7
mov edi, 0xc0000017
mov rbx, qword [rbp - 0x18]
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]
test rbx, rbx
je 0x140026b01
mov rax, qword [rbx + 8]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140026a7d
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 qword [rbx + 8], r14
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140026aaf
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 qword [rbx + 0x18], r14
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140026ae1
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 qword [rbx + 0x28], r14
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]
or edi, 0x10000000
jl 0x140026b93
mov eax, dword [r12]
mov edi, dword [r12 + 0x20]
add eax, 4
mov edx, dword [r12 + 0x10]
mov dword [rsp + 0x68], edi
mov dword [rbp - 0x68], edx
mov dword [rbp - 0x70], eax
cmp eax, 4
jb 0x140027fe7
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140027fe7
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140027fe7
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140027fe7
lea eax, [rcx + rdi]
cmp eax, ecx
jb 0x140027fe7
mov edi, eax
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]
mov rbx, rax
test rax, rax
jne 0x1400270f0
mov edi, 0xd0000017
test r13, r13
je 0x140026bb8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12, r12
je 0x140026c6e
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x140026bf0
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 [r12 + 8], r14
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x140026c1f
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 [r12 + 0x18], r14
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x140026c4e
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 [r12 + 0x28], r14
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 rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x140026c97
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 rbx, qword [rbp + 0x38]
test rbx, rbx
je 0x140026cc0
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 rbx, qword [rbp + 8]
test rbx, rbx
je 0x140026d74
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x140026cfa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 8], r14
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x140026d27
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 0x18], r14
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x140026d54
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 0x28], r14
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 rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x140026d9d
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 edi, edi
js 0x140026e02
mov ebx, dword [rbp + 0x200]
mov r8d, 1
cmp ebx, r8d
jb 0x140026e02
mov rdi, qword [rbp + 0x208]
test rdi, rdi
je 0x140026e02
test ebx, ebx
je 0x140026e02
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x140026e02
cmp dword [rdi], r14d
mov rax, r14
cmovne rax, rcx
cmp dword [rdi], 4
jne 0x140026e02
cmp dword [rax], r14d
jl 0x140026e02
cmp ebx, r8d
jbe 0x140026e02
mov edx, r14d
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x140026e02
mov edi, dword [rdi]
add rdi, rcx
cmp rdi, rcx
jb 0x140026e02
add edx, r8d
cmp edx, r8d
jb 0x140026de7
mov r12, qword [rbp + 0x28]
mov r13, qword [rbp + 0x10]
and qword [rbp + 0x1f0], 0
mov rdi, qword [rbp + 0x1f8]
test rdi, rdi
je 0x140026e45
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 + 0x1f8], r14
and qword [rbp + 0x200], 0
mov rdi, qword [rbp + 0x208]
test rdi, rdi
je 0x140026e80
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 + 0x208], r14
test r13, r13
je 0x140026ea5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12, r12
je 0x140026eca
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 + 0x188]
mov esi, dword [rbp + 0x58]
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x188], r14
jmp 0x14001ee03
mov eax, dword [rbp - 0x80]
mov dword [rbx], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x80]
mov edx, 8
mov r8d, r8d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x140027000
mov qword [rbx + 8], rax
mov r8, qword [rbp - 0x80]
mov rdx, rdi
mov r8d, r8d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edi, LoadRegTypeLib
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edi, 8
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x140027000
mov qword [rbx + 0x18], rax
lea edx, [rdi + 0x78]
lea rax, [0x140000000]
lea rax, [rax + 0xb0360]
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], edi
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]
mov rcx, rax
test rax, rax
jne 0x1400270d1
mov edi, 0xc0000017
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x18], rax
mov rax, qword [rbx + 8]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x14002703f
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 qword [rbx + 8], r14
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140027071
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 qword [rbx + 0x18], r14
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400270a3
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 qword [rbx + 0x28], r14
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 edi, edi
js 0x140026a1d
mov rax, qword [rbp - 0x18]
jmp 0x1400270e5
mov qword [rbx + 0x28], rcx
mov rax, qword [0x1400b0400]
mov edi, r14d
mov qword [rcx], rax
mov rax, rbx
mov r12, rax
mov rbx, r14
jmp 0x140026a21
mov eax, dword [r12]
lea rdi, [rbx + 4]
mov dword [rbx], eax
cmp rdi, rbx
jb 0x140027199
mov r8d, dword [r12]
mov rcx, rdi
mov rdx, qword [r12 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r12]
add rcx, rdi
cmp rcx, rdi
jb 0x140027199
mov eax, dword [r12 + 0x10]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x140027199
mov r8d, dword [r12 + 0x10]
mov rcx, rdi
mov rdx, qword [r12 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r12 + 0x10]
add rcx, rdi
cmp rcx, rdi
jb 0x140027199
mov eax, dword [r12 + 0x20]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x140027199
mov r8d, dword [r12 + 0x20]
mov rcx, rdi
mov rdx, qword [r12 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r12 + 0x20]
add rax, rdi
cmp rax, rdi
jb 0x140027199
mov edi, dword [rbp - 0x70]
mov eax, dword [rbp - 0x68]
add edi, 4
add eax, 4
mov qword [rbp + 0x20], rbx
add eax, edi
add eax, dword [rsp + 0x68]
mov dword [rbp - 0x78], eax
jmp 0x1400271ca
mov edi, 0xc0000095
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]
or edi, 0x10000000
jl 0x140026b93
cmp qword [rbp + 0x1f8], r14
jne 0x1400271dd
mov edi, 0xc000000d
jmp 0x140026b93
mov ebx, 1
cmp dword [rbp + 0x1f0], ebx
jbe 0x1400271d3
mov rcx, qword [rbp + 0x1f8]
mov edi, r14d
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x140027fdd
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x140027fdd
add edi, ebx
cmp edi, ebx
jb 0x1400271f4
mov r11d, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140027fdd
cmp dword [rbp + 0x1f0], 2
jbe 0x1400271d3
mov rcx, qword [rbp + 0x1f8]
mov edi, r14d
mov r10, qword [rbp + 0x20]
lea rdx, [rcx + 4]
cmp rdx, rcx
jb 0x140027fdd
mov ecx, dword [rcx]
add rcx, rdx
cmp rcx, rdx
jb 0x140027fdd
add edi, ebx
cmp edi, 2
jb 0x140027238
mov edx, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140027fdd
lea eax, [r11 + 0x30]
cmp eax, 0x30
jb 0x140027fdd
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140027fdd
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140027fdd
cmp eax, 0x400000
jbe 0x1400272a1
mov edi, 0x8000ffff
jmp 0x140026b93
mov edi, eax
mov qword [rbp - 0x80], rdi
mov rbx, r10
mov qword [rbp + 0x20], rbx
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 0x1400272e0
mov edi, 0xd0000017
jmp 0x14002737e
mov rdx, rax
mov qword [rbp + 0x38], rax
test rbx, rbx
jne 0x1400272fa
mov edi, 0x80070057
mov qword [rbp + 0x38], rdx
jmp 0x14002737e
mov eax, dword [rbp - 0x78]
lea r8, [rbp + 0x1d8]
mov qword [rbp + 0x258], rdx
mov ecx, 1
lea rdx, [0x140086550]
mov qword [rbp + 0x250], rbx
mov dword [rbp + 0x260], eax
mov dword [rbp + 0x264], edi
mov dword [rbp + 0x268], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x140027387
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r8, qword [rbp - 0x80]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, 0x80004005
test edi, edi
cmovns edi, eax
cmp edi, 0xd0000023
jne 0x1400273df
mov edi, 0x8007007a
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x20], rbx
jmp 0x140026b93
mov rcx, qword [rbp + 0x1d8]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140027341
movabs r10, 0x86712ea7345e2b70
xor r9d, r9d
lea rdx, [rbp + 0x250]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x140073fd0]
mov r8, qword [rbp - 0x80]
mov edi, eax
or edi, 0x10000000
jl 0x140027369
mov r8d, dword [rbp + 0x264]
jmp 0x1400273e7
test edi, edi
js 0x140026b93
cmp r8d, 4
jae 0x1400273f4
mov edi, 0xd000003e
jmp 0x140027376
mov rdx, qword [rbp + 0x38]
mov r9d, dword [rdx]
lea rcx, [rdx + 4]
mov dword [rsp + 0x68], r9d
mov qword [rbp - 0x50], rcx
cmp rcx, rdx
jb 0x140027fd3
lea eax, [r8 - 4]
cmp eax, r9d
jae 0x140027424
mov edi, 0xd000003e
jmp 0x1400272f1
lea r11, [rcx + r9]
mov qword [rbp + 0x20], r9
mov qword [rbp - 0x18], r11
cmp r11, rcx
jb 0x140027fd3
lea r10d, [r9 + 4]
cmp r10d, 4
jb 0x140027fd3
mov eax, r8d
sub eax, r10d
cmp eax, 4
jb 0x14002741a
mov ecx, dword [r11]
lea rdi, [r11 + 4]
mov dword [rbp - 0x78], ecx
cmp rdi, r11
jb 0x140027fd3
lea r11d, [r10 + 4]
cmp r11d, r10d
jb 0x140027fd3
mov eax, r8d
sub eax, r11d
cmp eax, ecx
jb 0x14002741a
lea r10, [rdi + rcx]
mov qword [rbp - 0x48], r10
cmp r10, rdi
jb 0x140027fd3
lea r10d, [r11 + rcx]
cmp r10d, r11d
jb 0x140027fd3
mov eax, r8d
sub eax, r10d
cmp eax, 4
jb 0x14002741a
mov rax, qword [rbp - 0x48]
mov edi, dword [rax]
lea rsi, [rax + 4]
mov qword [rbp - 0x48], rsi
cmp rsi, rax
movabs rsi, 0x7f1137fab69605e
mov dword [rbp - 0x68], edi
jb 0x140027fd3
add r10d, 4
lea eax, [r11 + rcx]
cmp r10d, eax
jb 0x140027fd3
mov eax, r8d
sub eax, r10d
cmp eax, edi
jb 0x14002741a
lea r11d, [r10 + rdi]
cmp r11d, r10d
jb 0x140027fd3
cmp r8d, r11d
jne 0x14002741a
add ecx, r9d
mov eax, r8d
add ecx, edi
add rcx, 0xc
cmp rcx, rax
jne 0x14002741a
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 - 0x80], rax
mov rdi, rax
test rax, rax
jne 0x140027551
mov edi, 0xd0000017
jmp 0x140027376
cmp qword [rbp - 0x50], r14
je 0x1400275a0
mov eax, dword [rsp + 0x68]
mov dword [rdi], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x20]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x140027647
mov qword [rdi + 8], rax
mov r8, qword [rbp + 0x20]
mov rcx, rax
mov rdx, qword [rbp - 0x50]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x1400275a7
mov dword [rax], r14d
mov qword [rax + 8], r14
mov rax, qword [rbp - 0x18]
add rax, 4
je 0x1400275fe
mov eax, dword [rbp - 0x78]
mov dword [rdi + 0x10], 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]
test rax, rax
je 0x140027647
mov qword [rdi + 0x18], rax
mov rdx, qword [rbp - 0x18]
mov rcx, rax
mov r8, qword [rbp - 0x50]
add rdx, 4
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140027606
mov dword [rdi + 0x10], r14d
mov qword [rdi + 0x18], r14
cmp qword [rbp - 0x48], r14
je 0x14002783b
mov eax, dword [rbp - 0x68]
mov dword [rdi + 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]
test rax, rax
jne 0x140027825
mov rax, qword [rbp + 0x38]
mov edi, 0xc0000017
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x20], rbx
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x50], r13
mov rax, qword [rbp - 0x80]
mov qword [rbp + 8], r14
mov rcx, qword [rax + 8]
mov qword [rbp - 0x48], rcx
test rcx, rcx
je 0x14002769e
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]
mov rax, qword [rbp - 0x80]
mov qword [rax + 8], r14
mov rcx, qword [rax + 0x18]
mov qword [rbp - 0x48], rcx
test rcx, rcx
je 0x1400276d4
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]
mov rax, qword [rbp - 0x80]
mov qword [rax + 0x18], r14
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14002770a
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]
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 r9, qword [rbp + 0x38]
mov rcx, r13
mov qword [rbp - 0x68], r9
mov rdx, r12
mov qword [rbp - 0x78], rbx
mov rax, r14
mov dword [rsp + 0x68], edi
test edi, edi
jns 0x14002785e
mov qword [rbp + 8], r14
mov qword [rbp + 0x38], r9
mov qword [rbp + 0x20], rbx
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x50], rcx
test rax, rax
je 0x14002785e
mov rbx, qword [r14 + 8]
mov rdi, rax
test rbx, rbx
je 0x140027799
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 [r14 + 8], r14
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x1400277c6
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 0x1400277f3
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 rax, qword [rbp - 0x68]
mov edi, dword [rsp + 0x68]
mov rbx, qword [rbp - 0x78]
mov qword [rbp + 8], r14
jmp 0x14002784e
mov qword [rdi + 0x28], rax
mov r8, qword [rbp - 0x50]
mov rcx, rax
mov rdx, qword [rbp - 0x48]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140027843
mov dword [rdi + 0x20], r14d
mov qword [rdi + 0x28], r14
mov rax, qword [rbp + 0x38]
mov qword [rbp + 8], rdi
mov edi, r14d
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x18], r12
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x38], rax
or edi, 0x10000000
jl 0x140026b93
mov rdi, qword [rbp + 8]
test rdi, rdi
jne 0x14002787d
mov edi, 0xd000000d
jmp 0x140026b93
mov rax, qword [rdi + 8]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140027873
cmp dword [rdi], r14d
je 0x140027873
mov eax, dword [rdi]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0x50], rax
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_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x80], rax
mov r8, rax
test rax, rax
je 0x140027dd5
mov r11, qword [rbp + 0x50]
mov dl, r14b
mov rcx, qword [rbp - 0x48]
mov qword [rbp - 0x40], rax
mov rax, r11
and eax, 7
mov byte [rsp + 0x60], dl
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x6e8], rsi
mov qword [rbp - 0x68], rcx
mov dword [rsp + 0x68], r14d
je 0x140027d63
mov dword [rbp + 0x30], r14d
test eax, eax
je 0x140027d3c
mov rax, qword [rbp + 0x38]
mov rsi, rcx
mov r9, qword [rbp - 0x70]
movzx r10d, byte [rsi]
inc rsi
mov ecx, dword [rbp + 0x34]
cmp r14d, 4
jge 0x140027937
add ecx, 0xffffffe0
shl r10d, cl
mov ecx, dword [rsp + 0x68]
or ecx, r10d
mov dword [rsp + 0x68], ecx
jmp 0x140027942
shl r10d, cl
or dword [rbp + 0x30], r10d
mov ecx, dword [rsp + 0x68]
sub dword [rbp + 0x34], 8
inc r14d
cmp r14d, r9d
jl 0x140027914
mov r10d, dword [rbp + 0x30]
mov r9d, ecx
mov r11, qword [rbp - 0x40]
xor r9d, 0x92f65a5
xor r10d, 0x699a899c
mov qword [rbp - 0x68], rsi
xor r14d, r14d
mov qword [rbp + 8], rdi
mov qword [rbp + 0x38], rax
mov ecx, r9d
mov rax, qword [rbp - 0x70]
movabs rsi, 0x7f1137fab69605e
mov qword [rbp + 0x20], rbx
mov r8d, r10d
lea edi, [r14 + 1]
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x50], r13
mov edx, r14d
lea r15, [r11 + 1]
mov qword [rbp - 0x78], r15
cmp edx, 4
jge 0x1400279b2
rol ecx, 8
mov r15d, ecx
jmp 0x1400279b9
rol r8d, 8
mov r15d, r8d
mov byte [r11], r15b
add edx, edi
mov r15, qword [rbp - 0x78]
mov r11, r15
cmp edx, eax
jl 0x14002799d
mov dl, byte [rsp + 0x60]
mov rdi, qword [rbp + 8]
mov r8, qword [rbp - 0x80]
mov r11, qword [rbp + 0x50]
mov qword [rbp - 0x40], r15
mov r15d, dword [rbp - 0x60]
cmp eax, 4
jbe 0x140027d31
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov rcx, qword [rbp - 0x68]
mov rax, r11
shr rax, 3
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140027d6e
mov eax, dword [rbp + 0x6ec]
lea r12, [rcx + 2]
mov r14, qword [rbp - 0x40]
mov r11d, dword [rsp + 0x68]
mov rbx, qword [rbp - 0x38]
movzx r15d, word [rbp + 0x6ea]
movzx edx, ax
mov dword [rbp - 0x78], edx
mov edx, esi
mov r13d, dword [rbp - 0x78]
xor edx, eax
movzx eax, si
add r14, 7
mov dword [rbp - 0x68], edx
mov edx, dword [rbp + 0x6ec]
mov dword [rbp - 0x70], eax
movzx eax, byte [r12 - 1]
movzx r8d, byte [r12 - 2]
movzx edi, byte [r12 + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r8d, 8
or r8d, eax
movzx eax, byte [r12 - 7]
shl r8d, 8
or r8d, eax
movzx eax, byte [r12 - 5]
or edi, eax
xor r9d, r8d
movzx eax, byte [r12 - 4]
shl edi, 8
or edi, eax
movzx eax, byte [r12 - 3]
shl edi, 8
or edi, eax
mov eax, edx
xor eax, esi
xor r10d, edi
xor r10d, eax
xor r10d, r9d
mov ecx, r10d
mov eax, r10d
sub ecx, esi
rol eax, 0xa
rol ecx, 5
imul ecx, r13d
add ecx, eax
xor r9d, ecx
mov eax, r9d
rol eax, 2
lea ecx, [rdx + r9]
ror ecx, 9
imul ecx, r15d
sub ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
sub ecx, r13d
shr eax, 0xd
imul ecx, dword [rbp - 0x70]
sub ecx, eax
movzx eax, word [rbp + 0x6ee]
xor r9d, ecx
mov ecx, r15d
xor ecx, r9d
rol ecx, 6
imul ecx, eax
mov eax, r9d
rol eax, 2
sub ecx, eax
mov eax, edx
xor r10d, ecx
mov ecx, esi
xor ecx, r10d
sub eax, ecx
xor r9d, eax
mov eax, r13d
xor eax, r9d
mov ecx, r9d
ror ecx, 6
imul eax, r15d
xor ecx, eax
xor r10d, ecx
mov eax, r10d
rol eax, 2
lea ecx, [rdx + r10]
ror ecx, 0xf
imul ecx, dword [rbp - 0x70]
add ecx, eax
movzx eax, word [rbp + 0x6ee]
xor r9d, ecx
mov ecx, r9d
sub ecx, esi
ror ecx, 0xe
imul ecx, eax
mov eax, r9d
rol eax, 8
sub ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor ecx, esi
ror eax, 0xa
ror ecx, 0xc
imul ecx, r13d
xor ecx, eax
movzx eax, word [rbp + 0x6ee]
xor r9d, ecx
mov ecx, r9d
xor ecx, eax
mov eax, r9d
shr eax, 0xa
imul ecx, r15d
xor ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x6ee]
mov eax, r10d
not eax
ror eax, 5
add eax, dword [rbp - 0x70]
imul eax, ecx
xor r9d, eax
mov eax, r9d
sub eax, ecx
xor eax, esi
xor r10d, eax
xor ecx, r10d
mov eax, r10d
rol ecx, 2
imul ecx, r13d
shr eax, 2
add ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
sub ecx, edx
rol eax, 7
ror ecx, 6
imul ecx, r15d
add ecx, eax
mov eax, r13d
xor r10d, ecx
xor eax, r10d
mov ecx, r10d
imul eax, dword [rbp - 0x70]
ror ecx, 9
add ecx, eax
movzx eax, word [rbp + 0x6ee]
xor r9d, ecx
mov ecx, r15d
xor ecx, r9d
rol ecx, 5
imul ecx, eax
mov eax, r9d
rol eax, 7
add ecx, eax
mov eax, dword [rbp - 0x68]
xor r10d, ecx
xor eax, r10d
xor r9d, eax
mov eax, r9d
ror eax, 3
sub eax, r15d
imul eax, r13d
xor r10d, eax
mov ecx, r10d
mov eax, r10d
sub ecx, edx
ror eax, 6
ror ecx, 1
imul ecx, dword [rbp - 0x70]
sub ecx, eax
xor r9d, ecx
lea ecx, [rsi + r9]
rol ecx, 3
movzx eax, word [rbp + 0x6ee]
imul ecx, eax
mov eax, r9d
rol eax, 0xe
add ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xe
lea ecx, [rsi + r10]
rol ecx, 0xf
imul ecx, r13d
sub ecx, eax
xor r9d, ecx
mov ecx, dword [rbp - 0x70]
xor ecx, r9d
mov eax, r9d
imul ecx, r15d
shr eax, 3
xor ecx, eax
xor r10d, ecx
mov ecx, edx
xor ecx, r10d
mov eax, r10d
xor r10d, dword [rbp + 0x30]
rol ecx, 4
imul ecx, dword [rbp - 0x70]
rol eax, 2
mov dword [rbp + 0x30], edi
xor ecx, eax
xor ecx, r11d
mov r11d, r8d
xor r9d, ecx
mov ecx, 1
mov byte [r14 - 4], r9b
mov byte [r14], r10b
lea r14, [r14 + 8]
ror r9d, 8
mov byte [r14 - 0xd], r9b
ror r10d, 8
mov byte [r14 - 9], r10b
ror r9d, 8
mov byte [r14 - 0xe], r9b
ror r10d, 8
mov byte [r14 - 0xa], r10b
ror r9d, 8
ror r10d, 8
mov byte [r14 - 0xf], r9b
mov byte [r14 - 0xb], r10b
ror r10d, 8
ror r9d, 8
sub rbx, rcx
jne 0x140027a52
mov dl, byte [rsp + 0x60]
xor r14d, r14d
mov r15d, dword [rbp - 0x60]
mov r12, qword [rbp - 0x18]
mov r13, qword [rbp - 0x50]
mov rbx, qword [rbp + 0x20]
mov rdi, qword [rbp + 8]
mov r8, qword [rbp - 0x80]
mov r11, qword [rbp + 0x50]
jmp 0x140027d73
mov r10d, r14d
jae 0x1400279fa
jmp 0x140027d4e
mov r9d, 0x92f65a5
mov dword [rsp + 0x68], r14d
mov dword [rbp + 0x30], r14d
mov r10d, r14d
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r9d, cl
shl r9d, cl
jmp 0x1400279fa
mov r10d, r14d
mov r9d, r14d
jmp 0x1400279fe
mov ecx, 1
mov rax, r14
test r11, r11
je 0x140027d87
xor dl, byte [rax + r8]
add rax, rcx
cmp rax, r11
jb 0x140027d7b
mov rax, qword [rbp + 0x38]
mov rcx, rdi
mov r9, rax
mov qword [rbp + 0x38], rax
movzx eax, dl
mov r11, r12
mov rdx, qword [rbp + 0x50]
mov r10, rbx
mov qword [rbp + 8], rdi
mov rdi, qword [rbp - 0x48]
mov qword [rbp + 0x20], rbx
cmp rax, qword [rdx + rdi]
je 0x140027e0b
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 rdi, r14
test r14, r14
je 0x140027dfd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov edi, 0xd0000001
mov qword [rbp + 0x50], r14
jmp 0x140026b93
cmp edx, 4
jae 0x140027e1a
mov edi, 0xc000003e
jmp 0x140027fba
mov eax, dword [r8]
lea r12, [r8 + 4]
mov dword [rsp + 0x68], eax
cmp r12, r8
jb 0x140027fb2
lea eax, [rdx - 4]
cmp eax, 4
jae 0x140027e40
mov edi, 0xc000003e
jmp 0x140027fb7
mov ebx, dword [r12]
lea rdi, [r12 + 4]
mov dword [rbp - 0x78], ebx
cmp rdi, r12
jb 0x140027fb2
lea eax, [rdx - 8]
cmp eax, ebx
jb 0x140027e36
lea eax, [rbx + 8]
cmp eax, 8
jb 0x140027fb2
mov r12d, edx
lea rdx, [rbx + rdi]
mov qword [rbp - 0x50], rbx
lea rax, [r8 + r12]
cmp rax, rdx
jb 0x140027e36
mov rax, r8
sub rax, rbx
sub rax, rdi
add rax, r12
cmp rax, 8
jae 0x140027e36
mov qword [rbp + 0x50], r8
mov rax, r14
mov qword [rbp - 0x18], rax
mov ebx, r14d
mov qword [rbp + 8], rcx
mov r12, r11
mov qword [rbp + 0x38], r9
mov qword [rbp + 0x20], r10
test rdi, rdi
je 0x140027f37
mov rax, qword [rbp - 0x50]
mov rdx, rdi
add rax, rdi
mov qword [rbp + 0x50], r8
mov qword [rbp + 8], rcx
mov qword [rbp + 0x38], r9
mov qword [rbp + 0x20], r10
cmp rax, rdi
jb 0x140027f71
jbe 0x140027f2f
mov qword [rbp + 8], rcx
mov rcx, qword [rbp - 0x50]
mov qword [rbp + 0x50], r8
mov qword [rbp + 0x38], r9
mov qword [rbp + 0x20], r10
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140027f71
cmp r8, rax
ja 0x140027f25
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140027f71
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140027f71
lea rax, [rcx + rdi]
mov rdx, r8
cmp r8, rax
ja 0x140027f25
mov edi, 0xc000000d
jmp 0x140027fca
cmp rdx, rax
jne 0x140027f25
mov rax, r14
mov esi, dword [rbp - 0x78]
test esi, esi
je 0x140027f78
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x18], rax
test rax, rax
jne 0x140027f78
mov edi, 0xc0000017
jmp 0x140027fca
mov edi, 0xc0000095
jmp 0x140027fca
test rdi, rdi
je 0x140027f8f
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x208], rax
mov dword [rbp + 0x204], esi
mov dword [rbp + 0x200], ebx
mov edi, r14d
cmp dword [rsp + 0x68], ebx
je 0x140027fca
mov edi, 0xc000003e
jmp 0x140027fca
mov edi, 0xc0000095
mov r12, r11
mov qword [rbp + 0x50], r8
mov qword [rbp + 8], rcx
mov qword [rbp + 0x38], r9
mov qword [rbp + 0x20], r10
bts edi, 0x1c
jmp 0x140026b93
mov edi, 0xd0000095
jmp 0x1400272f1
mov edi, 0xc0000095
jmp 0x140026b93
mov edi, 0xd0000095
jmp 0x140026b93
mov edi, 0xd0000001
jmp 0x140026b98
mov r12, r14
jmp 0x140026e0a
mov r13, rdi
jmp 0x140026e0a
cmp r15d, 0xd00000e5
je 0x14002803f
cmp r15d, 0xc004d501
je 0x14002803f
cmp r15d, 0xd000003e
jne 0x14002802e
mov r15d, 0xc004f028
jmp 0x140028045
cmp r15d, 0x8007007a
jne 0x140028045
mov r14d, 0xc004f01e
jmp 0x140028061
mov r15d, 0xc004f027
mov r14d, r15d
jmp 0x140028061
cmp esi, 4
jne 0x140028037
mov rcx, qword [rbp + 0x178]
mov rax, qword [rbp + 0x170]
mov edx, dword [rcx]
mov dword [rax], edx
lea rcx, [rbp + 0x178]
call fcn.140048b94
mov eax, r14d
mov rcx, qword [rbp + 0xec0]
xor rcx, rsp
call fcn.140066410
mov rbx, qword [rsp + 0x1010]
add rsp, 0xfd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret