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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1100]
mov eax, 0x1200
call fcn.1400e77f0
sub rsp, rax
mov qword [rbp + 0x388], 0xfffffffffffffffe
mov qword [rsp + 0x1230], rbx
mov qword [rsp + 0x1238], rsi
mov qword [rsp + 0x1240], rdi
mov rax, qword [0x14010d0f8]
xor rax, rsp
mov qword [rbp + 0x10f0], rax
xor r14d, r14d
mov dword [rbp + 0xf0], r14d
mov qword [rbp + 0x1d0], r14
mov dword [rbp + 0x80], r14d
mov dword [rbp + 0xec], r14d
mov dword [rbp + 0xe8], r14d
mov qword [rbp + 0xc0], r14
mov dword [rbp + 0x48], r14d
lea esi, [r14 + 1]
xor eax, eax
lock cmpxchg dword [0x140114ebc], esi
jne 0x140004d48
mov r15d, 0x338
mov eax, dword [0x140114eb8]
test eax, eax
jne 0x140005324
mov dword [rbp - 0x40], r14d
mov qword [rbp + 0x168], r14
mov qword [rbp + 0x238], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, r15d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 8], rax
test rax, rax
je 0x14000528e
mov ebx, r14d
or ecx, 0xffffffff
mov r11d, r14d
mov r10d, r14d
lea r15, [rax + 7]
lea r12, [0x1400f4fa2]
mov r13d, 0x67
movzx r9d, byte [r12 - 2]
shl r9d, 8
movzx eax, byte [r12 - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12 + 1]
or r9d, eax
movzx r8d, byte [r12 + 2]
shl r8d, 8
movzx eax, byte [r12 + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [r12 + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [r12 + 5]
or r8d, eax
xor r10d, r9d
xor r11d, r8d
lea r12, [r12 + 8]
xor r11d, r10d
xor r11d, 0xac987321
lea eax, [r11 + 0x54969fa2]
rol eax, 5
mov edx, r11d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r10d, edx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
mov edx, r10d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r11d, eax
mov eax, r11d
shr eax, 0xd
imul edx, r11d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor r10d, edx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
mov edx, r10d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r11d, eax
mov edx, r11d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r10d, eax
mov edi, r10d
ror edi, 6
mov eax, r10d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r11d, edi
lea eax, [r11 + 0x7f1137f]
ror eax, 0xf
mov edx, r11d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r10d, edx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
mov edx, r10d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
mov edx, r11d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r10d, edx
mov eax, r10d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor edx, eax
xor edx, r11d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea r11d, [r10 - 0x7f1]
xor r11d, edx
xor r11d, edi
mov eax, r11d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r11d
shr eax, 2
add edx, eax
xor r10d, edx
lea eax, [r10 - 0x7f1137f]
ror eax, 6
mov edx, r10d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 9
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r10d, edi
mov edx, r10d
mov eax, r10d
xor eax, 0xab69
rol eax, 5
rol r10d, 7
imul eax, eax, 0x7f1
add r10d, eax
xor r11d, r10d
mov r10d, r11d
xor r10d, edx
xor r10d, 0xac987321
mov eax, r10d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 1
mov edx, r11d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r10d, eax
lea eax, [r10 - 0x54969fa2]
rol eax, 3
mov edx, r10d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 0xf
mov edx, r11d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r10d, eax
mov eax, r10d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r10d
shr eax, 3
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r11d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, ebx
xor r10d, edx
xor r11d, ecx
mov byte [r15 - 4], r10b
ror r10d, 8
mov byte [r15], r11b
ror r11d, 8
mov byte [r15 - 5], r10b
ror r10d, 8
mov byte [r15 - 1], r11b
ror r11d, 8
mov byte [r15 - 6], r10b
ror r10d, 8
mov byte [r15 - 2], r11b
ror r11d, 8
mov byte [r15 - 7], r10b
mov byte [r15 - 3], r11b
ror r10d, 8
ror r11d, 8
mov ebx, r9d
mov ecx, r8d
lea r15, [r15 + 8]
sub r13, rsi
jne 0x140004dc4
mov rax, r14
mov cl, r14b
mov ebx, r14d
mov rsi, qword [rbp - 8]
mov r13d, r14d
mov edx, 1
mov r15d, 0x338
xor cl, byte [rax + rsi]
add rax, rdx
cmp rax, r15
jb 0x1400050de
movzx eax, cl
cmp rax, qword [0x1400f52d8]
je 0x1400050fc
mov edi, 0xc004d501
jmp 0x14000510f
mov qword [rbp + 0x168], rsi
mov rsi, r14
mov qword [rbp + 0x238], r15
mov edi, ebx
test rsi, rsi
je 0x140005134
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test edi, edi
js 0x14000528e
mov rdi, qword [rbp + 0x168]
mov rax, qword [rbp + 0x238]
mov byte [rax + rdi - 1], r14b
xor edx, edx
lea r8d, [rdx + 0x60]
lea rsi, [0x140114600]
mov rcx, rsi
call sub.msvcrt.dll_memset
cmp byte [rdi], r14b
je 0x140005293
jmp 0x140005176
lea rsi, [0x140114600]
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14000517d
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
mov r8, rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x14000528e
mov ebx, r14d
mov rax, qword [rsi]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400051c6
mov ebx, 0xc000007b
jmp 0x140005210
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400051bf
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x1400051bf
cmp dword [rcx], 0x4550
jne 0x1400051bf
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400051ff
mov ebx, 0xc000000d
jmp 0x140005210
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov r12d, dword [rdi + 2]
add rdi, 6
mov r15d, r14d
test r12d, r12d
je 0x14000527b
mov ecx, 1
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x14000522c
inc rdi
add rdi, rax
test ebx, ebx
js 0x14000526b
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov rdx, rax
test rax, rax
je 0x140005293
mov eax, dword [rbp - 0x40]
lea r8, [0x14010c200]
mov qword [r8 + rax*8], rdx
mov ecx, 1
jmp 0x14000526e
mov eax, dword [rbp - 0x40]
add eax, ecx
mov dword [rbp - 0x40], eax
add r15d, ecx
cmp r15d, r12d
jb 0x140005225
mov esi, 1
add r13d, esi
cmp byte [rdi], r14b
jne 0x14000516f
jmp 0x140005298
mov ebx, 0xc000007a
mov esi, 1
cmp qword [rbp + 0x168], r14
je 0x1400052c5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp + 0x168]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test ebx, ebx
jns 0x14000531e
lea r15, [0x140114600]
mov rdi, r15
mov ebx, 4
cmp qword [rdi], r14
je 0x1400052ec
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub rbx, rsi
jne 0x1400052d8
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400eb6e0]
lea rcx, [0x14010c200]
call sub.msvcrt.dll_memcpy
jmp 0x14000532c
mov eax, dword [0x140114eb8]
add eax, esi
mov dword [0x140114eb8], eax
mov eax, r14d
xchg dword [0x140114ebc], eax
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x198], r14
mov esi, r14d
mov ebx, r14d
mov rax, qword gs:[0x60]
mov edi, 0x80004005
mov r13d, SafeArrayGetDim
mov r12d, 0x80070000
cmp dword [rax + 0x2c0], r14d
je 0x140005640
mov rax, qword [0x14010c310]
call qword [case.0x140066f27.0]
mov r15, rax
test rax, rax
jne 0x1400053ab
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140005643
mov ebx, edi
jmp 0x140005643
mov qword [rbp + 0xb8], r14
mov r9d, r14d
mov rdi, r14
lea rax, [rbp + 0x114]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r15
mov rax, qword [0x14010c330]
call qword [case.0x140066f27.0]
test eax, eax
jne 0x140005471
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x14000545b
cmp qword [rbp + 0xb8], r14
jne 0x140005452
mov edi, dword [rbp + 0x114]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
lea rcx, [rbp + 0xb8]
call fcn.1400259bc
test rdi, rdi
je 0x14000544b
mov qword [rbp + 0xb8], rdi
mov r9d, dword [rbp + 0x114]
jmp 0x1400053b8
mov ebx, 0x8007000e
jmp 0x14000547f
mov edi, 0x80004005
mov ebx, edi
jmp 0x14000548b
mov edi, 0x80004005
test eax, eax
je 0x140005457
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x14000548b
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x210], rax
mov edi, 0x80004005
mov qword [rbp + 0xb8], r14
lea rcx, [rbp + 0xb8]
call fcn.1400259bc
test ebx, ebx
js 0x140005643
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
nop dword [rax + rax]
mov ecx, eax
mov rax, qword [0x14010c328]
call qword [case.0x140066f27.0]
mov r15, rax
test rax, rax
je 0x140005385
mov qword [rbp + 0x98], r14
mov ebx, r14d
mov r9d, r14d
mov rdi, r14
lea rax, [rbp + 0xfc]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r15
mov rax, qword [0x14010c330]
call qword [case.0x140066f27.0]
test eax, eax
jne 0x14000558f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x140005579
cmp qword [rbp + 0x98], r14
jne 0x140005570
mov edi, dword [rbp + 0xfc]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
lea rcx, [rbp + 0x98]
call fcn.1400259bc
test rdi, rdi
je 0x140005569
mov qword [rbp + 0x98], rdi
mov r9d, dword [rbp + 0xfc]
jmp 0x1400054d6
mov ebx, 0x8007000e
jmp 0x14000559d
mov edi, 0x80004005
mov ebx, edi
jmp 0x1400055a9
mov edi, 0x80004005
test eax, eax
je 0x140005575
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x1400055a9
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x198], rax
mov edi, 0x80004005
mov qword [rbp + 0x98], r14
lea rcx, [rbp + 0x98]
call fcn.1400259bc
test ebx, ebx
js 0x140005643
mov rcx, qword [rbp + 0x210]
test rcx, rcx
je 0x140005640
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140005640
mov rcx, qword [rbp + 0x198]
test rcx, rcx
je 0x140005640
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140005640
xor eax, eax
mov dword [rbp + 0x110], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
nop dword [rax + rax]
mov rcx, rax
mov r9d, 4
lea r8, [rbp + 0x110]
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
nop dword [rax + rax]
test eax, eax
je 0x140005385
test byte [rbp + 0x110], r13b
mov eax, 1
cmove esi, eax
mov dword [rbp + 0x48], esi
lea rcx, [rbp + 0x198]
call fcn.1400259bc
lea rcx, [rbp + 0x210]
call fcn.1400259bc
mov eax, dword [rbp + 0x48]
test ebx, ebx
cmovs eax, r14d
mov dword [rbp + 0x48], eax
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
nop dword [rax + rax]
mov rdi, rax
mov qword [rbp - 0x20], rax
lea rcx, [rbp + 0xc0]
call fcn.14002598c
test rdi, rdi
jne 0x140005762
mov qword [rbp + 0xc0], r14
mov r15d, 0x8007000e
mov ebx, dword [rbp + 0xa4]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x140114ebc], r12d
jne 0x1400056b0
mov eax, dword [0x140114eb8]
test eax, eax
jle 0x140005725
sub eax, r12d
mov dword [0x140114eb8], eax
jne 0x140005725
lea r13, [0x140114600]
mov rdi, r13
mov esi, 4
cmp qword [rdi], r14
je 0x1400056f5
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub rsi, r12
jne 0x1400056e1
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400eb6e0]
lea rcx, [0x14010c200]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x140114ebc], eax
lea rcx, [rbp + 0xc0]
call fcn.14002598c
test r15d, r15d
jns 0x14000e670
cmp r15d, 0xd0000034
jne 0x14000e625
mov r15d, 0xc004f012
mov dword [rbp + 0x80], r15d
jmp 0x14000e684
mov qword [rbp + 0xc0], rdi
mov r13, r14
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x60], r14
mov dword [rbp + 0xf8], r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
mov dword [rbp + 0x58], r14d
lea rax, [0x14010d470]
mov qword [rbp + 0x2b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov edi, 8
mov r8d, LoadRegTypeLib
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r12, rax
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
lea edx, [rdi + 0x78]
mov r15d, 0xc0000017
lea r8, [0x14010d3b8]
test rax, rax
jne 0x1400057f2
mov dword [rsp + 0x60], r15d
jmp 0x14000589b
mov rax, qword [rbp + 0x2b0]
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r12 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r12 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r12 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r12 + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [r12 + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [r12 + rdx + 0x10], xmm1
mov qword [rsp + 0x70], r12
mov qword [rbp + 0x2b8], r8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r13, rax
test rax, rax
jne 0x1400059e6
mov dword [rsp + 0x60], r15d
mov r13, r12
and qword [rbp - 0x68], 0
mov rdi, qword [rbp - 0x60]
test rdi, rdi
je 0x1400058cd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp - 0x60], r14
and qword [rbp + 0x68], 0
mov rdi, qword [rbp + 0x70]
test rdi, rdi
je 0x1400058ff
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x70], r14
test r13, r13
je 0x140005924
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x14000594d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r15d, r15d
js 0x1400056a4
mov eax, dword [rbp + 0x48]
test eax, eax
je 0x14000e5f1
mov qword [rbp + 0x300], r14
mov dword [0x1401145f0], eax
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0xee0]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
nop dword [rax + rax]
test eax, eax
je 0x14000c58a
cmp eax, edi
jne 0x1400059b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
je 0x14000c58a
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x14010c2f8]
call qword [case.0x140066f27.0]
mov qword [rbp + 0x20], rax
test rax, rax
jne 0x140007fb6
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14000c58a
mov rax, qword [rbp + 0x2b8]
mov rcx, qword [rax]
mov qword [r13], rcx
mov qword [rbp - 0x30], r13
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1b0], rax
mov dword [rbp + 0xb0], SafeArrayGetDim
lea r8, [rbp + 0x1f0]
mov edx, 0x7fffffff
lea rcx, str.TabletPC_MathInputLicensing_EnableMathInput
call fcn.140025a38
test eax, eax
jns 0x140005a40
mov qword [rbp + 0x1f0], r14
mov r15d, 0xc000003e
jmp 0x140005893
mov rax, qword [rbp + 0x1f0]
inc rax
mov qword [rbp + 0x1f0], rax
add eax, eax
add eax, 4
mov r10d, 0xc0000095
cmp eax, 4
jb 0x140005a6c
mov r15d, r14d
mov dword [rbp + 0xb0], eax
jmp 0x140005a75
mov r15d, r10d
mov eax, dword [rbp + 0xb0]
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x140005898
add eax, 0xc4
or r9d, 0xffffffff
mov edx, r9d
mov ecx, 0xc4
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
mov r8d, 0x10000000
add r15d, r8d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x140007f70
lea eax, [rdx + 8]
mov ecx, r9d
cmp eax, edx
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r8d
mov dword [rsp + 0x60], r15d
cmp eax, edx
jb 0x140007f70
mov dword [rbp + 0xb0], edi
lea eax, [rcx + 8]
mov edx, r9d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r8d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x140007f70
mov dword [rbp - 0x64], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdx, rax
test rax, rax
jne 0x140005b38
mov r15d, 0xc0000017
jmp 0x140005893
mov qword [rbp - 0x60], rdx
mov dword [rbp - 0x68], r14d
mov dword [rbp + 0x1a0], r14d
lea rdi, [rax + 4]
cmp rdi, rdx
jb 0x140005baa
mov ecx, dword [rbp - 0x64]
add rcx, rdx
add rax, 8
cmp rax, rcx
jbe 0x140005b6a
mov r15d, 0xc0000023
jmp 0x140005893
mov dword [rdx], 4
mov eax, dword [rbp + 0x1a0]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x68]
inc ecx
mov dword [rbp - 0x68], ecx
cmp qword [rbp - 0x60], r14
jne 0x140005bb5
mov dword [rbp + 0x190], 0xa4
mov eax, dword [rbp - 0x64]
lea edx, [rax + 0xa4]
cmp edx, eax
jb 0x140005baa
mov dword [rbp - 0x64], edx
inc ecx
mov dword [rbp - 0x68], ecx
jmp 0x140005cae
mov r15d, 0xc0000095
jmp 0x140005893
mov rdi, qword [rbp - 0x60]
mov edx, r14d
test ecx, ecx
je 0x140005bfd
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x140005bed
mov dword [rbp + 0x190], eax
mov r8d, eax
add r8, rdi
cmp r8, rdi
jb 0x140005baa
mov rdi, r8
mov r8d, 1
add edx, r8d
cmp edx, ecx
jae 0x140005c03
jmp 0x140005bc0
mov r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
jmp 0x140005ca2
mov r8d, 1
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140005baa
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [rdi + 0xa4]
cmp rax, rcx
ja 0x140005b5f
mov dword [rdi], LoadRegTypeLib
movups xmm0, xmmword [r12]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [rdx + 0x60], xmm0
mov eax, 0x80
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [rdx + rax - 0x10], xmm1
movups xmm0, xmmword [r12 + rax]
movups xmmword [rdx + rax], xmm0
movups xmm1, xmmword [r12 + rax + 0x10]
movups xmmword [rdx + rax + 0x10], xmm1
mov ecx, dword [rbp - 0x68]
add ecx, r8d
mov dword [rbp - 0x68], ecx
test r15d, r15d
js 0x140007fac
mov edx, dword [rbp - 0x64]
cmp qword [rbp - 0x60], r14
jne 0x140005ce7
mov dword [rbp + 0x194], SafeArrayGetDim
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x140005baa
mov edx, eax
mov r12d, 1
add ecx, r12d
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x240], rax
jmp 0x140005d8a
mov rdi, qword [rbp - 0x60]
mov r8d, r14d
mov r12d, 1
test ecx, ecx
je 0x140005d26
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x140005dad
mov dword [rbp + 0x194], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x140007fa1
mov rdi, r9
add r8d, r12d
cmp r8d, ecx
jb 0x140005cf8
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140007fa1
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov ecx, edx
add rcx, qword [rbp - 0x60]
lea rax, [rdi + 0xc]
cmp rax, rcx
ja 0x140007eee
mov dword [rdi], 8
mov rax, qword [r13]
mov qword [r8], rax
mov ecx, dword [rbp - 0x68]
add ecx, r12d
mov dword [rbp - 0x68], ecx
mov edx, dword [rbp - 0x64]
mov r10d, 0xc0000095
test r15d, r15d
js 0x140007fac
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x240], rax
cmp qword [rbp - 0x60], r14
jne 0x140005dbd
mov dword [rbp + 0x1d8], SafeArrayGetDim
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x140007fa1
mov dword [rbp - 0x64], eax
add ecx, r12d
mov dword [rbp - 0x68], ecx
jmp 0x140005e3b
mov r10d, 0xc0000095
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140005d6d
mov rdi, qword [rbp - 0x60]
mov r8d, r14d
test ecx, ecx
je 0x140005df6
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x140005e69
mov dword [rbp + 0x1d8], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x140007f8c
mov rdi, r9
add r8d, r12d
cmp r8d, ecx
jb 0x140005dc8
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140007f8c
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov ecx, edx
add rcx, qword [rbp - 0x60]
lea rax, [rdi + 0xc]
cmp rax, rcx
ja 0x140007eee
mov dword [rdi], 8
mov rax, qword [rbp + 0x240]
mov qword [r8], rax
add dword [rbp - 0x68], r12d
test r15d, r15d
js 0x140007fac
lea r8, [rbp + 0x138]
mov edx, 0x7fffffff
lea rcx, str.TabletPC_MathInputLicensing_EnableMathInput
call fcn.140025a38
test eax, eax
jns 0x140005e73
mov qword [rbp + 0x138], r14
mov r15d, 0xc000003e
jmp 0x140007fa7
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140005e32
mov rax, qword [rbp + 0x138]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x140007f96
mov qword [rbp + 0x138], rcx
lea r8d, [rcx + rcx]
test r8d, r8d
je 0x140005f82
cmp qword [rbp - 0x60], r14
jne 0x140005efd
add r8d, 4
cmp r8d, 4
jb 0x140005eea
mov dword [rbp + 0x188], r8d
mov eax, dword [rbp - 0x64]
lea edi, [r8 + rax]
mov r10d, 0xc0000095
cmp edi, eax
jb 0x140005ed7
mov dword [rbp - 0x64], edi
add dword [rbp - 0x68], r12d
mov r15d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x140005f96
or edi, 0xffffffff
mov dword [rbp - 0x64], edi
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140005f96
mov r10d, 0xc0000095
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140005f93
mov rdx, qword [rbp - 0x60]
mov ecx, r14d
cmp dword [rbp - 0x68], r14d
jbe 0x140005f2d
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140005eea
mov dword [rbp + 0x188], eax
add rax, rdx
cmp rax, rdx
jb 0x140005eea
mov rdx, rax
add ecx, r12d
cmp ecx, dword [rbp - 0x68]
jb 0x140005f0a
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x140005eea
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov r10d, r8d
mov edi, dword [rbp - 0x64]
mov ecx, edi
add rcx, qword [rbp - 0x60]
lea rax, [r8 + 4]
add rax, rdx
cmp rax, rcx
jbe 0x140005f67
mov r15d, 0xc0000023
mov dword [rsp + 0x60], r15d
lea r10d, [r15 + 0x72]
jmp 0x140005f96
mov dword [rdx], r8d
mov r8, r10
lea rdx, str.TabletPC_MathInputLicensing_EnableMathInput
mov rcx, r9
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x68], r12d
jmp 0x140005f8d
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
mov r10d, 0xc0000095
mov edi, dword [rbp - 0x64]
test r15d, r15d
js 0x140007fac
mov eax, dword [rbp + 0x48]
mov dword [rbp + 0x178], eax
cmp qword [rbp - 0x60], r14
jne 0x140005fd8
mov dword [rbp + 0x184], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140007f8c
mov edi, eax
add dword [rbp - 0x68], r12d
mov dword [rbp + 0x108], 4
jmp 0x14000606a
mov rdx, qword [rbp - 0x60]
mov ecx, r14d
cmp dword [rbp - 0x68], r14d
jbe 0x140006013
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14000608d
mov dword [rbp + 0x184], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140007f8c
mov rdx, r8
add ecx, r12d
cmp ecx, dword [rbp - 0x68]
jb 0x140005fe5
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140007f8c
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov ecx, edi
add rcx, qword [rbp - 0x60]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x140007eee
mov dword [rdx], 4
mov eax, dword [rbp + 0x178]
mov dword [r8], eax
add dword [rbp - 0x68], r12d
mov edi, dword [rbp - 0x64]
test r15d, r15d
js 0x140007fac
mov dword [rbp + 0x108], 4
cmp qword [rbp - 0x60], r14
jne 0x140006097
mov dword [rbp + 0x18c], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140007f8c
mov edi, eax
mov dword [rbp - 0x64], eax
add dword [rbp - 0x68], r12d
jmp 0x140006119
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140006051
mov rdx, qword [rbp - 0x60]
mov ecx, r14d
cmp dword [rbp - 0x68], r14d
jbe 0x1400060d2
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140006197
mov dword [rbp + 0x18c], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140007f8c
mov rdx, r8
add ecx, r12d
cmp ecx, dword [rbp - 0x68]
jb 0x1400060a4
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140007f8c
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov ecx, edi
add rcx, qword [rbp - 0x60]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x140007eee
mov dword [rdx], 4
mov eax, dword [rbp + 0x108]
mov dword [r8], eax
add dword [rbp - 0x68], r12d
mov edi, dword [rbp - 0x64]
test r15d, r15d
js 0x140007fac
mov dword [rbp + 0x268], 8
mov r8, r14
mov qword [rbp + 0x20], r14
mov r12d, r14d
mov qword [rbp + 0x170], r14
mov qword [rsp + 0x78], r14
mov dword [rbp - 0x58], r14d
mov qword [rbp - 0x18], r14
mov dword [rbp + 0x38], r14d
mov r13, r14
mov qword [rbp + 0x30], r14
mov qword [rbp - 0x38], r14
mov dword [rbp + 0xac], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2c0], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
cmp eax, 8
jb 0x140006268
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x1400061a4
mov r15d, r10d
jmp 0x140006268
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140006110
mov dword [rbp + 0x100], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x1400061e5
mov r15d, 0xc0000017
mov r8, r14
jmp 0x140006268
mov eax, dword [rbp - 0x68]
mov dword [rdi], eax
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140006236
mov eax, dword [rbp - 0x64]
mov dword [rdx], eax
lea rcx, [rdx + 4]
cmp rcx, rdx
jb 0x140006236
mov r15d, r14d
mov edx, dword [rbp + 0x100]
mov rax, qword [rbp + 0x2c0]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x64]
mov rdx, qword [rbp - 0x60]
call sub.msvcrt.dll_memcpy
mov r8, rdi
mov qword [rbp + 0x20], rdi
mov rdi, r14
mov r12d, dword [rbp + 0x100]
jmp 0x14000623f
mov r8, r14
mov r15d, 0xc0000095
test rdi, rdi
je 0x140006268
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r8, qword [rbp + 0x20]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400079f5
mov qword [rbp + 0x1e0], r14
test r8, r8
jne 0x140006291
mov r15d, 0xc000000d
jmp 0x140006ab5
mov r15d, r12d
mov qword [rbp - 0x70], r15
test r12d, r12d
je 0x1400069cc
lea rdi, [r15 + 8]
mov qword [rbp + 0x28], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x1400069cc
mov dl, r14b
mov byte [rsp + 0x64], dl
mov rcx, r14
mov r8, qword [rbp + 0x20]
test r12d, r12d
je 0x1400062fe
mov edi, 1
xor dl, byte [rcx + r8]
add rcx, rdi
cmp rcx, r15
jb 0x1400062ee
mov byte [rsp + 0x64], dl
mov qword [rbp + 0x8e0], rbx
mov r12, rax
mov r10d, r14d
or r11d, 0xffffffff
mov dword [rbp - 0x40], r14d
mov dword [rbp - 0x78], r14d
mov rax, r15
and eax, 7
je 0x140006401
mov r11d, r14d
mov dword [rbp - 0x40], r14d
mov ecx, r14d
mov dword [rbp - 0x78], ecx
test eax, eax
je 0x14000637f
mov esi, 1
lea r9d, [rsi + 0x37]
movzx edi, byte [r8]
inc r8
cmp r10d, 4
jge 0x14000635a
lea ecx, [r9 - 0x20]
shl edi, cl
mov ecx, dword [rbp - 0x78]
or ecx, edi
mov dword [rbp - 0x78], ecx
jmp 0x140006365
mov ecx, r9d
shl edi, cl
or r11d, edi
mov ecx, dword [rbp - 0x78]
add r10d, esi
sub r9d, 8
cmp r10d, eax
jl 0x14000633d
mov dword [rbp - 0x40], r11d
movabs rsi, 0x7f1137fab69605e
mov r10d, ecx
xor r10d, 0xb17a307a
xor r11d, 0x42f6b18d
mov ecx, r10d
mov edi, r11d
mov r9d, r14d
test eax, eax
je 0x1400063d5
lea rsi, [r12 + 1]
mov qword [rbp - 8], rsi
cmp r9d, 4
jge 0x1400063b3
rol ecx, 8
mov esi, ecx
jmp 0x1400063b8
rol edi, 8
mov esi, edi
mov byte [r12], sil
inc r9d
mov rsi, qword [rbp - 8]
mov r12, rsi
cmp r9d, eax
jl 0x14000639d
movabs rsi, 0x7f1137fab69605e
cmp eax, 4
jbe 0x1400063ec
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
jmp 0x140006401
mov r11d, r14d
jae 0x140006401
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov rax, r15
shr rax, 3
mov qword [rbp - 8], rax
test rax, rax
je 0x140006759
movzx r14d, bx
mov eax, ebx
xor eax, dword [rbp + 0x8e4]
add r12, 7
mov qword [rbp + 0x40], r12
lea rcx, [r8 + 2]
mov r12, qword [rbp - 8]
mov esi, dword [rbp - 0x40]
mov r13d, dword [rbp - 0x78]
mov r15d, eax
movzx edx, word [rbp + 0x8e4]
movzx r9d, byte [rcx - 2]
shl r9d, 8
movzx eax, byte [rcx - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx + 1]
or r9d, eax
movzx r8d, byte [rcx + 2]
shl r8d, 8
movzx eax, byte [rcx + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [rcx + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [rcx + 5]
or r8d, eax
xor r11d, r8d
add rcx, 8
mov qword [rbp - 8], rcx
mov eax, r11d
sub eax, r14d
xor eax, dword [rbp + 0x8e4]
xor eax, r9d
xor r10d, eax
mov edi, dword [rbp + 0x8e4]
xor edi, r10d
ror edi, 0xf
mov ecx, r10d
ror ecx, 7
movzx eax, word [rbp + 0x8e2]
imul eax, edi
add ecx, eax
xor r11d, ecx
lea edi, [rbx + r11]
ror edi, 9
mov ecx, r11d
ror ecx, 0xa
mov eax, edx
imul eax, edi
sub eax, ecx
xor r10d, eax
mov edi, edx
xor edi, r10d
rol edi, 4
mov ecx, r10d
rol ecx, 5
movzx eax, word [rbp + 0x8e6]
imul eax, edi
add ecx, eax
xor r11d, ecx
mov ecx, ebx
xor ecx, r11d
mov eax, dword [rbp + 0x8e4]
sub eax, ecx
xor r10d, eax
mov ecx, r10d
sub ecx, r14d
movzx eax, word [rbp + 0x8e2]
imul ecx, eax
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, edx
imul eax, r14d
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
movzx edi, word [rbp + 0x8e6]
add eax, edi
imul eax, edx
xor r11d, eax
mov eax, r11d
sub eax, dword [rbp + 0x8e4]
sub eax, r14d
xor r10d, eax
mov ecx, r10d
ror ecx, 0xa
mov eax, edi
xor eax, r10d
movzx edi, word [rbp + 0x8e2]
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov edi, r14d
xor edi, r11d
rol edi, 6
mov ecx, r11d
ror ecx, 3
mov eax, edx
imul eax, edi
xor ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xf
movzx ecx, word [rbp + 0x8e6]
sub eax, ecx
imul eax, r14d
xor r11d, eax
xor ecx, r11d
imul ecx, r14d
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r10d, ecx
mov eax, r11d
sub eax, edx
rol eax, 3
mov ecx, r14d
imul ecx, eax
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, edx
movzx eax, word [rbp + 0x8e2]
imul ecx, eax
mov eax, r10d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov edi, ebx
sub edi, r11d
ror edi, 9
mov ecx, r11d
ror ecx, 0xb
mov eax, edx
imul eax, edi
xor ecx, eax
xor r10d, ecx
mov eax, r10d
sub eax, ebx
movzx edi, word [rbp + 0x8e6]
sub eax, edi
xor r11d, eax
mov ecx, r11d
ror ecx, 7
movzx eax, word [rbp + 0x8e2]
xor eax, r11d
imul eax, r14d
sub eax, ecx
xor r10d, eax
xor edi, r10d
rol edi, 4
mov ecx, r10d
ror ecx, 0x10
movzx eax, word [rbp + 0x8e2]
imul eax, edi
sub eax, ecx
xor r11d, eax
mov edi, ebx
sub edi, r11d
ror edi, 0xa
mov ecx, r11d
ror ecx, 4
mov eax, edx
imul eax, edi
add ecx, eax
xor r10d, ecx
mov edi, r10d
sub edi, ebx
ror edi, 4
mov ecx, r10d
ror ecx, 9
movzx eax, word [rbp + 0x8e6]
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov edi, dword [rbp + 0x8e4]
xor edi, r11d
rol edi, 8
mov ecx, r11d
rol ecx, 2
mov eax, r14d
imul eax, edi
sub eax, ecx
xor r10d, eax
mov edi, dword [rbp + 0x8e4]
sub edi, r10d
ror edi, 0xb
mov ecx, r10d
ror ecx, 0xc
movzx eax, word [rbp + 0x8e2]
imul eax, edi
sub eax, ecx
xor r11d, eax
mov ecx, r11d
movzx eax, word [rbp + 0x8e2]
xor ecx, eax
imul ecx, edx
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r10d, ecx
xor r11d, r15d
xor r11d, r10d
xor r10d, r13d
xor r11d, esi
mov rax, qword [rbp + 0x40]
mov byte [rax - 4], r10b
ror r10d, 8
mov byte [rax], r11b
ror r11d, 8
mov byte [rax - 5], r10b
ror r10d, 8
mov byte [rax - 1], r11b
ror r11d, 8
mov byte [rax - 6], r10b
ror r10d, 8
mov byte [rax - 2], r11b
ror r11d, 8
mov byte [rax - 7], r10b
mov byte [rax - 3], r11b
ror r10d, 8
ror r11d, 8
mov r13d, r9d
mov esi, r8d
add rax, 8
mov qword [rbp + 0x40], rax
sub r12, 1
mov rcx, qword [rbp - 8]
jne 0x140006442
mov dl, byte [rsp + 0x64]
movabs rsi, 0x7f1137fab69605e
xor r14d, r14d
mov r13d, r14d
mov r15, qword [rbp - 0x70]
movzx eax, dl
mov r12, qword [rbp - 0x48]
mov qword [r12 + r15], rax
mov qword [rbp + 0x1e0], r12
mov r15, qword [rbp + 0x28]
mov qword [rbp + 0x390], r15
lea rax, [0x14010d460]
mov qword [rbp + 0x398], rax
mov qword [rbp + 0x3a0], 8
lea rax, [0x14010d3c0]
mov qword [rbp + 0x3a8], rax
mov qword [rbp + 0x3b0], LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x1400067df
mov r15d, 0xc0000017
jmp 0x1400069bb
mov r15d, r15d
mov dword [rax], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, r15d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x140006818
mov r15d, 0xc0000017
jmp 0x14000690b
mov qword [rdi + 8], rax
mov r8, r15
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r15d, LoadRegTypeLib
mov dword [rdi + 0x10], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, r15d
mov r15d, 8
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x14000680d
mov qword [rdi + 0x18], rax
lea rax, [0x14010d3c0]
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
lea edx, [r15 + 0x78]
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 rcx, rax
mov r8d, r15d
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x14000680d
mov qword [rdi + 0x28], rax
mov r15d, r14d
mov rax, qword [0x14010d460]
mov qword [rcx], rax
mov r13, rdi
mov rdi, r14
test rdi, rdi
je 0x1400069bb
mov r12, qword [rdi + 8]
test r12, r12
je 0x140006941
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 0x14000696e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 0x14000699b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r15d, r15d
js 0x1400069d2
mov qword [rbp + 0x170], r13
mov r13, r14
jmp 0x1400069d2
mov r15d, 0xc0000001
mov rdi, qword [rbp + 0x1e0]
test rdi, rdi
je 0x140006a05
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x1e0], r14
test r13, r13
je 0x140006ab5
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x140006a3b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 8], r14
mov rdi, qword [r13 + 0x18]
test rdi, rdi
je 0x140006a68
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 0x18], r14
mov rdi, qword [r13 + 0x28]
test rdi, rdi
je 0x140006a95
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r13d, 0x10000000
or r15d, r13d
mov dword [rsp + 0x60], r15d
jl 0x140006eb4
mov r12, qword [rbp + 0x170]
mov edi, dword [r12 + 0x20]
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12]
add ecx, 4
cmp ecx, 4
jb 0x140006c32
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140006c32
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x140006c32
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140006c32
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x140006c32
mov dword [rbp + 0x20c], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x140006b5a
mov r15d, 0xc0000017
mov r8d, 0xc0000095
jmp 0x140006c3b
mov eax, dword [r12]
mov dword [rdi], eax
lea r15, [rdi + 4]
cmp r15, rdi
jb 0x140006bfe
mov r8d, dword [r12]
mov rdx, qword [r12 + 8]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov ecx, dword [r12]
add rcx, r15
cmp rcx, r15
jb 0x140006bfe
mov eax, dword [r12 + 0x10]
mov dword [rcx], eax
lea r15, [rcx + 4]
cmp r15, rcx
jb 0x140006bfe
mov r8d, dword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov ecx, dword [r12 + 0x10]
add rcx, r15
cmp rcx, r15
jb 0x140006bfe
mov eax, dword [r12 + 0x20]
mov dword [rcx], eax
lea r15, [rcx + 4]
cmp r15, rcx
jb 0x140006bfe
mov r8d, dword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov ecx, dword [r12 + 0x20]
add rcx, r15
cmp rcx, r15
jb 0x140006bfe
mov r15d, r14d
mov qword [rsp + 0x78], rdi
mov rdi, r14
mov eax, dword [rbp + 0x20c]
mov dword [rbp - 0x58], eax
jmp 0x140006c04
mov r15d, 0xc0000095
test rdi, rdi
je 0x140006b4f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
jmp 0x140006b4f
mov r8d, 0xc0000095
mov r15d, r8d
or r15d, r13d
mov dword [rsp + 0x60], r15d
jl 0x140006eb4
mov dword [rbp + 0x208], r14d
mov dword [rbp + 0x26c], 0x3c
mov eax, 0x48
mov dword [rbp + 0x270], eax
mov dword [rbp + 0x274], eax
lea r12d, [rax - 0x47]
cmp qword [rbp - 0x60], r14
jne 0x140006c85
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140006d66
cmp dword [rbp - 0x68], r12d
jbe 0x140006c75
mov rax, qword [rbp - 0x60]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140006d5e
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140006d5e
add edx, r12d
cmp edx, r12d
jb 0x140006c92
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140006d5e
mov dword [rbp + 0x208], edi
mov rax, r14
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x3b8], rax
cmp dword [rbp - 0x68], 2
jbe 0x140006c75
mov rax, qword [rbp - 0x60]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140006d5e
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140006d5e
add edx, r12d
cmp edx, 2
jb 0x140006ce7
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140006d5e
mov dword [rbp + 0x278], edx
mov rax, r14
test edx, edx
cmovne rax, rcx
mov qword [rbp + 0x3c0], rax
lea eax, [rdi + 0x50]
cmp eax, 0x50
jb 0x140006d5e
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140006d5e
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140006d5e
mov dword [rbp + 0x27c], eax
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp eax, 0x400000
jbe 0x140006d59
mov r15d, 0x8000ffff
jmp 0x140006eaf
mov dword [rbp + 0x38], eax
jmp 0x140006d66
mov r15d, r8d
mov dword [rsp + 0x60], r8d
test r15d, r15d
js 0x140006eb4
mov edi, dword [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x140006da5
mov r15d, 0xd0000017
mov rdi, r14
jmp 0x140006daf
mov rdi, rax
mov qword [rbp - 0x18], rax
mov r15d, r13d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x140006eb4
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x140006dd2
mov r15d, 0x80070057
jmp 0x140006eaf
test rdi, rdi
je 0x140006dc7
mov qword [rbp + 0x348], rax
mov eax, dword [rbp - 0x58]
mov dword [rbp + 0x358], eax
mov qword [rbp + 0x350], rdi
mov eax, dword [rbp + 0x38]
mov dword [rbp + 0x35c], eax
mov dword [rbp + 0x360], r14d
lea r8, [rbp + 0x2c8]
lea rdx, [0x1400f23e8]
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x140006e51
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
mov dword [rsp + 0x60], r15d
mov edx, dword [rbp + 0x38]
test r15d, r15d
js 0x140006ea0
mov r15d, 0x80004005
jmp 0x140006e9b
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x2c8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140006e1f
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x348]
lea ecx, [r8 + 0x66]
call qword [case.0x140066f27.0]
mov r15d, eax
or r15d, r13d
mov edx, dword [rbp + 0x38]
cmovge edx, dword [rbp + 0x35c]
mov dword [rbp + 0x38], edx
mov dword [rsp + 0x60], r15d
cmp r15d, 0xd0000023
jne 0x140006ebc
mov r15d, 0x8007007a
mov dword [rsp + 0x60], r15d
mov r13, r14
jmp 0x1400079f5
test r15d, r15d
js 0x140006eb4
mov qword [rbp + 0x40], r14
cmp edx, 4
jae 0x140006ed5
mov r15d, 0xc000003e
jmp 0x140007283
mov r13d, dword [rdi]
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x14000727d
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x140006eca
lea r8, [rcx + r13]
mov qword [rbp - 0x70], r8
cmp r8, rcx
jb 0x14000727d
lea ecx, [r13 + 4]
cmp ecx, 4
jb 0x14000727d
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x140006eca
mov r15d, dword [r8]
lea rdi, [r8 + 4]
cmp rdi, r8
jb 0x14000727d
lea r8d, [rcx + 4]
cmp r8d, ecx
jb 0x14000727d
mov eax, edx
sub eax, r8d
cmp eax, r15d
jb 0x140006eca
lea rcx, [rdi + r15]
cmp rcx, rdi
jb 0x14000727d
lea edi, [r8 + r15]
cmp edi, r8d
jb 0x14000727d
mov eax, edx
sub eax, edi
cmp eax, 4
jb 0x140006eca
mov r12d, dword [rcx]
lea rax, [rcx + 4]
mov qword [rbp - 0x48], rax
cmp rax, rcx
jb 0x14000727d
lea ecx, [rdi + 4]
cmp ecx, edi
jb 0x14000727d
mov eax, edx
sub eax, ecx
cmp eax, r12d
jb 0x140006eca
lea edi, [rcx + r12]
cmp edi, ecx
jb 0x14000727d
cmp edx, edi
jne 0x140006eca
lea ecx, [r15 + r13]
add ecx, r12d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x140006eca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x140006fef
mov r15d, 0xc0000017
jmp 0x1400071b0
mov rax, qword [rbp - 0x18]
add rax, 4
je 0x140007048
mov dword [rdi], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
jne 0x140007032
mov r15d, 0xc0000017
jmp 0x140007100
mov qword [rdi + 8], rcx
mov r8, r13
mov rdx, qword [rbp - 0x18]
add rdx, 4
call sub.msvcrt.dll_memcpy
jmp 0x14000704f
mov dword [rdi], r14d
mov qword [rdi + 8], r14
mov r13, qword [rbp - 0x70]
add r13, 4
je 0x140007099
mov dword [rdi + 0x10], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x140007027
mov qword [rdi + 0x18], rax
mov r8, r15
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400070a1
mov dword [rdi + 0x10], r14d
mov qword [rdi + 0x18], r14
mov r15, qword [rbp - 0x48]
test r15, r15
je 0x1400070ee
mov dword [rdi + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x140007027
mov qword [rdi + 0x28], rax
mov r8, r12
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400070f6
mov dword [rdi + 0x20], r14d
mov qword [rdi + 0x28], r14
mov qword [rbp + 0x40], rdi
mov rdi, r14
mov r15d, r14d
test rdi, rdi
je 0x1400071b0
mov r12, qword [rdi + 8]
test r12, r12
je 0x140007136
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 0x140007163
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 0x140007190
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, r14
test r15d, r15d
cmovs rdi, qword [rbp + 0x40]
mov r13, qword [rbp + 0x40]
cmovs r13, r14
mov qword [rbp + 0x30], r13
test rdi, rdi
je 0x140007286
mov r12, qword [rdi + 8]
test r12, r12
je 0x1400071fd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 0x14000722a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 0x140007257
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x30], r13
jmp 0x140007286
mov r15d, 0xc0000095
mov r13, r14
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400079f5
mov rdi, r14
mov qword [rbp + 0xd8], r14
mov r12, r14
test r13, r13
jne 0x1400072ba
mov r15d, 0xd000000d
mov dword [rsp + 0x60], r15d
jmp 0x1400079f5
mov r15, qword [r13 + 8]
mov qword [rbp - 0x48], r15
test r15, r15
je 0x1400072aa
cmp dword [r13], r14d
je 0x1400072aa
mov r13d, dword [r13]
mov dword [rbp - 0x80], r14d
test r13, r13
je 0x140007830
add r13, 0xfffffffffffffff8
mov qword [rbp - 0x70], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r8, rax
mov qword [rbp + 0x18], rax
test rax, rax
je 0x140007829
mov dl, r14b
mov byte [rsp + 0x64], dl
mov qword [rbp + 0x8f8], rsi
mov r9, r15
mov rdi, r13
and edi, 7
mov r15d, r14d
mov r11d, r14d
je 0x140007431
mov dword [rbp - 0x40], r14d
mov ecx, r14d
mov dword [rbp - 0x78], ecx
test edi, edi
je 0x140007392
mov ebx, 1
lea r10d, [rbx + 0x37]
movzx eax, byte [r9]
inc r9
cmp r11d, 4
jge 0x14000736d
lea ecx, [r10 - 0x20]
shl eax, cl
mov ecx, dword [rbp - 0x78]
or ecx, eax
mov dword [rbp - 0x78], ecx
jmp 0x140007378
mov ecx, r10d
shl eax, cl
or r15d, eax
mov ecx, dword [rbp - 0x78]
add r11d, ebx
sub r10d, 8
cmp r11d, edi
jl 0x140007350
mov dword [rbp - 0x40], r15d
movabs rbx, 0xc81ecb17b1b54a58
mov r11d, ecx
xor r11d, 0x92f65a5
xor r15d, 0x699a899c
mov eax, r11d
mov ecx, r15d
mov r10d, r14d
test edi, edi
je 0x140007400
mov rbx, r8
mov edx, 1
lea rsi, [rbx + 1]
mov qword [rbp - 8], rsi
cmp r10d, 4
jge 0x1400073cd
rol eax, 8
mov esi, eax
jmp 0x1400073d2
rol ecx, 8
mov esi, ecx
mov byte [rbx], sil
add r10d, edx
mov rsi, qword [rbp - 8]
mov rbx, rsi
cmp r10d, edi
jl 0x1400073b8
mov rax, rsi
mov dl, r12b
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
jmp 0x140007403
mov rax, r8
cmp edi, 4
jbe 0x14000741a
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r15d, cl
shl r15d, cl
jmp 0x140007439
mov r15d, r14d
jae 0x140007439
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
jmp 0x140007439
mov dword [rbp - 0x78], r14d
or dword [rbp - 0x40], 0xffffffff
mov rcx, r13
shr rcx, 3
mov qword [rbp - 8], rcx
test rcx, rcx
je 0x14000778c
mov r13d, dword [rbp + 0x8fc]
movzx edi, r13w
mov dword [rbp], edi
mov r14d, esi
xor r14d, r13d
movzx ecx, si
mov dword [rsp + 0x68], ecx
add rax, 7
mov qword [rbp + 0x40], rax
lea rcx, [r9 + 2]
mov rbx, qword [rbp - 8]
mov r12d, dword [rbp - 0x40]
mov edx, dword [rbp - 0x78]
movzx r10d, byte [rcx - 2]
shl r10d, 8
movzx eax, byte [rcx - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rcx]
or r10d, eax
shl r10d, 8
movzx eax, byte [rcx + 1]
or r10d, eax
movzx r9d, byte [rcx + 2]
shl r9d, 8
movzx eax, byte [rcx + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx + 5]
or r9d, eax
xor r11d, r10d
xor r15d, r9d
add rcx, 8
mov qword [rbp - 8], rcx
xor r15d, r11d
xor r15d, r14d
mov r8d, r15d
mov ecx, r15d
sub ecx, esi
rol ecx, 5
rol r15d, 0xa
mov eax, edi
imul eax, ecx
add r15d, eax
xor r11d, r15d
lea ecx, [r11 + r13]
ror ecx, 9
mov eax, r11d
rol eax, 2
movzx r15d, word [rbp + 0x8fa]
imul ecx, r15d
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, edi
imul ecx, dword [rsp + 0x68]
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r15d
rol ecx, 6
mov eax, r11d
rol eax, 2
movzx r15d, word [rbp + 0x8fe]
imul ecx, r15d
sub ecx, eax
xor r8d, ecx
mov ecx, esi
xor ecx, r8d
mov eax, r13d
sub eax, ecx
xor r11d, eax
mov ecx, r11d
ror ecx, 6
mov eax, edi
xor eax, r11d
movzx edi, word [rbp + 0x8fa]
imul eax, edi
xor ecx, eax
xor r8d, ecx
lea ecx, [r8 + r13]
ror ecx, 0xf
mov edi, r8d
rol edi, 2
mov eax, dword [rsp + 0x68]
imul eax, ecx
add edi, eax
xor r11d, edi
mov ecx, r11d
sub ecx, esi
ror ecx, 0xe
mov eax, r11d
rol eax, 8
imul ecx, r15d
sub ecx, eax
xor r8d, ecx
mov edi, r8d
xor edi, esi
ror edi, 0xc
mov ecx, r8d
ror ecx, 0xa
mov eax, dword [rbp]
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
movzx edi, word [rbp + 0x8fe]
xor ecx, edi
movzx eax, word [rbp + 0x8fa]
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor r8d, ecx
mov eax, r8d
not eax
ror eax, 5
add eax, dword [rsp + 0x68]
imul eax, edi
xor r11d, eax
mov r15d, r11d
sub r15d, edi
xor r15d, r8d
xor r15d, esi
mov eax, r15d
xor eax, edi
rol eax, 2
mov edi, dword [rbp]
mov ecx, edi
imul ecx, eax
mov eax, r15d
shr eax, 2
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, r13d
ror ecx, 6
mov eax, r11d
rol eax, 7
movzx r8d, word [rbp + 0x8fa]
imul ecx, r8d
add eax, ecx
xor r15d, eax
mov ecx, r15d
ror ecx, 9
mov eax, edi
xor eax, r15d
imul eax, dword [rsp + 0x68]
add ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
rol ecx, 5
mov eax, r11d
rol eax, 7
movzx r8d, word [rbp + 0x8fe]
imul ecx, r8d
add eax, ecx
xor r15d, eax
xor r11d, r15d
xor r11d, r13d
xor r11d, esi
mov eax, r11d
ror eax, 3
movzx ecx, word [rbp + 0x8fa]
sub eax, ecx
imul eax, edi
xor r15d, eax
mov edi, r15d
sub edi, r13d
ror edi, 1
mov ecx, r15d
ror ecx, 6
mov eax, dword [rsp + 0x68]
imul eax, edi
sub eax, ecx
xor r11d, eax
lea ecx, [r11 + rsi]
rol ecx, 3
mov eax, r11d
rol eax, 0xe
imul ecx, r8d
add eax, ecx
xor r15d, eax
lea ecx, [r15 + rsi]
rol ecx, 0xf
mov eax, r15d
ror eax, 0xe
mov edi, dword [rbp]
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, dword [rsp + 0x68]
xor ecx, r11d
movzx eax, word [rbp + 0x8fa]
imul ecx, eax
mov eax, r11d
shr eax, 3
xor ecx, eax
xor r15d, ecx
mov ecx, r15d
xor ecx, r13d
rol ecx, 4
mov eax, r15d
rol eax, 2
imul ecx, dword [rsp + 0x68]
xor eax, ecx
xor eax, edx
xor r11d, eax
xor r15d, r12d
mov rax, qword [rbp + 0x40]
mov byte [rax - 4], r11b
ror r11d, 8
mov byte [rax], r15b
ror r15d, 8
mov byte [rax - 5], r11b
ror r11d, 8
mov byte [rax - 1], r15b
ror r15d, 8
mov byte [rax - 6], r11b
ror r11d, 8
mov byte [rax - 2], r15b
ror r15d, 8
mov byte [rax - 7], r11b
mov byte [rax - 3], r15b
ror r11d, 8
ror r15d, 8
mov edx, r10d
mov r12d, r9d
add rax, 8
mov qword [rbp + 0x40], rax
mov r9d, 1
sub rbx, r9
mov rcx, qword [rbp - 8]
jne 0x14000747f
mov dl, byte [rsp + 0x64]
movabs rbx, 0xc81ecb17b1b54a58
xor r14d, r14d
mov r12d, r14d
mov r13, qword [rbp - 0x70]
mov r8, qword [rbp + 0x18]
jmp 0x140007792
mov r9d, 1
mov rax, r14
test r13, r13
je 0x1400077a6
xor dl, byte [rax + r8]
add rax, r9
cmp rax, r13
jb 0x14000779a
movzx eax, dl
mov rcx, qword [rbp - 0x48]
cmp rax, qword [rcx + r13]
je 0x1400077c2
mov r15d, 0xc004d501
mov rdi, qword [rbp + 0xd8]
jmp 0x1400077da
mov rdi, r8
mov qword [rbp + 0xd8], r8
mov r8, r14
mov qword [rbp + 0x18], r14
mov r12, r13
mov r15d, dword [rbp - 0x80]
test r8, r8
je 0x140007807
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp + 0x18]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp + 0xd8]
test r15d, r15d
js 0x140007830
mov qword [rbp - 0x38], rdi
mov rdi, r14
mov qword [rbp + 0xd8], r14
mov dword [rbp + 0xac], r12d
mov r15d, 0x10000000
jmp 0x14000783d
mov rdi, qword [rbp + 0xd8]
mov r15d, 0xd0000001
mov r12d, dword [rbp + 0xac]
mov dword [rsp + 0x60], r15d
test rdi, rdi
je 0x140007875
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0xd8], r14
mov r12d, dword [rbp + 0xac]
test r15d, r15d
js 0x1400079f1
cmp r12d, 4
jae 0x14000788f
mov r15d, 0xc000003e
jmp 0x1400079e7
mov r8, qword [rbp - 0x38]
mov r9d, dword [r8]
mov dword [rbp - 0x80], r9d
lea rcx, [r8 + 4]
cmp rcx, r8
jb 0x1400079e1
lea eax, [r12 - 4]
cmp eax, 4
jb 0x140007884
mov r15d, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x1400079e1
lea eax, [r12 - 8]
cmp eax, r15d
jb 0x140007884
lea eax, [r15 + 8]
cmp eax, 8
jb 0x1400079e1
mov ecx, r12d
lea rdx, [rdi + r15]
lea rax, [rcx + r8]
cmp rax, rdx
jb 0x140007884
sub rcx, rdi
sub rcx, r15
add rcx, r8
cmp rcx, 8
jae 0x140007884
mov r12, r14
mov r8d, r14d
mov dword [rbp - 0x58], r14d
test rdi, rdi
je 0x140007973
mov rcx, rdi
cmp rdx, rdi
jb 0x1400079e1
jbe 0x14000796e
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x1400079e1
cmp rax, rdx
ja 0x14000795b
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x140007966
mov dword [rbp + 0x280], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x1400079e1
mov rcx, r9
cmp r9, rdx
ja 0x14000795b
inc r8d
mov dword [rbp - 0x58], r8d
cmp rcx, rdx
jae 0x140007971
jmp 0x140007914
mov r15d, 0xc000000d
jmp 0x1400079e7
mov r15d, 0xc0000095
jmp 0x1400079cf
cmp rcx, rdx
jne 0x14000795b
test r15d, r15d
je 0x1400079ab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r12, rax
test rax, rax
jne 0x1400079ab
mov r15d, 0xc0000017
jmp 0x1400079cf
test rdi, rdi
je 0x1400079be
mov r8, r15
mov rdx, rdi
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x70], r12
mov dword [rbp + 0x6c], r15d
mov eax, dword [rbp - 0x58]
mov dword [rbp + 0x68], eax
mov r15d, r14d
test r15d, r15d
js 0x1400079e7
mov eax, dword [rbp - 0x80]
cmp eax, dword [rbp + 0x68]
je 0x1400079e7
jmp 0x140007884
mov r15d, 0xc0000095
bts r15d, 0x1c
mov dword [rsp + 0x60], r15d
mov r13, qword [rbp + 0x30]
mov rdi, qword [rbp + 0x20]
test rdi, rdi
je 0x140007a1e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r12, qword [rbp + 0x170]
test r12, r12
je 0x140007ae2
mov rdi, qword [r12 + 8]
test rdi, rdi
je 0x140007a5d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
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 0x140007a8c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
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 0x140007abb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
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 rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x170], r14
mov rdi, qword [rsp + 0x78]
test rdi, rdi
je 0x140007b0c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp - 0x18]
test rdi, rdi
je 0x140007b35
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r13, r13
je 0x140007be5
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x140007b6b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 8], r14
mov rdi, qword [r13 + 0x18]
test rdi, rdi
je 0x140007b98
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 0x18], r14
mov rdi, qword [r13 + 0x28]
test rdi, rdi
je 0x140007bc5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x140007c0e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r15d, r15d
js 0x140007fac
mov r8d, 1
cmp dword [rbp + 0x68], r8d
jb 0x140007f24
cmp qword [rbp + 0x70], r14
jne 0x140007c40
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
mov r10d, 0xc0000095
jmp 0x140007c91
cmp dword [rbp + 0x68], r14d
jbe 0x140007c2d
mov rdi, qword [rbp + 0x70]
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140007c83
mov dword [rbp + 0x284], ecx
mov rax, r14
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x3c8], rax
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
jne 0x140007eee
mov eax, dword [rax]
mov dword [rbp + 0x58], eax
jmp 0x140007c38
mov r10d, 0xc0000095
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x140007fac
mov r15d, dword [rbp + 0x58]
cmp r15d, 0xd0000023
mov r11d, 0x8007007a
cmove r15d, r11d
mov dword [rsp + 0x60], r15d
mov dword [rbp + 0x58], r15d
cmp r15d, r11d
je 0x140007cc6
test r15d, r15d
js 0x140007fac
cmp dword [rbp + 0x68], 6
jne 0x140007f24
cmp qword [rbp + 0x70], r14
jne 0x140007ce3
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140007d4b
mov rax, qword [rbp + 0x70]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140007d43
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140007d43
add edx, r8d
cmp edx, r8d
jb 0x140007cea
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140007d43
mov dword [rbp + 0x288], ecx
mov rax, r14
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x3d0], rax
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp ecx, 8
jne 0x140007eee
mov rax, qword [rax]
mov qword [rbp + 0x260], rax
jmp 0x140007d4b
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x140007fac
cmp qword [rbp + 0x70], r14
jne 0x140007d67
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140007dcd
mov rax, qword [rbp + 0x70]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140007dc5
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140007dc5
add edx, r8d
cmp edx, 2
jb 0x140007d6e
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140007dc5
mov dword [rbp + 0x28c], ecx
mov rax, r14
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x3d8], rax
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
jne 0x140007eee
mov eax, dword [rax]
mov dword [rbp + 0x200], eax
jmp 0x140007dcd
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x140007fac
cmp qword [rbp + 0x70], r14
jne 0x140007de7
mov r15d, 0xc000000d
jmp 0x140007fa7
mov rax, qword [rbp + 0x70]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140007f8c
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140007f8c
add edx, r8d
cmp edx, 3
jb 0x140007dee
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140007f8c
mov dword [rbp + 0x290], edi
mov r9, r14
test edi, edi
cmovne r9, rcx
mov qword [rbp + 0x3e0], r9
mov rax, qword [rbp + 0x70]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140007e90
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140007e90
add edx, r8d
cmp edx, 4
jb 0x140007e3d
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140007e90
mov dword [rbp + 0x294], ecx
mov rax, r14
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x3e8], rax
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
jne 0x140007eee
mov eax, dword [rax]
mov dword [rbp + 0x204], eax
jmp 0x140007e98
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x140007fac
mov rax, qword [rbp + 0x70]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140007f03
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140007f03
add edx, r8d
cmp edx, 5
jb 0x140007ea8
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140007f03
mov dword [rbp + 0x78], ecx
mov rax, r14
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x3f0], rax
mov r15d, r14d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
je 0x140007ef9
mov r15d, 0xc0000023
jmp 0x140007fa7
mov eax, dword [rax]
mov dword [rbp + 0xf8], eax
jmp 0x140007f0b
mov r15d, r10d
mov dword [rsp + 0x60], r10d
test r15d, r15d
js 0x140007fac
mov rax, qword [rbp + 0x260]
cmp qword [rbp + 0x1b0], rax
je 0x140007f2c
mov r15d, 0xc004d501
jmp 0x140007fa7
mov ecx, dword [rbp + 0x204]
mov dword [rbp + 0xe8], ecx
mov eax, dword [rbp + 0xf8]
mov dword [rbp + 0x48], eax
mov eax, dword [rbp + 0x200]
mov dword [rbp + 0xec], eax
cmp ecx, 4
ja 0x140007f57
cmp edi, 4
jbe 0x140007f61
mov r15d, r11d
mov dword [rsp + 0x60], r11d
jmp 0x140007fac
mov r8, rdi
mov rdx, r9
mov rcx, qword [rbp - 0x20]
call sub.msvcrt.dll_memcpy
mov r13, qword [rsp + 0x70]
test r15d, r15d
js 0x14000589b
cmp dword [rbp + 0x58], r14d
cmovne r15d, dword [rbp + 0x58]
jmp 0x1400057e8
mov r15d, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140007fac
or rax, 0xffffffffffffffff
mov qword [rbp + 0x138], rax
mov r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
mov r13, qword [rsp + 0x70]
jmp 0x14000589b
mov rax, qword [0x14010c298]
call qword [case.0x140066f27.0]
mov qword [0x1401145e8], rax
mov edi, dword [0x1401145f0]
mov dword [rbp - 0x38], edi
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x480]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movups xmmword [rbp + 0x900], xmm0
mov ecx, 1
mov dword [rbp + 0x118], ecx
mov qword [rbp + 0x30], r14
mov qword [rbp - 8], r14
xor eax, eax
movups xmmword [rbp + 0xa20], xmm0
movups xmmword [rbp + 0xa30], xmm0
mov qword [rbp + 0xa40], rax
mov dword [rbp + 0xa48], eax
mov qword [rbp + 0x40], r14
xor eax, eax
lock cmpxchg dword [0x140114ebc], ecx
jne 0x140008023
mov eax, dword [0x140114eb8]
test eax, eax
jne 0x140008643
mov dword [rbp - 0x40], r14d
mov dword [rsp + 0x68], r14d
mov dword [rbp], r14d
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x250], r14
mov dword [rbp - 0x18], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14000859b
mov byte [rsp + 0x64], r14b
mov ecx, r14d
or dword [rbp - 0x80], 0xffffffff
mov ebx, r14d
mov r13d, r14d
lea rsi, [rax + 7]
lea r15, [0x1400f4fa2]
mov edi, 0x67
mov r12d, dword [rbp - 0x80]
lea r14d, [rdi - 0x66]
movzx r11d, byte [r15 - 2]
shl r11d, 8
movzx eax, byte [r15 - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [r15]
or r11d, eax
shl r11d, 8
movzx eax, byte [r15 + 1]
or r11d, eax
movzx r10d, byte [r15 + 2]
shl r10d, 8
movzx eax, byte [r15 + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 5]
or r10d, eax
xor r13d, r11d
lea r15, [r15 + 8]
mov r9d, r10d
xor r9d, ebx
xor r9d, r13d
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
mov edx, r9d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
mov edx, r13d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r9d, eax
mov eax, r9d
shr eax, 0xd
imul edx, r9d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor r13d, edx
mov eax, r13d
xor eax, 0xab69
rol eax, 6
mov edx, r13d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r9d, eax
mov edx, r9d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r13d, eax
mov r8d, r13d
ror r8d, 6
mov eax, r13d
xor eax, 0x137f
imul edx, eax, 0xab69
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
mov edx, r9d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x54969fa2]
ror eax, 0xe
mov edx, r13d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r9d, eax
mov eax, r9d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
mov edx, r9d
ror edx, 0xa
imul eax, eax, 0x137f
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 r9d, edx
mov eax, r9d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea ebx, [r13 - 0x7f1]
xor ebx, r9d
xor ebx, r8d
mov eax, ebx
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, ebx
shr eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
mov edx, r13d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor ebx, edx
mov r8d, ebx
ror r8d, 9
mov eax, ebx
xor eax, 0x137f
imul edx, eax, 0x605e
add r8d, edx
xor r13d, r8d
mov eax, r13d
xor eax, 0xab69
rol eax, 5
mov edx, r13d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor ebx, edx
xor r13d, ebx
xor r13d, 0xac987321
mov eax, r13d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor ebx, edx
lea eax, [rbx - 0x7f1137f]
ror eax, 1
mov edx, ebx
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r13d, eax
lea eax, [r13 - 0x54969fa2]
rol eax, 3
mov edx, r13d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor ebx, edx
lea eax, [rbx - 0x54969fa2]
rol eax, 0xf
mov edx, ebx
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r13d, eax
mov eax, r13d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 3
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0x7f1137f
rol eax, 4
mov edx, ebx
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, ecx
xor r13d, edx
xor ebx, r12d
mov byte [rsi - 4], r13b
ror r13d, 8
mov byte [rsi], bl
ror ebx, 8
mov byte [rsi - 5], r13b
ror r13d, 8
mov byte [rsi - 1], bl
ror ebx, 8
mov byte [rsi - 6], r13b
ror r13d, 8
mov byte [rsi - 2], bl
ror ebx, 8
mov byte [rsi - 7], r13b
mov byte [rsi - 3], bl
ror r13d, 8
ror ebx, 8
mov ecx, r11d
mov r12d, r10d
lea rsi, [rsi + 8]
sub rdi, r14
jne 0x1400080b6
xor r14d, r14d
mov eax, r14d
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x38]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov r12, qword [rbp - 0x70]
lea edx, [r14 + 1]
mov r8d, 0x338
xor cl, byte [rax + r12]
add rax, rdx
cmp rax, r8
jb 0x1400083cf
movzx eax, cl
cmp rax, qword [0x1400f52d8]
je 0x1400083ef
mov r13d, 0xc004d501
jmp 0x140008404
mov qword [rbp + 0x130], r12
mov r12, r14
mov qword [rbp + 0x250], r8
mov r13d, dword [rbp - 0x18]
test r12, r12
je 0x140008429
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r13d, r13d
js 0x14000859b
mov r12, qword [rbp + 0x130]
mov rax, qword [rbp + 0x250]
mov byte [rax + r12 - 1], r14b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r13, [0x140114600]
mov rcx, r13
call sub.msvcrt.dll_memset
cmp byte [r12], r14b
je 0x140008594
mov rdx, r12
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], r14w
jne 0x14000846b
lea r12, [r12 + rax*2]
mov eax, dword [rbp]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
mov r8, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x14000859b
mov ecx, r14d
mov dword [rsp + 0x68], ecx
mov rax, qword [r13]
mov edx, 0x5a4d
cmp word [rax], dx
je 0x1400084be
mov ecx, 0xc000007b
mov dword [rsp + 0x68], ecx
jmp 0x14000850f
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x1400084b3
add rdx, qword [r13]
cmp rdx, qword [r13]
jb 0x1400084b3
cmp dword [rdx], 0x4550
jne 0x1400084b3
movzx eax, word [rdx + 0x18]
mov r8d, 0x10b
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
je 0x1400084fd
mov ecx, 0xc000000d
jmp 0x1400084b8
mov rax, qword [rdx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [r12 + 2]
mov dword [rbp - 0x80], eax
add r12, 6
mov edx, r14d
mov dword [rbp - 0x58], edx
test eax, eax
je 0x140008580
mov r8, r12
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], r14b
jne 0x14000852c
inc r12
add r12, rax
test ecx, ecx
js 0x14000856c
mov rdx, r8
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140008594
mov ecx, dword [rbp - 0x40]
lea rdx, [0x14010c200]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x68]
mov edx, dword [rbp - 0x58]
mov eax, 1
add dword [rbp - 0x40], eax
add edx, eax
mov dword [rbp - 0x58], edx
cmp edx, dword [rbp - 0x80]
jb 0x140008525
jmp 0x140008585
mov eax, 1
add dword [rbp], eax
lea r13, [0x140114600]
jmp 0x14000845a
mov r12d, dword [rsp + 0x68]
jmp 0x1400085a1
mov r12d, 0xc000007a
cmp qword [rbp + 0x130], r14
je 0x1400085ce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp + 0x130]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12d, r12d
jns 0x140008638
lea r12, [0x140114600]
mov eax, 1
lea r13d, [rax + 3]
cmp qword [r12], r14
je 0x1400085fe
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 0x1400085e3
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x140114600]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400eb6e0]
lea rcx, [0x14010c200]
call sub.msvcrt.dll_memcpy
lea ecx, [r13 + 1]
jmp 0x14000864b
mov eax, dword [0x140114eb8]
mov ecx, 1
add eax, ecx
mov dword [0x140114eb8], eax
mov eax, r14d
xchg dword [0x140114ebc], eax
mov dword [rbp - 0x50], r14d
mov dword [rbp - 0x28], r14d
mov qword [rbp + 0x1b8], r14
mov qword [rbp + 0x28], r14
mov qword [rbp - 0x48], r14
mov qword [rsp + 0x78], r14
xorps xmm0, xmm0
movups xmmword [rbp + 0x970], xmm0
xor eax, eax
lock cmpxchg dword [0x140114ebc], ecx
jne 0x14000867a
mov eax, dword [0x140114eb8]
test eax, eax
jne 0x140008c91
mov dword [rbp - 0x40], r14d
mov dword [rsp + 0x68], r14d
mov dword [rbp], r14d
mov qword [rbp + 0x148], r14
mov qword [rbp + 0x258], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140008bed
mov edi, r14d
or ecx, 0xffffffff
mov r13d, r14d
mov r11d, r14d
lea rbx, [rax + 7]
lea rsi, [0x1400f4fa2]
mov r15d, 0x67
lea r12d, [r15 - 0x66]
movzx r10d, byte [rsi - 2]
shl r10d, 8
movzx eax, byte [rsi - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 1]
or r10d, eax
movzx r9d, byte [rsi + 2]
shl r9d, 8
movzx eax, byte [rsi + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 5]
or r9d, eax
xor r11d, r10d
xor r13d, r9d
lea rsi, [rsi + 8]
xor r13d, r11d
xor r13d, 0xac987321
lea eax, [r13 + 0x54969fa2]
rol eax, 5
mov edx, r13d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov edx, r11d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r13d, eax
mov eax, r13d
shr eax, 0xd
imul edx, r13d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r13d, eax
mov edx, r13d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov r8d, r11d
ror r8d, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor r8d, edx
xor r13d, r8d
lea eax, [r13 + 0x7f1137f]
ror eax, 0xf
mov edx, r13d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
mov edx, r13d
ror edx, 0xa
imul eax, eax, 0x137f
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, r13d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r13d, [r11 - 0x7f1]
xor r13d, edx
xor r13d, r8d
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
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r13d, edx
mov r8d, r13d
ror r8d, 9
mov eax, r13d
xor eax, 0x137f
imul edx, eax, 0x605e
add r8d, edx
xor r11d, r8d
mov eax, r11d
xor eax, 0xab69
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
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
mov edx, r13d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0x54969fa2]
rol eax, 3
mov edx, r11d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x54969fa2]
rol eax, 0xf
mov edx, r13d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r11d, eax
mov eax, r11d
xor eax, 0x605e
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
mov edx, r13d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, edi
xor r11d, edx
xor r13d, ecx
mov byte [rbx - 4], r11b
ror r11d, 8
mov byte [rbx], r13b
ror r13d, 8
mov byte [rbx - 5], r11b
ror r11d, 8
mov byte [rbx - 1], r13b
ror r13d, 8
mov byte [rbx - 6], r11b
ror r11d, 8
mov byte [rbx - 2], r13b
ror r13d, 8
mov byte [rbx - 7], r11b
mov byte [rbx - 3], r13b
ror r11d, 8
ror r13d, 8
mov edi, r10d
mov ecx, r9d
lea rbx, [rbx + 8]
sub r15, r12
jne 0x140008700
mov rax, r14
mov cl, r14b
mov edi, dword [rbp - 0x38]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov r12, qword [rbp - 0x70]
mov edx, 1
mov r8d, 0x338
xor cl, byte [r12 + rax]
add rax, rdx
cmp rax, r8
jb 0x140008a22
movzx eax, cl
cmp rax, qword [0x1400f52d8]
je 0x140008a42
mov r13d, 0xc004d501
jmp 0x140008a56
mov qword [rbp + 0x148], r12
mov r12, r14
mov qword [rbp + 0x258], r8
mov r13d, r14d
test r12, r12
je 0x140008a7b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r13d, r13d
js 0x140008bed
mov r12, qword [rbp + 0x148]
mov rax, qword [rbp + 0x258]
mov byte [rax + r12 - 1], r14b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r13, [0x140114600]
mov rcx, r13
call sub.msvcrt.dll_memset
cmp byte [r12], r14b
je 0x140008be6
mov rdx, r12
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], r14w
jne 0x140008abd
lea r12, [r12 + rax*2]
mov eax, dword [rbp]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
mov r8, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x140008bed
mov ecx, r14d
mov dword [rsp + 0x68], ecx
mov rax, qword [r13]
mov edx, 0x5a4d
cmp word [rax], dx
je 0x140008b10
mov ecx, 0xc000007b
mov dword [rsp + 0x68], ecx
jmp 0x140008b61
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x140008b05
add rdx, qword [r13]
cmp rdx, qword [r13]
jb 0x140008b05
cmp dword [rdx], 0x4550
jne 0x140008b05
movzx eax, word [rdx + 0x18]
mov r8d, 0x10b
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
je 0x140008b4f
mov ecx, 0xc000000d
jmp 0x140008b0a
mov rax, qword [rdx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [r12 + 2]
mov dword [rbp - 0x80], eax
add r12, 6
mov edx, r14d
mov dword [rbp - 0x58], edx
test eax, eax
je 0x140008bd2
mov r8, r12
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], r14b
jne 0x140008b7e
inc r12
add r12, rax
test ecx, ecx
js 0x140008bbe
mov rdx, r8
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140008be6
mov ecx, dword [rbp - 0x40]
lea rdx, [0x14010c200]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x68]
mov edx, dword [rbp - 0x58]
mov eax, 1
add dword [rbp - 0x40], eax
add edx, eax
mov dword [rbp - 0x58], edx
cmp edx, dword [rbp - 0x80]
jb 0x140008b77
jmp 0x140008bd7
mov eax, 1
add dword [rbp], eax
lea r13, [0x140114600]
jmp 0x140008aac
mov r12d, dword [rsp + 0x68]
jmp 0x140008bf3
mov r12d, 0xc000007a
cmp qword [rbp + 0x148], r14
je 0x140008c20
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp + 0x148]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12d, r12d
jns 0x140008c86
lea r12, [0x140114600]
mov eax, 1
lea r13d, [rax + 3]
cmp qword [r12], r14
je 0x140008c50
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 0x140008c35
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x140114600]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400eb6e0]
lea rcx, [0x14010c200]
call sub.msvcrt.dll_memcpy
jmp 0x140008c99
mov eax, dword [0x140114eb8]
mov ecx, 1
add eax, ecx
mov dword [0x140114eb8], eax
mov eax, r14d
xchg dword [0x140114ebc], eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x900], xmm0
mov r13d, edi
mov ecx, SafeArrayGetDim
and r13d, ecx
mov dword [rsp + 0x68], r13d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xe20], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0xe22], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0xe24], di
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x14010c2f8]
call qword [case.0x140066f27.0]
mov qword [rsp + 0x70], rax
mov dword [rbp - 0x78], 0xffffff
test rax, rax
jne 0x140008d40
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 0x140009e2f
mov r12d, 0x80004005
jmp 0x140009e2f
mov qword [rbp + 0x1a8], r14
mov qword [rbp + 0x150], r14
mov qword [rbp + 0x230], r14
mov qword [rbp + 0x60], r14
mov qword [rbp + 0xc8], r14
mov qword [rbp + 0x90], r14
mov r12d, r14d
mov dword [rbp + 0xa8], r14d
lea r9, [rbp + 0xa8]
xor r8d, r8d
lea rdx, [rbp + 0x5c]
lea ecx, [r8 + 8]
mov rax, qword [0x14010c2a0]
call qword [case.0x140066f27.0]
test eax, eax
jne 0x140008dc5
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 0x140008f2a
mov r12d, 0x80004005
jmp 0x140008f2a
mov edi, dword [rbp + 0xa8]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
lea rcx, [rbp + 0xc8]
call fcn.1400259bc
test rdi, rdi
jne 0x140008e14
mov qword [rbp + 0xc8], r14
mov r12d, 0x8007000e
jmp 0x140008f2a
mov qword [rbp + 0xc8], rdi
mov edi, dword [rbp + 0x5c]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
lea rcx, [rbp + 0x90]
call fcn.1400259bc
test rdi, rdi
jne 0x140008e63
mov r12d, 0x8007000e
jmp 0x140008f23
mov qword [rbp + 0x90], rdi
lea r9, [rbp + 0xa8]
mov r8, qword [rbp + 0xc8]
lea rdx, [rbp + 0x5c]
mov ecx, 8
mov rax, qword [0x14010c2a0]
call qword [case.0x140066f27.0]
test eax, eax
je 0x140008d94
mov rdi, qword [rbp + 0xc8]
mov r13, qword [rbp + 0x90]
cmp dword [rbp + 0x5c], r14d
jbe 0x140008f05
mov esi, r14d
mov ebx, 1
or r15, 0xffffffffffffffff
xor edx, edx
mov rcx, rdi
mov rax, qword [0x14010c2b0]
call qword [case.0x140066f27.0]
mov dword [r13], eax
mov rax, r15
inc rax
cmp word [rdi + rax*2], r14w
jne 0x140008ecf
lea rdi, [rdi + rax*2]
add rdi, 2
add r13, 4
add esi, ebx
cmp esi, dword [rbp + 0x5c]
jb 0x140008eb6
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov dword [r13], 0x409
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x1a8], rax
mov eax, dword [rbp + 0x5c]
inc eax
mov dword [rbp - 0x58], eax
mov qword [rbp + 0x90], r14
lea rcx, [rbp + 0x90]
call fcn.1400259bc
lea rcx, [rbp + 0xc8]
call fcn.1400259bc
test r12d, r12d
js 0x1400090d7
mov r10d, r14d
mov dword [rbp - 0x38], r14d
mov r9d, r14d
lea r11, [0x1400f4e70]
cmp dword [rbp - 0x58], r14d
jbe 0x140008f9f
mov r8, r14
mov rax, qword [rbp + 0x1a8]
mov edx, r14d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x140008f99
mov ecx, 1
add edx, ecx
add rdi, 4
cmp edx, 0x26
jb 0x140008f72
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x58]
jae 0x140008f9f
jmp 0x140008f6c
mov r10d, edx
mov dword [rbp - 0x38], edx
mov edi, r10d
mov dword [rbp - 0x40], r14d
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0xe30]
mov ecx, dword [r11 + rdi*4]
mov rax, qword [0x14010c2a8]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000900c
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xbf0]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0xe30]
mov rax, qword [0x14010c290]
call qword [case.0x140066f27.0]
mov r9d, 1
test eax, eax
jle 0x140009012
mov r12d, dword [rbp + 0xbfc]
shr r12d, 0x1b
and r12d, r9d
mov dword [rbp - 0x40], r12d
jmp 0x140009012
mov r9d, 1
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0xd80]
mov r8d, SafeArrayGetElement
or rbx, 0xffffffffffffffff
mov qword [rdx], rcx
mov rax, rbx
inc rax
cmp word [rcx + rax*2], r14w
jne 0x140009030
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub r8, r9
jne 0x14000902a
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xf4f10]
mov rax, qword [rbp + rax*8 + 0xd80]
mov qword [rbp + 0x28], rax
movzx eax, byte [rdx + rcx + 0xf4f11]
mov rax, qword [rbp + rax*8 + 0xd80]
mov qword [rbp - 0x48], rax
movzx eax, byte [rdx + rcx + 0xf4f12]
mov rax, qword [rbp + rax*8 + 0xd80]
mov qword [rsp + 0x78], rax
mov dword [rbp + 0x18], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
xor edx, edx
mov r8d, 0x1c90
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x70], rax
test rax, rax
movabs rbx, 0xc81ecb17b1b54a58
jne 0x140009246
mov r12d, 0x8007000e
mov r8d, 1
cmp qword [rbp + 0x60], r14
je 0x14000916f
mov r13, r14
mov eax, 3
mov qword [rbp - 0x30], rax
or rbx, 0xffffffffffffffff
mov rcx, qword [rbp + 0x60]
cmp qword [rcx + r13], r14
je 0x140009158
test rcx, rcx
jne 0x140009109
mov rcx, r14
mov rdi, qword [rcx + r13]
mov rcx, rbx
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140009110
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x60]
mov rdi, qword [rax + r13]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x30]
mov r8d, 1
add r13, 8
sub rax, r8
mov qword [rbp - 0x30], rax
jne 0x1400090f7
movabs rbx, 0xc81ecb17b1b54a58
mov rdi, qword [rbp + 0x150]
test rdi, rdi
je 0x140009186
xor eax, eax
mov rcx, qword [rbp + 0x230]
rep stosb byte [rdi], al
lea rcx, [rbp + 0x60]
call fcn.1400259bc
lea rcx, [rbp + 0x150]
call fcn.1400259bc
lea rcx, [rbp + 0x1a8]
call fcn.1400259bc
test r12d, r12d
js 0x140009e16
mov rax, qword [rbp + 0x1b8]
mov rcx, qword [rax]
mov qword [rbp + 0x488], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x490], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x498], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x338], xmm0
mov edi, r14d
mov r12d, r14d
mov dword [rbp + 0x338], reloc.OLEAUT32.dll_SafeArrayGetDim
xor r9d, r9d
lea r8, [rbp + 0x338]
xor edx, edx
lea ecx, [rdx + 0x42]
mov rax, qword [0x14010c368]
call qword [case.0x140066f27.0]
test eax, eax
jne 0x140009875
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 0x14000987e
mov r12d, 0x80004005
jmp 0x14000987e
or dword [rbp - 0x18], 0xffffffff
mov r11d, r14d
mov r10d, r14d
lea rbx, [rax + 7]
lea rsi, [0x1400f31d2]
mov r15d, 0x392
mov r13d, r14d
mov r14d, dword [rbp - 0x18]
mov r12d, 1
movzx r9d, byte [rsi - 2]
shl r9d, 8
movzx eax, byte [rsi - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 1]
or r9d, eax
movzx r8d, byte [rsi + 2]
shl r8d, 8
movzx eax, byte [rsi + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [rsi + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [rsi + 5]
or r8d, eax
xor r10d, r9d
xor r11d, r8d
lea rsi, [rsi + 8]
mov edi, r10d
xor edi, r11d
xor edi, 0xac987321
lea eax, [rdi + 0x54969fa2]
rol eax, 5
mov ecx, edi
rol ecx, 0xa
imul eax, eax, 0x137f
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0xab69
sub eax, ecx
xor edi, eax
mov eax, edi
shr eax, 0xd
imul ecx, edi, 0x605e
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor edi, eax
mov ecx, edi
xor ecx, 0xab69605e
mov eax, 0x7f1137f
sub eax, ecx
xor r10d, eax
mov edx, r10d
ror edx, 6
mov eax, r10d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edx, ecx
xor edi, edx
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
mov ecx, r10d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor edi, eax
mov eax, edi
mov edx, 0xab69605e
xor eax, edx
ror eax, 0xc
mov ecx, edi
ror ecx, 0xa
imul eax, eax, 0x137f
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 edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea r11d, [r10 - 0x7f1]
xor r11d, edi
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
mov ecx, r10d
rol ecx, 7
imul eax, eax, 0xab69
add ecx, eax
xor r11d, ecx
mov edx, r11d
ror edx, 9
mov eax, r11d
xor eax, 0x137f
imul ecx, eax, 0x605e
add edx, ecx
xor r10d, edx
mov eax, r10d
xor eax, 0xab69
rol eax, 5
mov ecx, r10d
rol ecx, 7
imul eax, eax, 0x7f1
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
mov ecx, r11d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor r10d, eax
lea eax, [r10 - 0x54969fa2]
rol eax, 3
mov ecx, r10d
rol ecx, 0xe
imul eax, eax, 0x7f1
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x54969fa2]
rol eax, 0xf
mov ecx, r11d
ror ecx, 0xe
imul eax, eax, 0x137f
sub eax, ecx
xor r10d, eax
mov eax, r10d
xor eax, 0x605e
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
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r13d
xor r10d, ecx
xor r11d, r14d
mov byte [rbx - 4], r10b
ror r10d, 8
mov byte [rbx], r11b
ror r11d, 8
mov byte [rbx - 5], r10b
ror r10d, 8
mov byte [rbx - 1], r11b
ror r11d, 8
mov byte [rbx - 6], r10b
ror r10d, 8
mov byte [rbx - 2], r11b
ror r11d, 8
mov byte [rbx - 7], r10b
mov byte [rbx - 3], r11b
ror r10d, 8
ror r11d, 8
mov r13d, r9d
mov r14d, r8d
lea rbx, [rbx + 8]
sub r15, r12
jne 0x14000926e
xor r14d, r14d
mov eax, r14d
xorps xmm1, xmm1
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov r12d, dword [rbp + 0x18]
mov r13, qword [rbp - 0x70]
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r13]
pxor xmm0, xmm1
movdqa xmm1, xmm0
add rax, 0x10
cmp rax, rcx
jb 0x14000957d
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 [0x1400f4e60]
je 0x1400095dc
mov r12d, 0xc004d501
jmp 0x1400095ed
mov qword [rbp + 0x150], r13
mov r13, r14
mov qword [rbp + 0x230], rcx
test r13, r13
je 0x140009612
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12d, r12d
js 0x1400090d7
mov rdx, qword [rbp + 0x150]
lea rdi, [rbp + 0xd50]
mov r8d, 6
mov r9d, dword [rbp - 0x38]
or rsi, 0xffffffffffffffff
mov ecx, r14d
cmp r9d, ecx
jne 0x140009642
mov qword [rdi], rdx
mov rax, rsi
inc rax
cmp byte [rdx + rax], r14b
jne 0x140009645
inc rax
add rdx, rax
mov eax, 1
add ecx, eax
cmp ecx, 0x26
jb 0x14000963a
add rdi, 8
sub r8, rax
jne 0x140009637
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
xor edx, edx
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
lea rcx, [rbp + 0x60]
call fcn.1400259bc
test rdi, rdi
movabs rsi, 0x7f1137fab69605e
mov r8d, 1
jne 0x1400096ba
mov qword [rbp + 0x60], r14
mov r12d, 0x8007000e
jmp 0x1400090dd
mov qword [rbp + 0x60], rdi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov edx, r14d
mov dword [rbp - 0x58], edx
mov r13, r14
lea rcx, [rbp + 0xe20]
mov qword [rbp - 0x30], rcx
mov eax, r14d
movzx edi, word [rcx]
lea rcx, [0x1400f4f88]
cmp di, word [rcx]
je 0x140009701
add eax, r8d
add rcx, 2
cmp eax, 6
jb 0x1400096eb
jmp 0x1400097d1
mov rcx, qword [rbp + rax*8 + 0xd50]
mov qword [rbp - 0x70], rcx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r14b
jne 0x140009711
lea r9d, [r8 + rax]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r8, rcx
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x14010c2c0]
call qword [case.0x140066f27.0]
mov dword [rbp - 0x80], eax
test eax, eax
je 0x14000983e
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x60]
mov qword [rcx + r13], rax
mov rcx, qword [rbp + 0x60]
cmp qword [rcx + r13], r14
je 0x1400090d1
or rax, 0xffffffffffffffff
mov r8, qword [rbp - 0x70]
inc rax
cmp byte [r8 + rax], r14b
jne 0x14000978e
mov r9d, 1
add r9d, eax
mov edx, dword [rbp - 0x80]
mov dword [rsp + 0x28], edx
mov rdx, qword [rcx + r13]
mov qword [rsp + 0x20], rdx
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x14010c2c0]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000980d
mov edx, dword [rbp - 0x58]
mov r8d, 1
add edx, r8d
mov dword [rbp - 0x58], edx
mov rcx, qword [rbp - 0x30]
add rcx, 2
mov qword [rbp - 0x30], rcx
add r13, 8
cmp edx, 3
jb 0x1400096de
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x1b8], rax
mov eax, dword [rbp - 0x40]
mov dword [rbp + 0x480], eax
jmp 0x1400090dd
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 0x1400090d7
mov r12d, 0x80004005
jmp 0x1400090d7
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
mov r8d, 1
test r12d, r12d
js 0x1400090dd
mov r12d, 0x80004005
jmp 0x1400090dd
mov edi, dword [rbp + 0x33c]
and edi, 1
mov dword [rbp + 0x484], edi
mov r13d, dword [rsp + 0x68]
test r12d, r12d
js 0x140009e1b
mov ecx, r13d
mov eax, 0x2a
mov dword [rbp - 0x20], eax
sub ecx, 1
je 0x1400098c5
sub ecx, 1
je 0x1400098bc
cmp ecx, 1
jne 0x1400098cf
mov r12d, 0xe1
mov dword [rbp - 0x50], r12d
mov dword [rbp - 0x28], r12d
jmp 0x1400098cf
mov dword [rbp - 0x50], SafeArrayGetDim
jmp 0x1400098c8
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x28], SafeArrayGetDim
mov edi, 0x60
mov dword [rbp - 0x38], edi
lea r12d, [rdi + 0x7c]
mov r8d, r12d
xor edx, edx
lea rcx, [rbp + 0xc10]
call sub.msvcrt.dll_memset
mov word [rbp + 0xc54], r12w
lea r8, [rbp + 0xc10]
or edx, 0xffffffff
xor ecx, ecx
mov rax, qword [0x14010c2e0]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000993d
movzx edi, word [rbp + 0xcb6]
mov eax, dword [rbp + 0xcbc]
mov dword [rbp + 0x978], eax
mov eax, dword [rbp + 0xcc0]
mov dword [rbp + 0x97c], eax
lea eax, [r12 - 0x7c]
cmp edi, eax
cmovb edi, eax
mov dword [rbp - 0x38], edi
mov eax, 1
cmp r13d, eax
mov rax, qword [rsp + 0x78]
cmove rax, qword [rbp + 0x28]
mov qword [rsp + 0x78], rax
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xb90]
call sub.msvcrt.dll_memset
mov r12d, r14d
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x14010c2f8]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x1400099ba
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 0x140009e1b
mov r12d, 0x80004005
jmp 0x140009e1b
mov r8d, 0x48
mov edx, edi
mov ecx, dword [rbp - 0x50]
mov rax, qword [0x14010c2b8]
call qword [case.0x140066f27.0]
neg eax
mov dword [rbp + 0xb90], eax
mov dword [rbp + 0xba0], 0x190
mov byte [rbp + 0xbaa], 5
mov r8, qword [rsp + 0x78]
mov edx, 0x20
lea rcx, [rbp + 0xbac]
call fcn.140014898
lea rcx, [rbp + 0xb90]
mov rax, qword [0x14010c220]
call qword [case.0x140066f27.0]
test rax, rax
jne 0x140009a44
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 0x140009a4b
mov r12d, 0x80004005
jmp 0x140009a4b
mov qword [rbp + 0x4a0], rax
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
mov rax, qword [0x14010c360]
call qword [case.0x140066f27.0]
test r12d, r12d
js 0x140009e1b
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xad0]
call sub.msvcrt.dll_memset
mov r12d, r14d
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x14010c2f8]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140009989
mov r8d, 0x48
mov edx, edi
mov ecx, dword [rbp - 0x28]
mov rax, qword [0x14010c2b8]
call qword [case.0x140066f27.0]
neg eax
mov dword [rbp + 0xad0], eax
mov dword [rbp + 0xae0], 0x190
mov byte [rbp + 0xaea], 5
mov r8, qword [rsp + 0x78]
mov edx, 0x20
lea rcx, [rbp + 0xaec]
call fcn.140014898
lea rcx, [rbp + 0xad0]
mov rax, qword [0x14010c220]
call qword [case.0x140066f27.0]
test rax, rax
jne 0x140009b2a
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 0x140009b31
mov r12d, 0x80004005
jmp 0x140009b31
mov qword [rbp + 0x4a8], rax
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
mov rax, qword [0x14010c360]
call qword [case.0x140066f27.0]
test r12d, r12d
js 0x140009e1b
mov r13d, r14d
mov edx, r14d
mov edi, dword [rsp + 0x68]
mov ecx, edi
sub ecx, 1
je 0x140009b68
sub ecx, 1
je 0x140009b9f
cmp ecx, 1
jne 0x140009b75
mov r13d, dword [rbp + 0x978]
mov edx, dword [rbp + 0x97c]
mov dword [rbp + 0x908], r13d
mov dword [rbp + 0x90c], edx
mov ecx, 1
cmp edi, ecx
je 0x140009bca
lea eax, [rdi - 2]
cmp eax, ecx
ja 0x140009bb6
mov ecx, r14d
mov dword [rbp - 0x20], r14d
mov dword [rbp - 0x28], r14d
jmp 0x140009bd6
mov eax, dword [rbp + 0x978]
cdq
and edx, 3
lea r13d, [rdx + rax]
sar r13d, 2
mov edx, r14d
jmp 0x140009b75
mov eax, dword [rbp + 0x78]
mov dword [rbp - 0x28], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp - 0x20], eax
mov eax, dword [rbp + 0x78]
mov ecx, dword [rbp + 0x78]
jmp 0x140009bd9
mov ecx, reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rbp - 0x28], 0x20
mov eax, r14d
mov dword [rbp], ecx
mov dword [rbp - 0x40], eax
sub r13d, ecx
sub r13d, eax
mov dword [rbp + 0x4d4], r13d
mov dword [rbp + 0x4c4], r13d
mov rdi, qword [rbp + 0x488]
mov r12d, r14d
mov rdx, qword [rbp + 0x4a0]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x4bc]
or r8, 0xffffffffffffffff
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140009c71
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
test r12d, r12d
js 0x140009e16
mov rdi, qword [rbp + 0x490]
mov r12d, r14d
mov rdx, qword [rbp + 0x4a8]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x4cc]
or r8, 0xffffffffffffffff
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140009cf8
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
test r12d, r12d
js 0x140009e16
mov r12d, dword [rsp + 0x68]
lea eax, [r12 - 2]
mov ecx, dword [rbp + 0x4c4]
mov edx, 1
cmp eax, edx
ja 0x140009d28
mov r13d, dword [rbp + 0x4d4]
cmp ecx, r13d
cmovg r13d, ecx
mov r8d, dword [rbp - 0x20]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
cmp dword [rbp + 0x480], r14d
je 0x140009d5f
mov edi, dword [rbp - 0x40]
mov edx, edi
sub edx, ecx
add edx, r13d
lea rcx, [rbp + 0x4bc]
call qword [case.0x140066f27.0]
sub edi, dword [rbp + 0x4d4]
lea edx, [rdi + r13]
jmp 0x140009d72
mov edx, dword [rbp]
lea rcx, [rbp + 0x4bc]
call qword [case.0x140066f27.0]
mov edx, dword [rbp]
mov r8d, dword [rbp - 0x28]
add r8d, dword [rbp + 0x4c8]
lea rcx, [rbp + 0x4cc]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
lea eax, [r12 - 2]
mov edx, 1
cmp eax, edx
jbe 0x14000a226
cmp r12d, edx
jne 0x14000a243
mov dword [rbp + 0x4b8], 0xffffff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xb30]
call sub.msvcrt.dll_memset
mov r12d, r14d
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x14010c2f8]
call qword [case.0x140066f27.0]
mov rdi, rax
test rax, rax
jne 0x140009fec
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 0x140009e16
mov r12d, 0x80004005
mov r13d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x14010c360]
call qword [case.0x140066f27.0]
mov ecx, 1
xor eax, eax
lock cmpxchg dword [0x140114ebc], ecx
jne 0x140009e34
mov eax, dword [0x140114eb8]
test eax, eax
jle 0x140009eb9
sub eax, ecx
mov dword [0x140114eb8], eax
jne 0x140009eb9
lea rdi, [0x140114600]
mov eax, 4
mov qword [rbp - 0x48], rax
cmp qword [rdi], r14
je 0x140009e81
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov rax, qword [rbp - 0x48]
mov ecx, 1
add rdi, 0x18
sub rax, rcx
mov qword [rbp - 0x48], rax
jne 0x140009e64
xor edx, edx
lea r8d, [rdx + 0x60]
lea rcx, [0x140114600]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400eb6e0]
lea rcx, [0x14010c200]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x140114ebc], eax
lea rcx, [rbp + 0x1b8]
call fcn.1400259bc
test r12d, r12d
js 0x14000bc30
mov rdi, qword [rbp + 0x900]
mov qword [rbp + 0x248], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x4f0]
call sub.msvcrt.dll_memset
mov edx, 7
lea r12d, [rdx - 6]
mov rcx, qword [rbp + 0x20]
mov rax, qword [0x14010c250]
call qword [case.0x140066f27.0]
test rax, rax
je 0x140009f5f
lea r8, [rbp + 0x4f0]
lea edx, [r12 + 0x67]
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
test eax, eax
je 0x140009f5f
lea eax, [r12 + 0x1f]
cmp word [rbp + 0x502], ax
jne 0x140009f5f
cmp qword [rbp + 0x508], r14
je 0x140009f5f
cmp dword [rbp + 0x4f4], r14d
jle 0x140009f5f
cmp dword [rbp + 0x4f8], r14d
jg 0x140009f62
mov r12d, r14d
mov dword [rbp + 0x118], r12d
test r12d, r12d
jne 0x140009f7c
lea eax, [r12 + 1]
cmp r13d, eax
jne 0x14000a428
mov r8d, dword [rbp + 0x24c]
mov edx, edi
lea rcx, [rbp + 0x4bc]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov r8d, dword [rbp + 0x24c]
mov edx, edi
lea rcx, [rbp + 0x4cc]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov edi, 1
cmp r13d, edi
jne 0x14000a42d
mov eax, dword [rbp + 0x484]
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xb26720
mov rax, qword [0x14010c228]
call qword [case.0x140066f27.0]
mov qword [rbp + 0x40], rax
jmp 0x14000a42d
mov r8d, 0x48
mov edx, dword [rbp - 0x38]
lea ecx, [r8 - 0x3d]
mov rax, qword [0x14010c2b8]
call qword [case.0x140066f27.0]
neg eax
mov dword [rbp + 0xb30], eax
mov dword [rbp + 0xb40], 0x190
mov byte [rbp + 0xb4a], 5
mov r8, qword [rbp - 0x48]
mov edx, 0x20
lea rcx, [rbp + 0xb4c]
call fcn.140014898
lea rcx, [rbp + 0xb30]
mov rax, qword [0x14010c220]
call qword [case.0x140066f27.0]
test rax, rax
jne 0x14000a077
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 0x14000a07e
mov r12d, 0x80004005
jmp 0x14000a07e
mov qword [rbp + 0x4b0], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x14010c360]
call qword [case.0x140066f27.0]
test r12d, r12d
js 0x140009e16
mov dword [rbp + 0x4e4], r13d
mov rdi, qword [rbp + 0x498]
mov r12d, r14d
mov rdx, qword [rbp + 0x4b0]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov r13, rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x4dc]
or r8, 0xffffffffffffffff
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
test r13, r13
je 0x14000a119
mov rdx, r13
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
test r12d, r12d
js 0x140009e16
mov eax, dword [rbp + 0x4e4]
add eax, 0x18
mov ecx, 0x5a
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x4e4], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x4e8], eax
lea r12d, [rcx + 6]
mov r8d, r12d
mov edi, dword [rbp - 0x38]
mov edx, edi
mov ecx, dword [rbp + 0x4dc]
mov rax, qword [0x14010c2b8]
call qword [case.0x140066f27.0]
mov dword [rbp + 0x4dc], eax
mov r8d, r12d
mov edx, edi
mov ecx, dword [rbp + 0x4e0]
mov rax, qword [0x14010c2b8]
call qword [case.0x140066f27.0]
mov dword [rbp + 0x4e0], eax
mov r8d, r12d
mov edx, edi
mov ecx, dword [rbp + 0x4e4]
mov rax, qword [0x14010c2b8]
call qword [case.0x140066f27.0]
mov dword [rbp + 0x4e4], eax
mov r8d, r12d
mov edx, edi
mov ecx, dword [rbp + 0x4e8]
mov rax, qword [0x14010c2b8]
call qword [case.0x140066f27.0]
mov dword [rbp + 0x4e8], eax
mov r8d, dword [rbp + 0x4d8]
lea rcx, [rbp + 0x4dc]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
add r8d, 0x24
cmp dword [rbp + 0x480], r14d
je 0x14000a205
mov edx, dword [rbp + 0x4bc]
cmp edx, dword [rbp + 0x4cc]
cmovge edx, dword [rbp + 0x4cc]
call qword [case.0x140066f27.0]
mov edx, 1
jmp 0x14000a243
mov edx, dword [rbp + 0x4c4]
cmp edx, dword [rbp + 0x4d4]
cmovle edx, dword [rbp + 0x4d4]
sub edx, dword [rbp + 0x4e4]
add edx, dword [rbp + 0x4dc]
jmp 0x14000a1f8
mov dword [rbp + 0x908], r13d
mov eax, dword [rbp + 0x4d8]
mov dword [rbp + 0x90c], eax
mov dword [rbp + 0x4b8], 0xffa8a8a8
mov eax, dword [rbp + 0x480]
mov dword [rbp - 0x80], eax
mov r12d, dword [rbp + 0x90c]
mov edi, dword [rbp + 0x908]
mov r13d, dword [rsp + 0x68]
mov ecx, r13d
sub ecx, 1
je 0x14000a418
sub ecx, 1
je 0x14000a32c
cmp ecx, 1
jne 0x14000a420
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xaa8], xmm0
movups xmmword [rbp + 0xab8], xmm0
mov qword [rbp + 0xac8], rax
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov dword [rbp + 0xaa8], 0x28
lea rdx, [rbp + 0xaa8]
mov rcx, rax
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000a420
lea rdx, [rbp + 0xabc]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
lea rdx, [rbp + 0xac4]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov eax, dword [rbp + 0xac4]
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 + 0xac4]
shr rcx, 0x20
sub ecx, r12d
imul ecx, ecx, 0x32
jmp 0x14000a3f9
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xa80], xmm0
movups xmmword [rbp + 0xa90], xmm0
mov qword [rbp + 0xaa0], rax
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov dword [rbp + 0xa80], 0x28
lea rdx, [rbp + 0xa80]
mov rcx, rax
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000a420
lea rdx, [rbp + 0xa94]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
lea rdx, [rbp + 0xa9c]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov eax, dword [rbp + 0xa9c]
cmp dword [rbp - 0x80], r14d
je 0x14000a3d2
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 + 0xa94]
jmp 0x14000a3e8
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 + 0xa9c]
shr rax, 0x20
sub eax, r12d
imul ecx, eax, 0x5f
mov dword [rbp + 0x900], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x904], edx
jmp 0x14000a420
and qword [rbp + 0x900], 0
mov r12d, r14d
jmp 0x140009e1b
mov edi, 1
mov edx, edi
mov r12, qword [rbp + 0x20]
mov rcx, r12
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov dword [rsp + 0x70], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x480], r14d
cmovne eax, ecx
mov dword [rbp - 0x28], eax
cmp dword [rbp + 0x118], r14d
je 0x14000aea7
mov eax, dword [rbp + 0x484]
mov dword [rbp - 0x80], eax
mov rax, qword [rbp + 0x4a0]
mov qword [rbp - 0x70], rax
mov r12, qword [rbp + 0x488]
mov qword [rbp + 0x28], r12
mov r13d, 0x68
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x560]
call sub.msvcrt.dll_memset
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x720]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x48], r14
mov dword [rbp - 0x58], r14d
mov edi, r14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x9c0], xmm0
movups xmmword [rbp + 0x9d0], xmm0
mov qword [rbp + 0x9e0], rax
mov dword [rbp + 0x9e8], eax
movups xmmword [rbp + 0x930], xmm0
test r12, r12
je 0x14000bc17
lea edx, [rax + 7]
mov r12, qword [rbp + 0x20]
mov rcx, r12
mov rax, qword [0x14010c250]
call qword [case.0x140066f27.0]
test rax, rax
je 0x14000aef0
lea r8, [rbp + 0x560]
mov edx, r13d
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000a545
mov rax, qword [rbp + 0x578]
mov qword [rbp - 0x48], rax
mov eax, dword [rbp + 0x564]
mov dword [rbp - 0x58], eax
mov edi, dword [rbp + 0x568]
mov rcx, r12
mov rax, qword [0x14010c210]
call qword [case.0x140066f27.0]
mov r13, rax
test rax, rax
je 0x14000aef0
mov ecx, dword [rbp + 0x4c8]
sub ecx, dword [rbp + 0x4c0]
mov eax, dword [rbp + 0x4c4]
sub eax, dword [rbp + 0x4bc]
mov qword [rbp + 0x2d0], r14
mov r12d, r14d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9d0], xmm0
mov qword [rbp + 0x9e0], r14
mov dword [rbp + 0x9e8], r14d
mov dword [rbp + 0x9c0], 0x28
mov dword [rbp + 0x9c4], eax
neg ecx
mov dword [rbp + 0x9c8], ecx
mov dword [rbp + 0x9cc], 0x200001
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x2d0]
xor r8d, r8d
lea rdx, [rbp + 0x9c0]
mov rcx, r13
mov rax, qword [0x14010c218]
call qword [case.0x140066f27.0]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14000a624
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 0x14000a96b
mov r12d, 0x80004005
jmp 0x14000a96b
lea r8, [rbp + 0x720]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
mov rcx, r14
test eax, eax
cmovne rcx, qword [rbp + 0x738]
mov qword [rbp - 0x30], rcx
mov eax, dword [rbp + 0x4c4]
sub eax, dword [rbp + 0x4bc]
mov dword [rbp + 0x938], eax
mov eax, dword [rbp + 0x4c8]
sub eax, dword [rbp + 0x4c0]
mov dword [rbp + 0x93c], eax
mov rdx, qword [rsp + 0x78]
mov rcx, r13
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov edx, 1
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov rdx, qword [rbp - 0x70]
mov rcx, r13
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x38], rax
xor ecx, ecx
mov rax, qword [0x14010c270]
call qword [case.0x140066f27.0]
mov r8, rax
lea rdx, [rbp + 0x930]
mov rcx, r13
mov rax, qword [0x14010c2e8]
call qword [case.0x140066f27.0]
mov qword [rsp + 0x28], r14
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x930]
or r8, 0xffffffffffffffff
mov rdx, qword [rbp + 0x28]
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov eax, 1
cmp dword [rsp + 0x68], eax
jne 0x14000a735
cmp dword [rbp - 0x80], r14d
je 0x14000a72e
lea ecx, [rax + 7]
mov rax, qword [0x14010c318]
call qword [case.0x140066f27.0]
jmp 0x14000a73a
mov eax, 0xffffff
jmp 0x14000a73a
mov eax, 0xffa8a8a8
mov dword [rbp - 0x50], eax
mov eax, dword [rbp + 0x4bc]
mov edx, eax
neg edx
test eax, eax
cmovns edx, r14d
mov r9d, r14d
cmovns r9d, eax
mov eax, dword [rbp + 0x4c0]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, r14d
mov r10d, r14d
cmovns r10d, eax
mov eax, dword [rbp + 0x938]
sub eax, edx
movsxd r11, dword [rbp - 0x58]
mov ecx, r11d
sub ecx, r9d
cmp eax, ecx
cmovl ecx, eax
mov dword [rbp - 0x80], ecx
mov eax, dword [rbp + 0x93c]
sub eax, r8d
sub edi, r10d
cmp eax, edi
cmovl edi, eax
test ecx, ecx
jle 0x14000a93d
test edi, edi
jle 0x14000a93d
mov eax, dword [rbp + 0x938]
imul eax, r8d
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp - 0x30]
lea rdx, [rax + rcx*4]
mov qword [rbp + 0x28], rdx
mov eax, r11d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x48]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x30], rax
movsxd rcx, dword [rbp + 0x938]
shl rcx, 2
mov qword [rbp - 0x70], rcx
mov rcx, r11
shl rcx, 2
mov qword [rbp - 0x58], rcx
mov ecx, edi
mov qword [rbp + 0x18], rcx
mov ebx, dword [rbp - 0x80]
mov esi, dword [rbp - 0x50]
lea r9, [rdx + 2]
mov r10, rax
sub r10, rdx
mov rdi, rbx
mov qword [rbp - 0x48], rbx
mov r15d, 1
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14000a8f1
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
mov r11d, 0x80808081
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x4f]
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x4e]
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x48]
add r9, 4
sub rdi, r15
mov qword [rbp - 0x48], rdi
jne 0x14000a820
mov rdx, qword [rbp + 0x28]
add rdx, qword [rbp - 0x70]
mov qword [rbp + 0x28], rdx
mov rax, qword [rbp - 0x30]
add rax, qword [rbp - 0x58]
mov qword [rbp - 0x30], rax
sub qword [rbp + 0x18], r15
jne 0x14000a809
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14000a96b
mov rdx, rax
mov rcx, r13
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov rcx, r13
mov rax, qword [0x14010c230]
call qword [case.0x140066f27.0]
test r12d, r12d
js 0x14000bc17
mov eax, dword [rbp + 0x484]
mov dword [rbp - 0x80], eax
mov rax, qword [rbp + 0x4a8]
mov qword [rbp - 0x70], rax
mov r12, qword [rbp + 0x490]
mov qword [rbp + 0x28], r12
mov r13d, 0x68
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x6b0]
call sub.msvcrt.dll_memset
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x790]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x48], r14
mov dword [rbp - 0x58], r14d
mov edi, r14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x9f0], xmm0
movups xmmword [rbp + 0xa00], xmm0
mov qword [rbp + 0xa10], rax
mov dword [rbp + 0xa18], eax
movups xmmword [rbp + 0x940], xmm0
test r12, r12
je 0x14000bc17
lea edx, [rax + 7]
mov r12, qword [rbp + 0x20]
mov rcx, r12
mov rax, qword [0x14010c250]
call qword [case.0x140066f27.0]
test rax, rax
je 0x14000aef0
lea r8, [rbp + 0x6b0]
mov edx, r13d
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000aa5e
mov rax, qword [rbp + 0x6c8]
mov qword [rbp - 0x48], rax
mov eax, dword [rbp + 0x6b4]
mov dword [rbp - 0x58], eax
mov edi, dword [rbp + 0x6b8]
mov rcx, r12
mov rax, qword [0x14010c210]
call qword [case.0x140066f27.0]
mov r13, rax
test rax, rax
je 0x14000aef0
mov ecx, dword [rbp + 0x4d8]
sub ecx, dword [rbp + 0x4d0]
mov eax, dword [rbp + 0x4d4]
sub eax, dword [rbp + 0x4cc]
mov qword [rbp + 0x2d8], r14
mov r12d, r14d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa00], xmm0
mov qword [rbp + 0xa10], r14
mov dword [rbp + 0xa18], r14d
mov dword [rbp + 0x9f0], 0x28
mov dword [rbp + 0x9f4], eax
neg ecx
mov dword [rbp + 0x9f8], ecx
mov dword [rbp + 0x9fc], 0x200001
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x2d8]
xor r8d, r8d
lea rdx, [rbp + 0x9f0]
mov rcx, r13
mov rax, qword [0x14010c218]
call qword [case.0x140066f27.0]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14000ab3d
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 0x14000ae89
mov r12d, 0x80004005
jmp 0x14000ae89
lea r8, [rbp + 0x790]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
mov rcx, r14
test eax, eax
cmovne rcx, qword [rbp + 0x7a8]
mov qword [rbp - 0x30], rcx
mov eax, dword [rbp + 0x4d4]
sub eax, dword [rbp + 0x4cc]
mov dword [rbp + 0x948], eax
mov eax, dword [rbp + 0x4d8]
sub eax, dword [rbp + 0x4d0]
mov dword [rbp + 0x94c], eax
mov rdx, qword [rsp + 0x78]
mov rcx, r13
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov edx, 1
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov rdx, qword [rbp - 0x70]
mov rcx, r13
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x38], rax
xor ecx, ecx
mov rax, qword [0x14010c270]
call qword [case.0x140066f27.0]
mov r8, rax
lea rdx, [rbp + 0x940]
mov rcx, r13
mov rax, qword [0x14010c2e8]
call qword [case.0x140066f27.0]
mov qword [rsp + 0x28], r14
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x940]
or r8, 0xffffffffffffffff
mov rdx, qword [rbp + 0x28]
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov eax, 1
cmp dword [rsp + 0x68], eax
jne 0x14000ac50
cmp dword [rbp - 0x80], r14d
je 0x14000ac47
lea ecx, [rax + 7]
mov rax, qword [0x14010c318]
call qword [case.0x140066f27.0]
jmp 0x14000ac55
mov dword [rbp - 0x20], 0xffffff
jmp 0x14000ac5b
mov eax, 0xffa8a8a8
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x4cc]
mov edx, eax
neg edx
test eax, eax
cmovns edx, r14d
mov r9d, r14d
cmovns r9d, eax
mov eax, dword [rbp + 0x4d0]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, r14d
mov r10d, r14d
cmovns r10d, eax
mov eax, dword [rbp + 0x948]
sub eax, edx
movsxd r11, dword [rbp - 0x58]
mov ecx, r11d
sub ecx, r9d
cmp eax, ecx
cmovl ecx, eax
mov dword [rbp - 0x80], ecx
mov eax, dword [rbp + 0x94c]
sub eax, r8d
sub edi, r10d
cmp eax, edi
cmovl edi, eax
test ecx, ecx
jle 0x14000ae5b
test edi, edi
jle 0x14000ae5b
mov eax, dword [rbp + 0x948]
imul eax, r8d
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp - 0x30]
lea rdx, [rax + rcx*4]
mov qword [rbp + 0x28], rdx
mov eax, r11d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x48]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x30], rax
movsxd rcx, dword [rbp + 0x948]
shl rcx, 2
mov qword [rbp - 0x70], rcx
mov rcx, r11
shl rcx, 2
mov qword [rbp - 0x58], rcx
mov ecx, edi
mov qword [rbp + 0x18], rcx
mov esi, dword [rbp - 0x80]
mov r15d, dword [rbp - 0x78]
lea r9, [rdx + 2]
mov r10, rax
sub r10, rdx
mov rdi, rsi
mov qword [rbp - 0x48], rsi
mov ebx, 1
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14000ae0f
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r15b
sub ecx, edi
imul ecx, r8d
mov r11d, 0x80808081
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x1f]
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x1e]
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x48]
add r9, 4
sub rdi, rbx
mov qword [rbp - 0x48], rdi
jne 0x14000ad3e
mov rdx, qword [rbp + 0x28]
add rdx, qword [rbp - 0x70]
mov qword [rbp + 0x28], rdx
mov rax, qword [rbp - 0x30]
add rax, qword [rbp - 0x58]
mov qword [rbp - 0x30], rax
sub qword [rbp + 0x18], rbx
jne 0x14000ad28
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14000ae89
mov rdx, rax
mov rcx, r13
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov rcx, r13
mov rax, qword [0x14010c230]
call qword [case.0x140066f27.0]
test r12d, r12d
js 0x14000bc17
jmp 0x14000bbd0
cmp dword [rbp + 0x484], r14d
jne 0x14000aeb7
cmp r13d, edi
mov al, 0xc0
jne 0x14000aeb9
mov al, 0xff
and word [rbp], 0
mov byte [rbp + 2], al
mov byte [rbp + 3], dil
mov r13d, r14d
and qword [rbp + 0x910], 0
mov dword [rbp + 0x920], r14d
mov rcx, r12
mov rax, qword [0x14010c210]
call qword [case.0x140066f27.0]
mov qword [rbp + 0x30], rax
test rax, rax
jne 0x14000af01
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14000bc17
cmp dword [rsp + 0x68], edi
jne 0x14000afd2
mov r9d, dword [rbp + 0x4d4]
mov eax, r9d
mov r10d, dword [rbp + 0x4cc]
sub eax, r10d
mov edx, dword [rbp + 0x4c4]
mov r12d, edx
mov r11d, dword [rbp + 0x4bc]
sub r12d, r11d
cmp eax, r12d
cmovg r12d, eax
mov ecx, dword [rbp + 0x4d8]
mov r8d, ecx
sub r8d, dword [rbp + 0x4c0]
mov dword [rbp - 0x40], r8d
mov edi, r14d
mov eax, r14d
cmp dword [rbp + 0x480], r14d
je 0x14000af7e
mov r13d, r11d
sub r13d, edx
add r13d, r12d
mov dword [rbp + 0x910], r13d
mov eax, r10d
sub eax, r9d
add eax, r12d
mov dword [rbp + 0x920], eax
mov edi, r13d
sub edi, r11d
add edi, edx
mov dword [rbp + 0x918], edi
mov edx, dword [rbp + 0x4c8]
sub edx, dword [rbp + 0x4c0]
mov dword [rbp - 0x20], edx
mov dword [rbp + 0x91c], edx
sub eax, r10d
add eax, r9d
mov dword [rbp - 0x80], eax
mov dword [rbp + 0x928], eax
mov eax, dword [rbp + 0x4d0]
sub eax, dword [rbp + 0x4c0]
mov dword [rbp + 0x924], eax
sub ecx, dword [rbp + 0x4d0]
add ecx, eax
mov dword [rbp - 0x18], ecx
mov dword [rbp + 0x92c], ecx
jmp 0x14000b030
mov r12d, dword [rbp + 0x908]
mov r8d, dword [rbp + 0x90c]
mov dword [rbp - 0x40], r8d
movups xmm0, xmmword [rbp + 0x4bc]
movdqu xmmword [rbp + 0x910], xmm0
movups xmm1, xmmword [rbp + 0x4cc]
movdqu xmmword [rbp + 0x920], xmm1
mov eax, dword [rbp + 0x91c]
mov dword [rbp - 0x20], eax
mov edi, dword [rbp + 0x918]
mov r13d, dword [rbp + 0x910]
mov eax, dword [rbp + 0x92c]
mov dword [rbp - 0x18], eax
mov eax, dword [rbp + 0x928]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0x924]
mov dword [rbp - 0x58], eax
mov qword [rbp + 0x2e0], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa30], xmm0
mov qword [rbp + 0xa40], r14
mov dword [rbp + 0xa48], r14d
mov dword [rbp + 0xa20], 0x28
mov dword [rbp + 0xa24], r12d
mov eax, r8d
neg eax
mov dword [rbp + 0xa28], eax
mov dword [rbp + 0xa2c], 0x200001
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x2e0]
xor r8d, r8d
lea rdx, [rbp + 0xa20]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x14010c218]
call qword [case.0x140066f27.0]
mov qword [rbp - 8], rax
test rax, rax
jne 0x14000b0bf
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14000bbfe
mov rdx, rax
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov eax, 1
cmp dword [rsp + 0x68], eax
jne 0x14000b117
mov r8, qword [rbp + 0x40]
test r8, r8
je 0x14000b117
and qword [rbp + 0x980], 0
mov dword [rbp + 0x988], r12d
mov eax, dword [rbp - 0x40]
mov dword [rbp + 0x98c], eax
lea rdx, [rbp + 0x980]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x14010c2e8]
call qword [case.0x140066f27.0]
mov eax, dword [rbp + 0x484]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp + 0x4a0]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x488]
mov qword [rbp - 0x48], rax
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x5d0]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x800]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x28], r14
mov dword [rsp + 0x78], r14d
mov dword [rbp + 0x18], r14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xa50], xmm0
movups xmmword [rbp + 0xa60], xmm0
mov qword [rbp + 0xa70], rax
mov dword [rbp + 0xa78], eax
movups xmmword [rbp + 0x950], xmm0
cmp qword [rbp - 0x48], r14
je 0x14000bbe5
lea edx, [rax + 7]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x14010c250]
call qword [case.0x140066f27.0]
test rax, rax
jne 0x14000b1c2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14000bbe5
lea r8, [rbp + 0x5d0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000b200
mov rax, qword [rbp + 0x5e8]
mov qword [rbp + 0x28], rax
mov eax, dword [rbp + 0x5d4]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x5d8]
mov dword [rbp + 0x18], eax
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x14010c210]
call qword [case.0x140066f27.0]
mov rcx, rax
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14000b1b1
mov eax, dword [rbp - 0x20]
sub eax, dword [rbp + 0x914]
mov dword [rbp - 0x20], eax
sub edi, r13d
mov qword [rbp + 0x2e8], r14
mov dword [rbp - 0x38], r14d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa60], xmm0
mov qword [rbp + 0xa70], r14
mov dword [rbp + 0xa78], r14d
mov dword [rbp + 0xa50], 0x28
mov dword [rbp + 0xa54], edi
neg eax
mov dword [rbp + 0xa58], eax
mov dword [rbp + 0xa5c], 0x200001
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x2e8]
xor r8d, r8d
lea rdx, [rbp + 0xa50]
mov rax, qword [0x14010c218]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x14000b2d4
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x38], ecx
test ecx, ecx
js 0x14000b60b
mov dword [rbp - 0x38], 0x80004005
jmp 0x14000b60b
lea r8, [rbp + 0x800]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
mov rcx, r14
test eax, eax
cmovne rcx, qword [rbp + 0x818]
mov qword [rbp - 0x10], rcx
mov dword [rbp + 0x958], edi
mov eax, dword [rbp - 0x20]
mov dword [rbp + 0x95c], eax
mov rdx, qword [rbp - 0x70]
mov rdi, qword [rbp - 0x30]
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov edx, 1
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov rdx, qword [rbp + 0x50]
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x20], rax
xor ecx, ecx
mov rax, qword [0x14010c270]
call qword [case.0x140066f27.0]
mov r8, rax
lea rdx, [rbp + 0x950]
mov rcx, rdi
mov rax, qword [0x14010c2e8]
call qword [case.0x140066f27.0]
mov qword [rsp + 0x28], r14
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x950]
or r8, 0xffffffffffffffff
mov rdx, qword [rbp - 0x48]
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov eax, 1
cmp dword [rsp + 0x68], eax
jne 0x14000b3d3
cmp dword [rbp - 0x50], r14d
je 0x14000b3cc
lea ecx, [rax + 7]
mov rax, qword [0x14010c318]
call qword [case.0x140066f27.0]
jmp 0x14000b3d8
mov eax, 0xffffff
jmp 0x14000b3d8
mov eax, 0xffa8a8a8
mov dword [rbp - 0x50], eax
mov r8d, r13d
neg r8d
test r13d, r13d
cmovns r8d, r14d
mov r9d, r14d
cmovns r9d, r13d
mov eax, dword [rbp + 0x914]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r14d
mov r10d, r14d
cmovns r10d, eax
movsxd r11, dword [rsp + 0x78]
mov r13d, r11d
sub r13d, r9d
mov eax, dword [rbp + 0x958]
sub eax, r8d
cmp eax, r13d
cmovl r13d, eax
mov edx, dword [rbp + 0x18]
sub edx, r10d
mov eax, dword [rbp + 0x95c]
sub eax, ecx
cmp eax, edx
cmovl edx, eax
test r13d, r13d
jle 0x14000b5de
test edx, edx
jle 0x14000b5de
mov eax, dword [rbp + 0x958]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x10]
lea rdi, [rax + rcx*4]
mov qword [rbp + 0x18], rdi
mov eax, r11d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x28]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x28], rax
movsxd rcx, dword [rbp + 0x958]
shl rcx, 2
mov qword [rbp - 0x10], rcx
mov rcx, r11
shl rcx, 2
mov qword [rbp + 0x50], rcx
mov ecx, edx
mov qword [rsp + 0x78], rcx
mov ebx, dword [rbp - 0x50]
mov rsi, qword [rbp - 0x10]
mov r15d, 1
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r13d
mov qword [rbp - 0x48], rdi
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14000b58e
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
mov r11d, 0x80808081
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x4f]
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x4e]
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x48]
add r9, 4
sub rdi, r15
mov qword [rbp - 0x48], rdi
jne 0x14000b4be
mov rdi, qword [rbp + 0x18]
add rdi, rsi
mov qword [rbp + 0x18], rdi
mov rax, qword [rbp + 0x28]
add rax, qword [rbp + 0x50]
mov qword [rbp + 0x28], rax
sub qword [rsp + 0x78], r15
jne 0x14000b4ad
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov rdi, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x14000b60b
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov rcx, qword [rbp - 0x30]
mov rax, qword [0x14010c230]
call qword [case.0x140066f27.0]
cmp dword [rbp - 0x38], r14d
jl 0x14000bbe5
mov eax, dword [rbp + 0x484]
mov dword [rbp - 0x20], eax
mov rax, qword [rbp + 0x4a8]
mov qword [rbp - 0x10], rax
mov rdi, qword [rbp + 0x490]
mov qword [rbp + 0x50], rdi
mov r13d, 0x68
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x640]
call sub.msvcrt.dll_memset
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x870]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x70], r14
mov dword [rbp + 0x18], r14d
mov dword [rsp + 0x78], r14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x990], xmm0
movups xmmword [rbp + 0x9a0], xmm0
mov qword [rbp + 0x9b0], rax
mov dword [rbp + 0x9b8], eax
movups xmmword [rbp + 0x960], xmm0
test rdi, rdi
je 0x14000bbe5
lea edx, [rax + 7]
mov rdi, qword [rbp + 0x30]
mov rcx, rdi
mov rax, qword [0x14010c250]
call qword [case.0x140066f27.0]
test rax, rax
je 0x14000b1b1
lea r8, [rbp + 0x640]
mov edx, r13d
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
test eax, eax
je 0x14000b706
mov rax, qword [rbp + 0x658]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0x644]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x648]
mov dword [rsp + 0x78], eax
mov rcx, rdi
mov rax, qword [0x14010c210]
call qword [case.0x140066f27.0]
mov rcx, rax
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14000b1b1
mov r13d, dword [rbp - 0x18]
sub r13d, dword [rbp - 0x58]
mov edi, dword [rbp - 0x80]
sub edi, dword [rbp + 0x920]
mov qword [rbp + 0x2f8], r14
mov dword [rbp - 0x38], r14d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9a0], xmm0
mov qword [rbp + 0x9b0], r14
mov dword [rbp + 0x9b8], r14d
mov dword [rbp + 0x990], 0x28
mov dword [rbp + 0x994], edi
mov eax, r13d
neg eax
mov dword [rbp + 0x998], eax
mov dword [rbp + 0x99c], 0x200001
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x2f8]
xor r8d, r8d
lea rdx, [rbp + 0x990]
mov rax, qword [0x14010c218]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x18], rax
test rax, rax
jne 0x14000b7e2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x38], ecx
test ecx, ecx
js 0x14000bb1d
mov dword [rbp - 0x38], 0x80004005
jmp 0x14000bb1d
lea r8, [rbp + 0x870]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x14010c268]
call qword [case.0x140066f27.0]
mov rcx, r14
test eax, eax
cmovne rcx, qword [rbp + 0x888]
mov qword [rbp - 0x48], rcx
mov dword [rbp + 0x968], edi
mov dword [rbp + 0x96c], r13d
mov rdx, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x30]
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov r13d, 1
mov edx, r13d
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov rdx, qword [rbp - 0x10]
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov qword [rbp - 0x50], rax
xor ecx, ecx
mov rax, qword [0x14010c270]
call qword [case.0x140066f27.0]
mov r8, rax
lea rdx, [rbp + 0x960]
mov rcx, rdi
mov rax, qword [0x14010c2e8]
call qword [case.0x140066f27.0]
mov qword [rsp + 0x28], r14
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x960]
or r8, 0xffffffffffffffff
mov rdx, qword [rbp + 0x50]
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
cmp dword [rsp + 0x68], r13d
jne 0x14000b8e2
cmp dword [rbp - 0x20], r14d
je 0x14000b8d9
lea ecx, [r13 + 7]
mov rax, qword [0x14010c318]
call qword [case.0x140066f27.0]
jmp 0x14000b8e7
mov dword [rbp - 0x20], 0xffffff
jmp 0x14000b8ed
mov eax, 0xffa8a8a8
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x920]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, r14d
mov r9d, r14d
cmovns r9d, eax
mov eax, dword [rbp - 0x58]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r14d
mov r10d, r14d
cmovns r10d, eax
mov eax, dword [rbp + 0x968]
sub eax, r8d
movsxd r11, dword [rbp + 0x18]
mov r13d, r11d
sub r13d, r9d
cmp eax, r13d
cmovl r13d, eax
mov eax, dword [rbp + 0x96c]
sub eax, ecx
mov edx, dword [rsp + 0x78]
sub edx, r10d
cmp eax, edx
cmovl edx, eax
test r13d, r13d
jle 0x14000baf0
test edx, edx
jle 0x14000baf0
mov eax, dword [rbp + 0x968]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x48]
lea rdi, [rax + rcx*4]
mov qword [rbp - 0x48], rdi
mov eax, r11d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x70]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x28], rax
movsxd rcx, dword [rbp + 0x968]
shl rcx, 2
mov qword [rbp - 0x10], rcx
mov rcx, r11
shl rcx, 2
mov qword [rbp + 0x50], rcx
mov ecx, edx
mov qword [rbp - 0x80], rcx
mov rsi, qword [rbp - 0x10]
mov ebx, dword [rbp - 0x78]
mov r15d, 1
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r13d
mov qword [rbp - 0x70], rdi
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14000baa1
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
mov r11d, 0x80808081
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x1f]
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x1e]
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r11d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x70]
add r9, 4
sub rdi, r15
mov qword [rbp - 0x70], rdi
jne 0x14000b9d1
mov rdi, qword [rbp - 0x48]
add rdi, rsi
mov qword [rbp - 0x48], rdi
mov rax, qword [rbp + 0x28]
add rax, qword [rbp + 0x50]
mov qword [rbp + 0x28], rax
sub qword [rbp - 0x80], r15
jne 0x14000b9c0
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov rdi, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x18]
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x14000bb1d
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x14010c278]
call qword [case.0x140066f27.0]
mov rcx, qword [rbp - 0x30]
mov rax, qword [0x14010c230]
call qword [case.0x140066f27.0]
cmp dword [rbp - 0x38], r14d
jl 0x14000bbe5
mov eax, 1
mov r9d, r12d
cmp dword [rsp + 0x68], eax
jne 0x14000bb88
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov rax, qword [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x40]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x4c0]
mov edx, dword [rbp + 0x4bc]
mov rcx, qword [rbp + 0x20]
mov rax, qword [0x14010c200]
call qword [case.0x140066f27.0]
jmp 0x14000bbd0
mov ecx, dword [rbp]
mov dword [rsp + 0x50], ecx
mov eax, dword [rbp - 0x40]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov rcx, qword [rbp + 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x904]
mov edx, dword [rbp + 0x900]
mov rcx, qword [rbp + 0x20]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov edx, dword [rsp + 0x70]
mov rcx, qword [rbp + 0x20]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x140066f27.0]
mov rax, qword [rbp - 8]
test rax, rax
je 0x14000bbfe
mov rcx, rax
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x14000bc17
mov rcx, rax
mov rax, qword [0x14010c230]
call qword [case.0x140066f27.0]
mov rax, qword [rbp + 0x40]
test rax, rax
je 0x14000bc30
mov rcx, rax
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov rax, qword [rbp + 0x488]
or r12, 0xffffffffffffffff
test rax, rax
je 0x14000bc8e
mov rcx, r12
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x14000bc43
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x488]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x488]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x488], r14
mov rax, qword [rbp + 0x490]
test rax, rax
je 0x14000bce8
mov rcx, r12
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x14000bc9d
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x490]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x490]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x490], r14
mov rdi, qword [rbp + 0x498]
test rdi, rdi
je 0x14000bd3b
mov rcx, r12
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x14000bcf7
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x498]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x498], r14
mov rcx, qword [rbp + 0x4a0]
test rcx, rcx
je 0x14000bd5b
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov qword [rbp + 0x4a0], r14
mov rcx, qword [rbp + 0x4a8]
test rcx, rcx
je 0x14000bd7b
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov qword [rbp + 0x4a8], r14
mov rcx, qword [rbp + 0x4b0]
test rcx, rcx
je 0x14000bd9b
mov rax, qword [0x14010c238]
call qword [case.0x140066f27.0]
mov qword [rbp + 0x4b0], r14
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x140114ebc], r13d
jne 0x14000bda1
mov eax, dword [0x140114eb8]
test eax, eax
jle 0x14000be19
sub eax, r13d
mov dword [0x140114eb8], eax
jne 0x14000be19
lea rdi, [0x140114600]
mov r12d, 4
cmp qword [rdi], r14
je 0x14000bde4
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r12, r13
jne 0x14000bdd0
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x140114600]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400eb6e0]
lea rcx, [0x14010c200]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x140114ebc], eax
mov eax, dword [0x1401145f0]
mov dword [rbp - 0x18], eax
mov rax, qword [0x14010c298]
call qword [case.0x140066f27.0]
sub eax, dword [0x1401145e8]
mov qword [rbp + 0x50], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xcf8], xmm0
movups xmmword [rbp + 0xd08], xmm0
movups xmmword [rbp + 0xd18], xmm0
mov qword [rbp + 0xd28], rax
xor eax, eax
lock cmpxchg dword [0x140114ebc], r13d
jne 0x14000be63
mov eax, dword [0x140114eb8]
test eax, eax
jne 0x14000c486
mov dword [rbp - 0x58], r14d
mov dword [rsp + 0x70], r14d
mov dword [rbp - 0x38], r14d
mov qword [rbp + 0x158], r14
mov qword [rbp + 0x218], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14000c3ed
mov byte [rsp + 0x64], r14b
mov esi, r14d
or r15d, 0xffffffff
mov r13d, r14d
mov r11d, r14d
lea rbx, [rax + 7]
lea r12, [0x1400f4fa2]
mov ecx, 0x67
lea r14d, [rcx - 0x66]
movzx r10d, byte [r12 - 2]
shl r10d, 8
movzx eax, byte [r12 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r12]
or r10d, eax
shl r10d, 8
movzx eax, byte [r12 + 1]
or r10d, eax
movzx r9d, byte [r12 + 2]
shl r9d, 8
movzx eax, byte [r12 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12 + 5]
or r9d, eax
xor r11d, r10d
lea r12, [r12 + 8]
mov r8d, r9d
xor r8d, r13d
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
mov edx, r8d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov edx, r11d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r8d, eax
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
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov edx, r8d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov eax, r8d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
mov r8d, 0x605e
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
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r13d, edx
mov edi, r13d
ror edi, 9
mov eax, r13d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
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
mov edx, r13d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0x54969fa2]
rol eax, 3
mov edx, r11d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x54969fa2]
rol eax, 0xf
mov edx, r13d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r11d, eax
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
mov edx, r13d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, esi
xor r11d, edx
xor r13d, r15d
mov byte [rbx - 4], r11b
ror r11d, 8
mov byte [rbx], r13b
ror r13d, 8
mov byte [rbx - 5], r11b
ror r11d, 8
mov byte [rbx - 1], r13b
ror r13d, 8
mov byte [rbx - 6], r11b
ror r11d, 8
mov byte [rbx - 2], r13b
ror r13d, 8
mov byte [rbx - 7], r11b
mov byte [rbx - 3], r13b
ror r11d, 8
ror r13d, 8
mov esi, r10d
mov r15d, r9d
lea rbx, [rbx + 8]
sub rcx, r14
jne 0x14000beef
xor r14d, r14d
mov eax, r14d
mov cl, byte [rsp + 0x64]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov r12d, dword [rsp + 0x70]
mov rdi, qword [rbp - 0x10]
lea edx, [r14 + 1]
mov r8d, 0x338
xor cl, byte [rax + rdi]
add rax, rdx
cmp rax, r8
jb 0x14000c224
movzx eax, cl
cmp rax, qword [0x1400f52d8]
je 0x14000c243
mov r13d, 0xc004d501
jmp 0x14000c257
mov qword [rbp + 0x158], rdi
mov rdi, r14
mov qword [rbp + 0x218], r8
mov r13d, r12d
test rdi, rdi
je 0x14000c27c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r13d, r13d
js 0x14000c3e7
mov rdi, qword [rbp + 0x158]
mov rax, qword [rbp + 0x218]
mov byte [rax + rdi - 1], r14b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r13, [0x140114600]
mov rcx, r13
call sub.msvcrt.dll_memset
cmp byte [rdi], r14b
jne 0x14000c2c4
mov r13d, 1
jmp 0x14000c3f3
lea r13, [0x140114600]
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14000c2cb
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x38]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
mov r8, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x14000c3e7
mov r12d, r14d
mov rax, qword [r13]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14000c317
mov r12d, 0xc000007b
jmp 0x14000c365
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14000c30f
add rcx, qword [r13]
cmp rcx, qword [r13]
jb 0x14000c30f
cmp dword [rcx], 0x4550
jne 0x14000c30f
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14000c353
mov r12d, 0xc000000d
jmp 0x14000c365
mov rax, qword [rcx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [rdi + 2]
mov dword [rsp + 0x70], eax
add rdi, 6
mov ecx, r14d
mov dword [rbp - 0x80], ecx
test eax, eax
je 0x14000c3d2
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x14000c381
inc rdi
add rdi, rax
test r12d, r12d
js 0x14000c3bf
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x14000c2b2
mov ecx, dword [rbp - 0x58]
lea rdx, [0x14010c200]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x80]
mov eax, 1
add dword [rbp - 0x58], eax
add ecx, eax
mov dword [rbp - 0x80], ecx
cmp ecx, dword [rsp + 0x70]
jb 0x14000c37a
mov r13d, 1
add dword [rbp - 0x38], r13d
cmp byte [rdi], r14b
jne 0x14000c2bd
jmp 0x14000c3f3
mov r13d, 1
mov r12d, 0xc000007a
cmp qword [rbp + 0x158], r14
je 0x14000c420
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp + 0x158]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12d, r12d
jns 0x14000c480
lea rdi, [0x140114600]
mov r12d, 4
cmp qword [rdi], r14
je 0x14000c446
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r12, r13
jne 0x14000c432
xor edx, edx
lea r8d, [r12 + 0x60]
lea rdi, [0x140114600]
mov rcx, rdi
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400eb6e0]
lea rcx, [0x14010c200]
call sub.msvcrt.dll_memcpy
jmp 0x14000c496
mov eax, dword [0x140114eb8]
add eax, r13d
mov dword [0x140114eb8], eax
lea rdi, [0x140114600]
mov eax, r14d
xchg dword [0x140114ebc], eax
mov rcx, qword [rbp + 0x50]
mov dword [rbp + 0xcf8], ecx
mov dword [rbp + 0xcf0], r13d
mov dword [rbp + 0xd08], 0x9966f291
mov dword [rbp + 0xd00], r13d
mov dword [rbp + 0xd18], r13d
mov dword [rbp + 0xd10], r13d
mov eax, dword [rbp - 0x18]
mov dword [rbp + 0xd28], eax
mov dword [rbp + 0xd20], r13d
lea r9, [rbp + 0xcf0]
mov r12d, 4
mov r8d, r12d
mov edx, 0x2021
xor ecx, ecx
mov rax, qword [0x14010c2d0]
call qword [case.0x140066f27.0]
xor eax, eax
lock cmpxchg dword [0x140114ebc], r13d
jne 0x14000c503
mov eax, dword [0x140114eb8]
test eax, eax
jle 0x14000c56e
sub eax, r13d
mov dword [0x140114eb8], eax
jne 0x14000c56e
cmp qword [rdi], r14
je 0x14000c539
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r12, r13
jne 0x14000c525
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x140114600]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400eb6e0]
lea rcx, [0x14010c200]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x140114ebc], eax
mov rdx, qword [rbp + 0x20]
xor ecx, ecx
mov rax, qword [0x14010c360]
call qword [case.0x140066f27.0]
lea rcx, [rbp + 0x300]
call fcn.140025a08
cmp dword [rbp + 0x48], r14d
je 0x14000e5f1
mov r12, r14
mov r13, r14
mov qword [rbp + 0x10], r14
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
lea rax, [0x14010d470]
mov qword [rbp + 0x308], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov edx, 8
mov r8d, LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x14000e53a
mov rcx, qword [rbp + 0x308]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
mov eax, 0x80
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
mov qword [rsp + 0x78], rdi
lea rax, [0x14010d3b8]
mov qword [rbp + 0x310], rax
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 0x14000e61d
mov rcx, qword [rbp + 0x310]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov r13, rax
mov qword [rbp + 0x20], rax
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x220], rax
mov dword [rbp + 0x298], SafeArrayGetDim
mov dword [rbp + 0xc], 0xc4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov edx, 8
mov r8d, 0xc4
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdx, rax
test rax, rax
je 0x14000e61d
mov qword [rbp + 0x10], rax
mov dword [rbp + 8], r14d
mov dword [rbp + 0x1f8], 4
lea r8, [rax + 4]
cmp r8, rax
jb 0x14000e61d
mov ecx, dword [rbp + 0xc]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x14000e61d
mov dword [rdx], 4
mov eax, dword [rbp + 0x1f8]
mov dword [r8], eax
mov edx, dword [rbp + 8]
inc edx
mov dword [rbp + 8], edx
cmp qword [rbp + 0x10], r14
jne 0x14000c77a
mov dword [rbp + 0x1e8], 0xa4
mov eax, dword [rbp + 0xc]
lea ecx, [rax + 0xa4]
cmp ecx, eax
jb 0x14000e61d
mov dword [rbp + 0xc], ecx
lea eax, [rdx + 1]
mov dword [rbp + 8], eax
mov r9d, 1
jmp 0x14000c849
mov r8, qword [rbp + 0x10]
mov ecx, r14d
test edx, edx
je 0x14000c7bb
mov eax, dword [r8]
add eax, 4
cmp eax, 4
jb 0x14000e61d
mov dword [rbp + 0x1e8], eax
mov r9d, eax
add r9, r8
cmp r9, r8
jb 0x14000e61d
mov r8, r9
mov r9d, 1
add ecx, r9d
cmp ecx, edx
jb 0x14000c785
jmp 0x14000c7c1
mov r9d, 1
lea rdx, [r8 + 4]
cmp rdx, r8
jb 0x14000e61d
mov ecx, dword [rbp + 0xc]
add rcx, qword [rbp + 0x10]
lea rax, [r8 + 0xa4]
cmp rax, rcx
ja 0x14000e61d
mov dword [r8], LoadRegTypeLib
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
mov eax, 0x80
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
add dword [rbp + 8], r9d
mov ecx, dword [rbp + 0xc]
cmp qword [rbp + 0x10], r14
jne 0x14000c87b
mov dword [rbp + 0x1c4], SafeArrayGetDim
lea edx, [rcx + 0xc]
cmp edx, ecx
jb 0x14000e61d
add dword [rbp + 8], r9d
mov rax, qword [rbp + 0x220]
mov qword [rbp + 0x228], rax
jmp 0x14000c8fc
mov rdx, qword [rbp + 0x10]
mov edi, r14d
cmp dword [rbp + 8], r14d
jbe 0x14000c8b6
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14000e535
mov dword [rbp + 0x1c4], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14000e535
mov rdx, r8
add edi, r9d
cmp edi, dword [rbp + 8]
jb 0x14000c888
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14000e535
add rcx, qword [rbp + 0x10]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x14000e535
mov dword [rdx], 8
mov rax, qword [r12]
mov qword [rdi], rax
add dword [rbp + 8], r9d
mov rax, qword [rbp + 0x220]
mov qword [rbp + 0x228], rax
cmp qword [rbp + 0x10], r14
jne 0x14000c916
mov edx, dword [rbp + 0xc]
mov dword [rbp + 0x180], SafeArrayGetDim
lea ecx, [rdx + 0xc]
cmp ecx, edx
jb 0x14000e535
mov dword [rbp + 0xc], ecx
jmp 0x14000c982
mov rdx, qword [rbp + 0x10]
mov ecx, r14d
cmp dword [rbp + 8], r14d
jbe 0x14000c94e
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14000e535
mov dword [rbp + 0x180], eax
add rax, rdx
cmp rax, rdx
jb 0x14000e535
mov rdx, rax
add ecx, r9d
cmp ecx, dword [rbp + 8]
jb 0x14000c923
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14000e535
mov ecx, dword [rbp + 0xc]
add rcx, qword [rbp + 0x10]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x14000e535
mov dword [rdx], 8
mov rax, qword [rbp + 0x228]
mov qword [rdi], rax
mov ecx, dword [rbp + 0xc]
add dword [rbp + 8], r9d
mov dword [rbp + 0x29c], SafeArrayGetDim
mov r9, r14
mov qword [rbp - 0x40], r14
mov r8d, r14d
mov dword [rbp - 0x50], r14d
mov qword [rbp + 0x160], r14
mov qword [rbp - 0x30], r14
mov dword [rbp - 0x18], r14d
mov qword [rbp - 0x20], r14
mov dword [rbp + 0x3c], r14d
mov r12, r14
mov qword [rbp], r14
mov qword [rbp - 0x48], r14
mov dword [rbp + 0xa0], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x318], rax
lea eax, [rcx + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
sbb edi, edi
mov edx, 0xc0000095
and edi, edx
cmp eax, 8
jb 0x14000cadb
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14000ca09
mov edi, edx
jmp 0x14000cadb
mov dword [rbp + 0x11c], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r13, rax
test rax, rax
jne 0x14000ca4c
mov edi, 0xc0000017
mov r8d, r14d
mov r9, r14
jmp 0x14000cadb
mov eax, dword [rbp + 8]
mov dword [r13], eax
lea rdx, [r13 + 4]
cmp rdx, r13
jb 0x14000caa3
mov eax, dword [rbp + 0xc]
mov dword [rdx], eax
lea rcx, [rdx + 4]
cmp rcx, rdx
jb 0x14000caa3
mov edi, r14d
mov edx, dword [rbp + 0x11c]
mov rax, qword [rbp + 0x318]
mov qword [rdx + r13 - 8], rax
mov r8d, dword [rbp + 0xc]
mov rdx, qword [rbp + 0x10]
call sub.msvcrt.dll_memcpy
mov r9, r13
mov qword [rbp - 0x40], r13
mov r13, r14
mov r8d, dword [rbp + 0x11c]
mov dword [rbp - 0x50], r8d
jmp 0x14000caae
mov r9, r14
mov r8d, r14d
mov edi, 0xc0000095
test r13, r13
je 0x14000cadb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r8d, dword [rbp - 0x50]
mov r9, qword [rbp - 0x40]
or edi, 0x10000000
jl 0x14000e25f
mov qword [rbp + 0x1c8], r14
mov r13, r14
test r9, r9
jne 0x14000cb00
mov edi, 0xc000000d
jmp 0x14000d372
mov edi, r8d
mov qword [rbp + 0x50], rdi
test r8d, r8d
je 0x14000d28a
lea rax, [rdi + 8]
mov qword [rbp - 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rdi + 8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 8], rax
test rax, rax
je 0x14000d28a
mov dl, r14b
mov byte [rsp + 0x64], dl
mov rcx, r14
mov r9, qword [rbp - 0x40]
test rdi, rdi
je 0x14000cb6f
mov r8d, 1
xor dl, byte [rcx + r9]
add rcx, r8
cmp rcx, rdi
jb 0x14000cb5f
mov byte [rsp + 0x64], dl
mov qword [rbp + 0x8e8], rbx
mov rcx, rax
mov qword [rbp + 0x30], rax
mov r11d, r14d
or r10d, 0xffffffff
mov dword [rbp - 0x50], r14d
mov dword [rbp - 0x78], r14d
mov rax, rdi
and eax, 7
je 0x14000ccb8
mov ecx, r14d
mov dword [rbp - 0x50], ecx
mov r8d, r14d
mov dword [rbp - 0x78], r14d
test eax, eax
je 0x14000cc07
mov r10d, 0x38
mov esi, ecx
lea ebx, [r10 - 0x37]
movzx r8d, byte [r9]
inc r9
cmp r11d, 4
jge 0x14000cbd1
lea ecx, [r10 - 0x20]
shl r8d, cl
or esi, r8d
mov ecx, dword [rbp - 0x50]
jmp 0x14000cbe0
mov ecx, r10d
shl r8d, cl
mov ecx, dword [rbp - 0x50]
or ecx, r8d
mov dword [rbp - 0x50], ecx
add r11d, ebx
sub r10d, 8
cmp r11d, eax
jl 0x14000cbb5
mov dword [rbp - 0x78], esi
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r8d, dword [rbp - 0x78]
mov r11d, r8d
xor r11d, 0xb17a307a
mov r10d, ecx
xor r10d, 0x42f6b18d
mov ecx, r11d
mov r8d, r10d
test eax, eax
je 0x14000cc84
mov rsi, qword [rbp + 0x30]
mov ebx, r14d
mov r12d, 1
lea r15, [rsi + 1]
mov qword [rbp - 0x10], r15
cmp ebx, 4
jge 0x14000cc47
rol ecx, 8
mov r15d, ecx
jmp 0x14000cc4e
rol r8d, 8
mov r15d, r8d
mov byte [rsi], r15b
add ebx, r12d
mov r15, qword [rbp - 0x10]
mov rsi, r15
cmp ebx, eax
jl 0x14000cc32
mov rcx, r15
mov qword [rbp + 0x30], rcx
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov r12, r14
jmp 0x14000cc88
mov rcx, qword [rbp + 0x30]
cmp eax, 4
jbe 0x14000cc9f
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x14000ccb4
mov r10d, r14d
jae 0x14000ccb8
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov rcx, qword [rbp + 0x30]
mov rax, rdi
shr rax, 3
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14000d016
mov edi, dword [rbp + 0x8ec]
movzx eax, word [rbp + 0x8ee]
mov dword [rsp + 0x70], eax
movzx r15d, bx
movzx eax, word [rbp + 0x8ea]
mov dword [rbp - 0x80], eax
movzx r14d, di
lea rdx, [rcx + 7]
lea rcx, [r9 + 2]
mov rsi, qword [rbp - 0x10]
mov r12d, dword [rbp - 0x50]
mov r13d, dword [rbp - 0x78]
movzx r9d, byte [rcx - 2]
shl r9d, 8
movzx eax, byte [rcx - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx + 1]
or r9d, eax
movzx r8d, byte [rcx + 2]
shl r8d, 8
movzx eax, byte [rcx + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [rcx + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [rcx + 5]
or r8d, eax
xor r10d, r8d
add rcx, 8
mov qword [rbp - 0x10], rcx
mov eax, r10d
sub eax, r15d
xor eax, r9d
xor r11d, eax
xor r11d, edi
mov ecx, r11d
xor ecx, edi
ror ecx, 0xf
mov eax, r11d
ror eax, 7
imul ecx, dword [rbp - 0x80]
add eax, ecx
xor r10d, eax
lea ecx, [r10 + rbx]
ror ecx, 9
mov eax, r10d
ror eax, 0xa
imul ecx, r14d
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r14d
rol ecx, 4
mov eax, r11d
rol eax, 5
imul ecx, dword [rsp + 0x70]
add eax, ecx
xor r10d, eax
mov ecx, r10d
xor ecx, ebx
mov eax, edi
sub eax, ecx
xor r11d, eax
mov ecx, r11d
sub ecx, r15d
movzx eax, word [rbp + 0x8ea]
imul ecx, eax
mov eax, r11d
shr eax, 6
sub ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xf
xor eax, r14d
imul eax, r15d
xor r11d, eax
mov eax, r11d
not eax
ror eax, 3
movzx ecx, word [rbp + 0x8ee]
add eax, ecx
imul eax, r14d
xor r10d, eax
mov eax, r10d
sub eax, edi
sub eax, r15d
xor r11d, eax
mov ecx, r11d
ror ecx, 0xa
mov eax, r11d
movzx edi, word [rbp + 0x8ee]
xor eax, edi
imul eax, dword [rbp - 0x80]
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
xor ecx, r15d
rol ecx, 6
mov eax, r10d
ror eax, 3
imul ecx, r14d
xor eax, ecx
xor r11d, eax
mov eax, r11d
ror eax, 0xf
sub eax, edi
imul eax, r15d
xor r10d, eax
mov ecx, r10d
xor ecx, edi
imul ecx, r15d
mov eax, r10d
shr eax, 1
xor ecx, eax
xor r11d, ecx
mov eax, r10d
sub eax, r14d
rol eax, 3
mov ecx, r15d
imul ecx, eax
mov eax, r10d
shr eax, 0xf
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, r14d
movzx eax, word [rbp + 0x8ea]
imul ecx, eax
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor r10d, ecx
mov edi, ebx
sub edi, r10d
ror edi, 9
mov ecx, r10d
ror ecx, 0xb
mov eax, r14d
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov eax, r11d
sub eax, ebx
movzx ecx, word [rbp + 0x8ee]
sub eax, ecx
xor r10d, eax
mov ecx, r10d
ror ecx, 7
mov eax, r10d
movzx edi, word [rbp + 0x8ea]
xor eax, edi
imul eax, r15d
sub eax, ecx
xor r11d, eax
mov edi, r11d
movzx eax, word [rbp + 0x8ee]
xor edi, eax
rol edi, 4
mov ecx, r11d
ror ecx, 0x10
movzx eax, word [rbp + 0x8ea]
imul eax, edi
sub eax, ecx
xor r10d, eax
mov edi, ebx
sub edi, r10d
ror edi, 0xa
mov ecx, r10d
ror ecx, 4
mov eax, r14d
imul eax, edi
add ecx, eax
xor r11d, ecx
mov edi, r11d
sub edi, ebx
ror edi, 4
mov ecx, r11d
ror ecx, 9
movzx eax, word [rbp + 0x8ee]
imul eax, edi
xor ecx, eax
xor r10d, ecx
mov edi, r10d
xor edi, dword [rbp + 0x8ec]
rol edi, 8
mov ecx, r10d
rol ecx, 2
mov eax, r15d
imul eax, edi
sub eax, ecx
xor r11d, eax
mov edi, dword [rbp + 0x8ec]
sub edi, r11d
ror edi, 0xb
mov ecx, r11d
ror ecx, 0xc
movzx eax, word [rbp + 0x8ea]
imul eax, edi
sub eax, ecx
xor r10d, eax
mov ecx, r10d
movzx eax, word [rbp + 0x8ea]
xor ecx, eax
imul ecx, r14d
mov eax, r10d
shr eax, 8
xor ecx, eax
xor r11d, ecx
xor r10d, r11d
xor r10d, ebx
mov edi, dword [rbp + 0x8ec]
xor r10d, edi
xor r11d, r13d
xor r10d, r12d
mov byte [rdx - 4], r11b
ror r11d, 8
mov byte [rdx], r10b
ror r10d, 8
mov byte [rdx - 5], r11b
ror r11d, 8
mov byte [rdx - 1], r10b
ror r10d, 8
mov byte [rdx - 6], r11b
ror r11d, 8
mov byte [rdx - 2], r10b
ror r10d, 8
mov byte [rdx - 7], r11b
mov byte [rdx - 3], r10b
ror r11d, 8
ror r10d, 8
mov r13d, r9d
mov r12d, r8d
lea rdx, [rdx + 8]
sub rsi, 1
mov rcx, qword [rbp - 0x10]
jne 0x14000cd03
mov dl, byte [rsp + 0x64]
movabs rsi, 0x7f1137fab69605e
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
mov r13d, r14d
mov r12d, r14d
mov rdi, qword [rbp + 0x50]
movzx eax, dl
mov rcx, qword [rbp - 8]
mov qword [rcx + rdi], rax
mov qword [rbp + 0x1c8], rcx
mov rdi, qword [rbp - 0x70]
mov qword [rbp + 0x3f8], rdi
lea rax, [0x14010d460]
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x408], 8
lea rax, [0x14010d3c0]
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x418], LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
jne 0x14000d09b
mov edi, 0xc0000017
jmp 0x14000d27a
mov edi, edi
mov dword [rax], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x14000d0d1
mov edi, 0xc0000017
jmp 0x14000d1bb
mov qword [rbx + 8], rax
mov r8, rdi
mov rdx, qword [rbp - 8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov edi, LoadRegTypeLib
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edi, 8
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14000d0c7
mov qword [rbx + 0x18], rax
lea rcx, [0x14010d3c0]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea edx, [rdi + 0x78]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rbx + 0x20], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
test rax, rax
je 0x14000d0c7
mov qword [rbx + 0x28], rax
mov edi, r14d
mov rax, qword [0x14010d460]
mov qword [rcx], rax
mov r13, rbx
mov rbx, r14
test rbx, rbx
je 0x14000d27a
mov rax, qword [rbx + 8]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14000d1f6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp - 0x10]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 8], r14
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14000d228
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp - 0x10]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 0x18], r14
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14000d25a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp - 0x10]
xor edx, edx
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 rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test edi, edi
js 0x14000d28f
mov qword [rbp + 0x160], r13
mov r13, r14
jmp 0x14000d28f
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x1c8]
test rbx, rbx
je 0x14000d2c2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x1c8], r14
test r13, r13
je 0x14000d372
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x14000d2f8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 8], r14
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x14000d325
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 0x18], r14
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x14000d352
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [r13 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
or edi, 0x10000000
jl 0x14000e25f
mov rbx, qword [rbp + 0x160]
mov edi, dword [rbx + 0x20]
mov edx, dword [rbx + 0x10]
mov ecx, dword [rbx]
add ecx, 4
cmp ecx, 4
jb 0x14000d4ce
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14000d4ce
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x14000d4ce
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14000d4ce
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x14000d4ce
mov dword [rbp + 0x1c0], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r13, rax
test rax, rax
jne 0x14000d408
mov edi, 0xc0000017
mov r8d, 0xc0000095
jmp 0x14000d4d7
mov eax, dword [rbx]
mov dword [r13], eax
lea rdi, [r13 + 4]
cmp rdi, r13
jb 0x14000d49b
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
add rcx, rdi
cmp rcx, rdi
jb 0x14000d49b
mov eax, dword [rbx + 0x10]
mov dword [rcx], eax
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x14000d49b
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x10]
add rcx, rdi
cmp rcx, rdi
jb 0x14000d49b
mov eax, dword [rbx + 0x20]
mov dword [rcx], eax
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x14000d49b
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x20]
add rcx, rdi
cmp rcx, rdi
jb 0x14000d49b
mov edi, r14d
mov qword [rbp - 0x30], r13
mov r13, r14
mov eax, dword [rbp + 0x1c0]
mov dword [rbp - 0x18], eax
jmp 0x14000d4a0
mov edi, 0xc0000095
test r13, r13
je 0x14000d3fd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
jmp 0x14000d3fd
mov r8d, 0xc0000095
mov edi, r8d
or edi, 0x10000000
jl 0x14000e25f
mov dword [rbp + 0xa4], r14d
mov dword [rbp + 0x2a0], 0x1c
mov eax, 0x28
mov dword [rbp + 0x2a4], eax
mov dword [rbp + 0x2a8], eax
lea r13d, [rax - 0x27]
cmp qword [rbp + 0x10], r14
jne 0x14000d519
mov edi, 0xc000000d
jmp 0x14000d5ef
cmp dword [rbp + 8], r13d
jbe 0x14000d50f
mov rax, qword [rbp + 0x10]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14000d5ec
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14000d5ec
add edx, r13d
cmp edx, r13d
jb 0x14000d526
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14000d5ec
mov dword [rbp + 0xa4], edi
mov rax, r14
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x420], rax
cmp dword [rbp + 8], 2
jbe 0x14000d50f
mov rax, qword [rbp + 0x10]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14000d5ec
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14000d5ec
add edx, r13d
cmp edx, 2
jb 0x14000d57b
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14000d5ec
mov dword [rbp + 0x2ac], edx
mov rax, r14
test edx, edx
cmovne rax, rcx
mov qword [rbp + 0x428], rax
lea eax, [rdi + 0x30]
cmp eax, 0x30
jb 0x14000d5ec
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x14000d5ec
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x14000d5ec
mov dword [rbp + 0x2f0], eax
mov edi, r14d
cmp eax, 0x400000
jbe 0x14000d5e7
mov edi, 0x8000ffff
jmp 0x14000e25f
mov dword [rbp + 0x3c], eax
jmp 0x14000d5ef
mov edi, r8d
test edi, edi
js 0x14000e25f
mov edi, dword [rbp + 0x3c]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x14000d62c
mov edi, 0xd0000017
mov rbx, r14
jmp 0x14000d638
mov rbx, rax
mov qword [rbp - 0x20], rax
mov edi, 0x10000000
test edi, edi
js 0x14000e25f
mov rax, qword [rbp - 0x30]
test rax, rax
jne 0x14000d653
mov edi, 0x80070057
jmp 0x14000e25f
test rbx, rbx
je 0x14000d649
mov qword [rbp + 0x368], rax
mov eax, dword [rbp - 0x18]
mov dword [rbp + 0x378], eax
mov qword [rbp + 0x370], rbx
mov eax, dword [rbp + 0x3c]
mov dword [rbp + 0x37c], eax
mov dword [rbp + 0x380], r14d
lea r8, [rbp + 0x320]
lea rdx, [0x1400f23e8]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x14000d6c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x14000d6c3
mov edi, 0x80004005
mov edx, dword [rbp + 0x3c]
jmp 0x14000d714
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x320]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x14000d6a0
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x368]
lea ecx, [r8 + 0x66]
call qword [case.0x140066f27.0]
mov edi, eax
or edi, 0x10000000
mov edx, dword [rbp + 0x3c]
cmovge edx, dword [rbp + 0x37c]
mov dword [rbp + 0x3c], edx
cmp edi, 0xd0000023
jne 0x14000d726
mov edi, 0x8007007a
jmp 0x14000e25f
test edi, edi
js 0x14000e25f
mov qword [rbp - 0x70], r14
cmp edx, 4
jae 0x14000d741
mov edi, 0xc000003e
jmp 0x14000daf6
mov ecx, dword [rbx]
mov dword [rsp + 0x70], ecx
lea rdi, [rbx + 4]
cmp rdi, rbx
jb 0x14000daf1
lea eax, [rdx - 4]
cmp eax, ecx
jb 0x14000d737
mov qword [rbp - 8], rcx
lea r10, [rcx + rdi]
mov qword [rbp - 0x10], r10
cmp r10, rdi
jb 0x14000daf1
lea r9d, [rcx + 4]
cmp r9d, 4
jb 0x14000daf1
mov eax, edx
sub eax, r9d
cmp eax, 4
jb 0x14000d737
mov edi, dword [r10]
lea r8, [r10 + 4]
cmp r8, r10
jb 0x14000daf1
lea r10d, [r9 + 4]
cmp r10d, r9d
jb 0x14000daf1
mov eax, edx
sub eax, r10d
cmp eax, edi
jb 0x14000d737
lea r11, [r8 + rdi]
cmp r11, r8
jb 0x14000daf1
lea r9d, [rdi + r10]
cmp r9d, r10d
jb 0x14000daf1
mov eax, edx
sub eax, r9d
cmp eax, 4
jb 0x14000d737
mov r13d, dword [r11]
lea rax, [r11 + 4]
mov qword [rbp + 0x50], rax
cmp rax, r11
jb 0x14000daf1
lea r8d, [r9 + 4]
cmp r8d, r9d
jb 0x14000daf1
mov eax, edx
sub eax, r8d
cmp eax, r13d
jb 0x14000d737
lea r9d, [r8 + r13]
cmp r9d, r8d
jb 0x14000daf1
cmp edx, r9d
jne 0x14000d737
lea eax, [rdi + r13]
add ecx, eax
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x14000d737
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
jne 0x14000d866
mov edi, 0xc0000017
jmp 0x14000da25
mov r12, qword [rbp - 0x20]
add r12, 4
je 0x14000d8be
mov eax, dword [rsp + 0x70]
mov dword [rbx], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp - 8]
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
jne 0x14000d8a9
mov edi, 0xc0000017
jmp 0x14000d975
mov qword [rbx + 8], rax
mov r8, qword [rbp - 8]
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14000d8c5
mov dword [rax], r14d
mov qword [rax + 8], r14
mov r12, qword [rbp - 0x10]
add r12, 4
je 0x14000d90e
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14000d89f
mov qword [rbx + 0x18], rax
mov r8, rdi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14000d916
mov dword [rbx + 0x10], r14d
mov qword [rbx + 0x18], r14
mov rdi, qword [rbp + 0x50]
test rdi, rdi
je 0x14000d963
mov dword [rbx + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x14000d89f
mov qword [rbx + 0x28], rax
mov r8, r13
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14000d96b
mov dword [rbx + 0x20], r14d
mov qword [rbx + 0x28], r14
mov qword [rbp - 0x70], rbx
mov rbx, r14
mov edi, r14d
test rbx, rbx
je 0x14000da25
mov r12, qword [rbx + 8]
test r12, r12
je 0x14000d9ab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 8], r14
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14000d9d8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 0x18], r14
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14000da05
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
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 rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rbx, r14
test edi, edi
cmovs rbx, qword [rbp - 0x70]
mov r12, qword [rbp - 0x70]
cmovs r12, r14
mov qword [rbp], r12
test rbx, rbx
je 0x14000daf6
mov r13, qword [rbx + 8]
test r13, r13
je 0x14000da71
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 8], r14
mov r13, qword [rbx + 0x18]
test r13, r13
je 0x14000da9e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbx + 0x18], r14
mov r13, qword [rbx + 0x28]
test r13, r13
je 0x14000dacb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
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 rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp], r12
jmp 0x14000daf6
mov edi, 0xc0000095
or edi, 0x10000000
jl 0x14000e25f
mov rbx, r14
mov qword [rbp + 0xd0], rbx
mov r13, r14
test r12, r12
jne 0x14000db1e
mov edi, 0xd000000d
jmp 0x14000e25f
mov rdi, qword [r12 + 8]
mov qword [rbp - 8], rdi
test rdi, rdi
je 0x14000db14
cmp dword [r12], r14d
je 0x14000db14
mov eax, dword [r12]
mov qword [rbp - 0x70], rax
mov dword [rbp + 0x18], r14d
test rax, rax
je 0x14000e0a8
lea rbx, [rax - 8]
mov qword [rbp + 0x50], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r8, rax
mov qword [rbp + 0x40], rax
test rax, rax
je 0x14000e0a1
mov dl, r14b
mov byte [rsp + 0x64], dl
mov qword [rbp + 0x8f0], rsi
mov r9, rdi
mov rdi, rbx
and edi, 7
mov r11d, r14d
mov r10d, r14d
je 0x14000dc9b
mov dword [rbp - 0x58], r14d
mov ecx, r14d
mov dword [rbp - 0x50], ecx
test edi, edi
je 0x14000dbfd
mov esi, 0x38
lea r15d, [rsi - 0x37]
movzx eax, byte [r9]
inc r9
cmp r10d, 4
jge 0x14000dbd5
lea ecx, [rsi - 0x20]
shl eax, cl
mov ecx, dword [rbp - 0x50]
or ecx, eax
mov dword [rbp - 0x50], ecx
jmp 0x14000dbdf
mov ecx, esi
shl eax, cl
or r11d, eax
mov ecx, dword [rbp - 0x50]
add r10d, r15d
sub esi, 8
cmp r10d, edi
jl 0x14000dbb9
mov dword [rbp - 0x58], r11d
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov r10d, ecx
xor r10d, 0x92f65a5
xor r11d, 0x699a899c
mov eax, r10d
mov ecx, r11d
test edi, edi
je 0x14000dc6a
mov rsi, r8
mov r12d, 1
lea r15, [rsi + 1]
mov qword [rbp - 0x10], r15
cmp r13d, 4
jge 0x14000dc37
rol eax, 8
mov r15d, eax
jmp 0x14000dc3d
rol ecx, 8
mov r15d, ecx
mov byte [rsi], r15b
add r13d, r12d
mov r15, qword [rbp - 0x10]
mov rsi, r15
cmp r13d, edi
jl 0x14000dc21
mov rax, r15
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rsp + 0x60]
mov r12, qword [rbp]
mov r13, r14
jmp 0x14000dc6d
mov rax, r8
cmp edi, 4
jbe 0x14000dc84
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
jmp 0x14000dca3
mov r11d, r14d
jae 0x14000dca3
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x14000dca3
mov dword [rbp - 0x50], r14d
or dword [rbp - 0x58], 0xffffffff
mov rcx, rbx
shr rcx, 3
mov qword [rbp - 0x10], rcx
test rcx, rcx
je 0x14000e001
mov r14d, dword [rbp + 0x8f4]
movzx edi, r14w
mov dword [rbp - 0x38], edi
movzx ecx, word [rbp + 0x8f6]
mov dword [rbp - 0x18], ecx
movzx ecx, word [rbp + 0x8f2]
mov dword [rbp - 0x80], ecx
movzx ecx, si
mov dword [rsp + 0x68], ecx
lea r12, [rax + 7]
lea r15, [r9 + 2]
mov edx, dword [rbp - 0x58]
mov r13d, dword [rbp - 0x50]
mov rbx, qword [rbp - 0x10]
movzx r9d, byte [r15 - 2]
shl r9d, 8
movzx eax, byte [r15 - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 1]
or r9d, eax
movzx r8d, byte [r15 + 2]
shl r8d, 8
movzx eax, byte [r15 + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [r15 + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [r15 + 5]
or r8d, eax
xor r10d, r9d
xor r11d, r8d
lea r15, [r15 + 8]
xor r11d, esi
xor r11d, r10d
xor r11d, r14d
mov ecx, r11d
sub ecx, esi
rol ecx, 5
mov eax, r11d
rol eax, 0xa
imul ecx, edi
add eax, ecx
xor r10d, eax
lea ecx, [r10 + r14]
ror ecx, 9
mov eax, r10d
rol eax, 2
imul ecx, dword [rbp - 0x80]
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, edi
imul ecx, dword [rsp + 0x68]
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor r10d, ecx
mov ecx, r10d
movzx eax, word [rbp + 0x8f2]
xor ecx, eax
rol ecx, 6
mov eax, r10d
rol eax, 2
imul ecx, dword [rbp - 0x18]
sub ecx, eax
xor r11d, ecx
mov ecx, esi
xor ecx, r11d
mov eax, r14d
sub eax, ecx
xor r10d, eax
mov ecx, r10d
ror ecx, 6
mov eax, r10d
xor eax, edi
movzx edi, word [rbp + 0x8f2]
imul eax, edi
xor ecx, eax
xor r11d, ecx
lea ecx, [r11 + r14]
ror ecx, 0xf
mov edi, r11d
rol edi, 2
mov eax, dword [rsp + 0x68]
imul eax, ecx
add edi, eax
xor r10d, edi
mov ecx, r10d
sub ecx, esi
ror ecx, 0xe
mov eax, r10d
rol eax, 8
movzx edi, word [rbp + 0x8f6]
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, esi
xor ecx, r11d
ror ecx, 0xc
mov eax, r11d
ror eax, 0xa
mov edi, dword [rbp - 0x38]
imul ecx, edi
xor eax, ecx
xor r10d, eax
mov ecx, r10d
movzx eax, word [rbp + 0x8f6]
xor ecx, eax
movzx eax, word [rbp + 0x8f2]
imul ecx, eax
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, dword [rsp + 0x68]
movzx ecx, word [rbp + 0x8f6]
imul eax, ecx
xor r10d, eax
mov eax, r10d
sub eax, ecx
xor eax, esi
xor r11d, eax
mov ecx, r11d
movzx eax, word [rbp + 0x8f6]
xor ecx, eax
rol ecx, 2
imul ecx, edi
mov eax, r11d
shr eax, 2
add ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, r14d
ror ecx, 6
mov eax, r10d
rol eax, 7
imul ecx, dword [rbp - 0x80]
add eax, ecx
xor r11d, eax
mov ecx, r11d
ror ecx, 9
mov eax, r11d
xor eax, edi
imul eax, dword [rsp + 0x68]
add ecx, eax
xor r10d, ecx
mov ecx, r10d
movzx eax, word [rbp + 0x8f2]
xor ecx, eax
rol ecx, 5
mov eax, r10d
rol eax, 7
imul ecx, dword [rbp - 0x18]
add eax, ecx
xor r11d, eax
mov eax, esi
xor eax, r11d
xor r10d, eax
xor r10d, r14d
mov eax, r10d
ror eax, 3
movzx ecx, word [rbp + 0x8f2]
sub eax, ecx
imul eax, edi
xor r11d, eax
mov edi, r11d
sub edi, r14d
ror edi, 1
mov ecx, r11d
ror ecx, 6
mov eax, dword [rsp + 0x68]
imul eax, edi
sub eax, ecx
xor r10d, eax
lea ecx, [rsi + r10]
rol ecx, 3
mov eax, r10d
rol eax, 0xe
movzx edi, word [rbp + 0x8f6]
imul ecx, edi
add eax, ecx
xor r11d, eax
lea ecx, [rsi + r11]
rol ecx, 0xf
mov eax, r11d
ror eax, 0xe
imul ecx, dword [rbp - 0x38]
sub ecx, eax
xor r10d, ecx
mov ecx, dword [rsp + 0x68]
xor ecx, r10d
movzx eax, word [rbp + 0x8f2]
imul ecx, eax
mov eax, r10d
shr eax, 3
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r14d
rol ecx, 4
mov edi, r11d
rol edi, 2
mov eax, dword [rsp + 0x68]
imul eax, ecx
xor edi, eax
xor edi, r13d
xor r10d, edi
xor r11d, edx
mov byte [r12 - 4], r10b
ror r10d, 8
mov byte [r12], r11b
ror r11d, 8
mov byte [r12 - 5], r10b
ror r10d, 8
mov byte [r12 - 1], r11b
ror r11d, 8
mov byte [r12 - 6], r10b
ror r10d, 8
mov byte [r12 - 2], r11b
ror r11d, 8
mov byte [r12 - 7], r10b
mov byte [r12 - 3], r11b
ror r10d, 8
ror r11d, 8
mov r13d, r9d
mov edx, r8d
lea r12, [r12 + 8]
mov ecx, 1
sub rbx, rcx
mov edi, dword [rbp - 0x38]
jne 0x14000dcf3
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
mov r12, qword [rbp]
mov r13d, r14d
mov rbx, qword [rbp + 0x50]
mov r8, qword [rbp + 0x40]
jmp 0x14000e006
mov ecx, 1
mov rax, r14
test rbx, rbx
je 0x14000e01a
xor dl, byte [rax + r8]
add rax, rcx
cmp rax, rbx
jb 0x14000e00e
movzx eax, dl
mov rcx, qword [rbp - 8]
cmp rax, qword [rbx + rcx]
je 0x14000e035
mov edi, 0xc004d501
mov rbx, qword [rbp + 0xd0]
jmp 0x14000e051
mov rbx, r8
mov qword [rbp + 0xd0], rbx
mov r8, r14
mov qword [rbp + 0x40], r14
mov r13, qword [rbp - 0x70]
add r13, 0xfffffffffffffff8
mov edi, dword [rbp + 0x18]
test r8, r8
je 0x14000e07e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, qword [rbp + 0x40]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rbx, qword [rbp + 0xd0]
test edi, edi
js 0x14000e0a8
mov rsi, rbx
mov qword [rbp - 0x48], rbx
mov rbx, r14
mov qword [rbp + 0xd0], rbx
mov dword [rbp + 0xa0], r13d
mov edi, 0x10000000
jmp 0x14000e0b7
mov rbx, qword [rbp + 0xd0]
mov edi, 0xd0000001
mov r13d, dword [rbp + 0xa0]
mov rsi, r14
test rbx, rbx
je 0x14000e0ea
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0xd0], r14
mov r13d, dword [rbp + 0xa0]
test edi, edi
js 0x14000e25f
cmp r13d, 4
jae 0x14000e102
mov edi, 0xc000003e
jmp 0x14000e25b
mov r9d, dword [rsi]
mov dword [rsp + 0x70], r9d
lea rcx, [rsi + 4]
cmp rcx, rsi
jb 0x14000e256
lea eax, [r13 - 4]
cmp eax, 4
jb 0x14000e0f8
mov ebx, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x14000e256
lea eax, [r13 - 8]
cmp eax, ebx
jb 0x14000e0f8
lea eax, [rbx + 8]
cmp eax, 8
jb 0x14000e256
mov ecx, r13d
lea rdx, [rdi + rbx]
lea rax, [rsi + rcx]
cmp rax, rdx
jb 0x14000e0f8
mov rax, rsi
sub rax, rdi
sub rax, rbx
add rax, rcx
cmp rax, 8
jae 0x14000e0f8
mov rsi, r14
mov r8d, r14d
mov dword [rbp - 0x80], r14d
test rdi, rdi
je 0x14000e1df
mov rcx, rdi
cmp rdx, rdi
jb 0x14000e256
jbe 0x14000e1da
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x14000e256
cmp rax, rdx
ja 0x14000e1c9
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x14000e1d3
mov dword [rbp + 0x2f4], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x14000e256
mov rcx, r9
cmp r9, rdx
ja 0x14000e1c9
inc r8d
mov dword [rbp - 0x80], r8d
cmp rcx, rdx
jae 0x14000e1dd
jmp 0x14000e182
mov edi, 0xc000000d
jmp 0x14000e25b
mov edi, 0xc0000095
jmp 0x14000e241
cmp rcx, rdx
jne 0x14000e1c9
test ebx, ebx
je 0x14000e215
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x14000e215
mov edi, 0xc0000017
jmp 0x14000e241
test rdi, rdi
je 0x14000e228
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x128], rsi
mov dword [rbp + 0x124], ebx
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x120], eax
mov edi, r14d
test edi, edi
js 0x14000e25b
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp + 0x120]
je 0x14000e25b
jmp 0x14000e0f8
mov edi, 0xc0000095
bts edi, 0x1c
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x14000e288
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x160]
test rbx, rbx
je 0x14000e346
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x14000e2c5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rsi
xor edx, edx
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 0x14000e2f2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rsi
xor edx, edx
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 0x14000e31f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rsi
xor edx, edx
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 rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x160], r14
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x14000e36f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x14000e398
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12, r12
je 0x14000e44e
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x14000e3d0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
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 0x14000e3ff
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
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 0x14000e42e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
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 rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x14000e477
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test edi, edi
js 0x14000e531
mov ecx, dword [rbp + 0x120]
mov r9d, 1
cmp ecx, r9d
jb 0x14000e531
mov rdi, qword [rbp + 0x128]
test rdi, rdi
je 0x14000e531
test ecx, ecx
je 0x14000e531
mov edx, dword [rdi]
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x14000e531
mov dword [rbp + 0x328], edx
mov rax, r14
test edx, edx
cmovne rax, r8
mov qword [rbp + 0x430], rax
cmp edx, 4
jne 0x14000e531
mov eax, dword [rax]
mov dword [rbp + 0x32c], eax
test eax, eax
js 0x14000e531
cmp ecx, r9d
jbe 0x14000e531
mov edx, r14d
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x14000e531
mov edi, dword [rdi]
add rdi, rcx
cmp rdi, rcx
jb 0x14000e531
add edx, r9d
cmp edx, r9d
jb 0x14000e4e6
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14000e531
mov dword [rbp + 0x330], ecx
mov rax, r14
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x438], rax
cmp ecx, 8
jne 0x14000e531
mov rax, qword [rax]
mov qword [rbp + 0x440], rax
mov r13, qword [rbp + 0x20]
mov r12, qword [rsp + 0x78]
and qword [rbp + 8], 0
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x14000e56c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x10], r14
and qword [rbp + 0x120], 0
mov rdi, qword [rbp + 0x128]
test rdi, rdi
je 0x14000e5a7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x128], r14
test r12, r12
je 0x14000e5cc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r13, r13
je 0x14000e5f1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0x334], eax
mov ebx, dword [rbp + 0xec]
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0x1d0], rax
jmp 0x1400056aa
mov r12, rdi
jmp 0x14000e53a
cmp r15d, 0xd00000e5
je 0x14000e64b
cmp r15d, 0xc004d501
je 0x14000e64b
cmp r15d, 0xd000003e
jne 0x14000e651
mov r15d, 0xc004f028
jmp 0x140005756
mov r15d, 0xc004f027
test r15d, r15d
jns 0x14000e670
mov eax, 0x8007007a
cmp r15d, eax
jne 0x140005756
mov dword [rbp + 0x80], 0xc004f01e
jmp 0x14000e684
cmp ebx, 4
jne 0x14000e664
mov rax, qword [rbp + 0x1d0]
mov ecx, dword [rax]
mov dword [rbp + 0xf0], ecx
lea rcx, [rbp + 0x1d0]
call fcn.14002598c
cmp dword [rbp + 0x80], r14d
jl 0x14000ea85
cmp dword [rbp + 0xf0], r14d
je 0x14000ea85
mov byte [0x140114b90], r14b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
nop dword [rax + rax]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetThreadDesktop]
nop dword [rax + rax]
mov rsi, rax
mov dword [rbp + 0x7c], r14d
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea r13d, [r9 + 2]
mov edx, r13d
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetUserObjectInformationW]
nop dword [rax + rax]
mov ebx, dword [rbp + 0x7c]
shr ebx, 1
lea r15d, [rbx + 1]
mov eax, r13d
mul r15
lea rcx, [r13 - 3]
cmovo rax, rcx
mov rcx, rax
call fcn.1400e66b4
mov rdi, rax
test rax, rax
jne 0x14000e728
mov eax, 0x8007000e
jmp 0x14000ea8a
mov r8, r15
xor edx, edx
mov rcx, rdi
call sub.msvcrt.dll_memset
lea rdx, str.576B82F2_24BF_4b7b_960A_8E4F473D7641
lea rcx, [rbp + 0x140]
call fcn.1400124a4
mov dword [rbp + 0xf4], r14d
lea rax, [rbp + 0xf4]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x7c]
mov r8, rdi
mov edx, r13d
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetUserObjectInformationW]
nop dword [rax + rax]
test eax, eax
je 0x14000e799
mov eax, dword [rbp + 0x7c]
cmp dword [rbp + 0xf4], eax
ja 0x14000e799
mov word [rdi + rbx*2], r14w
mov r8, rdi
xor edx, edx
lea rcx, [rbp + 0x140]
call fcn.14000f3dc
mov rcx, rdi
call fcn.1400e66a8
mov r8, qword [rbp + 0x140]
xor edx, edx
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_OpenEventW]
nop dword [rax + rax]
mov qword [rbp + 0x88], rax
test rax, rax
je 0x14000e7f3
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov qword [rbp + 0x88], r14
jmp 0x14000ea70
mov r9, qword [rbp + 0x140]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
nop dword [rax + rax]
mov qword [rbp + 0x88], rax
test rax, rax
jne 0x14000e824
mov r14d, 0x8007000e
jmp 0x14000ea70
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0xb7
jne 0x14000e85c
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov qword [rbp + 0x88], r14
mov r14d, 0x8000ffff
jmp 0x14000ea70
call qword [sym.imp.USER32.dll_SetProcessDPIAware]
nop dword [rax + rax]
test eax, eax
jne 0x14000e877
mov r14d, 0x80004005
jmp 0x14000ea70
lea rsi, [0x14010c830]
mov r9, rsi
mov r8, rsi
lea rdx, [0x140011d60]
lea rcx, [0x1400f1e60]
call fcn.140011e6c
xor ecx, ecx
call qword [sym.imp.ole32.dll_OleInitialize]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x14000ea4b
test byte [0x140114440], r12b
je 0x14000e8d9
lea rax, [rbp + 0xd30]
mov qword [rsp + 0x20], rax
mov r9d, r12d
xor r8d, r8d
lea rdx, [0x1400f21e0]
mov rcx, rsi
call fcn.140011cfc
mov qword [rbp + 0xe0], r14
lea rcx, [rbp + 0xe0]
call fcn.140010280
mov ebx, eax
test byte [0x140114440], r12b
je 0x14000e918
lea rax, [rbp + 0xd40]
mov qword [rsp + 0x20], rax
mov r9d, r12d
xor r8d, r8d
lea rdx, [0x1400f1f48]
mov rcx, rsi
call fcn.140011cfc
test ebx, ebx
js 0x14000ea3f
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x14000ea3f
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
call qword [case.0x140066f27.0]
mov rcx, qword [rbp + 0xe0]
call fcn.1400160e4
mov dil, r12b
mov dword [rsp + 0x20], 4
mov r9d, 0x1cff
or r8d, 0xffffffff
lea rdx, [rbp + 0x88]
mov ecx, r12d
call qword [sym.imp.USER32.dll_MsgWaitForMultipleObjectsEx]
nop dword [rax + rax]
test eax, eax
jne 0x14000e9c9
add dword [0x140114ed0], r12d
cmp byte [0x140114ecc], r14b
je 0x14000e9a4
mov r9d, r12d
mov r8d, 0xea3
lea rdx, [0x14010d510]
lea rcx, [0x1400f55c0]
call fcn.140036ee8
mov rcx, qword [rbp + 0xe0]
call fcn.1400160e4
nop
sub dword [0x140114ed0], r12d
jne 0x14000e9c7
lea rcx, [rbp + 0xb4]
call fcn.140037278
nop
jmp 0x14000ea1b
cmp eax, r12d
jne 0x14000ea1b
jmp 0x14000e9f7
test dil, dil
je 0x14000ea24
movzx edi, dil
cmp dword [rbp + 0x450], 0x12
cmove edi, r14d
lea rcx, [rbp + 0x448]
call qword [sym.imp.USER32.dll_DispatchMessageW]
nop dword [rax + rax]
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x448]
call qword [sym.imp.USER32.dll_PeekMessageW]
nop dword [rax + rax]
test eax, eax
jne 0x14000e9d0
test dil, dil
jne 0x14000e94c
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
call qword [case.0x140066f27.0]
mov qword [rbp + 0xe0], r14
call qword [sym.imp.ole32.dll_OleUninitialize]
nop dword [rax + rax]
mov rcx, rsi
call fcn.140011cc8
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov qword [rbp + 0x88], r14
mov r14d, ebx
mov rcx, qword [rbp + 0x140]
add rcx, 0xffffffffffffffe8
call fcn.1400121f0
mov eax, r14d
jmp 0x14000ea8a
mov eax, 0x80070005
mov rcx, qword [rbp + 0x10f0]
xor rcx, rsp
call fcn.1400e6ab0
lea r11, [rsp + 0x1200]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
push rbx
sub rsp, 0x30
mov ebx, r9d
call fcn.140004b14
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
nop dword [rax + rax]
cmp byte [0x140114460], 0
je 0x14000eb3c
or eax, 0xffffffff
jmp 0x14000eb75
and dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
nop dword [rax + rax]
mov rdx, rax
lea r8, [rsp + 0x20]
call fcn.14000f640
cmp al, 1
jne 0x14000eb71
mov edx, ebx
lea rcx, [0x140114b30]
add rsp, 0x30
pop rbx
jmp 0x140004cc0
mov eax, dword [rsp + 0x20]
add rsp, 0x30
pop rbx
ret