Function at 0x14000755c
Capabilities:
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 - 0x1180]
mov eax, 0x1280
call fcn.1400e33e0
sub rsp, rax
mov qword [rbp + 0x4e8], 0xfffffffffffffffe
mov qword [rsp + 0x12b0], rbx
mov qword [rsp + 0x12b8], rsi
mov qword [rsp + 0x12c0], rdi
mov rax, qword [0x14010a078]
xor rax, rsp
mov qword [rbp + 0x1170], rax
xor esi, esi
mov dword [rbp + 0x1b0], esi
mov qword [rbp + 0x260], rsi
mov dword [rbp + 0xd0], esi
mov dword [rbp + 0x1ac], esi
mov dword [rbp + 0x114], esi
mov qword [rbp + 0x148], rsi
mov dword [rbp + 0x68], esi
lea r14d, [rsi + 1]
xor eax, eax
lock cmpxchg dword [0x140111ebc], r14d
jne 0x1400075de
mov edi, 0xab69
mov r15d, 0x338
mov eax, dword [0x140111eb8]
test eax, eax
jne 0x140007bb2
mov dword [rbp - 0x58], esi
mov qword [rbp + 0x1d0], rsi
mov qword [rbp + 0x2b0], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x60], rax
test rax, rax
je 0x140007b2d
mov ebx, esi
or ecx, 0xffffffff
mov edx, esi
mov dword [rbp], edx
mov r11d, esi
mov dword [rbp + 0x28], esi
lea r15, [rax + 7]
lea r12, [0x1400ef302]
mov r13d, 0x67
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, r11d
xor r8d, r9d
xor r8d, edx
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
mov eax, r8d
shr eax, 0xd
imul edx, r8d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, edi
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
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, 0x7f1
xor eax, edi
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, 0xab69605e
mov eax, r8d
xor eax, edi
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r8d, edx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
mov edi, 0xab69
xor eax, edi
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
sub eax, edi
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
mov edx, r8d
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 r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
mov edx, r8d
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 r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, ebx
xor r11d, edx
mov dword [rbp + 0x28], r11d
xor r8d, ecx
mov dword [rbp], r8d
mov byte [r15 - 4], r11b
ror dword [rbp + 0x28], 8
mov al, byte [rbp]
mov byte [r15], al
ror dword [rbp], 8
mov al, byte [rbp + 0x28]
mov byte [r15 - 5], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp]
mov byte [r15 - 1], al
ror dword [rbp], 8
mov al, byte [rbp + 0x28]
mov byte [r15 - 6], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp]
mov byte [r15 - 2], al
ror dword [rbp], 8
mov al, byte [rbp + 0x28]
mov byte [r15 - 7], al
mov al, byte [rbp]
mov byte [r15 - 3], al
mov r11d, dword [rbp + 0x28]
ror r11d, 8
mov dword [rbp + 0x28], r11d
mov edx, dword [rbp]
ror edx, 8
mov dword [rbp], edx
mov ebx, r10d
mov ecx, r9d
lea r15, [r15 + 8]
sub r13, r14
jne 0x140007657
mov rax, rsi
mov cl, sil
mov ebx, esi
mov r14, qword [rbp + 0x60]
mov r13d, esi
mov edx, 1
mov r15d, 0x338
xor cl, byte [rax + r14]
add rax, rdx
cmp rax, r15
jb 0x140007994
movzx eax, cl
cmp rax, qword [0x1400ef638]
je 0x1400079b3
mov edi, 0xc004d501
jmp 0x1400079c6
mov qword [rbp + 0x1d0], r14
mov r14, rsi
mov qword [rbp + 0x2b0], r15
mov edi, ebx
test r14, r14
je 0x1400079df
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x140007b2d
mov rdi, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x2b0]
mov byte [rax + rdi - 1], sil
xor edx, edx
lea r8d, [rdx + 0x60]
lea r14, [0x140111510]
mov rcx, r14
call sub.msvcrt.dll_memset
cmp byte [rdi], sil
je 0x140007b32
jmp 0x140007a21
lea r14, [0x140111510]
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], si
jne 0x140007a28
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea r14, [r14 + rcx*8]
mov r8, r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x140007b2d
mov ebx, esi
mov rax, qword [r14]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x140007a69
mov ebx, 0xc000007b
jmp 0x140007ab4
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140007a62
add rcx, qword [r14]
cmp rcx, qword [r14]
jb 0x140007a62
cmp dword [rcx], 0x4550
jne 0x140007a62
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140007aa2
mov ebx, 0xc000000d
jmp 0x140007ab4
mov rax, qword [rcx + 0x88]
mov qword [r14 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r14 + 8], eax
mov r12d, dword [rdi + 2]
add rdi, 6
mov r15d, esi
test r12d, r12d
je 0x140007b19
mov ecx, 1
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], sil
jne 0x140007ad0
inc rdi
add rdi, rax
test ebx, ebx
js 0x140007b09
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rax
test rax, rax
je 0x140007b32
mov eax, dword [rbp - 0x58]
lea r8, [0x140109250]
mov qword [r8 + rax*8], rdx
mov ecx, 1
jmp 0x140007b0c
mov eax, dword [rbp - 0x58]
add eax, ecx
mov dword [rbp - 0x58], eax
add r15d, ecx
cmp r15d, r12d
jb 0x140007ac9
mov r14d, 1
add r13d, r14d
cmp byte [rdi], sil
jne 0x140007a1a
jmp 0x140007b38
mov ebx, 0xc000007a
mov r14d, 1
cmp qword [rbp + 0x1d0], rsi
je 0x140007b59
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1d0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
jns 0x140007bac
lea r15, [0x140111510]
mov rdi, r15
mov ebx, 4
cmp qword [rdi], rsi
je 0x140007b7a
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r14
jne 0x140007b6c
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400e7640]
lea rcx, [0x140109250]
call sub.msvcrt.dll_memcpy
jmp 0x140007bbb
mov eax, dword [0x140111eb8]
add eax, r14d
mov dword [0x140111eb8], eax
mov eax, esi
xchg dword [0x140111ebc], eax
mov qword [rbp + 0x240], rsi
mov qword [rbp + 0x248], rsi
mov r14d, esi
mov ebx, esi
mov rax, qword gs:[0x60]
mov edi, 0x80004005
mov r13d, SafeArrayGetDim
mov r12d, 0x80070000
cmp dword [rax + 0x2c0], esi
je 0x140007e7e
mov rax, qword [0x140109360]
call qword [case.0x1400739fa.0]
mov r15, rax
test rax, rax
jne 0x140007c31
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140007e82
mov ebx, edi
jmp 0x140007e82
mov qword [rbp + 0xe8], rsi
mov r9d, esi
mov rdi, rsi
lea rax, [rbp + 0x174]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r15
mov rax, qword [0x140109380]
call qword [case.0x1400739fa.0]
test eax, eax
jne 0x140007cde
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140007cc8
cmp qword [rbp + 0xe8], rsi
jne 0x140007cbf
mov edi, dword [rbp + 0x174]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0xe8]
call fcn.140026f98
test rdi, rdi
je 0x140007cb8
mov qword [rbp + 0xe8], rdi
mov r9d, dword [rbp + 0x174]
jmp 0x140007c3e
mov ebx, 0x8007000e
jmp 0x140007cec
mov edi, 0x80004005
mov ebx, edi
jmp 0x140007cf8
mov edi, 0x80004005
test eax, eax
je 0x140007cc4
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x140007cf8
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x240], rax
mov edi, 0x80004005
mov qword [rbp + 0xe8], rsi
lea rcx, [rbp + 0xe8]
call fcn.140026f98
test ebx, ebx
js 0x140007e82
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x140109378]
call qword [case.0x1400739fa.0]
mov r15, rax
test rax, rax
je 0x140007c11
mov qword [rbp + 0xf0], rsi
mov ebx, esi
mov r9d, esi
mov rdi, rsi
lea rax, [rbp + 0x178]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r15
mov rax, qword [0x140109380]
call qword [case.0x1400739fa.0]
test eax, eax
jne 0x140007ddc
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140007dc6
cmp qword [rbp + 0xf0], rsi
jne 0x140007dbd
mov edi, dword [rbp + 0x178]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0xf0]
call fcn.140026f98
test rdi, rdi
je 0x140007db6
mov qword [rbp + 0xf0], rdi
mov r9d, dword [rbp + 0x178]
jmp 0x140007d3c
mov ebx, 0x8007000e
jmp 0x140007dea
mov edi, 0x80004005
mov ebx, edi
jmp 0x140007df6
mov edi, 0x80004005
test eax, eax
je 0x140007dc2
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x140007df6
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x248], rax
mov edi, 0x80004005
mov qword [rbp + 0xf0], rsi
lea rcx, [rbp + 0xf0]
call fcn.140026f98
test ebx, ebx
js 0x140007e82
mov rcx, qword [rbp + 0x240]
test rcx, rcx
je 0x140007e7e
lea rdx, [0x1400ef930]
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140007e7e
mov rcx, qword [rbp + 0x248]
test rcx, rcx
je 0x140007e7e
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140007e7e
xor eax, eax
mov dword [rbp + 0x17c], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov r9d, 4
lea r8, [rbp + 0x17c]
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
test eax, eax
je 0x140007c11
test byte [rbp + 0x17c], r13b
mov eax, 1
cmove r14d, eax
mov dword [rbp + 0x68], r14d
lea rcx, [rbp + 0x248]
call fcn.140026f98
lea rcx, [rbp + 0x240]
call fcn.140026f98
mov eax, dword [rbp + 0x68]
test ebx, ebx
cmovs eax, esi
mov dword [rbp + 0x68], eax
mov dword [rbp + 0x114], esi
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x148]
call fcn.140026f74
test rdi, rdi
jne 0x140007f9a
mov qword [rbp + 0x148], rsi
mov r14d, 0x8007000e
mov ebx, dword [rbp + 0x128]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x140111ebc], r12d
jne 0x140007eee
mov eax, dword [0x140111eb8]
test eax, eax
jle 0x140007f5e
sub eax, r12d
mov dword [0x140111eb8], eax
jne 0x140007f5e
lea r13, [0x140111510]
mov rdi, r13
mov r15d, 4
cmp qword [rdi], rsi
je 0x140007f2e
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r12
jne 0x140007f20
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400e7640]
lea rcx, [0x140109250]
call sub.msvcrt.dll_memcpy
mov eax, esi
xchg dword [0x140111ebc], eax
lea rcx, [rbp + 0x148]
call fcn.140026f74
test r14d, r14d
jns 0x140011344
cmp r14d, 0xd0000034
jne 0x1400112fa
mov r14d, 0xc004f012
mov dword [rbp + 0xd0], r14d
jmp 0x140011358
mov qword [rbp + 0x148], rdi
mov rbx, rsi
mov r15, rsi
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov dword [rbp + 0x19c], esi
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rax
mov dword [rbp + 0x88], esi
lea rax, [0x14010a3f0]
mov qword [rbp + 0x378], rax
mov edi, LoadRegTypeLib
mov qword [rbp + 0x2c0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov r14d, 8
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x60], rax
mov r12d, 0xc0000017
test rax, rax
je 0x14000806c
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x378]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rbx, rdi
mov qword [rbp - 0x78], rbx
mov r13d, dword [rbp + 0x2c0]
lea rax, [0x14010a490]
mov qword [rbp + 0x380], rax
mov qword [rbp + 0x2c8], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x140008079
mov r14d, r12d
mov dword [rsp + 0x60], r12d
jmp 0x1400081c6
mov r8, qword [rbp + 0x2c8]
mov rdx, qword [rbp + 0x380]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov r15, rdi
mov qword [rsp + 0x70], rdi
mov rdi, qword [rbp + 0x2c8]
mov qword [rbp - 0x38], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x298], rax
mov ecx, r14d
mov dword [rbp + 0x6c], ecx
lea ebx, [r13 + 4]
or r9d, 0xffffffff
mov eax, r9d
cmp ebx, 4
cmovae eax, ebx
sbb r12d, r12d
mov r8d, 0xc0000095
and r12d, r8d
mov r14d, r12d
mov dword [rsp + 0x60], r12d
mov edx, ecx
cmp ebx, 4
jb 0x1400081c2
mov ecx, eax
mov dword [rbp + 0x6c], eax
mov edx, eax
lea eax, [rax + 8]
mov edx, r9d
cmp eax, 8
cmovae edx, eax
sbb r14d, r14d
and r14d, r8d
mov r10d, 0x10000000
add r14d, r10d
mov dword [rsp + 0x60], r14d
cmp eax, 8
jb 0x14000ac81
lea r15d, [rdi + 4]
mov eax, r9d
cmp r15d, 4
cmovae eax, r15d
sbb r14d, r14d
and r14d, r8d
mov dword [rsp + 0x60], r14d
mov dword [rbp - 0x70], r14d
cmp r15d, 4
cmovae ecx, eax
mov dword [rbp + 0x6c], ecx
jb 0x1400081bd
lea eax, [rcx + rdx]
mov ecx, r9d
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, r8d
add r14d, r10d
mov dword [rsp + 0x60], r14d
cmp eax, edx
jb 0x14000ac7c
mov dword [rbp + 0x6c], SafeArrayGetDim
lea eax, [rcx + 0xc]
mov edi, r9d
cmp eax, ecx
cmovae edi, eax
sbb r14d, r14d
and r14d, r8d
add r14d, r10d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x14000ac7c
lea r8, [rbp + 0x238]
mov edx, 0x7fffffff
lea rcx, str.TabletPC_MathInputLicensing_EnableMathInput
call fcn.140026ff4
test eax, eax
jns 0x1400082d4
mov qword [rbp + 0x238], rsi
mov r14d, 0xc000003e
mov dword [rsp + 0x60], r14d
mov r15, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x78]
and qword [rbp - 0x68], 0
mov rdi, qword [rbp - 0x60]
test rdi, rdi
je 0x1400081ec
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x60], rsi
and qword [rbp + 0xa0], 0
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x14000821b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0xa8], rsi
test rbx, rbx
je 0x140008234
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x14000824d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x140007ee2
mov eax, dword [rbp + 0x68]
test eax, eax
je 0x1400112ce
mov qword [rbp + 0x430], rsi
mov dword [0x140111500], eax
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0xf60]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14000efbc
cmp eax, edi
jne 0x1400082a5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14000efbc
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140109348]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x58], rax
test rax, rax
jne 0x14000aca6
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14000efbc
mov rax, qword [rbp + 0x238]
inc rax
mov qword [rbp + 0x238], rax
lea ecx, [rax*2 + 4]
or r9d, 0xffffffff
mov eax, r9d
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
mov r8d, 0xc0000095
and r14d, r8d
mov dword [rsp + 0x60], r14d
mov edx, dword [rbp + 0x6c]
cmp ecx, 4
cmovae edx, eax
mov dword [rbp + 0x6c], edx
jb 0x1400081bd
lea eax, [rdx + rdi]
mov edx, r9d
cmp eax, edi
cmovae edx, eax
sbb r14d, r14d
and r14d, r8d
mov r10d, 0x10000000
add r14d, r10d
mov dword [rsp + 0x60], r14d
cmp eax, edi
jb 0x14000ac7c
mov dword [rbp + 0x6c], 8
lea eax, [rdx + 8]
mov ecx, r9d
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, r8d
add r14d, r10d
mov dword [rsp + 0x60], r14d
cmp eax, edx
jb 0x14000ac7c
mov dword [rbp + 0x6c], 8
lea eax, [rcx + 8]
mov edx, r9d
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r8d
add r14d, r10d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x14000ac7c
mov dword [rbp - 0x64], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
jne 0x1400083c2
mov r14d, 0xc0000017
jmp 0x1400081b8
mov qword [rbp - 0x60], rdx
mov edi, esi
mov dword [rbp - 0x68], esi
mov dword [rbp + 0x210], esi
add rax, 4
or r8, 0xffffffffffffffff
cmp rax, rdx
cmovae r8, rax
sbb r14d, r14d
and r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140008425
mov ecx, dword [rbp - 0x64]
add rcx, rdx
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x14000840e
mov r14d, 0xc0000023
jmp 0x1400081b8
mov dword [rdx], 4
mov eax, dword [rbp + 0x210]
mov dword [r8], eax
mov edi, dword [rbp - 0x68]
inc edi
mov dword [rbp - 0x68], edi
test r14d, r14d
js 0x1400081bd
test r13d, r13d
je 0x14000857b
cmp qword [rbp - 0x60], rsi
jne 0x1400084a1
or eax, 0xffffffff
cmp ebx, 4
cmovae eax, ebx
mov r14d, r12d
mov dword [rsp + 0x60], r12d
mov edx, dword [rbp + 0x110]
cmovae edx, eax
mov dword [rbp + 0x110], edx
jb 0x140008586
mov ecx, dword [rbp - 0x64]
lea eax, [rcx + rdx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
mov dword [rbp - 0x64], r8d
sbb r14d, r14d
mov r13d, 0xc0000095
and r14d, r13d
mov dword [rsp + 0x60], r14d
mov r12d, 1
cmp eax, ecx
jb 0x140008596
add edi, r12d
mov dword [rbp - 0x68], edi
jmp 0x14000859f
mov r8, qword [rbp - 0x60]
mov r10d, esi
mov r12d, 1
test edi, edi
je 0x140008524
mov r9d, dword [rbp + 0x110]
mov r11, r8
mov ecx, dword [r8]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x110], r9d
jb 0x140008586
mov edx, r9d
mov rcx, r8
add rdx, r8
or rax, 0xffffffffffffffff
cmp rdx, r8
cmovae rax, rdx
mov r8, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x140008586
add r10d, r12d
cmp r10d, edi
jb 0x1400084b9
lea rax, [r8 + 4]
or r9, 0xffffffffffffffff
cmp rax, r8
cmovae r9, rax
sbb r14d, r14d
and r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
cmp rax, r8
jb 0x140008586
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [r13 + 4]
add rax, r8
cmp rax, rcx
ja 0x140008403
mov dword [r8], r13d
mov r8, r13
mov rdx, qword [rbp + 0x60]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp - 0x68]
add edi, r12d
mov dword [rbp - 0x68], edi
jmp 0x14000858c
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
mov r12d, 1
mov r8d, dword [rbp - 0x64]
mov r13d, 0xc0000095
test r14d, r14d
js 0x1400081bd
mov rbx, qword [rbp - 0x38]
test ebx, ebx
je 0x1400086ec
cmp qword [rbp - 0x60], rsi
jne 0x14000861b
or eax, 0xffffffff
cmp r15d, 4
cmovae eax, r15d
mov r14d, dword [rbp - 0x70]
mov dword [rsp + 0x60], r14d
mov edx, dword [rbp + 0x124]
cmovae edx, eax
mov dword [rbp + 0x124], edx
jb 0x1400086f7
mov ecx, r8d
lea eax, [r8 + rdx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
mov dword [rbp - 0x64], r8d
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x1400086f7
add edi, r12d
mov dword [rbp - 0x68], edi
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x300], rax
jmp 0x140008718
mov r9, qword [rbp - 0x60]
mov r11d, esi
test edi, edi
je 0x140008690
mov r10d, dword [rbp + 0x124]
mov r15, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp + 0x124], r10d
jb 0x1400086f7
mov edx, r10d
mov rcx, r9
add rdx, r9
or rax, 0xffffffffffffffff
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x1400086f7
add r11d, r12d
cmp r11d, edi
jb 0x14000862d
lea rax, [r9 + 4]
or r15, 0xffffffffffffffff
mov r10, r15
cmp rax, r9
cmovae r10, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, r9
jb 0x1400086fb
mov edx, ebx
mov ecx, r8d
add rcx, qword [rbp - 0x60]
lea rax, [rdx + 4]
add rax, r9
cmp rax, rcx
ja 0x140008403
mov dword [r9], ebx
mov r8d, edx
mov rdx, qword [rbp - 0x28]
mov rcx, r10
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp - 0x68]
add edi, r12d
mov dword [rbp - 0x68], edi
mov r8d, dword [rbp - 0x64]
jmp 0x1400086fb
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
or r15, 0xffffffffffffffff
test r14d, r14d
js 0x1400081bd
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x300], rax
cmp qword [rbp - 0x60], rsi
jne 0x140008751
mov dword [rbp + 0x180], SafeArrayGetDim
lea ecx, [r8 + 0xc]
or eax, 0xffffffff
cmp ecx, r8d
cmovae eax, ecx
mov dword [rbp - 0x64], eax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, r8d
jb 0x14000880a
add edi, r12d
mov dword [rbp - 0x68], edi
jmp 0x140008813
mov r9, qword [rbp - 0x60]
mov r11d, esi
test edi, edi
je 0x1400087c1
mov r10d, dword [rbp + 0x180]
mov rbx, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp + 0x180], r10d
jb 0x14000880a
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r15
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x14000880a
add r11d, r12d
cmp r11d, edi
jb 0x140008763
lea rax, [r9 + 4]
mov rdx, r15
cmp rax, r9
cmovae rdx, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, r9
jb 0x14000880a
mov ecx, r8d
add rcx, qword [rbp - 0x60]
lea rax, [r9 + 0xc]
cmp rax, rcx
ja 0x140008403
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x300]
movsd qword [rdx], xmm0
add dword [rbp - 0x68], r12d
test r14d, r14d
js 0x1400081bd
lea r8, [rbp + 0x230]
mov edx, 0x7fffffff
lea rcx, str.TabletPC_MathInputLicensing_EnableMathInput
call fcn.140026ff4
test eax, eax
jns 0x14000883b
mov qword [rbp + 0x230], rsi
jmp 0x1400081b2
mov rcx, qword [rbp + 0x230]
lea rax, [rcx + 1]
or rbx, 0xffffffffffffffff
mov rdx, rbx
cmp rax, rcx
cmovae rdx, rax
mov qword [rbp + 0x230], rdx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rcx
jb 0x1400089ba
lea r9d, [rdx + rdx]
test r9d, r9d
je 0x1400089af
cmp qword [rbp - 0x60], rsi
jne 0x1400088e6
lea ecx, [r9 + 4]
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
mov edi, dword [rbp + 0x120]
cmp ecx, 4
cmovae edi, eax
mov dword [rbp + 0x120], edi
jb 0x1400089ba
mov edx, dword [rbp - 0x64]
lea ecx, [rdx + rdi]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp - 0x64], eax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, edx
jb 0x1400089ba
add dword [rbp - 0x68], r12d
mov r14d, esi
mov dword [rsp + 0x60], esi
jmp 0x1400089ba
mov rdi, qword [rbp - 0x60]
mov r10d, esi
cmp dword [rbp - 0x68], esi
jbe 0x14000895b
mov r8d, dword [rbp + 0x120]
mov r11, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x120], r8d
jb 0x1400089ba
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, rbx
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x1400089ba
add r10d, r12d
cmp r10d, dword [rbp - 0x68]
jb 0x1400088f9
lea rax, [rdi + 4]
mov r10, rbx
cmp rax, rdi
cmovae r10, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdi
jb 0x1400089ba
mov r8d, r9d
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [r9 + 4]
add rax, rdi
cmp rax, rcx
jbe 0x140008997
mov r14d, 0xc0000023
jmp 0x1400089b5
mov dword [rdi], r9d
lea rdx, str.TabletPC_MathInputLicensing_EnableMathInput
mov rcx, r10
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x68], r12d
jmp 0x1400089ba
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400081bd
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x218], eax
cmp qword [rbp - 0x60], rsi
jne 0x140008a13
mov dword [rbp + 0x184], 8
mov edx, dword [rbp - 0x64]
lea ecx, [rdx + 8]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp - 0x64], eax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, edx
jb 0x140008ac8
add dword [rbp - 0x68], r12d
mov dword [rbp + 0x190], 4
jmp 0x140008ae1
mov rdi, qword [rbp - 0x60]
mov r9d, esi
cmp dword [rbp - 0x68], esi
jbe 0x140008a84
mov r8d, dword [rbp + 0x184]
mov r10, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x184], r8d
jb 0x140008ac8
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, rbx
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x140008ac8
add r9d, r12d
cmp r9d, dword [rbp - 0x68]
jb 0x140008a26
lea rax, [rdi + 4]
mov rdx, rbx
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdi
jb 0x140008ac8
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [rdi + 8]
cmp rax, rcx
ja 0x140008403
mov dword [rdi], 4
mov eax, dword [rbp + 0x218]
mov dword [rdx], eax
add dword [rbp - 0x68], r12d
test r14d, r14d
js 0x1400081bd
mov dword [rbp + 0x190], 4
cmp qword [rbp - 0x60], rsi
jne 0x140008b18
mov dword [rbp + 0x188], 8
mov edx, dword [rbp - 0x64]
lea ecx, [rdx + 8]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp - 0x64], eax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, edx
jb 0x140008bcd
add dword [rbp - 0x68], r12d
jmp 0x140008bd6
mov rdi, qword [rbp - 0x60]
mov r9d, esi
cmp dword [rbp - 0x68], esi
jbe 0x140008b89
mov r8d, dword [rbp + 0x188]
mov r10, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x188], r8d
jb 0x140008bcd
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, rbx
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x140008bcd
add r9d, r12d
cmp r9d, dword [rbp - 0x68]
jb 0x140008b2b
lea rax, [rdi + 4]
mov rdx, rbx
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdi
jb 0x140008bcd
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [rdi + 8]
cmp rax, rcx
ja 0x140008403
mov dword [rdi], 4
mov eax, dword [rbp + 0x190]
mov dword [rdx], eax
add dword [rbp - 0x68], r12d
test r14d, r14d
js 0x1400081bd
mov dword [rbp + 0x424], 8
mov r13, rsi
mov qword [rbp + 0x20], rsi
mov r15d, esi
mov qword [rbp + 0x1b8], rsi
mov qword [rbp - 0x48], rsi
mov r12d, esi
mov dword [rsp + 0x68], esi
mov qword [rbp + 0x80], rsi
mov dword [rbp + 0x50], esi
mov qword [rbp + 0x58], rsi
mov qword [rbp - 0x80], rsi
mov dword [rbp + 0xd8], esi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x308], rax
mov eax, dword [rbp - 0x64]
add eax, 8
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
mov dword [rbp + 0x11c], ecx
sbb r14d, r14d
mov ebx, 0xc0000095
and r14d, ebx
cmp eax, 8
jb 0x140008d1a
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140008c62
mov r14d, ebx
jmp 0x140008d1a
mov dword [rbp + 0x11c], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140008c94
mov r14d, 0xc0000017
jmp 0x140008d1a
mov eax, dword [rbp - 0x68]
mov dword [rdi], eax
lea rax, [rdi + 4]
or rcx, 0xffffffffffffffff
mov rdx, rcx
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
and r14d, ebx
cmp rax, rdi
jb 0x140008d01
mov eax, dword [rbp - 0x64]
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, ebx
cmp rax, rdx
jb 0x140008d01
mov edx, dword [rbp + 0x11c]
mov rax, qword [rbp + 0x308]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x64]
mov rdx, qword [rbp - 0x60]
call sub.msvcrt.dll_memcpy
mov r13, rdi
mov qword [rbp + 0x20], rdi
mov rdi, rsi
mov r15d, dword [rbp + 0x11c]
test rdi, rdi
je 0x140008d1a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x14000a77c
mov qword [rbp + 0x390], rsi
mov qword [rbp + 0x398], rsi
mov qword [rbp + 0x3a0], rsi
mov qword [rbp + 0x3a8], rsi
mov qword [rbp + 0x2a0], rsi
mov qword [rbp + 0x388], rsi
mov rbx, rsi
test r13, r13
jne 0x140008d69
mov r14d, 0xc000000d
jmp 0x1400094eb
mov r14d, r15d
mov qword [rbp + 0x60], r14
test r15d, r15d
je 0x14000943d
lea rdi, [r14 + 8]
mov qword [rbp - 0x28], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14000943d
mov dl, sil
mov byte [rsp + 0x64], dl
mov rcx, rsi
test r15d, r15d
je 0x140008dc9
mov eax, 1
xor dl, byte [rcx + r13]
add rcx, rax
cmp rcx, r14
jb 0x140008db9
mov byte [rsp + 0x64], dl
movabs rax, 0xc81ecb17b1b54a58
mov qword [rbp + 0x988], rax
mov rdi, r13
mov r8, r12
mov r10d, esi
mov dword [rbp - 0x1c], esi
or r11d, 0xffffffff
mov dword [rbp - 0x40], r11d
mov r13d, esi
mov dword [rbp - 0x58], esi
mov rax, r14
and eax, 7
je 0x140008ed0
mov r11d, esi
mov dword [rbp - 0x58], esi
test eax, eax
je 0x140008e43
mov r9d, 0x38
lea r15, [rdi + 1]
movzx edi, byte [rdi]
cmp r10d, 4
jge 0x140008e28
lea ecx, [r9 - 0x20]
shl edi, cl
or r11d, edi
jmp 0x140008e30
mov ecx, r9d
shl edi, cl
or r13d, edi
inc r10d
sub r9d, 8
mov rdi, r15
cmp r10d, eax
jl 0x140008e10
mov dword [rbp - 0x58], r11d
mov r10d, r11d
xor r10d, 0xb17a307a
mov dword [rbp - 0x1c], r10d
mov r11d, r13d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x40], r11d
mov ecx, esi
test eax, eax
jle 0x140008e98
mov edx, 1
lea r9, [r8 + 1]
cmp ecx, 4
jge 0x140008e7c
rol r10d, 8
mov byte [r8], r10b
jmp 0x140008e83
rol r11d, 8
mov byte [r8], r11b
add ecx, edx
mov r8, r9
cmp ecx, eax
jl 0x140008e6a
mov r10d, dword [rbp - 0x1c]
mov r11d, dword [rbp - 0x40]
mov dl, byte [rsp + 0x64]
add eax, 0xfffffffc
test eax, eax
jle 0x140008eb5
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x40], r11d
jmp 0x140008ed0
mov r11d, esi
mov dword [rbp - 0x40], esi
test eax, eax
jns 0x140008ed0
neg eax
shl eax, 3
mov ecx, eax
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0x1c], r10d
mov r15, r14
shr r15, 3
test r15, r15
je 0x14000923b
mov ecx, dword [rbp + 0x98c]
mov eax, ecx
shr eax, 0x10
mov dword [rsp + 0x78], eax
movzx eax, cx
lea r14, [r8 + 7]
lea rsi, [rdi + 2]
mov ebx, dword [rbp - 0x58]
mov r12d, eax
mov edx, dword [rsp + 0x78]
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 r11d, r8d
lea rsi, [rsi + 8]
lea eax, [r11 - 0x4a58]
xor eax, ecx
xor eax, r9d
xor r10d, eax
mov edi, ecx
xor edi, r10d
ror edi, 0xf
mov ecx, r10d
ror ecx, 7
movzx eax, word [rbp + 0x98a]
imul eax, edi
add ecx, eax
xor r11d, ecx
lea edi, [r11 - 0x4e4ab5a8]
ror edi, 9
mov ecx, r11d
ror ecx, 0xa
mov eax, r12d
imul eax, edi
sub eax, ecx
xor r10d, eax
mov edi, r12d
xor edi, r10d
rol edi, 4
mov ecx, r10d
rol ecx, 5
mov eax, edx
imul eax, edi
add ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, dword [rbp + 0x98c]
sub eax, ecx
xor r10d, eax
lea ecx, [r10 - 0x4a58]
movzx edi, word [rbp + 0x98a]
imul ecx, edi
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, r12d
imul eax, eax, 0x4a58
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
add eax, edx
imul eax, r12d
xor r11d, eax
mov eax, r11d
sub eax, dword [rbp + 0x98c]
sub eax, 0x4a58
xor r10d, eax
mov ecx, r10d
ror ecx, 0xa
mov eax, edx
xor eax, r10d
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov edi, r11d
xor edi, 0x4a58
rol edi, 6
mov ecx, r11d
ror ecx, 3
mov eax, r12d
imul eax, edi
xor ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xf
sub eax, edx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, edx
xor eax, r11d
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r10d, ecx
mov eax, r11d
sub eax, r12d
rol eax, 3
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, r12d
movzx eax, word [rbp + 0x98a]
imul ecx, eax
mov eax, r10d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov edi, 0xb1b54a58
sub edi, r11d
ror edi, 9
mov ecx, r11d
ror ecx, 0xb
mov eax, r12d
imul eax, edi
xor ecx, eax
xor r10d, ecx
mov eax, r10d
sub eax, edx
add eax, 0x4e4ab5a8
xor r11d, eax
mov edi, r11d
ror edi, 7
movzx eax, word [rbp + 0x98a]
xor eax, r11d
imul ecx, eax, 0x4a58
sub ecx, edi
xor r10d, ecx
mov edi, edx
xor edi, r10d
rol edi, 4
mov ecx, r10d
ror ecx, 0x10
movzx eax, word [rbp + 0x98a]
imul eax, edi
sub eax, ecx
xor r11d, eax
mov edi, 0xb1b54a58
sub edi, r11d
ror edi, 0xa
mov ecx, r11d
ror ecx, 4
mov eax, r12d
imul eax, edi
add ecx, eax
xor r10d, ecx
lea ecx, [r10 + 0x4e4ab5a8]
ror ecx, 4
mov edi, r10d
ror edi, 9
mov eax, edx
imul eax, ecx
xor edi, eax
xor r11d, edi
mov eax, dword [rbp + 0x98c]
xor eax, r11d
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r10d, eax
mov edi, dword [rbp + 0x98c]
sub edi, r10d
ror edi, 0xb
mov ecx, r10d
ror ecx, 0xc
movzx eax, word [rbp + 0x98a]
imul eax, edi
sub eax, ecx
xor r11d, eax
movzx ecx, word [rbp + 0x98a]
xor ecx, r11d
imul ecx, r12d
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor r10d, ebx
mov dword [rbp - 0x1c], r10d
xor eax, r11d
mov ecx, dword [rbp + 0x98c]
xor eax, ecx
xor eax, r13d
xor eax, 0xb1b54a58
mov dword [rbp - 0x40], eax
mov byte [r14 - 4], r10b
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x40]
mov byte [r14], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x1c]
mov byte [r14 - 5], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x40]
mov byte [r14 - 1], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x1c]
mov byte [r14 - 6], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x40]
mov byte [r14 - 2], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x1c]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x40]
mov byte [r14 - 3], al
mov r10d, dword [rbp - 0x1c]
ror r10d, 8
mov dword [rbp - 0x1c], r10d
mov r11d, dword [rbp - 0x40]
ror r11d, 8
mov dword [rbp - 0x40], r11d
mov ebx, r9d
mov r13d, r8d
lea r14, [r14 + 8]
sub r15, 1
jne 0x140008f04
mov dl, byte [rsp + 0x64]
xor esi, esi
mov ebx, esi
mov r14, qword [rbp + 0x60]
mov r12, qword [rbp - 0x38]
movzx eax, dl
mov qword [r12 + r14], rax
mov qword [rbp + 0x2a0], r12
mov r14, qword [rbp - 0x28]
mov qword [rbp + 0x388], r14
lea rax, [0x14010a3e0]
mov qword [rbp + 0x390], rax
mov r13d, 8
mov qword [rbp + 0x398], r13
lea r15, [0x14010a340]
mov qword [rbp + 0x3a0], r15
mov qword [rbp + 0x3a8], LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [r13 + 0x28]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400092b1
mov r14d, 0xc0000017
jmp 0x14000942c
mov dword [rax], r14d
mov r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400092dc
mov r14d, 0xc0000017
jmp 0x1400093b0
mov qword [rdi + 8], rax
mov r8, r14
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r14d, LoadRegTypeLib
mov dword [rdi + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400092d1
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r15]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r15 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r15 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r15 + 0x60]
movups xmmword [rax + 0x60], xmm0
lea edx, [r14 - 0x20]
movups xmm1, xmmword [r15 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r15 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r15 + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400092d1
mov qword [rdi + 0x28], rax
mov r14d, esi
movsd xmm0, qword [0x14010a3e0]
movsd qword [rax], xmm0
mov rbx, rdi
mov rdi, rsi
test rdi, rdi
je 0x14000942c
mov r15, qword [rdi + 8]
test r15, r15
je 0x1400093d6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rsi
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400093f7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rsi
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x140009418
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x140009443
mov qword [rbp + 0x1b8], rbx
mov rbx, rsi
jmp 0x140009443
mov r14d, 0xc0000001
mov rdi, qword [rbp + 0x2a0]
test rdi, rdi
je 0x14000946a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x2a0], rsi
test rbx, rbx
je 0x1400094e6
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x140009490
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400094b1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400094d2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, dword [rsp + 0x68]
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
mov r13d, 0xc0000095
jl 0x14000a787
mov rbx, qword [rbp + 0x1b8]
mov r8d, dword [rbx + 0x20]
mov edi, dword [rbx + 0x10]
mov eax, dword [rbx]
add eax, 4
or r9d, 0xffffffff
mov ecx, r9d
cmp eax, 4
cmovae ecx, eax
sbb r14d, r14d
and r14d, r13d
cmp eax, 4
jb 0x140009592
lea eax, [rcx + 4]
mov edx, r9d
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r13d
cmp eax, ecx
jb 0x140009592
lea eax, [rdx + rdi]
mov ecx, r9d
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, r13d
cmp eax, edx
jb 0x140009592
lea eax, [rcx + 4]
mov edx, r9d
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r13d
cmp eax, ecx
jb 0x140009592
lea ecx, [rdx + r8]
mov eax, r9d
cmp ecx, edx
cmovae eax, ecx
sbb r14d, r14d
and r14d, r13d
mov edi, dword [rbp + 0xe0]
cmp ecx, edx
cmovae edi, eax
mov dword [rbp + 0xe0], edi
jmp 0x140009598
mov edi, dword [rbp + 0xe0]
test r14d, r14d
js 0x1400095c2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140009630
mov r14d, 0xc0000017
mov r15, rsi
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x14000994c
mov qword [rbp + 0x3b0], rsi
mov r8d, esi
mov dword [rbp + 0x270], esi
mov qword [rbp + 0x3b8], rsi
mov r10d, esi
mov dword [rbp + 0x274], esi
mov dword [rbp + 0x428], 0x3c
mov eax, 0x48
mov dword [rbp + 0x420], eax
mov dword [rbp + 0xb0], eax
lea r13d, [rax - 0x47]
cmp qword [rbp - 0x60], rsi
jne 0x14000974e
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x140009910
mov eax, dword [rbx]
mov dword [rdi], eax
lea rax, [rdi + 4]
or r15, 0xffffffffffffffff
cmp rax, rdi
cmovae r15, rax
sbb r14d, r14d
and r14d, r13d
cmp rax, rdi
jb 0x140009729
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
add rcx, r15
or r8, 0xffffffffffffffff
mov rdx, r8
cmp rcx, r15
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r13d
cmp rcx, r15
jb 0x140009729
mov eax, dword [rbx + 0x10]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r15, r8
cmp rax, rdx
cmovae r15, rax
sbb r14d, r14d
and r14d, r13d
cmp rax, rdx
jb 0x140009729
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x10]
add rcx, r15
or r8, 0xffffffffffffffff
mov rdx, r8
cmp rcx, r15
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r13d
cmp rcx, r15
jb 0x140009729
mov eax, dword [rbx + 0x20]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r15, r8
cmp rax, rdx
cmovae r15, rax
sbb r14d, r14d
and r14d, r13d
cmp rax, rdx
jb 0x140009729
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x20]
add rcx, r15
cmp rcx, r15
sbb r14d, r14d
and r14d, r13d
cmp rcx, r15
jb 0x140009729
mov r15, rdi
mov qword [rbp - 0x48], rdi
mov rdi, rsi
mov r12d, dword [rbp + 0xe0]
jmp 0x14000972c
mov r15, rsi
test rdi, rdi
je 0x1400095c5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400095c5
cmp dword [rbp - 0x68], r13d
jbe 0x140009620
mov rdx, qword [rbp - 0x60]
mov r9d, esi
mov r11d, 0xc0000095
or rbx, 0xffffffffffffffff
lea rax, [rdx + 4]
mov rdi, rbx
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400097e7
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, rbx
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x1400097e7
add r9d, r13d
cmp r9d, r13d
jb 0x140009769
mov edi, dword [rdx]
lea rax, [rdx + 4]
mov rcx, rbx
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400097e7
mov r8d, edi
mov dword [rbp + 0x270], edi
mov rax, rsi
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x3b0], rax
test r14d, r14d
js 0x140009946
cmp dword [rbp - 0x68], 2
jbe 0x140009620
mov rdx, qword [rbp - 0x60]
mov r9d, esi
lea rax, [rdx + 4]
mov rdi, rbx
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140009880
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, rbx
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x140009880
add r9d, r13d
cmp r9d, 2
jb 0x140009801
mov edi, dword [rdx]
lea rax, [rdx + 4]
mov rcx, rbx
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140009880
mov r10d, edi
mov dword [rbp + 0x274], edi
mov rax, rsi
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x3b8], rax
test r14d, r14d
js 0x140009946
lea eax, [r8 + 0x50]
or edx, 0xffffffff
mov ecx, edx
cmp eax, 0x50
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp eax, 0x50
jb 0x1400098ea
lea eax, [rcx + 4]
mov edi, edx
cmp eax, ecx
cmovae edi, eax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x1400098ea
lea ecx, [rdi + r10]
mov eax, edx
cmp ecx, edi
cmovae eax, ecx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
mov edx, dword [rbp + 0x198]
cmp ecx, edi
cmovae edx, eax
mov dword [rbp + 0x198], edx
jmp 0x1400098f0
mov edx, dword [rbp + 0x198]
test r14d, r14d
js 0x140009946
cmp edx, 0x400000
jbe 0x14000990d
mov r14d, 0x8000ffff
mov dword [rsp + 0x60], r14d
mov r13d, r11d
jmp 0x14000994c
mov dword [rbp + 0x50], edx
test r14d, r14d
js 0x140009946
mov edi, dword [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140009af4
mov r14d, 0xd0000017
mov dword [rsp + 0x60], r14d
mov r13d, 0xc0000095
mov r12d, 0x8007007a
mov rdi, qword [rbp + 0x20]
test rdi, rdi
je 0x14000996f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x1b8]
test rbx, rbx
je 0x1400099f9
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14000999c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400099bd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400099de
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1b8], rsi
test r15, r15
je 0x140009a12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x80]
test rdi, rdi
je 0x140009a32
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x58]
test rbx, rbx
je 0x140009ab2
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x140009a5c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x140009a7d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x140009a9e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x80]
test rdi, rdi
je 0x140009acf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x1400081bd
mov ebx, 1
cmp dword [rbp + 0xa0], ebx
jae 0x14000a78f
mov r14d, 0xc004d501
jmp 0x1400081b8
mov qword [rbp + 0x80], rdi
mov rbx, qword [rbp - 0x48]
test rbx, rbx
jne 0x140009b17
mov r14d, 0x80070057
mov dword [rsp + 0x60], r14d
mov r15, rbx
jmp 0x140009946
mov qword [rbp + 0x4a0], rbx
mov dword [rbp + 0x4b0], r12d
mov qword [rbp + 0x4a8], rdi
mov eax, dword [rbp + 0x50]
mov dword [rbp + 0x4b4], eax
mov dword [rbp + 0x4b8], esi
lea r8, [rbp + 0x3c0]
lea rdx, [0x1400ee2b0]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x140009b82
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
mov dword [rsp + 0x60], r14d
mov edx, dword [rbp + 0x50]
test r14d, r14d
js 0x140009bcf
mov r14d, 0x80004005
jmp 0x140009bca
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x3c0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140009b56
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x4a0]
lea ecx, [r8 + 0x66]
call qword [case.0x1400739fa.0]
mov r14d, eax
or r14d, 0x10000000
mov edx, dword [rbp + 0x50]
cmovge edx, dword [rbp + 0x4b4]
mov dword [rbp + 0x50], edx
mov dword [rsp + 0x60], r14d
cmp r14d, 0xd0000023
jne 0x140009bf4
mov r12d, 0x8007007a
mov r14d, r12d
mov dword [rsp + 0x60], r12d
mov r15, rbx
mov r13d, 0xc0000095
jmp 0x140009952
test r14d, r14d
js 0x140009b0f
mov qword [rbp + 0x158], rsi
cmp edx, 4
jae 0x140009c4e
mov r14d, 0xc000003e
mov rbx, rsi
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x140009c45
mov rdi, rsi
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x310], rsi
test rbx, rbx
jne 0x14000a012
mov r14d, 0xd000000d
mov dword [rsp + 0x60], r14d
mov r15, qword [rbp - 0x48]
jmp 0x140009946
mov r13d, dword [rdi]
lea rax, [rdi + 4]
or r11, 0xffffffffffffffff
mov rbx, r11
cmp rax, rdi
cmovae rbx, rax
sbb r14d, r14d
mov r10d, 0xc0000095
and r14d, r10d
cmp rax, rdi
jb 0x140009c0f
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x140009c09
lea rcx, [rbx + r13]
mov rdi, r11
cmp rcx, rbx
cmovae rdi, rcx
sbb r14d, r14d
and r14d, r10d
cmp rcx, rbx
jb 0x140009c0f
lea eax, [r13 + 4]
or r9d, 0xffffffff
mov ecx, r9d
cmp eax, 4
cmovae ecx, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, 4
jb 0x140009c0f
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x140009c09
mov r12d, dword [rdi]
lea rax, [rdi + 4]
mov r15, r11
cmp rax, rdi
cmovae r15, rax
sbb r14d, r14d
and r14d, r10d
cmp rax, rdi
jb 0x140009c0f
lea eax, [rcx + 4]
mov r8d, r9d
cmp eax, ecx
cmovae r8d, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, ecx
jb 0x140009c0f
mov eax, edx
sub eax, r8d
cmp eax, r12d
jb 0x140009c09
lea rcx, [r15 + r12]
mov r9, r11
cmp rcx, r15
cmovae r9, rcx
sbb r14d, r14d
and r14d, r10d
cmp rcx, r15
jb 0x140009c0f
lea eax, [r8 + r12]
or edi, 0xffffffff
cmp eax, r8d
cmovae edi, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, r8d
jb 0x140009c0f
mov eax, edx
sub eax, edi
cmp eax, 4
jb 0x140009c09
mov r8d, dword [r9]
mov dword [rbp - 0x70], r8d
lea rax, [r9 + 4]
mov rcx, r11
cmp rax, r9
cmovae rcx, rax
mov qword [rbp + 0x60], rcx
sbb r14d, r14d
and r14d, r10d
cmp rax, r9
jb 0x140009c0f
lea eax, [rdi + 4]
or r9d, 0xffffffff
mov ecx, r9d
cmp eax, edi
cmovae ecx, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, edi
jb 0x140009c0f
mov eax, edx
sub eax, ecx
cmp eax, r8d
jb 0x140009c09
lea eax, [rcx + r8]
mov edi, r9d
cmp eax, ecx
cmovae edi, eax
sbb r14d, r14d
and r14d, r10d
cmp eax, ecx
jb 0x140009c0f
cmp edx, edi
jne 0x140009c09
lea ecx, [r12 + r13]
add ecx, r8d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x140009c09
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140009e09
mov r14d, 0xc0000017
jmp 0x140009f68
test rbx, rbx
je 0x140009e4c
mov dword [rax], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140009e38
mov r14d, 0xc0000017
jmp 0x140009eec
mov qword [rdi + 8], rax
mov r8, r13
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140009e52
mov dword [rax], esi
mov qword [rax + 8], rsi
test r15, r15
je 0x140009e8b
mov dword [rdi + 0x10], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140009e2d
mov qword [rdi + 0x18], rax
mov r8, r12
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140009e92
mov dword [rdi + 0x10], esi
mov qword [rdi + 0x18], rsi
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x140009ed8
mov eax, dword [rbp - 0x70]
mov dword [rdi + 0x20], eax
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140009e2d
mov qword [rdi + 0x28], rax
mov r8d, r14d
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140009edf
mov dword [rdi + 0x20], esi
mov qword [rdi + 0x28], rsi
mov qword [rbp + 0x158], rdi
mov rdi, rsi
mov r14d, esi
test rdi, rdi
je 0x140009f68
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140009f12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rsi
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x140009f33
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rsi
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140009f54
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, rsi
test r14d, r14d
cmovs rdi, qword [rbp + 0x158]
mov rbx, qword [rbp + 0x158]
cmovs rbx, rsi
mov qword [rbp + 0x58], rbx
test rdi, rdi
je 0x140009c12
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140009faf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rsi
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x140009fd0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rsi
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140009ff1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x58]
mov qword [rbp + 0x58], rbx
jmp 0x140009c12
mov r15, qword [rbx + 8]
mov qword [rbp - 0x28], r15
test r15, r15
je 0x140009c3a
cmp dword [rbx], esi
je 0x140009c3a
mov ebx, dword [rbx]
mov dword [rsp + 0x78], esi
test rbx, rbx
je 0x14000a542
add rbx, 0xfffffffffffffff8
mov qword [rbp + 0x60], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14000a53b
mov dl, sil
mov byte [rsp + 0x64], dl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x9a8], rax
mov r10, r15
mov r9, r14
mov rdi, rbx
and edi, 7
mov dword [rbp - 0x30], esi
mov r13d, esi
mov r11d, esi
je 0x14000a166
or dword [rbp - 0x50], 0xffffffff
mov r12d, esi
test edi, edi
je 0x14000a0e0
mov edx, 1
lea r8d, [rdx + 0x37]
lea r15, [r10 + 1]
movzx eax, byte [r10]
cmp r11d, 4
jge 0x14000a0c6
lea ecx, [r8 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x14000a0ce
mov ecx, r8d
shl eax, cl
or r12d, eax
add r11d, edx
sub r8d, 8
mov r10, r15
cmp r11d, edi
jl 0x14000a0ad
mov dl, sil
mov r11d, r13d
xor r11d, 0x92f65a5
mov dword [rbp - 0x30], r11d
mov r8d, r12d
xor r8d, 0x699a899c
mov dword [rbp - 0x50], r8d
mov eax, esi
test edi, edi
jle 0x14000a12c
lea rcx, [r9 + 1]
cmp eax, 4
jge 0x14000a114
rol r11d, 8
mov byte [r9], r11b
jmp 0x14000a11b
rol r8d, 8
mov byte [r9], r8b
inc eax
mov r9, rcx
cmp eax, edi
jl 0x14000a102
mov r11d, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x50]
lea eax, [rdi - 4]
test eax, eax
jle 0x14000a149
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x50], r8d
jmp 0x14000a170
mov r8d, esi
mov dword [rbp - 0x50], esi
test eax, eax
jns 0x14000a170
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x30], r11d
jmp 0x14000a170
or r12d, 0xffffffff
mov r8d, esi
mov dword [rbp - 0x50], esi
mov r15, rbx
shr r15, 3
test r15, r15
je 0x14000a4a6
mov edx, dword [rbp + 0x9ac]
mov eax, edx
shr eax, 0x10
movzx esi, dx
mov dword [rbp - 0x18], eax
movzx eax, word [rbp + 0x9aa]
mov dword [rbp - 0x70], eax
lea r14, [r9 + 7]
lea rbx, [r10 + 2]
movzx r10d, byte [rbx - 2]
shl r10d, 8
movzx eax, byte [rbx - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 1]
or r10d, eax
movzx r9d, byte [rbx + 2]
shl r9d, 8
movzx eax, byte [rbx + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 5]
or r9d, eax
xor r11d, r10d
lea rbx, [rbx + 8]
mov edi, r9d
xor edi, r8d
xor edi, r11d
xor edi, edx
xor edi, 0xab69605e
lea ecx, [rdi + 0x54969fa2]
rol ecx, 5
mov eax, edi
rol eax, 0xa
imul ecx, esi
add eax, ecx
xor r11d, eax
lea ecx, [r11 + rdx]
ror ecx, 9
mov eax, r11d
rol eax, 2
movzx r8d, word [rbp + 0x9aa]
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov eax, edi
sub eax, esi
imul ecx, eax, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
rol ecx, 6
mov eax, r11d
rol eax, 2
mov r8d, dword [rbp - 0x18]
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
mov eax, edx
sub eax, ecx
xor r11d, eax
mov ecx, r11d
ror ecx, 6
mov eax, r11d
xor eax, esi
imul eax, dword [rbp - 0x70]
xor ecx, eax
xor edi, ecx
lea eax, [rdi + rdx]
ror eax, 0xf
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r11d, ecx
lea ecx, [r11 + 0x54969fa2]
ror ecx, 0xe
mov eax, r11d
rol eax, 8
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, edi
ror eax, 0xa
imul ecx, esi
xor eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, r8d
movzx eax, word [rbp + 0x9aa]
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, 0x605e
imul eax, r8d
xor r11d, eax
mov r8d, r11d
sub r8d, dword [rbp - 0x18]
xor r8d, edi
xor r8d, 0xab69605e
mov ecx, r8d
xor ecx, dword [rbp - 0x18]
rol ecx, 2
imul ecx, esi
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, edx
ror ecx, 6
mov eax, r11d
rol eax, 7
movzx edi, word [rbp + 0x9aa]
imul ecx, edi
add eax, ecx
xor r8d, eax
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, esi
imul ecx, eax, 0x605e
add edi, ecx
xor r11d, edi
mov ecx, r11d
movzx eax, word [rbp + 0x9aa]
xor ecx, eax
rol ecx, 5
mov eax, r11d
rol eax, 7
imul ecx, dword [rbp - 0x18]
add eax, ecx
xor r8d, eax
mov edi, r8d
xor edi, r11d
xor edi, edx
xor edi, 0xab69605e
mov eax, edi
ror eax, 3
movzx r11d, word [rbp + 0x9aa]
sub eax, r11d
imul eax, esi
xor r8d, eax
mov eax, r8d
sub eax, edx
ror eax, 1
mov ecx, r8d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edi, eax
lea ecx, [rdi - 0x54969fa2]
rol ecx, 3
mov eax, edi
rol eax, 0xe
imul ecx, dword [rbp - 0x18]
add eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x54969fa2]
rol ecx, 0xf
mov eax, r8d
ror eax, 0xe
imul ecx, esi
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0x605e
imul ecx, r11d
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, edx
rol eax, 4
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r13d
xor edi, ecx
mov dword [rbp - 0x30], edi
xor r8d, r12d
mov dword [rbp - 0x50], r8d
mov byte [r14 - 4], dil
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x50]
mov byte [r14], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x30]
mov byte [r14 - 5], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x50]
mov byte [r14 - 1], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x30]
mov byte [r14 - 6], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x50]
mov byte [r14 - 2], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x30]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x50]
mov byte [r14 - 3], al
mov r11d, dword [rbp - 0x30]
ror r11d, 8
mov dword [rbp - 0x30], r11d
mov r8d, dword [rbp - 0x50]
ror r8d, 8
mov dword [rbp - 0x50], r8d
mov r13d, r10d
mov r12d, r9d
lea r14, [r14 + 8]
mov ecx, 1
sub r15, rcx
jne 0x14000a1a3
mov dl, byte [rsp + 0x64]
xor esi, esi
mov rbx, qword [rbp + 0x60]
mov r14, qword [rbp - 0x38]
jmp 0x14000a4ab
mov ecx, 1
mov rax, rsi
test rbx, rbx
je 0x14000a4bf
xor dl, byte [rax + r14]
add rax, rcx
cmp rax, rbx
jb 0x14000a4b3
movzx eax, dl
mov rcx, qword [rbp - 0x28]
cmp rax, qword [rbx + rcx]
je 0x14000a4da
mov ebx, 0xc004d501
mov rdi, qword [rbp + 0x150]
jmp 0x14000a4f2
mov rdi, r14
mov qword [rbp + 0x150], r14
mov r14, rsi
mov qword [rbp + 0x310], rbx
mov ebx, dword [rsp + 0x78]
test r14, r14
je 0x14000a512
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x150]
test ebx, ebx
js 0x14000a542
mov r15, rdi
mov qword [rbp - 0x80], rdi
mov rdi, rsi
mov qword [rbp + 0x150], rsi
mov ecx, dword [rbp + 0x310]
mov dword [rbp + 0xd8], ecx
mov r14d, 0x10000000
jmp 0x14000a551
mov rdi, qword [rbp + 0x150]
mov r14d, 0xd0000001
mov ecx, dword [rbp + 0xd8]
mov r15, rsi
mov dword [rsp + 0x60], r14d
test rdi, rdi
je 0x14000a57c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x150], rsi
mov ecx, dword [rbp + 0xd8]
test r14d, r14d
js 0x140009c45
mov r13d, 0xc0000095
cmp ecx, 4
jae 0x14000a59b
mov r14d, 0xc000003e
jmp 0x14000a769
mov r10d, dword [r15]
mov dword [rsp + 0x68], r10d
lea rax, [r15 + 4]
or r8, 0xffffffffffffffff
mov rdx, r8
cmp rax, r15
cmovae rdx, rax
sbb r14d, r14d
and r14d, r13d
cmp rax, r15
jb 0x14000a769
lea eax, [rcx - 4]
cmp eax, 4
jb 0x14000a590
mov ebx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r8
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
cmp rax, rdx
jb 0x14000a769
lea eax, [rcx - 8]
cmp eax, ebx
jb 0x14000a590
lea eax, [rbx + 8]
cmp eax, 8
sbb r14d, r14d
and r14d, r13d
cmp eax, 8
jb 0x14000a769
lea r9, [rdi + rbx]
lea rax, [rcx + r15]
cmp rax, r9
jb 0x14000a590
sub rcx, rdi
sub rcx, rbx
add rcx, r15
cmp rcx, 8
jae 0x14000a590
mov r15, rsi
mov r14d, esi
mov r13d, esi
test rdi, rdi
je 0x14000a6ec
mov rdx, rdi
cmp r9, rdi
cmovae r8, r9
sbb r14d, r14d
mov r11d, 0xc0000095
and r14d, r11d
cmp r9, rdi
jb 0x14000a751
cmp rdi, r8
jae 0x14000a6e7
mov r9d, dword [rbp + 0x278]
lea rax, [rdx + 4]
or rcx, 0xffffffffffffffff
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, r11d
cmp rax, rdx
jb 0x14000a751
cmp rcx, r8
ja 0x14000a717
mov ecx, dword [rdx]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r11d
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x278], r9d
jb 0x14000a751
mov ecx, r9d
add rcx, rdx
or rax, 0xffffffffffffffff
cmp rcx, rdx
cmovae rax, rcx
sbb r14d, r14d
and r14d, r11d
cmp rcx, rdx
jb 0x14000a751
cmp rax, r8
ja 0x14000a717
mov rdx, rax
inc r13d
cmp rax, r8
jb 0x14000a66c
cmp rdx, r8
jne 0x14000a717
test ebx, ebx
je 0x14000a725
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
test rax, rax
jne 0x14000a722
mov r14d, 0xc0000017
jmp 0x14000a74c
mov r14d, 0xc000000d
mov r13d, r11d
jmp 0x14000a769
mov r14d, esi
test rdi, rdi
je 0x14000a738
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xa8], r15
mov dword [rbp + 0xa4], ebx
mov dword [rbp + 0xa0], r13d
mov r10d, dword [rsp + 0x68]
mov r13d, 0xc0000095
test r14d, r14d
js 0x14000a769
cmp r10d, dword [rbp + 0xa0]
jne 0x14000a590
bts r14d, 0x1c
mov dword [rsp + 0x60], r14d
mov r15, qword [rbp - 0x48]
jmp 0x14000994c
mov r15, rsi
mov r13d, ebx
jmp 0x14000994c
mov r15, rsi
jmp 0x14000994c
or r15, 0xffffffffffffffff
cmp qword [rbp + 0xa8], rsi
jne 0x14000a7a9
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x14000a817
cmp dword [rbp + 0xa0], esi
jbe 0x14000a79c
mov rdi, qword [rbp + 0xa8]
mov ecx, dword [rdi]
lea rax, [rdi + 4]
mov rdx, r15
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdi
jb 0x14000a7f0
mov dword [rbp + 0x288], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x3c8], rax
jmp 0x14000a7fd
mov ecx, dword [rbp + 0x288]
mov rax, qword [rbp + 0x3c8]
test r14d, r14d
js 0x1400081bd
cmp ecx, 4
jne 0x140008403
mov eax, dword [rax]
mov dword [rbp + 0x88], eax
test r14d, r14d
js 0x1400081bd
mov r14d, dword [rbp + 0x88]
cmp r14d, 0xd0000023
cmove r14d, r12d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0x88], r14d
cmp r14d, r12d
je 0x14000a84c
test r14d, r14d
js 0x1400081bd
cmp dword [rbp + 0xa0], 6
jne 0x140009ae9
cmp qword [rbp + 0xa8], rsi
jne 0x14000a872
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x14000a922
mov rdx, qword [rbp + 0xa8]
mov r8d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000a8f9
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x14000a8f9
add r8d, ebx
cmp r8d, ebx
jb 0x14000a87c
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000a8f9
mov dword [rbp + 0x250], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3d0], rax
jmp 0x14000a906
mov ecx, dword [rbp + 0x250]
mov rax, qword [rbp + 0x3d0]
test r14d, r14d
js 0x1400081bd
cmp ecx, 8
jne 0x140008403
mov rax, qword [rax]
mov qword [rbp + 0x3f8], rax
test r14d, r14d
js 0x1400081bd
cmp qword [rbp + 0xa8], rsi
jne 0x14000a944
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x14000a9f3
mov rdx, qword [rbp + 0xa8]
mov r8d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000a9cc
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x14000a9cc
add r8d, ebx
cmp r8d, 2
jb 0x14000a94e
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000a9cc
mov dword [rbp + 0x254], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3d8], rax
jmp 0x14000a9d9
mov ecx, dword [rbp + 0x254]
mov rax, qword [rbp + 0x3d8]
test r14d, r14d
js 0x1400081bd
cmp ecx, 4
jne 0x140008403
mov eax, dword [rax]
mov dword [rbp + 0x208], eax
test r14d, r14d
js 0x1400081bd
cmp qword [rbp + 0xa8], rsi
jne 0x14000aa10
mov r14d, 0xc000000d
jmp 0x1400081b8
mov rdx, qword [rbp + 0xa8]
mov r8d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000aa9b
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x14000aa9b
add r8d, ebx
cmp r8d, 3
jb 0x14000aa1a
mov r8d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000aa9b
mov dword [rbp + 0x1f8], r8d
mov r9, rsi
test r8d, r8d
cmovne r9, rcx
mov qword [rbp + 0x3e0], r9
jmp 0x14000aaa9
mov r8d, dword [rbp + 0x1f8]
mov r9, qword [rbp + 0x3e0]
test r14d, r14d
js 0x1400081bd
mov rdx, qword [rbp + 0xa8]
mov r10d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000ab3a
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x14000ab3a
add r10d, ebx
cmp r10d, 4
jb 0x14000aabc
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000ab3a
mov dword [rbp + 0x1fc], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3e8], rax
jmp 0x14000ab47
mov ecx, dword [rbp + 0x1fc]
mov rax, qword [rbp + 0x3e8]
test r14d, r14d
js 0x14000ab61
cmp ecx, 4
jne 0x140008403
mov r10d, dword [rax]
mov dword [rbp + 0x200], r10d
jmp 0x14000ab68
mov r10d, dword [rbp + 0x200]
test r14d, r14d
js 0x1400081bd
mov rdx, qword [rbp + 0xa8]
mov r11d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000abf9
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x14000abf9
add r11d, ebx
cmp r11d, 5
jb 0x14000ab7b
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r13d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14000abf9
mov dword [rbp + 0x204], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3f0], rax
jmp 0x14000ac06
mov ecx, dword [rbp + 0x204]
mov rax, qword [rbp + 0x3f0]
test r14d, r14d
js 0x14000ac1e
cmp ecx, 4
jne 0x140008403
mov ecx, dword [rax]
mov dword [rbp + 0x19c], ecx
jmp 0x14000ac24
mov ecx, dword [rbp + 0x19c]
test r14d, r14d
js 0x1400081bd
mov rax, qword [rbp + 0x3f8]
cmp qword [rbp + 0x298], rax
jne 0x140009ae9
mov dword [rbp + 0x114], r10d
mov dword [rbp + 0x68], ecx
mov eax, dword [rbp + 0x208]
mov dword [rbp + 0x1ac], eax
cmp r10d, 4
jbe 0x14000ac6a
mov r14d, r12d
mov dword [rsp + 0x60], r12d
jmp 0x1400081bd
cmp r8d, 4
ja 0x14000ac5d
mov rdx, r9
mov rcx, qword [rbp + 0x40]
call sub.msvcrt.dll_memcpy
mov r15, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x78]
test r14d, r14d
js 0x1400081c6
cmp dword [rbp + 0x88], esi
cmovne r14d, dword [rbp + 0x88]
mov dword [rsp + 0x60], r14d
jmp 0x1400081c6
mov rax, qword [0x1401092e8]
call qword [case.0x1400739fa.0]
mov qword [0x140111ec0], rax
mov edi, dword [0x140111500]
mov dword [rsp + 0x68], edi
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x520]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x990], rax
mov qword [rbp + 0x998], rax
lea r13d, [rax + 1]
mov dword [rbp + 0x1a0], r13d
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x60], rsi
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xb18]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x158], rsi
xor eax, eax
lock cmpxchg dword [0x140111ebc], r13d
jne 0x14000ad15
mov eax, dword [0x140111eb8]
test eax, eax
jne 0x14000b303
mov dword [rbp - 0x58], esi
mov dword [rsp + 0x78], esi
mov dword [rbp - 0x48], esi
mov qword [rbp + 0x1e0], rsi
mov qword [rbp + 0x330], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14000b281
mov byte [rsp + 0x64], sil
mov ecx, esi
or dword [rbp - 0x70], 0xffffffff
mov r12d, esi
mov dword [rbp + 4], esi
mov r13d, esi
mov dword [rbp + 0x2c], esi
lea r14, [rax + 7]
lea rdi, [0x1400ef302]
mov r15d, 0x67
mov ebx, dword [rbp - 0x70]
lea esi, [r15 - 0x66]
movzx r11d, byte [rdi - 2]
shl r11d, 8
movzx eax, byte [rdi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi + 1]
or r11d, eax
movzx r10d, byte [rdi + 2]
shl r10d, 8
movzx eax, byte [rdi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 5]
or r10d, eax
xor r13d, r11d
xor r12d, r10d
lea rdi, [rdi + 8]
xor r12d, r13d
xor r12d, 0xac987321
lea eax, [r12 + 0x54969fa2]
rol eax, 5
mov edx, r12d
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 r12d, eax
mov eax, r12d
shr eax, 0xd
imul edx, r12d, 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 r12d, eax
mov edx, r12d
mov r9d, 0xab69605e
xor edx, r9d
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 r12d, r8d
lea eax, [r12 + 0x7f1137f]
ror eax, 0xf
mov edx, r12d
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 r12d, eax
mov eax, r12d
xor eax, r9d
ror eax, 0xc
mov edx, r12d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r13d, edx
mov eax, r13d
mov r8d, 0x7f1
xor eax, r8d
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea r9d, [r13 - 0x7f1]
xor r9d, r12d
xor r9d, 0xab69605e
mov eax, r9d
xor eax, r8d
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
mov edx, r13d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r9d, edx
mov r8d, r9d
ror r8d, 9
mov eax, r9d
xor eax, 0x137f
imul edx, eax, 0x605e
add r8d, edx
xor r13d, r8d
mov eax, r13d
mov r12d, 0xab69
xor eax, r12d
rol eax, 5
mov edx, r13d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r13d
xor r8d, 0xac987321
mov eax, r8d
ror eax, 3
sub eax, r12d
imul eax, eax, 0x137f
xor r9d, eax
lea eax, [r9 - 0x7f1137f]
ror eax, 1
mov edx, r9d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r8d, eax
lea eax, [r8 - 0x54969fa2]
rol eax, 3
mov edx, r8d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
mov edx, r9d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r8d, eax
mov eax, r8d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r9d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, ecx
xor r8d, edx
mov dword [rbp + 0x2c], r8d
xor r9d, ebx
mov dword [rbp + 4], r9d
mov byte [r14 - 4], r8b
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 4]
mov byte [r14], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x2c]
mov byte [r14 - 5], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 4]
mov byte [r14 - 1], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x2c]
mov byte [r14 - 6], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 4]
mov byte [r14 - 2], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x2c]
mov byte [r14 - 7], al
mov al, byte [rbp + 4]
mov byte [r14 - 3], al
mov r13d, dword [rbp + 0x2c]
ror r13d, 8
mov dword [rbp + 0x2c], r13d
mov r12d, dword [rbp + 4]
ror r12d, 8
mov dword [rbp + 4], r12d
mov ecx, r11d
mov ebx, r10d
lea r14, [r14 + 8]
sub r15, rsi
jne 0x14000ad9b
xor esi, esi
mov eax, esi
mov cl, byte [rsp + 0x64]
mov edi, dword [rsp + 0x68]
mov r14d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x78]
mov rbx, qword [rbp - 0x38]
mov edx, 0x338
lea r13d, [rsi + 1]
xor cl, byte [rax + rbx]
add rax, r13
cmp rax, rdx
jb 0x14000b0e6
movzx eax, cl
cmp rax, qword [0x1400ef638]
je 0x14000b105
mov r12d, 0xc004d501
jmp 0x14000b119
mov qword [rbp + 0x1e0], rbx
mov rbx, rsi
mov qword [rbp + 0x330], rdx
mov r12d, r15d
test rbx, rbx
je 0x14000b132
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x14000b281
mov rbx, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x330]
mov byte [rax + rbx - 1], sil
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x140111510]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x14000b26e
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], si
jne 0x14000b16f
lea rbx, [rbx + rax*2]
mov eax, dword [rbp - 0x48]
lea rcx, [rax + rax*2]
lea r12, [r12 + rcx*8]
mov r8, r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14000b281
mov r15d, esi
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14000b1b3
mov r15d, 0xc000007b
jmp 0x14000b203
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14000b1ab
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14000b1ab
cmp dword [rcx], 0x4550
jne 0x14000b1ab
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14000b1ef
mov r15d, 0xc000000d
jmp 0x14000b203
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [rbx + 2]
mov dword [rbp - 0x70], eax
add rbx, 6
mov r13d, esi
test eax, eax
je 0x14000b25d
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], sil
jne 0x14000b21b
inc rbx
add rbx, rax
test r15d, r15d
js 0x14000b24c
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000b279
mov ecx, dword [rbp - 0x58]
lea rdx, [0x140109250]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp - 0x58], eax
add r13d, eax
cmp r13d, dword [rbp - 0x70]
jb 0x14000b214
mov r13d, 1
add dword [rbp - 0x48], r13d
lea r12, [0x140111510]
cmp byte [rbx], sil
jne 0x14000b168
jmp 0x14000b287
mov r13d, 1
jmp 0x14000b287
mov r15d, 0xc000007a
cmp qword [rbp + 0x1e0], rsi
je 0x14000b2a8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1e0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x14000b2fd
lea r12, [0x140111510]
mov rbx, r12
mov r15d, 4
cmp qword [rbx], rsi
je 0x14000b2cb
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub r15, r13
jne 0x14000b2bd
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400e7640]
lea rcx, [0x140109250]
call sub.msvcrt.dll_memcpy
jmp 0x14000b30c
mov eax, dword [0x140111eb8]
add eax, r13d
mov dword [0x140111eb8], eax
mov eax, esi
xchg dword [0x140111ebc], eax
xor ecx, ecx
mov dword [rbp + 0xea0], ecx
mov word [rbp + 0xea4], cx
mov dword [rbp - 0x18], esi
mov dword [rbp + 0x18], esi
mov qword [rbp + 0x280], rsi
xor eax, eax
mov qword [rbp + 0x318], rax
mov qword [rbp + 0x320], rax
mov qword [rbp + 0x328], rax
mov qword [rbp + 0x9e0], rax
mov qword [rbp + 0x9e8], rax
xor eax, eax
lock cmpxchg dword [0x140111ebc], r13d
jne 0x14000b355
mov eax, dword [0x140111eb8]
test eax, eax
jne 0x14000b931
mov dword [rbp - 0x58], esi
mov dword [rbp - 0x48], esi
mov qword [rbp + 0x1e8], rsi
mov qword [rbp + 0x338], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14000b8af
mov r12d, esi
or ecx, 0xffffffff
mov edx, esi
mov dword [rbp + 8], edx
mov r13d, esi
mov dword [rbp + 0x30], esi
lea r14, [rax + 7]
lea rdi, [0x1400ef302]
mov ebx, 1
lea r15d, [rbx + 0x66]
mov r8d, 0xab69
movzx r11d, byte [rdi - 2]
shl r11d, 8
movzx eax, byte [rdi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi + 1]
or r11d, eax
movzx r10d, byte [rdi + 2]
shl r10d, 8
movzx eax, byte [rdi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 5]
or r10d, eax
xor r13d, r11d
lea rdi, [rdi + 8]
mov r9d, r13d
xor r9d, r10d
xor r9d, edx
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, r8d
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
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r9d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r13d, edx
mov eax, r13d
mov r8d, 0x7f1
xor eax, r8d
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor edx, r9d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea r9d, [r13 - 0x7f1]
xor r9d, edx
xor r9d, 0xab69605e
mov eax, r9d
xor eax, r8d
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
mov edx, r13d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r9d, edx
mov r8d, r9d
ror r8d, 9
mov eax, r9d
xor eax, 0x137f
imul edx, eax, 0x605e
add r8d, edx
xor r13d, r8d
mov eax, r13d
mov r8d, 0xab69
xor eax, r8d
rol eax, 5
mov edx, r13d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
xor r13d, r9d
xor r13d, 0xac987321
mov eax, r13d
ror eax, 3
sub eax, r8d
imul eax, eax, 0x137f
xor r9d, eax
lea eax, [r9 - 0x7f1137f]
ror eax, 1
mov edx, r9d
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 r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
mov edx, r9d
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 r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r9d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, r12d
xor r13d, edx
mov dword [rbp + 0x30], r13d
xor r9d, ecx
mov dword [rbp + 8], r9d
mov byte [r14 - 4], r13b
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 8]
mov byte [r14], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x30]
mov byte [r14 - 5], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 8]
mov byte [r14 - 1], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x30]
mov byte [r14 - 6], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 8]
mov byte [r14 - 2], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x30]
mov byte [r14 - 7], al
mov al, byte [rbp + 8]
mov byte [r14 - 3], al
mov r13d, dword [rbp + 0x30]
ror r13d, 8
mov dword [rbp + 0x30], r13d
mov edx, dword [rbp + 8]
ror edx, 8
mov dword [rbp + 8], edx
mov r12d, r11d
mov ecx, r10d
lea r14, [r14 + 8]
sub r15, rbx
jne 0x14000b3d3
mov rax, rsi
mov cl, sil
mov edi, dword [rsp + 0x68]
mov r14d, dword [rsp + 0x60]
mov r15d, esi
mov rbx, qword [rbp - 0x38]
mov r12d, esi
mov edx, 0x338
mov r13d, 1
xor cl, byte [rbx + rax]
add rax, r13
cmp rax, rdx
jb 0x14000b717
movzx eax, cl
cmp rax, qword [0x1400ef638]
je 0x14000b736
mov r12d, 0xc004d501
jmp 0x14000b747
mov qword [rbp + 0x1e8], rbx
mov rbx, rsi
mov qword [rbp + 0x338], rdx
test rbx, rbx
je 0x14000b760
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x14000b8af
mov rbx, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x338]
mov byte [rax + rbx - 1], sil
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x140111510]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x14000b89c
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], si
jne 0x14000b79d
lea rbx, [rbx + rax*2]
mov eax, dword [rbp - 0x48]
lea rcx, [rax + rax*2]
lea r12, [r12 + rcx*8]
mov r8, r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14000b8af
mov r15d, esi
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14000b7e1
mov r15d, 0xc000007b
jmp 0x14000b831
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14000b7d9
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14000b7d9
cmp dword [rcx], 0x4550
jne 0x14000b7d9
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14000b81d
mov r15d, 0xc000000d
jmp 0x14000b831
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [rbx + 2]
mov dword [rbp - 0x70], eax
add rbx, 6
mov r13d, esi
test eax, eax
je 0x14000b88b
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], sil
jne 0x14000b849
inc rbx
add rbx, rax
test r15d, r15d
js 0x14000b87a
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000b8a7
mov ecx, dword [rbp - 0x58]
lea rdx, [0x140109250]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp - 0x58], eax
add r13d, eax
cmp r13d, dword [rbp - 0x70]
jb 0x14000b842
mov r13d, 1
add dword [rbp - 0x48], r13d
lea r12, [0x140111510]
cmp byte [rbx], sil
jne 0x14000b796
jmp 0x14000b8b5
mov r13d, 1
jmp 0x14000b8b5
mov r15d, 0xc000007a
cmp qword [rbp + 0x1e8], rsi
je 0x14000b8d6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x14000b92b
lea r12, [0x140111510]
mov rbx, r12
mov r15d, 4
cmp qword [rbx], rsi
je 0x14000b8f9
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub r15, r13
jne 0x14000b8eb
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400e7640]
lea rcx, [0x140109250]
call sub.msvcrt.dll_memcpy
jmp 0x14000b93a
mov eax, dword [0x140111eb8]
add eax, r13d
mov dword [0x140111eb8], eax
mov eax, esi
xchg dword [0x140111ebc], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x520]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x990], rax
mov r12d, edi
lea ecx, [rax + 0xf]
and r12d, ecx
mov dword [rbp + 0x10], r12d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xea0], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0xea2], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0xea4], di
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140109348]
call qword [case.0x1400739fa.0]
mov qword [rsp + 0x70], rax
mov dword [rbp + 0x78], 0xffffff
test rax, rax
jne 0x14000b9e3
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14000cde3
mov ebx, 0x80004005
jmp 0x14000cde3
mov qword [rbp + 0x290], rsi
mov qword [rbp + 0x1f0], rsi
mov qword [rbp + 0x340], rsi
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x160], rsi
mov qword [rbp + 0xf8], rsi
mov ebx, esi
mov dword [rbp + 0xdc], esi
lea r9, [rbp + 0xdc]
xor r8d, r8d
lea rdx, [rbp + 0x98]
lea ecx, [r8 + 8]
mov rax, qword [0x1401092f0]
call qword [case.0x1400739fa.0]
test eax, eax
jne 0x14000ba61
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14000bba1
mov ebx, 0x80004005
jmp 0x14000bba1
mov edi, dword [rbp + 0xdc]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x160]
call fcn.140026f98
test rdi, rdi
jne 0x14000baa3
mov qword [rbp + 0x160], rsi
mov ebx, 0x8007000e
jmp 0x14000bba1
mov qword [rbp + 0x160], rdi
mov edi, dword [rbp + 0x98]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0xf8]
call fcn.140026f98
test rdi, rdi
jne 0x14000bae8
mov ebx, 0x8007000e
jmp 0x14000bb9a
mov qword [rbp + 0xf8], rdi
lea r9, [rbp + 0xdc]
mov r8, qword [rbp + 0x160]
lea rdx, [rbp + 0x98]
mov ecx, 8
mov rax, qword [0x1401092f0]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000ba3b
mov rdi, qword [rbp + 0x160]
mov r15, qword [rbp + 0xf8]
mov r12d, esi
cmp dword [rbp + 0x98], esi
jbe 0x14000bb79
or r14, 0xffffffffffffffff
xor edx, edx
mov rcx, rdi
mov rax, qword [0x140109300]
call qword [case.0x1400739fa.0]
mov dword [r15], eax
mov rax, r14
inc rax
cmp word [rdi + rax*2], si
jne 0x14000bb53
lea rdi, [rdi + rax*2]
add rdi, 2
add r15, 4
add r12d, r13d
cmp r12d, dword [rbp + 0x98]
jb 0x14000bb3b
mov r14d, dword [rsp + 0x60]
mov dword [r15], 0x409
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x290], rax
mov eax, dword [rbp + 0x98]
inc eax
mov dword [rsp + 0x68], eax
mov qword [rbp + 0xf8], rsi
lea rcx, [rbp + 0xf8]
call fcn.140026f98
lea rcx, [rbp + 0x160]
call fcn.140026f98
test ebx, ebx
js 0x14000c316
mov r10d, esi
mov dword [rbp - 0x58], esi
mov r9d, esi
lea r11, [0x1400ef1d0]
cmp dword [rsp + 0x68], esi
jbe 0x14000bc10
mov r8, rsi
mov rax, qword [rbp + 0x290]
mov edx, esi
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x14000bc0a
add edx, r13d
add rdi, 4
cmp edx, 0x26
jb 0x14000bbe6
add r9d, r13d
add r8, 4
cmp r9d, dword [rsp + 0x68]
jae 0x14000bc10
jmp 0x14000bbe1
mov r10d, edx
mov dword [rbp - 0x58], edx
mov edi, r10d
mov dword [rbp - 0x48], esi
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0xeb0]
mov ecx, dword [r11 + rdi*4]
mov rax, qword [0x1401092f8]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000bc71
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xc90]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0xeb0]
mov rax, qword [0x1401092e0]
call qword [case.0x1400739fa.0]
test eax, eax
jle 0x14000bc71
mov ebx, dword [rbp + 0xc9c]
shr ebx, 0x1b
and ebx, r13d
mov dword [rbp - 0x48], ebx
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0xe00]
mov r8d, SafeArrayUnaccessData
or r14, 0xffffffffffffffff
mov qword [rdx], rcx
mov rax, r14
inc rax
cmp word [rcx + rax*2], si
jne 0x14000bc8f
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub r8, r13
jne 0x14000bc89
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xef270]
mov r12, qword [rbp + rax*8 + 0xe00]
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x318], r12
movzx eax, byte [rdx + rcx + 0xef271]
mov r12, qword [rbp + rax*8 + 0xe00]
mov qword [rbp - 0x28], r12
mov qword [rbp + 0x320], r12
movzx eax, byte [rdx + rcx + 0xef272]
mov rdi, qword [rbp + rax*8 + 0xe00]
mov qword [rbp - 0x78], rdi
mov qword [rbp + 0x328], rdi
mov dword [rsp + 0x68], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x1c90
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x38], rax
test rax, rax
mov r14d, dword [rsp + 0x60]
jne 0x14000bd38
mov ebx, 0x8007000e
jmp 0x14000c337
or dword [rsp + 0x78], 0xffffffff
mov ecx, esi
mov dword [rbp + 0xc], ecx
mov r11d, esi
mov dword [rbp + 0x34], esi
lea r12, [rax + 7]
lea r13, [0x1400ef952]
mov r14d, 0x392
mov r15d, esi
mov esi, dword [rsp + 0x78]
mov ebx, 1
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor r11d, r10d
lea r13, [r13 + 8]
mov r8d, r9d
xor r8d, ecx
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
mov ecx, r8d
rol ecx, 0xa
imul eax, eax, 0x137f
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0xab69
sub eax, ecx
xor r8d, eax
mov eax, r8d
shr eax, 0xd
imul ecx, r8d, 0x605e
sub ecx, eax
sub ecx, 0x756c8a2
xor r11d, ecx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor r8d, eax
mov ecx, r8d
mov edi, 0xab69605e
xor ecx, edi
mov eax, 0x7f1137f
sub eax, ecx
xor r11d, eax
mov edx, r11d
ror edx, 6
mov eax, r11d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edx, ecx
xor r8d, edx
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov ecx, r11d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor r8d, eax
mov eax, r8d
xor eax, edi
ror eax, 0xc
mov ecx, r8d
ror ecx, 0xa
imul eax, eax, 0x137f
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov edx, 0x7f1
xor eax, edx
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor r8d, ecx
mov eax, r8d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea edi, [r11 - 0x7f1]
xor edi, r8d
xor edi, 0xab69605e
mov eax, edi
xor eax, edx
rol eax, 2
imul ecx, eax, 0x137f
mov eax, edi
shr eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov ecx, r11d
rol ecx, 7
imul eax, eax, 0xab69
add ecx, eax
xor edi, ecx
mov edx, edi
ror edx, 9
mov eax, edi
xor eax, 0x137f
imul ecx, eax, 0x605e
add edx, ecx
xor r11d, edx
mov eax, r11d
mov r8d, 0xab69
xor eax, r8d
rol eax, 5
mov ecx, r11d
rol ecx, 7
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
mov edx, edi
xor edx, r11d
xor edx, 0xac987321
mov eax, edx
ror eax, 3
sub eax, r8d
imul eax, eax, 0x137f
xor edi, eax
lea eax, [rdi - 0x7f1137f]
ror eax, 1
mov ecx, edi
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edx, eax
lea eax, [rdx - 0x54969fa2]
rol eax, 3
mov ecx, edx
rol ecx, 0xe
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 0xf
mov ecx, edi
ror ecx, 0xe
imul eax, eax, 0x137f
sub eax, ecx
xor edx, eax
mov eax, edx
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edx
shr eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r15d
xor edx, ecx
mov dword [rbp + 0x34], edx
xor edi, esi
mov dword [rbp + 0xc], edi
mov byte [r12 - 4], dl
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0xc]
mov byte [r12], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x34]
mov byte [r12 - 5], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0xc]
mov byte [r12 - 1], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x34]
mov byte [r12 - 6], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0xc]
mov byte [r12 - 2], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x34]
mov byte [r12 - 7], al
mov al, byte [rbp + 0xc]
mov byte [r12 - 3], al
mov r11d, dword [rbp + 0x34]
ror r11d, 8
mov dword [rbp + 0x34], r11d
mov ecx, dword [rbp + 0xc]
ror ecx, 8
mov dword [rbp + 0xc], ecx
mov r15d, r10d
mov esi, r9d
lea r12, [r12 + 8]
sub r14, rbx
jne 0x14000bd65
xor esi, esi
mov eax, esi
xorps xmm1, xmm1
mov r14d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x68]
mov r15, qword [rbp - 0x38]
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r15]
pxor xmm0, xmm1
movdqa xmm1, xmm0
add rax, 0x10
cmp rax, rcx
jb 0x14000c08e
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 [0x1400f15e0]
je 0x14000c0ec
mov ebx, 0xc004d501
jmp 0x14000c0fd
mov qword [rbp + 0x1f0], r15
mov r15, rsi
mov qword [rbp + 0x340], rcx
test r15, r15
je 0x14000c116
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test ebx, ebx
js 0x14000c33d
mov rdx, qword [rbp + 0x1f0]
lea rdi, [rbp + 0xdd0]
lea r8d, [r13 + 5]
mov r9d, dword [rbp - 0x58]
or r14, 0xffffffffffffffff
mov ecx, esi
cmp r9d, ecx
jne 0x14000c148
mov qword [rdi], rdx
mov rax, r14
inc rax
cmp byte [rdx + rax], sil
jne 0x14000c14b
inc rdx
add rdx, rax
add ecx, r13d
cmp ecx, 0x26
jb 0x14000c140
add rdi, 8
sub r8, r13
jne 0x14000c13e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x90]
call fcn.140026f98
test rdi, rdi
mov r14d, dword [rsp + 0x60]
jne 0x14000c1aa
mov qword [rbp + 0x90], rsi
mov ebx, 0x8007000e
jmp 0x14000c33d
mov qword [rbp + 0x90], rdi
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, esi
mov dword [rsp + 0x68], edx
mov r15, rsi
lea rcx, [rbp + 0xea0]
mov qword [rbp + 0x20], rcx
mov eax, esi
movzx edi, word [rcx]
lea rcx, [0x1400ef2e8]
cmp di, word [rcx]
je 0x14000c1f4
add eax, r13d
add rcx, 2
cmp eax, 6
jb 0x14000c1de
jmp 0x14000c2b7
mov r12, qword [rbp + rax*8 + 0xdd0]
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], sil
jne 0x14000c200
lea r9d, [rax + r13]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x140109310]
call qword [case.0x1400739fa.0]
movsxd r13, eax
test eax, eax
je 0x14000c2f7
mov rdi, r13
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbp + 0x90]
mov qword [rcx + r15], rax
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + r15], rsi
je 0x14000bd2e
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], sil
jne 0x14000c272
mov r9d, 1
add r9d, eax
mov dword [rsp + 0x28], r13d
mov rdx, qword [rcx + r15]
mov qword [rsp + 0x20], rdx
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x140109310]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000c2f7
mov edx, dword [rsp + 0x68]
mov r13d, 1
add edx, r13d
mov dword [rsp + 0x68], edx
mov rcx, qword [rbp + 0x20]
add rcx, 2
mov qword [rbp + 0x20], rcx
add r15, 8
cmp edx, 3
jb 0x14000c1d2
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x280], rax
mov eax, dword [rbp - 0x48]
mov dword [rbp + 0x520], eax
jmp 0x14000c33d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14000c337
mov ebx, 0x80004005
jmp 0x14000c337
mov rax, qword [rbp + 0x328]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x320]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x318]
mov qword [rbp + 0x40], rax
mov r13d, 1
cmp qword [rbp + 0x90], rsi
je 0x14000c3b1
mov r15, rsi
mov r12d, 3
or r14, 0xffffffffffffffff
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + r15], rsi
je 0x14000c3a3
test rcx, rcx
jne 0x14000c368
mov rcx, rsi
mov rdi, qword [rcx + r15]
mov rcx, r14
inc rcx
cmp word [rdi + rcx*2], si
jne 0x14000c36f
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x90]
mov rdi, qword [rax + r15]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add r15, 8
sub r12, r13
jne 0x14000c353
mov r14d, dword [rsp + 0x60]
mov rdi, qword [rbp + 0x1f0]
test rdi, rdi
je 0x14000c3c8
xor eax, eax
mov rcx, qword [rbp + 0x340]
rep stosb byte [rdi], al
lea rcx, [rbp + 0x90]
call fcn.140026f98
lea rcx, [rbp + 0x1f0]
call fcn.140026f98
lea rcx, [rbp + 0x290]
call fcn.140026f98
test ebx, ebx
js 0x14000cdcb
mov rax, qword [rbp + 0x280]
mov rcx, qword [rax]
mov qword [rbp + 0x528], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x530], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x538], rcx
xor eax, eax
mov qword [rbp + 0x350], rax
mov qword [rbp + 0x358], rax
mov edi, esi
mov ebx, esi
mov dword [rbp + 0x350], reloc.OLEAUT32.dll_SafeArrayGetDim
xor r9d, r9d
lea r8, [rbp + 0x350]
xor edx, edx
lea ecx, [rax + 0x42]
mov rax, qword [0x1401093b8]
call qword [case.0x1400739fa.0]
test eax, eax
jne 0x14000c478
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14000c481
mov ebx, 0x80004005
jmp 0x14000c481
mov edi, dword [rbp + 0x354]
and edi, r13d
mov dword [rbp + 0x524], edi
mov r12d, dword [rbp + 0x10]
test ebx, ebx
js 0x14000cdcf
mov ecx, r12d
mov eax, 0x2a
mov dword [rbp - 0x80], eax
sub ecx, 1
je 0x14000c4c3
sub ecx, 1
je 0x14000c4ba
cmp ecx, 1
jne 0x14000c4cd
mov edi, 0xe1
mov dword [rbp - 0x18], edi
mov dword [rbp + 0x18], edi
jmp 0x14000c4cd
mov dword [rbp - 0x18], SafeArrayGetDim
jmp 0x14000c4c6
mov dword [rbp - 0x18], eax
mov dword [rbp + 0x18], SafeArrayGetDim
mov ebx, 0x60
mov r13d, ebx
lea edi, [rbx + 0x7c]
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xcb0]
call sub.msvcrt.dll_memset
mov word [rbp + 0xcf4], di
lea r8, [rbp + 0xcb0]
or edx, 0xffffffff
xor ecx, ecx
mov rax, qword [0x140109330]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000c53c
movzx r13d, word [rbp + 0xd56]
and qword [rbp + 0x9e0], 0
mov eax, dword [rbp + 0xd5c]
mov dword [rbp + 0x9e8], eax
mov eax, dword [rbp + 0xd60]
mov dword [rbp + 0x9ec], eax
cmp r13d, ebx
cmovb r13d, ebx
mov eax, 1
cmp r12d, eax
mov r15, qword [rbp - 0x78]
cmove r15, qword [rbp + 0x40]
xor edx, edx
lea r8d, [rax + 0x5b]
lea rcx, [rbp + 0xb70]
call sub.msvcrt.dll_memset
mov ebx, esi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140109348]
call qword [case.0x1400739fa.0]
mov rdi, rax
test rax, rax
jne 0x14000c5a6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14000cdcf
mov ebx, 0x80004005
jmp 0x14000cdcf
mov r8d, 0x48
mov edx, r13d
mov ecx, dword [rbp - 0x18]
mov rax, qword [0x140109308]
call qword [case.0x1400739fa.0]
neg eax
mov dword [rbp + 0xb70], eax
mov dword [rbp + 0xb80], 0x190
mov byte [rbp + 0xb8a], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xb8c]
call fcn.140017400
lea rcx, [rbp + 0xb70]
mov rax, qword [0x140109270]
call qword [case.0x1400739fa.0]
test rax, rax
jne 0x14000c624
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14000c62b
mov ebx, 0x80004005
jmp 0x14000c62b
mov qword [rbp + 0x540], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1401093b0]
call qword [case.0x1400739fa.0]
test ebx, ebx
js 0x14000cdcf
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xbd0]
call sub.msvcrt.dll_memset
mov ebx, esi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140109348]
call qword [case.0x1400739fa.0]
mov rdi, rax
test rax, rax
je 0x14000c580
mov r8d, 0x48
mov edx, r13d
mov ecx, dword [rbp + 0x18]
mov rax, qword [0x140109308]
call qword [case.0x1400739fa.0]
neg eax
mov dword [rbp + 0xbd0], eax
mov dword [rbp + 0xbe0], 0x190
mov byte [rbp + 0xbea], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xbec]
call fcn.140017400
lea rcx, [rbp + 0xbd0]
mov rax, qword [0x140109270]
call qword [case.0x1400739fa.0]
test rax, rax
jne 0x14000c6fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14000c701
mov ebx, 0x80004005
jmp 0x14000c701
mov qword [rbp + 0x548], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1401093b0]
call qword [case.0x1400739fa.0]
test ebx, ebx
js 0x14000cdcf
mov r15d, esi
mov edx, esi
mov ecx, r12d
sub ecx, 1
je 0x14000c732
sub ecx, 1
je 0x14000c769
cmp ecx, 1
jne 0x14000c73f
mov r15d, dword [rbp + 0x9e8]
mov edx, dword [rbp + 0x9ec]
mov dword [rbp + 0x998], r15d
mov dword [rbp + 0x99c], edx
mov ecx, 1
cmp r12d, ecx
je 0x14000c7a0
lea eax, [r12 - 2]
cmp eax, ecx
ja 0x14000c77f
mov eax, esi
mov dword [rbp - 0x80], esi
mov dword [rbp - 0x18], esi
jmp 0x14000c7ac
mov eax, dword [rbp + 0x9e8]
cdq
and edx, 3
lea r15d, [rdx + rax]
sar r15d, 2
mov edx, esi
jmp 0x14000c73f
mov eax, dword [rbp + 0xb0]
mov dword [rbp - 0x18], eax
mov eax, dword [rbp + 0xb0]
mov dword [rbp - 0x80], eax
mov r12d, dword [rbp + 0xb0]
mov eax, dword [rbp + 0xb0]
jmp 0x14000c7af
mov eax, reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rbp - 0x18], 0x20
mov r12d, esi
mov dword [rbp - 0x58], eax
sub r15d, eax
sub r15d, r12d
mov dword [rbp + 0x574], r15d
mov dword [rbp + 0x564], r15d
mov rdi, qword [rbp + 0x528]
mov ebx, esi
mov rdx, qword [rbp + 0x540]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x55c]
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.0x1400739fa.0]
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14000c842
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
test ebx, ebx
js 0x14000cdcb
mov rdi, qword [rbp + 0x530]
mov ebx, esi
mov rdx, qword [rbp + 0x548]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x56c]
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.0x1400739fa.0]
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14000c8c6
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
test ebx, ebx
js 0x14000cdcb
mov eax, dword [rbp + 0x10]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x564]
mov ebx, 1
cmp eax, ebx
ja 0x14000c8f1
mov r15d, dword [rbp + 0x574]
cmp ecx, r15d
cmovg r15d, ecx
mov r8d, dword [rbp - 0x80]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
cmp dword [rbp + 0x520], esi
je 0x14000c926
mov edx, r12d
sub edx, ecx
add edx, r15d
lea rcx, [rbp + 0x55c]
call qword [case.0x1400739fa.0]
sub r12d, dword [rbp + 0x574]
lea edx, [r15 + r12]
jmp 0x14000c939
mov edx, dword [rbp - 0x58]
lea rcx, [rbp + 0x55c]
call qword [case.0x1400739fa.0]
mov edx, dword [rbp - 0x58]
mov r8d, dword [rbp - 0x18]
add r8d, dword [rbp + 0x568]
lea rcx, [rbp + 0x56c]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov r12d, dword [rbp + 0x10]
lea eax, [r12 - 2]
cmp eax, ebx
jbe 0x14000cbde
cmp r12d, ebx
jne 0x14000cbfb
mov dword [rbp + 0x558], 0xffffff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xc30]
call sub.msvcrt.dll_memset
mov ebx, esi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140109348]
call qword [case.0x1400739fa.0]
mov rdi, rax
test rax, rax
je 0x14000c580
mov r8d, 0x48
mov edx, r13d
lea ecx, [r8 - 0x3d]
mov rax, qword [0x140109308]
call qword [case.0x1400739fa.0]
neg eax
mov dword [rbp + 0xc30], eax
mov dword [rbp + 0xc40], 0x190
mov byte [rbp + 0xc4a], 5
mov r8, qword [rbp - 0x28]
mov edx, 0x20
lea rcx, [rbp + 0xc4c]
call fcn.140017400
lea rcx, [rbp + 0xc30]
mov rax, qword [0x140109270]
call qword [case.0x1400739fa.0]
test rax, rax
jne 0x14000ca33
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14000ca3a
mov ebx, 0x80004005
jmp 0x14000ca3a
mov qword [rbp + 0x550], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1401093b0]
call qword [case.0x1400739fa.0]
test ebx, ebx
js 0x14000cdcf
mov dword [rbp + 0x584], r15d
mov rdi, qword [rbp + 0x538]
mov ebx, esi
mov rdx, qword [rbp + 0x550]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov r15, rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x57c]
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.0x1400739fa.0]
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
test r15, r15
je 0x14000cad2
mov rdx, r15
mov rcx, rdi
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
test ebx, ebx
js 0x14000cdcf
mov eax, dword [rbp + 0x584]
add eax, 0x18
mov ecx, 0x5a
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x584], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x588], eax
lea edi, [rcx + 6]
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x57c]
mov rax, qword [0x140109308]
call qword [case.0x1400739fa.0]
mov dword [rbp + 0x57c], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x580]
mov rax, qword [0x140109308]
call qword [case.0x1400739fa.0]
mov dword [rbp + 0x580], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x584]
mov rax, qword [0x140109308]
call qword [case.0x1400739fa.0]
mov dword [rbp + 0x584], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x588]
mov rax, qword [0x140109308]
call qword [case.0x1400739fa.0]
mov dword [rbp + 0x588], eax
mov r8d, dword [rbp + 0x578]
lea rcx, [rbp + 0x57c]
cmp dword [rbp + 0x520], esi
je 0x14000cbb7
mov edx, dword [rbp + 0x56c]
cmp dword [rbp + 0x55c], edx
cmovl edx, dword [rbp + 0x55c]
add r8d, 0x24
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
jmp 0x14000cbfb
mov eax, dword [rbp + 0x574]
cmp dword [rbp + 0x564], eax
cmovg eax, dword [rbp + 0x564]
add r8d, 0x24
mov edx, dword [rbp + 0x57c]
sub edx, dword [rbp + 0x584]
add edx, eax
jmp 0x14000cba8
mov dword [rbp + 0x998], r15d
mov eax, dword [rbp + 0x578]
mov dword [rbp + 0x99c], eax
mov dword [rbp + 0x558], 0xffa8a8a8
mov r15d, dword [rbp + 0x520]
mov ebx, dword [rbp + 0x99c]
mov edi, dword [rbp + 0x998]
mov ecx, r12d
sub ecx, 1
je 0x14000cdbf
sub ecx, 1
je 0x14000ccd7
cmp ecx, 1
jne 0x14000cdc7
lea r13d, [rcx + 0x27]
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0xb48]
call sub.msvcrt.dll_memset
lea edx, [r13 - 0x27]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov dword [rbp + 0xb48], r13d
lea rdx, [rbp + 0xb48]
mov rcx, rax
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000cdc7
lea rdx, [rbp + 0xb5c]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
lea rdx, [rbp + 0xb64]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov eax, dword [rbp + 0xb64]
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 + 0xb64]
shr rcx, 0x20
sub ecx, ebx
imul ecx, ecx, 0x32
jmp 0x14000cda0
mov r13d, 0x28
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0xa30]
call sub.msvcrt.dll_memset
lea edx, [r13 - 0x27]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov dword [rbp + 0xa30], r13d
lea rdx, [rbp + 0xa30]
mov rcx, rax
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000cdc7
lea rdx, [rbp + 0xa44]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
lea rdx, [rbp + 0xa4c]
xor ecx, ecx
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov eax, dword [rbp + 0xa4c]
test r15d, r15d
je 0x14000cd7a
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 + 0xa44]
jmp 0x14000cd90
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 + 0xa4c]
shr rax, 0x20
sub eax, ebx
imul ecx, eax, 0x5f
mov dword [rbp + 0x990], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x994], edx
jmp 0x14000cdc7
and qword [rbp + 0x990], 0
mov ebx, esi
jmp 0x14000cdcf
mov r12d, dword [rbp + 0x10]
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x1401093b0]
call qword [case.0x1400739fa.0]
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x140111ebc], r13d
jne 0x14000cde9
mov eax, dword [0x140111eb8]
test eax, eax
jle 0x14000ce5a
sub eax, r13d
mov dword [0x140111eb8], eax
jne 0x14000ce5a
lea rdi, [0x140111510]
mov r15d, 4
cmp qword [rdi], rsi
je 0x14000ce26
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r13
jne 0x14000ce18
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x140111510]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400e7640]
lea rcx, [0x140109250]
call sub.msvcrt.dll_memcpy
mov eax, esi
xchg dword [0x140111ebc], eax
lea rcx, [rbp + 0x280]
call fcn.140026f98
test ebx, ebx
js 0x14000e6fc
mov rdi, qword [rbp + 0x990]
mov qword [rbp + 0x2b8], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x590]
call sub.msvcrt.dll_memset
mov ebx, r13d
mov edx, 7
mov r15, qword [rbp + 0x58]
mov rcx, r15
mov rax, qword [0x1401092a0]
call qword [case.0x1400739fa.0]
test rax, rax
je 0x14000cefe
lea r8, [rbp + 0x590]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000cefe
mov eax, 0x20
cmp word [rbp + 0x5a2], ax
jne 0x14000cefe
cmp qword [rbp + 0x5a8], rsi
je 0x14000cefe
cmp dword [rbp + 0x594], esi
jle 0x14000cefe
cmp dword [rbp + 0x598], esi
jg 0x14000cf00
mov ebx, esi
mov dword [rbp + 0x1a0], ebx
test ebx, ebx
jne 0x14000cf0f
cmp r12d, r13d
jne 0x14000cf74
mov r8d, dword [rbp + 0x2bc]
mov edx, edi
lea rcx, [rbp + 0x55c]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov r8d, dword [rbp + 0x2bc]
mov edx, edi
lea rcx, [rbp + 0x56c]
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
cmp r12d, r13d
jne 0x14000cf74
mov eax, dword [rbp + 0x524]
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xb26720
mov rax, qword [0x140109278]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x158], rax
mov edx, r13d
mov rcx, r15
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov dword [rsp + 0x70], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x520], esi
cmovne eax, ecx
mov dword [rbp - 0x48], eax
cmp dword [rbp + 0x1a0], esi
je 0x14000d998
mov eax, dword [rbp + 0x524]
mov dword [rbp - 0x70], eax
mov rax, qword [rbp + 0x540]
mov qword [rbp - 0x38], rax
mov rdi, qword [rbp + 0x528]
mov qword [rbp + 0x40], rdi
mov ebx, 0x68
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x750]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x7c0]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x28], rsi
mov dword [rsp + 0x68], esi
mov r12d, esi
xor edx, edx
lea r8d, [rbx - 0x3c]
lea rcx, [rbp + 0xa58]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9f0], rax
mov qword [rbp + 0x9f8], rax
test rdi, rdi
je 0x14000e6e0
lea edx, [rbx - 0x61]
mov rcx, r15
mov rax, qword [0x1401092a0]
call qword [case.0x1400739fa.0]
test rax, rax
je 0x14000d9ef
lea r8, [rbp + 0x750]
mov edx, ebx
mov rcx, rax
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000d07e
mov rax, qword [rbp + 0x768]
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0x754]
mov dword [rsp + 0x68], eax
mov r12d, dword [rbp + 0x758]
mov rcx, r15
mov rax, qword [0x140109260]
call qword [case.0x1400739fa.0]
mov r13, rax
test rax, rax
jne 0x14000d0a1
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14000e6da
mov ebx, dword [rbp + 0x568]
sub ebx, dword [rbp + 0x560]
mov edi, dword [rbp + 0x564]
sub edi, dword [rbp + 0x55c]
mov qword [rbp + 0x400], rsi
mov r15d, esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa58]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa58], 0x28
mov dword [rbp + 0xa5c], edi
neg ebx
mov dword [rbp + 0xa60], ebx
mov ebx, 1
mov dword [rbp + 0xa64], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x400]
xor r8d, r8d
lea rdx, [rbp + 0xa58]
mov rcx, r13
mov rax, qword [0x140109268]
call qword [case.0x1400739fa.0]
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14000d15e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x14000d490
mov r15d, 0x80004005
jmp 0x14000d490
lea r8, [rbp + 0x7c0]
mov edx, 0x68
mov rcx, rdi
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
mov rcx, rsi
test eax, eax
cmovne rcx, qword [rbp + 0x7d8]
mov qword [rbp + 0x20], rcx
mov eax, dword [rbp + 0x564]
sub eax, dword [rbp + 0x55c]
mov dword [rbp + 0x9f8], eax
mov eax, dword [rbp + 0x568]
sub eax, dword [rbp + 0x560]
mov dword [rbp + 0x9fc], eax
mov rdx, rdi
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov edx, ebx
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov rdx, qword [rbp - 0x38]
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov qword [rbp - 0x58], rax
xor ecx, ecx
mov rax, qword [0x1401092c0]
call qword [case.0x1400739fa.0]
mov r8, rax
lea rdx, [rbp + 0x9f0]
mov rcx, r13
mov rax, qword [0x140109338]
call qword [case.0x1400739fa.0]
mov qword [rsp + 0x28], rsi
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9f0]
or r8, 0xffffffffffffffff
mov rdx, qword [rbp + 0x40]
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
cmp dword [rbp + 0x10], ebx
jne 0x14000d26a
cmp dword [rbp - 0x70], esi
je 0x14000d263
mov ecx, 8
mov rax, qword [0x140109368]
call qword [case.0x1400739fa.0]
mov ebx, eax
mov dword [rbp - 0x80], eax
jmp 0x14000d272
mov ebx, 0xffffff
jmp 0x14000d26f
mov ebx, 0xffa8a8a8
mov dword [rbp - 0x80], ebx
mov eax, dword [rbp + 0x55c]
mov edi, eax
neg edi
test eax, eax
cmovns edi, esi
mov r8d, esi
cmovns r8d, eax
mov eax, dword [rbp + 0x560]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, esi
mov edx, esi
cmovns edx, eax
movsxd r10, dword [rbp + 0x9f8]
mov eax, r10d
sub eax, edi
movsxd r9, dword [rsp + 0x68]
mov r11d, r9d
sub r11d, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9fc]
sub eax, ecx
sub r12d, edx
cmp eax, r12d
cmovl r12d, eax
test r11d, r11d
jle 0x14000d462
test r12d, r12d
jle 0x14000d462
imul ecx, r10d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp + 0x20]
lea rdi, [rax + rcx*4]
mov qword [rbp + 0x40], rdi
imul edx, r9d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x28]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x20], rax
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x38], rcx
mov rdx, r9
shl rdx, 2
mov qword [rbp - 0x70], rdx
mov r8d, r12d
mov qword [rbp - 0x78], r8
mov r14d, 1
test r11d, r11d
jle 0x14000d442
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x28], 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 0x14000d41d
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
mov r12d, 0x80808081
mov eax, r12d
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 - 0x7f]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
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 - 0x7e]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
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, r12d
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 - 0x28]
add r9, 4
sub rdi, r14
mov qword [rbp - 0x28], rdi
jne 0x14000d34d
mov rdi, qword [rbp + 0x40]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x70]
mov r8, qword [rbp - 0x78]
add rdi, rcx
mov qword [rbp + 0x40], rdi
add rax, rdx
mov qword [rbp + 0x20], rax
sub r8, r14
mov qword [rbp - 0x78], r8
jne 0x14000d333
mov r14d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14000d490
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov rcx, r13
mov rax, qword [0x140109280]
call qword [case.0x1400739fa.0]
test r15d, r15d
js 0x14000e6da
mov eax, dword [rbp + 0x524]
mov dword [rbp - 0x70], eax
mov rax, qword [rbp + 0x548]
mov qword [rbp - 0x38], rax
mov rdi, qword [rbp + 0x530]
mov qword [rbp + 0x40], rdi
mov ebx, 0x68
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x600]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x830]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x28], rsi
mov dword [rsp + 0x68], esi
mov r12d, esi
xor edx, edx
lea r8d, [rbx - 0x3c]
lea rcx, [rbp + 0xa88]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xa00], rax
mov qword [rbp + 0xa08], rax
test rdi, rdi
je 0x14000e6da
lea edx, [rbx - 0x61]
mov r15, qword [rbp + 0x58]
mov rcx, r15
mov rax, qword [0x1401092a0]
call qword [case.0x1400739fa.0]
test rax, rax
je 0x14000d096
lea r8, [rbp + 0x600]
mov edx, ebx
mov rcx, rax
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000d57e
mov rax, qword [rbp + 0x618]
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0x604]
mov dword [rsp + 0x68], eax
mov r12d, dword [rbp + 0x608]
mov rcx, r15
mov rax, qword [0x140109260]
call qword [case.0x1400739fa.0]
mov r13, rax
test rax, rax
je 0x14000d096
mov ebx, dword [rbp + 0x578]
sub ebx, dword [rbp + 0x570]
mov edi, dword [rbp + 0x574]
sub edi, dword [rbp + 0x56c]
mov qword [rbp + 0x408], rsi
mov r15d, esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa88]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa88], 0x28
mov dword [rbp + 0xa8c], edi
neg ebx
mov dword [rbp + 0xa90], ebx
mov dword [rbp + 0xa94], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x408]
xor r8d, r8d
lea rdx, [rbp + 0xa88]
mov rcx, r13
mov rax, qword [0x140109268]
call qword [case.0x1400739fa.0]
mov rdi, rax
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x14000d651
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x14000d976
mov r15d, 0x80004005
jmp 0x14000d976
lea r8, [rbp + 0x830]
mov edx, 0x68
mov rcx, rdi
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
mov rbx, rsi
test eax, eax
cmovne rbx, qword [rbp + 0x848]
mov eax, dword [rbp + 0x574]
sub eax, dword [rbp + 0x56c]
mov dword [rbp + 0xa08], eax
mov eax, dword [rbp + 0x578]
sub eax, dword [rbp + 0x570]
mov dword [rbp + 0xa0c], eax
mov rdx, rdi
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov edi, 1
mov edx, edi
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov rdx, qword [rbp - 0x38]
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov qword [rbp - 0x18], rax
xor ecx, ecx
mov rax, qword [0x1401092c0]
call qword [case.0x1400739fa.0]
mov r8, rax
lea rdx, [rbp + 0xa00]
mov rcx, r13
mov rax, qword [0x140109338]
call qword [case.0x1400739fa.0]
mov qword [rsp + 0x28], rsi
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xa00]
or r8, 0xffffffffffffffff
mov rdx, qword [rbp + 0x40]
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
cmp dword [rbp + 0x10], edi
jne 0x14000d759
cmp dword [rbp - 0x70], esi
je 0x14000d750
lea ecx, [rdi + 7]
mov rax, qword [0x140109368]
call qword [case.0x1400739fa.0]
jmp 0x14000d75e
mov dword [rbp - 0x80], 0xffffff
jmp 0x14000d764
mov eax, 0xffa8a8a8
mov dword [rbp - 0x80], eax
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x56c]
mov edi, eax
neg edi
test eax, eax
cmovns edi, esi
mov r8d, esi
cmovns r8d, eax
mov eax, dword [rbp + 0x570]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, esi
mov edx, esi
cmovns edx, eax
movsxd r10, dword [rbp + 0xa08]
mov eax, r10d
sub eax, edi
movsxd r9, dword [rsp + 0x68]
mov r11d, r9d
sub r11d, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0xa0c]
sub eax, ecx
sub r12d, edx
cmp eax, r12d
cmovl r12d, eax
test r11d, r11d
jle 0x14000d949
test r12d, r12d
jle 0x14000d949
mov eax, r10d
imul eax, ecx
movsxd rcx, eax
movsxd rax, edi
add rcx, rax
lea rdi, [rbx + rcx*4]
mov qword [rbp + 0x40], rdi
imul edx, r9d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x28]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x28], rax
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x38], rcx
mov rdx, r9
shl rdx, 2
mov qword [rbp - 0x78], rdx
mov r8d, r12d
mov qword [rbp + 0x20], r8
mov r14d, dword [rbp + 0x78]
mov r15d, 1
test r11d, r11d
jle 0x14000d926
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov r12d, r11d
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 0x14000d905
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
mov ebx, 0x80808081
mov eax, ebx
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 - 0x7f]
sub ecx, edi
imul ecx, r8d
mov eax, ebx
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 - 0x7e]
sub ecx, edi
imul ecx, r8d
mov eax, ebx
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, ebx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
add r9, 4
sub r12, r15
jne 0x14000d83d
mov rdi, qword [rbp + 0x40]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x78]
mov r8, qword [rbp + 0x20]
add rdi, rcx
mov qword [rbp + 0x40], rdi
add rax, rdx
mov qword [rbp - 0x28], rax
sub r8, r15
mov qword [rbp + 0x20], r8
jne 0x14000d827
mov r14d, dword [rsp + 0x60]
mov r15d, esi
mov rcx, qword [rbp - 0x58]
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x14000d976
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov rcx, r13
mov rax, qword [0x140109280]
call qword [case.0x1400739fa.0]
test r15d, r15d
js 0x14000e6da
mov rdi, qword [rbp + 0x58]
jmp 0x14000e691
cmp dword [rbp + 0x524], esi
jne 0x14000d9a7
cmp r12d, r13d
mov al, 0xc0
jne 0x14000d9a9
mov al, 0xff
and word [rbp - 0x80], 0
mov byte [rbp - 0x7e], al
mov byte [rbp - 0x7d], r13b
xor eax, eax
mov qword [rbp + 0x9b0], rax
mov qword [rbp + 0x9b8], rax
mov qword [rbp + 0x9c0], rax
mov qword [rbp + 0x9c8], rax
mov rcx, r15
mov rax, qword [0x140109260]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x80], rax
test rax, rax
jne 0x14000d9fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14000e6e0
cmp r12d, r13d
jne 0x14000dac5
mov ecx, dword [rbp + 0x574]
mov eax, ecx
mov edx, dword [rbp + 0x56c]
sub eax, edx
mov r8d, dword [rbp + 0x564]
mov ebx, r8d
mov r9d, dword [rbp + 0x55c]
sub ebx, r9d
cmp eax, ebx
cmovg ebx, eax
mov eax, dword [rbp + 0x578]
mov r10d, dword [rbp + 0x560]
sub eax, r10d
mov dword [rbp - 0x58], eax
mov edi, esi
mov r15d, esi
cmp dword [rbp + 0x520], esi
je 0x14000da6a
mov edi, r9d
sub edi, r8d
add edi, ebx
mov dword [rbp + 0x9b0], edi
mov r15d, edx
sub r15d, ecx
add r15d, ebx
mov dword [rbp + 0x9c0], r15d
sub edi, r9d
add edi, r8d
mov dword [rbp + 0x9b8], edi
mov r12d, dword [rbp + 0x568]
sub r12d, r10d
mov dword [rbp + 0x9bc], r12d
sub r15d, edx
add r15d, ecx
mov dword [rbp + 0x9c8], r15d
mov eax, dword [rbp + 0x570]
sub eax, r10d
mov dword [rbp + 0x9c4], eax
mov r13d, eax
sub r13d, dword [rbp + 0x570]
add r13d, dword [rbp + 0x578]
mov dword [rbp - 0x18], r13d
mov dword [rbp + 0x9cc], r13d
mov r13d, dword [rbp - 0x58]
jmp 0x14000db17
mov ebx, dword [rbp + 0x998]
mov r13d, dword [rbp + 0x99c]
mov dword [rbp - 0x58], r13d
movups xmm0, xmmword [rbp + 0x55c]
movdqu xmmword [rbp + 0x9b0], xmm0
movups xmm1, xmmword [rbp + 0x56c]
movdqu xmmword [rbp + 0x9c0], xmm1
mov r12d, dword [rbp + 0x9bc]
mov edi, dword [rbp + 0x9b8]
mov eax, dword [rbp + 0x9cc]
mov dword [rbp - 0x18], eax
mov r15d, dword [rbp + 0x9c8]
mov eax, dword [rbp + 0x9c4]
mov dword [rsp + 0x68], eax
mov qword [rbp + 0x410], rsi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xb18]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xb18], 0x28
mov dword [rbp + 0xb1c], ebx
mov eax, r13d
neg eax
mov dword [rbp + 0xb20], eax
mov dword [rbp + 0xb24], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x410]
xor r8d, r8d
lea rdx, [rbp + 0xb18]
mov rcx, qword [rbp + 0x80]
mov rax, qword [0x140109268]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x14000db9b
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14000e6be
mov rdx, rax
mov rcx, qword [rbp + 0x80]
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov eax, 1
cmp dword [rbp + 0x10], eax
jne 0x14000dc03
mov rax, qword [rbp + 0x158]
test rax, rax
je 0x14000dc03
xor ecx, ecx
mov qword [rbp + 0xa28], rcx
mov qword [rbp + 0xa20], rcx
mov dword [rbp + 0xa28], ebx
mov dword [rbp + 0xa2c], r13d
mov r8, rax
lea rdx, [rbp + 0xa20]
mov rcx, qword [rbp + 0x80]
mov rax, qword [0x140109338]
call qword [case.0x1400739fa.0]
mov eax, dword [rbp + 0x524]
mov dword [rbp + 0x18], eax
mov rax, qword [rbp + 0x540]
mov qword [rbp + 0x40], rax
mov r13, qword [rbp + 0x528]
mov qword [rbp + 0xc8], r13
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x670]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x8a0]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x28], rsi
mov dword [rsp + 0x78], esi
mov dword [rbp - 0x70], esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xab8]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9d0], rax
mov qword [rbp + 0x9d8], rax
test r13, r13
je 0x14000e6a5
lea edx, [rax + 7]
mov r13, qword [rbp + 0x80]
mov rcx, r13
mov rax, qword [0x1401092a0]
call qword [case.0x1400739fa.0]
test rax, rax
jne 0x14000dca9
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14000e6a5
lea r8, [rbp + 0x670]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000dce7
mov rax, qword [rbp + 0x688]
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0x674]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x678]
mov dword [rbp - 0x70], eax
mov rcx, r13
mov rax, qword [0x140109260]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x20], rax
test rax, rax
je 0x14000dc9e
sub r12d, dword [rbp + 0x9b4]
sub edi, dword [rbp + 0x9b0]
mov qword [rbp + 0x418], rsi
mov r13d, esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xab8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xab8], 0x28
mov dword [rbp + 0xabc], edi
mov eax, r12d
neg eax
mov dword [rbp + 0xac0], eax
mov dword [rbp + 0xac4], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x418]
xor r8d, r8d
lea rdx, [rbp + 0xab8]
mov rcx, qword [rbp + 0x20]
mov rax, qword [0x140109268]
call qword [case.0x1400739fa.0]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x14000ddad
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x14000e0f2
mov r13d, 0x80004005
jmp 0x14000e0f2
lea r8, [rbp + 0x8a0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
mov rcx, rsi
test eax, eax
cmovne rcx, qword [rbp + 0x8b8]
mov qword [rbp + 0x70], rcx
mov dword [rbp + 0x9d8], edi
mov dword [rbp + 0x9dc], r12d
mov rdx, qword [rbp - 0x38]
mov rdi, qword [rbp + 0x20]
mov rcx, rdi
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov r12d, 1
mov edx, r12d
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov rdx, qword [rbp + 0x40]
mov rcx, rdi
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x48], rax
xor ecx, ecx
mov rax, qword [0x1401092c0]
call qword [case.0x1400739fa.0]
mov r8, rax
lea rdx, [rbp + 0x9d0]
mov rcx, rdi
mov rax, qword [0x140109338]
call qword [case.0x1400739fa.0]
mov qword [rsp + 0x28], rsi
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9d0]
or r8, 0xffffffffffffffff
mov rdx, qword [rbp + 0xc8]
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
cmp dword [rbp + 0x10], r12d
jne 0x14000dead
cmp dword [rbp + 0x18], esi
je 0x14000dea6
lea ecx, [r12 + 7]
mov rax, qword [0x140109368]
call qword [case.0x1400739fa.0]
jmp 0x14000deb2
mov eax, 0xffffff
jmp 0x14000deb2
mov eax, 0xffa8a8a8
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x9b0]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, esi
mov r9d, esi
cmovns r9d, eax
mov eax, dword [rbp + 0x9b4]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, esi
mov r10d, esi
cmovns r10d, eax
movsxd r12, dword [rsp + 0x78]
mov r11d, r12d
sub r11d, r9d
mov eax, dword [rbp + 0x9d8]
sub eax, r8d
cmp eax, r11d
cmovl r11d, eax
mov edx, dword [rbp - 0x70]
sub edx, r10d
mov eax, dword [rbp + 0x9dc]
sub eax, ecx
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x14000e0c5
test edx, edx
jle 0x14000e0c5
mov eax, dword [rbp + 0x9d8]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x70]
lea rdi, [rax + rcx*4]
mov qword [rbp + 0x40], rdi
mov eax, r12d
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 - 0x70], rax
movsxd rcx, dword [rbp + 0x9d8]
shl rcx, 2
mov qword [rbp + 0x70], rcx
mov r8, r12
shl r8, 2
mov qword [rbp + 0xc8], r8
mov qword [rsp + 0x78], rdx
mov r13d, dword [rbp + 0x18]
mov r14d, 1
test r11d, r11d
jle 0x14000e09d
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x28], 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 0x14000e074
movzx edi, byte [r9 + r10]
movzx r8d, dl
movzx ecx, r13b
sub ecx, edi
imul ecx, r8d
mov r12d, 0x80808081
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + r10], dl
movzx edi, byte [r9 + r10 - 1]
movzx ecx, byte [rbp + 0x19]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + r10 - 1], dl
movzx edi, byte [r9 + r10 - 2]
movzx ecx, byte [rbp + 0x1a]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + r10 - 2], dl
movzx edi, byte [r9 + r10 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + r10 + 1], dl
mov rdi, qword [rbp - 0x28]
add r9, 4
sub rdi, r14
mov qword [rbp - 0x28], rdi
jne 0x14000dfa3
mov rdi, qword [rbp + 0x40]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x70]
mov r8, qword [rbp + 0xc8]
mov rdx, qword [rsp + 0x78]
add rdi, rcx
mov qword [rbp + 0x40], rdi
add rax, r8
mov qword [rbp - 0x70], rax
sub rdx, r14
mov qword [rsp + 0x78], rdx
jne 0x14000df89
mov r14d, dword [rsp + 0x60]
mov r13d, esi
mov rdi, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x14000e0f2
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov rcx, qword [rbp + 0x20]
mov rax, qword [0x140109280]
call qword [case.0x1400739fa.0]
test r13d, r13d
js 0x14000e6a5
mov eax, dword [rbp + 0x524]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x548]
mov qword [rbp + 0x48], rax
mov r12, qword [rbp + 0x530]
mov qword [rbp + 0x70], r12
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x6e0]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x910]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x38], rsi
mov dword [rbp - 0x70], esi
mov edi, esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xae8]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xa10], rax
mov qword [rbp + 0xa18], rax
test r12, r12
je 0x14000e6a5
lea edx, [rax + 7]
mov r13, qword [rbp + 0x80]
mov rcx, r13
mov rax, qword [0x1401092a0]
call qword [case.0x1400739fa.0]
test rax, rax
je 0x14000dc9e
lea r8, [rbp + 0x6e0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
test eax, eax
je 0x14000e1e3
mov rax, qword [rbp + 0x6f8]
mov qword [rbp - 0x38], rax
mov eax, dword [rbp + 0x6e4]
mov dword [rbp - 0x70], eax
mov edi, dword [rbp + 0x6e8]
mov rcx, r13
mov rax, qword [0x140109260]
call qword [case.0x1400739fa.0]
mov r13, rax
test rax, rax
je 0x14000dc9e
mov eax, dword [rsp + 0x68]
sub dword [rbp - 0x18], eax
sub r15d, dword [rbp + 0x9c0]
mov qword [rbp + 0x498], rsi
mov r12d, esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xae8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xae8], 0x28
mov dword [rbp + 0xaec], r15d
mov eax, dword [rbp - 0x18]
neg eax
mov dword [rbp + 0xaf0], eax
mov dword [rbp + 0xaf4], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x498]
xor r8d, r8d
lea rdx, [rbp + 0xae8]
mov rcx, r13
mov rax, qword [0x140109268]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x18], rax
test rax, rax
jne 0x14000e2ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14000e5de
mov r12d, 0x80004005
jmp 0x14000e5de
lea r8, [rbp + 0x910]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1401092b8]
call qword [case.0x1400739fa.0]
mov rcx, rsi
test eax, eax
cmovne rcx, qword [rbp + 0x928]
mov qword [rbp + 0xc8], rcx
mov dword [rbp + 0xa18], r15d
mov eax, dword [rbp - 0x18]
mov dword [rbp + 0xa1c], eax
mov rdx, qword [rbp + 0x18]
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov r15d, 1
mov edx, r15d
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov rdx, qword [rbp + 0x48]
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov qword [rbp - 0x18], rax
xor ecx, ecx
mov rax, qword [0x1401092c0]
call qword [case.0x1400739fa.0]
mov r8, rax
lea rdx, [rbp + 0xa10]
mov rcx, r13
mov rax, qword [0x140109338]
call qword [case.0x1400739fa.0]
mov qword [rsp + 0x28], rsi
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xa10]
or r8, 0xffffffffffffffff
mov rdx, qword [rbp + 0x70]
mov rcx, r13
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
cmp dword [rbp + 0x10], r15d
jne 0x14000e3ad
cmp dword [rbp - 0x78], esi
je 0x14000e3a4
lea ecx, [r15 + 7]
mov rax, qword [0x140109368]
call qword [case.0x1400739fa.0]
jmp 0x14000e3b2
mov dword [rbp - 0x48], 0xffffff
jmp 0x14000e3b8
mov eax, 0xffa8a8a8
mov dword [rbp - 0x48], eax
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x9c0]
mov edx, eax
neg edx
test eax, eax
cmovns edx, esi
mov r8d, esi
cmovns r8d, eax
mov eax, dword [rsp + 0x68]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, esi
mov r9d, esi
cmovns r9d, eax
movsxd r15, dword [rbp + 0xa18]
mov eax, r15d
sub eax, edx
movsxd r10, dword [rbp - 0x70]
mov r11d, r10d
sub r11d, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0xa1c]
sub eax, ecx
sub edi, r9d
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x14000e5b1
test edi, edi
jle 0x14000e5b1
mov eax, r15d
imul eax, ecx
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp + 0xc8]
lea rdx, [rax + rcx*4]
mov qword [rbp - 0x28], rdx
mov eax, r10d
imul eax, r9d
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x38]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x40], rax
mov rcx, r15
shl rcx, 2
mov qword [rbp + 0x48], rcx
mov r8, r10
shl r8, 2
mov qword [rbp + 0x70], r8
mov qword [rbp + 0x20], rdi
mov r14d, dword [rbp + 0x78]
mov r12d, 1
test r11d, r11d
jle 0x14000e58e
lea r9, [rdx + 2]
mov r10, rax
sub r10, rdx
mov edi, r11d
mov qword [rbp - 0x38], 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 0x14000e569
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
mov r15d, 0x80808081
mov eax, r15d
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 - 0x47]
sub ecx, edi
imul ecx, r8d
mov eax, r15d
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 - 0x46]
sub ecx, edi
imul ecx, r8d
mov eax, r15d
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, r15d
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 - 0x38]
add r9, 4
sub rdi, r12
mov qword [rbp - 0x38], rdi
jne 0x14000e498
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x70]
mov rdi, qword [rbp + 0x20]
add rdx, rcx
mov qword [rbp - 0x28], rdx
add rax, r8
mov qword [rbp + 0x40], rax
sub rdi, r12
mov qword [rbp + 0x20], rdi
jne 0x14000e47e
mov r14d, dword [rsp + 0x60]
mov r12d, esi
mov rcx, qword [rbp + 0x18]
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x14000e5de
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1401092c8]
call qword [case.0x1400739fa.0]
mov rcx, r13
mov rax, qword [0x140109280]
call qword [case.0x1400739fa.0]
test r12d, r12d
js 0x14000e6a5
mov eax, 1
mov r9d, ebx
mov rdi, qword [rbp + 0x58]
cmp dword [rbp + 0x10], eax
jne 0x14000e64a
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x560]
mov edx, dword [rbp + 0x55c]
mov rcx, rdi
mov rax, qword [0x140109250]
call qword [case.0x1400739fa.0]
jmp 0x14000e691
mov ecx, dword [rbp - 0x80]
mov dword [rsp + 0x50], ecx
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov rcx, qword [rbp + 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x994]
mov edx, dword [rbp + 0x990]
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov edx, dword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [sym.mip.exe_int___cdecl_REExtendedRegisterClass_void_]
call qword [case.0x1400739fa.0]
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x14000e6be
mov rcx, rax
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov rax, qword [rbp + 0x80]
test rax, rax
je 0x14000e6da
mov rcx, rax
mov rax, qword [0x140109280]
call qword [case.0x1400739fa.0]
mov r13d, 1
mov rax, qword [rbp + 0x158]
test rax, rax
je 0x14000e6fc
mov rcx, rax
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov rax, qword [rbp + 0x528]
or rbx, 0xffffffffffffffff
test rax, rax
je 0x14000e74d
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], si
jne 0x14000e70f
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x528]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x528]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x528], rsi
mov rax, qword [rbp + 0x530]
test rax, rax
je 0x14000e79a
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], si
jne 0x14000e75c
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x530]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x530]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x530], rsi
mov rdi, qword [rbp + 0x538]
test rdi, rdi
je 0x14000e7e0
mov rcx, rbx
inc rcx
cmp word [rdi + rcx*2], si
jne 0x14000e7a9
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x538]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x538], rsi
mov rcx, qword [rbp + 0x540]
test rcx, rcx
je 0x14000e800
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x540], rsi
mov rcx, qword [rbp + 0x548]
test rcx, rcx
je 0x14000e820
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x548], rsi
mov rcx, qword [rbp + 0x550]
test rcx, rcx
je 0x14000e840
mov rax, qword [0x140109288]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x550], rsi
xor eax, eax
lock cmpxchg dword [0x140111ebc], r13d
jne 0x14000e840
mov eax, dword [0x140111eb8]
test eax, eax
jle 0x14000e8af
sub eax, r13d
mov dword [0x140111eb8], eax
jne 0x14000e8af
lea r15, [0x140111510]
mov rdi, r15
mov ebx, 4
cmp qword [rdi], rsi
je 0x14000e87f
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r13
jne 0x14000e871
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400e7640]
lea rcx, [0x140109250]
call sub.msvcrt.dll_memcpy
mov eax, esi
xchg dword [0x140111ebc], eax
mov eax, dword [0x140111500]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1401092e8]
call qword [case.0x1400739fa.0]
sub eax, dword [0x140111ec0]
mov qword [rbp + 0x70], rax
mov dword [rbp + 0xd90], esi
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0xd98]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x140111ebc], r13d
jne 0x14000e8ef
mov eax, dword [0x140111eb8]
test eax, eax
jne 0x14000eebe
mov dword [rsp + 0x68], esi
mov dword [rbp - 0x58], esi
mov qword [rbp + 0x1c0], rsi
mov qword [rbp + 0x2d0], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x48], rax
test rax, rax
je 0x14000ee37
mov r14d, esi
or ebx, 0xffffffff
mov edx, esi
mov dword [rbp + 0x14], edx
mov r11d, esi
mov dword [rbp + 0x38], esi
lea r12, [rax + 7]
lea r13, [0x1400ef302]
mov ecx, 0x67
mov edi, 0xab69
lea r15d, [rcx - 0x66]
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor r11d, r10d
lea r13, [r13 + 8]
mov r8d, r11d
xor r8d, r9d
xor r8d, edx
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, edi
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
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, 0x7f1
xor eax, edi
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, 0xab69605e
mov eax, r8d
xor eax, edi
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r8d, edx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
mov edi, 0xab69
xor eax, edi
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
sub eax, edi
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
mov edx, r8d
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 r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
mov edx, r8d
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 r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, r14d
xor r11d, edx
mov dword [rbp + 0x38], r11d
xor r8d, ebx
mov dword [rbp + 0x14], r8d
mov byte [r12 - 4], r11b
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x14]
mov byte [r12], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x38]
mov byte [r12 - 5], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x14]
mov byte [r12 - 1], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x38]
mov byte [r12 - 6], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x14]
mov byte [r12 - 2], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x38]
mov byte [r12 - 7], al
mov al, byte [rbp + 0x14]
mov byte [r12 - 3], al
mov r11d, dword [rbp + 0x38]
ror r11d, 8
mov dword [rbp + 0x38], r11d
mov edx, dword [rbp + 0x14]
ror edx, 8
mov dword [rbp + 0x14], edx
mov r14d, r10d
mov ebx, r9d
lea r12, [r12 + 8]
sub rcx, r15
jne 0x14000e96d
mov rax, rsi
mov cl, sil
mov r14d, dword [rsp + 0x60]
mov ebx, esi
mov r15, qword [rbp + 0x48]
mov r13d, esi
mov edx, 1
mov edi, 0x338
xor cl, byte [rax + r15]
add rax, rdx
cmp rax, rdi
jb 0x14000ecb0
movzx eax, cl
cmp rax, qword [0x1400ef638]
je 0x14000ecd0
mov r13d, 0xc004d501
jmp 0x14000ece1
mov qword [rbp + 0x1c0], r15
mov r15, rsi
mov qword [rbp + 0x2d0], rdi
test r15, r15
je 0x14000ecfa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13d, r13d
js 0x14000ee37
mov rdi, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x2d0]
mov byte [rax + rdi - 1], sil
xor edx, edx
lea r8d, [rdx + 0x60]
lea r15, [0x140111510]
mov rcx, r15
call sub.msvcrt.dll_memset
jmp 0x14000ee2c
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], si
jne 0x14000ed37
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x58]
lea rcx, [rax + rax*2]
lea r15, [r15 + rcx*8]
mov r8, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14000ee37
mov ebx, esi
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14000ed78
mov ebx, 0xc000007b
jmp 0x14000edc3
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14000ed71
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x14000ed71
cmp dword [rcx], 0x4550
jne 0x14000ed71
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14000edb1
mov ebx, 0xc000000d
jmp 0x14000edc3
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov r13d, dword [rdi + 2]
add rdi, 6
mov r12d, esi
test r13d, r13d
je 0x14000ee1d
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], sil
jne 0x14000edda
inc rdi
add rdi, rax
test ebx, ebx
js 0x14000ee0a
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000ee3c
mov ecx, dword [rsp + 0x68]
lea rdx, [0x140109250]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rsp + 0x68], eax
add r12d, eax
cmp r12d, r13d
jb 0x14000edd3
jmp 0x14000ee22
mov eax, 1
add dword [rbp - 0x58], eax
lea r15, [0x140111510]
cmp byte [rdi], sil
jne 0x14000ed30
jmp 0x14000ee3c
mov ebx, 0xc000007a
cmp qword [rbp + 0x1c0], rsi
je 0x14000ee5d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1c0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test ebx, ebx
jns 0x14000eeb8
lea r15, [0x140111510]
mov rdi, r15
lea ebx, [r13 + 3]
cmp qword [rdi], rsi
je 0x14000ee83
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r13
jne 0x14000ee75
lea r12d, [rbx + 0x60]
mov r8d, r12d
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400e7640]
lea rcx, [0x140109250]
call sub.msvcrt.dll_memcpy
jmp 0x14000eed4
mov eax, dword [0x140111eb8]
add eax, r13d
mov dword [0x140111eb8], eax
lea r15, [0x140111510]
mov r12d, 0x60
mov eax, esi
xchg dword [0x140111ebc], eax
mov rcx, qword [rbp + 0x70]
mov dword [rbp + 0xd98], ecx
mov dword [rbp + 0xd90], r13d
mov dword [rbp + 0xda8], 0x9966f291
mov dword [rbp + 0xda0], r13d
mov dword [rbp + 0xdb8], r13d
mov dword [rbp + 0xdb0], r13d
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0xdc8], eax
mov dword [rbp + 0xdc0], r13d
lea r9, [rbp + 0xd90]
mov ebx, 4
mov r8d, ebx
mov edx, 0x2021
xor ecx, ecx
mov rax, qword [0x140109320]
call qword [case.0x1400739fa.0]
xor eax, eax
lock cmpxchg dword [0x140111ebc], r13d
jne 0x14000ef3f
mov eax, dword [0x140111eb8]
test eax, eax
jle 0x14000efa1
sub eax, r13d
mov dword [0x140111eb8], eax
jne 0x14000efa1
mov rdi, r15
cmp qword [rdi], rsi
je 0x14000ef72
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r13
jne 0x14000ef64
mov r8, r12
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400e7640]
lea rcx, [0x140109250]
call sub.msvcrt.dll_memcpy
mov eax, esi
xchg dword [0x140111ebc], eax
mov rdx, qword [rbp + 0x58]
xor ecx, ecx
mov rax, qword [0x1401093b0]
call qword [case.0x1400739fa.0]
lea rcx, [rbp + 0x430]
call fcn.140026fd0
cmp dword [rbp + 0x68], esi
je 0x1400112ce
mov rbx, rsi
mov r15, rsi
xor eax, eax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rax
mov dword [rbp + 0x26c], esi
lea rax, [0x14010a3f0]
mov qword [rbp + 0x438], rax
mov edi, LoadRegTypeLib
mov qword [rbp + 0x348], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edi, 8
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x140011247
mov r8, qword [rbp + 0x348]
mov rdx, qword [rbp + 0x438]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rbx, r12
mov qword [rsp + 0x78], rbx
mov r13d, dword [rbp + 0x348]
lea rax, [0x14010a490]
mov qword [rbp + 0x440], rax
mov qword [rbp + 0x2d8], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x70], rax
test rax, rax
je 0x140011247
mov r8, qword [rbp + 0x2d8]
mov rdx, qword [rbp + 0x440]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r15, rdi
mov qword [rbp - 0x80], rdi
mov rdi, qword [rbp + 0x2d8]
mov qword [rbp + 0x48], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2e0], rax
mov ecx, 8
mov dword [rbp + 0x118], ecx
lea ebx, [r13 + 4]
or eax, 0xffffffff
cmp ebx, 4
cmovae eax, ebx
mov edx, ecx
jb 0x14001123b
mov ecx, eax
mov dword [rbp + 0x118], eax
mov edx, eax
lea eax, [rax + 8]
or edx, 0xffffffff
cmp eax, 8
cmovae edx, eax
jb 0x14001123b
lea r15d, [rdi + 4]
or eax, 0xffffffff
cmp r15d, 4
cmovae eax, r15d
cmovae ecx, eax
mov dword [rbp + 0x118], ecx
jb 0x140011240
lea eax, [rcx + rdx]
or ecx, 0xffffffff
cmp eax, edx
cmovae ecx, eax
jb 0x140011240
mov dword [rbp + 0x118], SafeArrayGetDim
lea eax, [rcx + 0xc]
or edx, 0xffffffff
cmp eax, ecx
cmovae edx, eax
jb 0x140011240
mov dword [rbp - 0xc], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
je 0x140011240
mov qword [rbp - 8], rax
mov r8d, esi
mov dword [rbp - 0x10], esi
mov dword [rbp + 0x220], 4
lea rcx, [rax + 4]
or rdi, 0xffffffffffffffff
cmp rcx, rax
cmovae rdi, rcx
sbb r9d, r9d
mov r10d, 0xc0000095
and r9d, r10d
cmp rcx, rax
jb 0x14000f1d8
mov ecx, dword [rbp - 0xc]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x140011230
mov dword [rdx], 4
mov eax, dword [rbp + 0x220]
mov dword [rdi], eax
mov r8d, dword [rbp - 0x10]
inc r8d
mov dword [rbp - 0x10], r8d
test r9d, r9d
js 0x140011240
test r13d, r13d
je 0x14000f2f6
cmp qword [rbp - 8], rsi
jne 0x14000f23e
or eax, 0xffffffff
cmp ebx, 4
cmovae eax, ebx
mov edx, dword [rbp + 0xe4]
cmovae edx, eax
mov dword [rbp + 0xe4], edx
jb 0x140011240
mov ecx, dword [rbp - 0xc]
lea eax, [rdx + rcx]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp - 0xc], edi
sbb ebx, ebx
and ebx, r10d
mov r13d, 1
cmp eax, ecx
jb 0x14000f304
add r8d, r13d
mov dword [rbp - 0x10], r8d
jmp 0x14000f30c
mov rdi, qword [rbp - 8]
mov r10d, esi
test r8d, r8d
je 0x14000f2a2
mov r9d, dword [rbp + 0xe4]
mov r11, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae r9d, eax
mov dword [rbp + 0xe4], r9d
jb 0x140011237
mov edx, r9d
mov rcx, rdi
add rdx, rdi
or rax, 0xffffffffffffffff
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x14000f2fb
inc r10d
cmp r10d, r8d
jb 0x14000f251
lea rax, [rdi + 4]
or rcx, 0xffffffffffffffff
cmp rax, rdi
cmovae rcx, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, rdi
jb 0x14000f2fb
mov r8, r13
mov edx, dword [rbp - 0xc]
add rdx, qword [rbp - 8]
lea rax, [r13 + 4]
add rax, rdi
cmp rax, rdx
ja 0x140011230
mov dword [rdi], r13d
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp - 0x10]
mov r13d, 1
add r8d, r13d
mov dword [rbp - 0x10], r8d
jmp 0x14000f301
mov ebx, 0xc000000d
mov r13d, 1
mov edi, dword [rbp - 0xc]
test ebx, ebx
js 0x140011240
mov r12, qword [rbp + 0x48]
test r12d, r12d
je 0x14000f432
cmp qword [rbp - 8], rsi
jne 0x14000f379
or eax, 0xffffffff
cmp r15d, 4
cmovae eax, r15d
mov edx, dword [rbp + 0x100]
cmovae edx, eax
mov dword [rbp + 0x100], edx
jb 0x140011230
mov ecx, edi
lea eax, [rdx + rdi]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp - 0xc], edi
sbb ebx, ebx
and ebx, 0xc0000095
cmp eax, ecx
jb 0x14000f437
add r8d, r13d
mov dword [rbp - 0x10], r8d
mov rax, qword [rbp + 0x2e0]
mov qword [rbp + 0x2e8], rax
jmp 0x14000f457
mov r9, qword [rbp - 8]
mov r11d, esi
test r8d, r8d
je 0x14000f3de
mov r10d, dword [rbp + 0x100]
mov r15, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae r10d, eax
mov dword [rbp + 0x100], r10d
jb 0x140011230
mov edx, r10d
mov rcx, r9
add rdx, r9
or rax, 0xffffffffffffffff
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x14000f437
add r11d, r13d
cmp r11d, r8d
jb 0x14000f38c
lea rax, [r9 + 4]
or r10, 0xffffffffffffffff
mov rcx, r10
cmp rax, r9
cmovae rcx, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, r9
jb 0x14000f43b
mov r8d, r12d
mov edx, edi
add rdx, qword [rbp - 8]
lea rax, [r8 + 4]
add rax, r9
cmp rax, rdx
ja 0x140011230
mov dword [r9], r12d
mov rdx, qword [rbp + 0x70]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp - 0x10]
add r8d, r13d
mov dword [rbp - 0x10], r8d
mov edi, dword [rbp - 0xc]
jmp 0x14000f437
mov ebx, 0xc000000d
or r10, 0xffffffffffffffff
test ebx, ebx
js 0x140011230
mov rax, qword [rbp + 0x2e0]
mov qword [rbp + 0x2e8], rax
cmp qword [rbp - 8], rsi
jne 0x14000f48f
mov dword [rbp + 0x1a4], SafeArrayGetDim
mov ecx, edi
lea eax, [rdi + 0xc]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp - 0xc], edi
sbb r10d, r10d
and r10d, 0xc0000095
cmp eax, ecx
jb 0x14000f54d
add r8d, r13d
mov dword [rbp - 0x10], r8d
jmp 0x14000f556
mov r9, qword [rbp - 8]
mov ebx, esi
test r8d, r8d
je 0x14000f4fb
mov r11d, dword [rbp + 0x1a4]
mov r15, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae r11d, eax
mov dword [rbp + 0x1a4], r11d
jb 0x140011230
mov edx, r11d
mov rcx, r9
add rdx, r9
mov rax, r10
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r10d, r10d
and r10d, 0xc0000095
cmp rdx, rcx
jb 0x14000f54d
add ebx, r13d
cmp ebx, r8d
mov r10, 0xffffffffffffffff
jb 0x14000f4a1
lea rax, [r9 + 4]
or rdx, 0xffffffffffffffff
cmp rax, r9
cmovae rdx, rax
sbb r10d, r10d
and r10d, 0xc0000095
cmp rax, r9
jb 0x14000f54d
mov ecx, edi
add rcx, qword [rbp - 8]
lea rax, [r9 + 0xc]
cmp rax, rcx
ja 0x140011230
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x2e8]
movsd qword [rdx], xmm0
mov r8d, dword [rbp - 0x10]
add r8d, r13d
mov dword [rbp - 0x10], r8d
mov edi, dword [rbp - 0xc]
test r10d, r10d
js 0x140011230
mov dword [rbp + 0x370], SafeArrayGetDim
mov r9, rsi
mov qword [rbp + 0x58], rsi
mov r13d, esi
mov qword [rbp + 0x1c8], rsi
mov qword [rbp + 0x18], rsi
mov dword [rbp - 0x70], esi
mov qword [rbp - 0x38], rsi
mov dword [rbp + 0x54], esi
mov r12, rsi
mov qword [rbp + 0x20], rsi
mov qword [rbp - 0x28], rsi
mov dword [rbp + 0x10c], esi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2f0], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
mov dword [rbp + 0x104], ecx
sbb edi, edi
mov r15d, 0xc0000095
and edi, r15d
cmp eax, 8
jb 0x14000f6a0
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14000f5db
mov edi, r15d
jmp 0x14000f6a0
mov dword [rbp + 0x104], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14000f60f
mov edi, 0xc0000017
mov r9, rsi
jmp 0x14000f69c
mov eax, dword [rbp - 0x10]
mov dword [rbx], eax
lea rax, [rbx + 4]
or rcx, 0xffffffffffffffff
mov rdx, rcx
cmp rax, rbx
cmovae rdx, rax
sbb edi, edi
and edi, r15d
cmp rax, rbx
jb 0x14000f67c
mov eax, dword [rbp - 0xc]
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, r15d
cmp rax, rdx
jb 0x14000f67c
mov edx, dword [rbp + 0x104]
mov rax, qword [rbp + 0x2f0]
mov qword [rdx + rbx - 8], rax
mov r8d, dword [rbp - 0xc]
mov rdx, qword [rbp - 8]
call sub.msvcrt.dll_memcpy
mov r9, rbx
mov qword [rbp + 0x58], rbx
mov rbx, rsi
mov r13d, dword [rbp + 0x104]
jmp 0x14000f67f
mov r9, rsi
test rbx, rbx
je 0x14000f69c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9, qword [rbp + 0x58]
mov r8d, dword [rbp - 0x10]
or edi, 0x10000000
jl 0x140011157
mov qword [rbp + 0x450], rsi
mov qword [rbp + 0x458], rsi
mov qword [rbp + 0x460], rsi
mov qword [rbp + 0x468], rsi
mov qword [rbp + 0x258], rsi
mov qword [rbp + 0x448], rsi
mov r15, rsi
test r9, r9
jne 0x14000f6e8
mov edi, 0xc000000d
jmp 0x14000fe82
mov ebx, r13d
mov qword [rbp + 0x70], rbx
test r13d, r13d
je 0x14000fdd2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8, [rbx + 8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x14000fdce
mov dl, sil
mov byte [rsp + 0x64], dl
mov rcx, rsi
mov r9, qword [rbp + 0x58]
test r13d, r13d
je 0x14000f745
mov edi, 1
xor dl, byte [rcx + r9]
add rcx, rdi
cmp rcx, rbx
jb 0x14000f735
mov byte [rsp + 0x64], dl
movabs rcx, 0xc81ecb17b1b54a58
mov qword [rbp + 0x980], rcx
mov r8, rax
mov edi, esi
mov dword [rbp - 0x20], esi
or r11d, 0xffffffff
mov dword [rbp - 0x3c], r11d
mov r13d, esi
mov dword [rbp - 0x18], esi
mov rax, rbx
and eax, 7
je 0x14000f859
mov ecx, esi
mov dword [rbp - 0x18], ecx
mov r11d, esi
test eax, eax
je 0x14000f7d3
mov r10d, 0x38
lea r14d, [r10 - 0x37]
lea rcx, [r9 + 1]
mov qword [rbp + 0x48], rcx
movzx edi, byte [r9]
cmp r11d, 4
jge 0x14000f7b0
lea ecx, [r10 - 0x20]
shl edi, cl
mov ecx, dword [rbp - 0x18]
or ecx, edi
mov dword [rbp - 0x18], ecx
jmp 0x14000f7bb
mov ecx, r10d
shl edi, cl
or r13d, edi
mov ecx, dword [rbp - 0x18]
add r11d, r14d
sub r10d, 8
mov rdi, qword [rbp + 0x48]
mov r9, rdi
cmp r11d, eax
jl 0x14000f78e
mov r14d, dword [rsp + 0x60]
mov edi, ecx
xor edi, 0xb17a307a
mov dword [rbp - 0x20], edi
mov r11d, r13d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x3c], r11d
mov ecx, esi
test eax, eax
jle 0x14000f824
mov r12d, 1
lea r10, [r8 + 1]
cmp ecx, 4
jge 0x14000f809
rol edi, 8
mov byte [r8], dil
jmp 0x14000f810
rol r11d, 8
mov byte [r8], r11b
add ecx, r12d
mov r8, r10
cmp ecx, eax
jl 0x14000f7f8
mov edi, dword [rbp - 0x20]
mov r11d, dword [rbp - 0x3c]
mov r12, rsi
add eax, 0xfffffffc
test eax, eax
jle 0x14000f841
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x3c], r11d
jmp 0x14000f859
mov r11d, esi
mov dword [rbp - 0x3c], esi
test eax, eax
jns 0x14000f859
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x20], edi
mov rax, rbx
shr rax, 3
mov qword [rbp + 0x48], rax
test rax, rax
je 0x14000fbc9
mov edx, dword [rbp + 0x984]
shr edx, 0x10
movzx eax, word [rbp + 0x982]
mov dword [rsp + 0x70], eax
movzx r14d, word [rbp + 0x984]
lea rbx, [r8 + 7]
lea rsi, [r9 + 2]
mov r12, qword [rbp + 0x48]
mov r15d, dword [rbp - 0x18]
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, r9d
lea rsi, [rsi + 8]
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
xor r8d, dword [rbp + 0x984]
mov ecx, r8d
mov edi, dword [rbp + 0x984]
xor ecx, edi
ror ecx, 0xf
mov eax, r8d
ror eax, 7
imul ecx, dword [rsp + 0x70]
add eax, ecx
xor r11d, eax
lea ecx, [r11 - 0x4e4ab5a8]
ror ecx, 9
mov eax, r11d
ror eax, 0xa
imul ecx, r14d
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, r14d
rol ecx, 4
mov eax, r8d
rol eax, 5
imul ecx, edx
add eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, edi
sub eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x4a58]
movzx eax, word [rbp + 0x982]
imul ecx, eax
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, r14d
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, edx
imul eax, r14d
xor r11d, eax
mov eax, r11d
sub eax, edi
sub eax, 0x4a58
xor r8d, eax
mov ecx, r8d
ror ecx, 0xa
mov eax, r8d
xor eax, edx
movzx edi, word [rbp + 0x982]
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, 0x4a58
rol ecx, 6
mov eax, r11d
ror eax, 3
imul ecx, r14d
xor eax, ecx
xor r8d, eax
mov eax, r8d
ror eax, 0xf
sub eax, edx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, edx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r8d, ecx
mov eax, r11d
sub eax, r14d
rol eax, 3
mov ecx, r11d
shr ecx, 0xf
imul eax, eax, 0x4a58
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, r14d
imul ecx, edi
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov edi, 0xb1b54a58
sub edi, r11d
ror edi, 9
mov ecx, r11d
ror ecx, 0xb
mov eax, r14d
imul eax, edi
xor ecx, eax
xor r8d, ecx
mov eax, r8d
sub eax, edx
add eax, 0x4e4ab5a8
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
movzx ecx, word [rbp + 0x982]
xor eax, ecx
imul ecx, eax, 0x4a58
sub ecx, edi
xor r8d, ecx
mov edi, r8d
xor edi, edx
rol edi, 4
mov ecx, r8d
ror ecx, 0x10
movzx eax, word [rbp + 0x982]
imul eax, edi
sub eax, ecx
xor r11d, eax
mov edi, 0xb1b54a58
sub edi, r11d
ror edi, 0xa
mov ecx, r11d
ror ecx, 4
mov eax, r14d
imul eax, edi
add ecx, eax
xor r8d, ecx
lea ecx, [r8 + 0x4e4ab5a8]
ror ecx, 4
mov edi, r8d
ror edi, 9
mov eax, edx
imul eax, ecx
xor edi, eax
xor r11d, edi
mov eax, r11d
xor eax, dword [rbp + 0x984]
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r8d, eax
mov edi, dword [rbp + 0x984]
sub edi, r8d
ror edi, 0xb
mov ecx, r8d
ror ecx, 0xc
movzx eax, word [rbp + 0x982]
imul eax, edi
sub eax, ecx
xor r11d, eax
mov ecx, r11d
movzx eax, word [rbp + 0x982]
xor ecx, eax
imul ecx, r14d
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor r8d, r15d
mov dword [rbp - 0x20], r8d
xor r13d, r11d
xor r13d, dword [rbp + 0x984]
xor r13d, eax
xor r13d, 0xb1b54a58
mov dword [rbp - 0x3c], r13d
mov byte [rbx - 4], r8b
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x3c]
mov byte [rbx], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x20]
mov byte [rbx - 5], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x3c]
mov byte [rbx - 1], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x20]
mov byte [rbx - 6], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x3c]
mov byte [rbx - 2], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x20]
mov byte [rbx - 7], al
mov al, byte [rbp - 0x3c]
mov byte [rbx - 3], al
mov edi, dword [rbp - 0x20]
ror edi, 8
mov dword [rbp - 0x20], edi
mov r11d, dword [rbp - 0x3c]
ror r11d, 8
mov dword [rbp - 0x3c], r11d
mov r15d, r10d
mov r13d, r9d
lea rbx, [rbx + 8]
sub r12, 1
jne 0x14000f899
mov dl, byte [rsp + 0x64]
xor esi, esi
mov r14d, dword [rsp + 0x60]
mov r12d, esi
mov r15d, esi
mov rbx, qword [rbp + 0x70]
movzx eax, dl
mov rdi, qword [rbp + 0xc8]
mov qword [rdi + rbx], rax
mov qword [rbp + 0x258], rdi
lea r13, [rbx + 8]
mov qword [rbp + 0x448], r13
lea rax, [0x14010a3e0]
mov qword [rbp + 0x450], rax
mov ebx, 8
mov qword [rbp + 0x458], rbx
lea rax, [0x14010a340]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], LoadRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [rbx + 0x28]
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14000fc43
mov edi, 0xc0000017
jmp 0x14000fdba
mov dword [rax], r13d
mov r13d, r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r13d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14000fc6f
mov edi, 0xc0000017
jmp 0x14000fd3e
mov qword [rbx + 8], rax
mov r8, r13
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov edi, LoadRegTypeLib
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edi, 8
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14000fc65
mov qword [rbx + 0x18], rax
lea rcx, [0x14010a340]
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]
mov rcx, rax
mov r8d, edi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14000fc65
mov qword [rbx + 0x28], rax
mov edi, esi
movsd xmm0, qword [0x14010a3e0]
movsd qword [rax], xmm0
mov r15, rbx
mov rbx, rsi
test rbx, rbx
je 0x14000fdba
mov r13, qword [rbx + 8]
test r13, r13
je 0x14000fd64
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov r13, qword [rbx + 0x18]
test r13, r13
je 0x14000fd85
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov r13, qword [rbx + 0x28]
test r13, r13
je 0x14000fda6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp - 0x10]
test edi, edi
js 0x14000fdd7
mov qword [rbp + 0x1c8], r15
mov r15, rsi
jmp 0x14000fdd7
mov r8d, dword [rbp - 0x10]
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x258]
test rbx, rbx
je 0x14000fe02
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x258], rsi
mov r8d, dword [rbp - 0x10]
test r15, r15
je 0x14000fe82
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14000fe28
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rsi
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x14000fe49
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rsi
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x14000fe6a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp - 0x10]
or edi, 0x10000000
jl 0x140011157
mov rbx, qword [rbp + 0x1c8]
mov r10d, dword [rbx + 0x20]
mov r9d, dword [rbx + 0x10]
mov eax, dword [rbx]
add eax, 4
or r11d, 0xffffffff
mov ecx, r11d
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
mov r15d, 0xc0000095
and edi, r15d
cmp eax, 4
jb 0x14000ff23
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r15d
cmp eax, ecx
jb 0x14000ff23
lea eax, [rdx + r9]
mov ecx, r11d
cmp eax, edx
cmovae ecx, eax
sbb edi, edi
and edi, r15d
cmp eax, edx
jb 0x14000ff23
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r15d
cmp eax, ecx
jb 0x14000ff23
lea ecx, [rdx + r10]
mov eax, r11d
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, r15d
mov r9d, dword [rbp + 0x108]
cmp ecx, edx
cmovae r9d, eax
mov dword [rbp + 0x108], r9d
jmp 0x14000ff2a
mov r9d, dword [rbp + 0x108]
test edi, edi
js 0x14000ff59
mov edi, r9d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
test rax, rax
jne 0x14000ffba
mov edi, 0xc0000017
mov r8d, dword [rbp - 0x10]
mov r13, rsi
or edi, 0x10000000
jl 0x1400107a8
mov qword [rbp + 0x470], rsi
mov r10d, esi
mov dword [rbp + 0x228], esi
mov qword [rbp + 0x478], rsi
mov r11d, esi
mov dword [rbp + 0x22c], esi
mov dword [rbp + 0x36c], 0x1c
mov dword [rbp + 0x368], 0x28
mov dword [rbp + 0x364], 0x28
cmp qword [rbp - 8], rsi
jne 0x1400100e7
mov edi, 0xc000000d
jmp 0x14001029b
mov eax, dword [rbx]
mov dword [r15], eax
lea rax, [r15 + 4]
or r13, 0xffffffffffffffff
cmp rax, r15
cmovae r13, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, r15
jb 0x1400100c2
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
add rcx, r13
or r9, 0xffffffffffffffff
mov rdx, r9
cmp rcx, r13
cmovae rdx, rcx
sbb edi, edi
mov r8d, 0xc0000095
and edi, r8d
cmp rcx, r13
jb 0x1400100c2
mov eax, dword [rbx + 0x10]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r13, r9
cmp rax, rdx
cmovae r13, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x1400100c2
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x10]
add rcx, r13
or r9, 0xffffffffffffffff
mov rdx, r9
cmp rcx, r13
cmovae rdx, rcx
sbb edi, edi
mov r8d, 0xc0000095
and edi, r8d
cmp rcx, r13
jb 0x1400100c2
mov eax, dword [rbx + 0x20]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r13, r9
cmp rax, rdx
cmovae r13, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x1400100c2
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x20]
add rcx, r13
cmp rcx, r13
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r13
jb 0x1400100c2
mov r13, r15
mov qword [rbp + 0x18], r15
mov r15, rsi
mov eax, dword [rbp + 0x108]
mov dword [rbp - 0x70], eax
jmp 0x1400100c5
mov r13, rsi
test r15, r15
je 0x1400100de
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp - 0x10]
jmp 0x14000ff5c
mov r15d, 1
cmp r8d, r15d
jbe 0x14000ffb0
mov rdx, qword [rbp - 8]
mov ebx, esi
lea rax, [rdx + 4]
or r9, 0xffffffffffffffff
cmp rax, rdx
cmovae r9, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x14001017c
mov ecx, dword [rdx]
add rcx, r9
or rdx, 0xffffffffffffffff
cmp rcx, r9
cmovae rdx, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r9
jb 0x14001017c
add ebx, r15d
cmp ebx, r15d
jb 0x1400100fc
mov r9d, dword [rdx]
lea rax, [rdx + 4]
or rbx, 0xffffffffffffffff
mov rcx, rbx
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x140010180
mov r10d, r9d
mov dword [rbp + 0x228], r9d
mov rax, rsi
test r9d, r9d
cmovne rax, rcx
mov qword [rbp + 0x470], rax
jmp 0x140010180
or rbx, 0xffffffffffffffff
test edi, edi
js 0x1400107a8
cmp r8d, 2
jbe 0x14000ffb0
mov rdx, qword [rbp - 8]
mov r9d, esi
lea rax, [rdx + 4]
mov r8, rbx
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x140010217
mov ecx, dword [rdx]
add rcx, r8
mov rdx, rbx
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r8
jb 0x140010217
add r9d, r15d
cmp r9d, 2
jb 0x140010199
mov r8d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, rbx
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
mov r15d, 0xc0000095
and edi, r15d
cmp rax, rdx
jb 0x14001021d
mov r11d, r8d
mov dword [rbp + 0x22c], r8d
mov rax, rsi
test r8d, r8d
cmovne rax, rcx
mov qword [rbp + 0x478], rax
jmp 0x14001021d
mov r15d, 0xc0000095
test edi, edi
js 0x1400107a8
lea eax, [r10 + 0x30]
or edx, 0xffffffff
mov ecx, edx
cmp eax, 0x30
cmovae ecx, eax
sbb edi, edi
and edi, r15d
cmp eax, 0x30
jb 0x140010278
lea eax, [rcx + 4]
mov r8d, edx
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r15d
cmp eax, ecx
jb 0x140010278
lea ecx, [r8 + r11]
mov eax, edx
cmp ecx, r8d
cmovae eax, ecx
sbb edi, edi
and edi, r15d
mov edx, dword [rbp + 0x1a8]
cmp ecx, r8d
cmovae edx, eax
mov dword [rbp + 0x1a8], edx
jmp 0x14001027e
mov edx, dword [rbp + 0x1a8]
test edi, edi
js 0x1400107a8
cmp edx, 0x400000
jbe 0x140010298
mov edi, 0x8000ffff
jmp 0x1400107a8
mov dword [rbp + 0x54], edx
test edi, edi
js 0x1400107a8
mov edi, dword [rbp + 0x54]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x1400102cf
mov edi, 0xd0000017
jmp 0x1400107a8
mov qword [rbp - 0x38], rbx
mov r15, qword [rbp + 0x18]
test r15, r15
jne 0x1400102e6
mov edi, 0x80070057
jmp 0x14001039e
mov qword [rbp + 0x4c0], r15
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x4d0], eax
mov qword [rbp + 0x4c8], rbx
mov eax, dword [rbp + 0x54]
mov dword [rbp + 0x4d4], eax
mov dword [rbp + 0x4d8], esi
lea r8, [rbp + 0x480]
lea rdx, [0x1400ee2b0]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14001034b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x140010346
mov edi, 0x80004005
mov edx, dword [rbp + 0x54]
jmp 0x140010391
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x480]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140010329
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x4c0]
lea ecx, [r8 + 0x66]
call qword [case.0x1400739fa.0]
mov edi, eax
or edi, 0x10000000
mov edx, dword [rbp + 0x54]
cmovge edx, dword [rbp + 0x4d4]
mov dword [rbp + 0x54], edx
cmp edi, 0xd0000023
jne 0x1400103a6
mov edi, 0x8007007a
mov r13, r15
jmp 0x1400107a8
test edi, edi
js 0x14001039e
mov qword [rbp + 0x60], rsi
cmp edx, 4
jae 0x1400103bd
mov edi, 0xc000003e
jmp 0x14001077d
mov r11d, dword [rbx]
mov dword [rsp + 0x70], r11d
lea rax, [rbx + 4]
or r9, 0xffffffffffffffff
mov r15, r9
cmp rax, rbx
cmovae r15, rax
sbb edi, edi
mov r10d, 0xc0000095
and edi, r10d
cmp rax, rbx
jb 0x14001077d
lea eax, [rdx - 4]
cmp eax, r11d
jb 0x1400103b3
lea rcx, [r15 + r11]
mov r8, r9
cmp rcx, r15
cmovae r8, rcx
sbb edi, edi
and edi, r10d
cmp rcx, r15
jb 0x14001077d
lea eax, [r11 + 4]
or ecx, 0xffffffff
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
and edi, r10d
cmp eax, 4
jb 0x14001077d
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x1400103b3
mov ebx, dword [r8]
mov dword [rbp - 0x78], ebx
lea rax, [r8 + 4]
mov r13, r9
cmp rax, r8
cmovae r13, rax
sbb edi, edi
and edi, r10d
cmp rax, r8
jb 0x14001077d
lea eax, [rcx + 4]
or r8d, 0xffffffff
mov r9d, r8d
cmp eax, ecx
cmovae r9d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x14001077d
mov eax, edx
sub eax, r9d
cmp eax, ebx
jb 0x1400103b3
lea rcx, [rbx + r13]
or r10, 0xffffffffffffffff
cmp rcx, r13
cmovae r10, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r13
jb 0x14001077d
lea eax, [r9 + rbx]
cmp eax, r9d
cmovae r8d, eax
sbb edi, edi
and edi, 0xc0000095
cmp eax, r9d
jb 0x14001077d
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x1400103b3
mov r9d, dword [r10]
mov dword [rbp - 0x70], r9d
lea rax, [r10 + 4]
or rcx, 0xffffffffffffffff
cmp rax, r10
cmovae rcx, rax
mov qword [rbp + 0x48], rcx
sbb edi, edi
and edi, 0xc0000095
cmp rax, r10
jb 0x14001077d
lea eax, [r8 + 4]
or ecx, 0xffffffff
cmp eax, r8d
cmovae ecx, eax
sbb edi, edi
mov r10d, 0xc0000095
and edi, r10d
cmp eax, r8d
jb 0x14001077d
mov eax, edx
sub eax, ecx
cmp eax, r9d
jb 0x1400103b3
lea eax, [rcx + r9]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x14001077d
cmp edx, r8d
jne 0x1400103b3
lea ecx, [rbx + r11]
add ecx, r9d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x1400103b3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, 0x30
lea r12d, [r8 - 0x28]
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14001058a
mov edi, 0xc0000017
jmp 0x1400106e7
test r15, r15
je 0x1400105cf
mov eax, dword [rsp + 0x70]
mov dword [rbx], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400105bb
mov edi, 0xc0000017
jmp 0x14001066b
mov qword [rbx + 8], rax
mov r8, rdi
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400105d5
mov dword [rax], esi
mov qword [rax + 8], rsi
test r13, r13
je 0x140010610
mov eax, dword [rbp - 0x78]
mov dword [rbx + 0x10], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400105b1
mov qword [rbx + 0x18], rax
mov r8d, edi
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140010617
mov dword [rbx + 0x10], esi
mov qword [rbx + 0x18], rsi
mov rdi, qword [rbp + 0x48]
test rdi, rdi
je 0x14001065b
mov eax, dword [rbp - 0x70]
mov dword [rbx + 0x20], eax
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400105b1
mov qword [rbx + 0x28], rax
mov r8d, r15d
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140010662
mov dword [rbx + 0x20], esi
mov qword [rbx + 0x28], rsi
mov qword [rbp + 0x60], rbx
mov rbx, rsi
mov edi, esi
test rbx, rbx
je 0x1400106e7
mov r15, qword [rbx + 8]
test r15, r15
je 0x140010691
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x1400106b2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x1400106d3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, rsi
test edi, edi
cmovs rbx, qword [rbp + 0x60]
mov r12, qword [rbp + 0x60]
cmovs r12, rsi
mov qword [rbp + 0x20], r12
test rbx, rbx
je 0x14001077d
mov r15, qword [rbx + 8]
test r15, r15
je 0x140010723
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x140010744
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x140010765
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x20], r12
or edi, 0x10000000
jl 0x1400107a4
mov rbx, rsi
mov qword [rbp + 0x140], rbx
mov qword [rbp + 0x2f8], rsi
test r12, r12
jne 0x14001099f
mov edi, 0xd000000d
mov r13, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x58]
test rbx, rbx
je 0x1400107c5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x1c8]
test rbx, rbx
je 0x14001084f
mov r15, qword [rbx + 8]
test r15, r15
je 0x1400107f2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x140010813
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x140010834
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1c8], rsi
test r13, r13
je 0x140010868
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x140010885
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12, r12
je 0x140010907
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x1400108ad
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 8], rsi
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x1400108d0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x18], rsi
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x1400108f3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x140010924
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x140011230
mov r10d, 1
cmp dword [rbp + 0x130], r10d
jb 0x140011230
mov rdi, qword [rbp + 0x138]
test rdi, rdi
je 0x140011230
cmp dword [rbp + 0x130], esi
jbe 0x140011230
mov ecx, dword [rdi]
lea rax, [rdi + 4]
or rbx, 0xffffffffffffffff
mov rdx, rbx
cmp rax, rdi
cmovae rdx, rax
sbb r8d, r8d
mov r11d, 0xc0000095
and r8d, r11d
cmp rax, rdi
jb 0x14001115f
mov dword [rbp + 0x268], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x488], rax
jmp 0x14001116c
mov rdi, qword [r12 + 8]
mov qword [rbp + 0x60], rdi
test rdi, rdi
je 0x14001079f
cmp dword [r12], esi
je 0x14001079f
mov r15d, dword [r12]
mov dword [rbp - 0x78], esi
test r15, r15
je 0x140010f23
add r15, 0xfffffffffffffff8
mov qword [rbp + 0x70], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x140010f1c
mov dl, sil
mov byte [rsp + 0x64], dl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x9a0], rax
mov r10, rdi
mov r9, r13
mov rdi, r15
and edi, 7
mov dword [rbp - 0x2c], esi
mov r11d, esi
mov r8d, esi
je 0x140010b19
or dword [rbp - 0x4c], 0xffffffff
mov dword [rsp + 0x68], ebx
mov dword [rbp - 0x48], esi
test edi, edi
je 0x140010a8e
mov r14d, 0x38
lea r12d, [r14 - 0x37]
lea rax, [r10 + 1]
mov qword [rbp + 0x48], rax
movzx eax, byte [r10]
cmp r8d, 4
jge 0x140010a63
lea ecx, [r14 - 0x20]
shl eax, cl
or r11d, eax
jmp 0x140010a6a
mov ecx, r14d
shl eax, cl
or ebx, eax
add r8d, r12d
sub r14d, 8
mov rax, qword [rbp + 0x48]
mov r10, rax
cmp r8d, edi
jl 0x140010a46
mov dword [rbp - 0x48], r11d
mov dword [rsp + 0x68], ebx
mov r14d, dword [rsp + 0x60]
mov r12, qword [rbp + 0x20]
xor r11d, 0x92f65a5
mov dword [rbp - 0x2c], r11d
mov r8d, ebx
xor r8d, 0x699a899c
mov dword [rbp - 0x4c], r8d
mov eax, esi
test edi, edi
jle 0x140010adf
mov edx, 1
lea rcx, [r9 + 1]
cmp eax, 4
jge 0x140010ac4
rol r11d, 8
mov byte [r9], r11b
jmp 0x140010acb
rol r8d, 8
mov byte [r9], r8b
add eax, edx
mov r9, rcx
cmp eax, edi
jl 0x140010ab2
mov r11d, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x4c]
mov dl, sil
lea eax, [rdi - 4]
test eax, eax
jle 0x140010afc
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x4c], r8d
jmp 0x140010b24
mov r8d, esi
mov dword [rbp - 0x4c], esi
test eax, eax
jns 0x140010b24
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x2c], r11d
jmp 0x140010b24
mov dword [rbp - 0x48], esi
or dword [rsp + 0x68], 0xffffffff
mov dword [rbp - 0x4c], esi
mov rax, r15
shr rax, 3
mov qword [rbp + 0x48], rax
test rax, rax
je 0x140010e89
mov ebx, dword [rbp + 0x9a4]
mov eax, ebx
shr eax, 0x10
movzx r14d, bx
mov dword [rbp - 0x58], eax
movzx eax, word [rbp + 0x9a2]
mov dword [rsp + 0x70], eax
lea rsi, [r9 + 7]
lea r12, [r10 + 2]
mov edx, dword [rsp + 0x68]
mov r13d, dword [rbp - 0x48]
mov r15, qword [rbp + 0x48]
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 edi, r9d
xor edi, r8d
xor edi, r11d
xor edi, ebx
xor edi, 0xab69605e
lea ecx, [rdi + 0x54969fa2]
rol ecx, 5
mov eax, edi
rol eax, 0xa
imul ecx, r14d
add eax, ecx
xor r11d, eax
lea ecx, [rbx + r11]
ror ecx, 9
mov eax, r11d
rol eax, 2
movzx r8d, word [rbp + 0x9a2]
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov eax, edi
sub eax, r14d
imul ecx, eax, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
rol ecx, 6
mov eax, r11d
rol eax, 2
mov r8d, dword [rbp - 0x58]
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
mov eax, ebx
sub eax, ecx
xor r11d, eax
mov ecx, r11d
ror ecx, 6
mov eax, r11d
xor eax, r14d
imul eax, dword [rsp + 0x70]
xor ecx, eax
xor edi, ecx
lea eax, [rbx + rdi]
ror eax, 0xf
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r11d, ecx
lea ecx, [r11 + 0x54969fa2]
ror ecx, 0xe
mov eax, r11d
rol eax, 8
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, edi
ror eax, 0xa
imul ecx, r14d
xor eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, r8d
movzx eax, word [rbp + 0x9a2]
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, 0x605e
imul eax, r8d
xor r11d, eax
mov r8d, r11d
sub r8d, dword [rbp - 0x58]
xor r8d, edi
xor r8d, 0xab69605e
mov ecx, r8d
xor ecx, dword [rbp - 0x58]
rol ecx, 2
imul ecx, r14d
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, ebx
ror ecx, 6
mov eax, r11d
rol eax, 7
movzx edi, word [rbp + 0x9a2]
imul ecx, edi
add eax, ecx
xor r8d, eax
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, r14d
imul ecx, eax, 0x605e
add edi, ecx
xor r11d, edi
mov ecx, r11d
movzx eax, word [rbp + 0x9a2]
xor ecx, eax
rol ecx, 5
mov eax, r11d
rol eax, 7
imul ecx, dword [rbp - 0x58]
add eax, ecx
xor r8d, eax
mov edi, r8d
xor edi, r11d
xor edi, ebx
xor edi, 0xab69605e
mov eax, edi
ror eax, 3
movzx r11d, word [rbp + 0x9a2]
sub eax, r11d
imul eax, r14d
xor r8d, eax
mov eax, r8d
sub eax, ebx
ror eax, 1
mov ecx, r8d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edi, eax
lea ecx, [rdi - 0x54969fa2]
rol ecx, 3
mov eax, edi
rol eax, 0xe
imul ecx, dword [rbp - 0x58]
add eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x54969fa2]
rol ecx, 0xf
mov eax, r8d
ror eax, 0xe
imul ecx, r14d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0x605e
imul ecx, r11d
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, ebx
xor eax, r8d
rol eax, 4
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r13d
xor edi, ecx
mov dword [rbp - 0x2c], edi
xor r8d, edx
mov dword [rbp - 0x4c], r8d
mov byte [rsi - 4], dil
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x4c]
mov byte [rsi], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x2c]
mov byte [rsi - 5], al
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x4c]
mov byte [rsi - 1], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x2c]
mov byte [rsi - 6], al
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x4c]
mov byte [rsi - 2], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x2c]
mov byte [rsi - 7], al
mov al, byte [rbp - 0x4c]
mov byte [rsi - 3], al
mov r11d, dword [rbp - 0x2c]
ror r11d, 8
mov dword [rbp - 0x2c], r11d
mov r8d, dword [rbp - 0x4c]
ror r8d, 8
mov dword [rbp - 0x4c], r8d
mov r13d, r10d
mov edx, r9d
lea rsi, [rsi + 8]
mov ecx, 1
sub r15, rcx
jne 0x140010b69
mov dl, byte [rsp + 0x64]
xor esi, esi
mov r14d, dword [rsp + 0x60]
mov r12, qword [rbp + 0x20]
mov r15, qword [rbp + 0x70]
mov r13, qword [rbp + 0xc8]
jmp 0x140010e8e
mov ecx, 1
mov rax, rsi
test r15, r15
je 0x140010ea2
xor dl, byte [rax + r13]
add rax, rcx
cmp rax, r15
jb 0x140010e96
movzx eax, dl
mov rcx, qword [rbp + 0x60]
cmp rax, qword [r15 + rcx]
je 0x140010ebd
mov edi, 0xc004d501
mov rbx, qword [rbp + 0x140]
jmp 0x140010ed4
mov rbx, r13
mov qword [rbp + 0x140], rbx
mov r13, rsi
mov qword [rbp + 0x2f8], r15
mov edi, dword [rbp - 0x78]
test r13, r13
je 0x140010ef4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x140]
test edi, edi
js 0x140010f23
mov r13, rbx
mov qword [rbp - 0x28], rbx
mov rbx, rsi
mov qword [rbp + 0x140], rbx
mov ecx, dword [rbp + 0x2f8]
mov dword [rbp + 0x10c], ecx
mov edi, 0x10000000
jmp 0x140010f31
mov rbx, qword [rbp + 0x140]
mov edi, 0xd0000001
mov ecx, dword [rbp + 0x10c]
mov r13, rsi
test rbx, rbx
je 0x140010f57
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x140], rsi
mov ecx, dword [rbp + 0x10c]
test edi, edi
js 0x1400107a4
cmp ecx, 4
jb 0x140011149
mov eax, dword [r13]
mov dword [rsp + 0x70], eax
lea rax, [r13 + 4]
or r8, 0xffffffffffffffff
mov rdx, r8
cmp rax, r13
cmovae rdx, rax
sbb edi, edi
mov r9d, 0xc0000095
and edi, r9d
cmp rax, r13
jb 0x14001114e
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140011149
mov r15d, dword [rdx]
lea rax, [rdx + 4]
mov rbx, r8
cmp rax, rdx
cmovae rbx, rax
sbb edi, edi
and edi, r9d
cmp rax, rdx
jb 0x14001114e
lea eax, [rcx - 8]
cmp eax, r15d
jb 0x140011149
lea eax, [r15 + 8]
cmp eax, 8
sbb edi, edi
and edi, r9d
cmp eax, 8
jb 0x14001114e
mov edx, ecx
mov r10d, r15d
lea rcx, [rbx + r15]
lea rax, [rdx + r13]
cmp rax, rcx
jb 0x140011149
mov rax, r13
sub rax, rbx
sub rax, r15
add rax, rdx
cmp rax, 8
jae 0x140011149
mov r13, rsi
mov edi, esi
mov r11d, esi
mov dword [rbp - 0x70], esi
test rbx, rbx
je 0x1400110d8
mov rdx, rbx
cmp rcx, rbx
cmovae r8, rcx
sbb edi, edi
and edi, r9d
cmp rcx, rbx
jb 0x140011139
cmp rbx, r8
jae 0x1400110d3
mov r9d, dword [rbp + 0x2a8]
lea rax, [rdx + 4]
or rcx, 0xffffffffffffffff
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x140011139
cmp rcx, r8
ja 0x140011103
mov ecx, dword [rdx]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb edi, edi
and edi, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x2a8], r9d
jb 0x140011139
mov ecx, r9d
add rcx, rdx
or rax, 0xffffffffffffffff
cmp rcx, rdx
cmovae rax, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rdx
jb 0x140011139
cmp rax, r8
ja 0x140011103
mov rdx, rax
inc r11d
mov dword [rbp - 0x70], r11d
cmp rax, r8
jb 0x14001104a
cmp rdx, r8
jne 0x140011103
test r15d, r15d
je 0x14001110f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
jne 0x14001110a
mov edi, 0xc0000017
jmp 0x140011139
mov edi, 0xc000000d
jmp 0x14001114e
mov edi, esi
mov r10, r15
test rbx, rbx
je 0x140011122
mov r8, r10
mov rdx, rbx
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x138], r13
mov dword [rbp + 0x134], r15d
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x130], eax
test edi, edi
js 0x14001114e
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp + 0x130]
je 0x14001114e
mov edi, 0xc000003e
bts edi, 0x1c
jmp 0x1400107a4
mov r13, rsi
jmp 0x1400107a8
mov ecx, dword [rbp + 0x268]
mov rax, qword [rbp + 0x488]
test r8d, r8d
js 0x140011230
cmp ecx, 4
jne 0x140011230
mov eax, dword [rax]
mov dword [rbp + 0x26c], eax
test eax, eax
js 0x140011230
cmp dword [rbp + 0x130], r10d
jbe 0x140011230
mov rdx, qword [rbp + 0x138]
mov r9d, esi
lea rax, [rdx + 4]
mov r8, rbx
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x140011210
mov ecx, dword [rdx]
add rcx, r8
mov rdx, rbx
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, r11d
cmp rcx, r8
jb 0x140011210
add r9d, r10d
cmp r9d, r10d
jb 0x1400111a5
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov r8, rbx
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x140011210
mov dword [rbp + 0x128], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, r8
mov qword [rbp + 0x490], rax
jmp 0x14001121d
mov ecx, dword [rbp + 0x128]
mov rax, qword [rbp + 0x490]
test edi, edi
js 0x140011230
cmp ecx, 8
jne 0x140011230
mov rax, qword [rax]
mov qword [rbp + 0x4e0], rax
mov rbx, qword [rsp + 0x78]
jmp 0x140011243
mov r15, qword [rbp - 0x80]
mov rbx, r12
jmp 0x140011247
mov rbx, r12
mov r15, qword [rbp - 0x80]
and qword [rbp - 0x10], 0
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x14001126d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 8], rsi
and qword [rbp + 0x130], 0
mov rdi, qword [rbp + 0x138]
test rdi, rdi
je 0x14001129c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x138], rsi
test rbx, rbx
je 0x1400112b5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x1400112ce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0x114]
mov dword [rbp + 0x360], eax
mov ebx, dword [rbp + 0x1ac]
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x148], rsi
mov qword [rbp + 0x260], rax
jmp 0x140007ee8
cmp r14d, 0xd00000e5
je 0x140011320
cmp r14d, 0xc004d501
je 0x140011320
cmp r14d, 0xd000003e
jne 0x140011326
mov r14d, 0xc004f028
jmp 0x140007f8e
mov r14d, 0xc004f027
test r14d, r14d
jns 0x140011344
cmp r14d, 0x8007007a
jne 0x140007f8e
mov dword [rbp + 0xd0], 0xc004f01e
jmp 0x140011358
cmp ebx, 4
jne 0x140011338
mov rax, qword [rbp + 0x260]
mov ecx, dword [rax]
mov dword [rbp + 0x1b0], ecx
lea rcx, [rbp + 0x260]
call fcn.140026f74
cmp dword [rbp + 0xd0], esi
jl 0x1400116da
cmp dword [rbp + 0x1b0], esi
je 0x1400116da
mov byte [0x140111aa0], sil
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetThreadDesktop]
mov r14, rax
mov dword [rbp + 0xc0], esi
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea r13d, [r9 + 2]
mov edx, r13d
mov rcx, r14
call qword [sym.imp.USER32.dll_GetUserObjectInformationW]
mov ebx, dword [rbp + 0xc0]
shr ebx, 1
lea r15d, [rbx + 1]
mov eax, r13d
mul r15
lea rcx, [r13 - 3]
cmovo rax, rcx
mov rcx, rax
call fcn.1400e23f4
mov rdi, rax
test rax, rax
jne 0x1400113f0
mov eax, 0x8007000e
jmp 0x1400116df
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 + 0x1d8]
call fcn.1400151c0
mov dword [rbp + 0x170], esi
lea rax, [rbp + 0x170]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0xc0]
mov r8, rdi
mov edx, r13d
mov rcx, r14
call qword [sym.imp.USER32.dll_GetUserObjectInformationW]
test eax, eax
je 0x14001145f
mov eax, dword [rbp + 0xc0]
cmp dword [rbp + 0x170], eax
ja 0x14001145f
mov word [rdi + rbx*2], si
mov r8, rdi
xor edx, edx
lea rcx, [rbp + 0x1d8]
call fcn.140011fe4
mov rcx, rdi
call fcn.1400e23fc
mov qword [rbp + 0xb8], rsi
mov r8, qword [rbp + 0x1d8]
xor edx, edx
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_OpenEventW]
mov qword [rbp + 0xb8], rax
test rax, rax
je 0x1400114ae
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0xb8], rsi
jmp 0x1400116c6
mov r9, qword [rbp + 0x1d8]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbp + 0xb8], rax
test rax, rax
jne 0x1400114d8
mov esi, 0x8007000e
jmp 0x1400116c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140011503
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0xb8], rsi
mov esi, 0x8000ffff
jmp 0x1400116c6
call qword [sym.imp.USER32.dll_SetProcessDPIAware]
test eax, eax
jne 0x140011517
mov esi, 0x80004005
jmp 0x1400116c6
lea r14, [section..data]
mov r9, r14
mov r8, r14
lea rdx, [0x140014b00]
lea rcx, [0x1400edf10]
call fcn.140014c04
xor ecx, ecx
call qword [sym.imp.ole32.dll_OleInitialize]
mov ebx, eax
test eax, eax
js 0x1400116a8
test byte [0x140111380], r12b
je 0x140011561
lea rdx, [0x1400ee290]
mov rcx, r14
call fcn.140014ac0
mov qword [rbp + 0x168], rsi
lea rcx, [rbp + 0x168]
call fcn.140012e6c
mov ebx, eax
test byte [0x140111380], r12b
je 0x14001158e
lea rdx, [0x1400edff8]
mov rcx, r14
call fcn.140014ac0
test ebx, ebx
js 0x1400116a2
mov rcx, qword [rbp + 0x168]
test rcx, rcx
je 0x1400116a2
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
call qword [case.0x1400739fa.0]
mov rcx, qword [rbp + 0x168]
call fcn.140018aec
mov dil, r12b
mov dword [rsp + 0x20], 4
mov r9d, 0x1cff
or r8d, 0xffffffff
lea rdx, [rbp + 0xb8]
mov ecx, r12d
call qword [sym.imp.USER32.dll_MsgWaitForMultipleObjectsEx]
test eax, eax
jne 0x140011639
add dword [0x140111ed8], r12d
cmp byte [0x140111ed4], sil
je 0x140011614
mov r9d, r12d
mov r8d, 0xea3
lea rdx, [0x14010a498]
lea rcx, [0x1400ef920]
call fcn.14003720c
mov rcx, qword [rbp + 0x168]
call fcn.140018aec
nop
sub dword [0x140111ed8], r12d
jne 0x140011637
lea rcx, [rbp + 0xd4]
call fcn.140037700
nop
jmp 0x14001167e
cmp eax, r12d
jne 0x14001167e
jmp 0x140011660
test dil, dil
je 0x140011687
movzx edi, dil
cmp dword [rbp + 0x4f8], 0x12
cmove edi, esi
lea rcx, [rbp + 0x4f0]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x4f0]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x140011640
test dil, dil
jne 0x1400115c2
mov rcx, qword [rbp + 0x168]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
call qword [case.0x1400739fa.0]
mov qword [rbp + 0x168], rsi
call qword [sym.imp.ole32.dll_OleUninitialize]
mov rcx, r14
call fcn.140014a28
mov rcx, qword [rbp + 0xb8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0xb8], rsi
mov esi, ebx
mov rcx, qword [rbp + 0x1d8]
add rcx, 0xffffffffffffffe8
call fcn.140014f34
mov eax, esi
jmp 0x1400116df
mov eax, 0x80070005
mov rcx, qword [rbp + 0x1170]
xor rcx, rsp
call fcn.1400e27e0
lea r11, [rsp + 0x1280]
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
sub rsp, 0x38
call fcn.1400073d4
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
cmp byte [0x1401113a0], 0
je 0x140011769
or eax, 0xffffffff
jmp 0x140011792
and dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
lea r8, [rsp + 0x20]
call fcn.140012240
cmp al, 1
jne 0x14001178e
add rsp, 0x38
jmp 0x14000755c
mov eax, dword [rsp + 0x20]
add rsp, 0x38
ret