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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1130]
mov eax, 0x1230
call fcn.1400cdb40
sub rsp, rax
mov qword [rbp + 0x4c8], 0xfffffffffffffffe
mov qword [rsp + 0x1268], rbx
mov qword [rsp + 0x1270], rsi
mov qword [rsp + 0x1278], rdi
mov rax, qword [0x140109388]
xor rax, rsp
mov qword [rbp + 0x1120], rax
mov qword [rbp + 0x470], rcx
xor eax, eax
mov dword [rbp + 0x158], eax
mov qword [rbp + 0x218], rax
mov dword [rbp + 0x40], eax
mov dword [rbp + 0x154], eax
mov dword [rbp + 0xf8], eax
mov qword [rbp + 0x120], rax
mov dword [rbp + 0x78], eax
lea esi, [rax + 1]
xor eax, eax
lock cmpxchg dword [0x14010beac], esi
jne 0x1400a2959
mov r15d, 0x338
or r14, 0xffffffffffffffff
mov eax, dword [0x14010bea8]
test eax, eax
jne 0x1400a2f2e
xor eax, eax
mov dword [rsp + 0x68], eax
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x278], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
xor eax, eax
test rsi, rsi
je 0x1400a2ea6
mov r13d, eax
or ebx, 0xffffffff
mov edx, eax
mov dword [rbp], eax
mov r11d, eax
mov dword [rbp + 0x2c], eax
lea r15, [rsi + 7]
lea r12, [0x1400ea212]
lea ecx, [rax + 1]
lea r14d, [rax + 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, 0xab69
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov edx, r8d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov eax, r8d
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
xor eax, 0xab69
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, 0xab69
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 edi, eax
lea eax, [rdi - 0x54969fa2]
rol eax, 3
mov edx, edi
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 edi, eax
mov eax, edi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, edi
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, r13d
xor edi, edx
mov dword [rbp + 0x2c], edi
xor r8d, ebx
mov dword [rbp], r8d
mov byte [r15 - 4], dil
ror dword [rbp + 0x2c], 8
mov al, byte [rbp]
mov byte [r15], al
ror dword [rbp], 8
mov al, byte [rbp + 0x2c]
mov byte [r15 - 5], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp]
mov byte [r15 - 1], al
ror dword [rbp], 8
mov al, byte [rbp + 0x2c]
mov byte [r15 - 6], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp]
mov byte [r15 - 2], al
ror dword [rbp], 8
mov al, byte [rbp + 0x2c]
mov byte [r15 - 7], al
mov al, byte [rbp]
mov byte [r15 - 3], al
mov r11d, dword [rbp + 0x2c]
ror r11d, 8
mov dword [rbp + 0x2c], r11d
mov edx, dword [rbp]
ror edx, 8
mov dword [rbp], edx
mov r13d, r10d
mov ebx, r9d
lea r15, [r15 + 8]
sub r14, rcx
jne 0x1400a29d6
xor eax, eax
mov cl, al
or r14, 0xffffffffffffffff
mov ebx, eax
mov r13d, eax
lea edx, [rax + 1]
mov r15d, 0x338
xor cl, byte [rax + rsi]
add rax, rdx
cmp rax, r15
jb 0x1400a2d0d
movzx eax, cl
cmp rax, qword [0x1400ea548]
je 0x1400a2d2b
mov edi, 0xc004d501
jmp 0x1400a2d3f
mov qword [rbp + 0x180], rsi
xor eax, eax
mov esi, eax
mov qword [rbp + 0x278], r15
mov edi, eax
test rsi, rsi
je 0x1400a2d58
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x1400a2ea6
mov rdi, qword [rbp + 0x180]
mov rax, qword [rbp + 0x278]
xor ecx, ecx
mov byte [rax + rdi - 1], cl
xor edx, edx
lea r8d, [rcx + 0x60]
lea rsi, [0x14010a7b0]
mov rcx, rsi
call sub.msvcrt.dll_memset
xor eax, eax
cmp byte [rdi], al
je 0x1400a2eab
jmp 0x1400a2d9c
lea rsi, [0x14010a7b0]
mov rdx, rdi
mov rax, r14
xor ebx, ebx
inc rax
cmp word [rdi + rax*2], bx
jne 0x1400a2da4
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
mov r8, rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400a2ea6
mov rax, qword [rsi]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400a2de3
mov ebx, 0xc000007b
jmp 0x1400a2e2d
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400a2ddc
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x1400a2ddc
cmp dword [rcx], 0x4550
jne 0x1400a2ddc
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400a2e1c
mov ebx, 0xc000000d
jmp 0x1400a2e2d
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov r12d, dword [rdi + 2]
add rdi, 6
xor eax, eax
mov r15d, eax
test r12d, r12d
je 0x1400a2e94
mov rdx, rdi
mov rax, r14
xor ecx, ecx
inc rax
cmp byte [rdi + rax], cl
jne 0x1400a2e47
inc rax
add rdi, rax
test ebx, ebx
js 0x1400a2e7b
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rax
test rax, rax
je 0x1400a2eab
mov eax, dword [rsp + 0x68]
lea r8, [0x140106020]
mov qword [r8 + rax*8], rdx
jmp 0x1400a2e7f
mov eax, dword [rsp + 0x68]
mov ecx, 1
add eax, ecx
mov dword [rsp + 0x68], eax
add r15d, ecx
cmp r15d, r12d
jb 0x1400a2e3f
xor eax, eax
mov esi, 1
add r13d, esi
cmp byte [rdi], al
jne 0x1400a2d95
jmp 0x1400a2eb0
mov ebx, 0xc000007a
xor eax, eax
lea esi, [rax + 1]
cmp qword [rbp + 0x180], rax
je 0x1400a2ed3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x180]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test ebx, ebx
jns 0x1400a2f28
lea r15, [0x14010a7b0]
mov rdi, r15
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a2ef6
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
add rdi, 0x18
sub rbx, rsi
jne 0x1400a2ee6
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x1400a2f36
mov eax, dword [0x14010bea8]
add eax, esi
mov dword [0x14010bea8], eax
xor eax, eax
xchg dword [0x14010beac], eax
xor eax, eax
mov qword [rbp + 0x228], rax
mov qword [rbp + 0x220], rax
mov esi, eax
mov ebx, eax
mov rax, qword gs:[0x60]
mov edi, 0x80004005
mov r12d, 0x80070000
xor r13d, r13d
cmp dword [rax + 0x2c0], r13d
je 0x1400a31fe
mov rax, qword [0x140106130]
call qword [case.0x14006d218.0]
mov r15, rax
xor eax, eax
test r15, r15
jne 0x1400a2fad
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a3201
mov ebx, edi
jmp 0x1400a3201
mov qword [rbp + 0xb8], rax
mov r9d, eax
mov rdi, rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r15
mov rax, qword [0x140106150]
call qword [case.0x14006d218.0]
test eax, eax
jne 0x1400a305a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400a3044
cmp qword [rbp + 0xb8], r13
jne 0x1400a303b
mov edi, dword [rbp + 0x150]
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 + 0xb8]
call fcn.1400cbba8
test rdi, rdi
je 0x1400a3034
mov qword [rbp + 0xb8], rdi
mov r9d, dword [rbp + 0x150]
jmp 0x1400a2fba
mov ebx, 0x8007000e
jmp 0x1400a3068
mov edi, 0x80004005
mov ebx, edi
jmp 0x1400a3074
mov edi, 0x80004005
test eax, eax
je 0x1400a3040
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x1400a3074
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x228], rax
mov edi, 0x80004005
mov qword [rbp + 0xb8], r13
lea rcx, [rbp + 0xb8]
call fcn.1400cbba8
test ebx, ebx
js 0x1400a3201
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x140106148]
call qword [case.0x14006d218.0]
mov r15, rax
test rax, rax
je 0x1400a2f8d
mov qword [rbp + 0xc0], r13
mov ebx, r13d
mov r9d, r13d
mov rdi, r13
lea rax, [rbp + 0x140]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r15
mov rax, qword [0x140106150]
call qword [case.0x14006d218.0]
test eax, eax
jne 0x1400a3159
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400a3143
cmp qword [rbp + 0xc0], r13
jne 0x1400a313a
mov edi, dword [rbp + 0x140]
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 + 0xc0]
call fcn.1400cbba8
test rdi, rdi
je 0x1400a3133
mov qword [rbp + 0xc0], rdi
mov r9d, dword [rbp + 0x140]
jmp 0x1400a30b9
mov ebx, 0x8007000e
jmp 0x1400a3167
mov edi, 0x80004005
mov ebx, edi
jmp 0x1400a3173
mov edi, 0x80004005
test eax, eax
je 0x1400a313f
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x1400a3173
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x220], rax
mov edi, 0x80004005
mov qword [rbp + 0xc0], r13
lea rcx, [rbp + 0xc0]
call fcn.1400cbba8
test ebx, ebx
js 0x1400a3201
mov rcx, qword [rbp + 0x228]
test rcx, rcx
je 0x1400a31fe
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1400a31fe
mov rcx, qword [rbp + 0x220]
test rcx, rcx
je 0x1400a31fe
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1400a31fe
xor eax, eax
mov dword [rbp + 0x144], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov r9d, 4
lea r8, [rbp + 0x144]
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
test eax, eax
je 0x1400a2f8d
mov eax, reloc.OLEAUT32.dll_SafeArrayDestroy
test byte [rbp + 0x144], al
mov eax, 1
cmove esi, eax
mov dword [rbp + 0x78], esi
lea rcx, [rbp + 0x220]
call fcn.1400cbba8
lea rcx, [rbp + 0x228]
call fcn.1400cbba8
mov eax, dword [rbp + 0x78]
test ebx, ebx
cmovs eax, r13d
mov dword [rbp + 0x78], eax
mov dword [rbp + 0xf8], r13d
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x120]
call fcn.1400cbb84
test rdi, rdi
jne 0x1400a3313
mov qword [rbp + 0x120], r13
mov esi, 0x8007000e
mov ebx, dword [rbp + 0xfc]
mov r15d, 1
xor eax, eax
lock cmpxchg dword [0x14010beac], r15d
jne 0x1400a326e
mov eax, dword [0x14010bea8]
test eax, eax
jle 0x1400a32de
sub eax, r15d
mov dword [0x14010bea8], eax
jne 0x1400a32de
lea r12, [0x14010a7b0]
mov rdi, r12
mov r14d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a32ae
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r15
jne 0x1400a32a0
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, r13d
xchg dword [0x14010beac], eax
lea rcx, [rbp + 0x120]
call fcn.1400cbb84
test esi, esi
jns 0x1400ac7a7
cmp esi, 0xd0000034
jne 0x1400ac766
mov esi, 0xc004f012
mov ebx, esi
jmp 0x1400ac7a2
mov qword [rbp + 0x120], rdi
mov rbx, r13
mov r15, r13
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov dword [rbp + 0x174], r13d
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rax
mov dword [rbp + 0xb0], r13d
lea rax, [0x140109470]
mov qword [rbp + 0x360], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x280], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov esi, 8
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x48], rax
mov r12d, 0xc0000017
test rax, rax
jne 0x1400a3398
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x1400a362c
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x360]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov rbx, rdi
mov qword [rbp - 0x80], rbx
mov r13d, dword [rbp + 0x280]
lea rax, [0x1401093b8]
mov qword [rbp + 0x350], rax
mov qword [rbp + 0x288], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x1400a33fe
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x1400a3629
mov r8, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x350]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov r15, rdi
mov qword [rsp + 0x70], rdi
mov rdi, qword [rbp + 0x288]
mov qword [rbp - 0x28], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x248], rax
mov ecx, esi
mov dword [rbp + 0x7c], ecx
lea ebx, [r13 + 4]
or r8d, 0xffffffff
mov eax, r8d
cmp ebx, 4
cmovae eax, ebx
sbb r12d, r12d
mov r11d, 0xc0000095
and r12d, r11d
mov esi, r12d
mov dword [rsp + 0x60], r12d
mov edx, ecx
cmp ebx, 4
jb 0x1400a3625
mov ecx, eax
mov dword [rbp + 0x7c], eax
mov edx, eax
lea eax, [rax + 8]
mov edx, r8d
cmp eax, 8
cmovae edx, eax
sbb esi, esi
and esi, r11d
mov r9d, 0x10000000
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, 8
jb 0x1400a5f1c
lea r15d, [rdi + 4]
mov eax, r8d
cmp r15d, 4
cmovae eax, r15d
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
mov dword [rbp - 0x78], esi
cmp r15d, 4
cmovae ecx, eax
mov dword [rbp + 0x7c], ecx
jb 0x1400a3620
lea eax, [rcx + rdx]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb esi, esi
and esi, r11d
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, edx
jb 0x1400a5f17
mov dword [rbp + 0x7c], SafeArrayDestroy
lea eax, [rcx + 0xc]
mov edi, r8d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, r11d
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x1400a5f17
lea r8, [rbp + 0x230]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMESecurityGroupAllowed
call fcn.1400cbbe0
test eax, eax
jns 0x1400a3535
xor r13d, r13d
mov qword [rbp + 0x230], r13
jmp 0x1400a3b94
mov rax, qword [rbp + 0x230]
inc rax
mov qword [rbp + 0x230], rax
lea ecx, [rax*2 + 4]
or r8d, 0xffffffff
mov eax, r8d
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
mov dword [rsp + 0x60], esi
mov edx, dword [rbp + 0x7c]
cmp ecx, 4
cmovae edx, eax
mov dword [rbp + 0x7c], edx
jb 0x1400a3620
lea eax, [rdx + rdi]
mov edx, r8d
cmp eax, edi
cmovae edx, eax
sbb esi, esi
and esi, r11d
mov r9d, 0x10000000
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, edi
jb 0x1400a5f17
mov dword [rbp + 0x7c], 8
lea eax, [rdx + 8]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb esi, esi
and esi, r11d
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, edx
jb 0x1400a5f17
mov dword [rbp + 0x7c], 8
lea eax, [rcx + 8]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
sbb esi, esi
and esi, r11d
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x1400a5f17
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
xor r9d, r9d
test rax, rax
jne 0x1400a3739
mov esi, 0xc0000017
mov dword [rsp + 0x60], esi
mov r15, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x80]
xor r13d, r13d
and qword [rbp - 0x68], 0
mov rdi, qword [rbp - 0x60]
test rdi, rdi
je 0x1400a3652
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], r13
and qword [rbp + 0x98], 0
mov rdi, qword [rbp + 0xa0]
test rdi, rdi
je 0x1400a3681
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 + 0xa0], r13
test rbx, rbx
je 0x1400a369a
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 0x1400a36b3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400a3262
mov eax, dword [rbp + 0x78]
test eax, eax
je 0x1400ac73a
mov qword [rbp + 0x410], r13
mov dword [0x14010a0d8], eax
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0xf10]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1400aa392
cmp eax, edi
jne 0x1400a370a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400aa392
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x70], rax
test rax, rax
jne 0x1400a5f3f
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400aa392
mov qword [rbp - 0x60], rdx
mov edi, r9d
mov dword [rbp - 0x68], r9d
mov dword [rbp + 0x1b8], r9d
add rax, 4
mov r8, r14
cmp rax, rdx
cmovae r8, rax
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a379d
mov ecx, dword [rbp - 0x64]
add rcx, rdx
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x1400a3786
mov esi, 0xc0000023
jmp 0x1400a361c
mov dword [rdx], 4
mov eax, dword [rbp + 0x1b8]
mov dword [r8], eax
mov edi, dword [rbp - 0x68]
inc edi
mov dword [rbp - 0x68], edi
test esi, esi
js 0x1400a5f06
test r13d, r13d
je 0x1400a38e0
cmp qword [rbp - 0x60], r9
jne 0x1400a3813
or eax, 0xffffffff
cmp ebx, 4
cmovae eax, ebx
mov esi, r12d
mov dword [rsp + 0x60], r12d
mov edx, dword [rbp + 0x100]
cmovae edx, eax
mov dword [rbp + 0x100], edx
jb 0x1400a38e9
mov ecx, dword [rbp - 0x64]
lea eax, [rcx + rdx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
mov dword [rbp - 0x64], r8d
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
mov r12d, 1
cmp eax, ecx
jb 0x1400a38f3
add edi, r12d
mov dword [rbp - 0x68], edi
xor r13d, r13d
jmp 0x1400a3904
mov r8, qword [rbp - 0x60]
mov r10d, r9d
mov r12d, 1
test edi, edi
je 0x1400a3890
mov r9d, dword [rbp + 0x100]
mov ebx, r11d
mov r11, r8
mov ecx, dword [r8]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, ebx
mov dword [rsp + 0x60], esi
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x100], r9d
jb 0x1400a38e9
mov edx, r9d
mov rcx, r8
add rdx, r8
mov rax, r14
cmp rdx, r8
cmovae rax, rdx
mov r8, rax
cmp rdx, rcx
sbb esi, esi
and esi, ebx
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x1400a38e9
add r10d, r12d
cmp r10d, edi
jb 0x1400a382e
mov r11d, 0xc0000095
lea rax, [r8 + 4]
mov r9, r14
cmp rax, r8
cmovae r9, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, r8
jb 0x1400a38e9
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [r13 + 4]
add rax, r8
cmp rax, rcx
ja 0x1400a377c
mov dword [r8], r13d
mov r8, r13
mov rdx, qword [rbp + 0x48]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp - 0x68]
add edi, r12d
mov dword [rbp - 0x68], edi
jmp 0x1400a38ef
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r12d, 1
mov r8d, dword [rbp - 0x64]
xor r13d, r13d
test esi, esi
js 0x1400a5f09
mov r11d, 0xc0000095
mov rbx, qword [rbp - 0x28]
test ebx, ebx
je 0x1400a3aa5
cmp qword [rbp - 0x60], r13
jne 0x1400a397c
or eax, 0xffffffff
cmp r15d, 4
cmovae eax, r15d
mov esi, dword [rbp - 0x78]
mov dword [rsp + 0x60], esi
mov edx, dword [rbp + 0x104]
cmovae edx, eax
mov dword [rbp + 0x104], edx
jb 0x1400a3a52
mov ecx, r8d
lea eax, [r8 + rdx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
mov dword [rbp - 0x64], r8d
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x1400a3a52
add edi, r12d
mov dword [rbp - 0x68], edi
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x290], rax
jmp 0x1400a3a6e
mov r9, qword [rbp - 0x60]
mov r11d, r13d
test edi, edi
je 0x1400a39f2
mov r10d, dword [rbp + 0x104]
mov r15, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, 0xc0000095
mov dword [rsp + 0x60], esi
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp + 0x104], r10d
jb 0x1400a3a4c
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r14
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb esi, esi
and esi, 0xc0000095
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x1400a3a4c
add r11d, r12d
cmp r11d, edi
jb 0x1400a398e
lea rax, [r9 + 4]
mov r10, r14
cmp rax, r9
cmovae r10, rax
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, r9
jb 0x1400a3a52
mov edx, ebx
mov ecx, r8d
add rcx, qword [rbp - 0x60]
lea rax, [rdx + 4]
add rax, r9
cmp rax, rcx
ja 0x1400a5e91
mov dword [r9], ebx
mov r8d, edx
mov rdx, qword [rbp - 0x38]
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]
mov r11d, 0xc0000095
test esi, esi
js 0x1400a5f09
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x290], rax
cmp qword [rbp - 0x60], r13
jne 0x1400a3ab0
mov dword [rbp + 0x15c], SafeArrayDestroy
lea ecx, [r8 + 0xc]
or eax, 0xffffffff
cmp ecx, r8d
cmovae eax, ecx
mov dword [rbp - 0x64], eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp ecx, r8d
jb 0x1400a3b69
add edi, r12d
mov dword [rbp - 0x68], edi
jmp 0x1400a3b71
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400a3a52
mov r9, qword [rbp - 0x60]
mov r11d, r13d
mov r15d, 0xc0000095
test edi, edi
je 0x1400a3b22
mov r10d, dword [rbp + 0x15c]
mov rbx, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp + 0x15c], r10d
jb 0x1400a3b69
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r14
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x1400a3b69
add r11d, r12d
cmp r11d, edi
jb 0x1400a3ac8
lea rax, [r9 + 4]
mov rdx, r14
cmp rax, r9
cmovae rdx, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, r9
jb 0x1400a3b69
mov ecx, r8d
add rcx, qword [rbp - 0x60]
lea rax, [r9 + 0xc]
cmp rax, rcx
ja 0x1400a5e91
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x290]
movsd qword [rdx], xmm0
add dword [rbp - 0x68], r12d
test esi, esi
js 0x1400a5f09
lea r8, [rbp + 0x238]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMESecurityGroupAllowed
call fcn.1400cbbe0
test eax, eax
jns 0x1400a3b9e
mov qword [rbp + 0x238], r13
mov esi, 0xc000003e
jmp 0x1400a5e96
mov rcx, qword [rbp + 0x238]
lea rax, [rcx + 1]
mov rdx, r14
cmp rax, rcx
cmovae rdx, rax
mov qword [rbp + 0x238], rdx
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rcx
jb 0x1400a3d1f
lea r9d, [rdx + rdx]
test r9d, r9d
je 0x1400a3d10
cmp qword [rbp - 0x60], r13
jne 0x1400a3c46
lea ecx, [r9 + 4]
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
mov edi, dword [rbp + 0x108]
cmp ecx, 4
cmovae edi, eax
mov dword [rbp + 0x108], edi
jb 0x1400a3d19
mov edx, dword [rbp - 0x64]
lea ecx, [rdi + rdx]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp - 0x64], eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp ecx, edx
jb 0x1400a3d19
add dword [rbp - 0x68], r12d
mov esi, r13d
mov dword [rsp + 0x60], r13d
jmp 0x1400a3d19
mov rdi, qword [rbp - 0x60]
mov r10d, r13d
cmp dword [rbp - 0x68], r13d
jbe 0x1400a3cbf
mov r8d, dword [rbp + 0x108]
mov ebx, r11d
mov r11, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, ebx
mov dword [rsp + 0x60], esi
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x108], r8d
jb 0x1400a3d19
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r14
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb esi, esi
and esi, ebx
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x1400a3d19
add r10d, r12d
cmp r10d, dword [rbp - 0x68]
jb 0x1400a3c5d
mov r11d, 0xc0000095
lea rax, [rdi + 4]
mov r10, r14
cmp rax, rdi
cmovae r10, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x1400a3d19
mov r8d, r9d
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [r9 + 4]
add rax, rdi
cmp rax, rcx
jbe 0x1400a3cf8
mov esi, 0xc0000023
jmp 0x1400a3d15
mov dword [rdi], r9d
lea rdx, str.WMPPlayer_RMESecurityGroupAllowed
mov rcx, r10
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x68], r12d
jmp 0x1400a3d19
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r11d, 0xc0000095
test esi, esi
js 0x1400a5f09
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x1c0], eax
cmp qword [rbp - 0x60], r13
jne 0x1400a3d75
mov dword [rbp + 0x160], 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 esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp ecx, edx
jb 0x1400a3e25
add dword [rbp - 0x68], r12d
mov dword [rbp + 0x168], 4
jmp 0x1400a3e3d
mov rdi, qword [rbp - 0x60]
mov r9d, r13d
cmp dword [rbp - 0x68], r13d
jbe 0x1400a3de3
mov r8d, dword [rbp + 0x160]
mov r10, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x160], r8d
jb 0x1400a3e25
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r14
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x1400a3e25
add r9d, r12d
cmp r9d, dword [rbp - 0x68]
jb 0x1400a3d89
lea rax, [rdi + 4]
mov rdx, r14
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x1400a3e25
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [rdi + 8]
cmp rax, rcx
ja 0x1400a5e91
mov dword [rdi], 4
mov eax, dword [rbp + 0x1c0]
mov dword [rdx], eax
add dword [rbp - 0x68], r12d
test esi, esi
js 0x1400a5f09
mov dword [rbp + 0x168], 4
cmp qword [rbp - 0x60], r13
jne 0x1400a3e72
mov dword [rbp + 0x164], 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 esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp ecx, edx
jb 0x1400a3f22
add dword [rbp - 0x68], r12d
jmp 0x1400a3f2a
mov rdi, qword [rbp - 0x60]
mov r9d, r13d
cmp dword [rbp - 0x68], r13d
jbe 0x1400a3ee0
mov r8d, dword [rbp + 0x164]
mov r10, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x164], r8d
jb 0x1400a3f22
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r14
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x1400a3f22
add r9d, r12d
cmp r9d, dword [rbp - 0x68]
jb 0x1400a3e86
lea rax, [rdi + 4]
mov rdx, r14
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x1400a3f22
mov ecx, dword [rbp - 0x64]
add rcx, qword [rbp - 0x60]
lea rax, [rdi + 8]
cmp rax, rcx
ja 0x1400a5e91
mov dword [rdi], 4
mov eax, dword [rbp + 0x168]
mov dword [rdx], eax
add dword [rbp - 0x68], r12d
test esi, esi
js 0x1400a5f09
mov dword [rbp + 0x338], 8
mov qword [rbp + 0x70], r13
xor ebx, ebx
mov r15d, ebx
mov qword [rbp + 0x188], rbx
mov qword [rbp - 0x48], rbx
mov r12d, ebx
mov dword [rsp + 0x6c], ebx
mov qword [rbp + 0x38], rbx
mov dword [rbp + 0x6c], ebx
mov qword [rbp - 0x70], rbx
mov qword [rbp + 0x58], rbx
mov dword [rbp + 0xd8], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x298], rax
mov eax, dword [rbp - 0x64]
add eax, 8
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
mov dword [rbp + 0x10c], ecx
sbb esi, esi
and esi, r11d
cmp eax, 8
jb 0x1400a4069
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x1400a3fac
mov esi, r11d
jmp 0x1400a4069
mov dword [rbp + 0x10c], 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 0x1400a3fdd
mov esi, 0xc0000017
jmp 0x1400a4069
mov eax, dword [rbp - 0x68]
mov dword [rdi], eax
lea rax, [rdi + 4]
mov rcx, r14
cmp rax, rdi
cmovae rcx, rax
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
cmp rax, rdi
jb 0x1400a4050
mov eax, dword [rbp - 0x64]
mov dword [rcx], eax
lea rax, [rcx + 4]
mov r9, r14
cmp rax, rcx
cmovae r9, rax
sbb esi, esi
and esi, r11d
cmp rax, rcx
jb 0x1400a4050
mov ecx, dword [rbp + 0x10c]
mov rax, qword [rbp + 0x298]
mov qword [rcx + rdi - 8], rax
mov r8d, dword [rbp - 0x64]
mov rdx, qword [rbp - 0x60]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r13, rdi
mov qword [rbp + 0x70], rdi
mov rdi, rbx
mov r15d, dword [rbp + 0x10c]
test rdi, rdi
je 0x1400a4069
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a5a4b
mov qword [rbp + 0x370], rbx
mov qword [rbp + 0x378], rbx
mov qword [rbp + 0x380], rbx
mov qword [rbp + 0x388], rbx
mov qword [rbp + 0x240], rbx
mov qword [rbp + 0x368], rbx
mov qword [rbp + 0x48], rbx
test r13, r13
jne 0x1400a40b6
mov esi, 0xc000000d
jmp 0x1400a4827
mov esi, r15d
mov qword [rbp - 0x28], rsi
xor r15d, r15d
test rsi, rsi
je 0x1400a4777
lea rdi, [rsi + 8]
mov qword [rbp + 0x30], 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 0x1400a4777
mov dl, r15b
mov byte [rsp + 0x64], dl
mov ecx, r15d
test rsi, rsi
je 0x1400a4118
lea eax, [r15 + 1]
xor dl, byte [rcx + r13]
add rcx, rax
cmp rcx, rsi
jb 0x1400a4108
mov byte [rsp + 0x64], dl
movabs rax, 0xc81ecb17b1b54a58
mov qword [rbp + 0x938], rax
mov rdi, r13
mov r8, r12
mov r10d, r15d
mov dword [rbp - 0x20], r15d
or r11d, 0xffffffff
mov dword [rbp - 0x50], r11d
mov r13d, r15d
mov dword [rsp + 0x68], r15d
mov rax, rsi
and eax, 7
je 0x1400a422b
mov r11d, r15d
mov dword [rsp + 0x68], r15d
test eax, eax
je 0x1400a419b
mov r9d, 0x38
lea r15, [rdi + 1]
movzx edi, byte [rdi]
cmp r10d, 4
jge 0x1400a417c
lea ecx, [r9 - 0x20]
shl edi, cl
or r11d, edi
jmp 0x1400a4184
mov ecx, r9d
shl edi, cl
or r13d, edi
inc r10d
sub r9d, 8
mov rdi, r15
cmp r10d, eax
jl 0x1400a4164
mov dword [rsp + 0x68], r11d
xor r15d, r15d
mov r10d, r11d
xor r10d, 0xb17a307a
mov dword [rbp - 0x20], r10d
mov r11d, r13d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x50], r11d
mov ecx, r15d
test eax, eax
jle 0x1400a41f2
mov r15d, 1
lea r9, [r8 + 1]
cmp ecx, 4
jge 0x1400a41d6
rol r10d, 8
mov byte [r8], r10b
jmp 0x1400a41dd
rol r11d, 8
mov byte [r8], r11b
add ecx, r15d
mov r8, r9
cmp ecx, eax
jl 0x1400a41c4
mov r10d, dword [rbp - 0x20]
mov r11d, dword [rbp - 0x50]
xor r15d, r15d
add eax, 0xfffffffc
test eax, eax
jle 0x1400a420f
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x50], r11d
jmp 0x1400a422b
mov r11d, r15d
mov dword [rbp - 0x50], r15d
test eax, eax
jns 0x1400a422b
neg eax
shl eax, 3
mov ecx, eax
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0x20], r10d
mov r15, rsi
shr r15, 3
test r15, r15
je 0x1400a4578
mov ecx, dword [rbp + 0x93c]
mov edx, ecx
shr edx, 0x10
movzx ebx, cx
lea r12, [r8 + 7]
lea rsi, [rdi + 2]
mov r14d, dword [rsp + 0x68]
movzx edi, word [rbp + 0x93a]
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
xor ecx, r10d
ror ecx, 0xf
mov eax, r10d
ror eax, 7
imul ecx, edi
add eax, ecx
xor r11d, eax
lea ecx, [r11 - 0x4e4ab5a8]
ror ecx, 9
mov eax, r11d
ror eax, 0xa
imul ecx, ebx
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
xor ecx, r10d
rol ecx, 4
mov eax, r10d
rol eax, 5
imul ecx, edx
add eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, dword [rbp + 0x93c]
sub eax, ecx
xor r10d, eax
lea ecx, [r10 - 0x4a58]
imul ecx, edi
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, ebx
imul eax, eax, 0x4a58
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
add eax, edx
imul eax, ebx
xor r11d, eax
mov eax, r11d
sub eax, dword [rbp + 0x93c]
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 ecx, r11d
xor ecx, 0x4a58
rol ecx, 6
mov eax, r11d
ror eax, 3
imul ecx, ebx
xor eax, ecx
xor r10d, eax
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, ebx
rol eax, 3
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, ebx
imul ecx, edi
mov eax, r10d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 9
mov eax, r11d
ror eax, 0xb
imul ecx, ebx
xor eax, ecx
xor r10d, eax
mov eax, r10d
sub eax, edx
add eax, 0x4e4ab5a8
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
movzx ecx, word [rbp + 0x93a]
xor eax, ecx
imul ecx, eax, 0x4a58
sub ecx, edi
xor r10d, ecx
mov ecx, r10d
xor ecx, edx
rol ecx, 4
mov eax, r10d
ror eax, 0x10
movzx edi, word [rbp + 0x93a]
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 0xa
mov eax, r11d
ror eax, 4
imul ecx, ebx
add eax, ecx
xor r10d, eax
lea ecx, [r10 + 0x4e4ab5a8]
ror ecx, 4
mov eax, r10d
ror eax, 9
imul ecx, edx
xor eax, ecx
xor r11d, eax
mov eax, dword [rbp + 0x93c]
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 + 0x93c]
sub edi, r10d
ror edi, 0xb
mov ecx, r10d
ror ecx, 0xc
movzx eax, word [rbp + 0x93a]
imul eax, edi
sub eax, ecx
xor r11d, eax
movzx edi, word [rbp + 0x93a]
mov ecx, edi
xor ecx, r11d
imul ecx, ebx
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor r10d, r14d
mov dword [rbp - 0x20], r10d
xor eax, r11d
mov ecx, dword [rbp + 0x93c]
xor eax, ecx
xor eax, r13d
xor eax, 0xb1b54a58
mov dword [rbp - 0x50], eax
mov byte [r12 - 4], r10b
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x50]
mov byte [r12], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x20]
mov byte [r12 - 5], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x50]
mov byte [r12 - 1], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x20]
mov byte [r12 - 6], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x50]
mov byte [r12 - 2], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x20]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x50]
mov byte [r12 - 3], al
mov r10d, dword [rbp - 0x20]
ror r10d, 8
mov dword [rbp - 0x20], r10d
mov r11d, dword [rbp - 0x50]
ror r11d, 8
mov dword [rbp - 0x50], r11d
mov r14d, r9d
mov r13d, r8d
lea r12, [r12 + 8]
sub r15, 1
jne 0x1400a425d
mov dl, byte [rsp + 0x64]
or r14, 0xffffffffffffffff
mov rbx, qword [rbp + 0x48]
mov rsi, qword [rbp - 0x28]
mov r12, qword [rbp - 0x38]
movzx eax, dl
mov qword [r12 + rsi], rax
mov qword [rbp + 0x240], r12
mov rsi, qword [rbp + 0x30]
mov qword [rbp + 0x368], rsi
lea rax, [0x140109460]
mov qword [rbp + 0x370], rax
mov edi, 8
mov qword [rbp + 0x378], rdi
lea r15, [0x1401093c0]
mov qword [rbp + 0x380], r15
mov qword [rbp + 0x388], RegisterTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [rdi + 0x28]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
xor r13d, r13d
test rax, rax
jne 0x1400a45ee
mov esi, 0xc0000017
jmp 0x1400a4767
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400a4618
mov esi, 0xc0000017
jmp 0x1400a46eb
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, RegisterTypeLib
mov dword [rdi + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov esi, 8
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400a460e
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, [rsi + 0x78]
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], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400a460e
mov qword [rdi + 0x28], rax
mov esi, r13d
movsd xmm0, qword [0x140109460]
movsd qword [rax], xmm0
mov rbx, rdi
mov rdi, r13
test rdi, rdi
je 0x1400a4767
mov r15, qword [rdi + 8]
test r15, r15
je 0x1400a4711
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], r13
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400a4732
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], r13
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x1400a4753
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], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400a477f
mov qword [rbp + 0x188], rbx
mov rbx, r13
jmp 0x1400a477f
mov esi, 0xc0000001
xor r13d, r13d
mov rdi, qword [rbp + 0x240]
test rdi, rdi
je 0x1400a47a6
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 + 0x240], r13
test rbx, rbx
je 0x1400a4822
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400a47cc
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], r13
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400a47ed
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], r13
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400a480e
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], r13
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 + 0x6c]
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a4c15
mov rbx, qword [rbp + 0x188]
mov r8d, dword [rbx + 0x20]
mov edi, dword [rbx + 0x10]
mov eax, dword [rbx]
add eax, 4
or r15d, 0xffffffff
mov ecx, r15d
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
cmp eax, 4
jb 0x1400a48c7
lea eax, [rcx + 4]
mov edx, r15d
cmp eax, ecx
cmovae edx, eax
sbb esi, esi
and esi, r11d
cmp eax, ecx
jb 0x1400a48c7
lea eax, [rdx + rdi]
mov ecx, r15d
cmp eax, edx
cmovae ecx, eax
sbb esi, esi
and esi, r11d
cmp eax, edx
jb 0x1400a48c7
lea eax, [rcx + 4]
mov edx, r15d
cmp eax, ecx
cmovae edx, eax
sbb esi, esi
and esi, r11d
cmp eax, ecx
jb 0x1400a48c7
lea ecx, [rdx + r8]
mov eax, r15d
cmp ecx, edx
cmovae eax, ecx
sbb esi, esi
and esi, r11d
mov edi, dword [rbp + 0xc8]
cmp ecx, edx
cmovae edi, eax
mov dword [rbp + 0xc8], edi
jmp 0x1400a48cd
mov edi, dword [rbp + 0xc8]
test esi, esi
js 0x1400a4a1d
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
mov r11d, 0xc0000095
test rax, rax
jne 0x1400a4903
lea esi, [r11 - 0x7e]
jmp 0x1400a4a1d
mov eax, dword [rbx]
mov dword [rdi], eax
lea rax, [rdi + 4]
mov r15, r14
cmp rax, rdi
cmovae r15, rax
sbb esi, esi
and esi, r11d
cmp rax, rdi
jb 0x1400a49fa
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
add rcx, r15
mov rdx, r14
cmp rcx, r15
cmovae rdx, rcx
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
cmp rcx, r15
jb 0x1400a49fa
mov eax, dword [rbx + 0x10]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r15, r14
cmp rax, rdx
cmovae r15, rax
sbb esi, esi
and esi, r11d
cmp rax, rdx
jb 0x1400a49fa
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
mov rdx, r14
cmp rcx, r15
cmovae rdx, rcx
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
cmp rcx, r15
jb 0x1400a49fa
mov eax, dword [rbx + 0x20]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r15, r14
cmp rax, rdx
cmovae r15, rax
sbb esi, esi
and esi, r11d
cmp rax, rdx
jb 0x1400a49fa
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 esi, esi
mov r11d, 0xc0000095
and esi, r11d
cmp rcx, r15
jb 0x1400a49fa
mov qword [rbp - 0x48], rdi
mov rdi, r13
mov r12d, dword [rbp + 0xc8]
test rdi, rdi
je 0x1400a4a19
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r11d, 0xc0000095
or r15d, 0xffffffff
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a4c15
mov qword [rbp + 0x390], r13
mov r8d, r13d
mov dword [rbp + 0x1c8], r13d
mov qword [rbp + 0x398], r13
mov r10d, r13d
mov dword [rbp + 0x1cc], r13d
mov dword [rbp + 0x340], 0x3c
mov eax, 0x48
mov dword [rbp + 0x33c], eax
mov dword [rbp + 0xb4], eax
lea ebx, [rax - 0x47]
cmp qword [rbp - 0x60], r13
jne 0x1400a4a81
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400a4dd9
cmp dword [rbp - 0x68], ebx
jbe 0x1400a4a73
mov rdx, qword [rbp - 0x60]
mov r9d, r13d
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a4b05
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r14
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x1400a4b05
add r9d, ebx
cmp r9d, ebx
jb 0x1400a4a8d
mov edi, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r14
cmp rax, rdx
cmovae rcx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a4b05
mov r8d, edi
mov dword [rbp + 0x1c8], edi
mov rax, r13
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x390], rax
test esi, esi
js 0x1400a4c15
cmp dword [rbp - 0x68], 2
jbe 0x1400a4a73
mov rdx, qword [rbp - 0x60]
mov r9d, r13d
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a4b97
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r14
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x1400a4b97
add r9d, ebx
cmp r9d, 2
jb 0x1400a4b1e
mov edi, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r14
cmp rax, rdx
cmovae rcx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a4b97
mov r10d, edi
mov dword [rbp + 0x1cc], edi
mov rax, r13
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x398], rax
test esi, esi
js 0x1400a4c15
lea eax, [r8 + 0x50]
mov ecx, r15d
cmp eax, 0x50
cmovae ecx, eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp eax, 0x50
jb 0x1400a4bf6
lea eax, [rcx + 4]
mov edi, r15d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x1400a4bf6
lea ecx, [rdi + r10]
mov eax, r15d
cmp ecx, edi
cmovae eax, ecx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
mov edx, dword [rbp + 0x170]
cmp ecx, edi
cmovae edx, eax
mov dword [rbp + 0x170], edx
jmp 0x1400a4bfc
mov edx, dword [rbp + 0x170]
test esi, esi
js 0x1400a4c15
cmp edx, 0x400000
jbe 0x1400a4dd6
mov esi, 0x8000ffff
mov dword [rsp + 0x60], esi
mov r15, qword [rbp - 0x48]
mov r12d, 0x8007007a
mov rdi, qword [rbp + 0x70]
xor r13d, r13d
test rdi, rdi
je 0x1400a4c3f
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 + 0x188]
test rbx, rbx
je 0x1400a4cc9
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400a4c6c
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], r13
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400a4c8d
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], r13
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400a4cae
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], r13
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 + 0x188], r13
test r15, r15
je 0x1400a4ce2
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 + 0x38]
test rdi, rdi
je 0x1400a4cff
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 - 0x70]
test rbx, rbx
je 0x1400a4d7f
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400a4d29
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], r13
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400a4d4a
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], r13
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400a4d6b
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], r13
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 + 0x58]
test rdi, rdi
je 0x1400a4d9c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400a5f09
mov ebx, 1
cmp dword [rbp + 0x98], ebx
jb 0x1400a5ec0
mov r11d, 0xc0000095
cmp qword [rbp + 0xa0], r13
jne 0x1400a5a53
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400a5ac3
mov dword [rbp + 0x6c], edx
test esi, esi
js 0x1400a4c15
mov edi, dword [rbp + 0x6c]
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
mov r15, qword [rbp - 0x48]
test rax, rax
jne 0x1400a4e15
mov esi, 0xd0000017
mov dword [rsp + 0x60], esi
jmp 0x1400a4c19
mov qword [rbp + 0x38], rdi
test r15, r15
jne 0x1400a4e25
mov esi, 0x80070057
jmp 0x1400a4e0c
mov qword [rbp + 0x480], r15
mov dword [rbp + 0x490], r12d
mov qword [rbp + 0x488], rdi
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x494], eax
mov dword [rbp + 0x498], r13d
lea r8, [rbp + 0x3a0]
lea rdx, [0x1400e8408]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400a4e8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov dword [rsp + 0x60], esi
mov edx, dword [rbp + 0x6c]
test esi, esi
js 0x1400a4ed4
mov esi, 0x80004005
jmp 0x1400a4ed0
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400a4e64
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x480]
lea ecx, [r8 + 0x66]
call qword [case.0x14006d218.0]
mov esi, eax
or esi, 0x10000000
mov edx, dword [rbp + 0x6c]
cmovge edx, dword [rbp + 0x494]
mov dword [rbp + 0x6c], edx
mov dword [rsp + 0x60], esi
cmp esi, 0xd0000023
jne 0x1400a4eef
mov r12d, 0x8007007a
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x1400a4c1f
test esi, esi
js 0x1400a4c19
mov qword [rbp + 0xa8], r13
cmp edx, 4
jae 0x1400a4f0a
mov esi, 0xc000003e
jmp 0x1400a4f3b
mov r13d, dword [rdi]
lea rax, [rdi + 4]
mov rbx, r14
cmp rax, rdi
cmovae rbx, rax
sbb esi, esi
mov r10d, 0xc0000095
and esi, r10d
cmp rax, rdi
jb 0x1400a4f38
lea eax, [rdx - 4]
cmp eax, r13d
jae 0x1400a4f73
mov esi, 0xc000003e
xor r13d, r13d
mov r15, qword [rbp - 0x70]
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a4c15
mov rdi, r13
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x2a0], r13
test r15, r15
jne 0x1400a52f7
mov esi, 0xd000000d
jmp 0x1400a4c11
lea rcx, [rbx + r13]
mov rdi, r14
cmp rcx, rbx
cmovae rdi, rcx
sbb esi, esi
and esi, r10d
cmp rcx, rbx
jb 0x1400a4f38
lea eax, [r13 + 4]
or r11d, 0xffffffff
mov ecx, r11d
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r10d
cmp eax, 4
jb 0x1400a4f38
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x1400a4f33
mov r12d, dword [rdi]
lea rax, [rdi + 4]
mov r15, r14
cmp rax, rdi
cmovae r15, rax
sbb esi, esi
and esi, r10d
cmp rax, rdi
jb 0x1400a4f38
lea eax, [rcx + 4]
mov r8d, r11d
cmp eax, ecx
cmovae r8d, eax
sbb esi, esi
and esi, r10d
cmp eax, ecx
jb 0x1400a4f38
mov eax, edx
sub eax, r8d
cmp eax, r12d
jb 0x1400a4f33
lea rcx, [r15 + r12]
mov r9, r14
cmp rcx, r15
cmovae r9, rcx
sbb esi, esi
and esi, r10d
cmp rcx, r15
jb 0x1400a4f38
lea eax, [r8 + r12]
mov edi, r11d
cmp eax, r8d
cmovae edi, eax
sbb esi, esi
and esi, r10d
cmp eax, r8d
jb 0x1400a4f38
mov eax, edx
sub eax, edi
cmp eax, 4
jb 0x1400a4f33
mov r8d, dword [r9]
mov dword [rbp - 0x78], r8d
lea rax, [r9 + 4]
mov rcx, r14
cmp rax, r9
cmovae rcx, rax
mov qword [rbp + 0x48], rcx
sbb esi, esi
and esi, r10d
cmp rax, r9
jb 0x1400a4f38
lea eax, [rdi + 4]
mov ecx, r11d
cmp eax, edi
cmovae ecx, eax
sbb esi, esi
and esi, r10d
cmp eax, edi
jb 0x1400a4f38
mov eax, edx
sub eax, ecx
cmp eax, r8d
jb 0x1400a4f33
lea eax, [rcx + r8]
mov edi, r11d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, r10d
cmp eax, ecx
jb 0x1400a4f38
cmp edx, edi
jne 0x1400a4f33
lea ecx, [r12 + r13]
add ecx, r8d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x1400a4f33
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 0x1400a50e9
mov esi, 0xc0000017
xor r13d, r13d
jmp 0x1400a5252
test rbx, rbx
je 0x1400a5131
mov dword [rdi], r13d
mov rsi, r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r13d, r13d
test rax, rax
jne 0x1400a511d
mov esi, 0xc0000017
jmp 0x1400a51d6
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400a513b
xor r13d, r13d
mov dword [rdi], r13d
mov qword [rdi + 8], r13
test r15, r15
je 0x1400a5174
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 0x1400a5113
mov qword [rdi + 0x18], rax
mov r8, r12
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400a517c
mov dword [rdi + 0x10], r13d
mov qword [rdi + 0x18], r13
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x1400a51c1
mov eax, dword [rbp - 0x78]
mov dword [rdi + 0x20], eax
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400a5113
mov qword [rdi + 0x28], rax
mov r8d, esi
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400a51c9
mov dword [rdi + 0x20], r13d
mov qword [rdi + 0x28], r13
mov qword [rbp + 0xa8], rdi
mov rdi, r13
mov esi, r13d
test rdi, rdi
je 0x1400a5252
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1400a51fc
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], r13
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x1400a521d
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], r13
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x1400a523e
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], r13
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, r13
test esi, esi
cmovs rdi, qword [rbp + 0xa8]
mov r15, qword [rbp + 0xa8]
cmovs r15, r13
mov qword [rbp - 0x70], r15
test rdi, rdi
je 0x1400a4f3f
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1400a5298
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], r13
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x1400a52b9
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], r13
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x1400a52da
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], r13
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 - 0x70], r15
jmp 0x1400a4f3f
mov rbx, qword [r15 + 8]
mov qword [rbp - 0x38], rbx
test rbx, rbx
je 0x1400a4f69
cmp dword [r15], r13d
je 0x1400a4f69
mov esi, dword [r15]
mov dword [rbp + 0x10], r13d
test rsi, rsi
je 0x1400a5838
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x48], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1400a5831
mov dl, r13b
mov byte [rsp + 0x64], dl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x958], rax
mov r10, rbx
mov r9, r15
mov r8, rsi
and r8d, 7
je 0x1400a5448
mov dword [rbp - 0x30], r13d
or dword [rbp - 0x58], 0xffffffff
xor r12d, r12d
mov ebx, r12d
mov dword [rsp + 0x68], ebx
mov r11d, r12d
test r8d, r8d
je 0x1400a53d1
lea edi, [r12 + 0x38]
lea edx, [rdi - 0x37]
lea r12, [r10 + 1]
movzx eax, byte [r10]
cmp r11d, 4
jge 0x1400a53b1
lea ecx, [rdi - 0x20]
shl eax, cl
or ebx, eax
jmp 0x1400a53b8
mov ecx, edi
shl eax, cl
or r13d, eax
add r11d, edx
sub edi, 8
mov r10, r12
cmp r11d, r8d
jl 0x1400a539a
mov dword [rsp + 0x68], ebx
mov dl, byte [rsp + 0x64]
xor r12d, r12d
xor ebx, 0x92f65a5
mov dword [rbp - 0x30], ebx
mov edi, r13d
xor edi, 0x699a899c
mov dword [rbp - 0x58], edi
mov eax, r12d
test r8d, r8d
jle 0x1400a5415
lea rcx, [r9 + 1]
cmp eax, 4
jge 0x1400a53ff
rol ebx, 8
mov byte [r9], bl
jmp 0x1400a5405
rol edi, 8
mov byte [r9], dil
inc eax
mov r9, rcx
cmp eax, r8d
jl 0x1400a53ee
mov ebx, dword [rbp - 0x30]
mov edi, dword [rbp - 0x58]
lea eax, [r8 - 4]
test eax, eax
jle 0x1400a5430
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp - 0x58], edi
jmp 0x1400a545b
mov edi, r12d
mov dword [rbp - 0x58], r12d
test eax, eax
jns 0x1400a545b
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
jmp 0x1400a5458
mov dword [rsp + 0x68], r13d
or r13d, 0xffffffff
xor ebx, ebx
mov edi, ebx
mov dword [rbp - 0x58], ebx
mov dword [rbp - 0x30], ebx
mov r12, rsi
shr r12, 3
test r12, r12
je 0x1400a579b
mov edx, dword [rbp + 0x95c]
mov eax, edx
shr eax, 0x10
movzx r8d, dx
mov dword [rsp + 0x6c], r8d
mov dword [rsp + 0x78], eax
movzx eax, word [rbp + 0x95a]
mov dword [rbp - 0x78], eax
lea r15, [r9 + 7]
lea rsi, [r10 + 2]
mov r14d, dword [rsp + 0x68]
movzx r11d, byte [rsi - 2]
shl r11d, 8
movzx eax, byte [rsi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rsi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rsi + 1]
or r11d, eax
movzx r10d, byte [rsi + 2]
shl r10d, 8
movzx eax, byte [rsi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 5]
or r10d, eax
xor ebx, r11d
lea rsi, [rsi + 8]
mov r9d, r10d
xor r9d, edi
xor r9d, ebx
xor r9d, edx
xor r9d, 0xab69605e
lea ecx, [r9 + 0x54969fa2]
rol ecx, 5
mov edi, r9d
rol edi, 0xa
mov eax, r8d
imul eax, ecx
add edi, eax
xor ebx, edi
lea ecx, [rdx + rbx]
ror ecx, 9
mov eax, ebx
rol eax, 2
movzx edi, word [rbp + 0x95a]
imul ecx, edi
sub ecx, eax
xor r9d, ecx
mov eax, r9d
sub eax, r8d
imul ecx, eax, 0x605e
mov eax, r9d
shr eax, 0xd
sub ecx, eax
xor ebx, ecx
mov ecx, ebx
xor ecx, edi
rol ecx, 6
mov eax, ebx
rol eax, 2
mov edi, dword [rsp + 0x78]
imul ecx, edi
sub ecx, eax
xor r9d, ecx
mov ecx, r9d
xor ecx, 0xab69605e
mov eax, edx
sub eax, ecx
xor ebx, eax
mov ecx, ebx
ror ecx, 6
mov eax, r8d
xor eax, ebx
imul eax, dword [rbp - 0x78]
xor ecx, eax
xor r9d, ecx
lea eax, [rdx + r9]
ror eax, 0xf
mov ecx, r9d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor ebx, ecx
lea ecx, [rbx + 0x54969fa2]
ror ecx, 0xe
mov eax, ebx
rol eax, 8
imul ecx, edi
sub ecx, eax
xor r9d, ecx
mov ecx, r9d
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, r9d
ror eax, 0xa
imul ecx, r8d
xor eax, ecx
xor ebx, eax
mov ecx, ebx
xor ecx, edi
movzx eax, word [rbp + 0x95a]
imul ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor r9d, ecx
mov eax, r9d
not eax
ror eax, 5
add eax, 0x605e
imul eax, edi
xor ebx, eax
mov r8d, ebx
sub r8d, edi
xor r8d, r9d
xor r8d, 0xab69605e
mov ecx, r8d
xor ecx, edi
rol ecx, 2
mov r9d, dword [rsp + 0x6c]
imul ecx, r9d
mov eax, r8d
shr eax, 2
add ecx, eax
xor ebx, ecx
mov ecx, ebx
sub ecx, edx
ror ecx, 6
mov eax, ebx
rol eax, 7
movzx edi, word [rbp + 0x95a]
imul ecx, edi
add eax, ecx
xor r8d, eax
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, r9d
imul ecx, eax, 0x605e
add edi, ecx
xor ebx, edi
mov ecx, ebx
movzx eax, word [rbp + 0x95a]
xor ecx, eax
rol ecx, 5
mov eax, ebx
rol eax, 7
imul ecx, dword [rsp + 0x78]
add eax, ecx
xor r8d, eax
mov edi, r8d
xor edi, ebx
xor edi, edx
xor edi, 0xab69605e
mov eax, edi
ror eax, 3
movzx ebx, word [rbp + 0x95a]
sub eax, ebx
imul eax, r9d
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 [rsp + 0x78]
add eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x54969fa2]
rol ecx, 0xf
mov eax, r8d
ror eax, 0xe
imul ecx, r9d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0x605e
imul ecx, ebx
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, r14d
xor edi, ecx
mov dword [rbp - 0x30], edi
xor r8d, r13d
mov dword [rbp - 0x58], r8d
mov byte [r15 - 4], dil
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x58]
mov byte [r15], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 5], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x58]
mov byte [r15 - 1], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 6], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x58]
mov byte [r15 - 2], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x58]
mov byte [r15 - 3], al
mov ebx, dword [rbp - 0x30]
ror ebx, 8
mov dword [rbp - 0x30], ebx
mov edi, dword [rbp - 0x58]
ror edi, 8
mov dword [rbp - 0x58], edi
mov r14d, r11d
mov r13d, r10d
lea r15, [r15 + 8]
mov ecx, 1
sub r12, rcx
mov r8d, r9d
jne 0x1400a549a
mov dl, byte [rsp + 0x64]
or r14, 0xffffffffffffffff
mov rsi, qword [rbp + 0x48]
mov r15, qword [rbp - 0x28]
jmp 0x1400a57a0
mov ecx, 1
xor r13d, r13d
mov eax, r13d
test rsi, rsi
je 0x1400a57b7
xor dl, byte [rax + r15]
add rax, rcx
cmp rax, rsi
jb 0x1400a57ab
movzx eax, dl
mov rcx, qword [rbp - 0x38]
cmp rax, qword [rsi + rcx]
je 0x1400a57d2
mov ebx, 0xc004d501
mov rdi, qword [rbp + 0x110]
jmp 0x1400a57e9
mov rdi, r15
mov qword [rbp + 0x110], r15
mov r15, r13
mov qword [rbp + 0x2a0], rsi
mov ebx, dword [rbp + 0x10]
test r15, r15
je 0x1400a5809
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 + 0x110]
test ebx, ebx
js 0x1400a5838
mov r15, rdi
mov qword [rbp + 0x58], rdi
mov rdi, r13
mov qword [rbp + 0x110], r13
mov ecx, dword [rbp + 0x2a0]
mov dword [rbp + 0xd8], ecx
mov esi, 0x10000000
jmp 0x1400a5847
mov rdi, qword [rbp + 0x110]
mov esi, 0xd0000001
mov ecx, dword [rbp + 0xd8]
mov r15, qword [rbp + 0x58]
mov dword [rsp + 0x60], esi
test rdi, rdi
je 0x1400a5871
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 + 0x110], r13
mov ecx, dword [rbp + 0xd8]
test esi, esi
js 0x1400a4c15
cmp ecx, 4
jb 0x1400a5a3d
mov r10d, dword [r15]
mov dword [rsp + 0x6c], r10d
lea rax, [r15 + 4]
mov rdx, r14
cmp rax, r15
cmovae rdx, rax
sbb esi, esi
mov r11d, 0xc0000095
and esi, r11d
cmp rax, r15
jb 0x1400a5a42
lea eax, [rcx - 4]
cmp eax, 4
jb 0x1400a5a3d
mov ebx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
cmp rax, rdx
jb 0x1400a5a42
lea eax, [rcx - 8]
cmp eax, ebx
jb 0x1400a5a3d
lea eax, [rbx + 8]
cmp eax, 8
sbb esi, esi
and esi, r11d
cmp eax, 8
jb 0x1400a5a42
lea r9, [rbx + rdi]
mov edx, ecx
lea rax, [r15 + rdx]
cmp rax, r9
jb 0x1400a5a3d
mov rax, r15
sub rax, rbx
sub rax, rdi
add rax, rdx
cmp rax, 8
jae 0x1400a5a3d
mov r15, r13
mov esi, r13d
test rdi, rdi
je 0x1400a59cf
mov rdx, rdi
mov r8, r14
cmp r9, rdi
cmovae r8, r9
sbb esi, esi
and esi, r11d
cmp r9, rdi
jb 0x1400a5a30
cmp rdi, r8
jae 0x1400a59ca
mov r9d, dword [rbp + 0x1d0]
lea rax, [rdx + 4]
mov rcx, r14
cmp rax, rdx
cmovae rcx, rax
sbb esi, esi
and esi, r11d
cmp rax, rdx
jb 0x1400a5a30
cmp rcx, r8
ja 0x1400a59fb
mov ecx, dword [rdx]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, r11d
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x1d0], r9d
jb 0x1400a5a30
mov ecx, r9d
add rcx, rdx
mov rax, r14
cmp rcx, rdx
cmovae rax, rcx
sbb esi, esi
and esi, r11d
cmp rcx, rdx
jb 0x1400a5a30
cmp rax, r8
ja 0x1400a59fb
mov rdx, rax
inc r13d
cmp rax, r8
jb 0x1400a5954
cmp rdx, r8
jne 0x1400a59fb
test ebx, ebx
je 0x1400a5a04
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
xor eax, eax
test r15, r15
jne 0x1400a5a02
mov esi, 0xc0000017
jmp 0x1400a5a2b
mov esi, 0xc000000d
jmp 0x1400a5a42
mov esi, eax
test rdi, rdi
je 0x1400a5a17
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xa0], r15
mov dword [rbp + 0x9c], ebx
mov dword [rbp + 0x98], r13d
mov r10d, dword [rsp + 0x6c]
test esi, esi
js 0x1400a5a42
cmp r10d, dword [rbp + 0x98]
je 0x1400a5a42
mov esi, 0xc000003e
bts esi, 0x1c
jmp 0x1400a4c11
mov r15, rbx
jmp 0x1400a4c19
cmp dword [rbp + 0x98], r13d
jbe 0x1400a4dc8
mov rdi, qword [rbp + 0xa0]
mov ecx, dword [rdi]
lea rax, [rdi + 4]
mov rdx, r14
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x1400a5a9d
mov dword [rbp + 0x1d4], ecx
mov rax, r13
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x3a8], rax
jmp 0x1400a5aaa
mov ecx, dword [rbp + 0x1d4]
mov rax, qword [rbp + 0x3a8]
test esi, esi
js 0x1400a5f09
cmp ecx, 4
jne 0x1400a5e91
mov eax, dword [rax]
mov dword [rbp + 0xb0], eax
test esi, esi
js 0x1400a5f09
mov esi, dword [rbp + 0xb0]
cmp esi, 0xd0000023
cmove esi, r12d
mov dword [rsp + 0x60], esi
mov dword [rbp + 0xb0], esi
cmp esi, r12d
je 0x1400a5af2
test esi, esi
js 0x1400a5f09
cmp dword [rbp + 0x98], 6
jne 0x1400a5ec0
cmp qword [rbp + 0xa0], r13
jne 0x1400a5b16
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400a5bbf
mov rdx, qword [rbp + 0xa0]
mov r8d, r13d
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5b97
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r14
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x1400a5b97
add r8d, ebx
cmp r8d, ebx
jb 0x1400a5b20
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5b97
mov dword [rbp + 0x1d8], ecx
mov rax, r13
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3b0], rax
jmp 0x1400a5ba4
mov ecx, dword [rbp + 0x1d8]
mov rax, qword [rbp + 0x3b0]
test esi, esi
js 0x1400a5f09
cmp ecx, 8
jne 0x1400a5e91
mov rax, qword [rax]
mov qword [rbp + 0x3d8], rax
test esi, esi
js 0x1400a5f09
cmp qword [rbp + 0xa0], r13
jne 0x1400a5bde
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400a5c86
mov rdx, qword [rbp + 0xa0]
mov r8d, r13d
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5c60
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r14
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x1400a5c60
add r8d, ebx
cmp r8d, 2
jb 0x1400a5be8
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5c60
mov dword [rbp + 0x1dc], ecx
mov rax, r13
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3b8], rax
jmp 0x1400a5c6d
mov ecx, dword [rbp + 0x1dc]
mov rax, qword [rbp + 0x3b8]
test esi, esi
js 0x1400a5f09
cmp ecx, 4
jne 0x1400a5e91
mov eax, dword [rax]
mov dword [rbp + 0x1f0], eax
test esi, esi
js 0x1400a5f09
cmp qword [rbp + 0xa0], r13
jne 0x1400a5ca1
mov esi, 0xc000000d
jmp 0x1400a5e96
mov rdx, qword [rbp + 0xa0]
mov r8d, r13d
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5d26
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r14
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x1400a5d26
add r8d, ebx
cmp r8d, 3
jb 0x1400a5cab
mov r8d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r14
cmp rax, rdx
cmovae rcx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5d26
mov dword [rbp + 0x1e0], r8d
mov r9, r13
test r8d, r8d
cmovne r9, rcx
mov qword [rbp + 0x3c0], r9
jmp 0x1400a5d34
mov r8d, dword [rbp + 0x1e0]
mov r9, qword [rbp + 0x3c0]
test esi, esi
js 0x1400a5f09
mov rdx, qword [rbp + 0xa0]
mov r10d, r13d
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5dbe
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r14
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x1400a5dbe
add r10d, ebx
cmp r10d, 4
jb 0x1400a5d46
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5dbe
mov dword [rbp + 0x1e4], ecx
mov rax, r13
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3c8], rax
jmp 0x1400a5dcb
mov ecx, dword [rbp + 0x1e4]
mov rax, qword [rbp + 0x3c8]
test esi, esi
js 0x1400a5de4
cmp ecx, 4
jne 0x1400a5e91
mov r10d, dword [rax]
mov dword [rbp + 0x1e8], r10d
jmp 0x1400a5deb
mov r10d, dword [rbp + 0x1e8]
test esi, esi
js 0x1400a5f09
mov rdx, qword [rbp + 0xa0]
mov r11d, r13d
mov r15d, 0xc0000095
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5e7b
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r14
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x1400a5e7b
add r11d, ebx
cmp r11d, 5
jb 0x1400a5e03
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r14
cmp rax, rdx
cmovae rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x1400a5e7b
mov dword [rbp + 0x1ec], ecx
mov rax, r13
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3d0], rax
jmp 0x1400a5e88
mov ecx, dword [rbp + 0x1ec]
mov rax, qword [rbp + 0x3d0]
test esi, esi
js 0x1400a5ea6
cmp ecx, 4
je 0x1400a5e9c
mov esi, 0xc0000023
mov dword [rsp + 0x60], esi
jmp 0x1400a5f09
mov ecx, dword [rax]
mov dword [rbp + 0x174], ecx
jmp 0x1400a5eac
mov ecx, dword [rbp + 0x174]
test esi, esi
js 0x1400a5f09
mov rax, qword [rbp + 0x3d8]
cmp qword [rbp + 0x248], rax
je 0x1400a5ec7
mov esi, 0xc004d501
jmp 0x1400a5e96
mov dword [rbp + 0xf8], r10d
mov dword [rbp + 0x78], ecx
mov eax, dword [rbp + 0x1f0]
mov dword [rbp + 0x154], eax
cmp r10d, 4
ja 0x1400a5ee9
cmp r8d, 4
jbe 0x1400a5ef3
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x1400a5f09
mov rdx, r9
mov rcx, qword [rbp + 0x50]
call sub.msvcrt.dll_memcpy
mov r15, qword [rsp + 0x70]
jmp 0x1400a5f1f
xor r13d, r13d
mov rbx, qword [rbp - 0x80]
mov r15, qword [rsp + 0x70]
jmp 0x1400a362c
mov r15, qword [rsp + 0x70]
xor r13d, r13d
mov rbx, qword [rbp - 0x80]
test esi, esi
js 0x1400a362c
mov eax, dword [rbp + 0xb0]
test eax, eax
cmovne esi, eax
mov dword [rsp + 0x60], esi
jmp 0x1400a362c
mov rax, qword [0x1401060b8]
call qword [case.0x14006d218.0]
mov qword [0x14010bea0], rax
mov edi, dword [0x14010a0d8]
mov dword [rsp + 0x6c], edi
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x4d0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x940], rax
mov qword [rbp + 0x948], rax
lea r12d, [rax + 1]
mov dword [rbp + 0x178], r12d
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x48], r13
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xa08]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xa8], r13
xor eax, eax
lock cmpxchg dword [0x14010beac], r12d
jne 0x1400a5fab
mov eax, dword [0x14010bea8]
test eax, eax
jne 0x1400a65ad
mov dword [rsp + 0x68], r13d
mov dword [rbp - 0x78], r13d
mov dword [rsp + 0x78], r13d
mov qword [rbp + 0x190], r13
mov qword [rbp + 0x2a8], r13
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 - 0x28], rax
test rax, rax
je 0x1400a652a
mov byte [rsp + 0x64], r13b
mov r15d, r13d
or ecx, 0xffffffff
mov r12d, r13d
mov dword [rbp + 4], r13d
mov dword [rbp + 0x28], r13d
lea rsi, [rax + 7]
lea rdi, [0x1400ea212]
mov ebx, 1
lea r14d, [rbx + 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, r15d
xor r8d, edx
mov dword [rbp + 0x28], r8d
xor r9d, ecx
mov dword [rbp + 4], r9d
mov byte [rsi - 4], r8b
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 4]
mov byte [rsi], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x28]
mov byte [rsi - 5], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 4]
mov byte [rsi - 1], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x28]
mov byte [rsi - 6], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 4]
mov byte [rsi - 2], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x28]
mov byte [rsi - 7], al
mov al, byte [rbp + 4]
mov byte [rsi - 3], al
mov r13d, dword [rbp + 0x28]
ror r13d, 8
mov dword [rbp + 0x28], r13d
mov r12d, dword [rbp + 4]
ror r12d, 8
mov dword [rbp + 4], r12d
mov r15d, r11d
mov ecx, r10d
lea rsi, [rsi + 8]
sub r14, rbx
jne 0x1400a6030
xor r13d, r13d
mov eax, r13d
mov cl, byte [rsp + 0x64]
mov edi, dword [rsp + 0x6c]
mov esi, dword [rsp + 0x60]
or r14, 0xffffffffffffffff
mov r15d, dword [rbp - 0x78]
mov rbx, qword [rbp - 0x28]
lea edx, [r13 + 1]
mov r8d, 0x338
xor cl, byte [rax + rbx]
add rax, rdx
cmp rax, r8
jb 0x1400a637a
movzx eax, cl
cmp rax, qword [0x1400ea548]
je 0x1400a6399
mov r12d, 0xc004d501
jmp 0x1400a63ad
mov qword [rbp + 0x190], rbx
mov rbx, r13
mov qword [rbp + 0x2a8], r8
mov r12d, r15d
test rbx, rbx
je 0x1400a63c6
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 0x1400a6524
mov rbx, qword [rbp + 0x190]
mov rax, qword [rbp + 0x2a8]
mov byte [rax + rbx - 1], r13b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x14010a7b0]
mov rcx, r12
call sub.msvcrt.dll_memset
cmp byte [rbx], r13b
je 0x1400a651c
jmp 0x1400a6409
lea r12, [0x14010a7b0]
mov rdx, rbx
mov rax, r14
inc rax
cmp word [rbx + rax*2], r13w
jne 0x1400a640f
lea rbx, [rbx + rax*2]
mov eax, dword [rsp + 0x78]
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 0x1400a6524
mov r15d, r13d
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400a6455
mov r15d, 0xc000007b
jmp 0x1400a64a5
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400a644d
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x1400a644d
cmp dword [rcx], 0x4550
jne 0x1400a644d
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400a6491
mov r15d, 0xc000000d
jmp 0x1400a64a5
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 - 0x78], eax
add rbx, 6
xor ecx, ecx
test eax, eax
je 0x1400a6500
mov rdx, rbx
mov rax, r14
inc rax
cmp byte [rbx + rax], cl
jne 0x1400a64bb
inc rbx
add rbx, rax
test r15d, r15d
js 0x1400a64ee
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400a6519
mov ecx, dword [rsp + 0x68]
lea rdx, [0x140106020]
mov qword [rdx + rcx*8], rax
xor ecx, ecx
mov eax, 1
add dword [rsp + 0x68], eax
add r13d, eax
cmp r13d, dword [rbp - 0x78]
jb 0x1400a64b5
mov r12d, 1
add dword [rsp + 0x78], r12d
xor r13d, r13d
cmp byte [rbx], r13b
jne 0x1400a6402
jmp 0x1400a6530
xor r13d, r13d
mov r12d, 1
jmp 0x1400a6530
mov r12d, 1
mov r15d, 0xc000007a
cmp qword [rbp + 0x190], r13
je 0x1400a6551
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x190]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x1400a65a7
lea rbx, [0x14010a7b0]
mov r15d, 4
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a6571
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub r15, r12
jne 0x1400a6563
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x14010a7b0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x1400a65b6
mov eax, dword [0x14010bea8]
add eax, r12d
mov dword [0x14010bea8], eax
mov eax, r13d
xchg dword [0x14010beac], eax
xor ecx, ecx
mov dword [rbp + 0xe50], ecx
mov word [rbp + 0xe54], cx
mov dword [rbp - 0x70], r13d
mov dword [rbp - 0x48], r13d
mov qword [rbp + 0x258], r13
xor eax, eax
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x2f8], rax
mov qword [rbp + 0x300], rax
mov qword [rbp + 0x990], rax
mov qword [rbp + 0x998], rax
xor eax, eax
lock cmpxchg dword [0x14010beac], r12d
jne 0x1400a6602
mov eax, dword [0x14010bea8]
test eax, eax
jne 0x1400a6bf6
mov dword [rsp + 0x68], r13d
mov dword [rbp - 0x78], r13d
mov dword [rsp + 0x78], r13d
mov qword [rbp + 0x198], r13
mov qword [rbp + 0x2b0], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x1400a6b6d
mov byte [rsp + 0x64], r13b
mov r15d, r13d
or r12d, 0xffffffff
mov edx, r13d
mov dword [rbp + 8], edx
mov dword [rbp + 0x24], r13d
lea rsi, [rax + 7]
lea rdi, [0x1400ea212]
mov ecx, 1
lea r14d, [rcx + 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
imul edx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
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, r15d
xor r13d, edx
mov dword [rbp + 0x24], r13d
xor r9d, r12d
mov dword [rbp + 8], r9d
mov byte [rsi - 4], r13b
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 8]
mov byte [rsi], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x24]
mov byte [rsi - 5], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 8]
mov byte [rsi - 1], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x24]
mov byte [rsi - 6], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 8]
mov byte [rsi - 2], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x24]
mov byte [rsi - 7], al
mov al, byte [rbp + 8]
mov byte [rsi - 3], al
mov r13d, dword [rbp + 0x24]
ror r13d, 8
mov dword [rbp + 0x24], r13d
mov edx, dword [rbp + 8]
ror edx, 8
mov dword [rbp + 8], edx
mov r15d, r11d
mov r12d, r10d
lea rsi, [rsi + 8]
sub r14, rcx
jne 0x1400a668c
xor r13d, r13d
mov eax, r13d
mov cl, byte [rsp + 0x64]
mov edi, dword [rsp + 0x6c]
mov esi, dword [rsp + 0x60]
or r14, 0xffffffffffffffff
mov r15d, dword [rbp - 0x78]
mov r12d, r15d
lea edx, [r13 + 1]
mov r8d, 0x338
xor cl, byte [rax + rbx]
add rax, rdx
cmp rax, r8
jb 0x1400a69cc
movzx eax, cl
cmp rax, qword [0x1400ea548]
je 0x1400a69eb
mov r12d, 0xc004d501
jmp 0x1400a69fc
mov qword [rbp + 0x198], rbx
mov rbx, r13
mov qword [rbp + 0x2b0], r8
test rbx, rbx
je 0x1400a6a15
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 0x1400a6b6d
mov rbx, qword [rbp + 0x198]
mov rax, qword [rbp + 0x2b0]
mov byte [rax + rbx - 1], r13b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x14010a7b0]
mov rcx, r12
call sub.msvcrt.dll_memset
cmp byte [rbx], r13b
je 0x1400a6b73
jmp 0x1400a6a58
lea r12, [0x14010a7b0]
mov rdx, rbx
mov rax, r14
inc rax
cmp word [rbx + rax*2], r13w
jne 0x1400a6a5e
lea rbx, [rbx + rax*2]
mov eax, dword [rsp + 0x78]
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 0x1400a6b6d
mov r15d, r13d
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400a6aa4
mov r15d, 0xc000007b
jmp 0x1400a6af4
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400a6a9c
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x1400a6a9c
cmp dword [rcx], 0x4550
jne 0x1400a6a9c
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400a6ae0
mov r15d, 0xc000000d
jmp 0x1400a6af4
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 - 0x78], eax
add rbx, 6
xor ecx, ecx
test eax, eax
je 0x1400a6b4f
mov rdx, rbx
mov rax, r14
inc rax
cmp byte [rbx + rax], cl
jne 0x1400a6b0a
inc rbx
add rbx, rax
test r15d, r15d
js 0x1400a6b3d
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400a6b68
mov ecx, dword [rsp + 0x68]
lea rdx, [0x140106020]
mov qword [rdx + rcx*8], rax
xor ecx, ecx
mov eax, 1
add dword [rsp + 0x68], eax
add r13d, eax
cmp r13d, dword [rbp - 0x78]
jb 0x1400a6b04
mov r12d, 1
add dword [rsp + 0x78], r12d
xor r13d, r13d
cmp byte [rbx], r13b
jne 0x1400a6a51
jmp 0x1400a6b79
xor r13d, r13d
jmp 0x1400a6b73
mov r15d, 0xc000007a
mov r12d, 1
cmp qword [rbp + 0x198], r13
je 0x1400a6b9a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x198]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x1400a6bf0
lea rbx, [0x14010a7b0]
mov r15d, 4
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a6bba
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub r15, r12
jne 0x1400a6bac
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x14010a7b0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x1400a6bff
mov eax, dword [0x14010bea8]
add eax, r12d
mov dword [0x14010bea8], eax
mov eax, r13d
xchg dword [0x14010beac], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x4d0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x940], rax
mov r12d, edi
lea ecx, [rax + 0xf]
and r12d, ecx
mov dword [rbp - 0x40], r12d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xe50], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0xe52], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0xe54], di
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006d218.0]
mov qword [rsp + 0x70], rax
mov dword [rbp - 0x18], 0xffffff
test rax, rax
jne 0x1400a6ca9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a78b8
mov ebx, 0x80004005
jmp 0x1400a78b8
mov qword [rbp + 0x250], r13
mov qword [rbp + 0x1a0], r13
mov qword [rbp + 0x2b8], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x138], r13
mov qword [rbp + 0xd0], r13
mov ebx, r13d
mov dword [rbp + 0xdc], r13d
lea r9, [rbp + 0xdc]
xor r8d, r8d
lea rdx, [rbp + 0x80]
lea ecx, [r8 + 8]
mov rax, qword [0x1401060c0]
call qword [case.0x14006d218.0]
test eax, eax
jne 0x1400a6d29
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a6e6b
mov ebx, 0x80004005
jmp 0x1400a6e6b
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 + 0x138]
call fcn.1400cbba8
test rdi, rdi
jne 0x1400a6d6b
mov qword [rbp + 0x138], r13
mov ebx, 0x8007000e
jmp 0x1400a6e6b
mov qword [rbp + 0x138], rdi
mov edi, dword [rbp + 0x80]
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 + 0xd0]
call fcn.1400cbba8
test rdi, rdi
jne 0x1400a6db0
mov ebx, 0x8007000e
jmp 0x1400a6e64
mov qword [rbp + 0xd0], rdi
lea r9, [rbp + 0xdc]
mov r8, qword [rbp + 0x138]
lea rdx, [rbp + 0x80]
mov ecx, 8
mov rax, qword [0x1401060c0]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a6d03
mov rdi, qword [rbp + 0x138]
mov r15, qword [rbp + 0xd0]
mov r12d, r13d
cmp dword [rbp + 0x80], r13d
jbe 0x1400a6e43
mov esi, 1
xor edx, edx
mov rcx, rdi
mov rax, qword [0x1401060d0]
call qword [case.0x14006d218.0]
mov dword [r15], eax
mov rax, r14
inc rax
cmp word [rdi + rax*2], r13w
jne 0x1400a6e1d
lea rdi, [rdi + rax*2]
add rdi, 2
add r15, 4
add r12d, esi
cmp r12d, dword [rbp + 0x80]
jb 0x1400a6e05
mov esi, dword [rsp + 0x60]
mov dword [r15], 0x409
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x250], rax
mov eax, dword [rbp + 0x80]
inc eax
mov dword [rsp + 0x6c], eax
mov qword [rbp + 0xd0], r13
lea rcx, [rbp + 0xd0]
call fcn.1400cbba8
lea rcx, [rbp + 0x138]
call fcn.1400cbba8
test ebx, ebx
js 0x1400a7611
mov r10d, r13d
mov dword [rbp - 0x80], r13d
mov r9d, r13d
lea r11, [0x1400ea0e0]
cmp dword [rsp + 0x6c], r13d
jbe 0x1400a6ee1
mov r8, r13
mov rax, qword [rbp + 0x250]
mov edx, r13d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x1400a6edb
mov ecx, 1
add edx, ecx
add rdi, 4
cmp edx, 0x26
jb 0x1400a6eb3
add r9d, ecx
add r8, 4
cmp r9d, dword [rsp + 0x6c]
jae 0x1400a6ee1
jmp 0x1400a6ead
mov r10d, edx
mov dword [rbp - 0x80], edx
mov edi, r10d
mov dword [rsp + 0x68], r13d
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0xe60]
mov ecx, dword [r11 + rdi*4]
mov rax, qword [0x1401060c8]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a6f4d
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xc40]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0xe60]
mov rax, qword [0x1401060b0]
call qword [case.0x14006d218.0]
mov r9d, 1
test eax, eax
jle 0x1400a6f53
mov ebx, dword [rbp + 0xc4c]
shr ebx, 0x1b
and ebx, r9d
mov dword [rsp + 0x68], ebx
jmp 0x1400a6f53
mov r9d, 1
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0xdb0]
mov r8d, SafeArrayUnlock
mov qword [rdx], rcx
mov rax, r14
inc rax
cmp word [rcx + rax*2], r13w
jne 0x1400a6f6d
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub r8, r9
jne 0x1400a6f67
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xea180]
mov r12, qword [rbp + rax*8 + 0xdb0]
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x2f0], r12
movzx eax, byte [rcx + rdx + 0xea181]
mov r12, qword [rbp + rax*8 + 0xdb0]
mov qword [rbp - 0x38], r12
mov qword [rbp + 0x2f8], r12
movzx eax, byte [rcx + rdx + 0xea182]
mov rdi, qword [rbp + rax*8 + 0xdb0]
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x300], rdi
mov dword [rbp + 0x10], r13d
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 - 0x28], rax
test rax, rax
je 0x1400a7472
mov r14d, r13d
or dword [rbp - 0x78], 0xffffffff
mov r11d, r13d
mov dword [rbp + 0xc], r13d
mov r10d, r13d
mov dword [rbp + 0x20], r13d
lea r12, [rax + 7]
lea r13, [0x1400e8442]
mov esi, 0x392
mov r15d, dword [rbp - 0x78]
mov ebx, 1
movzx r9d, byte [r13 - 2]
shl r9d, 8
movzx eax, byte [r13 - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 1]
or r9d, eax
movzx r8d, byte [r13 + 2]
shl r8d, 8
movzx eax, byte [r13 + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [r13 + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [r13 + 5]
or r8d, eax
xor r10d, r9d
xor r11d, r8d
lea r13, [r13 + 8]
xor r11d, r10d
xor r11d, 0xac987321
lea eax, [r11 + 0x54969fa2]
rol eax, 5
mov ecx, r11d
rol ecx, 0xa
imul eax, eax, 0x137f
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0xab69
sub eax, ecx
xor r11d, eax
mov eax, r11d
shr eax, 0xd
imul ecx, r11d, 0x605e
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor r11d, eax
mov ecx, r11d
mov edi, 0xab69605e
xor ecx, edi
mov eax, 0x7f1137f
sub eax, ecx
xor r10d, eax
mov edx, r10d
ror edx, 6
mov eax, r10d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edx, ecx
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 0xf
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
mov ecx, r10d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, edi
ror eax, 0xc
mov ecx, r11d
ror ecx, 0xa
imul eax, eax, 0x137f
xor ecx, eax
xor r10d, ecx
mov eax, r10d
mov edx, 0x7f1
xor eax, edx
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea edi, [r10 - 0x7f1]
xor edi, r11d
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 r10d, ecx
lea eax, [r10 - 0x7f1137f]
ror eax, 6
mov ecx, r10d
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 r10d, edx
mov eax, r10d
mov r11d, 0xab69
xor eax, r11d
rol eax, 5
mov ecx, r10d
rol ecx, 7
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
mov edx, edi
xor edx, r10d
xor edx, 0xac987321
mov eax, edx
ror eax, 3
sub eax, r11d
imul eax, eax, 0x137f
xor edi, eax
lea eax, [rdi - 0x7f1137f]
ror eax, 1
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, r14d
xor edx, ecx
mov dword [rbp + 0x20], edx
xor edi, r15d
mov dword [rbp + 0xc], edi
mov byte [r12 - 4], dl
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0xc]
mov byte [r12], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x20]
mov byte [r12 - 5], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0xc]
mov byte [r12 - 1], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x20]
mov byte [r12 - 6], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0xc]
mov byte [r12 - 2], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x20]
mov byte [r12 - 7], al
mov al, byte [rbp + 0xc]
mov byte [r12 - 3], al
mov r10d, dword [rbp + 0x20]
ror r10d, 8
mov dword [rbp + 0x20], r10d
mov r11d, dword [rbp + 0xc]
ror r11d, 8
mov dword [rbp + 0xc], r11d
mov r14d, r9d
mov r15d, r8d
lea r12, [r12 + 8]
sub rsi, rbx
jne 0x1400a703a
xor r13d, r13d
mov eax, r13d
xorps xmm1, xmm1
mov esi, dword [rsp + 0x60]
mov ebx, dword [rbp + 0x10]
or r14, 0xffffffffffffffff
mov r15, qword [rbp - 0x28]
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r15]
pxor xmm0, xmm1
movdqa xmm1, xmm0
add rax, 0x10
cmp rax, rcx
jb 0x1400a7368
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 [0x1400ea0d0]
je 0x1400a73c6
mov ebx, 0xc004d501
jmp 0x1400a73d7
mov qword [rbp + 0x1a0], r15
mov r15, r13
mov qword [rbp + 0x2b8], rcx
test r15, r15
je 0x1400a73f0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x1400a7632
mov rdx, qword [rbp + 0x1a0]
lea rdi, [rbp + 0xd80]
mov r8d, 6
mov r9d, dword [rbp - 0x80]
lea r12d, [r8 - 5]
mov ecx, r13d
cmp r9d, ecx
jne 0x1400a741f
mov qword [rdi], rdx
mov rax, r14
inc rax
cmp byte [rdx + rax], r13b
jne 0x1400a7422
inc rdx
add rdx, rax
add ecx, r12d
cmp ecx, 0x26
jb 0x1400a7417
add rdi, 8
sub r8, r12
jne 0x1400a7414
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.1400cbba8
test rdi, rdi
jne 0x1400a747c
mov qword [rbp + 0x90], r13
mov ebx, 0x8007000e
jmp 0x1400a7632
mov qword [rbp + 0x90], rdi
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, r13d
mov dword [rsp + 0x6c], edx
mov r15, r13
lea rcx, [rbp + 0xe50]
mov qword [rbp + 0x58], rcx
mov eax, r13d
movzx edi, word [rcx]
lea rcx, [0x1400ea1f8]
cmp di, word [rcx]
je 0x1400a74c8
add eax, r12d
add rcx, 2
cmp eax, 6
jb 0x1400a74b2
jmp 0x1400a7593
mov r12, qword [rbp + rax*8 + 0xd80]
mov rax, r14
inc rax
cmp byte [r12 + rax], r13b
jne 0x1400a74d3
mov r9d, 1
add r9d, eax
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1401060e0]
call qword [case.0x14006d218.0]
movsxd r13, eax
test r13d, r13d
je 0x1400a75fd
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 [r15 + rcx], rax
mov rcx, qword [rbp + 0x90]
xor edx, edx
cmp qword [r15 + rcx], rdx
je 0x1400a75f3
mov rax, r14
inc rax
cmp byte [r12 + rax], dl
jne 0x1400a754d
mov r9d, 1
add r9d, eax
mov dword [rsp + 0x28], r13d
mov rdx, qword [r15 + rcx]
mov qword [rsp + 0x20], rdx
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1401060e0]
call qword [case.0x14006d218.0]
xor r13d, r13d
test eax, eax
je 0x1400a75d4
mov edx, dword [rsp + 0x6c]
lea r12d, [r13 + 1]
add edx, r12d
mov dword [rsp + 0x6c], edx
mov rcx, qword [rbp + 0x58]
add rcx, 2
mov qword [rbp + 0x58], rcx
add r15, 8
cmp edx, 3
jb 0x1400a74a5
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x258], rax
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x4d0], eax
jmp 0x1400a7632
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a7632
mov ebx, 0x80004005
jmp 0x1400a7632
mov ebx, 0x8007000e
xor r13d, r13d
jmp 0x1400a7632
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
xor r13d, r13d
jmp 0x1400a75e3
mov rax, qword [rbp + 0x300]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x2f8]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x30], rax
cmp qword [rbp + 0x90], r13
je 0x1400a76a6
mov r15, r13
mov eax, 1
lea r12d, [rax + 2]
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + r15], r13
je 0x1400a769d
test rcx, rcx
jne 0x1400a765c
mov rcx, r13
mov rdi, qword [rcx + r15]
mov rcx, r14
inc rcx
cmp word [rdi + rcx*2], r13w
jne 0x1400a7663
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]
mov eax, 1
add r15, 8
sub r12, rax
jne 0x1400a7647
mov rdi, qword [rbp + 0x1a0]
test rdi, rdi
je 0x1400a76bd
xor eax, eax
mov rcx, qword [rbp + 0x2b8]
rep stosb byte [rdi], al
lea rcx, [rbp + 0x90]
call fcn.1400cbba8
lea rcx, [rbp + 0x1a0]
call fcn.1400cbba8
lea rcx, [rbp + 0x250]
call fcn.1400cbba8
test ebx, ebx
js 0x1400a8414
mov rax, qword [rbp + 0x258]
mov rcx, qword [rax]
mov qword [rbp + 0x4d8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x4e0], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x4e8], rcx
xor eax, eax
mov qword [rbp + 0x328], rax
mov qword [rbp + 0x330], rax
mov edi, r13d
mov ebx, r13d
mov dword [rbp + 0x328], reloc.OLEAUT32.dll_SafeArrayGetDim
xor r9d, r9d
lea r8, [rbp + 0x328]
xor edx, edx
lea ecx, [rax + 0x42]
mov rax, qword [0x140106188]
call qword [case.0x14006d218.0]
test eax, eax
jne 0x1400a7775
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov r15d, 1
test ebx, ebx
js 0x1400a7784
mov ebx, 0x80004005
jmp 0x1400a7784
mov edi, dword [rbp + 0x32c]
mov r15d, 1
and edi, r15d
mov dword [rbp + 0x4d4], edi
mov r12d, dword [rbp - 0x40]
test ebx, ebx
js 0x1400a78a4
mov ecx, r12d
mov eax, 0x2a
mov dword [rsp + 0x78], eax
sub ecx, 1
je 0x1400a77c7
sub ecx, 1
je 0x1400a77be
cmp ecx, 1
jne 0x1400a77d1
mov edi, 0xe1
mov dword [rbp - 0x70], edi
mov dword [rbp - 0x48], edi
jmp 0x1400a77d1
mov dword [rbp - 0x70], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x1400a77ca
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x48], reloc.WSOCK32.dll_inet_ntoa
mov ebx, 0x60
mov r13d, ebx
lea edi, [rbx + 0x7c]
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xc60]
call sub.msvcrt.dll_memset
mov word [rbp + 0xca4], di
lea r8, [rbp + 0xc60]
or edx, 0xffffffff
xor ecx, ecx
mov rax, qword [0x140106100]
call qword [case.0x14006d218.0]
xor edi, edi
test eax, eax
je 0x1400a7841
movzx r13d, word [rbp + 0xd06]
mov qword [rbp + 0x990], rdi
mov eax, dword [rbp + 0xd0c]
mov dword [rbp + 0x998], eax
mov eax, dword [rbp + 0xd10]
mov dword [rbp + 0x99c], eax
cmp r13d, ebx
cmovb r13d, ebx
cmp r12d, r15d
mov r15, qword [rbp + 0x50]
cmove r15, qword [rbp + 0x30]
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xb20]
call sub.msvcrt.dll_memset
mov ebx, edi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006d218.0]
mov rdi, rax
test rax, rax
jne 0x1400a7b99
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a78a1
mov ebx, 0x80004005
xor r13d, r13d
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
mov r15d, 1
xor eax, eax
lock cmpxchg dword [0x14010beac], r15d
jne 0x1400a78be
mov eax, dword [0x14010bea8]
test eax, eax
jle 0x1400a793d
sub eax, r15d
mov dword [0x14010bea8], eax
jne 0x1400a793d
lea rdi, [0x14010a7b0]
mov rax, r15
mov r15d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a7903
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add rdi, 0x18
sub r15, rax
jne 0x1400a78f0
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x14010a7b0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov r15d, 1
mov eax, r13d
xchg dword [0x14010beac], eax
lea rcx, [rbp + 0x258]
call fcn.1400cbba8
test ebx, ebx
js 0x1400a9088
mov rdi, qword [rbp + 0x940]
mov qword [rbp + 0x2e8], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x540]
call sub.msvcrt.dll_memset
mov ebx, r15d
mov edx, 7
mov r15, qword [rbp + 0x70]
mov rcx, r15
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
je 0x1400a79e4
lea r8, [rbp + 0x540]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a79e4
mov eax, 0x20
cmp word [rbp + 0x552], ax
jne 0x1400a79e4
cmp qword [rbp + 0x558], r13
je 0x1400a79e4
cmp dword [rbp + 0x544], r13d
jle 0x1400a79e4
cmp dword [rbp + 0x548], r13d
jg 0x1400a79e7
mov ebx, r13d
mov dword [rbp + 0x178], ebx
test ebx, ebx
mov ebx, 1
jne 0x1400a79fb
cmp r12d, ebx
jne 0x1400a7a60
mov r8d, dword [rbp + 0x2ec]
mov edx, edi
lea rcx, [rbp + 0x50c]
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov r8d, dword [rbp + 0x2ec]
mov edx, edi
lea rcx, [rbp + 0x51c]
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
cmp r12d, ebx
jne 0x1400a7a60
mov eax, dword [rbp + 0x4d4]
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xb26720
mov rax, qword [0x140106048]
call qword [case.0x14006d218.0]
mov qword [rbp + 0xa8], rax
mov edx, ebx
mov rcx, r15
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov dword [rsp + 0x70], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x4d0], r13d
cmovne eax, ecx
mov dword [rsp + 0x68], eax
cmp dword [rbp + 0x178], r13d
je 0x1400a8d40
mov eax, dword [rbp + 0x4d4]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x4f0]
mov qword [rbp - 0x28], rax
mov rdi, qword [rbp + 0x4d8]
mov qword [rbp + 0x30], rdi
mov ebx, 0x68
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x690]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x8c0]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x38], r13
mov dword [rsp + 0x6c], r13d
mov r12d, r13d
xor edx, edx
lea r8d, [rbx - 0x3c]
lea rcx, [rbp + 0xa98]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9c0], rax
mov qword [rbp + 0x9c8], rax
test rdi, rdi
je 0x1400a906c
lea edx, [rbx - 0x61]
mov rcx, r15
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
je 0x1400a8d97
lea r8, [rbp + 0x690]
mov edx, ebx
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a7b6d
mov rax, qword [rbp + 0x6a8]
mov qword [rbp - 0x38], rax
mov eax, dword [rbp + 0x694]
mov dword [rsp + 0x6c], eax
mov r12d, dword [rbp + 0x698]
mov rcx, r15
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov r13, rax
xor eax, eax
test r13, r13
jne 0x1400a841d
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r13d, r13d
jmp 0x1400a906c
mov r8d, 0x48
mov edx, r13d
mov ecx, dword [rbp - 0x70]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
neg eax
mov dword [rbp + 0xb20], eax
mov dword [rbp + 0xb30], 0x190
mov byte [rbp + 0xb3a], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xb3c]
call fcn.1400343f0
lea rcx, [rbp + 0xb20]
mov rax, qword [0x140106040]
call qword [case.0x14006d218.0]
test rax, rax
jne 0x1400a7c17
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a7c1e
mov ebx, 0x80004005
jmp 0x1400a7c1e
mov qword [rbp + 0x4f0], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
xor edi, edi
test ebx, ebx
js 0x1400a78a1
xor edx, edx
lea r8d, [rdi + 0x5c]
lea rcx, [rbp + 0xb80]
call sub.msvcrt.dll_memset
mov ebx, edi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006d218.0]
mov rdi, rax
test rax, rax
jne 0x1400a7c84
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
xor r8d, r8d
jmp 0x1400a7893
mov r8d, 0x48
mov edx, r13d
mov ecx, dword [rbp - 0x48]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
neg eax
mov dword [rbp + 0xb80], eax
mov dword [rbp + 0xb90], 0x190
mov byte [rbp + 0xb9a], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xb9c]
call fcn.1400343f0
lea rcx, [rbp + 0xb80]
mov rax, qword [0x140106040]
call qword [case.0x14006d218.0]
test rax, rax
jne 0x1400a7d02
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a7d09
mov ebx, 0x80004005
jmp 0x1400a7d09
mov qword [rbp + 0x4f8], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
xor r8d, r8d
test ebx, ebx
js 0x1400a78a1
mov r15d, r8d
mov edx, r8d
mov ecx, r12d
sub ecx, 1
je 0x1400a7d3e
sub ecx, 1
je 0x1400a7d79
cmp ecx, 1
jne 0x1400a7d4b
mov r15d, dword [rbp + 0x998]
mov edx, dword [rbp + 0x99c]
mov dword [rbp + 0x948], r15d
mov dword [rbp + 0x94c], edx
mov ecx, 1
cmp r12d, ecx
je 0x1400a7db2
lea eax, [r12 - 2]
cmp eax, ecx
ja 0x1400a7d90
mov eax, r8d
mov dword [rsp + 0x78], r8d
mov dword [rbp - 0x70], r8d
jmp 0x1400a7dbe
mov eax, dword [rbp + 0x998]
cdq
and edx, 3
lea r15d, [rdx + rax]
sar r15d, 2
mov edx, r8d
jmp 0x1400a7d4b
mov eax, dword [rbp + 0xb4]
mov dword [rbp - 0x70], eax
mov eax, dword [rbp + 0xb4]
mov dword [rsp + 0x78], eax
mov r12d, dword [rbp + 0xb4]
mov eax, dword [rbp + 0xb4]
jmp 0x1400a7dc1
mov eax, 0x96
mov dword [rbp - 0x70], 0x20
mov r12d, r8d
mov dword [rsp + 0x68], eax
sub r15d, eax
sub r15d, r12d
mov dword [rbp + 0x524], r15d
mov dword [rbp + 0x514], r15d
mov rdi, qword [rbp + 0x4d8]
mov ebx, r8d
mov rdx, qword [rbp + 0x4f0]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x50c]
mov r8d, r14d
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
xor ecx, ecx
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x1400a7e5b
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
xor ecx, ecx
test ebx, ebx
js 0x1400a840b
mov rdi, qword [rbp + 0x4e0]
mov ebx, ecx
mov rdx, qword [rbp + 0x4f8]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x51c]
mov r8d, r14d
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
xor edx, edx
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x1400a7ee4
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
xor edx, edx
test ebx, ebx
js 0x1400a840b
mov eax, dword [rbp - 0x40]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x514]
mov ebx, 1
cmp eax, ebx
ja 0x1400a7f0f
mov r15d, dword [rbp + 0x524]
cmp ecx, r15d
cmovg r15d, ecx
mov r8d, dword [rsp + 0x78]
mov rax, qword [fcn.140059490]
cmp dword [rbp + 0x4d0], edx
je 0x1400a7f45
mov edx, r12d
sub edx, ecx
add edx, r15d
lea rcx, [rbp + 0x50c]
call qword [case.0x14006d218.0]
sub r12d, dword [rbp + 0x524]
lea edx, [r15 + r12]
jmp 0x1400a7f5a
mov edx, dword [rsp + 0x68]
lea rcx, [rbp + 0x50c]
call qword [case.0x14006d218.0]
mov edx, dword [rsp + 0x68]
mov r8d, dword [rbp - 0x70]
add r8d, dword [rbp + 0x518]
lea rcx, [rbp + 0x51c]
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov r12d, dword [rbp - 0x40]
lea eax, [r12 - 2]
cmp eax, ebx
jbe 0x1400a8218
cmp r12d, ebx
jne 0x1400a8235
mov dword [rbp + 0x508], 0xffffff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xbe0]
call sub.msvcrt.dll_memset
xor eax, eax
mov ebx, eax
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006d218.0]
mov rdi, rax
test rax, rax
jne 0x1400a7fe8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
xor ecx, ecx
jmp 0x1400a7893
mov r8d, 0x48
mov edx, r13d
lea ecx, [r8 - 0x3d]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
neg eax
mov dword [rbp + 0xbe0], eax
mov dword [rbp + 0xbf0], 0x190
mov byte [rbp + 0xbfa], 5
mov r8, qword [rbp - 0x38]
mov edx, 0x20
lea rcx, [rbp + 0xbfc]
call fcn.1400343f0
lea rcx, [rbp + 0xbe0]
mov rax, qword [0x140106040]
call qword [case.0x14006d218.0]
test rax, rax
jne 0x1400a8068
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a806f
mov ebx, 0x80004005
jmp 0x1400a806f
mov qword [rbp + 0x500], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
xor ecx, ecx
test ebx, ebx
js 0x1400a78a1
mov dword [rbp + 0x534], r15d
mov rdi, qword [rbp + 0x4e8]
mov ebx, ecx
mov rdx, qword [rbp + 0x500]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov r15, rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x52c]
mov r8d, r14d
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
test r15, r15
je 0x1400a810a
mov rdx, r15
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
test ebx, ebx
js 0x1400a78a1
mov eax, dword [rbp + 0x534]
add eax, 0x18
mov ecx, 0x5a
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x534], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x538], eax
lea edi, [rcx + 6]
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x52c]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x52c], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x530]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x530], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x534]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x534], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x538]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x538], eax
xor r13d, r13d
mov r8d, dword [rbp + 0x528]
lea rcx, [rbp + 0x52c]
mov rax, qword [fcn.140059490]
cmp dword [rbp + 0x4d0], r13d
je 0x1400a81f3
mov edx, dword [rbp + 0x51c]
cmp dword [rbp + 0x50c], edx
cmovl edx, dword [rbp + 0x50c]
add r8d, 0x24
call qword [case.0x14006d218.0]
jmp 0x1400a8238
mov edx, dword [rbp + 0x524]
cmp dword [rbp + 0x514], edx
cmovg edx, dword [rbp + 0x514]
add r8d, 0x24
sub edx, dword [rbp + 0x534]
add edx, dword [rbp + 0x52c]
jmp 0x1400a81eb
mov dword [rbp + 0x948], r15d
mov eax, dword [rbp + 0x528]
mov dword [rbp + 0x94c], eax
mov dword [rbp + 0x508], 0xffa8a8a8
xor r13d, r13d
mov r15d, dword [rbp + 0x4d0]
mov ebx, dword [rbp + 0x94c]
mov edi, dword [rbp + 0x948]
mov ecx, r12d
sub ecx, 1
je 0x1400a83fb
sub ecx, 1
je 0x1400a8314
cmp ecx, 1
jne 0x1400a8403
lea r15d, [rcx + 0x27]
mov r8d, r15d
xor edx, edx
lea rcx, [rbp + 0xaf8]
call sub.msvcrt.dll_memset
lea edx, [r15 - 0x27]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov dword [rbp + 0xaf8], r15d
lea rdx, [rbp + 0xaf8]
mov rcx, rax
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a8403
lea rdx, [rbp + 0xb0c]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
lea rdx, [rbp + 0xb14]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov eax, dword [rbp + 0xb14]
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 + 0xb14]
shr rcx, 0x20
sub ecx, ebx
imul ecx, ecx, 0x32
jmp 0x1400a83dc
xor edx, edx
lea r8d, [rdx + 0x28]
lea rcx, [rbp + 0x9e0]
call sub.msvcrt.dll_memset
mov edx, 1
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x9e0], 0x28
lea rdx, [rbp + 0x9e0]
mov rcx, rax
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a8403
lea rdx, [rbp + 0x9f4]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
lea rdx, [rbp + 0x9fc]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov eax, dword [rbp + 0x9fc]
test r15d, r15d
je 0x1400a83b6
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 + 0x9f4]
jmp 0x1400a83cc
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 + 0x9fc]
shr rax, 0x20
sub eax, ebx
imul ecx, eax, 0x5f
mov dword [rbp + 0x940], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x944], edx
jmp 0x1400a8403
and qword [rbp + 0x940], 0
mov ebx, r13d
jmp 0x1400a78a4
mov r12d, dword [rbp - 0x40]
jmp 0x1400a78a1
mov r12d, dword [rbp - 0x40]
jmp 0x1400a78a4
mov ebx, dword [rbp + 0x518]
sub ebx, dword [rbp + 0x510]
mov edi, dword [rbp + 0x514]
sub edi, dword [rbp + 0x50c]
mov qword [rbp + 0x3e0], rax
mov r15d, eax
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa98]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa98], 0x28
mov dword [rbp + 0xa9c], edi
neg ebx
mov dword [rbp + 0xaa0], ebx
mov dword [rbp + 0xaa4], 0x200001
xor ebx, ebx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x3e0]
xor r8d, r8d
lea rdx, [rbp + 0xa98]
mov rcx, r13
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov rdi, rax
mov qword [rbp + 0x10], rax
test rax, rax
jne 0x1400a84d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400a881d
mov r15d, 0x80004005
jmp 0x1400a881d
lea r8, [rbp + 0x8c0]
mov edx, 0x68
mov rcx, rdi
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
mov rcx, rbx
test eax, eax
cmovne rcx, qword [rbp + 0x8d8]
mov qword [rbp + 0x50], rcx
mov eax, dword [rbp + 0x514]
sub eax, dword [rbp + 0x50c]
mov dword [rbp + 0x9c8], eax
mov eax, dword [rbp + 0x518]
sub eax, dword [rbp + 0x510]
mov dword [rbp + 0x9cc], eax
mov rdx, rdi
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov edi, 1
mov edx, edi
mov rcx, r13
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov rdx, qword [rbp - 0x28]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006d218.0]
mov r8, rax
lea rdx, [rbp + 0x9c0]
mov rcx, r13
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
mov qword [rsp + 0x28], rbx
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9c0]
mov r8d, r14d
mov rdx, qword [rbp + 0x30]
mov rcx, r13
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
cmp dword [rbp - 0x40], edi
jne 0x1400a85e6
cmp dword [rbp - 0x78], ebx
je 0x1400a85df
lea ecx, [rdi + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006d218.0]
mov ebx, eax
mov dword [rsp + 0x78], eax
jmp 0x1400a85ef
mov ebx, 0xffffff
jmp 0x1400a85eb
mov ebx, 0xffa8a8a8
mov dword [rsp + 0x78], ebx
mov eax, dword [rbp + 0x50c]
mov edx, eax
neg edx
xor r9d, r9d
test eax, eax
cmovns edx, r9d
mov edi, r9d
cmovns edi, eax
mov eax, dword [rbp + 0x510]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r9d
mov r8d, r9d
cmovns r8d, eax
movsxd r10, dword [rbp + 0x9c8]
mov eax, r10d
sub eax, edx
movsxd r9, dword [rsp + 0x6c]
mov r11d, r9d
sub r11d, edi
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9cc]
sub eax, ecx
sub r12d, r8d
cmp eax, r12d
cmovl r12d, eax
test r11d, r11d
jle 0x1400a87f0
test r12d, r12d
jle 0x1400a87f0
mov eax, r10d
imul eax, ecx
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp + 0x50]
lea rdx, [rax + rcx*4]
mov qword [rbp + 0x30], rdx
mov eax, r9d
imul eax, r8d
movsxd rcx, eax
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp - 0x38]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x50], rax
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x28], rcx
mov rdi, r9
shl rdi, 2
mov qword [rbp - 0x78], rdi
mov r8d, r12d
mov qword [rbp + 0x58], r8
xor r12d, r12d
lea esi, [r12 + 1]
test r11d, r11d
jle 0x1400a87d1
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 0x1400a87ac
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 [rsp + 0x79]
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 [rsp + 0x7a]
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 - 0x38]
xor r12d, r12d
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x38], rdi
jne 0x1400a86d7
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x78]
mov r8, qword [rbp + 0x58]
add rdx, rcx
mov qword [rbp + 0x30], rdx
add rax, rdi
mov qword [rbp + 0x50], rax
sub r8, rsi
mov qword [rbp + 0x58], r8
jne 0x1400a86bd
mov esi, dword [rsp + 0x60]
mov rcx, qword [rbp + 0x10]
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x1400a881d
mov rdx, rax
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov rcx, r13
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
xor r13d, r13d
test r15d, r15d
js 0x1400a906c
mov eax, dword [rbp + 0x4d4]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x4f8]
mov qword [rbp - 0x28], rax
mov rdi, qword [rbp + 0x4e0]
mov qword [rbp + 0x30], rdi
lea ebx, [r13 + 0x68]
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x620]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x850]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x38], r13
mov dword [rsp + 0x6c], r13d
mov r12d, r13d
xor edx, edx
lea r8d, [r13 + 0x2c]
lea rcx, [rbp + 0xac8]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9b0], rax
mov qword [rbp + 0x9b8], rax
test rdi, rdi
je 0x1400a906c
lea edx, [rbx - 0x61]
mov r15, qword [rbp + 0x70]
mov rcx, r15
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
je 0x1400a8d97
lea r8, [rbp + 0x620]
mov edx, ebx
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a890e
mov rax, qword [rbp + 0x638]
mov qword [rbp - 0x38], rax
mov eax, dword [rbp + 0x624]
mov dword [rsp + 0x6c], eax
mov r12d, dword [rbp + 0x628]
mov rcx, r15
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov r13, rax
xor eax, eax
test r13, r13
je 0x1400a7b8b
mov ebx, dword [rbp + 0x528]
sub ebx, dword [rbp + 0x520]
mov edi, dword [rbp + 0x524]
sub edi, dword [rbp + 0x51c]
mov qword [rbp + 0x3e8], rax
mov r15d, eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xac8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xac8], 0x28
mov dword [rbp + 0xacc], edi
neg ebx
mov dword [rbp + 0xad0], ebx
mov dword [rbp + 0xad4], 0x200001
xor ebx, ebx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x3e8]
xor r8d, r8d
lea rdx, [rbp + 0xac8]
mov rcx, r13
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov rdi, rax
mov qword [rbp + 0x10], rax
test rax, rax
jne 0x1400a89e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400a8d1b
mov r15d, 0x80004005
jmp 0x1400a8d1b
lea r8, [rbp + 0x850]
mov edx, 0x68
mov rcx, rdi
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
cmovne rbx, qword [rbp + 0x868]
mov eax, dword [rbp + 0x524]
sub eax, dword [rbp + 0x51c]
mov dword [rbp + 0x9b8], eax
mov eax, dword [rbp + 0x528]
sub eax, dword [rbp + 0x520]
mov dword [rbp + 0x9bc], eax
mov rdx, rdi
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov edi, 1
mov edx, edi
mov rcx, r13
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov rdx, qword [rbp - 0x28]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006d218.0]
mov r8, rax
lea rdx, [rbp + 0x9b0]
mov rcx, r13
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9b0]
mov r8d, r14d
mov rdx, qword [rbp + 0x30]
mov rcx, r13
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
xor r9d, r9d
cmp dword [rbp - 0x40], edi
jne 0x1400a8af4
cmp dword [rbp - 0x78], r9d
je 0x1400a8aea
lea ecx, [rdi + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006d218.0]
xor r9d, r9d
jmp 0x1400a8af9
mov dword [rsp + 0x78], 0xffffff
jmp 0x1400a8b00
mov eax, 0xffa8a8a8
mov dword [rsp + 0x78], eax
mov dword [rbp - 0x18], eax
mov eax, dword [rbp + 0x51c]
mov edx, eax
neg edx
test eax, eax
cmovns edx, r9d
mov edi, r9d
cmovns edi, eax
mov eax, dword [rbp + 0x520]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r9d
mov r8d, r9d
cmovns r8d, eax
movsxd r10, dword [rbp + 0x9b8]
mov eax, r10d
sub eax, edx
movsxd r9, dword [rsp + 0x6c]
mov r11d, r9d
sub r11d, edi
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9bc]
sub eax, ecx
sub r12d, r8d
cmp eax, r12d
cmovl r12d, eax
test r11d, r11d
jle 0x1400a8cee
test r12d, r12d
jle 0x1400a8cee
mov eax, r10d
imul eax, ecx
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
lea rdx, [rbx + rcx*4]
mov qword [rbp + 0x30], rdx
mov eax, r9d
imul eax, r8d
movsxd rcx, eax
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp - 0x38]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x38], rax
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x28], rcx
mov rdi, r9
shl rdi, 2
mov qword [rbp + 0x58], rdi
mov r8d, r12d
mov qword [rbp + 0x50], r8
mov esi, dword [rbp - 0x18]
xor ebx, ebx
lea r14d, [rbx + 1]
test r11d, r11d
jle 0x1400a8ccb
lea r9, [rdx + 2]
mov r10, rax
sub r10, rdx
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 0x1400a8caa
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, sil
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 [rsp + 0x79]
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 [rsp + 0x7a]
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
xor ebx, ebx
add r9, 4
sub r12, r14
jne 0x1400a8bde
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov rdi, qword [rbp + 0x58]
mov r8, qword [rbp + 0x50]
add rdx, rcx
mov qword [rbp + 0x30], rdx
add rax, rdi
mov qword [rbp - 0x38], rax
sub r8, r14
mov qword [rbp + 0x50], r8
jne 0x1400a8bc8
mov esi, dword [rsp + 0x60]
or r14, 0xffffffffffffffff
mov rcx, qword [rbp + 0x10]
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x1400a8d1b
mov rdx, rax
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov rcx, r13
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
xor r13d, r13d
test r15d, r15d
js 0x1400a906c
mov rdi, qword [rbp + 0x70]
jmp 0x1400aa085
cmp dword [rbp + 0x4d4], r13d
jne 0x1400a8d50
cmp r12d, ebx
mov al, 0xc0
jne 0x1400a8d52
mov al, 0xff
and word [rsp + 0x78], 0
mov byte [rsp + 0x7a], al
mov byte [rsp + 0x7b], bl
xor eax, eax
mov qword [rbp + 0x970], rax
mov qword [rbp + 0x978], rax
mov qword [rbp + 0x960], rax
mov qword [rbp + 0x968], rax
mov rcx, r15
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x38], rax
test rax, rax
jne 0x1400a8da2
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a906c
cmp r12d, ebx
jne 0x1400a8e64
mov ecx, dword [rbp + 0x524]
mov eax, ecx
mov edx, dword [rbp + 0x51c]
sub eax, edx
mov r8d, dword [rbp + 0x514]
mov ebx, r8d
mov r9d, dword [rbp + 0x50c]
sub ebx, r9d
cmp eax, ebx
cmovg ebx, eax
mov r12d, dword [rbp + 0x528]
mov eax, r12d
mov r10d, dword [rbp + 0x510]
sub eax, r10d
mov dword [rbp - 0x70], eax
mov edi, r13d
mov r15d, r13d
cmp dword [rbp + 0x4d0], r13d
je 0x1400a8e18
mov edi, r9d
sub edi, r8d
add edi, ebx
mov dword [rbp + 0x970], edi
mov r15d, edx
sub r15d, ecx
add r15d, ebx
mov dword [rbp + 0x960], r15d
sub edi, r9d
add edi, r8d
mov dword [rbp + 0x978], edi
mov r13d, dword [rbp + 0x518]
sub r13d, r10d
mov dword [rbp + 0x97c], r13d
sub r15d, edx
add r15d, ecx
mov dword [rbp + 0x968], r15d
mov eax, dword [rbp + 0x520]
sub eax, r10d
mov dword [rbp + 0x964], eax
sub r12d, dword [rbp + 0x520]
add r12d, eax
mov dword [rbp + 0x96c], r12d
jmp 0x1400a8eb2
mov ebx, dword [rbp + 0x948]
mov eax, dword [rbp + 0x94c]
mov dword [rbp - 0x70], eax
movups xmm0, xmmword [rbp + 0x50c]
movdqu xmmword [rbp + 0x970], xmm0
movups xmm1, xmmword [rbp + 0x51c]
movdqu xmmword [rbp + 0x960], xmm1
mov r13d, dword [rbp + 0x97c]
mov edi, dword [rbp + 0x978]
mov r12d, dword [rbp + 0x96c]
mov r15d, dword [rbp + 0x968]
mov eax, dword [rbp + 0x964]
mov dword [rsp + 0x6c], eax
xor eax, eax
mov qword [rbp + 0x3f0], rax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xa08]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa08], 0x28
mov dword [rbp + 0xa0c], ebx
mov eax, dword [rbp - 0x70]
neg eax
mov dword [rbp + 0xa10], eax
mov dword [rbp + 0xa14], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3f0]
xor r8d, r8d
lea rdx, [rbp + 0xa08]
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x48], rax
test rax, rax
jne 0x1400a8f3a
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r13d, r13d
jmp 0x1400a9053
mov rdx, rax
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov eax, 1
cmp dword [rbp - 0x40], eax
jne 0x1400a8f9d
mov r8, qword [rbp + 0xa8]
xor ecx, ecx
test r8, r8
je 0x1400a8f9d
xor eax, eax
mov qword [rbp + 0x9d8], rax
mov qword [rbp + 0x9d0], rcx
mov dword [rbp + 0x9d8], ebx
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x9dc], eax
lea rdx, [rbp + 0x9d0]
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
mov eax, dword [rbp + 0x4d4]
mov dword [rbp - 0x48], eax
mov rax, qword [rbp + 0x4f0]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x4d8]
mov qword [rbp - 0x38], rax
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x5b0]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x7e0]
call sub.msvcrt.dll_memset
xor ecx, ecx
mov qword [rbp + 0x30], rcx
mov dword [rbp + 0x10], ecx
mov dword [rbp - 0x78], ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xa38]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x980], rax
mov qword [rbp + 0x988], rax
cmp qword [rbp - 0x38], rax
je 0x1400a9037
lea edx, [rax + 7]
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
jne 0x1400a9664
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r13d, r13d
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x1400a9053
mov rcx, rax
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp + 0x38]
test rax, rax
je 0x1400a906c
mov rcx, rax
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
mov rax, qword [rbp + 0xa8]
test rax, rax
je 0x1400a9088
mov rcx, rax
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp + 0x4d8]
test rax, rax
je 0x1400a90d6
mov rcx, r14
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x1400a9097
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x4d8]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4d8]
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 + 0x4d8], r13
mov rax, qword [rbp + 0x4e0]
test rax, rax
je 0x1400a9124
mov rcx, r14
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x1400a90e5
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x4e0]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4e0]
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 + 0x4e0], r13
mov rdi, qword [rbp + 0x4e8]
test rdi, rdi
je 0x1400a916b
mov rcx, r14
inc rcx
cmp word [rdi + rcx*2], r13w
jne 0x1400a9133
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4e8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x4e8], r13
mov rcx, qword [rbp + 0x4f0]
test rcx, rcx
je 0x1400a918b
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x4f0], r13
mov rcx, qword [rbp + 0x4f8]
test rcx, rcx
je 0x1400a91ab
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x4f8], r13
mov rcx, qword [rbp + 0x500]
test rcx, rcx
je 0x1400a91cb
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x500], r13
mov r15d, 1
xor eax, eax
lock cmpxchg dword [0x14010beac], r15d
jne 0x1400a91d1
mov eax, dword [0x14010bea8]
test eax, eax
jle 0x1400a9240
sub eax, r15d
mov dword [0x14010bea8], eax
jne 0x1400a9240
lea r12, [0x14010a7b0]
mov rdi, r12
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a9210
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r15
jne 0x1400a9202
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, r13d
xchg dword [0x14010beac], eax
mov eax, dword [0x14010a0d8]
mov dword [rbp + 0x10], eax
mov rax, qword [0x1401060b8]
call qword [case.0x14006d218.0]
sub eax, dword [0x14010bea0]
mov qword [rbp + 0x60], rax
mov dword [rbp + 0xd40], r13d
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0xd48]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x14010beac], r15d
jne 0x1400a9282
mov eax, dword [0x14010bea8]
test eax, eax
jne 0x1400aa296
mov dword [rsp + 0x6c], r13d
mov dword [rsp + 0x70], r13d
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x1a8], r13
mov qword [rbp + 0x308], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
xor eax, eax
test r15, r15
je 0x1400aa20e
mov esi, eax
or r14d, 0xffffffff
mov edx, eax
mov dword [rbp + 0x18], eax
mov r11d, eax
mov dword [rbp + 0x1c], eax
lea r12, [r15 + 7]
lea rbx, [0x1400ea212]
lea ecx, [rax + 1]
lea r13d, [rax + 0x67]
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 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, 0xab69
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov edx, r8d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov eax, r8d
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
xor eax, 0xab69
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, 0xab69
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 edi, eax
lea eax, [rdi - 0x54969fa2]
rol eax, 3
mov edx, edi
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 edi, eax
mov eax, edi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, edi
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, esi
xor edi, edx
mov dword [rbp + 0x1c], edi
xor r8d, r14d
mov dword [rbp + 0x18], r8d
mov byte [r12 - 4], dil
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x18]
mov byte [r12], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0x1c]
mov byte [r12 - 5], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x18]
mov byte [r12 - 1], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0x1c]
mov byte [r12 - 6], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x18]
mov byte [r12 - 2], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0x1c]
mov byte [r12 - 7], al
mov al, byte [rbp + 0x18]
mov byte [r12 - 3], al
mov r11d, dword [rbp + 0x1c]
ror r11d, 8
mov dword [rbp + 0x1c], r11d
mov edx, dword [rbp + 0x18]
ror edx, 8
mov dword [rbp + 0x18], edx
mov esi, r10d
mov r14d, r9d
lea r12, [r12 + 8]
sub r13, rcx
jne 0x1400a9301
xor r12d, r12d
mov eax, r12d
mov cl, r12b
mov esi, dword [rsp + 0x60]
or r14, 0xffffffffffffffff
mov ebx, dword [rsp + 0x70]
mov r13d, ebx
lea edx, [r12 + 1]
mov edi, 0x338
xor cl, byte [rax + r15]
add rax, rdx
cmp rax, rdi
jb 0x1400a963d
movzx eax, cl
cmp rax, qword [0x1400ea548]
je 0x1400aa09e
mov r13d, 0xc004d501
jmp 0x1400aa0af
lea r8, [rbp + 0x5b0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a96a1
mov rax, qword [rbp + 0x5c8]
mov qword [rbp + 0x30], rax
mov eax, dword [rbp + 0x5b4]
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x5b8]
mov dword [rbp - 0x78], eax
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x58], rax
xor ecx, ecx
test rax, rax
je 0x1400a9031
sub r13d, dword [rbp + 0x974]
sub edi, dword [rbp + 0x970]
mov qword [rbp + 0x3f8], rcx
mov dword [rbp - 0x80], ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xa38]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa38], 0x28
mov dword [rbp + 0xa3c], edi
mov eax, r13d
neg eax
mov dword [rbp + 0xa40], eax
mov dword [rbp + 0xa44], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3f8]
xor r8d, r8d
lea rdx, [rbp + 0xa38]
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x1400a9773
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
xor r13d, r13d
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x80], ecx
test ecx, ecx
js 0x1400a9ac1
mov dword [rbp - 0x80], 0x80004005
jmp 0x1400a9ac1
lea r8, [rbp + 0x7e0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x7f8]
mov qword [rbp + 0x88], rcx
mov dword [rbp + 0x988], edi
mov dword [rbp + 0x98c], r13d
mov rdx, qword [rbp - 0x28]
mov rdi, qword [rbp + 0x58]
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov edx, 1
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov rdx, qword [rbp + 0x50]
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x60], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006d218.0]
mov r8, rax
lea rdx, [rbp + 0x980]
mov rcx, rdi
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
xor r13d, r13d
mov qword [rsp + 0x28], r13
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x980]
mov r8d, r14d
mov rdx, qword [rbp - 0x38]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
lea eax, [r13 + 1]
cmp dword [rbp - 0x40], eax
jne 0x1400a9875
cmp dword [rbp - 0x48], r13d
je 0x1400a986e
lea ecx, [rax + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006d218.0]
jmp 0x1400a987a
mov eax, 0xffffff
jmp 0x1400a987a
mov eax, 0xffa8a8a8
mov dword [rbp - 0x48], eax
mov eax, dword [rbp + 0x970]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, r13d
mov r9d, r13d
cmovns r9d, eax
mov eax, dword [rbp + 0x974]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r13d
mov r10d, r13d
cmovns r10d, eax
mov eax, dword [rbp + 0x988]
sub eax, r8d
movsxd r13, dword [rbp + 0x10]
mov r11d, r13d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x98c]
sub eax, ecx
mov edx, dword [rbp - 0x78]
sub edx, r10d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x1400a9a91
test edx, edx
jle 0x1400a9a91
mov eax, dword [rbp + 0x988]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x88]
lea rdi, [rax + rcx*4]
mov qword [rbp + 0x50], rdi
mov eax, r13d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x30]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x30], rax
movsxd rcx, dword [rbp + 0x988]
shl rcx, 2
mov qword [rbp + 0x88], rcx
mov r8, r13
shl r8, 2
mov qword [rbp + 0x10], r8
mov qword [rbp - 0x78], rdx
mov r14d, dword [rbp - 0x48]
xor r13d, r13d
lea esi, [r13 + 1]
test r11d, r11d
jle 0x1400a9a6a
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
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 0x1400a9a42
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
mov r13d, 0x80808081
mov eax, r13d
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, r13d
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, r13d
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, r13d
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]
xor r13d, r13d
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x38], rdi
jne 0x1400a996e
mov rdi, qword [rbp + 0x50]
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x78]
add rdi, rcx
mov qword [rbp + 0x50], rdi
add rax, r8
mov qword [rbp + 0x30], rax
sub rdx, rsi
mov qword [rbp - 0x78], rdx
jne 0x1400a9954
mov esi, dword [rsp + 0x60]
or r14, 0xffffffffffffffff
mov rdi, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp + 0x60]
xor r13d, r13d
test rax, rax
je 0x1400a9ac1
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
cmp dword [rbp - 0x80], r13d
jl 0x1400a903a
mov eax, dword [rbp + 0x4d4]
mov dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x4f8]
mov qword [rbp + 0x60], rax
mov r13, qword [rbp + 0x4e0]
mov qword [rbp + 0x88], r13
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x700]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x770]
call sub.msvcrt.dll_memset
xor ecx, ecx
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0x78], ecx
mov edi, ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xa68]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9a0], rax
mov qword [rbp + 0x9a8], rax
test r13, r13
je 0x1400a9037
lea edx, [rax + 7]
mov r13, qword [rbp + 0x38]
mov rcx, r13
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
je 0x1400a9031
lea r8, [rbp + 0x700]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x1400a9bb5
mov rax, qword [rbp + 0x718]
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0x704]
mov dword [rbp - 0x78], eax
mov edi, dword [rbp + 0x708]
mov rcx, r13
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x80], rax
xor r13d, r13d
test rax, rax
jne 0x1400a9bdc
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a903a
sub r12d, dword [rsp + 0x6c]
sub r15d, dword [rbp + 0x960]
mov qword [rbp + 0x408], r13
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa68]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa68], 0x28
mov dword [rbp + 0xa6c], r15d
mov eax, r12d
neg eax
mov dword [rbp + 0xa70], eax
mov dword [rbp + 0xa74], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x408]
xor r8d, r8d
lea rdx, [rbp + 0xa68]
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x58], rax
test rax, rax
jne 0x1400a9c8c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
mov r15, qword [rbp - 0x80]
test r13d, r13d
js 0x1400a9fd0
mov r13d, 0x80004005
jmp 0x1400a9fd0
lea r8, [rbp + 0x770]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x788]
mov qword [rbp - 0x38], rcx
mov dword [rbp + 0x9a8], r15d
mov dword [rbp + 0x9ac], r12d
mov rdx, qword [rbp + 0x58]
mov r15, qword [rbp - 0x80]
mov rcx, r15
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov edx, 1
mov rcx, r15
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov rdx, qword [rbp + 0x60]
mov rcx, r15
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x48], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006d218.0]
mov r8, rax
lea rdx, [rbp + 0x9a0]
mov rcx, r15
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
xor r12d, r12d
mov qword [rsp + 0x28], r12
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9a0]
mov r8d, r14d
mov rdx, qword [rbp + 0x88]
mov rcx, r15
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
lea eax, [r12 + 1]
cmp dword [rbp - 0x40], eax
jne 0x1400a9d93
cmp dword [rbp + 0x10], r12d
je 0x1400a9d89
lea ecx, [rax + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006d218.0]
jmp 0x1400a9d98
mov dword [rsp + 0x68], 0xffffff
jmp 0x1400a9d9f
mov eax, 0xffa8a8a8
mov dword [rsp + 0x68], eax
mov dword [rbp - 0x18], eax
mov eax, dword [rbp + 0x960]
mov edx, eax
neg edx
test eax, eax
cmovns edx, r12d
mov r8d, r12d
cmovns r8d, eax
mov eax, dword [rsp + 0x6c]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r12d
mov r9d, r12d
cmovns r9d, eax
movsxd r12, dword [rbp + 0x9a8]
mov eax, r12d
sub eax, edx
movsxd r10, dword [rbp - 0x78]
mov r11d, r10d
sub r11d, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9ac]
sub eax, ecx
sub edi, r9d
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x1400a9fa3
test edi, edi
jle 0x1400a9fa3
mov eax, r12d
imul eax, ecx
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp - 0x38]
lea rdx, [rax + rcx*4]
mov qword [rbp - 0x38], rdx
mov eax, r10d
imul eax, r9d
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x28]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x30], rax
mov rcx, r12
shl rcx, 2
mov qword [rbp + 0x60], rcx
mov r8, r10
shl r8, 2
mov qword [rbp + 0x88], r8
mov qword [rbp + 0x50], rdi
mov esi, dword [rbp - 0x18]
xor r12d, r12d
lea r15d, [r12 + 1]
test r11d, r11d
jle 0x1400a9f80
lea r9, [rdx + 2]
mov r10, rax
sub r10, rdx
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 0x1400a9f58
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, sil
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 [rsp + 0x69]
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 [rsp + 0x6a]
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]
xor r12d, r12d
add r9, 4
sub rdi, r15
mov qword [rbp - 0x28], rdi
jne 0x1400a9e82
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x50]
add rdx, rcx
mov qword [rbp - 0x38], rdx
add rax, r8
mov qword [rbp + 0x30], rax
sub rdi, r15
mov qword [rbp + 0x50], rdi
jne 0x1400a9e68
mov esi, dword [rsp + 0x60]
mov r15, qword [rbp - 0x80]
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x1400a9fd0
mov rdx, rax
mov rcx, r15
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov rcx, r15
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
test r13d, r13d
js 0x1400a9037
mov eax, 1
xor r13d, r13d
mov r9d, ebx
mov rdi, qword [rbp + 0x70]
cmp dword [rbp - 0x40], eax
jne 0x1400aa03e
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x70]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x510]
mov edx, dword [rbp + 0x50c]
mov rcx, rdi
mov rax, qword [0x140106020]
call qword [case.0x14006d218.0]
jmp 0x1400aa085
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x50], ecx
mov eax, dword [rbp - 0x70]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov rcx, qword [rbp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x944]
mov edx, dword [rbp + 0x940]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov edx, dword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
jmp 0x1400a903a
mov qword [rbp + 0x1a8], r15
mov r15, r12
mov qword [rbp + 0x308], rdi
test r15, r15
je 0x1400aa0c8
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 0x1400aa20e
mov rdi, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x308]
mov byte [rax + rdi - 1], r12b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r15, [0x14010a7b0]
mov rcx, r15
call sub.msvcrt.dll_memset
cmp byte [rdi], r12b
je 0x1400aa213
jmp 0x1400aa10b
lea r15, [0x14010a7b0]
mov rdx, rdi
mov rax, r14
inc rax
cmp word [rdi + rax*2], r12w
jne 0x1400aa111
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x80]
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 0x1400aa20e
mov ebx, r12d
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400aa154
mov ebx, 0xc000007b
jmp 0x1400aa19f
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400aa14d
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x1400aa14d
cmp dword [rcx], 0x4550
jne 0x1400aa14d
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400aa18d
mov ebx, 0xc000000d
jmp 0x1400aa19f
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
xor ecx, ecx
test r13d, r13d
je 0x1400aa1f6
mov rdx, rdi
mov rax, r14
inc rax
cmp byte [rdi + rax], cl
jne 0x1400aa1b4
inc rdi
add rdi, rax
test ebx, ebx
js 0x1400aa1e5
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400aa213
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x140106020]
mov qword [rdx + rcx*8], rax
xor ecx, ecx
mov eax, 1
add dword [rsp + 0x6c], eax
add r12d, eax
cmp r12d, r13d
jb 0x1400aa1ae
mov r15d, 1
add dword [rbp - 0x80], r15d
xor r12d, r12d
cmp byte [rdi], r12b
jne 0x1400aa104
jmp 0x1400aa219
mov ebx, 0xc000007a
mov r15d, 1
xor r13d, r13d
cmp qword [rbp + 0x1a8], r13
je 0x1400aa23d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1a8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
jns 0x1400aa290
lea r12, [0x14010a7b0]
mov rdi, r12
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400aa25e
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r15
jne 0x1400aa250
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x1400aa2a6
mov eax, dword [0x14010bea8]
add eax, r15d
mov dword [0x14010bea8], eax
lea r12, [0x14010a7b0]
mov eax, r13d
xchg dword [0x14010beac], eax
mov rcx, qword [rbp + 0x60]
mov dword [rbp + 0xd48], ecx
mov dword [rbp + 0xd40], r15d
mov dword [rbp + 0xd58], 0x9966f291
mov dword [rbp + 0xd50], r15d
mov dword [rbp + 0xd68], r15d
mov dword [rbp + 0xd60], r15d
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0xd78], eax
mov dword [rbp + 0xd70], r15d
lea r9, [rbp + 0xd40]
mov edx, 0x2021
xor ecx, ecx
lea r8d, [rcx + 4]
mov rax, qword [0x1401060f0]
call qword [case.0x14006d218.0]
xor eax, eax
lock cmpxchg dword [0x14010beac], r15d
jne 0x1400aa30e
mov eax, dword [0x14010bea8]
test eax, eax
jle 0x1400aa376
sub eax, r15d
mov dword [0x14010bea8], eax
jne 0x1400aa376
mov rdi, r12
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400aa346
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r15
jne 0x1400aa338
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, r13d
xchg dword [0x14010beac], eax
mov rdx, qword [rbp + 0x70]
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
lea rcx, [rbp + 0x410]
call fcn.140004808
cmp dword [rbp + 0x78], r13d
je 0x1400ac73a
mov rbx, r13
mov r15, r13
xor eax, eax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x130], rax
mov dword [rbp + 0x210], r13d
lea rax, [0x140109470]
mov qword [rbp + 0x418], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x310], 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 0x1400ac6b3
mov r8, qword [rbp + 0x310]
mov rdx, qword [rbp + 0x418]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rbx, r12
mov qword [rsp + 0x78], rbx
mov r13d, dword [rbp + 0x310]
lea rax, [0x1401093b8]
mov qword [rbp + 0x348], rax
mov qword [rbp + 0x318], 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 + 0x60], rax
test rax, rax
je 0x1400ac6b0
mov r8, qword [rbp + 0x318]
mov rdx, qword [rbp + 0x348]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r15, rdi
mov qword [rbp - 0x18], rdi
mov rdi, qword [rbp + 0x318]
mov qword [rbp + 0x48], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x320], rax
mov ecx, 8
mov dword [rbp + 0xe0], ecx
lea ebx, [r13 + 4]
or r8d, 0xffffffff
mov eax, r8d
cmp ebx, 4
cmovae eax, ebx
mov edx, ecx
jb 0x1400ac6ad
mov ecx, eax
mov dword [rbp + 0xe0], eax
mov edx, eax
lea eax, [rax + 8]
mov edx, r8d
cmp eax, 8
cmovae edx, eax
jb 0x1400ac6ad
lea r15d, [rdi + 4]
mov eax, r8d
cmp r15d, 4
cmovae eax, r15d
cmovae ecx, eax
mov dword [rbp + 0xe0], ecx
jb 0x1400ac6a9
lea eax, [rcx + rdx]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
jb 0x1400ac6a9
mov dword [rbp + 0xe0], SafeArrayDestroy
lea eax, [rcx + 0xc]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
jb 0x1400ac6a9
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
xor r11d, r11d
test rax, rax
je 0x1400ac6a9
mov qword [rbp - 8], rax
mov r8d, r11d
mov dword [rbp - 0x10], r11d
mov dword [rbp + 0x1f8], 4
lea rcx, [rax + 4]
mov rdi, r14
cmp rcx, rax
cmovae rdi, rcx
sbb r9d, r9d
and r9d, 0xc0000095
cmp rcx, rax
jb 0x1400aa5b5
mov ecx, dword [rbp - 0xc]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x1400aa9bf
mov dword [rdx], 4
mov eax, dword [rbp + 0x1f8]
mov dword [rdi], eax
mov r8d, dword [rbp - 0x10]
inc r8d
mov dword [rbp - 0x10], r8d
test r9d, r9d
js 0x1400ac6a9
test r13d, r13d
je 0x1400aa6da
cmp qword [rbp - 8], r11
jne 0x1400aa621
or eax, 0xffffffff
cmp ebx, 4
cmovae eax, ebx
mov edx, dword [rbp + 0xe4]
cmovae edx, eax
mov dword [rbp + 0xe4], edx
jb 0x1400ac6a9
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, 0xc0000095
mov r12d, 1
cmp eax, ecx
jb 0x1400aa6e8
add r8d, r12d
mov dword [rbp - 0x10], r8d
xor r13d, r13d
jmp 0x1400aa6f3
mov rdi, qword [rbp - 8]
mov r10d, r11d
test r8d, r8d
je 0x1400aa684
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 0x1400ac6a9
mov edx, r9d
mov rcx, rdi
add rdx, rdi
mov rax, r14
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x1400aa6df
inc r10d
cmp r10d, r8d
jb 0x1400aa634
lea rax, [rdi + 4]
mov r9, r14
cmp rax, rdi
cmovae r9, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, rdi
jb 0x1400aa6df
mov r8, r13
mov ecx, dword [rbp - 0xc]
add rcx, qword [rbp - 8]
lea rax, [r13 + 4]
add rax, rdi
cmp rax, rcx
ja 0x1400aa9bf
mov dword [rdi], r13d
mov rdx, r12
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp - 0x10]
mov r12d, 1
add r8d, r12d
mov dword [rbp - 0x10], r8d
jmp 0x1400aa6e5
mov ebx, 0xc000000d
mov r12d, 1
mov edi, dword [rbp - 0xc]
xor r13d, r13d
test ebx, ebx
js 0x1400aa9c2
mov rdx, qword [rbp + 0x48]
test edx, edx
je 0x1400aa81a
cmp qword [rbp - 8], r13
jne 0x1400aa75f
or eax, 0xffffffff
cmp r15d, 4
cmovae eax, r15d
mov edx, dword [rbp + 0xe8]
cmovae edx, eax
mov dword [rbp + 0xe8], edx
jb 0x1400aa9c2
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 0x1400aa81f
add r8d, r12d
mov dword [rbp - 0x10], r8d
mov rax, qword [rbp + 0x320]
mov qword [rbp + 0x268], rax
jmp 0x1400aa83b
mov r9, qword [rbp - 8]
mov r11d, r13d
test r8d, r8d
je 0x1400aa7c7
mov r10d, dword [rbp + 0xe8]
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 + 0xe8], r10d
jb 0x1400aa9c2
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r14
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x1400aa81f
add r11d, r12d
cmp r11d, r8d
jb 0x1400aa772
mov rdx, qword [rbp + 0x48]
lea rax, [r9 + 4]
mov r10, r14
cmp rax, r9
cmovae r10, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, r9
jb 0x1400aa81f
mov r8d, edx
mov ecx, edi
add rcx, qword [rbp - 8]
lea rax, [r8 + 4]
add rax, r9
cmp rax, rcx
ja 0x1400aa9c2
mov dword [r9], edx
mov rdx, qword [rbp + 0x60]
mov rcx, r10
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp - 0x10]
add r8d, r12d
mov dword [rbp - 0x10], r8d
mov edi, dword [rbp - 0xc]
jmp 0x1400aa81f
mov ebx, 0xc000000d
test ebx, ebx
js 0x1400aa9c2
mov rax, qword [rbp + 0x320]
mov qword [rbp + 0x268], rax
cmp qword [rbp - 8], r13
jne 0x1400aa873
mov dword [rbp + 0x148], SafeArrayDestroy
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 0x1400aa92a
add r8d, r12d
mov dword [rbp - 0x10], r8d
jmp 0x1400aa933
mov r9, qword [rbp - 8]
mov ebx, r13d
test r8d, r8d
je 0x1400aa8d9
mov r11d, dword [rbp + 0x148]
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 + 0x148], r11d
jb 0x1400aa9c2
mov edx, r11d
mov rcx, r9
add rdx, r9
mov rax, r14
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r10d, r10d
and r10d, 0xc0000095
cmp rdx, rcx
jb 0x1400aa92a
add ebx, r12d
cmp ebx, r8d
jb 0x1400aa886
lea rax, [r9 + 4]
mov rdx, r14
cmp rax, r9
cmovae rdx, rax
sbb r10d, r10d
and r10d, 0xc0000095
cmp rax, r9
jb 0x1400aa92a
mov ecx, edi
add rcx, qword [rbp - 8]
lea rax, [r9 + 0xc]
cmp rax, rcx
ja 0x1400aa9c2
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x268]
movsd qword [rdx], xmm0
mov r8d, dword [rbp - 0x10]
add r8d, r12d
mov dword [rbp - 0x10], r8d
mov edi, dword [rbp - 0xc]
test r10d, r10d
js 0x1400aa9c2
mov dword [rbp + 0x47c], SafeArrayDestroy
mov r9, r13
mov qword [rbp + 0x38], r13
xor eax, eax
mov qword [rbp + 0x1b0], rax
mov qword [rbp - 0x40], rax
xor r15d, r15d
mov dword [rbp + 0x10], r15d
mov qword [rbp - 0x28], r15
mov dword [rbp + 0x68], r15d
mov r12d, r15d
mov qword [rbp + 0x70], r15
mov qword [rbp + 0xa8], r15
mov dword [rbp + 0xf4], r15d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x270], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
mov dword [rbp + 0xec], ecx
sbb edi, edi
and edi, 0xc0000095
cmp eax, 8
jb 0x1400aaa9d
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x1400aa9d0
mov edi, 0xc0000095
jmp 0x1400aaa9d
xor r13d, r13d
mov rbx, qword [rsp + 0x78]
mov r15, qword [rbp - 0x18]
jmp 0x1400ac6b3
mov dword [rbp + 0xec], 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 0x1400aaa04
mov edi, 0xc0000017
mov r9, r13
jmp 0x1400aaa99
mov eax, dword [rbp - 0x10]
mov dword [rbx], eax
lea rax, [rbx + 4]
mov rcx, r14
cmp rax, rbx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rbx
jb 0x1400aaa79
mov eax, dword [rbp - 0xc]
mov dword [rcx], eax
lea rax, [rcx + 4]
mov r9, r14
cmp rax, rcx
cmovae r9, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rcx
jb 0x1400aaa79
mov ecx, dword [rbp + 0xec]
mov rax, qword [rbp + 0x270]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rbp - 0xc]
mov rdx, qword [rbp - 8]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r9, rbx
mov qword [rbp + 0x38], rbx
mov rbx, r15
mov r13d, dword [rbp + 0xec]
jmp 0x1400aaa7c
mov r9, r13
test rbx, rbx
je 0x1400aaa99
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 + 0x38]
mov r8d, dword [rbp - 0x10]
or edi, 0x10000000
jl 0x1400ab708
mov qword [rbp + 0x428], r15
mov qword [rbp + 0x430], r15
mov qword [rbp + 0x438], r15
mov qword [rbp + 0x440], r15
mov qword [rbp + 0x260], r15
mov qword [rbp + 0x420], r15
mov qword [rbp + 0x48], r15
test r9, r9
jne 0x1400aaae6
mov edi, 0xc000000d
jmp 0x1400ab2ab
mov ebx, r13d
mov qword [rbp + 0x88], rbx
xor r13d, r13d
test rbx, rbx
je 0x1400ab1fb
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 r13, rax
mov qword [rbp - 0x38], rax
xor eax, eax
test r13, r13
je 0x1400ab1f4
mov dl, al
mov byte [rsp + 0x64], al
mov ecx, eax
mov r9, qword [rbp + 0x38]
test rbx, rbx
je 0x1400aab47
lea edi, [rax + 1]
xor dl, byte [rcx + r9]
add rcx, rdi
cmp rcx, rbx
jb 0x1400aab37
mov byte [rsp + 0x64], dl
movabs rcx, 0xc81ecb17b1b54a58
mov qword [rbp + 0x930], rcx
mov r8, r13
mov edi, eax
mov dword [rbp - 0x1c], eax
or r11d, 0xffffffff
mov dword [rbp - 0x4c], r11d
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x48], eax
mov rax, rbx
and eax, 7
je 0x1400aac76
mov ecx, edi
mov dword [rbp - 0x70], ecx
mov r10d, edi
mov dword [rbp - 0x48], edi
mov r11d, edi
test eax, eax
je 0x1400aabe8
mov r10d, 0x38
mov r12d, ecx
lea esi, [r10 - 0x37]
lea rcx, [r9 + 1]
mov qword [rbp + 0x60], rcx
movzx edi, byte [r9]
cmp r11d, 4
jge 0x1400aabb9
lea ecx, [r10 - 0x20]
shl edi, cl
or r12d, edi
mov ecx, dword [rbp - 0x70]
jmp 0x1400aabc6
mov ecx, r10d
shl edi, cl
mov ecx, dword [rbp - 0x70]
or ecx, edi
mov dword [rbp - 0x70], ecx
add r11d, esi
sub r10d, 8
mov rdi, qword [rbp + 0x60]
mov r9, rdi
cmp r11d, eax
jl 0x1400aab99
mov dword [rbp - 0x48], r12d
mov esi, dword [rsp + 0x60]
mov r12, r15
mov r10d, dword [rbp - 0x48]
mov edi, r10d
xor edi, 0xb17a307a
mov dword [rbp - 0x1c], edi
mov r11d, ecx
xor r11d, 0x42f6b18d
mov dword [rbp - 0x4c], r11d
xor r10d, r10d
mov ecx, r10d
test eax, eax
jle 0x1400aac40
lea r15d, [r10 + 1]
lea r10, [r8 + 1]
cmp ecx, 4
jge 0x1400aac21
rol edi, 8
mov byte [r8], dil
jmp 0x1400aac28
rol r11d, 8
mov byte [r8], r11b
add ecx, r15d
mov r8, r10
cmp ecx, eax
jl 0x1400aac10
mov edi, dword [rbp - 0x1c]
mov r11d, dword [rbp - 0x4c]
mov r15, qword [rbp + 0x48]
xor r10d, r10d
add eax, 0xfffffffc
test eax, eax
jle 0x1400aac5d
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x4c], r11d
jmp 0x1400aac76
mov r11d, r10d
mov dword [rbp - 0x4c], r10d
test eax, eax
jns 0x1400aac76
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x1c], edi
mov rax, rbx
shr rax, 3
mov qword [rbp + 0x60], rax
test rax, rax
je 0x1400aafdb
mov edx, dword [rbp + 0x934]
shr edx, 0x10
movzx eax, word [rbp + 0x932]
mov dword [rbp - 0x78], eax
movzx esi, word [rbp + 0x934]
lea r13, [r8 + 7]
lea rbx, [r9 + 2]
mov r12, qword [rbp + 0x60]
mov r14d, dword [rbp - 0x70]
mov r15d, dword [rbp - 0x48]
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, r9d
lea rbx, [rbx + 8]
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
xor r8d, dword [rbp + 0x934]
mov ecx, r8d
mov edi, dword [rbp + 0x934]
xor ecx, edi
ror ecx, 0xf
mov eax, r8d
ror eax, 7
imul ecx, dword [rbp - 0x78]
add eax, ecx
xor r11d, eax
lea ecx, [r11 - 0x4e4ab5a8]
ror ecx, 9
mov eax, r11d
ror eax, 0xa
imul ecx, esi
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, esi
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 + 0x932]
imul ecx, eax
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, esi
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, edx
imul eax, esi
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 + 0x932]
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, esi
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, esi
rol eax, 3
mov ecx, r11d
shr ecx, 0xf
imul eax, eax, 0x4a58
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, esi
imul ecx, edi
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 9
mov eax, r11d
ror eax, 0xb
imul ecx, esi
xor eax, ecx
xor r8d, eax
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 + 0x932]
xor eax, ecx
imul ecx, eax, 0x4a58
sub ecx, edi
xor r8d, ecx
mov ecx, r8d
xor ecx, edx
rol ecx, 4
mov eax, r8d
ror eax, 0x10
movzx edi, word [rbp + 0x932]
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 0xa
mov eax, r11d
ror eax, 4
imul ecx, esi
add eax, ecx
xor r8d, eax
lea ecx, [r8 + 0x4e4ab5a8]
ror ecx, 4
mov eax, r8d
ror eax, 9
imul ecx, edx
xor eax, ecx
xor r11d, eax
mov eax, r11d
mov edi, dword [rbp + 0x934]
xor eax, edi
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r8d, eax
mov ecx, edi
sub ecx, r8d
ror ecx, 0xb
mov eax, r8d
ror eax, 0xc
imul ecx, dword [rbp - 0x78]
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
movzx eax, word [rbp + 0x932]
xor ecx, eax
imul ecx, esi
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor r8d, r15d
mov dword [rbp - 0x1c], r8d
mov ecx, edi
xor ecx, r14d
xor ecx, r11d
xor ecx, eax
xor ecx, 0xb1b54a58
mov dword [rbp - 0x4c], ecx
mov byte [r13 - 4], r8b
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x4c]
mov byte [r13], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x1c]
mov byte [r13 - 5], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x4c]
mov byte [r13 - 1], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x1c]
mov byte [r13 - 6], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x4c]
mov byte [r13 - 2], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x1c]
mov byte [r13 - 7], al
mov al, byte [rbp - 0x4c]
mov byte [r13 - 3], al
mov edi, dword [rbp - 0x1c]
ror edi, 8
mov dword [rbp - 0x1c], edi
mov r11d, dword [rbp - 0x4c]
ror r11d, 8
mov dword [rbp - 0x4c], r11d
mov r15d, r10d
mov r14d, r9d
lea r13, [r13 + 8]
sub r12, 1
jne 0x1400aacb8
mov dl, byte [rsp + 0x64]
mov esi, dword [rsp + 0x60]
or r14, 0xffffffffffffffff
mov r12, qword [rbp + 0x70]
mov r15, r12
mov rbx, qword [rbp + 0x88]
mov r13, qword [rbp - 0x38]
movzx eax, dl
mov qword [rbx + r13], rax
mov qword [rbp + 0x260], r13
lea rdi, [rbx + 8]
mov qword [rbp + 0x420], rdi
lea rax, [0x140109460]
mov qword [rbp + 0x428], rax
mov ebx, 8
mov qword [rbp + 0x430], rbx
lea rax, [0x1401093c0]
mov qword [rbp + 0x438], rax
mov qword [rbp + 0x440], RegisterTypeLib
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 0x1400ab051
mov edi, 0xc0000017
xor r13d, r13d
jmp 0x1400ab1e0
mov dword [rbx], edi
mov edi, edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400ab07e
mov edi, 0xc0000017
xor r13d, r13d
jmp 0x1400ab15d
mov qword [rbx + 8], rax
mov r8, rdi
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov edi, RegisterTypeLib
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]
xor r13d, r13d
test rax, rax
jne 0x1400ab0c3
mov edi, 0xc0000017
jmp 0x1400ab15d
mov qword [rbx + 0x18], rax
lea rcx, [0x1401093c0]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
mov edx, 0x80
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 r8, rdi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400ab0b9
mov qword [rbx + 0x28], rax
mov edi, r13d
movsd xmm0, qword [0x140109460]
movsd qword [rax], xmm0
mov r15, rbx
mov rbx, r13
test rbx, rbx
je 0x1400ab1e0
mov r13, qword [rbx + 8]
test r13, r13
je 0x1400ab185
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 8], rax
mov r13, qword [rbx + 0x18]
test r13, r13
je 0x1400ab1a8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x18], rax
mov r13, qword [rbx + 0x28]
test r13, r13
je 0x1400ab1cc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r13d, r13d
mov qword [rbx + 0x28], r13
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 0x1400ab200
mov qword [rbp + 0x1b0], r15
mov r15, r13
jmp 0x1400ab200
mov r8d, dword [rbp - 0x10]
xor r13d, r13d
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x260]
test rbx, rbx
je 0x1400ab22b
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 + 0x260], r13
mov r8d, dword [rbp - 0x10]
test r15, r15
je 0x1400ab2ab
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400ab251
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], r13
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x1400ab272
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], r13
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x1400ab293
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], r13
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 0x1400ac3cf
mov rbx, qword [rbp + 0x1b0]
mov r10d, dword [rbx + 0x20]
mov r9d, dword [rbx + 0x10]
mov eax, dword [rbx]
add eax, 4
or r15d, 0xffffffff
mov ecx, r15d
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
mov r11d, 0xc0000095
and edi, r11d
cmp eax, 4
jb 0x1400ab34c
lea eax, [rcx + 4]
mov edx, r15d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r11d
cmp eax, ecx
jb 0x1400ab34c
lea eax, [rdx + r9]
mov ecx, r15d
cmp eax, edx
cmovae ecx, eax
sbb edi, edi
and edi, r11d
cmp eax, edx
jb 0x1400ab34c
lea eax, [rcx + 4]
mov edx, r15d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r11d
cmp eax, ecx
jb 0x1400ab34c
lea ecx, [rdx + r10]
mov eax, r15d
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, r11d
mov r9d, dword [rbp + 0xf0]
cmp ecx, edx
cmovae r9d, eax
mov dword [rbp + 0xf0], r9d
jmp 0x1400ab353
mov r9d, dword [rbp + 0xf0]
xor r15d, r15d
test edi, edi
js 0x1400ab4bc
mov edi, r9d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
lea edx, [r15 + 8]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
xor eax, eax
test r15, r15
jne 0x1400ab395
mov edi, 0xc0000017
mov r13d, eax
mov r8d, dword [rbp - 0x10]
xor r15d, r15d
jmp 0x1400ab4bf
mov eax, dword [rbx]
mov dword [r15], eax
lea rax, [r15 + 4]
mov r13, r14
cmp rax, r15
cmovae r13, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, r15
jb 0x1400ab496
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
add rcx, r13
mov rdx, r14
cmp rcx, r13
cmovae rdx, rcx
sbb edi, edi
mov r11d, 0xc0000095
and edi, r11d
cmp rcx, r13
jb 0x1400ab496
mov eax, dword [rbx + 0x10]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r13, r14
cmp rax, rdx
cmovae r13, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x1400ab496
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
mov rdx, r14
cmp rcx, r13
cmovae rdx, rcx
sbb edi, edi
mov r11d, 0xc0000095
and edi, r11d
cmp rcx, r13
jb 0x1400ab496
mov eax, dword [rbx + 0x20]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r13, r14
cmp rax, rdx
cmovae r13, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x1400ab496
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 0x1400ab496
mov r13, r15
mov qword [rbp - 0x40], r15
xor eax, eax
mov r15d, eax
mov eax, dword [rbp + 0xf0]
mov dword [rbp + 0x10], eax
jmp 0x1400ab49a
mov r13, qword [rbp - 0x40]
test r15, r15
je 0x1400ab389
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400ab389
mov r13, r15
or edi, 0x10000000
jl 0x1400ac3d3
mov qword [rbp + 0x448], r15
mov r10d, r15d
mov dword [rbp + 0x200], r15d
mov qword [rbp + 0x450], r15
mov r11d, r15d
mov dword [rbp + 0x204], r15d
mov dword [rbp + 0x478], 0x1c
mov dword [rbp + 0x404], 0x28
mov dword [rbp + 0x400], 0x28
cmp qword [rbp - 8], r15
jne 0x1400ab51b
mov edi, 0xc000000d
jmp 0x1400ab6c2
mov eax, 1
cmp r8d, eax
jbe 0x1400ab511
mov rdx, qword [rbp - 8]
mov ebx, r15d
lea rax, [rdx + 4]
mov r9, r14
cmp rax, rdx
cmovae r9, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x1400ab5a7
mov ecx, dword [rdx]
add rcx, r9
mov rdx, r14
cmp rcx, r9
cmovae rdx, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r9
jb 0x1400ab5a7
mov eax, 1
add ebx, eax
cmp ebx, eax
jb 0x1400ab52c
mov r9d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r14
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x1400ab5a7
mov r10d, r9d
mov dword [rbp + 0x200], r9d
mov rax, r15
test r9d, r9d
cmovne rax, rcx
mov qword [rbp + 0x448], rax
test edi, edi
js 0x1400ac3d3
cmp r8d, 2
jbe 0x1400ab511
mov rdx, qword [rbp - 8]
mov r9d, r15d
lea rax, [rdx + 4]
mov r8, r14
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x1400ab63e
mov ecx, dword [rdx]
add rcx, r8
mov rdx, r14
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r8
jb 0x1400ab63e
inc r9d
cmp r9d, 2
jb 0x1400ab5c0
mov r8d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r14
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
mov r9d, 0xc0000095
and edi, r9d
cmp rax, rdx
jb 0x1400ab644
mov r11d, r8d
mov dword [rbp + 0x204], r8d
mov rax, r15
test r8d, r8d
cmovne rax, rcx
mov qword [rbp + 0x450], rax
jmp 0x1400ab644
mov r9d, 0xc0000095
test edi, edi
js 0x1400ac3d3
lea eax, [r10 + 0x30]
or edx, 0xffffffff
mov ecx, edx
cmp eax, 0x30
cmovae ecx, eax
sbb edi, edi
and edi, r9d
cmp eax, 0x30
jb 0x1400ab69f
lea eax, [rcx + 4]
mov r8d, edx
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r9d
cmp eax, ecx
jb 0x1400ab69f
lea ecx, [r8 + r11]
mov eax, edx
cmp ecx, r8d
cmovae eax, ecx
sbb edi, edi
and edi, r9d
mov edx, dword [rbp + 0x14c]
cmp ecx, r8d
cmovae edx, eax
mov dword [rbp + 0x14c], edx
jmp 0x1400ab6a5
mov edx, dword [rbp + 0x14c]
test edi, edi
js 0x1400ac3d3
cmp edx, 0x400000
jbe 0x1400ab6bf
mov edi, 0x8000ffff
jmp 0x1400ac3d3
mov dword [rbp + 0x68], edx
test edi, edi
js 0x1400ac3d3
mov edi, dword [rbp + 0x68]
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 0x1400ab6f6
mov edi, 0xd0000017
jmp 0x1400ac3d3
mov qword [rbp - 0x28], rbx
mov r15, qword [rbp - 0x40]
test r15, r15
jne 0x1400ab710
mov edi, 0x80070057
mov r13, r15
jmp 0x1400ac3d3
mov qword [rbp + 0x4a0], r15
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0x4b0], eax
mov qword [rbp + 0x4a8], rbx
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x4b4], eax
xor r15d, r15d
mov dword [rbp + 0x4b8], r15d
lea r8, [rbp + 0x458]
lea rdx, [0x1400e8408]
lea ecx, [r15 + 1]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400ab778
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x1400ab773
mov edi, 0x80004005
mov edx, dword [rbp + 0x68]
jmp 0x1400ab7be
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x458]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400ab756
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x4a0]
lea ecx, [r8 + 0x66]
call qword [case.0x14006d218.0]
mov edi, eax
or edi, 0x10000000
mov edx, dword [rbp + 0x68]
cmovge edx, dword [rbp + 0x4b4]
mov dword [rbp + 0x68], edx
cmp edi, 0xd0000023
jne 0x1400ab7d0
mov edi, 0x8007007a
jmp 0x1400ac3cf
test edi, edi
js 0x1400ac3cf
mov qword [rbp + 0x48], r15
cmp edx, 4
jae 0x1400ab7e8
mov edi, 0xc000003e
jmp 0x1400ab81e
mov r11d, dword [rbx]
mov dword [rsp + 0x70], r11d
lea rax, [rbx + 4]
mov r15, r14
cmp rax, rbx
cmovae r15, rax
sbb edi, edi
mov r9d, 0xc0000095
and edi, r9d
cmp rax, rbx
jb 0x1400ab81b
lea eax, [rdx - 4]
cmp eax, r11d
jae 0x1400ab84e
mov edi, 0xc000003e
xor r15d, r15d
or edi, 0x10000000
jl 0x1400ac3cf
mov rbx, r15
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x2c0], r15
test r12, r12
jne 0x1400abc03
mov edi, 0xd000000d
jmp 0x1400ac3cf
lea rcx, [r15 + r11]
mov r8, r14
cmp rcx, r15
cmovae r8, rcx
sbb edi, edi
and edi, r9d
cmp rcx, r15
jb 0x1400ab81b
lea eax, [r11 + 4]
or r10d, 0xffffffff
mov ecx, r10d
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
and edi, r9d
cmp eax, 4
jb 0x1400ab81b
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x1400ab816
mov ebx, dword [r8]
mov dword [rbp - 0x78], ebx
lea rax, [r8 + 4]
mov r13, r14
cmp rax, r8
cmovae r13, rax
sbb edi, edi
and edi, r9d
cmp rax, r8
jb 0x1400ab81b
lea eax, [rcx + 4]
mov r9d, r10d
cmp eax, ecx
cmovae r9d, eax
sbb edi, edi
mov r8d, 0xc0000095
and edi, r8d
cmp eax, ecx
jb 0x1400ab81b
mov eax, edx
sub eax, r9d
cmp eax, ebx
jb 0x1400ab816
lea rcx, [rbx + r13]
mov r10, r14
cmp rcx, r13
cmovae r10, rcx
sbb edi, edi
and edi, r8d
cmp rcx, r13
jb 0x1400ab81b
lea eax, [r9 + rbx]
or r8d, 0xffffffff
cmp eax, r9d
cmovae r8d, eax
sbb edi, edi
and edi, 0xc0000095
cmp eax, r9d
jb 0x1400ab81b
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x1400ab816
mov r9d, dword [r10]
mov dword [rbp + 0x10], r9d
lea rax, [r10 + 4]
mov rcx, r14
cmp rax, r10
cmovae rcx, rax
mov qword [rbp + 0x60], rcx
sbb edi, edi
and edi, 0xc0000095
cmp rax, r10
jb 0x1400ab81b
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 0x1400ab81b
mov eax, edx
sub eax, ecx
cmp eax, r9d
jb 0x1400ab816
lea eax, [rcx + r9]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x1400ab81b
cmp edx, r8d
jne 0x1400ab816
lea ecx, [rbx + r11]
add ecx, r9d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x1400ab816
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 rbx, rax
xor r12d, r12d
test rax, rax
jne 0x1400ab9e4
mov edi, 0xc0000017
xor r15d, r15d
jmp 0x1400abb5e
test r15, r15
je 0x1400aba31
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, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400aba1a
mov edi, 0xc0000017
xor r15d, r15d
jmp 0x1400abadf
mov qword [rbx + 8], rax
mov r8, rdi
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r15d, r15d
jmp 0x1400aba38
mov dword [rax], r15d
mov qword [rax + 8], r15
test r13, r13
je 0x1400aba7c
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, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400aba68
mov edi, 0xc0000017
jmp 0x1400abadf
mov qword [rbx + 0x18], rax
mov r8, rdi
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400aba84
mov dword [rbx + 0x10], r15d
mov qword [rbx + 0x18], r15
mov rdi, qword [rbp + 0x60]
test rdi, rdi
je 0x1400abacd
mov eax, dword [rbp + 0x10]
mov dword [rbx + 0x20], eax
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400aba0d
mov qword [rbx + 0x28], rax
mov r8d, r15d
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r15d, r15d
jmp 0x1400abad5
mov dword [rbx + 0x20], r15d
mov qword [rbx + 0x28], r15
mov qword [rbp + 0x48], rbx
mov rbx, r15
mov edi, r15d
test rbx, rbx
je 0x1400abb5e
mov r15, qword [rbx + 8]
test r15, r15
je 0x1400abb05
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], r12
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x1400abb26
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], r12
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x1400abb4a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r15d, r15d
mov qword [rbx + 0x28], r15
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, r15
test edi, edi
cmovs rbx, qword [rbp + 0x48]
mov r12, qword [rbp + 0x48]
cmovs r12, r15
mov qword [rbp + 0x70], r12
test rbx, rbx
je 0x1400ab81e
mov r15, qword [rbx + 8]
xor r13d, r13d
test r15, r15
je 0x1400abba1
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], r13
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x1400abbc2
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], r13
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x1400abbe6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r15d, r15d
mov qword [rbx + 0x28], r15
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 + 0x70], r12
jmp 0x1400ab81e
mov rdi, qword [r12 + 8]
mov qword [rbp - 0x38], rdi
test rdi, rdi
je 0x1400ab844
cmp dword [r12], r15d
je 0x1400ab844
mov r15d, dword [r12]
test r15, r15
je 0x1400ac194
add r15, 0xfffffffffffffff8
mov qword [rbp + 0x88], 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 + 0x48], rax
xor ecx, ecx
test rax, rax
je 0x1400ac18d
mov dl, cl
mov byte [rsp + 0x64], cl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x950], rax
mov r10, rdi
mov r9, r13
mov rdi, r15
and edi, 7
mov dword [rbp - 0x2c], ecx
mov r11d, ecx
mov r8d, ecx
je 0x1400abd7d
or dword [rbp - 0x54], 0xffffffff
mov ebx, ecx
mov dword [rsp + 0x6c], ecx
mov dword [rbp - 0x80], ecx
test edi, edi
je 0x1400abced
lea esi, [rcx + 0x38]
lea r12d, [rcx + 1]
lea rax, [r10 + 1]
mov qword [rbp + 0x60], rax
movzx eax, byte [r10]
cmp r8d, 4
jge 0x1400abcc3
lea ecx, [rsi - 0x20]
shl eax, cl
or r11d, eax
jmp 0x1400abcc9
mov ecx, esi
shl eax, cl
or ebx, eax
add r8d, r12d
sub esi, 8
mov rax, qword [rbp + 0x60]
mov r10, rax
cmp r8d, edi
jl 0x1400abca7
mov dword [rbp - 0x80], r11d
mov dword [rsp + 0x6c], ebx
mov esi, dword [rsp + 0x60]
mov r12, qword [rbp + 0x70]
xor ecx, ecx
xor r11d, 0x92f65a5
mov dword [rbp - 0x2c], r11d
mov r8d, ebx
xor r8d, 0x699a899c
mov dword [rbp - 0x54], r8d
mov eax, ecx
test edi, edi
jle 0x1400abd41
mov edx, 1
lea rcx, [r9 + 1]
cmp eax, 4
jge 0x1400abd23
rol r11d, 8
mov byte [r9], r11b
jmp 0x1400abd2a
rol r8d, 8
mov byte [r9], r8b
add eax, edx
mov r9, rcx
cmp eax, edi
jl 0x1400abd11
mov r11d, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x54]
mov dl, byte [rsp + 0x64]
xor ecx, ecx
lea eax, [rdi - 4]
test eax, eax
jle 0x1400abd5e
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x54], r8d
jmp 0x1400abd79
mov r8d, ecx
mov dword [rbp - 0x54], ecx
test eax, eax
jns 0x1400abd88
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x2c], r11d
xor ecx, ecx
jmp 0x1400abd88
mov dword [rbp - 0x80], ecx
or dword [rsp + 0x6c], 0xffffffff
mov dword [rbp - 0x54], ecx
mov rax, r15
shr rax, 3
mov qword [rbp + 0x60], rax
test rax, rax
je 0x1400ac0f3
mov ebx, dword [rbp + 0x954]
mov eax, ebx
shr eax, 0x10
movzx esi, bx
mov dword [rsp + 0x68], eax
movzx eax, word [rbp + 0x952]
mov dword [rsp + 0x70], eax
lea r15, [r9 + 7]
lea r12, [r10 + 2]
mov r14d, dword [rsp + 0x6c]
mov edx, dword [rbp - 0x80]
mov r13, qword [rbp + 0x60]
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
xor r8d, r9d
lea r12, [r12 + 8]
mov edi, ebx
xor edi, r8d
xor edi, r11d
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, [rbx + r11]
ror ecx, 9
mov eax, r11d
rol eax, 2
movzx r8d, word [rbp + 0x952]
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 [rsp + 0x68]
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, esi
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, esi
xor eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, r8d
movzx eax, word [rbp + 0x952]
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 [rsp + 0x68]
xor r8d, edi
xor r8d, 0xab69605e
mov ecx, r8d
xor ecx, dword [rsp + 0x68]
rol ecx, 2
imul ecx, esi
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 + 0x952]
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 + 0x952]
xor ecx, eax
rol ecx, 5
mov eax, r11d
rol eax, 7
imul ecx, dword [rsp + 0x68]
add eax, ecx
xor r8d, eax
mov edi, ebx
xor edi, r8d
xor edi, r11d
xor edi, 0xab69605e
mov eax, edi
ror eax, 3
movzx r11d, word [rbp + 0x952]
sub eax, r11d
imul eax, esi
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 [rsp + 0x68]
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, ebx
xor eax, r8d
rol eax, 4
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, edx
xor edi, ecx
mov dword [rbp - 0x2c], edi
xor r8d, r14d
mov dword [rbp - 0x54], r8d
mov byte [r15 - 4], dil
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x54]
mov byte [r15], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x2c]
mov byte [r15 - 5], al
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x54]
mov byte [r15 - 1], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x2c]
mov byte [r15 - 6], al
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x54]
mov byte [r15 - 2], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x2c]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x54]
mov byte [r15 - 3], al
mov r11d, dword [rbp - 0x2c]
ror r11d, 8
mov dword [rbp - 0x2c], r11d
mov r8d, dword [rbp - 0x54]
ror r8d, 8
mov dword [rbp - 0x54], r8d
mov edx, r10d
mov r14d, r9d
lea r15, [r15 + 8]
mov edi, 1
sub r13, rdi
jne 0x1400abdcd
mov dl, byte [rsp + 0x64]
mov esi, dword [rsp + 0x60]
or r14, 0xffffffffffffffff
mov r12, qword [rbp + 0x70]
mov r15, qword [rbp + 0x88]
mov r13, qword [rbp + 0x48]
xor ecx, ecx
jmp 0x1400ac0f8
mov edi, 1
mov rax, rcx
test r15, r15
je 0x1400ac10c
xor dl, byte [rax + r13]
add rax, rdi
cmp rax, r15
jb 0x1400ac100
movzx eax, dl
mov rcx, qword [rbp - 0x38]
cmp rax, qword [r15 + rcx]
je 0x1400ac127
mov edi, 0xc004d501
mov rbx, qword [rbp + 0x118]
jmp 0x1400ac13f
mov rbx, r13
mov qword [rbp + 0x118], rbx
xor eax, eax
mov r13d, eax
mov qword [rbp + 0x2c0], r15
mov edi, eax
xor r15d, r15d
test r13, r13
je 0x1400ac162
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 + 0x118]
test edi, edi
js 0x1400ac197
mov r13, rbx
mov qword [rbp + 0xa8], rbx
mov rbx, r15
mov qword [rbp + 0x118], rbx
mov ecx, dword [rbp + 0x2c0]
mov dword [rbp + 0xf4], ecx
mov edi, 0x10000000
jmp 0x1400ac1a9
mov rbx, qword [rbp + 0x118]
xor r15d, r15d
mov edi, 0xd0000001
mov ecx, dword [rbp + 0xf4]
mov r13, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400ac1cf
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 + 0x118], r15
mov ecx, dword [rbp + 0xf4]
test edi, edi
js 0x1400ac3cf
cmp ecx, 4
jb 0x1400ac3c6
mov eax, dword [r13]
mov dword [rsp + 0x70], eax
lea rax, [r13 + 4]
mov rdx, r14
cmp rax, r13
cmovae rdx, rax
sbb edi, edi
mov r9d, 0xc0000095
and edi, r9d
cmp rax, r13
jb 0x1400ac3cb
lea eax, [rcx - 4]
cmp eax, 4
jb 0x1400ac3c6
mov r15d, dword [rdx]
lea rax, [rdx + 4]
mov rbx, r14
cmp rax, rdx
cmovae rbx, rax
sbb edi, edi
and edi, r9d
cmp rax, rdx
jb 0x1400ac3cb
lea eax, [rcx - 8]
cmp eax, r15d
jb 0x1400ac3c6
lea eax, [r15 + 8]
cmp eax, 8
sbb edi, edi
and edi, r9d
cmp eax, 8
jb 0x1400ac3cb
mov edx, ecx
mov r10d, r15d
lea rcx, [rbx + r15]
lea rax, [rdx + r13]
cmp rax, rcx
jb 0x1400ac3c6
mov rax, r13
sub rax, rbx
sub rax, r15
add rax, rdx
cmp rax, 8
jae 0x1400ac3c6
xor eax, eax
mov r13d, eax
mov edi, eax
mov r11d, eax
mov dword [rbp - 0x78], eax
test rbx, rbx
je 0x1400ac353
mov rdx, rbx
mov r8, r14
cmp rcx, rbx
cmovae r8, rcx
sbb edi, edi
and edi, r9d
cmp rcx, rbx
jb 0x1400ac3b6
cmp rbx, r8
jae 0x1400ac34e
mov r9d, dword [rbp + 0x208]
lea rax, [rdx + 4]
mov rcx, r14
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x1400ac3b6
cmp rcx, r8
ja 0x1400ac380
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 + 0x208], r9d
jb 0x1400ac3b6
mov ecx, r9d
add rcx, rdx
mov rax, r14
cmp rcx, rdx
cmovae rax, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rdx
jb 0x1400ac3b6
cmp rax, r8
ja 0x1400ac380
mov rdx, rax
inc r11d
mov dword [rbp - 0x78], r11d
cmp rax, r8
jb 0x1400ac2c3
cmp rdx, r8
jne 0x1400ac380
test r15d, r15d
je 0x1400ac38c
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
xor eax, eax
test r13, r13
jne 0x1400ac387
mov edi, 0xc0000017
jmp 0x1400ac3b6
mov edi, 0xc000000d
jmp 0x1400ac3cb
mov edi, eax
mov r10, r15
test rbx, rbx
je 0x1400ac39f
mov r8, r10
mov rdx, rbx
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x130], r13
mov dword [rbp + 0x12c], r15d
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x128], eax
test edi, edi
js 0x1400ac3cb
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp + 0x128]
je 0x1400ac3cb
mov edi, 0xc000003e
bts edi, 0x1c
mov r13, qword [rbp - 0x40]
mov rbx, qword [rbp + 0x38]
test rbx, rbx
je 0x1400ac3f0
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 + 0x1b0]
test rbx, rbx
je 0x1400ac485
mov r15, qword [rbx + 8]
test r15, r15
je 0x1400ac423
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 8], rax
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x1400ac446
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x18], rax
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x1400ac46a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r15d, r15d
mov qword [rbx + 0x28], r15
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 + 0x1b0], r15
test r13, r13
je 0x1400ac49e
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 - 0x28]
xor r13d, r13d
test rbx, rbx
je 0x1400ac4be
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 0x1400ac540
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x1400ac4e6
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], r13
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x1400ac509
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], r13
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x1400ac52c
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], r13
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 + 0xa8]
test rbx, rbx
je 0x1400ac560
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 0x1400aa9c2
mov eax, dword [rbp + 0x128]
mov r10d, 1
cmp eax, r10d
jb 0x1400aa9c2
mov rdi, qword [rbp + 0x130]
test rdi, rdi
je 0x1400aa9c2
test eax, eax
je 0x1400aa9c2
mov ecx, dword [rdi]
lea rax, [rdi + 4]
mov rdx, r14
cmp rax, rdi
cmovae rdx, rax
sbb r8d, r8d
mov r11d, 0xc0000095
and r8d, r11d
cmp rax, rdi
jb 0x1400ac5ce
mov dword [rbp + 0x20c], ecx
mov rax, r13
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x460], rax
jmp 0x1400ac5db
mov ecx, dword [rbp + 0x20c]
mov rax, qword [rbp + 0x460]
test r8d, r8d
js 0x1400aa9c2
cmp ecx, 4
jne 0x1400aa9c2
mov eax, dword [rax]
mov dword [rbp + 0x210], eax
test eax, eax
js 0x1400aa9c2
cmp dword [rbp + 0x128], r10d
jbe 0x1400aa9c2
mov rdx, qword [rbp + 0x130]
mov r9d, r13d
lea rax, [rdx + 4]
mov r8, r14
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x1400ac67c
mov ecx, dword [rdx]
add rcx, r8
mov rdx, r14
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, r11d
cmp rcx, r8
jb 0x1400ac67c
add r9d, r10d
cmp r9d, r10d
jb 0x1400ac614
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r14, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x1400ac67c
mov dword [rbp + 0xfc], ecx
mov rax, r13
test ecx, ecx
cmovne rax, r14
mov qword [rbp + 0x468], rax
jmp 0x1400ac689
mov ecx, dword [rbp + 0xfc]
mov rax, qword [rbp + 0x468]
test edi, edi
js 0x1400aa9c2
cmp ecx, 8
jne 0x1400aa9c2
mov rax, qword [rax]
mov qword [rbp + 0x4c0], rax
jmp 0x1400aa9c2
mov r15, qword [rbp - 0x18]
mov rbx, r12
xor r13d, r13d
and qword [rbp - 0x10], 0
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x1400ac6d9
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], r13
and qword [rbp + 0x128], 0
mov rdi, qword [rbp + 0x130]
test rdi, rdi
je 0x1400ac708
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 + 0x130], r13
test rbx, rbx
je 0x1400ac721
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 0x1400ac73a
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 + 0xf8]
mov dword [rbp + 0x358], eax
mov ebx, dword [rbp + 0x154]
mov rax, qword [rbp + 0x120]
mov qword [rbp + 0x120], r13
mov qword [rbp + 0x218], rax
jmp 0x1400a3268
cmp esi, 0xd00000e5
je 0x1400ac788
cmp esi, 0xc004d501
je 0x1400ac788
cmp esi, 0xd000003e
jne 0x1400ac78d
mov esi, 0xc004f028
jmp 0x1400a330c
mov esi, 0xc004f027
test esi, esi
jns 0x1400ac7a7
cmp esi, 0x8007007a
jne 0x1400a330c
mov ebx, 0xc004f01e
mov dword [rbp + 0x40], ebx
jmp 0x1400ac7be
cmp ebx, 4
jne 0x1400ac79d
mov rax, qword [rbp + 0x218]
mov ecx, dword [rax]
mov dword [rbp + 0x158], ecx
mov ebx, dword [rbp + 0x40]
lea rcx, [rbp + 0x218]
call fcn.1400cbb84
test ebx, ebx
jns 0x1400ac816
lea rax, [0x140106190]
mov rcx, qword [0x140106190]
cmp rcx, rax
je 0x1400ac97e
test byte [rcx + 0x1c], 2
je 0x1400ac97e
cmp byte [rcx + 0x19], 2
jb 0x1400ac97e
mov edx, 0x3f
mov r9d, ebx
lea r8, [0x1400e6de8]
mov rcx, qword [rcx + 0x10]
call fcn.1400035ec
jmp 0x1400ac97e
cmp dword [rbp + 0x158], r13d
jne 0x1400ac829
mov edi, 0x80004005
jmp 0x1400ac981
mov qword [rbp + 0x2d0], r13
mov qword [rbp + 0x2d8], r13
mov qword [rbp + 0x2e0], r13
mov qword [rbp + 0x2c8], r13
lea rax, [rbp + 0x2c8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindows_Media_Player_NSS3.0
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ecx, eax
test eax, eax
jne 0x1400ac8a3
mov ecx, r13d
mov rax, qword [rbp + 0x2d0]
test rax, rax
je 0x1400ac895
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, eax
mov qword [rbp + 0x2d0], r13
mov rax, qword [rbp + 0x2c8]
mov qword [rbp + 0x2d0], rax
test ecx, ecx
je 0x1400ac8fe
movzx edi, cx
or edi, 0x80070000
test ecx, ecx
cmovle edi, ecx
lea rax, [0x140106190]
mov rcx, qword [0x140106190]
cmp rcx, rax
je 0x1400ac8ed
test byte [rcx + 0x1c], 2
je 0x1400ac8ed
cmp byte [rcx + 0x19], 2
jb 0x1400ac8ed
mov edx, 0x40
mov r9d, edi
lea r8, [0x1400e6de8]
mov rcx, qword [rcx + 0x10]
call fcn.1400035ec
nop
lea rcx, [rbp + 0x2d0]
call fcn.140008c94
jmp 0x1400ac981
mov rbx, qword [rbp + 0x470]
mov r8, rbx
lea rdx, str.InternetSharingSecurityGroup
lea rcx, [rbp + 0x2d0]
call fcn.1400b442c
mov edi, eax
test eax, eax
je 0x1400ac972
mov rcx, rbx
call fcn.140004c40
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov dword [rbp + 0x40], ebx
lea rax, [0x140106190]
mov rcx, qword [0x140106190]
cmp rcx, rax
je 0x1400ac972
test byte [rcx + 0x1c], 2
je 0x1400ac972
cmp byte [rcx + 0x19], 2
jb 0x1400ac972
mov edx, 0x41
mov r9d, ebx
lea r8, [0x1400e6de8]
mov rcx, qword [rcx + 0x10]
call fcn.1400035ec
nop
lea rcx, [rbp + 0x2d0]
call fcn.140008c94
mov edi, dword [rbp + 0x40]
mov eax, edi
mov rcx, qword [rbp + 0x1120]
xor rcx, rsp
call fcn.1400cc8d0
lea r11, [rsp + 0x1230]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret