Function at 0x1400762f8
Capabilities:
Encode data using xor
Execute anti-debugging instructions
Link many functions at runtime
Parse pe header
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1140]
mov eax, 0x1240
call fcn.1400cdb40
sub rsp, rax
mov qword [rbp + 0x4d0], 0xfffffffffffffffe
mov qword [rsp + 0x1270], rbx
mov qword [rsp + 0x1278], rsi
mov qword [rsp + 0x1280], rdi
mov rax, qword [0x140109388]
xor rax, rsp
mov qword [rbp + 0x1130], rax
xor esi, esi
mov qword [rbp + 0x338], rsi
mov qword [rbp + 0x340], rsi
mov qword [rbp + 0x348], rsi
mov qword [rbp + 0x298], rsi
lea rax, [rbp + 0x298]
mov qword [rsp + 0x20], rax
mov r9d, 0x20219
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftMediaPlayerPreferences_
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea r14d, [rsi + 1]
test eax, eax
jne 0x140076417
mov eax, esi
mov rcx, qword [rbp + 0x338]
test rcx, rcx
je 0x1400763b5
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0x338], rsi
mov rcx, qword [rbp + 0x298]
mov qword [rbp + 0x338], rcx
test eax, eax
jne 0x140076417
mov dword [rbp + 0x188], esi
mov dword [rbp + 0x22c], 4
lea rax, [rbp + 0x22c]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x188]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x410]
xor r8d, r8d
lea rdx, str.DisableRMESetting
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [rbp + 0x188], r14d
jne 0x140076417
mov sil, r14b
jmp 0x140080370
mov dword [rbp + 0x14c], esi
mov qword [rbp + 0x230], rsi
mov dword [rbp + 0xb8], esi
mov dword [rbp + 0x148], esi
mov dword [rbp + 0xe8], esi
mov qword [rbp + 0x140], rsi
mov dword [rbp + 0x80], esi
xor eax, eax
lock cmpxchg dword [0x14010beac], r14d
jne 0x140076443
mov edi, 0xab69
mov r12d, 0x338
or r15, 0xffffffffffffffff
mov eax, dword [0x14010bea8]
test eax, eax
jne 0x140076a1f
mov dword [rbp - 0x50], esi
mov qword [rbp + 0x1a8], rsi
mov qword [rbp + 0x2a0], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r12d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14007699a
mov ebx, esi
or ecx, 0xffffffff
mov edx, esi
mov dword [rbp + 0x18], edx
mov r11d, esi
mov dword [rbp + 0x2c], esi
lea r12, [rax + 7]
lea r13, [0x1400ea212]
mov r15d, 0x67
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor r11d, r10d
lea r13, [r13 + 8]
mov r8d, r11d
xor r8d, r9d
xor r8d, edx
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
mov edx, r8d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov edx, r11d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r8d, eax
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, edi
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov edx, r8d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov eax, r8d
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, 0x7f1
xor eax, edi
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, 0xab69605e
mov eax, r8d
xor eax, edi
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r8d, edx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
mov edi, 0xab69
xor eax, edi
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
sub eax, edi
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
mov edx, r8d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0x54969fa2]
rol eax, 3
mov edx, r11d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
mov edx, r8d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r11d, eax
mov eax, r11d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, ebx
xor r11d, edx
mov dword [rbp + 0x2c], r11d
xor r8d, ecx
mov dword [rbp + 0x18], r8d
mov byte [r12 - 4], r11b
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x18]
mov byte [r12], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0x2c]
mov byte [r12 - 5], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x18]
mov byte [r12 - 1], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0x2c]
mov byte [r12 - 6], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x18]
mov byte [r12 - 2], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0x2c]
mov byte [r12 - 7], al
mov al, byte [rbp + 0x18]
mov byte [r12 - 3], al
mov r11d, dword [rbp + 0x2c]
ror r11d, 8
mov dword [rbp + 0x2c], r11d
mov edx, dword [rbp + 0x18]
ror edx, 8
mov dword [rbp + 0x18], edx
mov ebx, r10d
mov ecx, r9d
lea r12, [r12 + 8]
sub r15, r14
jne 0x1400764c0
mov rax, rsi
mov cl, sil
or r15, 0xffffffffffffffff
mov ebx, esi
mov r14, qword [rbp + 0x50]
lea edx, [r15 + 2]
mov r12d, 0x338
xor cl, byte [rax + r14]
add rax, rdx
cmp rax, r12
jb 0x1400767fe
movzx eax, cl
cmp rax, qword [0x1400ea548]
je 0x14007681d
mov edi, 0xc004d501
jmp 0x140076830
mov qword [rbp + 0x1a8], r14
mov r14, rsi
mov qword [rbp + 0x2a0], r12
mov edi, ebx
test r14, r14
je 0x140076849
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14007699a
mov rdi, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x2a0]
mov byte [rax + rdi - 1], sil
xor edx, edx
lea r8d, [rdx + 0x60]
lea r14, [0x14010a7b0]
mov rcx, r14
call sub.msvcrt.dll_memset
cmp byte [rdi], sil
je 0x14007699f
mov r13d, ebx
jmp 0x14007688e
lea r14, [0x14010a7b0]
mov rdx, rdi
mov rax, r15
inc rax
cmp word [rdi + rax*2], si
jne 0x140076894
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea r14, [r14 + rcx*8]
mov r8, r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14007699a
mov ebx, esi
mov rax, qword [r14]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400768d5
mov ebx, 0xc000007b
jmp 0x140076920
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400768ce
add rcx, qword [r14]
cmp rcx, qword [r14]
jb 0x1400768ce
cmp dword [rcx], 0x4550
jne 0x1400768ce
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14007690e
mov ebx, 0xc000000d
jmp 0x140076920
mov rax, qword [rcx + 0x88]
mov qword [r14 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r14 + 8], eax
mov eax, dword [rdi + 2]
mov dword [rbp - 0x70], eax
add rdi, 6
mov r12d, esi
test eax, eax
je 0x140076986
mov ecx, 1
mov rdx, rdi
mov rax, r15
inc rax
cmp byte [rdi + rax], sil
jne 0x14007693c
inc rdi
add rdi, rax
test ebx, ebx
js 0x140076975
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rax
test rax, rax
je 0x14007699f
mov eax, dword [rbp - 0x50]
lea r8, [0x140106020]
mov qword [r8 + rax*8], rdx
mov ecx, 1
jmp 0x140076978
mov eax, dword [rbp - 0x50]
add eax, ecx
mov dword [rbp - 0x50], eax
add r12d, ecx
cmp r12d, dword [rbp - 0x70]
jb 0x140076936
mov r14d, 1
add r13d, r14d
cmp byte [rdi], sil
jne 0x140076887
jmp 0x1400769a5
mov ebx, 0xc000007a
mov r14d, 1
cmp qword [rbp + 0x1a8], rsi
je 0x1400769c6
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 0x140076a19
lea r12, [0x14010a7b0]
mov rdi, r12
mov ebx, 4
cmp qword [rdi], rsi
je 0x1400769e7
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r14
jne 0x1400769d9
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 0x140076a28
mov eax, dword [0x14010bea8]
add eax, r14d
mov dword [0x14010bea8], eax
mov eax, esi
xchg dword [0x14010beac], eax
mov qword [rbp + 0x248], rsi
mov qword [rbp + 0x1e0], rsi
mov r14d, esi
mov ebx, esi
mov rax, qword gs:[0x60]
mov edi, 0x80004005
mov r13d, 0x80070000
cmp dword [rax + 0x2c0], esi
je 0x140076cef
mov rax, qword [0x140106130]
call qword [case.0x14006d218.0]
mov r12, rax
test rax, rax
jne 0x140076a98
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140076cf6
mov ebx, edi
jmp 0x140076cf6
mov qword [rbp + 0xf0], rsi
mov ebx, esi
mov r9d, esi
mov rdi, rsi
lea rax, [rbp + 0x184]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r12
mov rax, qword [0x140106150]
call qword [case.0x14006d218.0]
test eax, eax
jne 0x140076b47
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140076b31
cmp qword [rbp + 0xf0], rsi
jne 0x140076b28
mov edi, dword [rbp + 0x184]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0xf0]
call fcn.1400cbba8
test rdi, rdi
je 0x140076b21
mov qword [rbp + 0xf0], rdi
mov r9d, dword [rbp + 0x184]
jmp 0x140076aa7
mov ebx, 0x8007000e
jmp 0x140076b55
mov edi, 0x80004005
mov ebx, edi
jmp 0x140076b61
mov edi, 0x80004005
test eax, eax
je 0x140076b2d
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
jmp 0x140076b61
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x248], rax
mov edi, 0x80004005
mov qword [rbp + 0xf0], rsi
lea rcx, [rbp + 0xf0]
call fcn.1400cbba8
test ebx, ebx
js 0x140076cf6
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x140106148]
call qword [case.0x14006d218.0]
mov r12, rax
test rax, rax
je 0x140076a78
mov qword [rbp + 0xf8], rsi
mov ebx, esi
mov r9d, esi
mov rdi, rsi
lea rax, [rbp + 0x180]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r12
mov rax, qword [0x140106150]
call qword [case.0x14006d218.0]
test eax, eax
jne 0x140076c45
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140076c2f
cmp qword [rbp + 0xf8], rsi
jne 0x140076c26
mov edi, dword [rbp + 0x180]
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 + 0xf8]
call fcn.1400cbba8
test rdi, rdi
je 0x140076c1f
mov qword [rbp + 0xf8], rdi
mov r9d, dword [rbp + 0x180]
jmp 0x140076ba5
mov ebx, 0x8007000e
jmp 0x140076c53
mov edi, 0x80004005
mov ebx, edi
jmp 0x140076c5f
mov edi, 0x80004005
test eax, eax
je 0x140076c2b
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
jmp 0x140076c5f
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x1e0], rax
mov edi, 0x80004005
mov qword [rbp + 0xf8], rsi
lea rcx, [rbp + 0xf8]
call fcn.1400cbba8
test ebx, ebx
js 0x140076cf6
mov rcx, qword [rbp + 0x248]
test rcx, rcx
je 0x140076cef
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140076cef
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
je 0x140076cef
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140076cef
xor eax, eax
mov dword [rbp + 0x170], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov r9d, 4
lea r8, [rbp + 0x170]
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
test eax, eax
je 0x140076a78
mov eax, reloc.OLEAUT32.dll_SafeArrayDestroy
test byte [rbp + 0x170], al
mov eax, 1
cmove r14d, eax
mov dword [rbp + 0x80], r14d
lea rcx, [rbp + 0x1e0]
call fcn.1400cbba8
lea rcx, [rbp + 0x248]
call fcn.1400cbba8
mov eax, dword [rbp + 0x80]
test ebx, ebx
cmovs eax, esi
mov dword [rbp + 0x80], eax
mov dword [rbp + 0xe8], esi
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x140]
call fcn.1400cbb84
test rdi, rdi
jne 0x140076e14
mov qword [rbp + 0x140], rsi
mov r14d, 0x8007000e
mov ebx, dword [rbp + 0xec]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x14010beac], r12d
jne 0x140076d68
mov eax, dword [0x14010bea8]
test eax, eax
jle 0x140076dd8
sub eax, r12d
mov dword [0x14010bea8], eax
jne 0x140076dd8
lea r13, [0x14010a7b0]
mov rdi, r13
mov r15d, 4
cmp qword [rdi], rsi
je 0x140076da8
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r12
jne 0x140076d9a
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, esi
xchg dword [0x14010beac], eax
lea rcx, [rbp + 0x140]
call fcn.1400cbb84
test r14d, r14d
jns 0x14008033d
cmp r14d, 0xd0000034
jne 0x1400802f3
mov r14d, 0xc004f012
mov dword [rbp + 0xb8], r14d
jmp 0x140080351
mov qword [rbp + 0x140], rdi
mov r12, rsi
mov rbx, rsi
xor eax, eax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov dword [rbp + 0x15c], esi
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rax
mov dword [rbp + 0x98], esi
lea rax, [0x140109470]
mov qword [rbp + 0x360], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x2d8], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov r14d, 8
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x50], rax
mov r13d, 0xc0000017
test rax, rax
jne 0x140076e99
mov r14d, r13d
mov dword [rsp + 0x60], r13d
jmp 0x14007705b
mov r8, qword [rbp + 0x2d8]
mov rdx, qword [rbp + 0x360]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov r12, rdi
mov qword [rsp + 0x70], rdi
mov ebx, dword [rbp + 0x2d8]
mov dword [rsp + 0x68], ebx
lea rax, [0x1401093b8]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x2e0], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x40], rax
test rax, rax
jne 0x140076f07
mov r14d, r13d
mov dword [rsp + 0x60], r13d
mov rbx, rsi
jmp 0x14007705b
mov r8, qword [rbp + 0x2e0]
mov rdx, qword [rbp + 0x368]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov qword [rbp - 0x78], rdi
mov rdi, qword [rbp + 0x2e0]
mov qword [rbp - 0x28], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x278], rax
mov ecx, r14d
mov dword [rbp + 0x84], ecx
add ebx, 4
or r8d, 0xffffffff
mov eax, r8d
cmp ebx, 4
cmovae eax, ebx
sbb r13d, r13d
mov r11d, 0xc0000095
and r13d, r11d
mov r14d, r13d
mov dword [rsp + 0x60], r13d
mov edx, ecx
cmp ebx, 4
jb 0x140077057
mov ecx, eax
mov dword [rbp + 0x84], eax
mov edx, eax
lea eax, [rax + 8]
mov edx, r8d
cmp eax, 8
cmovae edx, eax
sbb r14d, r14d
and r14d, r11d
mov r9d, 0x10000000
add r14d, r9d
mov dword [rsp + 0x60], r14d
cmp eax, 8
jb 0x140079ba7
lea r12d, [rdi + 4]
mov eax, r8d
cmp r12d, 4
cmovae eax, r12d
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
mov dword [rbp - 0x70], r14d
cmp r12d, 4
cmovae ecx, eax
mov dword [rbp + 0x84], ecx
jb 0x140077052
lea eax, [rcx + rdx]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
add r14d, r9d
mov dword [rsp + 0x60], r14d
cmp eax, edx
jb 0x140079ba2
mov dword [rbp + 0x84], SafeArrayDestroy
lea eax, [rcx + 0xc]
mov edi, r8d
cmp eax, ecx
cmovae edi, eax
sbb r14d, r14d
and r14d, r11d
add r14d, r9d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x140079ba2
lea r8, [rbp + 0x1c8]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMEAllowed
call fcn.1400cbbe0
test eax, eax
jns 0x14007716c
mov qword [rbp + 0x1c8], rsi
mov r14d, 0xc000003e
mov dword [rsp + 0x60], r14d
mov r12, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x78]
and qword [rbp - 0x60], 0
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x140077081
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 - 0x58], rsi
and qword [rbp + 0xa8], 0
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x1400770b0
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 + 0xb0], rsi
test r12, r12
je 0x1400770c9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x1400770e2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x140076d5c
mov eax, dword [rbp + 0x80]
test eax, eax
je 0x1400802c7
mov qword [rbp + 0x418], rsi
mov dword [0x14010a0d8], eax
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0xf20]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14007df73
cmp eax, edi
jne 0x14007713d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14007df73
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x140079bcc
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14007df73
mov rax, qword [rbp + 0x1c8]
inc rax
mov qword [rbp + 0x1c8], rax
lea ecx, [rax*2 + 4]
or r8d, 0xffffffff
mov eax, r8d
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
mov r11d, 0xc0000095
and r14d, r11d
mov dword [rsp + 0x60], r14d
mov edx, dword [rbp + 0x84]
cmp ecx, 4
cmovae edx, eax
mov dword [rbp + 0x84], edx
jb 0x140077052
lea eax, [rdx + rdi]
mov edx, r8d
cmp eax, edi
cmovae edx, eax
sbb r14d, r14d
and r14d, r11d
mov r9d, 0x10000000
add r14d, r9d
mov dword [rsp + 0x60], r14d
cmp eax, edi
jb 0x140079ba2
mov dword [rbp + 0x84], 8
lea eax, [rdx + 8]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
add r14d, r9d
mov dword [rsp + 0x60], r14d
cmp eax, edx
jb 0x140079ba2
mov dword [rbp + 0x84], 8
lea eax, [rcx + 8]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r11d
add r14d, r9d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x140079ba2
mov dword [rbp - 0x5c], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
jne 0x140077266
mov r14d, 0xc0000017
jmp 0x14007704d
mov qword [rbp - 0x58], rdx
mov edi, esi
mov dword [rbp - 0x60], esi
mov dword [rbp + 0x1e8], esi
add rax, 4
mov r8, r15
cmp rax, rdx
cmovae r8, rax
sbb r14d, r14d
mov r11d, 0xc0000095
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400772ca
mov ecx, dword [rbp - 0x5c]
add rcx, rdx
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x1400772b3
mov r14d, 0xc0000023
jmp 0x14007704d
mov dword [rdx], 4
mov eax, dword [rbp + 0x1e8]
mov dword [r8], eax
mov edi, dword [rbp - 0x60]
inc edi
mov dword [rbp - 0x60], edi
test r14d, r14d
js 0x140077052
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x14007741b
cmp qword [rbp - 0x58], rsi
jne 0x140077343
or eax, 0xffffffff
cmp ebx, 4
cmovae eax, ebx
mov r14d, r13d
mov dword [rsp + 0x60], r13d
mov edx, dword [rbp + 0x108]
cmovae edx, eax
mov dword [rbp + 0x108], edx
jb 0x140077426
mov ecx, dword [rbp - 0x5c]
lea eax, [rcx + rdx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
mov dword [rbp - 0x5c], r8d
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
mov r13d, 1
cmp eax, ecx
jb 0x140077430
add edi, r13d
mov dword [rbp - 0x60], edi
jmp 0x14007743f
mov r8, qword [rbp - 0x58]
mov r10d, esi
mov r13d, 1
test edi, edi
je 0x1400773c7
mov r9d, dword [rbp + 0x108]
mov ebx, r11d
mov r11, r8
mov ecx, dword [r8]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x108], r9d
jb 0x140077426
mov edx, r9d
mov rcx, r8
add rdx, r8
mov rax, r15
cmp rdx, r8
cmovae rax, rdx
mov r8, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x140077426
add r10d, r13d
cmp r10d, edi
jb 0x14007735e
mov edx, dword [rsp + 0x68]
mov r11d, ebx
lea rax, [r8 + 4]
mov r9, r15
cmp rax, r8
cmovae r9, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, r8
jb 0x140077426
mov edi, edx
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
lea rax, [rdi + 4]
add rax, r8
cmp rax, rcx
ja 0x1400772a8
mov dword [r8], edx
mov r8d, edi
mov rdx, qword [rbp + 0x50]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp - 0x60]
add edi, r13d
mov dword [rbp - 0x60], edi
jmp 0x14007742c
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
mov r13d, 1
mov r8d, dword [rbp - 0x5c]
test r14d, r14d
js 0x140077052
mov r11d, 0xc0000095
mov rbx, qword [rbp - 0x28]
test ebx, ebx
je 0x1400775ef
cmp qword [rbp - 0x58], rsi
jne 0x1400774bb
or eax, 0xffffffff
cmp r12d, 4
cmovae eax, r12d
mov r14d, dword [rbp - 0x70]
mov dword [rsp + 0x60], r14d
mov edx, dword [rbp + 0x10c]
cmovae edx, eax
mov dword [rbp + 0x10c], edx
jb 0x140077599
mov ecx, r8d
lea eax, [rdx + r8]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
mov dword [rbp - 0x5c], r8d
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x140077599
add edi, r13d
mov dword [rbp - 0x60], edi
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0x2e8], rax
jmp 0x1400775b6
mov r9, qword [rbp - 0x58]
mov r11d, esi
test edi, edi
je 0x140077537
mov r10d, dword [rbp + 0x10c]
mov r12, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp + 0x10c], r10d
jb 0x140077593
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r15
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x140077593
add r11d, r13d
cmp r11d, edi
jb 0x1400774cd
lea rax, [r9 + 4]
mov r10, r15
cmp rax, r9
cmovae r10, rax
sbb r14d, r14d
mov r11d, 0xc0000095
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, r9
jb 0x140077599
mov edx, ebx
mov ecx, r8d
add rcx, qword [rbp - 0x58]
lea rax, [rdx + 4]
add rax, r9
cmp rax, rcx
ja 0x1400772a8
mov dword [r9], ebx
mov r8d, edx
mov rdx, qword [rbp + 0x40]
mov rcx, r10
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp - 0x60]
add edi, r13d
mov dword [rbp - 0x60], edi
mov r8d, dword [rbp - 0x5c]
mov r11d, 0xc0000095
test r14d, r14d
js 0x140077052
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0x2e8], rax
cmp qword [rbp - 0x58], rsi
jne 0x1400775fc
mov dword [rbp + 0x17c], SafeArrayDestroy
lea ecx, [r8 + 0xc]
or eax, 0xffffffff
cmp ecx, r8d
cmovae eax, ecx
mov dword [rbp - 0x5c], eax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp ecx, r8d
jb 0x1400776bb
add edi, r13d
mov dword [rbp - 0x60], edi
jmp 0x1400776c4
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x140077599
mov r9, qword [rbp - 0x58]
mov r11d, esi
mov r12d, 0xc0000095
test edi, edi
je 0x140077672
mov r10d, dword [rbp + 0x17c]
mov rbx, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r12d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp + 0x17c], r10d
jb 0x1400776bb
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r15
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, r12d
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x1400776bb
add r11d, r13d
cmp r11d, edi
jb 0x140077614
lea rax, [r9 + 4]
mov rdx, r15
cmp rax, r9
cmovae rdx, rax
sbb r14d, r14d
and r14d, r12d
mov dword [rsp + 0x60], r14d
cmp rax, r9
jb 0x1400776bb
mov ecx, r8d
add rcx, qword [rbp - 0x58]
lea rax, [r9 + 0xc]
cmp rax, rcx
ja 0x1400772a8
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x2e8]
movsd qword [rdx], xmm0
add dword [rbp - 0x60], r13d
test r14d, r14d
js 0x140077052
lea r8, [rbp + 0x260]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMEAllowed
call fcn.1400cbbe0
test eax, eax
jns 0x1400776ec
mov qword [rbp + 0x260], rsi
jmp 0x140077047
mov rcx, qword [rbp + 0x260]
lea rax, [rcx + 1]
mov rdx, r15
cmp rax, rcx
cmovae rdx, rax
mov qword [rbp + 0x260], rdx
sbb r14d, r14d
mov r11d, 0xc0000095
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rcx
jb 0x14007787c
lea r9d, [rdx + rdx]
test r9d, r9d
je 0x14007786b
cmp qword [rbp - 0x58], rsi
jne 0x140077799
lea ecx, [r9 + 4]
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
mov edi, dword [rbp + 0x110]
cmp ecx, 4
cmovae edi, eax
mov dword [rbp + 0x110], edi
jb 0x140077876
mov edx, dword [rbp - 0x5c]
lea ecx, [rdi + rdx]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp - 0x5c], eax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp ecx, edx
jb 0x140077876
add dword [rbp - 0x60], r13d
mov r14d, esi
mov dword [rsp + 0x60], esi
jmp 0x140077876
mov rdi, qword [rbp - 0x58]
mov r10d, esi
cmp dword [rbp - 0x60], esi
jbe 0x140077817
mov r8d, dword [rbp + 0x110]
mov ebx, r11d
mov r11, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x110], r8d
jb 0x140077876
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r15
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x140077876
add r10d, r13d
cmp r10d, dword [rbp - 0x60]
jb 0x1400777af
mov r11d, 0xc0000095
lea rax, [rdi + 4]
mov r10, r15
cmp rax, rdi
cmovae r10, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdi
jb 0x140077876
mov r8d, r9d
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
lea rax, [rdi + 4]
add rax, r8
cmp rax, rcx
jbe 0x140077853
mov r14d, 0xc0000023
jmp 0x140077871
mov dword [rdi], r9d
lea rdx, str.WMPPlayer_RMEAllowed
mov rcx, r10
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x60], r13d
jmp 0x140077876
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
mov r11d, 0xc0000095
test r14d, r14d
js 0x140077052
mov eax, dword [rbp + 0x80]
mov dword [rbp + 0x1f0], eax
cmp qword [rbp - 0x58], rsi
jne 0x1400778d8
mov dword [rbp + 0x178], 8
mov edx, dword [rbp - 0x5c]
lea ecx, [rdx + 8]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp - 0x5c], eax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp ecx, edx
jb 0x14007798d
add dword [rbp - 0x60], r13d
mov dword [rbp + 0x168], 4
jmp 0x1400779a6
mov rdi, qword [rbp - 0x58]
mov r9d, esi
cmp dword [rbp - 0x60], esi
jbe 0x140077949
mov r8d, dword [rbp + 0x178]
mov r10, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x178], r8d
jb 0x14007798d
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r15
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x14007798d
add r9d, r13d
cmp r9d, dword [rbp - 0x60]
jb 0x1400778eb
lea rax, [rdi + 4]
mov rdx, r15
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdi
jb 0x14007798d
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
lea rax, [rdi + 8]
cmp rax, rcx
ja 0x1400772a8
mov dword [rdi], 4
mov eax, dword [rbp + 0x1f0]
mov dword [rdx], eax
add dword [rbp - 0x60], r13d
test r14d, r14d
js 0x140077052
mov dword [rbp + 0x168], 4
cmp qword [rbp - 0x58], rsi
jne 0x1400779dd
mov dword [rbp + 0x174], 8
mov edx, dword [rbp - 0x5c]
lea ecx, [rdx + 8]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp - 0x5c], eax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp ecx, edx
jb 0x140077a92
add dword [rbp - 0x60], r13d
jmp 0x140077a9b
mov rdi, qword [rbp - 0x58]
mov r9d, esi
cmp dword [rbp - 0x60], esi
jbe 0x140077a4e
mov r8d, dword [rbp + 0x174]
mov r10, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x174], r8d
jb 0x140077a92
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r15
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rdx, rcx
jb 0x140077a92
add r9d, r13d
cmp r9d, dword [rbp - 0x60]
jb 0x1400779f0
lea rax, [rdi + 4]
mov rdx, r15
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdi
jb 0x140077a92
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
lea rax, [rdi + 8]
cmp rax, rcx
ja 0x1400772a8
mov dword [rdi], 4
mov eax, dword [rbp + 0x168]
mov dword [rdx], eax
add dword [rbp - 0x60], r13d
test r14d, r14d
js 0x140077052
mov dword [rbp + 0x350], 8
mov r8, rsi
mov qword [rbp + 0x60], rsi
mov r12d, esi
mov qword [rbp + 0x198], rsi
mov qword [rsp + 0x78], rsi
mov r13d, esi
mov dword [rsp + 0x68], esi
mov qword [rbp - 8], rsi
mov dword [rbp + 0x6c], esi
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x10], rsi
mov dword [rbp + 0xc8], esi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x308], rax
mov eax, dword [rbp - 0x5c]
add eax, 8
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
mov dword [rbp + 0xc0], ecx
sbb r14d, r14d
and r14d, r11d
cmp eax, 8
jb 0x140077be9
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140077b20
mov r14d, r11d
jmp 0x140077be9
mov dword [rbp + 0xc0], 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 0x140077b55
mov r14d, 0xc0000017
mov r8, rsi
jmp 0x140077be9
mov eax, dword [rbp - 0x60]
mov dword [rdi], eax
lea rax, [rdi + 4]
mov rdx, r15
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
mov r11d, 0xc0000095
and r14d, r11d
cmp rax, rdi
jb 0x140077bc9
mov eax, dword [rbp - 0x5c]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, r11d
cmp rax, rdx
jb 0x140077bc9
mov edx, dword [rbp + 0xc0]
mov rax, qword [rbp + 0x308]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x58]
call sub.msvcrt.dll_memcpy
mov r8, rdi
mov qword [rbp + 0x60], rdi
mov rdi, rsi
mov r12d, dword [rbp + 0xc0]
jmp 0x140077bcc
mov r8, rsi
test rdi, rdi
je 0x140077be9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rbp + 0x60]
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400796a2
mov qword [rbp + 0x378], rsi
mov qword [rbp + 0x380], rsi
mov qword [rbp + 0x488], rsi
mov qword [rbp + 0x390], rsi
mov qword [rbp + 0x258], rsi
mov qword [rbp + 0x370], rsi
mov rbx, rsi
test r8, r8
jne 0x140077c38
mov r14d, 0xc000000d
jmp 0x1400783dc
mov r14d, r12d
mov qword [rbp - 0x28], r14
test r12d, r12d
je 0x14007832e
lea rdi, [r14 + 8]
mov qword [rbp + 0x40], 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 r13, rax
mov qword [rbp + 0x78], rax
test rax, rax
je 0x14007832e
mov dl, sil
mov byte [rsp + 0x64], dl
mov rcx, rsi
mov rdi, qword [rbp + 0x60]
test r12d, r12d
je 0x140077c9b
mov eax, 1
xor dl, byte [rdi + rcx]
add rcx, rax
cmp rcx, r14
jb 0x140077c8c
mov byte [rsp + 0x64], dl
movabs rax, 0xc81ecb17b1b54a58
mov qword [rbp + 0x948], rax
mov r8, r13
mov r11d, esi
mov dword [rbp - 0x18], esi
or r10d, 0xffffffff
mov dword [rbp - 0x40], r10d
mov dword [rbp - 0x50], esi
mov dword [rbp - 0x30], esi
mov rax, r14
and eax, 7
je 0x140077db7
mov r12d, esi
mov dword [rbp - 0x50], esi
mov dword [rbp - 0x30], esi
mov r10d, esi
test eax, eax
je 0x140077d2b
mov edx, 1
lea r9d, [rdx + 0x37]
lea rcx, [rdi + 1]
mov qword [rbp + 0x50], rcx
movzx edi, byte [rdi]
cmp r10d, 4
jge 0x140077d04
lea ecx, [r9 - 0x20]
shl edi, cl
or r11d, edi
jmp 0x140077d0c
mov ecx, r9d
shl edi, cl
or r12d, edi
add r10d, edx
sub r9d, 8
mov rcx, qword [rbp + 0x50]
mov rdi, rcx
cmp r10d, eax
jl 0x140077ce8
mov dword [rbp - 0x30], r11d
mov dword [rbp - 0x50], r12d
mov dl, byte [rsp + 0x64]
xor r11d, 0xb17a307a
mov dword [rbp - 0x18], r11d
mov r10d, r12d
xor r10d, 0x42f6b18d
mov dword [rbp - 0x40], r10d
mov ecx, esi
test eax, eax
jle 0x140077d7f
mov r13d, 1
lea r9, [r8 + 1]
cmp ecx, 4
jge 0x140077d62
rol r11d, 8
mov byte [r8], r11b
jmp 0x140077d69
rol r10d, 8
mov byte [r8], r10b
add ecx, r13d
mov r8, r9
cmp ecx, eax
jl 0x140077d50
mov r11d, dword [rbp - 0x18]
mov r10d, dword [rbp - 0x40]
mov r13, qword [rbp + 0x78]
add eax, 0xfffffffc
test eax, eax
jle 0x140077d9c
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0x40], r10d
jmp 0x140077db7
mov r10d, esi
mov dword [rbp - 0x40], esi
test eax, eax
jns 0x140077db7
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x18], r11d
mov r12, r14
shr r12, 3
test r12, r12
je 0x14007811c
mov ecx, dword [rbp + 0x94c]
mov eax, ecx
shr eax, 0x10
mov dword [rbp - 0x80], eax
movzx eax, cx
lea r14, [r8 + 7]
lea rsi, [rdi + 2]
mov r15d, dword [rbp - 0x50]
mov ebx, dword [rbp - 0x30]
mov r13d, eax
mov edx, dword [rbp - 0x80]
movzx r9d, byte [rsi - 2]
shl r9d, 8
movzx eax, byte [rsi - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 1]
or r9d, eax
movzx r8d, byte [rsi + 2]
shl r8d, 8
movzx eax, byte [rsi + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [rsi + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [rsi + 5]
or r8d, eax
xor r10d, r8d
lea rsi, [rsi + 8]
lea eax, [r10 - 0x4a58]
xor eax, ecx
xor eax, r9d
xor r11d, eax
mov edi, ecx
xor edi, r11d
ror edi, 0xf
mov ecx, r11d
ror ecx, 7
movzx eax, word [rbp + 0x94a]
imul eax, edi
add ecx, eax
xor r10d, ecx
lea edi, [r10 - 0x4e4ab5a8]
ror edi, 9
mov ecx, r10d
ror ecx, 0xa
mov eax, r13d
imul eax, edi
sub eax, ecx
xor r11d, eax
mov edi, r13d
xor edi, r11d
rol edi, 4
mov ecx, r11d
rol ecx, 5
mov eax, edx
imul eax, edi
add ecx, eax
xor r10d, ecx
mov ecx, r10d
xor ecx, 0xb1b54a58
mov eax, dword [rbp + 0x94c]
sub eax, ecx
xor r11d, eax
lea ecx, [r11 - 0x4a58]
movzx edi, word [rbp + 0x94a]
imul ecx, edi
mov eax, r11d
shr eax, 6
sub ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xf
xor eax, r13d
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
not eax
ror eax, 3
add eax, edx
imul eax, r13d
xor r10d, eax
mov eax, r10d
sub eax, dword [rbp + 0x94c]
sub eax, 0x4a58
xor r11d, eax
mov ecx, r11d
ror ecx, 0xa
mov eax, edx
xor eax, r11d
imul eax, edi
xor ecx, eax
xor r10d, ecx
mov edi, r10d
xor edi, 0x4a58
rol edi, 6
mov ecx, r10d
ror ecx, 3
mov eax, r13d
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
sub eax, edx
imul eax, eax, 0x4a58
xor r10d, eax
mov eax, edx
xor eax, r10d
imul ecx, eax, 0x4a58
mov eax, r10d
shr eax, 1
xor ecx, eax
xor r11d, ecx
mov eax, r10d
sub eax, r13d
rol eax, 3
imul ecx, eax, 0x4a58
mov eax, r10d
shr eax, 0xf
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, r13d
movzx eax, word [rbp + 0x94a]
imul ecx, eax
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor r10d, ecx
mov edi, 0xb1b54a58
sub edi, r10d
ror edi, 9
mov ecx, r10d
ror ecx, 0xb
mov eax, r13d
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov eax, r11d
sub eax, edx
add eax, 0x4e4ab5a8
xor r10d, eax
mov edi, r10d
ror edi, 7
movzx eax, word [rbp + 0x94a]
xor eax, r10d
imul ecx, eax, 0x4a58
sub ecx, edi
xor r11d, ecx
mov ecx, edx
xor ecx, r11d
rol ecx, 4
mov eax, r11d
ror eax, 0x10
movzx edi, word [rbp + 0x94a]
imul ecx, edi
sub ecx, eax
xor r10d, ecx
mov ecx, 0xb1b54a58
sub ecx, r10d
ror ecx, 0xa
mov eax, r10d
ror eax, 4
imul ecx, r13d
add eax, ecx
xor r11d, eax
lea ecx, [r11 + 0x4e4ab5a8]
ror ecx, 4
mov eax, r11d
ror eax, 9
imul ecx, edx
xor eax, ecx
xor r10d, eax
mov eax, dword [rbp + 0x94c]
xor eax, r10d
rol eax, 8
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r11d, eax
mov ecx, dword [rbp + 0x94c]
sub ecx, r11d
ror ecx, 0xb
mov eax, r11d
ror eax, 0xc
imul ecx, edi
sub ecx, eax
xor r10d, ecx
mov ecx, edi
xor ecx, r10d
imul ecx, r13d
mov eax, r10d
shr eax, 8
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor r11d, ebx
mov dword [rbp - 0x18], r11d
mov ecx, dword [rbp + 0x94c]
xor r10d, ecx
xor r10d, r15d
xor r10d, eax
xor r10d, 0xb1b54a58
mov dword [rbp - 0x40], r10d
mov byte [r14 - 4], r11b
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x40]
mov byte [r14], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x18]
mov byte [r14 - 5], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x40]
mov byte [r14 - 1], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x18]
mov byte [r14 - 6], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x40]
mov byte [r14 - 2], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x18]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x40]
mov byte [r14 - 3], al
mov r11d, dword [rbp - 0x18]
ror r11d, 8
mov dword [rbp - 0x18], r11d
mov r10d, dword [rbp - 0x40]
ror r10d, 8
mov dword [rbp - 0x40], r10d
mov ebx, r9d
mov r15d, r8d
lea r14, [r14 + 8]
sub r12, 1
jne 0x140077ded
mov dl, byte [rsp + 0x64]
xor esi, esi
or r15, 0xffffffffffffffff
mov ebx, esi
mov r14, qword [rbp - 0x28]
mov r13, qword [rbp + 0x78]
movzx eax, dl
mov qword [r14 + r13], rax
mov qword [rbp + 0x258], r13
mov r14, qword [rbp + 0x40]
mov qword [rbp + 0x370], r14
lea rax, [0x140109460]
mov qword [rbp + 0x378], rax
mov qword [rbp + 0x380], 8
lea r12, [0x1401093c0]
mov qword [rbp + 0x488], r12
mov qword [rbp + 0x390], RegisterTypeLib
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 0x140078192
mov r14d, 0xc0000017
jmp 0x14007831d
mov dword [rax], r14d
mov r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400781bf
mov r14d, 0xc0000017
jmp 0x1400782a1
mov qword [rdi + 8], rax
mov r8, r14
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r14d, RegisterTypeLib
mov dword [rdi + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov r14d, 8
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400781b4
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r12]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [rax + 0x60], xmm0
lea edx, [r14 + 0x78]
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r12 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r12 + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400781b4
mov qword [rdi + 0x28], rax
mov r14d, esi
movsd xmm0, qword [0x140109460]
movsd qword [rax], xmm0
mov rbx, rdi
mov rdi, rsi
test rdi, rdi
je 0x14007831d
mov r12, qword [rdi + 8]
test r12, r12
je 0x1400782c7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rsi
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x1400782e8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rsi
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x140078309
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x140078334
mov qword [rbp + 0x198], rbx
mov rbx, rsi
jmp 0x140078334
mov r14d, 0xc0000001
mov rdi, qword [rbp + 0x258]
test rdi, rdi
je 0x14007835b
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 + 0x258], rsi
test rbx, rbx
je 0x1400783d7
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x140078381
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400783a2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400783c3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, dword [rsp + 0x68]
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400796a2
mov rbx, qword [rbp + 0x198]
mov r8d, dword [rbx + 0x20]
mov edi, dword [rbx + 0x10]
mov eax, dword [rbx]
add eax, 4
or r10d, 0xffffffff
mov ecx, r10d
cmp eax, 4
cmovae ecx, eax
sbb r14d, r14d
mov r9d, 0xc0000095
and r14d, r9d
cmp eax, 4
jb 0x140078483
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r9d
cmp eax, ecx
jb 0x140078483
lea eax, [rdx + rdi]
mov ecx, r10d
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, r9d
cmp eax, edx
jb 0x140078483
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r9d
cmp eax, ecx
jb 0x140078483
lea ecx, [rdx + r8]
mov eax, r10d
cmp ecx, edx
cmovae eax, ecx
sbb r14d, r14d
and r14d, r9d
mov edi, dword [rbp + 0xc4]
cmp ecx, edx
cmovae edi, eax
mov dword [rbp + 0xc4], edi
jmp 0x140078489
mov edi, dword [rbp + 0xc4]
test r14d, r14d
js 0x1400784b3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14007851d
mov r14d, 0xc0000017
mov r12, rsi
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x140078997
mov qword [rbp + 0x398], rsi
mov r8d, esi
mov dword [rbp + 0x1fc], esi
mov qword [rbp + 0x3a0], rsi
mov r10d, esi
mov dword [rbp + 0x268], esi
mov dword [rbp + 0x3e0], 0x3c
mov eax, 0x48
mov dword [rbp + 0x414], eax
mov dword [rbp + 0xbc], eax
cmp qword [rbp - 0x58], rsi
jne 0x140078647
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x140078816
mov eax, dword [rbx]
mov dword [rdi], eax
lea rax, [rdi + 4]
mov r12, r15
cmp rax, rdi
cmovae r12, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rax, rdi
jb 0x140078622
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
add rcx, r12
mov rdx, r15
cmp rcx, r12
cmovae rdx, rcx
sbb r14d, r14d
mov r9d, 0xc0000095
and r14d, r9d
cmp rcx, r12
jb 0x140078622
mov eax, dword [rbx + 0x10]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r12, r15
cmp rax, rdx
cmovae r12, rax
sbb r14d, r14d
and r14d, r9d
cmp rax, rdx
jb 0x140078622
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x10]
add rcx, r12
mov rdx, r15
cmp rcx, r12
cmovae rdx, rcx
sbb r14d, r14d
mov r9d, 0xc0000095
and r14d, r9d
cmp rcx, r12
jb 0x140078622
mov eax, dword [rbx + 0x20]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov r12, r15
cmp rax, rdx
cmovae r12, rax
sbb r14d, r14d
and r14d, r9d
cmp rax, rdx
jb 0x140078622
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x20]
add rcx, r12
cmp rcx, r12
sbb r14d, r14d
and r14d, 0xc0000095
cmp rcx, r12
jb 0x140078622
mov r12, rdi
mov qword [rsp + 0x78], rdi
mov rdi, rsi
mov r13d, dword [rbp + 0xc4]
jmp 0x140078625
mov r12, rsi
test rdi, rdi
je 0x1400784b6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400784b6
mov r11d, 1
cmp dword [rbp - 0x60], r11d
jbe 0x14007850d
mov rdx, qword [rbp - 0x58]
mov r9d, esi
mov ebx, 0xc0000095
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400786e1
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x1400786e1
add r9d, r11d
cmp r9d, r11d
jb 0x140078663
mov edi, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400786e1
mov r8d, edi
mov dword [rbp + 0x1fc], edi
mov rax, rsi
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x398], rax
test r14d, r14d
js 0x140078997
cmp dword [rbp - 0x60], 2
jbe 0x14007850d
mov rdx, qword [rbp - 0x58]
mov r9d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x14007877f
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x14007877f
add r9d, r11d
cmp r9d, 2
jb 0x1400786fb
mov edi, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
mov r11d, ebx
and r14d, ebx
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140078782
mov r10d, edi
mov dword [rbp + 0x268], edi
mov rax, rsi
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x3a0], rax
jmp 0x140078782
mov r11d, ebx
test r14d, r14d
js 0x140078997
lea eax, [r8 + 0x50]
or edx, 0xffffffff
mov ecx, edx
cmp eax, 0x50
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp eax, 0x50
jb 0x1400787ec
lea eax, [rcx + 4]
mov edi, edx
cmp eax, ecx
cmovae edi, eax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x1400787ec
lea ecx, [rdi + r10]
mov eax, edx
cmp ecx, edi
cmovae eax, ecx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
mov edx, dword [rbp + 0x160]
cmp ecx, edi
cmovae edx, eax
mov dword [rbp + 0x160], edx
jmp 0x1400787f2
mov edx, dword [rbp + 0x160]
test r14d, r14d
js 0x140078997
cmp edx, 0x400000
jbe 0x140078813
mov r14d, 0x8000ffff
mov dword [rsp + 0x60], r14d
jmp 0x140078997
mov dword [rbp + 0x6c], edx
test r14d, r14d
js 0x140078997
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
test rax, rax
jne 0x140078849
mov r14d, 0xd0000017
jmp 0x140078809
mov qword [rbp - 8], rdi
mov rbx, qword [rsp + 0x78]
test rbx, rbx
jne 0x14007886a
mov r14d, 0x80070057
mov dword [rsp + 0x60], r14d
mov r12, rbx
jmp 0x140078997
mov qword [rbp + 0x490], rbx
mov dword [rbp + 0x4a0], r13d
mov qword [rbp + 0x498], rdi
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x4a4], eax
mov dword [rbp + 0x4a8], esi
lea r8, [rbp + 0x3a8]
lea rdx, [0x1400e8408]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400788d7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
mov dword [rsp + 0x60], r14d
mov edx, dword [rbp + 0x6c]
test r14d, r14d
js 0x140078924
mov r14d, 0x80004005
jmp 0x14007891f
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x3a8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400788ab
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x490]
lea ecx, [r8 + 0x66]
call qword [case.0x14006d218.0]
mov r14d, eax
or r14d, 0x10000000
mov edx, dword [rbp + 0x6c]
cmovge edx, dword [rbp + 0x4a4]
mov dword [rbp + 0x6c], edx
mov dword [rsp + 0x60], r14d
cmp r14d, 0xd0000023
jne 0x140078940
mov r13d, 0x8007007a
mov r14d, r13d
mov dword [rsp + 0x60], r13d
mov r12, rbx
jmp 0x14007899d
test r14d, r14d
js 0x140078862
mov qword [rbp + 0x78], rsi
cmp edx, 4
jae 0x140078b3c
mov r14d, 0xc000003e
mov rbx, rsi
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x140078992
mov rdi, rsi
mov qword [rbp + 0x128], rsi
mov qword [rbp + 0x310], rsi
test rbx, rbx
jne 0x140078f05
mov r14d, 0xd000000d
mov dword [rsp + 0x60], r14d
mov r12, qword [rsp + 0x78]
mov r13d, 0x8007007a
mov rdi, qword [rbp + 0x60]
test rdi, rdi
je 0x1400789ba
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 + 0x198]
test rbx, rbx
je 0x140078a44
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400789e7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x140078a08
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x140078a29
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x198], rsi
test r12, r12
je 0x140078a5d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x140078a7a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x58]
test rbx, rbx
je 0x140078afa
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x140078aa4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x140078ac5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x140078ae6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x140078b17
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x140077052
mov ebx, 1
cmp dword [rbp + 0xa8], ebx
jae 0x1400796aa
mov r14d, 0xc004d501
jmp 0x14007704d
mov r13d, dword [rdi]
lea rax, [rdi + 4]
mov rbx, r15
cmp rax, rdi
cmovae rbx, rax
sbb r14d, r14d
mov r11d, 0xc0000095
and r14d, r11d
cmp rax, rdi
jb 0x14007895c
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x140078956
lea rcx, [rbx + r13]
mov rdi, r15
cmp rcx, rbx
cmovae rdi, rcx
sbb r14d, r14d
and r14d, r11d
cmp rcx, rbx
jb 0x14007895c
lea eax, [r13 + 4]
or r9d, 0xffffffff
mov ecx, r9d
cmp eax, 4
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
cmp eax, 4
jb 0x14007895c
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x140078956
mov r10d, dword [rdi]
mov dword [rbp - 0x70], r10d
lea rax, [rdi + 4]
mov r12, r15
cmp rax, rdi
cmovae r12, rax
sbb r14d, r14d
and r14d, r11d
cmp rax, rdi
jb 0x14007895c
lea eax, [rcx + 4]
mov r8d, r9d
cmp eax, ecx
cmovae r8d, eax
sbb r14d, r14d
and r14d, r11d
cmp eax, ecx
jb 0x14007895c
mov eax, edx
sub eax, r8d
cmp eax, r10d
jb 0x140078956
lea rcx, [r12 + r10]
mov r9, r15
cmp rcx, r12
cmovae r9, rcx
sbb r14d, r14d
and r14d, r11d
cmp rcx, r12
jb 0x14007895c
lea eax, [r8 + r10]
or edi, 0xffffffff
cmp eax, r8d
cmovae edi, eax
sbb r14d, r14d
and r14d, r11d
cmp eax, r8d
jb 0x14007895c
mov eax, edx
sub eax, edi
cmp eax, 4
jb 0x140078956
mov r8d, dword [r9]
mov dword [rsp + 0x68], r8d
lea rax, [r9 + 4]
mov rcx, r15
cmp rax, r9
cmovae rcx, rax
mov qword [rbp + 0x50], rcx
sbb r14d, r14d
and r14d, r11d
cmp rax, r9
jb 0x14007895c
lea eax, [rdi + 4]
or r9d, 0xffffffff
mov ecx, r9d
cmp eax, edi
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
cmp eax, edi
jb 0x14007895c
mov eax, edx
sub eax, ecx
cmp eax, r8d
jb 0x140078956
lea eax, [rcx + r8]
mov edi, r9d
cmp eax, ecx
cmovae edi, eax
sbb r14d, r14d
and r14d, r11d
cmp eax, ecx
jb 0x14007895c
cmp edx, edi
jne 0x140078956
lea ecx, [r10 + r13]
add ecx, r8d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x140078956
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 0x140078d00
mov r14d, 0xc0000017
jmp 0x140078e61
test rbx, rbx
je 0x140078d43
mov dword [rax], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140078d2f
mov r14d, 0xc0000017
jmp 0x140078de5
mov qword [rdi + 8], rax
mov r8, r13
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140078d49
mov dword [rax], esi
mov qword [rax + 8], rsi
test r12, r12
je 0x140078d86
mov eax, dword [rbp - 0x70]
mov dword [rdi + 0x10], eax
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140078d24
mov qword [rdi + 0x18], rax
mov r8d, ebx
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140078d8d
mov dword [rdi + 0x10], esi
mov qword [rdi + 0x18], rsi
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x140078dd4
mov eax, dword [rsp + 0x68]
mov dword [rdi + 0x20], eax
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140078d24
mov qword [rdi + 0x28], rax
mov r8d, r14d
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140078ddb
mov dword [rdi + 0x20], esi
mov qword [rdi + 0x28], rsi
mov qword [rbp + 0x78], rdi
mov rdi, rsi
mov r14d, esi
test rdi, rdi
je 0x140078e61
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140078e0b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rsi
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x140078e2c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rsi
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140078e4d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, rsi
test r14d, r14d
cmovs rdi, qword [rbp + 0x78]
mov rbx, qword [rbp + 0x78]
cmovs rbx, rsi
mov qword [rbp + 0x58], rbx
test rdi, rdi
je 0x14007895f
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140078ea2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rsi
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x140078ec3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rsi
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140078ee4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x58]
mov qword [rbp + 0x58], rbx
jmp 0x14007895f
mov r12, qword [rbx + 8]
mov qword [rbp + 0x40], r12
test r12, r12
je 0x140078987
cmp dword [rbx], esi
je 0x140078987
mov ebx, dword [rbx]
mov dword [rsp + 0x68], esi
test rbx, rbx
je 0x140079457
add rbx, 0xfffffffffffffff8
mov qword [rbp - 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
mov qword [rbp + 0x78], rax
test rax, rax
je 0x140079450
mov dl, sil
mov byte [rsp + 0x64], dl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x968], rax
mov r10, r12
mov r9, r14
mov rdi, rbx
and edi, 7
mov dword [rbp - 0x20], esi
mov dword [rbp - 0x50], esi
mov r11d, esi
je 0x140079073
or dword [rbp - 0x48], 0xffffffff
mov r13d, esi
mov r12d, esi
test edi, edi
je 0x140078fe2
mov edx, 1
lea r8d, [rdx + 0x37]
lea rax, [r10 + 1]
mov qword [rbp + 0x50], rax
movzx eax, byte [r10]
cmp r11d, 4
jge 0x140078fc0
lea ecx, [r8 - 0x20]
shl eax, cl
or r12d, eax
jmp 0x140078fc8
mov ecx, r8d
shl eax, cl
or r13d, eax
add r11d, edx
sub r8d, 8
mov rax, qword [rbp + 0x50]
mov r10, rax
cmp r11d, edi
jl 0x140078fa3
mov dword [rbp - 0x50], r12d
mov dl, sil
mov r11d, r12d
xor r11d, 0x92f65a5
mov dword [rbp - 0x20], r11d
mov r8d, r13d
xor r8d, 0x699a899c
mov dword [rbp - 0x48], r8d
mov eax, esi
test edi, edi
jle 0x140079039
mov r14d, 1
lea rcx, [r9 + 1]
cmp eax, 4
jge 0x14007901c
rol r11d, 8
mov byte [r9], r11b
jmp 0x140079023
rol r8d, 8
mov byte [r9], r8b
add eax, r14d
mov r9, rcx
cmp eax, edi
jl 0x14007900a
mov r11d, dword [rbp - 0x20]
mov r8d, dword [rbp - 0x48]
mov r14, qword [rbp + 0x78]
lea eax, [rdi - 4]
test eax, eax
jle 0x140079056
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x48], r8d
jmp 0x14007907d
mov r8d, esi
mov dword [rbp - 0x48], esi
test eax, eax
jns 0x14007907d
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x20], r11d
jmp 0x14007907d
or r13d, 0xffffffff
mov r8d, esi
mov dword [rbp - 0x48], esi
mov r12, rbx
shr r12, 3
test r12, r12
je 0x1400793bb
mov edx, dword [rbp + 0x96c]
mov eax, edx
shr eax, 0x10
movzx esi, dx
mov dword [rbp - 0x68], eax
movzx eax, word [rbp + 0x96a]
mov dword [rbp - 0x70], eax
lea r14, [r9 + 7]
lea rbx, [r10 + 2]
mov r15d, dword [rbp - 0x50]
movzx r10d, byte [rbx - 2]
shl r10d, 8
movzx eax, byte [rbx - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 1]
or r10d, eax
movzx r9d, byte [rbx + 2]
shl r9d, 8
movzx eax, byte [rbx + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 5]
or r9d, eax
xor r11d, r10d
lea rbx, [rbx + 8]
mov edi, r9d
xor edi, r8d
xor edi, r11d
xor edi, edx
xor edi, 0xab69605e
lea ecx, [rdi + 0x54969fa2]
rol ecx, 5
mov eax, edi
rol eax, 0xa
imul ecx, esi
add eax, ecx
xor r11d, eax
lea ecx, [r11 + rdx]
ror ecx, 9
mov eax, r11d
rol eax, 2
movzx r8d, word [rbp + 0x96a]
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov eax, edi
sub eax, esi
imul ecx, eax, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
rol ecx, 6
mov eax, r11d
rol eax, 2
mov r8d, dword [rbp - 0x68]
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
mov eax, edx
sub eax, ecx
xor r11d, eax
mov ecx, r11d
ror ecx, 6
mov eax, r11d
xor eax, esi
imul eax, dword [rbp - 0x70]
xor ecx, eax
xor edi, ecx
lea eax, [rdi + rdx]
ror eax, 0xf
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r11d, ecx
lea ecx, [r11 + 0x54969fa2]
ror ecx, 0xe
mov eax, r11d
rol eax, 8
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, edi
ror eax, 0xa
imul ecx, esi
xor eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, r8d
movzx eax, word [rbp + 0x96a]
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, 0x605e
imul eax, r8d
xor r11d, eax
mov r8d, r11d
sub r8d, dword [rbp - 0x68]
xor r8d, edi
xor r8d, 0xab69605e
mov ecx, r8d
xor ecx, dword [rbp - 0x68]
rol ecx, 2
imul ecx, esi
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, edx
ror ecx, 6
mov eax, r11d
rol eax, 7
movzx edi, word [rbp + 0x96a]
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 + 0x96a]
xor ecx, eax
rol ecx, 5
mov eax, r11d
rol eax, 7
imul ecx, dword [rbp - 0x68]
add eax, ecx
xor r8d, eax
mov edi, r8d
xor edi, r11d
xor edi, edx
xor edi, 0xab69605e
mov eax, edi
ror eax, 3
movzx r11d, word [rbp + 0x96a]
sub eax, r11d
imul eax, esi
xor r8d, eax
mov eax, r8d
sub eax, edx
ror eax, 1
mov ecx, r8d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edi, eax
lea ecx, [rdi - 0x54969fa2]
rol ecx, 3
mov eax, edi
rol eax, 0xe
imul ecx, dword [rbp - 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, r8d
xor eax, edx
rol eax, 4
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r15d
xor edi, ecx
mov dword [rbp - 0x20], edi
xor r8d, r13d
mov dword [rbp - 0x48], r8d
mov byte [r14 - 4], dil
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [r14], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 5], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [r14 - 1], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 6], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [r14 - 2], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x48]
mov byte [r14 - 3], al
mov r11d, dword [rbp - 0x20]
ror r11d, 8
mov dword [rbp - 0x20], r11d
mov r8d, dword [rbp - 0x48]
ror r8d, 8
mov dword [rbp - 0x48], r8d
mov r15d, r10d
mov r13d, r9d
lea r14, [r14 + 8]
mov ecx, 1
sub r12, rcx
jne 0x1400790b4
mov dl, byte [rsp + 0x64]
xor esi, esi
or r15, 0xffffffffffffffff
mov rbx, qword [rbp - 0x28]
mov r14, qword [rbp + 0x78]
jmp 0x1400793c0
mov ecx, 1
mov rax, rsi
test rbx, rbx
je 0x1400793d4
xor dl, byte [rax + r14]
add rax, rcx
cmp rax, rbx
jb 0x1400793c8
movzx eax, dl
mov rcx, qword [rbp + 0x40]
cmp rax, qword [rbx + rcx]
je 0x1400793ef
mov ebx, 0xc004d501
mov rdi, qword [rbp + 0x128]
jmp 0x140079407
mov rdi, r14
mov qword [rbp + 0x128], r14
mov r14, rsi
mov qword [rbp + 0x310], rbx
mov ebx, dword [rsp + 0x68]
test r14, r14
je 0x140079427
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x128]
test ebx, ebx
js 0x140079457
mov r12, rdi
mov qword [rbp + 0x10], rdi
mov rdi, rsi
mov qword [rbp + 0x128], rsi
mov ecx, dword [rbp + 0x310]
mov dword [rbp + 0xc8], ecx
mov r14d, 0x10000000
jmp 0x140079466
mov rdi, qword [rbp + 0x128]
mov r14d, 0xd0000001
mov ecx, dword [rbp + 0xc8]
mov r12, rsi
mov dword [rsp + 0x60], r14d
test rdi, rdi
je 0x140079491
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 + 0x128], rsi
mov ecx, dword [rbp + 0xc8]
test r14d, r14d
js 0x140078992
cmp ecx, 4
jb 0x140079692
mov r11d, dword [r12]
mov dword [rbp - 0x80], r11d
lea rax, [r12 + 4]
mov rdx, r15
cmp rax, r12
cmovae rdx, rax
sbb r14d, r14d
mov r8d, 0xc0000095
and r14d, r8d
cmp rax, r12
jb 0x140079698
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140079692
mov ebx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r8d
cmp rax, rdx
jb 0x140079698
lea eax, [rcx - 8]
cmp eax, ebx
jb 0x140079692
lea eax, [rbx + 8]
cmp eax, 8
sbb r14d, r14d
and r14d, r8d
cmp eax, 8
jb 0x140079698
lea r9, [rdi + rbx]
mov edx, ecx
lea rax, [r12 + rdx]
cmp rax, r9
jb 0x140079692
mov rax, r12
sub rax, rdi
sub rax, rbx
add rax, rdx
cmp rax, 8
jae 0x140079692
mov r12, rsi
mov r14d, esi
mov r10d, esi
mov dword [rsp + 0x68], esi
test rdi, rdi
je 0x140079620
mov rdx, rdi
mov r8, r15
cmp r9, rdi
cmovae r8, r9
sbb r14d, r14d
and r14d, 0xc0000095
cmp r9, rdi
jb 0x140079684
cmp rdi, r8
jae 0x14007961b
mov r9d, dword [rbp + 0x26c]
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rax, rdx
jb 0x140079684
cmp rcx, r8
ja 0x14007964b
mov ecx, dword [rdx]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r14d, r14d
and r14d, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x26c], r9d
jb 0x140079684
mov ecx, r9d
add rcx, rdx
mov rax, r15
cmp rcx, rdx
cmovae rax, rcx
sbb r14d, r14d
and r14d, 0xc0000095
cmp rcx, rdx
jb 0x140079684
cmp rax, r8
ja 0x14007964b
mov rdx, rax
inc r10d
mov dword [rsp + 0x68], r10d
cmp rax, r8
jb 0x140079589
cmp rdx, r8
jne 0x14007964b
test ebx, ebx
je 0x140079656
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x140079653
mov r14d, 0xc0000017
jmp 0x140079680
mov r14d, 0xc000000d
jmp 0x140079698
mov r14d, esi
test rdi, rdi
je 0x140079669
mov r8, rbx
mov rdx, rdi
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xb0], r12
mov dword [rbp + 0xac], ebx
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0xa8], eax
mov r11d, dword [rbp - 0x80]
test r14d, r14d
js 0x140079698
cmp r11d, dword [rbp + 0xa8]
je 0x140079698
mov r14d, 0xc000003e
bts r14d, 0x1c
jmp 0x14007898d
mov r12, rsi
jmp 0x140078997
mov r11d, 0xc0000095
cmp qword [rbp + 0xb0], rsi
jne 0x1400796c6
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x140079734
cmp dword [rbp + 0xa8], esi
jbe 0x1400796b9
mov rdi, qword [rbp + 0xb0]
mov ecx, dword [rdi]
lea rax, [rdi + 4]
mov rdx, r15
cmp rax, rdi
cmovae rdx, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdi
jb 0x14007970d
mov dword [rbp + 0x270], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x3b0], rax
jmp 0x14007971a
mov ecx, dword [rbp + 0x270]
mov rax, qword [rbp + 0x3b0]
test r14d, r14d
js 0x140077052
cmp ecx, 4
jne 0x1400772a8
mov eax, dword [rax]
mov dword [rbp + 0x98], eax
test r14d, r14d
js 0x140077052
mov r14d, dword [rbp + 0x98]
cmp r14d, 0xd0000023
cmove r14d, r13d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0x98], r14d
cmp r14d, r13d
je 0x140079769
test r14d, r14d
js 0x140077052
cmp dword [rbp + 0xa8], 6
jne 0x140078b31
cmp qword [rbp + 0xb0], rsi
jne 0x14007978f
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x14007983f
mov rdx, qword [rbp + 0xb0]
mov r8d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140079816
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x140079816
add r8d, ebx
cmp r8d, ebx
jb 0x140079799
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140079816
mov dword [rbp + 0x1d0], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3b8], rax
jmp 0x140079823
mov ecx, dword [rbp + 0x1d0]
mov rax, qword [rbp + 0x3b8]
test r14d, r14d
js 0x140077052
cmp ecx, 8
jne 0x1400772a8
mov rax, qword [rax]
mov qword [rbp + 0x388], rax
test r14d, r14d
js 0x140077052
cmp qword [rbp + 0xb0], rsi
jne 0x140079861
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x140079910
mov rdx, qword [rbp + 0xb0]
mov r8d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400798e9
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x1400798e9
add r8d, ebx
cmp r8d, 2
jb 0x14007986b
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400798e9
mov dword [rbp + 0x1d4], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3c0], rax
jmp 0x1400798f6
mov ecx, dword [rbp + 0x1d4]
mov rax, qword [rbp + 0x3c0]
test r14d, r14d
js 0x140077052
cmp ecx, 4
jne 0x1400772a8
mov eax, dword [rax]
mov dword [rbp + 0x208], eax
test r14d, r14d
js 0x140077052
cmp qword [rbp + 0xb0], rsi
jne 0x14007992d
mov r14d, 0xc000000d
jmp 0x14007704d
mov rdx, qword [rbp + 0xb0]
mov r8d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400799b8
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x1400799b8
add r8d, ebx
cmp r8d, 3
jb 0x140079937
mov r8d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x1400799b8
mov dword [rbp + 0x1d8], r8d
mov r9, rsi
test r8d, r8d
cmovne r9, rcx
mov qword [rbp + 0x3c8], r9
jmp 0x1400799c6
mov r8d, dword [rbp + 0x1d8]
mov r9, qword [rbp + 0x3c8]
test r14d, r14d
js 0x140077052
mov rdx, qword [rbp + 0xb0]
mov r10d, esi
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140079a57
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x140079a57
add r10d, ebx
cmp r10d, 4
jb 0x1400799d9
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r11d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140079a57
mov dword [rbp + 0x1f8], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3d0], rax
jmp 0x140079a64
mov ecx, dword [rbp + 0x1f8]
mov rax, qword [rbp + 0x3d0]
test r14d, r14d
js 0x140079a7e
cmp ecx, 4
jne 0x1400772a8
mov r10d, dword [rax]
mov dword [rbp + 0x200], r10d
jmp 0x140079a85
mov r10d, dword [rbp + 0x200]
test r14d, r14d
js 0x140077052
mov rdx, qword [rbp + 0xb0]
mov r11d, esi
mov r12d, 0xc0000095
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r12d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140079b1c
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r15
cmp rcx, rdi
cmovae rdx, rcx
sbb r14d, r14d
and r14d, r12d
mov dword [rsp + 0x60], r14d
cmp rcx, rdi
jb 0x140079b1c
add r11d, ebx
cmp r11d, 5
jb 0x140079a9e
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r15
cmp rax, rdx
cmovae rdi, rax
sbb r14d, r14d
and r14d, r12d
mov dword [rsp + 0x60], r14d
cmp rax, rdx
jb 0x140079b1c
mov dword [rbp + 0x204], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x3d8], rax
jmp 0x140079b29
mov ecx, dword [rbp + 0x204]
mov rax, qword [rbp + 0x3d8]
test r14d, r14d
js 0x140079b41
cmp ecx, 4
jne 0x1400772a8
mov ecx, dword [rax]
mov dword [rbp + 0x15c], ecx
jmp 0x140079b47
mov ecx, dword [rbp + 0x15c]
test r14d, r14d
js 0x140077052
mov rax, qword [rbp + 0x388]
cmp qword [rbp + 0x278], rax
jne 0x140078b31
mov dword [rbp + 0xe8], r10d
mov dword [rbp + 0x80], ecx
mov eax, dword [rbp + 0x208]
mov dword [rbp + 0x148], eax
cmp r10d, 4
jbe 0x140079b90
mov r14d, r13d
mov dword [rsp + 0x60], r13d
jmp 0x140077052
cmp r8d, 4
ja 0x140079b83
mov rdx, r9
mov rcx, qword [rbp + 0x48]
call sub.msvcrt.dll_memcpy
mov r12, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x78]
test r14d, r14d
js 0x14007705b
cmp dword [rbp + 0x98], esi
cmovne r14d, dword [rbp + 0x98]
mov dword [rsp + 0x60], r14d
jmp 0x14007705b
mov rax, qword [0x1401060b8]
call qword [case.0x14006d218.0]
mov qword [0x14010bea0], rax
mov edi, dword [0x14010a0d8]
mov dword [rbp - 0x80], edi
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x4e0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x950], rax
mov qword [rbp + 0x958], rax
lea r13d, [rax + 1]
mov dword [rbp + 0x158], r13d
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x50], rsi
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xa18]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x78], rsi
xor eax, eax
lock cmpxchg dword [0x14010beac], r13d
jne 0x140079c34
mov eax, dword [0x14010bea8]
test eax, eax
jne 0x14007a229
mov dword [rbp - 0x50], esi
mov dword [rsp + 0x68], esi
mov dword [rbp - 0x30], esi
mov qword [rbp + 0x1b0], rsi
mov qword [rbp + 0x318], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14007a1a5
mov byte [rsp + 0x64], sil
mov ecx, esi
or dword [rbp - 0x70], 0xffffffff
mov edi, esi
mov dword [rbp + 0x1c], esi
mov r13d, esi
mov dword [rbp + 0x30], esi
lea r14, [rax + 7]
lea r15, [0x1400ea212]
mov r12d, 0x67
mov ebx, dword [rbp - 0x70]
lea esi, [r12 - 0x66]
movzx r11d, byte [r15 - 2]
shl r11d, 8
movzx eax, byte [r15 - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [r15]
or r11d, eax
shl r11d, 8
movzx eax, byte [r15 + 1]
or r11d, eax
movzx r10d, byte [r15 + 2]
shl r10d, 8
movzx eax, byte [r15 + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 5]
or r10d, eax
xor r13d, r11d
xor edi, r10d
lea r15, [r15 + 8]
xor edi, r13d
xor edi, 0xac987321
lea eax, [rdi + 0x54969fa2]
rol eax, 5
mov edx, edi
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 edi, eax
mov eax, edi
shr eax, 0xd
imul edx, edi, 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 edi, eax
mov edx, edi
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 edi, r8d
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
mov edx, edi
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 edi, eax
mov eax, edi
xor eax, r9d
ror eax, 0xc
mov edx, edi
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 edi, edx
mov eax, edi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea r9d, [r13 - 0x7f1]
xor r9d, edi
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 edi, 0xab69
xor eax, edi
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, edi
imul eax, eax, 0x137f
xor r9d, eax
lea eax, [r9 - 0x7f1137f]
ror eax, 1
mov edx, r9d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r8d, eax
lea eax, [r8 - 0x54969fa2]
rol eax, 3
mov edx, r8d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
mov edx, r9d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r8d, eax
mov eax, r8d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r9d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, ecx
xor r8d, edx
mov dword [rbp + 0x30], r8d
xor r9d, ebx
mov dword [rbp + 0x1c], r9d
mov byte [r14 - 4], r8b
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x1c]
mov byte [r14], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x30]
mov byte [r14 - 5], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x1c]
mov byte [r14 - 1], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x30]
mov byte [r14 - 6], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x1c]
mov byte [r14 - 2], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x30]
mov byte [r14 - 7], al
mov al, byte [rbp + 0x1c]
mov byte [r14 - 3], al
mov r13d, dword [rbp + 0x30]
ror r13d, 8
mov dword [rbp + 0x30], r13d
mov edi, dword [rbp + 0x1c]
ror edi, 8
mov dword [rbp + 0x1c], edi
mov ecx, r11d
mov ebx, r10d
lea r14, [r14 + 8]
sub r12, rsi
jne 0x140079cba
xor esi, esi
mov eax, esi
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x80]
mov r14d, dword [rsp + 0x60]
or r15, 0xffffffffffffffff
mov r12d, dword [rsp + 0x68]
mov rbx, qword [rbp - 0x28]
lea edx, [rsi + 1]
mov r8d, 0x338
xor cl, byte [rax + rbx]
add rax, rdx
cmp rax, r8
jb 0x140079ff7
movzx eax, cl
cmp rax, qword [0x1400ea548]
je 0x14007a016
mov r13d, 0xc004d501
jmp 0x14007a02a
mov qword [rbp + 0x1b0], rbx
mov rbx, rsi
mov qword [rbp + 0x318], r8
mov r13d, r12d
test rbx, rbx
je 0x14007a043
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13d, r13d
js 0x14007a19f
mov rbx, qword [rbp + 0x1b0]
mov rax, qword [rbp + 0x318]
mov byte [rax + rbx - 1], sil
xor edx, edx
lea r8d, [rdx + 0x60]
lea r13, [0x14010a7b0]
mov rcx, r13
call sub.msvcrt.dll_memset
cmp byte [rbx], sil
jne 0x14007a08b
mov r13d, 1
jmp 0x14007a1ab
lea r13, [0x14010a7b0]
mov rdx, rbx
mov rax, r15
inc rax
cmp word [rbx + rax*2], si
jne 0x14007a091
lea rbx, [rbx + rax*2]
mov eax, dword [rbp - 0x30]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
mov r8, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14007a19f
mov r12d, esi
mov rax, qword [r13]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14007a0d6
mov r12d, 0xc000007b
jmp 0x14007a124
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14007a0ce
add rcx, qword [r13]
cmp rcx, qword [r13]
jb 0x14007a0ce
cmp dword [rcx], 0x4550
jne 0x14007a0ce
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14007a112
mov r12d, 0xc000000d
jmp 0x14007a124
mov rax, qword [rcx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [rbx + 2]
mov dword [rbp - 0x70], eax
add rbx, 6
mov ecx, esi
mov dword [rsp + 0x68], ecx
test eax, eax
je 0x14007a18a
mov rdx, rbx
mov rax, r15
inc rax
cmp byte [rbx + rax], sil
jne 0x14007a13e
inc rbx
add rbx, rax
test r12d, r12d
js 0x14007a177
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14007a079
mov ecx, dword [rbp - 0x50]
lea rdx, [0x140106020]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x68]
mov eax, 1
add dword [rbp - 0x50], eax
add ecx, eax
mov dword [rsp + 0x68], ecx
cmp ecx, dword [rbp - 0x70]
jb 0x14007a138
mov r13d, 1
add dword [rbp - 0x30], r13d
cmp byte [rbx], sil
jne 0x14007a084
jmp 0x14007a1ab
mov r13d, 1
mov r12d, 0xc000007a
cmp qword [rbp + 0x1b0], rsi
je 0x14007a1cc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1b0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
jns 0x14007a223
lea rbx, [0x14010a7b0]
mov r12d, 4
cmp qword [rbx], rsi
je 0x14007a1ec
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub r12, r13
jne 0x14007a1de
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x14010a7b0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x14007a232
mov eax, dword [0x14010bea8]
add eax, r13d
mov dword [0x14010bea8], eax
mov eax, esi
xchg dword [0x14010beac], eax
xor ecx, ecx
mov dword [rbp + 0xe60], ecx
mov word [rbp + 0xe64], cx
mov dword [rbp - 0x68], esi
mov dword [rbp + 0x10], esi
mov qword [rbp + 0x240], rsi
xor eax, eax
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x2f8], rax
mov qword [rbp + 0x300], rax
mov qword [rbp + 0x9b0], rax
mov qword [rbp + 0x9b8], rax
xor eax, eax
lock cmpxchg dword [0x14010beac], r13d
jne 0x14007a27b
mov eax, dword [0x14010bea8]
test eax, eax
jne 0x14007a86f
mov dword [rbp - 0x50], esi
mov dword [rbp - 0x30], esi
mov qword [rbp + 0x1b8], rsi
mov qword [rbp + 0x320], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14007a7eb
mov r12d, esi
or ecx, 0xffffffff
mov r9d, esi
mov dword [rbp + 0x20], esi
mov r13d, esi
mov dword [rbp + 0x34], esi
lea r14, [rax + 7]
lea rdi, [0x1400ea212]
mov ebx, 1
lea r15d, [rbx + 0x66]
mov r8d, 0xab69
movzx r11d, byte [rdi - 2]
shl r11d, 8
movzx eax, byte [rdi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi + 1]
or r11d, eax
movzx r10d, byte [rdi + 2]
shl r10d, 8
movzx eax, byte [rdi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 5]
or r10d, eax
xor r13d, r11d
xor r9d, r10d
lea rdi, [rdi + 8]
xor r9d, r13d
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
mov edx, r9d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
mov edx, r13d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r9d, eax
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, r12d
xor r13d, edx
mov dword [rbp + 0x34], r13d
xor r9d, ecx
mov dword [rbp + 0x20], r9d
mov byte [r14 - 4], r13b
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x20]
mov byte [r14], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x34]
mov byte [r14 - 5], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x20]
mov byte [r14 - 1], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x34]
mov byte [r14 - 6], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x20]
mov byte [r14 - 2], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x34]
mov byte [r14 - 7], al
mov al, byte [rbp + 0x20]
mov byte [r14 - 3], al
mov r13d, dword [rbp + 0x34]
ror r13d, 8
mov dword [rbp + 0x34], r13d
mov r9d, dword [rbp + 0x20]
ror r9d, 8
mov dword [rbp + 0x20], r9d
mov r12d, r11d
mov ecx, r10d
lea r14, [r14 + 8]
sub r15, rbx
jne 0x14007a2fa
mov rax, rsi
mov cl, sil
mov edi, dword [rbp - 0x80]
mov r14d, dword [rsp + 0x60]
or r15, 0xffffffffffffffff
mov r12d, esi
mov rbx, qword [rbp - 0x28]
lea edx, [r15 + 2]
mov r8d, 0x338
xor cl, byte [rax + rbx]
add rax, rdx
cmp rax, r8
jb 0x14007a63d
movzx eax, cl
cmp rax, qword [0x1400ea548]
je 0x14007a65c
mov r13d, 0xc004d501
jmp 0x14007a670
mov qword [rbp + 0x1b8], rbx
mov rbx, rsi
mov qword [rbp + 0x320], r8
mov r13d, esi
test rbx, rbx
je 0x14007a689
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13d, r13d
js 0x14007a7e5
mov rbx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x320]
mov byte [rax + rbx - 1], sil
xor edx, edx
lea r8d, [rdx + 0x60]
lea r13, [0x14010a7b0]
mov rcx, r13
call sub.msvcrt.dll_memset
cmp byte [rbx], sil
jne 0x14007a6d1
mov r13d, 1
jmp 0x14007a7f1
lea r13, [0x14010a7b0]
mov rdx, rbx
mov rax, r15
inc rax
cmp word [rbx + rax*2], si
jne 0x14007a6d7
lea rbx, [rbx + rax*2]
mov eax, dword [rbp - 0x30]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
mov r8, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14007a7e5
mov r12d, esi
mov rax, qword [r13]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14007a71c
mov r12d, 0xc000007b
jmp 0x14007a76a
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14007a714
add rcx, qword [r13]
cmp rcx, qword [r13]
jb 0x14007a714
cmp dword [rcx], 0x4550
jne 0x14007a714
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14007a758
mov r12d, 0xc000000d
jmp 0x14007a76a
mov rax, qword [rcx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [rbx + 2]
mov dword [rbp - 0x70], eax
add rbx, 6
mov ecx, esi
mov dword [rsp + 0x68], ecx
test eax, eax
je 0x14007a7d0
mov rdx, rbx
mov rax, r15
inc rax
cmp byte [rbx + rax], sil
jne 0x14007a784
inc rbx
add rbx, rax
test r12d, r12d
js 0x14007a7bd
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14007a6bf
mov ecx, dword [rbp - 0x50]
lea rdx, [0x140106020]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x68]
mov eax, 1
add dword [rbp - 0x50], eax
add ecx, eax
mov dword [rsp + 0x68], ecx
cmp ecx, dword [rbp - 0x70]
jb 0x14007a77e
mov r13d, 1
add dword [rbp - 0x30], r13d
cmp byte [rbx], sil
jne 0x14007a6ca
jmp 0x14007a7f1
mov r13d, 1
mov r12d, 0xc000007a
cmp qword [rbp + 0x1b8], rsi
je 0x14007a812
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1b8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
jns 0x14007a869
lea rbx, [0x14010a7b0]
mov r12d, 4
cmp qword [rbx], rsi
je 0x14007a832
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub r12, r13
jne 0x14007a824
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x14010a7b0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x14007a878
mov eax, dword [0x14010bea8]
add eax, r13d
mov dword [0x14010bea8], eax
mov eax, esi
xchg dword [0x14010beac], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x4e0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x950], rax
mov r13d, edi
lea ecx, [rax + 0xf]
and r13d, ecx
mov dword [rbp - 0x3c], r13d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xe60], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0xe62], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0xe64], 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 + 0x88], 0xffffff
test rax, rax
jne 0x14007a924
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14007bd8f
mov ebx, 0x80004005
jmp 0x14007bd8f
mov qword [rbp + 0x250], rsi
mov qword [rbp + 0x1c0], rsi
mov qword [rbp + 0x280], rsi
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x130], rsi
mov qword [rbp + 0x100], rsi
mov ebx, esi
mov dword [rbp + 0xcc], esi
lea r9, [rbp + 0xcc]
xor r8d, r8d
lea rdx, [rbp + 0x9c]
lea ecx, [r8 + 8]
mov rax, qword [0x1401060c0]
call qword [case.0x14006d218.0]
test eax, eax
jne 0x14007a9a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14007aae6
mov ebx, 0x80004005
jmp 0x14007aae6
mov edi, dword [rbp + 0xcc]
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 + 0x130]
call fcn.1400cbba8
test rdi, rdi
jne 0x14007a9e4
mov qword [rbp + 0x130], rsi
mov ebx, 0x8007000e
jmp 0x14007aae6
mov qword [rbp + 0x130], rdi
mov edi, dword [rbp + 0x9c]
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 + 0x100]
call fcn.1400cbba8
test rdi, rdi
jne 0x14007aa29
mov ebx, 0x8007000e
jmp 0x14007aadf
mov qword [rbp + 0x100], rdi
lea r9, [rbp + 0xcc]
mov r8, qword [rbp + 0x130]
lea rdx, [rbp + 0x9c]
mov ecx, 8
mov rax, qword [0x1401060c0]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007a97c
mov rdi, qword [rbp + 0x130]
mov r12, qword [rbp + 0x100]
mov r13d, esi
cmp dword [rbp + 0x9c], esi
jbe 0x14007aabd
mov r14d, 1
xor edx, edx
mov rcx, rdi
mov rax, qword [0x1401060d0]
call qword [case.0x14006d218.0]
mov dword [r12], eax
mov rax, r15
inc rax
cmp word [rdi + rax*2], si
jne 0x14007aa97
lea rdi, [rdi + rax*2]
add rdi, 2
add r12, 4
add r13d, r14d
cmp r13d, dword [rbp + 0x9c]
jb 0x14007aa7e
mov r14d, dword [rsp + 0x60]
mov dword [r12], 0x409
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x250], rax
mov eax, dword [rbp + 0x9c]
inc eax
mov dword [rsp + 0x68], eax
mov qword [rbp + 0x100], rsi
lea rcx, [rbp + 0x100]
call fcn.1400cbba8
lea rcx, [rbp + 0x130]
call fcn.1400cbba8
test ebx, ebx
js 0x14007b251
mov r10d, esi
mov dword [rbp - 0x80], esi
mov r9d, esi
lea r11, [0x1400ea0e0]
cmp dword [rsp + 0x68], esi
jbe 0x14007ab59
mov r8, rsi
mov rax, qword [rbp + 0x250]
mov edx, esi
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x14007ab53
mov ecx, 1
add edx, ecx
add rdi, 4
cmp edx, 0x26
jb 0x14007ab2b
add r9d, ecx
add r8, 4
cmp r9d, dword [rsp + 0x68]
jae 0x14007ab59
jmp 0x14007ab26
mov r10d, edx
mov dword [rbp - 0x80], edx
mov edi, r10d
mov dword [rsp + 0x78], esi
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0xe70]
mov ecx, dword [r11 + rdi*4]
mov rax, qword [0x1401060c8]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007abc4
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xc50]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0xe70]
mov rax, qword [0x1401060b0]
call qword [case.0x14006d218.0]
mov r9d, 1
test eax, eax
jle 0x14007abca
mov ebx, dword [rbp + 0xc5c]
shr ebx, 0x1b
and ebx, r9d
mov dword [rsp + 0x78], ebx
jmp 0x14007abca
mov r9d, 1
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0xdc0]
mov r8d, SafeArrayUnlock
mov qword [rdx], rcx
mov rax, r15
inc rax
cmp word [rcx + rax*2], si
jne 0x14007abe4
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub r8, r9
jne 0x14007abde
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xea180]
mov r12, qword [rbp + rax*8 + 0xdc0]
mov qword [rbp - 0x50], r12
mov qword [rbp + 0x2f0], r12
movzx eax, byte [rdx + rcx + 0xea181]
mov r12, qword [rbp + rax*8 + 0xdc0]
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x2f8], r12
movzx eax, byte [rdx + rcx + 0xea182]
mov rdi, qword [rbp + rax*8 + 0xdc0]
mov qword [rbp - 0x78], rdi
mov qword [rbp + 0x300], rdi
mov ebx, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x1c90
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14007b0d5
mov r15d, esi
or dword [rbp - 0x70], 0xffffffff
mov ecx, esi
mov dword [rbp + 0x24], ecx
mov r10d, esi
mov dword [rbp + 0x3c], esi
lea r11, [rax + 7]
lea r12, [0x1400e8442]
mov r14d, 0x392
mov r13d, dword [rbp - 0x70]
mov esi, 1
mov edx, 0xab69
movzx r9d, byte [r12 - 2]
shl r9d, 8
movzx eax, byte [r12 - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12 + 1]
or r9d, eax
movzx r8d, byte [r12 + 2]
shl r8d, 8
movzx eax, byte [r12 + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [r12 + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [r12 + 5]
or r8d, eax
xor r10d, r9d
lea r12, [r12 + 8]
mov edi, r8d
xor edi, ecx
xor edi, r10d
xor edi, 0xac987321
lea eax, [rdi + 0x54969fa2]
rol eax, 5
mov ecx, edi
rol ecx, 0xa
imul eax, eax, 0x137f
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0xab69
sub eax, ecx
xor edi, eax
mov eax, edi
shr eax, 0xd
imul ecx, edi, 0x605e
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, edx
rol eax, 6
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor edi, eax
mov ecx, edi
xor ecx, 0xab69605e
mov eax, 0x7f1137f
sub eax, ecx
xor r10d, eax
mov edx, r10d
ror edx, 6
mov eax, r10d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edx, ecx
xor edi, edx
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
mov ecx, r10d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor edi, eax
mov eax, edi
xor eax, 0xab69605e
ror eax, 0xc
mov ecx, edi
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 ecx, edi
mov eax, ecx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea edi, [r10 - 0x7f1]
xor edi, ecx
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 edx, 0xab69
xor eax, edx
rol eax, 5
mov ecx, r10d
rol ecx, 7
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
xor r10d, edi
xor r10d, 0xac987321
mov eax, r10d
ror eax, 3
sub eax, edx
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 r10d, eax
lea eax, [r10 - 0x54969fa2]
rol eax, 3
mov ecx, r10d
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 r10d, eax
mov eax, r10d
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r15d
xor r10d, ecx
mov dword [rbp + 0x3c], r10d
xor edi, r13d
mov dword [rbp + 0x24], edi
mov byte [r11 - 4], r10b
ror dword [rbp + 0x3c], 8
mov al, byte [rbp + 0x24]
mov byte [r11], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x3c]
mov byte [r11 - 5], al
ror dword [rbp + 0x3c], 8
mov al, byte [rbp + 0x24]
mov byte [r11 - 1], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x3c]
mov byte [r11 - 6], al
ror dword [rbp + 0x3c], 8
mov al, byte [rbp + 0x24]
mov byte [r11 - 2], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x3c]
mov byte [r11 - 7], al
mov al, byte [rbp + 0x24]
mov byte [r11 - 3], al
mov r10d, dword [rbp + 0x3c]
ror r10d, 8
mov dword [rbp + 0x3c], r10d
mov ecx, dword [rbp + 0x24]
ror ecx, 8
mov dword [rbp + 0x24], ecx
mov r15d, r9d
mov r13d, r8d
lea r11, [r11 + 8]
sub r14, rsi
jne 0x14007acb1
xor esi, esi
mov eax, esi
xorps xmm1, xmm1
mov r14d, dword [rsp + 0x60]
or r15, 0xffffffffffffffff
mov r13, qword [rbp - 0x28]
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r13]
pxor xmm0, xmm1
movdqa xmm1, xmm0
add rax, 0x10
cmp rax, rcx
jb 0x14007afcc
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 0x14007b02a
mov ebx, 0xc004d501
jmp 0x14007b03b
mov qword [rbp + 0x1c0], r13
mov r13, rsi
mov qword [rbp + 0x280], rcx
test r13, r13
je 0x14007b054
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x14007b272
mov rdx, qword [rbp + 0x1c0]
lea rdi, [rbp + 0xd90]
mov r8d, 6
mov r9d, dword [rbp - 0x80]
lea r13d, [r8 - 5]
mov ecx, esi
cmp r9d, ecx
jne 0x14007b082
mov qword [rdi], rdx
mov rax, r15
inc rax
cmp byte [rdx + rax], sil
jne 0x14007b085
inc rdx
add rdx, rax
add ecx, r13d
cmp ecx, 0x26
jb 0x14007b07a
add rdi, 8
sub r8, r13
jne 0x14007b078
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 0x14007b0df
mov qword [rbp + 0x90], rsi
mov ebx, 0x8007000e
jmp 0x14007b272
mov qword [rbp + 0x90], rdi
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, esi
mov dword [rsp + 0x68], edx
mov r12, rsi
lea rcx, [rbp + 0xe60]
mov qword [rbp - 8], rcx
mov eax, esi
movzx edi, word [rcx]
lea rcx, [0x1400ea1f8]
cmp di, word [rcx]
je 0x14007b129
add eax, r13d
add rcx, 2
cmp eax, 6
jb 0x14007b113
jmp 0x14007b1f1
mov r13, qword [rbp + rax*8 + 0xd90]
mov rax, r15
inc rax
cmp byte [rax + r13], sil
jne 0x14007b134
mov r9d, 1
add r9d, eax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1401060e0]
call qword [case.0x14006d218.0]
mov dword [rbp - 0x70], eax
test eax, eax
je 0x14007b232
movsxd rdi, eax
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 [r12 + rcx], rax
mov rcx, qword [rbp + 0x90]
cmp qword [r12 + rcx], rsi
je 0x14007b0d5
mov rax, r15
inc rax
cmp byte [rax + r13], sil
jne 0x14007b1aa
mov r9d, 1
add r9d, eax
mov edx, dword [rbp - 0x70]
mov dword [rsp + 0x28], edx
mov rdx, qword [r12 + rcx]
mov qword [rsp + 0x20], rdx
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1401060e0]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007b232
mov edx, dword [rsp + 0x68]
mov r13d, 1
add edx, r13d
mov dword [rsp + 0x68], edx
mov rcx, qword [rbp - 8]
add rcx, 2
mov qword [rbp - 8], rcx
add r12, 8
cmp edx, 3
jb 0x14007b107
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x240], rax
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0x4e0], eax
jmp 0x14007b272
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14007b272
mov ebx, 0x80004005
jmp 0x14007b272
mov rax, qword [rbp + 0x300]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x2f8]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp - 0x50], rax
cmp qword [rbp + 0x90], rsi
je 0x14007b2e5
mov r12, rsi
mov eax, 1
lea r13d, [rax + 2]
mov rcx, qword [rbp + 0x90]
cmp qword [r12 + rcx], rsi
je 0x14007b2dc
test rcx, rcx
jne 0x14007b29c
mov rcx, rsi
mov rdi, qword [r12 + rcx]
mov rcx, r15
inc rcx
cmp word [rdi + rcx*2], si
jne 0x14007b2a3
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x90]
mov rdi, qword [r12 + rax]
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 r12, 8
sub r13, rax
jne 0x14007b287
mov rdi, qword [rbp + 0x1c0]
test rdi, rdi
je 0x14007b2fc
xor eax, eax
mov rcx, qword [rbp + 0x280]
rep stosb byte [rdi], al
lea rcx, [rbp + 0x90]
call fcn.1400cbba8
lea rcx, [rbp + 0x1c0]
call fcn.1400cbba8
lea rcx, [rbp + 0x250]
call fcn.1400cbba8
test ebx, ebx
js 0x14007bd77
mov rax, qword [rbp + 0x240]
mov rcx, qword [rax]
mov qword [rbp + 0x4e8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x4f0], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x4f8], rcx
xor eax, eax
mov qword [rbp + 0x328], rax
mov qword [rbp + 0x330], rax
mov edi, esi
mov ebx, esi
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 0x14007b3b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov r12d, 1
test ebx, ebx
js 0x14007b3c1
mov ebx, 0x80004005
jmp 0x14007b3c1
mov edi, dword [rbp + 0x32c]
mov r12d, 1
and edi, r12d
mov dword [rbp + 0x4e4], edi
mov r13d, dword [rbp - 0x3c]
test ebx, ebx
js 0x14007bd7b
mov ecx, r13d
mov eax, 0x2a
mov dword [rbp - 0x30], eax
sub ecx, 1
je 0x14007b403
sub ecx, 1
je 0x14007b3fa
cmp ecx, 1
jne 0x14007b40d
mov ebx, 0xe1
mov dword [rbp - 0x68], ebx
mov dword [rbp + 0x10], ebx
jmp 0x14007b40d
mov dword [rbp - 0x68], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x14007b406
mov dword [rbp - 0x68], eax
mov dword [rbp + 0x10], reloc.WSOCK32.dll_inet_ntoa
mov edi, 0x60
mov dword [rsp + 0x78], edi
lea ebx, [rdi + 0x7c]
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0xc70]
call sub.msvcrt.dll_memset
mov word [rbp + 0xcb4], bx
lea r8, [rbp + 0xc70]
or edx, 0xffffffff
xor ecx, ecx
mov rax, qword [0x140106100]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007b481
movzx edi, word [rbp + 0xd16]
and qword [rbp + 0x9b0], 0
mov eax, dword [rbp + 0xd1c]
mov dword [rbp + 0x9b8], eax
mov eax, dword [rbp + 0xd20]
mov dword [rbp + 0x9bc], eax
lea eax, [rbx - 0x7c]
cmp edi, eax
cmovb edi, eax
mov dword [rsp + 0x78], edi
cmp r13d, r12d
mov rax, qword [rbp - 0x78]
cmove rax, qword [rbp - 0x50]
mov qword [rbp - 0x78], rax
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xb30]
call sub.msvcrt.dll_memset
mov ebx, esi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006d218.0]
mov r12, rax
test rax, rax
jne 0x14007b4ea
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14007bd7b
mov ebx, 0x80004005
jmp 0x14007bd7b
mov r8d, 0x48
mov edx, edi
mov ecx, dword [rbp - 0x68]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
neg eax
mov dword [rbp + 0xb30], eax
mov dword [rbp + 0xb40], 0x190
mov byte [rbp + 0xb4a], 5
mov r8, qword [rbp - 0x78]
mov edx, 0x20
lea rcx, [rbp + 0xb4c]
call fcn.1400343f0
lea rcx, [rbp + 0xb30]
mov rax, qword [0x140106040]
call qword [case.0x14006d218.0]
test rax, rax
jne 0x14007b568
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14007b56f
mov ebx, 0x80004005
jmp 0x14007b56f
mov qword [rbp + 0x500], rax
mov rdx, r12
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
test ebx, ebx
js 0x14007bd7b
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xb90]
call sub.msvcrt.dll_memset
mov ebx, esi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006d218.0]
mov r12, rax
test rax, rax
jne 0x14007b645
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jns 0x14007b4e0
lea edi, [r12 + 0x20]
test ebx, ebx
js 0x14007bd7b
mov r12d, esi
mov edx, esi
mov ecx, r13d
sub ecx, 1
je 0x14007b604
sub ecx, 1
je 0x14007b6e3
cmp ecx, 1
jne 0x14007b611
mov r12d, dword [rbp + 0x9b8]
mov edx, dword [rbp + 0x9bc]
mov dword [rbp + 0x958], r12d
mov dword [rbp + 0x95c], edx
mov ecx, 1
cmp r13d, ecx
je 0x14007b71d
lea eax, [r13 - 2]
cmp eax, ecx
ja 0x14007b6fc
mov eax, esi
mov dword [rbp - 0x30], esi
mov dword [rbp - 0x68], esi
jmp 0x14007b725
mov r8d, 0x48
mov edx, edi
mov ecx, dword [rbp + 0x10]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
neg eax
mov dword [rbp + 0xb90], eax
mov dword [rbp + 0xba0], 0x190
mov byte [rbp + 0xbaa], 5
mov r8, qword [rbp - 0x78]
mov edi, 0x20
mov edx, edi
lea rcx, [rbp + 0xbac]
call fcn.1400343f0
lea rcx, [rbp + 0xb90]
mov rax, qword [0x140106040]
call qword [case.0x14006d218.0]
test rax, rax
jne 0x14007b6c5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14007b6cc
mov ebx, 0x80004005
jmp 0x14007b6cc
mov qword [rbp + 0x508], rax
mov rdx, r12
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
jmp 0x14007b5e1
mov eax, dword [rbp + 0x9b8]
cdq
and edx, 3
lea r12d, [rdx + rax]
sar r12d, 2
mov edx, esi
jmp 0x14007b611
mov eax, dword [rbp + 0xbc]
mov dword [rbp - 0x68], eax
mov eax, dword [rbp + 0xbc]
mov dword [rbp - 0x30], eax
mov r13d, dword [rbp + 0xbc]
mov eax, dword [rbp + 0xbc]
jmp 0x14007b728
mov eax, 0x96
mov dword [rbp - 0x68], edi
mov r13d, esi
mov dword [rbp - 0x50], eax
sub r12d, eax
sub r12d, r13d
mov dword [rbp + 0x534], r12d
mov dword [rbp + 0x524], r12d
mov rdi, qword [rbp + 0x4e8]
mov ebx, esi
mov rdx, qword [rbp + 0x500]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x51c]
mov r8d, r15d
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
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x14007b7ba
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
test ebx, ebx
js 0x14007bd77
mov rdi, qword [rbp + 0x4f0]
mov ebx, esi
mov rdx, qword [rbp + 0x508]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x52c]
mov r8d, r15d
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
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x14007b83d
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
test ebx, ebx
js 0x14007bd77
mov eax, dword [rbp - 0x3c]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x524]
mov ebx, 1
cmp eax, ebx
ja 0x14007b868
mov r12d, dword [rbp + 0x534]
cmp ecx, r12d
cmovg r12d, ecx
mov r8d, dword [rbp - 0x30]
mov rax, qword [fcn.140059490]
cmp dword [rbp + 0x4e0], esi
je 0x14007b89d
mov edx, r13d
sub edx, ecx
add edx, r12d
lea rcx, [rbp + 0x51c]
call qword [case.0x14006d218.0]
sub r13d, dword [rbp + 0x534]
lea edx, [r12 + r13]
jmp 0x14007b8b0
mov edx, dword [rbp - 0x50]
lea rcx, [rbp + 0x51c]
call qword [case.0x14006d218.0]
mov edx, dword [rbp - 0x50]
mov r8d, dword [rbp - 0x68]
add r8d, dword [rbp + 0x528]
lea rcx, [rbp + 0x52c]
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov r13d, dword [rbp - 0x3c]
lea eax, [r13 - 2]
cmp eax, ebx
jbe 0x14007bb8a
cmp r13d, ebx
jne 0x14007bba7
mov dword [rbp + 0x518], 0xffffff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xbf0]
call sub.msvcrt.dll_memset
mov ebx, esi
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 0x14007babf
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jns 0x14007b4e0
mov r13d, dword [rsp + 0x78]
test ebx, ebx
js 0x14007bd77
mov dword [rbp + 0x544], r12d
mov rdi, qword [rbp + 0x4f8]
mov ebx, esi
mov rdx, qword [rbp + 0x510]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov r12, rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x53c]
mov r8d, r15d
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 r12, r12
je 0x14007b9cf
mov rdx, r12
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
test ebx, ebx
js 0x14007bd77
mov eax, dword [rbp + 0x544]
add eax, 0x18
mov ecx, 0x5a
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x544], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x548], eax
lea edi, [rcx + 6]
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x53c]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x53c], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x540]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x540], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x544]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x544], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x548]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x548], eax
mov r8d, dword [rbp + 0x538]
lea rcx, [rbp + 0x53c]
mov rax, qword [fcn.140059490]
cmp dword [rbp + 0x4e0], esi
je 0x14007bb62
mov edx, dword [rbp + 0x52c]
cmp dword [rbp + 0x51c], edx
cmovl edx, dword [rbp + 0x51c]
add r8d, 0x24
call qword [case.0x14006d218.0]
mov r13d, dword [rbp - 0x3c]
jmp 0x14007bba7
mov r8d, 0x48
mov r13d, dword [rsp + 0x78]
mov edx, r13d
lea ecx, [r8 - 0x3d]
mov rax, qword [0x1401060d8]
call qword [case.0x14006d218.0]
neg eax
mov dword [rbp + 0xbf0], eax
mov dword [rbp + 0xc00], 0x190
mov byte [rbp + 0xc0a], 5
mov r8, qword [rbp + 0x48]
mov edx, 0x20
lea rcx, [rbp + 0xc0c]
call fcn.1400343f0
lea rcx, [rbp + 0xbf0]
mov rax, qword [0x140106040]
call qword [case.0x14006d218.0]
test rax, rax
jne 0x14007bb44
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14007bb4b
mov ebx, 0x80004005
jmp 0x14007bb4b
mov qword [rbp + 0x510], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
jmp 0x14007b94a
mov edx, dword [rbp + 0x534]
cmp dword [rbp + 0x524], edx
cmovg edx, dword [rbp + 0x524]
add r8d, 0x24
sub edx, dword [rbp + 0x544]
add edx, dword [rbp + 0x53c]
jmp 0x14007bab0
mov dword [rbp + 0x958], r12d
mov eax, dword [rbp + 0x538]
mov dword [rbp + 0x95c], eax
mov dword [rbp + 0x518], 0xffa8a8a8
mov r12d, dword [rbp + 0x4e0]
mov ebx, dword [rbp + 0x95c]
mov edi, dword [rbp + 0x958]
mov ecx, r13d
sub ecx, 1
je 0x14007bd6b
sub ecx, 1
je 0x14007bc84
cmp ecx, 1
jne 0x14007bd73
lea r12d, [rcx + 0x27]
mov r8d, r12d
xor edx, edx
lea rcx, [rbp + 0xb08]
call sub.msvcrt.dll_memset
lea edx, [r12 - 0x27]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov dword [rbp + 0xb08], r12d
lea rdx, [rbp + 0xb08]
mov rcx, rax
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007bd73
lea rdx, [rbp + 0xb1c]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
lea rdx, [rbp + 0xb24]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov eax, dword [rbp + 0xb24]
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 + 0xb24]
shr rcx, 0x20
sub ecx, ebx
imul ecx, ecx, 0x32
jmp 0x14007bd4c
xor edx, edx
lea r8d, [rdx + 0x28]
lea rcx, [rbp + 0x9f0]
call sub.msvcrt.dll_memset
mov edx, 1
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x9f0], 0x28
lea rdx, [rbp + 0x9f0]
mov rcx, rax
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007bd73
lea rdx, [rbp + 0xa04]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
lea rdx, [rbp + 0xa0c]
xor ecx, ecx
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov eax, dword [rbp + 0xa0c]
test r12d, r12d
je 0x14007bd26
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 + 0xa04]
jmp 0x14007bd3c
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 + 0xa0c]
shr rax, 0x20
sub eax, ebx
imul ecx, eax, 0x5f
mov dword [rbp + 0x950], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x954], edx
jmp 0x14007bd73
and qword [rbp + 0x950], 0
mov ebx, esi
jmp 0x14007bd7b
mov r13d, dword [rbp - 0x3c]
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x14010beac], r12d
jne 0x14007bd95
mov eax, dword [0x14010bea8]
test eax, eax
jle 0x14007be15
sub eax, r12d
mov dword [0x14010bea8], eax
jne 0x14007be15
lea rdi, [0x14010a7b0]
mov rax, r12
mov r12d, 4
cmp qword [rdi], rsi
je 0x14007bdda
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add rdi, 0x18
sub r12, rax
jne 0x14007bdc7
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x14010a7b0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov r12d, 1
mov eax, esi
xchg dword [0x14010beac], eax
lea rcx, [rbp + 0x240]
call fcn.1400cbba8
test ebx, ebx
js 0x14007d6b5
mov rdi, qword [rbp + 0x950]
mov qword [rbp + 0x288], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x550]
call sub.msvcrt.dll_memset
mov ebx, r12d
mov edx, 7
mov r12, qword [rbp + 0x60]
mov rcx, r12
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
je 0x14007beb9
lea r8, [rbp + 0x550]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007beb9
mov eax, 0x20
cmp word [rbp + 0x562], ax
jne 0x14007beb9
cmp qword [rbp + 0x568], rsi
je 0x14007beb9
cmp dword [rbp + 0x554], esi
jle 0x14007beb9
cmp dword [rbp + 0x558], esi
jg 0x14007bebb
mov ebx, esi
mov dword [rbp + 0x158], ebx
test ebx, ebx
mov ebx, 1
jne 0x14007becf
cmp r13d, ebx
jne 0x14007bf31
mov r8d, dword [rbp + 0x28c]
mov edx, edi
lea rcx, [rbp + 0x51c]
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov r8d, dword [rbp + 0x28c]
mov edx, edi
lea rcx, [rbp + 0x52c]
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
cmp r13d, ebx
jne 0x14007bf31
mov eax, dword [rbp + 0x4e4]
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xb26720
mov rax, qword [0x140106048]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x78], rax
mov edx, ebx
mov rcx, r12
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov dword [rsp + 0x70], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x4e0], esi
cmovne eax, ecx
mov dword [rbp - 0x50], eax
cmp dword [rbp + 0x158], esi
je 0x14007c976
mov eax, dword [rbp + 0x4e4]
mov dword [rbp - 0x70], eax
mov rax, qword [rbp + 0x500]
mov qword [rbp - 0x28], rax
mov rdi, qword [rbp + 0x4e8]
mov qword [rbp + 0x40], rdi
mov ebx, 0x68
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x630]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x780]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x48], rsi
mov dword [rsp + 0x68], esi
mov r13d, esi
xor edx, edx
lea r8d, [rbx - 0x3c]
lea rcx, [rbp + 0xad8]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x990], rax
mov qword [rbp + 0x998], rax
test rdi, rdi
je 0x14007d69c
lea edx, [rbx - 0x61]
mov rcx, r12
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
je 0x14007c9c9
lea r8, [rbp + 0x630]
mov edx, ebx
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007c03a
mov rax, qword [rbp + 0x648]
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x634]
mov dword [rsp + 0x68], eax
mov r13d, dword [rbp + 0x638]
mov rcx, r12
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14007c9c9
mov ebx, dword [rbp + 0x528]
sub ebx, dword [rbp + 0x520]
mov edi, dword [rbp + 0x524]
sub edi, dword [rbp + 0x51c]
mov qword [rbp + 0x3e8], rsi
mov r12d, esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xad8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xad8], 0x28
mov dword [rbp + 0xadc], edi
neg ebx
mov dword [rbp + 0xae0], ebx
mov dword [rbp + 0xae4], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x3e8]
xor r8d, r8d
lea rdx, [rbp + 0xad8]
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14007c113
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14007c452
mov r12d, 0x80004005
jmp 0x14007c452
lea r8, [rbp + 0x780]
mov edx, 0x68
mov rcx, rbx
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
mov rcx, rsi
test eax, eax
cmovne rcx, qword [rbp + 0x798]
mov qword [rbp - 8], rcx
mov eax, dword [rbp + 0x524]
sub eax, dword [rbp + 0x51c]
mov dword [rbp + 0x998], eax
mov eax, dword [rbp + 0x528]
sub eax, dword [rbp + 0x520]
mov dword [rbp + 0x99c], eax
mov rdx, rbx
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov ebx, 1
mov edx, ebx
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x68], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006d218.0]
mov r8, rax
lea rdx, [rbp + 0x990]
mov rcx, rdi
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
mov qword [rsp + 0x28], rsi
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x990]
mov r8d, r15d
mov rdx, qword [rbp + 0x40]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
cmp dword [rbp - 0x3c], ebx
jne 0x14007c221
cmp dword [rbp - 0x70], esi
je 0x14007c21a
lea ecx, [rbx + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006d218.0]
mov ebx, eax
mov dword [rbp - 0x30], eax
jmp 0x14007c229
mov ebx, 0xffffff
jmp 0x14007c226
mov ebx, 0xffa8a8a8
mov dword [rbp - 0x30], ebx
mov eax, dword [rbp + 0x51c]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, esi
mov r9d, esi
cmovns r9d, eax
mov eax, dword [rbp + 0x520]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, esi
mov edx, esi
cmovns edx, eax
mov eax, dword [rbp + 0x998]
sub eax, r8d
movsxd r10, dword [rsp + 0x68]
mov r11d, r10d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x99c]
sub eax, ecx
sub r13d, edx
cmp eax, r13d
cmovl r13d, eax
test r11d, r11d
jle 0x14007c424
test r13d, r13d
jle 0x14007c424
imul ecx, dword [rbp + 0x998]
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 8]
lea rdi, [rax + rcx*4]
mov qword [rbp - 8], rdi
imul edx, r10d
movsxd rcx, edx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x48]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x78], rax
movsxd rcx, dword [rbp + 0x998]
shl rcx, 2
mov qword [rbp - 0x28], rcx
mov rdx, r10
shl rdx, 2
mov qword [rbp + 0x40], rdx
mov r8d, r13d
mov qword [rbp - 0x70], r8
mov r14d, 1
test r11d, r11d
jle 0x14007c400
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp + 0x48], rdi
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14007c3db
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, bl
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 - 0x2f]
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 - 0x2e]
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 + 0x48]
add r9, 4
sub rdi, r14
mov qword [rbp + 0x48], rdi
jne 0x14007c30b
mov rdi, qword [rbp - 8]
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp - 0x70]
add rdi, rcx
mov qword [rbp - 8], rdi
add rax, rdx
mov qword [rbp - 0x78], rax
sub r8, r14
mov qword [rbp - 0x70], r8
jne 0x14007c2f1
mov r14d, dword [rsp + 0x60]
mov rdi, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x14007c452
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov rcx, rdi
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
test r12d, r12d
js 0x14007d69c
mov eax, dword [rbp + 0x4e4]
mov dword [rbp - 0x70], eax
mov rax, qword [rbp + 0x508]
mov qword [rbp - 0x28], rax
mov rdi, qword [rbp + 0x4f0]
mov qword [rbp + 0x40], rdi
mov ebx, 0x68
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x6a0]
call sub.msvcrt.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x7f0]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x48], rsi
mov dword [rsp + 0x68], esi
mov r13d, esi
xor edx, edx
lea r8d, [rbx - 0x3c]
lea rcx, [rbp + 0xaa8]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9c0], rax
mov qword [rbp + 0x9c8], rax
test rdi, rdi
je 0x14007d69c
lea edx, [rbx - 0x61]
mov r12, qword [rbp + 0x60]
mov rcx, r12
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
je 0x14007c9c9
lea r8, [rbp + 0x6a0]
mov edx, ebx
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007c540
mov rax, qword [rbp + 0x6b8]
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x6a4]
mov dword [rsp + 0x68], eax
mov r13d, dword [rbp + 0x6a8]
mov rcx, r12
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14007c9c9
mov ebx, dword [rbp + 0x538]
sub ebx, dword [rbp + 0x530]
mov edi, dword [rbp + 0x534]
sub edi, dword [rbp + 0x52c]
mov qword [rbp + 0x3f0], rsi
mov r12d, esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xaa8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xaa8], 0x28
mov dword [rbp + 0xaac], edi
neg ebx
mov dword [rbp + 0xab0], ebx
mov dword [rbp + 0xab4], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x3f0]
xor r8d, r8d
lea rdx, [rbp + 0xaa8]
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14007c619
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14007c954
mov r12d, 0x80004005
jmp 0x14007c954
lea r8, [rbp + 0x7f0]
mov edx, 0x68
mov rcx, rbx
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
mov rcx, rsi
test eax, eax
cmovne rcx, qword [rbp + 0x808]
mov qword [rbp - 8], rcx
mov eax, dword [rbp + 0x534]
sub eax, dword [rbp + 0x52c]
mov dword [rbp + 0x9c8], eax
mov eax, dword [rbp + 0x538]
sub eax, dword [rbp + 0x530]
mov dword [rbp + 0x9cc], eax
mov rdx, rbx
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov ebx, 1
mov edx, ebx
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x68], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006d218.0]
mov r8, rax
lea rdx, [rbp + 0x9c0]
mov rcx, rdi
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
mov qword [rsp + 0x28], rsi
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9c0]
mov r8d, r15d
mov rdx, qword [rbp + 0x40]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
cmp dword [rbp - 0x3c], ebx
jne 0x14007c724
cmp dword [rbp - 0x70], esi
je 0x14007c71b
lea ecx, [rbx + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006d218.0]
jmp 0x14007c729
mov dword [rbp - 0x30], 0xffffff
jmp 0x14007c732
mov eax, 0xffa8a8a8
mov dword [rbp - 0x30], eax
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x52c]
mov edx, eax
neg edx
test eax, eax
cmovns edx, esi
mov r8d, esi
cmovns r8d, eax
mov eax, dword [rbp + 0x530]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, esi
mov r9d, esi
cmovns r9d, eax
movsxd rbx, dword [rbp + 0x9c8]
mov eax, ebx
sub eax, edx
movsxd r10, dword [rsp + 0x68]
mov r11d, r10d
sub r11d, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9cc]
sub eax, ecx
sub r13d, r9d
cmp eax, r13d
cmovl r13d, eax
test r11d, r11d
jle 0x14007c926
test r13d, r13d
jle 0x14007c926
mov eax, ebx
imul eax, ecx
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp - 8]
lea rdx, [rax + rcx*4]
mov qword [rbp - 8], rdx
mov eax, r10d
imul eax, r9d
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x48]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x48], rax
mov rcx, rbx
shl rcx, 2
mov qword [rbp - 0x28], rcx
mov rdi, r10
shl rdi, 2
mov qword [rbp + 0x40], rdi
mov r8d, r13d
mov qword [rbp - 0x78], r8
mov r14d, dword [rbp + 0x88]
mov r15d, 1
test r11d, r11d
jle 0x14007c8fe
lea r9, [rdx + 2]
mov r10, rax
sub r10, rdx
mov r13d, 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 0x14007c8dd
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
mov ebx, 0x80808081
mov eax, ebx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x2f]
sub ecx, edi
imul ecx, r8d
mov eax, ebx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x2e]
sub ecx, edi
imul ecx, r8d
mov eax, ebx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, ebx
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
add r9, 4
sub r13, r15
jne 0x14007c815
mov rdx, qword [rbp - 8]
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x28]
mov rdi, qword [rbp + 0x40]
mov r8, qword [rbp - 0x78]
add rdx, rcx
mov qword [rbp - 8], rdx
add rax, rdi
mov qword [rbp + 0x48], rax
sub r8, r15
mov qword [rbp - 0x78], r8
jne 0x14007c7ff
mov r14d, dword [rsp + 0x60]
or r15, 0xffffffffffffffff
mov rdi, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x14007c954
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov rcx, rdi
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
test r12d, r12d
js 0x14007d69c
mov rdi, qword [rbp + 0x60]
jmp 0x14007d656
cmp dword [rbp + 0x4e4], esi
jne 0x14007c985
cmp r13d, ebx
mov al, 0xc0
jne 0x14007c987
mov al, 0xff
and word [rbp - 0x30], 0
mov byte [rbp - 0x2e], al
mov byte [rbp - 0x2d], bl
xor eax, eax
mov qword [rbp + 0x970], rax
mov qword [rbp + 0x978], rax
mov qword [rbp + 0x980], rax
mov qword [rbp + 0x988], rax
mov rcx, r12
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x58], rax
test rax, rax
jne 0x14007c9d4
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14007d69c
cmp r13d, ebx
jne 0x14007ca92
mov r12d, dword [rbp + 0x534]
mov eax, r12d
mov r8d, dword [rbp + 0x52c]
sub eax, r8d
mov edi, dword [rbp + 0x524]
mov ebx, edi
mov r9d, dword [rbp + 0x51c]
sub ebx, r9d
cmp eax, ebx
cmovg ebx, eax
mov r13d, dword [rbp + 0x538]
mov eax, r13d
mov r10d, dword [rbp + 0x520]
sub eax, r10d
mov dword [rbp - 0x68], eax
mov ecx, esi
mov edx, esi
cmp dword [rbp + 0x4e0], esi
je 0x14007ca46
mov ecx, r9d
sub ecx, edi
add ecx, ebx
mov dword [rbp + 0x970], ecx
mov edx, r8d
sub edx, r12d
add edx, ebx
mov dword [rbp + 0x980], edx
sub edi, r9d
add edi, ecx
mov dword [rbp + 0x978], edi
mov eax, dword [rbp + 0x528]
sub eax, r10d
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x97c], eax
sub r12d, r8d
add r12d, edx
mov dword [rbp + 0x988], r12d
mov eax, dword [rbp + 0x530]
sub eax, r10d
mov dword [rbp + 0x984], eax
sub r13d, dword [rbp + 0x530]
add r13d, eax
mov dword [rbp + 0x98c], r13d
jmp 0x14007cae2
mov ebx, dword [rbp + 0x958]
mov eax, dword [rbp + 0x95c]
mov dword [rbp - 0x68], eax
movups xmm0, xmmword [rbp + 0x51c]
movdqu xmmword [rbp + 0x970], xmm0
movups xmm1, xmmword [rbp + 0x52c]
movdqu xmmword [rbp + 0x980], xmm1
mov eax, dword [rbp + 0x97c]
mov dword [rbp + 0x10], eax
mov edi, dword [rbp + 0x978]
mov r13d, dword [rbp + 0x98c]
mov r12d, dword [rbp + 0x988]
mov eax, dword [rbp + 0x984]
mov dword [rsp + 0x68], eax
mov qword [rbp + 0x3f8], rsi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa18]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa18], 0x28
mov dword [rbp + 0xa1c], ebx
mov eax, dword [rbp - 0x68]
neg eax
mov dword [rbp + 0xa20], eax
mov dword [rbp + 0xa24], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x3f8]
xor r8d, r8d
lea rdx, [rbp + 0xa18]
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x50], rax
test rax, rax
jne 0x14007cb63
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14007d683
mov rdx, rax
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov eax, 1
cmp dword [rbp - 0x3c], eax
jne 0x14007cbc1
mov r8, qword [rbp + 0x78]
test r8, r8
je 0x14007cbc1
xor eax, eax
mov qword [rbp + 0x9e8], rax
mov qword [rbp + 0x9e0], rax
mov dword [rbp + 0x9e8], ebx
mov eax, dword [rbp - 0x68]
mov dword [rbp + 0x9ec], eax
lea rdx, [rbp + 0x9e0]
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
mov eax, dword [rbp + 0x4e4]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x500]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x4e8]
mov qword [rbp + 0x48], rax
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x5c0]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x860]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x40], rsi
mov dword [rsp + 0x78], esi
mov dword [rbp - 0x70], esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa48]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9a0], rax
mov qword [rbp + 0x9a8], rax
cmp qword [rbp + 0x48], rsi
je 0x14007d66a
lea edx, [rax + 7]
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
jne 0x14007cc62
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14007d66a
lea r8, [rbp + 0x5c0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007cca0
mov rax, qword [rbp + 0x5d8]
mov qword [rbp + 0x40], rax
mov eax, dword [rbp + 0x5c4]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x5c8]
mov dword [rbp - 0x70], eax
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov qword [rbp - 8], rax
test rax, rax
je 0x14007cc57
mov eax, dword [rbp + 0x974]
sub dword [rbp + 0x10], eax
sub edi, dword [rbp + 0x970]
mov qword [rbp + 0x400], rsi
mov dword [rbp - 0x80], esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa48]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa48], 0x28
mov dword [rbp + 0xa4c], edi
mov eax, dword [rbp + 0x10]
neg eax
mov dword [rbp + 0xa50], eax
mov dword [rbp + 0xa54], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x400]
xor r8d, r8d
lea rdx, [rbp + 0xa48]
mov rcx, qword [rbp - 8]
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x14007cd69
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x80], ecx
test ecx, ecx
js 0x14007d0b0
mov dword [rbp - 0x80], 0x80004005
jmp 0x14007d0b0
lea r8, [rbp + 0x860]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
mov rcx, rsi
test eax, eax
cmovne rcx, qword [rbp + 0x878]
mov qword [rbp + 0x70], rcx
mov dword [rbp + 0x9a8], edi
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0x9ac], eax
mov rdx, qword [rbp - 0x28]
mov rdi, qword [rbp - 8]
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 + 0xa0]
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp - 0x10], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006d218.0]
mov r8, rax
lea rdx, [rbp + 0x9a0]
mov rcx, rdi
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
mov qword [rsp + 0x28], rsi
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9a0]
mov r8d, r15d
mov rdx, qword [rbp + 0x48]
mov rcx, rdi
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov eax, 1
cmp dword [rbp - 0x3c], eax
jne 0x14007ce6d
cmp dword [rbp - 0x78], esi
je 0x14007ce64
lea ecx, [rax + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006d218.0]
mov dword [rbp + 0x10], eax
jmp 0x14007ce74
mov dword [rbp + 0x10], 0xffffff
jmp 0x14007ce74
mov dword [rbp + 0x10], 0xffa8a8a8
mov eax, dword [rbp + 0x970]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, esi
mov r9d, esi
cmovns r9d, eax
mov eax, dword [rbp + 0x974]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, esi
mov r10d, esi
cmovns r10d, eax
mov eax, dword [rbp + 0x9a8]
sub eax, r8d
mov r11d, dword [rsp + 0x78]
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9ac]
sub eax, ecx
mov edx, dword [rbp - 0x70]
sub edx, r10d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x14007d083
test edx, edx
jle 0x14007d083
mov eax, dword [rbp + 0x9a8]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x70]
lea rdi, [rax + rcx*4]
mov qword [rbp + 0x48], rdi
movsxd r8, dword [rsp + 0x78]
mov eax, r8d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x40]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x78], rax
movsxd rcx, dword [rbp + 0x9a8]
shl rcx, 2
mov qword [rbp + 0x70], rcx
shl r8, 2
mov qword [rbp + 0xa0], r8
mov qword [rbp - 0x70], rdx
mov r15d, dword [rbp + 0x10]
mov r14d, 1
test r11d, r11d
jle 0x14007d05b
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp + 0x40], 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 0x14007d033
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r15b
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
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 + 0x11]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
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 + 0x12]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
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, 0x80808081
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 + 0x40]
add r9, 4
sub rdi, r14
mov qword [rbp + 0x40], rdi
jne 0x14007cf60
mov rdi, qword [rbp + 0x48]
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x70]
mov r8, qword [rbp + 0xa0]
mov rdx, qword [rbp - 0x70]
add rdi, rcx
mov qword [rbp + 0x48], rdi
add rax, r8
mov qword [rbp - 0x78], rax
sub rdx, r14
mov qword [rbp - 0x70], rdx
jne 0x14007cf46
mov r14d, dword [rsp + 0x60]
or r15, 0xffffffffffffffff
mov rdi, qword [rbp - 8]
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x14007d0b0
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov rcx, qword [rbp - 8]
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
cmp dword [rbp - 0x80], esi
jl 0x14007d66a
mov eax, dword [rbp + 0x4e4]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x508]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x4f0]
mov qword [rbp - 0x28], rax
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x710]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x8d0]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x40], rsi
mov dword [rbp - 0x70], esi
mov edi, esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa78]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9d0], rax
mov qword [rbp + 0x9d8], rax
cmp qword [rbp - 0x28], rsi
je 0x14007d66a
lea edx, [rax + 7]
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106070]
call qword [case.0x14006d218.0]
test rax, rax
je 0x14007cc57
lea r8, [rbp + 0x710]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
test eax, eax
je 0x14007d19c
mov rax, qword [rbp + 0x728]
mov qword [rbp + 0x40], rax
mov eax, dword [rbp + 0x714]
mov dword [rbp - 0x70], eax
mov edi, dword [rbp + 0x718]
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x140106030]
call qword [case.0x14006d218.0]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14007cc57
sub r13d, dword [rsp + 0x68]
sub r12d, dword [rbp + 0x980]
mov qword [rbp + 0x480], rsi
mov dword [rbp - 0x80], esi
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa78]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa78], 0x28
mov dword [rbp + 0xa7c], r12d
mov eax, r13d
neg eax
mov dword [rbp + 0xa80], eax
mov dword [rbp + 0xa84], 0x200001
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x480]
xor r8d, r8d
lea rdx, [rbp + 0xa78]
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x140106038]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x10], rax
test rax, rax
jne 0x14007d26e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x80], ecx
mov r12, qword [rsp + 0x78]
test ecx, ecx
js 0x14007d5a9
mov dword [rbp - 0x80], 0x80004005
jmp 0x14007d5a9
lea r8, [rbp + 0x8d0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006d218.0]
mov rcx, rsi
test eax, eax
cmovne rcx, qword [rbp + 0x8e8]
mov qword [rbp + 0x70], rcx
mov dword [rbp + 0x9d8], r12d
mov dword [rbp + 0x9dc], r13d
mov rdx, qword [rbp + 0x10]
mov r12, qword [rsp + 0x78]
mov rcx, r12
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov r13d, 1
mov edx, r13d
mov rcx, r12
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
mov rdx, qword [rbp - 0x10]
mov rcx, r12
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov qword [rbp + 0xa0], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006d218.0]
mov r8, rax
lea rdx, [rbp + 0x9d0]
mov rcx, r12
mov rax, qword [0x140106108]
call qword [case.0x14006d218.0]
mov qword [rsp + 0x28], rsi
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9d0]
mov r8d, r15d
mov rdx, qword [rbp - 0x28]
mov rcx, r12
mov rax, qword [fcn.140059490]
call qword [case.0x14006d218.0]
cmp dword [rbp - 0x3c], r13d
jne 0x14007d370
cmp dword [rbp - 0x78], esi
je 0x14007d367
lea ecx, [r13 + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006d218.0]
jmp 0x14007d375
mov dword [rbp - 0x50], 0xffffff
jmp 0x14007d37e
mov eax, 0xffa8a8a8
mov dword [rbp - 0x50], eax
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x980]
mov edx, eax
neg edx
test eax, eax
cmovns edx, esi
mov r8d, esi
cmovns r8d, eax
mov eax, dword [rsp + 0x68]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, esi
mov r9d, esi
cmovns r9d, eax
movsxd r13, dword [rbp + 0x9d8]
mov eax, r13d
sub eax, edx
movsxd r10, dword [rbp - 0x70]
mov r11d, r10d
sub r11d, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9dc]
sub eax, ecx
sub edi, r9d
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x14007d579
test edi, edi
jle 0x14007d579
mov eax, r13d
imul eax, ecx
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp + 0x70]
lea rdx, [rax + rcx*4]
mov qword [rbp + 0x48], rdx
mov eax, r10d
imul eax, r9d
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x40]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x40], rax
mov rcx, r13
shl rcx, 2
mov qword [rbp - 0x10], rcx
mov r8, r10
shl r8, 2
mov qword [rbp + 0x70], r8
mov qword [rbp - 8], rdi
mov r14d, dword [rbp + 0x88]
mov r12d, 1
test r11d, r11d
jle 0x14007d554
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 0x14007d52f
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 - 0x4f]
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 - 0x4e]
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 - 0x28]
add r9, 4
sub rdi, r12
mov qword [rbp - 0x28], rdi
jne 0x14007d45e
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp + 0x70]
mov rdi, qword [rbp - 8]
add rdx, rcx
mov qword [rbp + 0x48], rdx
add rax, r8
mov qword [rbp + 0x40], rax
sub rdi, r12
mov qword [rbp - 8], rdi
jne 0x14007d444
mov r14d, dword [rsp + 0x60]
mov r12, qword [rsp + 0x78]
mov rcx, qword [rbp + 0x10]
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp + 0xa0]
test rax, rax
je 0x14007d5a9
mov rdx, rax
mov rcx, r12
mov rax, qword [0x140106098]
call qword [case.0x14006d218.0]
mov rcx, r12
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
cmp dword [rbp - 0x80], esi
jl 0x14007d66a
mov eax, 1
mov r9d, ebx
mov rdi, qword [rbp + 0x60]
cmp dword [rbp - 0x3c], eax
jne 0x14007d612
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov rax, qword [rbp + 0x58]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x520]
mov edx, dword [rbp + 0x51c]
mov rcx, rdi
mov rax, qword [0x140106020]
call qword [case.0x14006d218.0]
jmp 0x14007d656
mov ecx, dword [rbp - 0x30]
mov dword [rsp + 0x50], ecx
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov rcx, qword [rbp + 0x58]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x954]
mov edx, dword [rbp + 0x950]
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]
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x14007d683
mov rcx, rax
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14007d69c
mov rcx, rax
mov rax, qword [0x140106050]
call qword [case.0x14006d218.0]
mov rax, qword [rbp + 0x78]
test rax, rax
je 0x14007d6b5
mov rcx, rax
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov rax, qword [rbp + 0x4e8]
test rax, rax
je 0x14007d702
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], si
jne 0x14007d6c4
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x4e8]
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], rsi
mov rax, qword [rbp + 0x4f0]
test rax, rax
je 0x14007d74f
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], si
jne 0x14007d711
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x4f0]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4f0]
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 + 0x4f0], rsi
mov rdi, qword [rbp + 0x4f8]
test rdi, rdi
je 0x14007d795
mov rcx, r15
inc rcx
cmp word [rdi + rcx*2], si
jne 0x14007d75e
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4f8]
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 + 0x4f8], rsi
mov rcx, qword [rbp + 0x500]
test rcx, rcx
je 0x14007d7b5
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x500], rsi
mov rcx, qword [rbp + 0x508]
test rcx, rcx
je 0x14007d7d5
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x508], rsi
mov rcx, qword [rbp + 0x510]
test rcx, rcx
je 0x14007d7f5
mov rax, qword [0x140106058]
call qword [case.0x14006d218.0]
mov qword [rbp + 0x510], rsi
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x14010beac], r12d
jne 0x14007d7fb
mov eax, dword [0x14010bea8]
test eax, eax
jle 0x14007d86a
sub eax, r12d
mov dword [0x14010bea8], eax
jne 0x14007d86a
lea r13, [0x14010a7b0]
mov rdi, r13
mov ebx, 4
cmp qword [rdi], rsi
je 0x14007d83a
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r12
jne 0x14007d82c
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, esi
xchg dword [0x14010beac], eax
mov eax, dword [0x14010a0d8]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1401060b8]
call qword [case.0x14006d218.0]
sub eax, dword [0x14010bea0]
mov qword [rbp + 0x70], rax
mov dword [rbp + 0xd50], esi
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0xd58]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x14010beac], r12d
jne 0x14007d8aa
mov eax, dword [0x14010bea8]
test eax, eax
jne 0x14007de79
mov dword [rsp + 0x68], esi
mov dword [rbp - 0x80], esi
mov qword [rbp + 0x190], rsi
mov qword [rbp + 0x2a8], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14007ddf4
mov r14d, esi
or r15d, 0xffffffff
mov edx, esi
mov dword [rbp + 0x28], edx
mov r11d, esi
mov dword [rbp + 0x38], esi
lea r12, [rax + 7]
lea rbx, [0x1400ea212]
mov ecx, 0x67
mov edi, 0xab69
lea r13d, [rcx - 0x66]
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, edi
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov edx, r8d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov eax, r8d
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, 0x7f1
xor eax, edi
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, 0xab69605e
mov eax, r8d
xor eax, edi
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r8d, edx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
mov edi, 0xab69
xor eax, edi
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
sub eax, edi
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
mov edx, r8d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0x54969fa2]
rol eax, 3
mov edx, r11d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
mov edx, r8d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r11d, eax
mov eax, r11d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, r14d
xor r11d, edx
mov dword [rbp + 0x38], r11d
xor r8d, r15d
mov dword [rbp + 0x28], r8d
mov byte [r12 - 4], r11b
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x28]
mov byte [r12], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x38]
mov byte [r12 - 5], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 1], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x38]
mov byte [r12 - 6], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 2], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x38]
mov byte [r12 - 7], al
mov al, byte [rbp + 0x28]
mov byte [r12 - 3], al
mov r11d, dword [rbp + 0x38]
ror r11d, 8
mov dword [rbp + 0x38], r11d
mov edx, dword [rbp + 0x28]
ror edx, 8
mov dword [rbp + 0x28], edx
mov r14d, r10d
mov r15d, r9d
lea r12, [r12 + 8]
sub rcx, r13
jne 0x14007d929
mov rax, rsi
mov cl, sil
mov r14d, dword [rsp + 0x60]
or r15, 0xffffffffffffffff
mov ebx, esi
mov r13, qword [rbp - 0x10]
mov edx, 0x338
lea r12d, [r15 + 2]
xor cl, byte [rax + r13]
add rax, r12
cmp rax, rdx
jb 0x14007dc65
movzx eax, cl
cmp rax, qword [0x1400ea548]
je 0x14007dc84
mov edi, 0xc004d501
jmp 0x14007dc97
mov qword [rbp + 0x190], r13
mov r13, rsi
mov qword [rbp + 0x2a8], rdx
mov edi, ebx
test r13, r13
je 0x14007dcb0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14007ddf4
mov rdi, qword [rbp + 0x190]
mov rax, qword [rbp + 0x2a8]
mov byte [rax + rdi - 1], sil
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x14010a7b0]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x14007dde9
mov rdx, rdi
mov rax, r15
inc rax
cmp word [rdi + rax*2], si
jne 0x14007dceb
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x80]
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 0x14007ddf4
mov ebx, esi
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14007dd2d
mov ebx, 0xc000007b
jmp 0x14007dd7c
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14007dd26
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14007dd26
cmp dword [rcx], 0x4550
jne 0x14007dd26
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14007dd68
mov ebx, 0xc000000d
jmp 0x14007dd7c
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [rdi + 2]
mov dword [rsp + 0x70], eax
add rdi, 6
mov r13d, esi
test eax, eax
je 0x14007ddda
mov rdx, rdi
mov rax, r15
inc rax
cmp byte [rdi + rax], sil
jne 0x14007dd94
inc rdi
add rdi, rax
test ebx, ebx
js 0x14007ddc5
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14007ddf9
mov ecx, dword [rsp + 0x68]
lea rdx, [0x140106020]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rsp + 0x68], eax
add r13d, eax
cmp r13d, dword [rsp + 0x70]
jb 0x14007dd8e
jmp 0x14007dddf
mov eax, 1
add dword [rbp - 0x80], eax
lea r12, [0x14010a7b0]
cmp byte [rdi], sil
jne 0x14007dce5
jmp 0x14007ddf9
mov ebx, 0xc000007a
cmp qword [rbp + 0x190], rsi
je 0x14007de1a
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]
mov r12d, 1
test ebx, ebx
jns 0x14007de73
lea r13, [0x14010a7b0]
mov rdi, r13
lea ebx, [r12 + 3]
cmp qword [rdi], rsi
je 0x14007de41
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r12
jne 0x14007de33
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x14007de89
mov eax, dword [0x14010bea8]
add eax, r12d
mov dword [0x14010bea8], eax
lea r13, [0x14010a7b0]
mov eax, esi
xchg dword [0x14010beac], eax
mov rcx, qword [rbp + 0x70]
mov dword [rbp + 0xd58], ecx
mov dword [rbp + 0xd50], r12d
mov dword [rbp + 0xd68], 0x9966f291
mov dword [rbp + 0xd60], r12d
mov dword [rbp + 0xd78], r12d
mov dword [rbp + 0xd70], r12d
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0xd88], eax
mov dword [rbp + 0xd80], r12d
lea r9, [rbp + 0xd50]
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], r12d
jne 0x14007def0
mov eax, dword [0x14010bea8]
test eax, eax
jle 0x14007df58
sub eax, r12d
mov dword [0x14010bea8], eax
jne 0x14007df58
mov rdi, r13
mov ebx, 4
cmp qword [rdi], rsi
je 0x14007df28
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r12
jne 0x14007df1a
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d7440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, esi
xchg dword [0x14010beac], eax
mov rdx, qword [rbp + 0x60]
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006d218.0]
lea rcx, [rbp + 0x418]
call fcn.140004808
cmp dword [rbp + 0x80], esi
je 0x1400802c7
mov rbx, rsi
mov r12, rsi
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x120], rax
mov dword [rbp + 0x228], esi
lea rax, [0x140109470]
mov qword [rbp + 0x420], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x2b0], rdi
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 qword [rbp - 0x10], rax
test rax, rax
je 0x140080240
mov r8, qword [rbp + 0x2b0]
mov rdx, qword [rbp + 0x420]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rbx, rdi
mov qword [rbp - 0x80], rbx
mov r13d, dword [rbp + 0x2b0]
lea rax, [0x1401093b8]
mov qword [rbp + 0x428], rax
mov edi, 8
mov qword [rbp + 0x290], 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 + 0xa0], rax
test rax, rax
je 0x140080240
mov r8, qword [rbp + 0x290]
mov rdx, qword [rbp + 0x428]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r12, rdi
mov qword [rsp + 0x78], rdi
mov rdi, qword [rbp + 0x290]
mov qword [rbp + 0x70], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2b8], rax
mov ecx, 8
mov dword [rbp + 0xd0], ecx
lea ebx, [r13 + 4]
or r8d, 0xffffffff
mov eax, r8d
cmp ebx, 4
cmovae eax, ebx
mov edx, ecx
jb 0x14008023c
mov ecx, eax
mov dword [rbp + 0xd0], eax
mov edx, eax
lea eax, [rax + 8]
mov edx, r8d
cmp eax, 8
cmovae edx, eax
jb 0x14008023c
lea r12d, [rdi + 4]
mov eax, r8d
cmp r12d, 4
cmovae eax, r12d
cmovae ecx, eax
mov dword [rbp + 0xd0], ecx
jb 0x140080237
lea eax, [rcx + rdx]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
jb 0x140080237
mov dword [rbp + 0xd0], SafeArrayDestroy
lea eax, [rcx + 0xc]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
jb 0x140080237
mov dword [rbp + 4], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
je 0x140080237
mov qword [rbp + 8], rax
mov r8d, esi
mov dword [rbp], esi
mov dword [rbp + 0x210], 4
lea rcx, [rax + 4]
mov rdi, r15
cmp rcx, rax
cmovae rdi, rcx
sbb r9d, r9d
mov r10d, 0xc0000095
and r9d, r10d
cmp rcx, rax
jb 0x14007e1a7
mov ecx, dword [rbp + 4]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x140080237
mov dword [rdx], 4
mov eax, dword [rbp + 0x210]
mov dword [rdi], eax
mov r8d, dword [rbp]
mov r11d, 1
add r8d, r11d
mov dword [rbp], r8d
jmp 0x14007e1ad
mov r11d, 1
test r9d, r9d
js 0x140080237
test r13d, r13d
je 0x14007e2ca
cmp qword [rbp + 8], rsi
jne 0x14007e20d
or eax, 0xffffffff
cmp ebx, 4
cmovae eax, ebx
mov edx, dword [rbp + 0xd4]
cmovae edx, eax
mov dword [rbp + 0xd4], edx
jb 0x140080237
mov ecx, dword [rbp + 4]
lea eax, [rdx + rcx]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp + 4], edi
sbb ebx, ebx
and ebx, r10d
cmp eax, ecx
jb 0x14007e2d2
add r8d, r11d
mov dword [rbp], r8d
jmp 0x14007e2da
mov rdi, qword [rbp + 8]
mov r10d, esi
test r8d, r8d
je 0x14007e276
mov r9d, dword [rbp + 0xd4]
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 + 0xd4], r9d
jb 0x140080237
mov edx, r9d
mov rcx, rdi
add rdx, rdi
mov rax, r15
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
mov r11d, 1
jb 0x14007e2cf
add r10d, r11d
cmp r10d, r8d
jb 0x14007e220
lea rax, [rdi + 4]
mov rcx, r15
cmp rax, rdi
cmovae rcx, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, rdi
jb 0x14007e2cf
mov r8, r13
mov edx, dword [rbp + 4]
add rdx, qword [rbp + 8]
lea rax, [r13 + 4]
add rax, rdi
cmp rax, rdx
ja 0x140080237
mov dword [rdi], r13d
mov rdx, qword [rbp - 0x10]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp]
mov r11d, 1
add r8d, r11d
mov dword [rbp], r8d
jmp 0x14007e2cf
mov ebx, 0xc000000d
mov edi, dword [rbp + 4]
test ebx, ebx
js 0x140080237
mov r13, qword [rbp + 0x70]
test r13d, r13d
je 0x14007e404
cmp qword [rbp + 8], rsi
jne 0x14007e347
or eax, 0xffffffff
cmp r12d, 4
cmovae eax, r12d
mov edx, dword [rbp + 0xd8]
cmovae edx, eax
mov dword [rbp + 0xd8], edx
jb 0x140080237
mov ecx, edi
lea eax, [rdx + rdi]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp + 4], edi
sbb ebx, ebx
and ebx, 0xc0000095
cmp eax, ecx
jb 0x14007e411
add r8d, r11d
mov dword [rbp], r8d
mov rax, qword [rbp + 0x2b8]
mov qword [rbp + 0x2c0], rax
jmp 0x14007e42d
mov r9, qword [rbp + 8]
mov r11d, esi
test r8d, r8d
je 0x14007e3ab
mov r10d, dword [rbp + 0xd8]
mov r12, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae r10d, eax
mov dword [rbp + 0xd8], r10d
jb 0x140080237
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r15
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb ebx, ebx
and ebx, 0xc0000095
cmp rdx, rcx
jb 0x14007e40b
inc r11d
cmp r11d, r8d
jb 0x14007e35a
lea rax, [r9 + 4]
mov rcx, r15
cmp rax, r9
cmovae rcx, rax
sbb ebx, ebx
and ebx, 0xc0000095
cmp rax, r9
jb 0x14007e40b
mov r8d, r13d
mov edx, edi
add rdx, qword [rbp + 8]
lea rax, [r8 + 4]
add rax, r9
cmp rax, rdx
ja 0x140080237
mov dword [r9], r13d
mov rdx, qword [rbp + 0xa0]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp]
mov r11d, 1
add r8d, r11d
mov dword [rbp], r8d
mov edi, dword [rbp + 4]
jmp 0x14007e411
mov ebx, 0xc000000d
jmp 0x14007e411
mov r11d, 1
test ebx, ebx
js 0x140080237
mov rax, qword [rbp + 0x2b8]
mov qword [rbp + 0x2c0], rax
cmp qword [rbp + 8], rsi
jne 0x14007e465
mov dword [rbp + 0x150], SafeArrayDestroy
mov ecx, edi
lea eax, [rdi + 0xc]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp + 4], edi
sbb r10d, r10d
and r10d, 0xc0000095
cmp eax, ecx
jb 0x14007e529
add r8d, r11d
mov dword [rbp], r8d
jmp 0x14007e532
mov r9, qword [rbp + 8]
mov ebx, esi
test r8d, r8d
je 0x14007e4d2
mov r11d, dword [rbp + 0x150]
mov r12, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae r11d, eax
mov dword [rbp + 0x150], r11d
jb 0x140080237
mov edx, r11d
mov rcx, r9
add rdx, r9
mov rax, r15
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r10d, r10d
and r10d, 0xc0000095
cmp rdx, rcx
jb 0x14007e529
mov r12d, 1
add ebx, r12d
cmp ebx, r8d
jb 0x14007e477
jmp 0x14007e4d8
mov r12d, 1
lea rax, [r9 + 4]
mov rdx, r15
cmp rax, r9
cmovae rdx, rax
sbb r10d, r10d
and r10d, 0xc0000095
cmp rax, r9
jb 0x14007e529
mov ecx, edi
add rcx, qword [rbp + 8]
lea rax, [r9 + 0xc]
cmp rax, rcx
ja 0x140080237
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x2c0]
movsd qword [rdx], xmm0
mov r8d, dword [rbp]
add r8d, r12d
mov dword [rbp], r8d
mov edi, dword [rbp + 4]
test r10d, r10d
js 0x140080237
mov dword [rbp + 0x40c], SafeArrayDestroy
mov r10, rsi
mov qword [rbp + 0x60], rsi
mov r9d, esi
mov dword [rbp - 0x68], esi
mov qword [rbp + 0x1a0], rsi
mov qword [rbp + 0x58], rsi
mov dword [rbp - 0x70], esi
mov qword [rbp - 0x28], rsi
mov dword [rbp + 0x68], esi
mov r13, rsi
mov qword [rbp - 8], rsi
mov qword [rbp - 0x30], rsi
mov dword [rbp + 0xe4], esi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2c8], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
mov dword [rbp + 0xdc], ecx
sbb edi, edi
mov r12d, 0xc0000095
and edi, r12d
cmp eax, 8
jb 0x14007e68c
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14007e5ba
mov edi, r12d
jmp 0x14007e68c
mov dword [rbp + 0xdc], 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 0x14007e5f1
mov edi, 0xc0000017
mov r9d, esi
mov r10, rsi
jmp 0x14007e688
mov eax, dword [rbp]
mov dword [rbx], eax
lea rax, [rbx + 4]
mov rdx, r15
cmp rax, rbx
cmovae rdx, rax
sbb edi, edi
and edi, r12d
cmp rax, rbx
jb 0x14007e661
mov eax, dword [rbp + 4]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, r12d
cmp rax, rdx
jb 0x14007e661
mov edx, dword [rbp + 0xdc]
mov rax, qword [rbp + 0x2c8]
mov qword [rdx + rbx - 8], rax
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 8]
call sub.msvcrt.dll_memcpy
mov r10, rbx
mov qword [rbp + 0x60], rbx
mov rbx, rsi
mov r9d, dword [rbp + 0xdc]
mov dword [rbp - 0x68], r9d
jmp 0x14007e667
mov r10, rsi
mov r9d, esi
test rbx, rbx
je 0x14007e688
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9d, dword [rbp - 0x68]
mov r10, qword [rbp + 0x60]
mov r8d, dword [rbp]
or edi, 0x10000000
jl 0x14007ff7f
mov qword [rbp + 0x438], rsi
mov qword [rbp + 0x440], rsi
mov qword [rbp + 0x448], rsi
mov qword [rbp + 0x450], rsi
mov qword [rbp + 0x238], rsi
mov qword [rbp + 0x430], rsi
mov r12, rsi
test r10, r10
jne 0x14007e6d4
mov edi, 0xc000000d
jmp 0x14007eeac
mov ebx, r9d
mov qword [rbp + 0x70], rbx
test r9d, r9d
je 0x14007edf2
lea rdi, [rbx + 8]
mov qword [rbp + 0x50], 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 qword [rbp + 0xa0], rax
test rax, rax
je 0x14007edee
mov dl, sil
mov byte [rsp + 0x64], dl
mov rcx, rsi
mov r9, qword [rbp + 0x60]
test rbx, rbx
je 0x14007e738
mov edi, 1
xor dl, byte [rcx + r9]
add rcx, rdi
cmp rcx, rbx
jb 0x14007e728
mov byte [rsp + 0x64], dl
movabs rcx, 0xc81ecb17b1b54a58
mov qword [rbp + 0x940], rcx
mov r8, rax
mov edi, esi
mov dword [rbp - 0x14], esi
or r11d, 0xffffffff
mov dword [rbp - 0x38], r11d
mov dword [rbp - 0x68], esi
mov dword [rbp + 0x10], esi
mov rax, rbx
and eax, 7
je 0x14007e860
mov ecx, esi
mov dword [rbp - 0x68], ecx
mov r10d, esi
mov dword [rbp + 0x10], esi
mov r11d, esi
test eax, eax
je 0x14007e7da
mov r10d, 0x38
mov r13d, ecx
lea r14d, [r10 - 0x37]
lea rcx, [r9 + 1]
mov qword [rbp - 0x10], rcx
movzx edi, byte [r9]
cmp r11d, 4
jge 0x14007e7aa
lea ecx, [r10 - 0x20]
shl edi, cl
or r13d, edi
mov ecx, dword [rbp - 0x68]
jmp 0x14007e7b7
mov ecx, r10d
shl edi, cl
mov ecx, dword [rbp - 0x68]
or ecx, edi
mov dword [rbp - 0x68], ecx
add r11d, r14d
sub r10d, 8
mov rdi, qword [rbp - 0x10]
mov r9, rdi
cmp r11d, eax
jl 0x14007e78a
mov dword [rbp + 0x10], r13d
mov r14d, dword [rsp + 0x60]
mov r13, rsi
mov r10d, dword [rbp + 0x10]
mov edi, r10d
xor edi, 0xb17a307a
mov dword [rbp - 0x14], edi
mov r11d, ecx
xor r11d, 0x42f6b18d
mov dword [rbp - 0x38], r11d
mov ecx, esi
test eax, eax
jle 0x14007e82b
mov edx, 1
lea r10, [r8 + 1]
cmp ecx, 4
jge 0x14007e810
rol edi, 8
mov byte [r8], dil
jmp 0x14007e817
rol r11d, 8
mov byte [r8], r11b
add ecx, edx
mov r8, r10
cmp ecx, eax
jl 0x14007e7ff
mov edi, dword [rbp - 0x14]
mov r11d, dword [rbp - 0x38]
mov dl, byte [rsp + 0x64]
add eax, 0xfffffffc
test eax, eax
jle 0x14007e848
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x38], r11d
jmp 0x14007e860
mov r11d, esi
mov dword [rbp - 0x38], esi
test eax, eax
jns 0x14007e860
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x14], edi
mov rax, rbx
shr rax, 3
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14007ebce
mov edx, dword [rbp + 0x944]
shr edx, 0x10
movzx eax, word [rbp + 0x942]
mov dword [rsp + 0x70], eax
movzx r14d, word [rbp + 0x944]
lea rbx, [r8 + 7]
lea rsi, [r9 + 2]
mov r13, qword [rbp - 0x10]
mov r15d, dword [rbp - 0x68]
mov r12d, dword [rbp + 0x10]
movzx r10d, byte [rsi - 2]
shl r10d, 8
movzx eax, byte [rsi - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 1]
or r10d, eax
movzx r9d, byte [rsi + 2]
shl r9d, 8
movzx eax, byte [rsi + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 5]
or r9d, eax
xor r11d, r9d
lea rsi, [rsi + 8]
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
xor r8d, dword [rbp + 0x944]
mov ecx, r8d
mov edi, dword [rbp + 0x944]
xor ecx, edi
ror ecx, 0xf
mov eax, r8d
ror eax, 7
imul ecx, dword [rsp + 0x70]
add eax, ecx
xor r11d, eax
lea ecx, [r11 - 0x4e4ab5a8]
ror ecx, 9
mov eax, r11d
ror eax, 0xa
imul ecx, r14d
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, r14d
rol ecx, 4
mov eax, r8d
rol eax, 5
imul ecx, edx
add eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, edi
sub eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x4a58]
movzx eax, word [rbp + 0x942]
imul ecx, eax
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, r14d
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, edx
imul eax, r14d
xor r11d, eax
mov eax, r11d
sub eax, edi
sub eax, 0x4a58
xor r8d, eax
mov ecx, r8d
ror ecx, 0xa
mov eax, r8d
xor eax, edx
movzx edi, word [rbp + 0x942]
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, 0x4a58
rol ecx, 6
mov eax, r11d
ror eax, 3
imul ecx, r14d
xor eax, ecx
xor r8d, eax
mov eax, r8d
ror eax, 0xf
sub eax, edx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, edx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r8d, ecx
mov eax, r11d
sub eax, r14d
rol eax, 3
mov ecx, r11d
shr ecx, 0xf
imul eax, eax, 0x4a58
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, r14d
imul ecx, edi
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 9
mov eax, r11d
ror eax, 0xb
imul ecx, r14d
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 + 0x942]
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 + 0x942]
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, r14d
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
xor eax, dword [rbp + 0x944]
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r8d, eax
mov edi, dword [rbp + 0x944]
sub edi, r8d
ror edi, 0xb
mov ecx, r8d
ror ecx, 0xc
movzx eax, word [rbp + 0x942]
imul eax, edi
sub eax, ecx
xor r11d, eax
mov ecx, r11d
movzx eax, word [rbp + 0x942]
xor ecx, eax
imul ecx, r14d
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor r8d, r12d
mov dword [rbp - 0x14], r8d
xor eax, r15d
xor eax, dword [rbp + 0x944]
xor eax, r11d
xor eax, 0xb1b54a58
mov dword [rbp - 0x38], eax
mov byte [rbx - 4], r8b
ror dword [rbp - 0x14], 8
mov al, byte [rbp - 0x38]
mov byte [rbx], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x14]
mov byte [rbx - 5], al
ror dword [rbp - 0x14], 8
mov al, byte [rbp - 0x38]
mov byte [rbx - 1], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x14]
mov byte [rbx - 6], al
ror dword [rbp - 0x14], 8
mov al, byte [rbp - 0x38]
mov byte [rbx - 2], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x14]
mov byte [rbx - 7], al
mov al, byte [rbp - 0x38]
mov byte [rbx - 3], al
mov edi, dword [rbp - 0x14]
ror edi, 8
mov dword [rbp - 0x14], edi
mov r11d, dword [rbp - 0x38]
ror r11d, 8
mov dword [rbp - 0x38], r11d
mov r12d, r10d
mov r15d, r9d
lea rbx, [rbx + 8]
sub r13, 1
jne 0x14007e8a4
mov dl, byte [rsp + 0x64]
xor esi, esi
mov r14d, dword [rsp + 0x60]
or r15, 0xffffffffffffffff
mov r13d, esi
mov r12d, esi
mov rbx, qword [rbp + 0x70]
movzx eax, dl
mov rdi, qword [rbp + 0xa0]
mov qword [rdi + rbx], rax
mov qword [rbp + 0x238], rdi
lea rax, [rbx + 8]
mov qword [rbp + 0x430], rax
lea rax, [0x140109460]
mov qword [rbp + 0x438], rax
mov ebx, 8
mov qword [rbp + 0x440], rbx
lea rax, [0x1401093c0]
mov qword [rbp + 0x448], rax
mov qword [rbp + 0x450], 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 0x14007ec48
mov edi, 0xc0000017
jmp 0x14007edda
mov rax, qword [rbp + 0x50]
mov dword [rbx], eax
mov eax, eax
mov qword [rbp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x50]
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14007ec7b
mov edi, 0xc0000017
jmp 0x14007ed4b
mov qword [rbx + 8], rax
mov r8, qword [rbp + 0x50]
mov rdx, rdi
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]
test rax, rax
je 0x14007ec71
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
lea edx, [rdi + 0x78]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rbx + 0x20], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007ec71
mov qword [rbx + 0x28], rax
mov edi, esi
movsd xmm0, qword [0x140109460]
movsd qword [rax], xmm0
mov r12, rbx
mov rbx, rsi
test rbx, rbx
je 0x14007edda
mov rax, qword [rbx + 8]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14007ed7a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x10]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14007eda0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x10]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14007edc6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x10]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp]
test edi, edi
js 0x14007edf7
mov qword [rbp + 0x1a0], r12
mov r12, rsi
jmp 0x14007edf7
mov r8d, dword [rbp]
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x238]
test rbx, rbx
je 0x14007ee22
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 + 0x238], rsi
mov r8d, dword [rbp]
test r12, r12
je 0x14007eeac
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x14007ee4e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 8], rsi
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x14007ee71
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x18], rsi
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x14007ee94
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp]
or edi, 0x10000000
jl 0x14007ff7f
mov rbx, qword [rbp + 0x1a0]
mov r10d, dword [rbx + 0x20]
mov r9d, dword [rbx + 0x10]
mov eax, dword [rbx]
add eax, 4
or r11d, 0xffffffff
mov ecx, r11d
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
mov r12d, 0xc0000095
and edi, r12d
cmp eax, 4
jb 0x14007ef4d
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r12d
cmp eax, ecx
jb 0x14007ef4d
lea eax, [rdx + r9]
mov ecx, r11d
cmp eax, edx
cmovae ecx, eax
sbb edi, edi
and edi, r12d
cmp eax, edx
jb 0x14007ef4d
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r12d
cmp eax, ecx
jb 0x14007ef4d
lea ecx, [rdx + r10]
mov eax, r11d
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, r12d
mov r9d, dword [rbp + 0xe0]
cmp ecx, edx
cmovae r9d, eax
mov dword [rbp + 0xe0], r9d
jmp 0x14007ef54
mov r9d, dword [rbp + 0xe0]
test edi, edi
js 0x14007f0b1
mov edi, r9d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x14007ef88
mov edi, 0xc0000017
jmp 0x14007f0ad
mov eax, dword [rbx]
mov dword [r12], eax
lea rax, [r12 + 4]
mov rcx, r15
cmp rax, r12
cmovae rcx, rax
mov qword [rbp - 0x10], rcx
sbb edi, edi
and edi, 0xc0000095
cmp rax, r12
jb 0x14007f094
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
mov rdx, qword [rbp - 0x10]
add rcx, rdx
mov r8, r15
cmp rcx, rdx
cmovae r8, rcx
sbb edi, edi
mov r9d, 0xc0000095
and edi, r9d
cmp rcx, rdx
jb 0x14007f094
mov eax, dword [rbx + 0x10]
mov dword [r8], eax
lea rax, [r8 + 4]
mov rcx, r15
cmp rax, r8
cmovae rcx, rax
mov qword [rbp - 0x10], rcx
sbb edi, edi
and edi, r9d
cmp rax, r8
jb 0x14007f094
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x10]
mov r8, qword [rbp - 0x10]
add rcx, r8
mov rdx, r15
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
mov r9d, 0xc0000095
and edi, r9d
cmp rcx, r8
jb 0x14007f094
mov eax, dword [rbx + 0x20]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
mov qword [rbp - 0x10], rcx
sbb edi, edi
and edi, r9d
cmp rax, rdx
jb 0x14007f094
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x20]
mov rdx, qword [rbp - 0x10]
add rcx, rdx
cmp rcx, rdx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rdx
jb 0x14007f094
mov qword [rbp + 0x58], r12
mov r12, rsi
mov eax, dword [rbp + 0xe0]
mov dword [rbp - 0x70], eax
test r12, r12
je 0x14007f0ad
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp]
or edi, 0x10000000
jl 0x14007ff7f
mov qword [rbp + 0x458], rsi
mov r10d, esi
mov dword [rbp + 0x218], esi
mov qword [rbp + 0x460], rsi
mov r11d, esi
mov dword [rbp + 0x21c], esi
mov dword [rbp + 0x408], 0x1c
mov dword [rbp + 0x35c], 0x28
mov dword [rbp + 0x358], 0x28
cmp qword [rbp + 8], rsi
jne 0x14007f10b
mov edi, 0xc000000d
jmp 0x14007f2af
mov r12d, 1
cmp r8d, r12d
jbe 0x14007f101
mov rdx, qword [rbp + 8]
mov ebx, esi
lea rax, [rdx + 4]
mov r9, r15
cmp rax, rdx
cmovae r9, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x14007f194
mov ecx, dword [rdx]
add rcx, r9
mov rdx, r15
cmp rcx, r9
cmovae rdx, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r9
jb 0x14007f194
add ebx, r12d
cmp ebx, r12d
jb 0x14007f11c
mov r9d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x14007f194
mov r10d, r9d
mov dword [rbp + 0x218], r9d
mov rax, rsi
test r9d, r9d
cmovne rax, rcx
mov qword [rbp + 0x458], rax
test edi, edi
js 0x14007ff7f
cmp r8d, 2
jbe 0x14007f101
mov rdx, qword [rbp + 8]
mov r9d, esi
lea rax, [rdx + 4]
mov r8, r15
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x14007f22b
mov ecx, dword [rdx]
add rcx, r8
mov rdx, r15
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r8
jb 0x14007f22b
add r9d, r12d
cmp r9d, 2
jb 0x14007f1ad
mov r8d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
mov r12d, 0xc0000095
and edi, r12d
cmp rax, rdx
jb 0x14007f231
mov r11d, r8d
mov dword [rbp + 0x21c], r8d
mov rax, rsi
test r8d, r8d
cmovne rax, rcx
mov qword [rbp + 0x460], rax
jmp 0x14007f231
mov r12d, 0xc0000095
test edi, edi
js 0x14007ff7f
lea eax, [r10 + 0x30]
or edx, 0xffffffff
mov ecx, edx
cmp eax, 0x30
cmovae ecx, eax
sbb edi, edi
and edi, r12d
cmp eax, 0x30
jb 0x14007f28c
lea eax, [rcx + 4]
mov r8d, edx
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r12d
cmp eax, ecx
jb 0x14007f28c
lea ecx, [r8 + r11]
mov eax, edx
cmp ecx, r8d
cmovae eax, ecx
sbb edi, edi
and edi, r12d
mov edx, dword [rbp + 0x154]
cmp ecx, r8d
cmovae edx, eax
mov dword [rbp + 0x154], edx
jmp 0x14007f292
mov edx, dword [rbp + 0x154]
test edi, edi
js 0x14007ff7f
cmp edx, 0x400000
jbe 0x14007f2ac
mov edi, 0x8000ffff
jmp 0x14007ff7f
mov dword [rbp + 0x68], edx
test edi, edi
js 0x14007ff7f
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 0x14007f2e3
mov edi, 0xd0000017
jmp 0x14007ff7f
mov qword [rbp - 0x28], rbx
mov r12, qword [rbp + 0x58]
test r12, r12
jne 0x14007f2fa
mov edi, 0x80070057
jmp 0x14007ff7f
mov qword [rbp + 0x4b0], r12
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x4c0], eax
mov qword [rbp + 0x4b8], rbx
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x4c4], eax
mov dword [rbp + 0x4c8], esi
lea r8, [rbp + 0x468]
lea rdx, [0x1400e8408]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14007f35f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x14007f35a
mov edi, 0x80004005
mov edx, dword [rbp + 0x68]
jmp 0x14007f3a5
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x468]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14007f33d
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x4b0]
lea ecx, [r8 + 0x66]
call qword [case.0x14006d218.0]
mov edi, eax
or edi, 0x10000000
mov edx, dword [rbp + 0x68]
cmovge edx, dword [rbp + 0x4c4]
mov dword [rbp + 0x68], edx
cmp edi, 0xd0000023
jne 0x14007f3b7
mov edi, 0x8007007a
jmp 0x14007ff7f
test edi, edi
js 0x14007ff7f
mov qword [rbp + 0x50], rsi
cmp edx, 4
jae 0x14007f3d2
mov edi, 0xc000003e
jmp 0x14007f796
mov r11d, dword [rbx]
mov dword [rsp + 0x70], r11d
lea rax, [rbx + 4]
mov r12, r15
cmp rax, rbx
cmovae r12, rax
sbb edi, edi
mov r10d, 0xc0000095
and edi, r10d
cmp rax, rbx
jb 0x14007f796
lea eax, [rdx - 4]
cmp eax, r11d
jb 0x14007f3c8
lea rcx, [r12 + r11]
mov r9, r15
cmp rcx, r12
cmovae r9, rcx
sbb edi, edi
and edi, r10d
cmp rcx, r12
jb 0x14007f796
lea eax, [r11 + 4]
or ecx, 0xffffffff
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
and edi, r10d
cmp eax, 4
jb 0x14007f796
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14007f3c8
mov ebx, dword [r9]
mov dword [rbp - 0x78], ebx
lea rax, [r9 + 4]
mov r8, r15
cmp rax, r9
cmovae r8, rax
mov qword [rbp - 0x10], r8
sbb edi, edi
and edi, r10d
cmp rax, r9
jb 0x14007f796
lea eax, [rcx + 4]
or r9d, 0xffffffff
cmp eax, ecx
cmovae r9d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x14007f796
mov eax, edx
sub eax, r9d
cmp eax, ebx
jb 0x14007f3c8
lea rcx, [r8 + rbx]
mov r10, r15
cmp rcx, r8
cmovae r10, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r8
jb 0x14007f796
lea eax, [rbx + r9]
or r8d, 0xffffffff
cmp eax, r9d
cmovae r8d, eax
sbb edi, edi
and edi, 0xc0000095
cmp eax, r9d
jb 0x14007f796
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14007f3c8
mov r9d, dword [r10]
mov dword [rbp - 0x70], r9d
lea rax, [r10 + 4]
mov rcx, r15
cmp rax, r10
cmovae rcx, rax
mov qword [rbp + 0x70], rcx
sbb edi, edi
and edi, 0xc0000095
cmp rax, r10
jb 0x14007f796
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 0x14007f796
mov eax, edx
sub eax, ecx
cmp eax, r9d
jb 0x14007f3c8
lea eax, [r9 + rcx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x14007f796
cmp edx, r8d
jne 0x14007f3c8
lea ecx, [r9 + rbx]
add ecx, r11d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x14007f3c8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, 0x30
lea r13d, [r8 - 0x28]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x14007f59e
mov edi, 0xc0000017
jmp 0x14007f700
test r12, r12
je 0x14007f5e3
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, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14007f5cf
mov edi, 0xc0000017
jmp 0x14007f684
mov qword [rbx + 8], rax
mov r8, rdi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14007f5e9
mov dword [rax], esi
mov qword [rax + 8], rsi
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x14007f629
mov eax, dword [rbp - 0x78]
mov dword [rbx + 0x10], eax
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r12d
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007f5c5
mov qword [rbx + 0x18], rax
mov r8d, r12d
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14007f630
mov dword [rbx + 0x10], esi
mov qword [rbx + 0x18], rsi
mov rdi, qword [rbp + 0x70]
test rdi, rdi
je 0x14007f674
mov eax, dword [rbp - 0x70]
mov dword [rbx + 0x20], eax
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r12d
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007f5c5
mov qword [rbx + 0x28], rax
mov r8d, r12d
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14007f67b
mov dword [rbx + 0x20], esi
mov qword [rbx + 0x28], rsi
mov qword [rbp + 0x50], rbx
mov rbx, rsi
mov edi, esi
test rbx, rbx
je 0x14007f700
mov r12, qword [rbx + 8]
test r12, r12
je 0x14007f6aa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14007f6cb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14007f6ec
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, rsi
test edi, edi
cmovs rbx, qword [rbp + 0x50]
mov r13, qword [rbp + 0x50]
cmovs r13, rsi
mov qword [rbp - 8], r13
test rbx, rbx
je 0x14007f796
mov r12, qword [rbx + 8]
test r12, r12
je 0x14007f73c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14007f75d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14007f77e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 8], r13
or edi, 0x10000000
jl 0x14007ff7f
mov rbx, rsi
mov qword [rbp + 0x138], rbx
mov qword [rbp + 0x2d0], rsi
test r13, r13
jne 0x14007f7c2
mov edi, 0xd000000d
jmp 0x14007ff7f
mov rdi, qword [r13 + 8]
mov qword [rbp + 0xa0], rdi
test rdi, rdi
je 0x14007f7b8
cmp dword [r13], esi
je 0x14007f7b8
mov r12d, dword [r13]
mov dword [rbp - 0x78], esi
test r12, r12
je 0x14007fd3a
add r12, 0xfffffffffffffff8
mov qword [rbp + 0x70], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r9, rax
mov qword [rbp + 0x78], rax
test rax, rax
je 0x14007fd33
mov dl, sil
mov byte [rsp + 0x64], dl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x960], rax
mov rbx, rdi
mov r10, r9
mov rdi, r12
and edi, 7
mov dword [rbp - 0x1c], esi
mov r11d, esi
mov dword [rsp + 0x68], esi
mov r8d, esi
je 0x14007f932
or dword [rbp - 0x44], 0xffffffff
mov ecx, esi
mov dword [rbp - 0x68], ecx
test edi, edi
je 0x14007f8af
mov r14d, 0x38
lea r13d, [r14 - 0x37]
lea rax, [rbx + 1]
mov qword [rbp - 0x10], rax
movzx eax, byte [rbx]
cmp r8d, 4
jge 0x14007f881
lea ecx, [r14 - 0x20]
shl eax, cl
or r11d, eax
mov ecx, dword [rbp - 0x68]
jmp 0x14007f88e
mov ecx, r14d
shl eax, cl
mov ecx, dword [rbp - 0x68]
or ecx, eax
mov dword [rbp - 0x68], ecx
add r8d, r13d
sub r14d, 8
mov rax, qword [rbp - 0x10]
mov rbx, rax
cmp r8d, edi
jl 0x14007f862
mov dword [rsp + 0x68], r11d
mov r14d, dword [rsp + 0x60]
mov r13, qword [rbp - 8]
xor r11d, 0x92f65a5
mov dword [rbp - 0x1c], r11d
mov r8d, ecx
xor r8d, 0x699a899c
mov dword [rbp - 0x44], r8d
mov eax, esi
test edi, edi
jle 0x14007f8f8
lea rcx, [r10 + 1]
cmp eax, 4
jge 0x14007f8e0
rol r11d, 8
mov byte [r10], r11b
jmp 0x14007f8e7
rol r8d, 8
mov byte [r10], r8b
inc eax
mov r10, rcx
cmp eax, edi
jl 0x14007f8ce
mov r11d, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x44]
lea eax, [rdi - 4]
test eax, eax
jle 0x14007f915
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x44], r8d
jmp 0x14007f939
mov r8d, esi
mov dword [rbp - 0x44], esi
test eax, eax
jns 0x14007f939
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x1c], r11d
jmp 0x14007f939
or dword [rbp - 0x68], 0xffffffff
mov dword [rbp - 0x44], esi
mov rax, r12
shr rax, 3
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14007fc98
mov ecx, dword [rbp + 0x964]
mov eax, ecx
shr eax, 0x10
movzx r14d, cx
mov dword [rbp - 0x50], eax
movzx eax, word [rbp + 0x962]
mov dword [rsp + 0x70], eax
lea rsi, [r10 + 7]
lea r13, [rbx + 2]
mov ebx, ecx
mov r15d, dword [rbp - 0x68]
mov edx, dword [rsp + 0x68]
mov r12, qword [rbp - 0x10]
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor r11d, r10d
xor r8d, r9d
lea r13, [r13 + 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, r14d
add eax, ecx
xor r11d, eax
lea ecx, [rbx + r11]
ror ecx, 9
mov eax, r11d
rol eax, 2
movzx r8d, word [rbp + 0x962]
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov eax, edi
sub eax, r14d
imul ecx, eax, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
rol ecx, 6
mov eax, r11d
rol eax, 2
mov r8d, dword [rbp - 0x50]
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
mov eax, ebx
sub eax, ecx
xor r11d, eax
mov ecx, r11d
ror ecx, 6
mov eax, r11d
xor eax, r14d
imul eax, dword [rsp + 0x70]
xor ecx, eax
xor edi, ecx
lea eax, [rbx + rdi]
ror eax, 0xf
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r11d, ecx
lea ecx, [r11 + 0x54969fa2]
ror ecx, 0xe
mov eax, r11d
rol eax, 8
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, edi
ror eax, 0xa
imul ecx, r14d
xor eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, r8d
movzx eax, word [rbp + 0x962]
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, 0x605e
imul eax, r8d
xor r11d, eax
mov r8d, r11d
sub r8d, dword [rbp - 0x50]
xor r8d, edi
xor r8d, 0xab69605e
mov ecx, r8d
xor ecx, dword [rbp - 0x50]
rol ecx, 2
imul ecx, r14d
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, ebx
ror ecx, 6
mov eax, r11d
rol eax, 7
movzx edi, word [rbp + 0x962]
imul ecx, edi
add eax, ecx
xor r8d, eax
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, r14d
imul ecx, eax, 0x605e
add edi, ecx
xor r11d, edi
mov ecx, r11d
movzx eax, word [rbp + 0x962]
xor ecx, eax
rol ecx, 5
mov eax, r11d
rol eax, 7
imul ecx, dword [rbp - 0x50]
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 + 0x962]
sub eax, r11d
imul eax, r14d
xor r8d, eax
mov eax, r8d
sub eax, ebx
ror eax, 1
mov ecx, r8d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edi, eax
lea ecx, [rdi - 0x54969fa2]
rol ecx, 3
mov eax, edi
rol eax, 0xe
imul ecx, dword [rbp - 0x50]
add eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x54969fa2]
rol ecx, 0xf
mov eax, r8d
ror eax, 0xe
imul ecx, r14d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, 0x605e
imul ecx, r11d
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, ebx
xor eax, r8d
rol eax, 4
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, edx
xor edi, ecx
mov dword [rbp - 0x1c], edi
xor r8d, r15d
mov dword [rbp - 0x44], r8d
mov byte [rsi - 4], dil
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [rsi], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [rsi - 5], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [rsi - 1], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [rsi - 6], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [rsi - 2], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [rsi - 7], al
mov al, byte [rbp - 0x44]
mov byte [rsi - 3], al
mov r11d, dword [rbp - 0x1c]
ror r11d, 8
mov dword [rbp - 0x1c], r11d
mov r8d, dword [rbp - 0x44]
ror r8d, 8
mov dword [rbp - 0x44], r8d
mov edx, r10d
mov r15d, r9d
lea rsi, [rsi + 8]
mov ecx, 1
sub r12, rcx
jne 0x14007f980
mov dl, byte [rsp + 0x64]
xor esi, esi
mov r14d, dword [rsp + 0x60]
or r15, 0xffffffffffffffff
mov r13, qword [rbp - 8]
mov r12, qword [rbp + 0x70]
mov r9, qword [rbp + 0x78]
jmp 0x14007fc9d
mov ecx, 1
mov rax, rsi
test r12, r12
je 0x14007fcb1
xor dl, byte [rax + r9]
add rax, rcx
cmp rax, r12
jb 0x14007fca5
movzx eax, dl
mov rcx, qword [rbp + 0xa0]
cmp rax, qword [r12 + rcx]
je 0x14007fccf
mov edi, 0xc004d501
mov rbx, qword [rbp + 0x138]
jmp 0x14007fcea
mov rbx, r9
mov qword [rbp + 0x138], rbx
mov r9, rsi
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x2d0], r12
mov edi, dword [rbp - 0x78]
test r9, r9
je 0x14007fd0b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x78]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x138]
test edi, edi
js 0x14007fd3a
mov r12, rbx
mov qword [rbp - 0x30], rbx
mov rbx, rsi
mov qword [rbp + 0x138], rbx
mov ecx, dword [rbp + 0x2d0]
mov dword [rbp + 0xe4], ecx
mov edi, 0x10000000
jmp 0x14007fd48
mov rbx, qword [rbp + 0x138]
mov edi, 0xd0000001
mov ecx, dword [rbp + 0xe4]
mov r12, rsi
test rbx, rbx
je 0x14007fd6e
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 + 0x138], rsi
mov ecx, dword [rbp + 0xe4]
test edi, edi
js 0x14007ff7f
cmp ecx, 4
jb 0x14007ff76
mov eax, dword [r12]
mov dword [rsp + 0x70], eax
lea rax, [r12 + 4]
mov rdx, r15
cmp rax, r12
cmovae rdx, rax
sbb edi, edi
mov r8d, 0xc0000095
and edi, r8d
cmp rax, r12
jb 0x14007ff7b
lea eax, [rcx - 4]
cmp eax, 4
jb 0x14007ff76
mov r12d, dword [rdx]
lea rax, [rdx + 4]
mov rbx, r15
cmp rax, rdx
cmovae rbx, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x14007ff7b
lea eax, [rcx - 8]
cmp eax, r12d
jb 0x14007ff76
lea eax, [r12 + 8]
cmp eax, 8
sbb edi, edi
and edi, r8d
cmp eax, 8
jb 0x14007ff7b
mov r10d, r12d
lea r9, [rbx + r12]
mov edx, ecx
mov rcx, qword [rbp - 0x30]
lea rax, [rcx + rdx]
cmp rax, r9
jb 0x14007ff76
mov rax, rcx
sub rax, rbx
sub rax, r12
add rax, rdx
cmp rax, 8
jae 0x14007ff76
mov rax, rsi
mov qword [rbp + 0x50], rax
mov edi, esi
mov r11d, esi
mov dword [rbp - 0x70], esi
test rbx, rbx
je 0x14007ff00
mov rdx, rbx
mov r8, r15
cmp r9, rbx
cmovae r8, r9
sbb edi, edi
and edi, 0xc0000095
cmp r9, rbx
jb 0x14007ff66
cmp rbx, r8
jae 0x14007fefb
mov r9d, dword [rbp + 0x220]
lea rax, [rdx + 4]
mov rcx, r15
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x14007ff66
cmp rcx, r8
ja 0x14007ff2c
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 + 0x220], r9d
jb 0x14007ff66
mov ecx, r9d
add rcx, rdx
mov rax, r15
cmp rcx, rdx
cmovae rax, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rdx
jb 0x14007ff66
cmp rax, r8
ja 0x14007ff2c
mov rdx, rax
inc r11d
mov dword [rbp - 0x70], r11d
cmp rax, r8
jb 0x14007fe6d
mov rax, rsi
cmp rdx, r8
jne 0x14007ff2c
test r12d, r12d
je 0x14007ff38
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
test rax, rax
jne 0x14007ff33
mov edi, 0xc0000017
jmp 0x14007ff66
mov edi, 0xc000000d
jmp 0x14007ff7b
mov edi, esi
mov r10, r12
test rbx, rbx
je 0x14007ff4f
mov r8, r10
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x120], rax
mov dword [rbp + 0x11c], r12d
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x118], eax
test edi, edi
js 0x14007ff7b
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp + 0x118]
je 0x14007ff7b
mov edi, 0xc000003e
bts edi, 0x1c
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x14007ff9c
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 + 0x1a0]
test rbx, rbx
je 0x140080026
mov r12, qword [rbx + 8]
test r12, r12
je 0x14007ffc9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], rsi
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14007ffea
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], rsi
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14008000b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1a0], rsi
mov rbx, qword [rbp + 0x58]
test rbx, rbx
je 0x140080043
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 - 0x28]
test rbx, rbx
je 0x140080060
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x1400800dc
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x140080086
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 [r13 + 8], rsi
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x1400800a7
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 [r13 + 0x18], rsi
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x1400800c8
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 [r13 + 0x28], rsi
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 - 0x30]
test rbx, rbx
je 0x1400800f9
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 0x140080237
mov r10d, 1
cmp dword [rbp + 0x118], r10d
jb 0x140080237
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x140080237
cmp dword [rbp + 0x118], esi
jbe 0x140080237
mov ecx, dword [rdi]
lea rax, [rdi + 4]
mov rdx, r15
cmp rax, rdi
cmovae rdx, rax
sbb r8d, r8d
mov r11d, 0xc0000095
and r8d, r11d
cmp rax, rdi
jb 0x140080169
mov dword [rbp + 0x224], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x470], rax
jmp 0x140080176
mov ecx, dword [rbp + 0x224]
mov rax, qword [rbp + 0x470]
test r8d, r8d
js 0x140080237
cmp ecx, 4
jne 0x140080237
mov eax, dword [rax]
mov dword [rbp + 0x228], eax
test eax, eax
js 0x140080237
cmp dword [rbp + 0x118], r10d
jbe 0x140080237
mov rdx, qword [rbp + 0x120]
mov r9d, esi
lea rax, [rdx + 4]
mov r8, r15
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x140080217
mov ecx, dword [rdx]
add rcx, r8
mov rdx, r15
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, r11d
cmp rcx, r8
jb 0x140080217
add r9d, r10d
cmp r9d, r10d
jb 0x1400801af
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r15, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x140080217
mov dword [rbp + 0xec], ecx
mov rax, rsi
test ecx, ecx
cmovne rax, r15
mov qword [rbp + 0x478], rax
jmp 0x140080224
mov ecx, dword [rbp + 0xec]
mov rax, qword [rbp + 0x478]
test edi, edi
js 0x140080237
cmp ecx, 8
jne 0x140080237
mov rax, qword [rax]
mov qword [rbp + 0x4d8], rax
mov r12, qword [rsp + 0x78]
mov rbx, qword [rbp - 0x80]
and qword [rbp], 0
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x140080266
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 8], rsi
and qword [rbp + 0x118], 0
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x140080295
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 + 0x120], rsi
test rbx, rbx
je 0x1400802ae
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 0x1400802c7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0x354], eax
mov ebx, dword [rbp + 0x148]
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x230], rax
jmp 0x140076d62
cmp r14d, 0xd00000e5
je 0x140080319
cmp r14d, 0xc004d501
je 0x140080319
cmp r14d, 0xd000003e
jne 0x14008031f
mov r14d, 0xc004f028
jmp 0x140076e08
mov r14d, 0xc004f027
test r14d, r14d
jns 0x14008033d
cmp r14d, 0x8007007a
jne 0x140076e08
mov dword [rbp + 0xb8], 0xc004f01e
jmp 0x140080351
cmp ebx, 4
jne 0x140080331
mov rax, qword [rbp + 0x230]
mov ecx, dword [rax]
mov dword [rbp + 0x14c], ecx
lea rcx, [rbp + 0x230]
call fcn.1400cbb84
cmp dword [rbp + 0xb8], esi
jl 0x14008036d
cmp dword [rbp + 0x14c], esi
jne 0x140080370
mov sil, r12b
lea rcx, [rbp + 0x338]
call fcn.140008c94
mov al, sil
mov rcx, qword [rbp + 0x1130]
xor rcx, rsp
call fcn.1400cc8d0
lea r11, [rsp + 0x1240]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret