Function at 0x14006f83c
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 - 0x1170]
mov eax, 0x1270
call fcn.1400c2680
sub rsp, rax
mov qword [rbp + 0x4f0], 0xfffffffffffffffe
mov qword [rsp + 0x12a0], rbx
mov qword [rsp + 0x12a8], rsi
mov qword [rsp + 0x12b0], rdi
mov rax, qword [0x1400f6388]
xor rax, rsp
mov qword [rbp + 0x1160], rax
xor ebx, ebx
mov qword [rbp + 0x328], rbx
mov qword [rbp + 0x330], rbx
mov qword [rbp + 0x338], rbx
mov qword [rbp + 0x290], rbx
lea rax, [rbp + 0x290]
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, [rbx + 1]
test eax, eax
jne 0x14006f95b
mov eax, ebx
mov rcx, qword [rbp + 0x328]
test rcx, rcx
je 0x14006f8f9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0x328], rbx
mov rcx, qword [rbp + 0x290]
mov qword [rbp + 0x328], rcx
test eax, eax
jne 0x14006f95b
mov dword [rbp + 0x140], ebx
mov dword [rbp + 0x258], 4
lea rax, [rbp + 0x258]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x140]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x478]
xor r8d, r8d
lea rdx, str.DisableRMESetting
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [rbp + 0x140], r14d
jne 0x14006f95b
mov bl, r14b
jmp 0x140078b02
mov dword [rbp + 0x150], ebx
mov qword [rbp + 0x260], rbx
mov dword [rbp + 0xd8], ebx
mov dword [rbp + 0x14c], ebx
mov dword [rbp + 0xf0], ebx
mov qword [rbp + 0x120], rbx
mov dword [rbp + 0x60], ebx
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r14d
jne 0x14006f984
mov r15d, 0x338
or edi, 0xffffffff
mov dword [rbp + 0xa0], edi
mov eax, dword [0x1400f8cc8]
test eax, eax
jne 0x14006ff5c
mov dword [rbp - 0x78], ebx
mov qword [rbp + 0x180], rbx
mov qword [rbp + 0x298], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x68], rax
test rax, rax
je 0x14006fed7
mov esi, ebx
mov ecx, edi
mov edx, ebx
mov dword [rbp - 0x18], ebx
mov r11d, ebx
mov dword [rbp + 0x20], ebx
lea r15, [rax + 7]
lea r12, [0x1400dbce2]
mov r13d, 0x67
movzx r10d, byte [r12 - 2]
shl r10d, 8
movzx eax, byte [r12 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r12]
or r10d, eax
shl r10d, 8
movzx eax, byte [r12 + 1]
or r10d, eax
movzx r9d, byte [r12 + 2]
shl r9d, 8
movzx eax, byte [r12 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12 + 5]
or r9d, eax
xor r11d, r10d
lea r12, [r12 + 8]
mov r8d, r11d
xor r8d, r9d
xor r8d, edx
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
mov edx, r8d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov edx, r11d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r8d, eax
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov edx, r8d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov eax, r8d
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, 0x7f1
xor eax, edi
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, 0xab69605e
mov eax, r8d
xor eax, edi
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r8d, edx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r8d, edx
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, esi
xor r11d, edx
mov dword [rbp + 0x20], r11d
xor r8d, ecx
mov dword [rbp - 0x18], r8d
mov byte [r15 - 4], r11b
ror dword [rbp + 0x20], 8
mov al, byte [rbp - 0x18]
mov byte [r15], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x20]
mov byte [r15 - 5], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp - 0x18]
mov byte [r15 - 1], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x20]
mov byte [r15 - 6], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp - 0x18]
mov byte [r15 - 2], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x20]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x18]
mov byte [r15 - 3], al
mov r11d, dword [rbp + 0x20]
ror r11d, 8
mov dword [rbp + 0x20], r11d
mov edx, dword [rbp - 0x18]
ror edx, 8
mov dword [rbp - 0x18], edx
mov esi, r10d
mov ecx, r9d
lea r15, [r15 + 8]
sub r13, r14
jne 0x14006fa00
mov rax, rbx
mov cl, bl
mov esi, ebx
mov r14, qword [rbp + 0x68]
mov r13d, ebx
mov r8d, 1
mov r15d, 0x338
xor cl, byte [rax + r14]
add rax, r8
cmp rax, r15
jb 0x14006fd42
movzx eax, cl
cmp rax, qword [0x1400dc018]
je 0x14006fd61
mov edi, 0xc004d501
jmp 0x14006fd74
mov qword [rbp + 0x180], r14
mov r14, rbx
mov qword [rbp + 0x298], r15
mov edi, ebx
test r14, r14
je 0x14006fd8d
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 0x14006fed7
mov rdi, qword [rbp + 0x180]
mov rax, qword [rbp + 0x298]
mov byte [rax + rdi - 1], bl
xor edx, edx
lea r8d, [rdx + 0x60]
lea r14, [0x1400f76c0]
mov rcx, r14
call sub.msvcrt.dll_memset
cmp byte [rdi], bl
je 0x14006fedc
jmp 0x14006fdcd
lea r14, [0x1400f76c0]
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x14006fdd4
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 0x14006fed7
mov esi, ebx
mov rax, qword [r14]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14006fe15
mov esi, 0xc000007b
jmp 0x14006fe60
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14006fe0e
add rcx, qword [r14]
cmp rcx, qword [r14]
jb 0x14006fe0e
cmp dword [rcx], 0x4550
jne 0x14006fe0e
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14006fe4e
mov esi, 0xc000000d
jmp 0x14006fe60
mov rax, qword [rcx + 0x88]
mov qword [r14 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r14 + 8], eax
mov r12d, dword [rdi + 2]
add rdi, 6
mov r15d, ebx
test r12d, r12d
je 0x14006fec4
mov ecx, 1
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x14006fe7c
inc rdi
add rdi, rax
test esi, esi
js 0x14006feb4
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rax
test rax, rax
je 0x14006fedc
mov eax, dword [rbp - 0x78]
lea r8, [0x1400f3020]
mov qword [r8 + rax*8], rdx
mov ecx, 1
jmp 0x14006feb7
mov eax, dword [rbp - 0x78]
add eax, ecx
mov dword [rbp - 0x78], eax
add r15d, ecx
cmp r15d, r12d
jb 0x14006fe75
mov r14d, 1
add r13d, r14d
cmp byte [rdi], bl
jne 0x14006fdc6
jmp 0x14006fee2
mov esi, 0xc000007a
mov r14d, 1
cmp qword [rbp + 0x180], rbx
je 0x14006ff03
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x180]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
jns 0x14006ff56
lea r15, [0x1400f76c0]
mov rdi, r15
mov esi, 4
cmp qword [rdi], rbx
je 0x14006ff24
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r14
jne 0x14006ff16
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
jmp 0x14006ff65
mov eax, dword [0x1400f8cc8]
add eax, r14d
mov dword [0x1400f8cc8], eax
mov eax, ebx
xchg dword [0x1400f8ccc], eax
mov qword [rbp + 0x208], rbx
mov qword [rbp + 0x268], rbx
mov r14d, ebx
mov esi, ebx
mov rax, qword gs:[0x60]
mov edi, 0x80004005
mov r13d, 0x8007000e
lea r12d, [r13 - 0xe]
cmp dword [rax + 0x2c0], ebx
je 0x14007022c
mov rax, qword [0x1400f3130]
call qword [str.__f_]
mov r15, rax
test rax, rax
jne 0x14006ffd9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140070230
mov esi, edi
jmp 0x140070230
mov qword [rbp + 0x108], rbx
mov esi, ebx
mov r9d, ebx
mov rdi, rbx
lea rax, [rbp + 0x144]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r15
mov rax, qword [0x1400f3150]
call qword [str.__f_]
test eax, eax
jne 0x140070086
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140070070
cmp qword [rbp + 0x108], rbx
jne 0x140070067
mov edi, dword [rbp + 0x144]
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 + 0x108]
call fcn.1400c0594
test rdi, rdi
je 0x140070062
mov qword [rbp + 0x108], rdi
mov r9d, dword [rbp + 0x144]
jmp 0x14006ffe8
mov esi, r13d
jmp 0x140070094
mov edi, 0x80004005
mov esi, edi
jmp 0x1400700a0
mov edi, 0x80004005
test eax, eax
je 0x14007006c
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
jmp 0x1400700a0
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x208], rax
mov edi, 0x80004005
mov qword [rbp + 0x108], rbx
lea rcx, [rbp + 0x108]
call fcn.1400c0594
test esi, esi
js 0x140070230
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x1400f3148]
call qword [str.__f_]
mov r15, rax
test rax, rax
je 0x14006ffb9
mov qword [rbp + 0x100], rbx
mov esi, ebx
mov r9d, ebx
mov rdi, rbx
lea rax, [rbp + 0x154]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r15
mov rax, qword [0x1400f3150]
call qword [str.__f_]
test eax, eax
jne 0x140070182
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14007016c
cmp qword [rbp + 0x100], rbx
jne 0x140070163
mov edi, dword [rbp + 0x154]
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 + 0x100]
call fcn.1400c0594
test rdi, rdi
je 0x14007015e
mov qword [rbp + 0x100], rdi
mov r9d, dword [rbp + 0x154]
jmp 0x1400700e4
mov esi, r13d
jmp 0x140070190
mov edi, 0x80004005
mov esi, edi
jmp 0x14007019c
mov edi, 0x80004005
test eax, eax
je 0x140070168
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
jmp 0x14007019c
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x268], rax
mov edi, 0x80004005
mov qword [rbp + 0x100], rbx
lea rcx, [rbp + 0x100]
call fcn.1400c0594
test esi, esi
js 0x140070230
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x14007022c
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14007022c
mov rcx, qword [rbp + 0x268]
test rcx, rcx
je 0x14007022c
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14007022c
xor eax, eax
mov dword [rbp + 0x158], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov r9d, 4
lea r8, [rbp + 0x158]
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
test eax, eax
je 0x14006ffb9
mov eax, reloc.OLEAUT32.dll_SafeArrayDestroy
test byte [rbp + 0x158], al
mov eax, 1
cmove r14d, eax
mov dword [rbp + 0x60], r14d
lea rcx, [rbp + 0x268]
call fcn.1400c0594
lea rcx, [rbp + 0x208]
call fcn.1400c0594
mov eax, dword [rbp + 0x60]
test esi, esi
cmovs eax, ebx
mov dword [rbp + 0x60], eax
mov dword [rbp + 0xf0], ebx
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x120]
call fcn.1400c056c
test rdi, rdi
jne 0x14007028f
mov qword [rbp + 0x120], rbx
mov rdi, rbx
mov qword [rbp + 0x28], rbx
jmp 0x140070296
mov qword [rbp + 0x120], rdi
test rdi, rdi
jne 0x140070357
mov esi, r13d
mov r14d, dword [rbp + 0x110]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r12d
jne 0x1400702af
mov eax, dword [0x1400f8cc8]
test eax, eax
jle 0x14007031f
sub eax, r12d
mov dword [0x1400f8cc8], eax
jne 0x14007031f
lea r13, [0x1400f76c0]
mov rdi, r13
mov r15d, 4
cmp qword [rdi], rbx
je 0x1400702ef
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r12
jne 0x1400702e1
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
mov eax, ebx
xchg dword [0x1400f8ccc], eax
lea rcx, [rbp + 0x120]
call fcn.1400c056c
test esi, esi
jns 0x140078ace
cmp esi, 0xd0000034
jne 0x140078a8b
mov esi, 0xc004f012
mov dword [rbp + 0xd8], esi
jmp 0x140078ae3
mov r14, rbx
mov r15, rbx
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x178], ebx
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0x98], ebx
lea rax, [0x1400f6470]
mov esi, RegisterTypeLib
test rdi, rdi
jne 0x14007039c
mov esi, 0x80070057
jmp 0x1400706a4
mov qword [rbp + 0x380], rax
mov qword [rbp + 0x2a0], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov esi, 8
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x1400703d5
mov esi, 0xc0000017
jmp 0x1400706a4
mov r8, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x380]
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov r14, r12
mov qword [rsp + 0x68], r12
mov r13d, dword [rbp + 0x2a0]
lea rax, [0x1400f63b0]
mov qword [rbp + 0x388], rax
mov qword [rbp + 0x2a8], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x68], rax
test rax, rax
je 0x1400703cb
mov r8, qword [rbp + 0x2a8]
mov rdx, qword [rbp + 0x388]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r15, rdi
mov qword [rsp + 0x70], rdi
mov ecx, dword [rbp + 0x2a8]
mov dword [rbp - 0x60], ecx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1f0], rax
mov dword [rbp + 0x88], esi
lea r14d, [r13 + 4]
cmp r14d, 4
jb 0x14007069c
mov dword [rbp + 0x88], r14d
lea eax, [r14 + 8]
or r8d, 0xffffffff
mov edx, r8d
cmp eax, esi
cmovae edx, eax
sbb esi, esi
mov r10d, 0xc0000095
and esi, r10d
mov r9d, 0x10000000
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, 8
jb 0x1400728a7
lea r15d, [rcx + 4]
cmp r15d, 4
jb 0x140072891
mov dword [rbp + 0x88], r15d
lea eax, [r15 + rdx]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb esi, esi
and esi, r10d
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, edx
jb 0x1400728a4
mov dword [rbp + 0x88], SafeArrayDestroy
lea eax, [rcx + 0xc]
mov edi, r8d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, r10d
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x140072873
lea r8, [rbp + 0x200]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMEAllowed
call fcn.1400c05d4
test eax, eax
jns 0x140070542
mov qword [rbp + 0x200], rbx
mov esi, 0xc000003e
mov r15, qword [rsp + 0x70]
jmp 0x1400706a1
mov rax, qword [rbp + 0x200]
inc rax
mov qword [rbp + 0x200], rax
add eax, eax
add eax, 4
mov r10d, 0xc0000095
cmp eax, 4
jb 0x14007056d
mov esi, ebx
mov dword [rbp + 0x88], eax
jmp 0x140070576
mov esi, r10d
mov eax, dword [rbp + 0x88]
mov dword [rsp + 0x60], esi
test esi, esi
js 0x140070a1a
add eax, edi
or r8d, 0xffffffff
mov edx, r8d
cmp eax, edi
cmovae edx, eax
sbb esi, esi
and esi, r10d
mov r9d, 0x10000000
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, edi
jb 0x140072873
mov dword [rbp + 0x88], 8
lea eax, [rdx + 8]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb esi, esi
and esi, r10d
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, edx
jb 0x140072873
lea eax, [rcx + 8]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
sbb esi, esi
and esi, r10d
add esi, r9d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x140072873
mov dword [rbp - 0x6c], 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 0x140070620
mov esi, 0xc0000017
jmp 0x140070538
mov qword [rbp - 0x68], rdx
mov dword [rbp - 0x70], ebx
mov dword [rbp + 0x220], ebx
lea rdi, [rax + 4]
cmp rdi, rdx
jb 0x140070697
mov ecx, dword [rbp - 0x6c]
add rcx, rdx
add rax, 8
cmp rax, rcx
jbe 0x14007064f
mov esi, 0xc0000023
jmp 0x140070538
mov dword [rdx], 4
mov eax, dword [rbp + 0x220]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x70]
inc ecx
mov dword [rbp - 0x70], ecx
test r13d, r13d
je 0x14007083b
cmp qword [rbp - 0x68], rbx
jne 0x1400707b5
mov dword [rbp + 0x254], r14d
mov eax, dword [rbp - 0x6c]
lea edx, [rax + r14]
cmp edx, eax
jb 0x140070697
mov dword [rbp - 0x6c], edx
inc ecx
mov dword [rbp - 0x70], ecx
jmp 0x14007084f
mov r15, qword [rsp + 0x70]
mov esi, 0xc0000095
mov r14, r12
mov dword [rsp + 0x60], esi
and qword [rbp - 0x70], 0
mov rdi, qword [rbp - 0x68]
test rdi, rdi
je 0x1400706ce
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 - 0x68], rbx
and qword [rbp + 0xb8], 0
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x1400706fd
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 + 0xc0], rbx
test r14, r14
je 0x140070716
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x14007072f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400702a2
mov eax, dword [rbp + 0x60]
test eax, eax
je 0x140078a5e
mov qword [rbp + 0x418], rbx
mov dword [0x1400f6fe8], eax
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0xf50]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140076c48
cmp eax, edi
jne 0x140070786
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140076c48
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov qword [rbp + 0x58], rax
test rax, rax
jne 0x1400728c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140076c48
mov rdx, qword [rbp - 0x68]
mov edi, ebx
mov r14d, 1
test ecx, ecx
je 0x1400707ee
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140070834
mov dword [rbp + 0x254], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140070697
mov rdx, r8
add edi, r14d
cmp edi, ecx
jb 0x1400707c5
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140070697
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov r8, r13
mov ecx, dword [rbp - 0x6c]
add rcx, qword [rbp - 0x68]
lea rax, [r13 + 4]
add rax, rdx
cmp rax, rcx
ja 0x140070645
mov dword [rdx], r13d
mov rdx, r12
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x70]
add ecx, r14d
mov dword [rbp - 0x70], ecx
jmp 0x140070844
mov esi, 0xc0000095
jmp 0x140070840
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x140070a1a
mov edx, dword [rbp - 0x6c]
mov r10d, dword [rbp - 0x60]
test r10d, r10d
je 0x140070927
cmp qword [rbp - 0x68], rbx
jne 0x140070893
mov dword [rbp + 0x25c], r15d
lea eax, [rdx + r15]
cmp eax, edx
jb 0x140070697
mov edx, eax
mov r14d, 1
add ecx, r14d
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x2b0], rax
jmp 0x140070958
mov rdi, qword [rbp - 0x68]
mov r8d, ebx
mov r14d, 1
test ecx, ecx
je 0x1400708ce
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x140070917
mov dword [rbp + 0x25c], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x140070697
mov rdi, r9
add r8d, r14d
cmp r8d, ecx
jb 0x1400708a4
lea r9, [rdi + 4]
cmp r9, rdi
jb 0x140070697
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov r8, r10
mov ecx, edx
add rcx, qword [rbp - 0x68]
lea rax, [r10 + 4]
add rax, rdi
cmp rax, rcx
ja 0x140070645
mov dword [rdi], r10d
mov rdx, qword [rbp + 0x68]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x70]
add ecx, r14d
mov dword [rbp - 0x70], ecx
mov edx, dword [rbp - 0x6c]
jmp 0x140070930
mov r10d, 0xc0000095
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140070936
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r10d, 0xc0000095
test esi, esi
js 0x140070a1a
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x2b0], rax
mov r14d, 1
cmp qword [rbp - 0x68], rbx
jne 0x140070978
mov dword [rbp + 0x238], SafeArrayDestroy
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x140070697
mov dword [rbp - 0x6c], eax
add ecx, r14d
mov dword [rbp - 0x70], ecx
jmp 0x1400709ea
mov rdi, qword [rbp - 0x68]
mov r8d, ebx
test ecx, ecx
je 0x1400709ad
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x140070a22
mov dword [rbp + 0x238], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x140070a12
mov rdi, r9
add r8d, r14d
cmp r8d, ecx
jb 0x140070983
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140070a12
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov ecx, edx
add rcx, qword [rbp - 0x68]
lea rax, [rdi + 0xc]
cmp rax, rcx
ja 0x140070645
mov dword [rdi], 8
movsd xmm0, qword [rbp + 0x2b0]
movsd qword [r8], xmm0
add dword [rbp - 0x70], r14d
test esi, esi
js 0x140070a1a
lea r8, [rbp + 0x190]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMEAllowed
call fcn.1400c05d4
test eax, eax
jns 0x140070a2c
mov qword [rbp + 0x190], rbx
jmp 0x140070533
mov esi, r10d
mov dword [rsp + 0x60], r10d
mov r14, r12
jmp 0x140072855
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x1400709e6
mov rax, qword [rbp + 0x190]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x140072884
mov qword [rbp + 0x190], rcx
lea r8d, [rcx + rcx]
test r8d, r8d
je 0x140070b33
cmp qword [rbp - 0x68], rbx
jne 0x140070ab4
add r8d, 4
cmp r8d, 4
jb 0x140070aa1
mov dword [rbp + 0x248], r8d
mov eax, dword [rbp - 0x6c]
lea edi, [rax + r8]
mov r10d, 0xc0000095
cmp edi, eax
jb 0x140070a8e
mov dword [rbp - 0x6c], edi
add dword [rbp - 0x70], r14d
mov esi, ebx
mov dword [rsp + 0x60], ebx
jmp 0x140070b45
or edi, 0xffffffff
mov dword [rbp - 0x6c], edi
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140070b45
mov r10d, 0xc0000095
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140070b42
mov rdx, qword [rbp - 0x68]
mov ecx, ebx
cmp dword [rbp - 0x70], ebx
jbe 0x140070ae2
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140070aa1
mov dword [rbp + 0x248], eax
add rax, rdx
cmp rax, rdx
jb 0x140070aa1
mov rdx, rax
add ecx, r14d
cmp ecx, dword [rbp - 0x70]
jb 0x140070abf
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x140070aa1
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov r10d, r8d
mov edi, dword [rbp - 0x6c]
mov ecx, edi
add rcx, qword [rbp - 0x68]
lea rax, [r8 + 4]
add rax, rdx
cmp rax, rcx
jbe 0x140070b18
mov esi, 0xc0000023
mov dword [rsp + 0x60], esi
lea r10d, [rsi + 0x72]
jmp 0x140070b45
mov dword [rdx], r8d
mov r8, r10
lea rdx, str.WMPPlayer_RMEAllowed
mov rcx, r9
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x70], r14d
jmp 0x140070b3c
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r10d, 0xc0000095
mov edi, dword [rbp - 0x6c]
test esi, esi
js 0x140070a1a
mov eax, dword [rbp + 0x60]
mov dword [rbp + 0x240], eax
cmp qword [rbp - 0x68], rbx
jne 0x140070b86
mov dword [rbp + 0x214], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140070a12
mov edi, eax
add dword [rbp - 0x70], r14d
mov dword [rbp + 0x160], 4
jmp 0x140070c13
mov rdx, qword [rbp - 0x68]
mov ecx, ebx
cmp dword [rbp - 0x70], ebx
jbe 0x140070bbf
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140070c36
mov dword [rbp + 0x214], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140070a12
mov rdx, r8
add ecx, r14d
cmp ecx, dword [rbp - 0x70]
jb 0x140070b91
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140070a12
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov ecx, edi
add rcx, qword [rbp - 0x68]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x140070645
mov dword [rdx], 4
mov eax, dword [rbp + 0x240]
mov dword [r8], eax
add dword [rbp - 0x70], r14d
mov edi, dword [rbp - 0x6c]
test esi, esi
js 0x140070a1a
mov dword [rbp + 0x160], 4
cmp qword [rbp - 0x68], rbx
jne 0x140070c40
mov dword [rbp + 0x1c0], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140070a12
mov edi, eax
mov dword [rbp - 0x6c], eax
add dword [rbp - 0x70], r14d
jmp 0x140070cbd
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140070bfb
mov rdx, qword [rbp - 0x68]
mov ecx, ebx
cmp dword [rbp - 0x70], ebx
jbe 0x140070c79
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140070d5c
mov dword [rbp + 0x1c0], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140070a12
mov rdx, r8
add ecx, r14d
cmp ecx, dword [rbp - 0x70]
jb 0x140070c4b
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140070a12
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov ecx, edi
add rcx, qword [rbp - 0x68]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x140070645
mov dword [rdx], 4
mov eax, dword [rbp + 0x160]
mov dword [r8], eax
add dword [rbp - 0x70], r14d
mov edi, dword [rbp - 0x6c]
test esi, esi
js 0x140070a1a
mov dword [rbp + 0x36c], 8
mov r13, rbx
mov qword [rbp - 0x20], rbx
mov r15d, ebx
mov qword [rbp + 0x188], rbx
mov qword [rbp - 0x38], rbx
mov r12d, ebx
mov dword [rsp + 0x78], ebx
mov qword [rbp - 0x28], rbx
mov dword [rbp + 0x50], ebx
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x48], rbx
mov dword [rbp + 0xe0], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2b8], rax
add edi, 8
cmp edi, 8
jb 0x140070dd9
mov dword [rbp + 0xd0], edi
mov eax, edi
add rax, 7
and eax, 0xfffffff8
cmp eax, edi
jb 0x140070de0
mov dword [rbp + 0xd0], 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 0x140070d69
mov esi, 0xc0000017
jmp 0x140070de3
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140070cb5
mov eax, dword [rbp - 0x70]
mov dword [rdi], eax
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140070db9
mov eax, dword [rbp - 0x6c]
mov dword [rdx], eax
lea rcx, [rdx + 4]
cmp rcx, rdx
jb 0x140070db9
mov esi, ebx
mov edx, dword [rbp + 0xd0]
mov rax, qword [rbp + 0x2b8]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x6c]
mov rdx, qword [rbp - 0x68]
call sub.msvcrt.dll_memcpy
mov r13, rdi
mov qword [rbp - 0x20], rdi
mov rdi, rbx
mov r15d, dword [rbp + 0xd0]
jmp 0x140070dbe
mov esi, 0xc0000095
test rdi, rdi
je 0x140070de3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140070de3
or dword [rbp + 0xd0], 0xffffffff
mov esi, r10d
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14007236d
mov qword [rbp + 0x398], rbx
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], rbx
mov qword [rbp + 0x3b0], rbx
mov qword [rbp + 0x1f8], rbx
mov qword [rbp + 0x390], rbx
mov r14, rbx
test r13, r13
jne 0x140070e2f
mov esi, 0xc000000d
jmp 0x140071592
mov esi, r15d
mov qword [rbp + 0x68], rsi
test r15d, r15d
je 0x1400714e5
lea rdi, [rsi + 8]
mov qword [rbp + 0x38], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400714e5
mov dl, bl
mov byte [rsp + 0x64], bl
mov rcx, rbx
test r15d, r15d
je 0x140070e8e
mov eax, 1
xor dl, byte [rcx + r13]
add rcx, rax
cmp rcx, rsi
jb 0x140070e7e
mov byte [rsp + 0x64], dl
movabs rax, 0xc81ecb17b1b54a58
mov qword [rbp + 0x980], rax
mov r8, r13
mov r9, r12
mov r10d, ebx
mov dword [rbp - 0x30], ebx
or r11d, 0xffffffff
mov dword [rbp - 0x50], r11d
mov r13d, ebx
mov dword [rbp - 0x78], ebx
mov rdi, rsi
and edi, 7
je 0x140070f93
mov r15d, ebx
mov dword [rbp - 0x78], ebx
mov r11d, ebx
test edi, edi
je 0x140070f0f
mov r10d, 0x38
movzx eax, byte [r8]
cmp r11d, 4
jge 0x140070eed
lea ecx, [r10 - 0x20]
shl eax, cl
or r15d, eax
jmp 0x140070ef5
mov ecx, r10d
shl eax, cl
or r13d, eax
inc r8
mov ecx, 1
add r11d, ecx
sub r10d, 8
cmp r11d, edi
jl 0x140070ed8
mov dword [rbp - 0x78], r15d
jmp 0x140070f14
mov ecx, 1
mov r10d, r15d
xor r10d, 0xb17a307a
mov dword [rbp - 0x30], r10d
mov r11d, r13d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x50], r11d
mov eax, ebx
test edi, edi
je 0x140070f5c
cmp eax, 4
jge 0x140070f44
rol r10d, 8
mov byte [r9], r10b
jmp 0x140070f4b
rol r11d, 8
mov byte [r9], r11b
inc r9
add eax, ecx
cmp eax, edi
jl 0x140070f36
mov r10d, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x50]
cmp edi, 4
jbe 0x140070f77
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x50], r11d
jmp 0x140070f93
mov r11d, ebx
mov dword [rbp - 0x50], ebx
jae 0x140070f93
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0x30], r10d
mov r15, rsi
shr r15, 3
test r15, r15
je 0x1400712ec
mov edi, dword [rbp + 0x984]
movzx eax, word [rbp + 0x982]
mov dword [rbp - 0x80], eax
movzx eax, di
lea rsi, [r9 + 7]
lea rbx, [r8 + 2]
mov r14d, dword [rbp - 0x78]
mov r12d, eax
movzx edx, word [rbp + 0x986]
movzx r9d, byte [rbx - 2]
shl r9d, 8
movzx eax, byte [rbx - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 1]
or r9d, eax
movzx r8d, byte [rbx + 2]
shl r8d, 8
movzx eax, byte [rbx + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [rbx + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [rbx + 5]
or r8d, eax
xor r11d, r8d
lea rbx, [rbx + 8]
lea eax, [r11 - 0x4a58]
xor eax, edi
xor eax, r9d
xor r10d, eax
xor edi, r10d
ror edi, 0xf
mov ecx, r10d
ror ecx, 7
movzx eax, word [rbp + 0x982]
imul eax, edi
add ecx, eax
xor r11d, ecx
lea edi, [r11 - 0x4e4ab5a8]
ror edi, 9
mov ecx, r11d
ror ecx, 0xa
mov eax, r12d
imul eax, edi
sub eax, ecx
xor r10d, eax
mov edi, r12d
xor edi, r10d
rol edi, 4
mov ecx, r10d
rol ecx, 5
mov eax, edx
imul eax, edi
add ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, dword [rbp + 0x984]
sub eax, ecx
xor r10d, eax
lea ecx, [r10 - 0x4a58]
movzx edi, word [rbp + 0x982]
imul ecx, edi
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, r12d
imul eax, eax, 0x4a58
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
add eax, edx
imul eax, r12d
xor r11d, eax
mov eax, r11d
sub eax, dword [rbp + 0x984]
sub eax, 0x4a58
xor r10d, eax
mov ecx, r10d
ror ecx, 0xa
mov eax, edx
xor eax, r10d
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov edi, r11d
xor edi, 0x4a58
rol edi, 6
mov ecx, r11d
ror ecx, 3
mov eax, r12d
imul eax, edi
xor ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xf
sub eax, edx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, edx
xor eax, r11d
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r10d, ecx
mov eax, r11d
sub eax, r12d
rol eax, 3
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, r12d
movzx eax, word [rbp + 0x982]
imul ecx, eax
mov eax, r10d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov edi, 0xb1b54a58
sub edi, r11d
ror edi, 9
mov ecx, r11d
ror ecx, 0xb
mov eax, r12d
imul eax, edi
xor ecx, eax
xor r10d, ecx
mov eax, r10d
sub eax, edx
add eax, 0x4e4ab5a8
xor r11d, eax
mov edi, r11d
ror edi, 7
movzx eax, word [rbp + 0x982]
xor eax, r11d
imul ecx, eax, 0x4a58
sub ecx, edi
xor r10d, ecx
mov ecx, edx
xor ecx, r10d
rol ecx, 4
mov eax, r10d
ror eax, 0x10
movzx edi, word [rbp + 0x982]
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, r12d
add eax, ecx
xor r10d, eax
lea ecx, [r10 + 0x4e4ab5a8]
ror ecx, 4
mov eax, r10d
ror eax, 9
imul ecx, edx
xor eax, ecx
xor r11d, eax
mov edi, dword [rbp + 0x984]
mov eax, edi
xor eax, r11d
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r10d, eax
mov ecx, edi
sub ecx, r10d
ror ecx, 0xb
mov eax, r10d
ror eax, 0xc
imul ecx, dword [rbp - 0x80]
sub ecx, eax
xor r11d, ecx
movzx ecx, word [rbp + 0x982]
xor ecx, r11d
imul ecx, r12d
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor r10d, r14d
mov dword [rbp - 0x30], r10d
mov ecx, edi
xor ecx, eax
xor ecx, r13d
xor ecx, r11d
xor ecx, 0xb1b54a58
mov dword [rbp - 0x50], ecx
mov byte [rsi - 4], r10b
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x50]
mov byte [rsi], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x30]
mov byte [rsi - 5], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x50]
mov byte [rsi - 1], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x30]
mov byte [rsi - 6], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x50]
mov byte [rsi - 2], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x30]
mov byte [rsi - 7], al
mov al, byte [rbp - 0x50]
mov byte [rsi - 3], al
mov r10d, dword [rbp - 0x30]
ror r10d, 8
mov dword [rbp - 0x30], r10d
mov r11d, dword [rbp - 0x50]
ror r11d, 8
mov dword [rbp - 0x50], r11d
mov r14d, r9d
mov r13d, r8d
lea rsi, [rsi + 8]
sub r15, 1
jne 0x140070fcc
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov r14d, ebx
mov rsi, qword [rbp + 0x68]
mov r12, qword [rbp - 0x40]
movzx eax, dl
mov qword [r12 + rsi], rax
mov qword [rbp + 0x1f8], r12
mov rsi, qword [rbp + 0x38]
mov qword [rbp + 0x390], rsi
lea rax, [0x1400f6460]
mov qword [rbp + 0x398], rax
mov r13d, 8
mov qword [rbp + 0x3a0], r13
lea r15, [0x1400f63c0]
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], RegisterTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [r13 + 0x28]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140071361
mov esi, 0xc0000017
jmp 0x1400714d5
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140071389
mov esi, 0xc0000017
jmp 0x140071459
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, RegisterTypeLib
mov dword [rdi + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007137f
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r15]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r15 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r15 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r15 + 0x60]
movups xmmword [rax + 0x60], xmm0
lea edx, [rsi - 0x20]
movups xmm1, xmmword [r15 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r15 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r15 + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007137f
mov qword [rdi + 0x28], rax
mov esi, ebx
movsd xmm0, qword [0x1400f6460]
movsd qword [rax], xmm0
mov r14, rdi
mov rdi, rbx
test rdi, rdi
je 0x1400714d5
mov r15, qword [rdi + 8]
test r15, r15
je 0x14007147f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400714a0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x1400714c1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400714ea
mov qword [rbp + 0x188], r14
mov r14, rbx
jmp 0x1400714ea
mov esi, 0xc0000001
mov rdi, qword [rbp + 0x1f8]
test rdi, rdi
je 0x140071511
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 + 0x1f8], rbx
test r14, r14
je 0x14007158d
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x140071537
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 [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x140071558
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 [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x140071579
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 [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, dword [rsp + 0x78]
mov r15d, 0x10000000
or esi, r15d
mov dword [rsp + 0x60], esi
jl 0x14007236d
mov r14, qword [rbp + 0x188]
mov edi, dword [r14 + 0x20]
mov edx, dword [r14 + 0x10]
mov ecx, dword [r14]
add ecx, 4
cmp ecx, 4
jb 0x1400716e1
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400716e1
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x1400716e1
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400716e1
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x1400716e1
mov dword [rbp + 0x1c4], ecx
mov edi, ecx
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 0x140071626
mov esi, 0xc0000017
mov r8d, 0xc0000095
jmp 0x1400716ea
mov eax, dword [r14]
mov dword [rdi], eax
lea rsi, [rdi + 4]
cmp rsi, rdi
jb 0x1400716ba
mov r8d, dword [r14]
mov rdx, qword [r14 + 8]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14]
add rcx, rsi
cmp rcx, rsi
jb 0x1400716ba
mov eax, dword [r14 + 0x10]
mov dword [rcx], eax
lea rsi, [rcx + 4]
cmp rsi, rcx
jb 0x1400716ba
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 0x10]
add rcx, rsi
cmp rcx, rsi
jb 0x1400716ba
mov eax, dword [r14 + 0x20]
mov dword [rcx], eax
lea rsi, [rcx + 4]
cmp rsi, rcx
jb 0x1400716ba
mov r8d, dword [r14 + 0x20]
mov rdx, qword [r14 + 0x28]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 0x20]
add rcx, rsi
cmp rcx, rsi
jb 0x1400716ba
mov esi, ebx
mov qword [rbp - 0x38], rdi
mov rdi, rbx
mov r12d, dword [rbp + 0x1c4]
jmp 0x1400716bf
mov esi, 0xc0000095
test rdi, rdi
je 0x14007161b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14007161b
mov r8d, 0xc0000095
mov esi, r8d
or esi, r15d
mov dword [rsp + 0x60], esi
jl 0x14007236d
mov qword [rbp + 0x3b8], rbx
mov dword [rbp + 0x1c8], ebx
mov qword [rbp + 0x3c0], rbx
mov dword [rbp + 0x1cc], ebx
mov dword [rbp + 0x370], 0x3c
mov eax, 0x48
mov dword [rbp + 0x374], eax
mov dword [rbp + 0x378], eax
lea r15d, [rax - 0x47]
cmp qword [rbp - 0x68], rbx
jne 0x140071744
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x140071820
cmp dword [rbp - 0x70], r15d
jbe 0x140071736
mov rax, qword [rbp - 0x68]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140071818
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140071818
add edx, r15d
cmp edx, r15d
jb 0x140071750
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140071818
mov dword [rbp + 0x1c8], edi
mov rax, rbx
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x3b8], rax
cmp dword [rbp - 0x70], 2
jbe 0x140071736
mov rax, qword [rbp - 0x68]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140071818
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140071818
add edx, r15d
cmp edx, 2
jb 0x1400717a4
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140071818
mov dword [rbp + 0x1cc], edx
mov rax, rbx
test edx, edx
cmovne rax, rcx
mov qword [rbp + 0x3c0], rax
lea eax, [rdi + 0x50]
cmp eax, 0x50
jb 0x140071818
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140071818
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140071818
mov dword [rbp + 0x410], eax
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp eax, 0x400000
jbe 0x140071813
mov esi, 0x8000ffff
jmp 0x140072369
mov dword [rbp + 0x50], eax
jmp 0x140071820
mov esi, r8d
mov dword [rsp + 0x60], r8d
test esi, esi
js 0x14007236d
mov edi, dword [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140071851
mov esi, 0xd0000017
mov r14, rbx
jmp 0x14007185d
mov r14, rax
mov qword [rbp - 0x28], rax
mov esi, 0x10000000
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14007236d
mov rax, qword [rbp - 0x38]
test rax, rax
jne 0x14007187c
mov esi, 0x80070057
jmp 0x140072369
test r14, r14
je 0x140071872
mov qword [rbp + 0x480], rax
mov dword [rbp + 0x490], r12d
mov qword [rbp + 0x488], r14
mov eax, dword [rbp + 0x50]
mov dword [rbp + 0x494], eax
mov dword [rbp + 0x498], ebx
lea r8, [rbp + 0x3c8]
lea rdx, [0x1400d9ed8]
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400718e6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov dword [rsp + 0x60], esi
mov edx, dword [rbp + 0x50]
test esi, esi
js 0x140071930
mov esi, 0x80004005
jmp 0x14007192c
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x3c8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400718c0
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x480]
lea ecx, [r8 + 0x66]
call qword [str.__f_]
mov esi, eax
or esi, 0x10000000
mov edx, dword [rbp + 0x50]
cmovge edx, dword [rbp + 0x494]
mov dword [rbp + 0x50], edx
mov dword [rsp + 0x60], esi
cmp esi, 0xd0000023
jne 0x14007194b
mov r12d, 0x8007007a
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x140072373
test esi, esi
js 0x14007236d
mov qword [rbp + 0xc8], rbx
cmp edx, 4
jae 0x140071969
mov esi, 0xc000003e
jmp 0x140071c72
mov r15d, dword [r14]
lea r13, [r14 + 4]
cmp r13, r14
jb 0x140071c6d
lea eax, [rdx - 4]
cmp eax, r15d
jb 0x14007195f
lea rdi, [r15 + r13]
cmp rdi, r13
jb 0x140071c6d
lea ecx, [r15 + 4]
cmp ecx, 4
jb 0x140071c6d
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14007195f
mov esi, dword [rdi]
lea r12, [rdi + 4]
cmp r12, rdi
jb 0x140071c6d
lea edi, [rcx + 4]
cmp edi, ecx
jb 0x140071c6d
mov eax, edx
sub eax, edi
cmp eax, esi
jb 0x14007195f
lea rcx, [r12 + rsi]
cmp rcx, r12
jb 0x140071c6d
lea r8d, [rdi + rsi]
cmp r8d, edi
jb 0x140071c6d
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14007195f
mov r14d, dword [rcx]
lea rax, [rcx + 4]
mov qword [rbp - 0x40], rax
cmp rax, rcx
jb 0x140071c6d
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x140071c6d
mov eax, edx
sub eax, ecx
cmp eax, r14d
jb 0x14007195f
lea edi, [rcx + r14]
cmp edi, ecx
jb 0x140071c6d
cmp edx, edi
jne 0x14007195f
lea ecx, [rsi + r15]
add ecx, r14d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x14007195f
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 0x140071a70
mov esi, 0xc0000017
jmp 0x140071bc7
test r13, r13
je 0x140071ab2
mov dword [rax], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140071a9e
mov esi, 0xc0000017
jmp 0x140071b4b
mov qword [rdi + 8], rax
mov r8, r15
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140071ab8
mov dword [rax], ebx
mov qword [rax + 8], rbx
test r12, r12
je 0x140071af0
mov dword [rdi + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140071a94
mov qword [rdi + 0x18], rax
mov r8, rsi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140071af7
mov dword [rdi + 0x10], ebx
mov qword [rdi + 0x18], rbx
mov rsi, qword [rbp - 0x40]
test rsi, rsi
je 0x140071b38
mov dword [rdi + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140071a94
mov qword [rdi + 0x28], rax
mov r8, r14
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140071b3f
mov dword [rdi + 0x20], ebx
mov qword [rdi + 0x28], rbx
mov qword [rbp + 0xc8], rdi
mov rdi, rbx
mov esi, ebx
test rdi, rdi
je 0x140071bc7
mov r14, qword [rdi + 8]
test r14, r14
je 0x140071b71
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x140071b92
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x140071bb3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rbx
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, rbx
test esi, esi
cmovs rdi, qword [rbp + 0xc8]
mov r14, qword [rbp + 0xc8]
cmovs r14, rbx
mov qword [rbp + 0x58], r14
test rdi, rdi
je 0x140071c75
mov r14, qword [rdi + 8]
test r14, r14
je 0x140071c0d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x140071c2e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x140071c4f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x58]
mov qword [rbp + 0x58], r14
jmp 0x140071c75
mov esi, 0xc0000095
mov r14, rbx
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14007236d
mov rdi, rbx
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0x2c0], rbx
test r14, r14
jne 0x140071ca5
mov esi, 0xd000000d
jmp 0x140072369
mov rsi, qword [r14 + 8]
mov qword [rbp + 0x38], rsi
test rsi, rsi
je 0x140071c9b
cmp dword [r14], ebx
je 0x140071c9b
mov r14d, dword [r14]
mov dword [rbp - 0x60], ebx
test r14, r14
je 0x1400721e1
add r14, 0xfffffffffffffff8
mov qword [rbp + 0x68], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400721da
mov dl, bl
mov byte [rsp + 0x64], bl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x978], rax
mov r9, rsi
mov r10, r15
mov r8, r14
and r8d, 7
mov dword [rbp - 0x48], ebx
mov esi, ebx
mov dword [rbp - 0x78], ebx
je 0x140071de3
or dword [rbp - 0x58], 0xffffffff
mov r13d, ebx
mov r11d, ebx
test r8d, r8d
je 0x140071d6a
mov edi, 0x38
movzx eax, byte [r9]
cmp r11d, 4
jge 0x140071d4b
lea ecx, [rdi - 0x20]
shl eax, cl
or esi, eax
jmp 0x140071d52
mov ecx, edi
shl eax, cl
or r13d, eax
inc r9
mov ecx, 1
add r11d, ecx
sub edi, 8
cmp r11d, r8d
jl 0x140071d38
mov dword [rbp - 0x78], esi
jmp 0x140071d6f
mov ecx, 1
xor esi, 0x92f65a5
mov dword [rbp - 0x48], esi
mov edi, r13d
xor edi, 0x699a899c
mov dword [rbp - 0x58], edi
mov eax, ebx
test r8d, r8d
je 0x140071dae
cmp eax, 4
jge 0x140071d98
rol esi, 8
mov byte [r10], sil
jmp 0x140071d9e
rol edi, 8
mov byte [r10], dil
inc r10
add eax, ecx
cmp eax, r8d
jl 0x140071d8b
mov esi, dword [rbp - 0x48]
mov edi, dword [rbp - 0x58]
cmp r8d, 4
jbe 0x140071dc8
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp - 0x58], edi
jmp 0x140071dea
mov edi, ebx
mov dword [rbp - 0x58], ebx
jae 0x140071dea
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr esi, cl
shl esi, cl
mov dword [rbp - 0x48], esi
jmp 0x140071dea
or r13d, 0xffffffff
mov dword [rbp - 0x58], ebx
mov r12, r14
shr r12, 3
test r12, r12
je 0x140072147
mov r15d, dword [rbp + 0x97c]
movzx eax, r15w
mov dword [rbp + 0x30], eax
lea r14, [r10 + 7]
lea rbx, [r9 + 2]
mov edx, dword [rbp - 0x78]
movzx r11d, byte [rbx - 2]
shl r11d, 8
movzx eax, byte [rbx - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rbx]
or r11d, eax
shl r11d, 8
movzx eax, byte [rbx + 1]
or r11d, eax
movzx r10d, byte [rbx + 2]
shl r10d, 8
movzx eax, byte [rbx + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 5]
or r10d, eax
xor esi, r11d
lea rbx, [rbx + 8]
mov r8d, r10d
xor r8d, edi
xor r8d, esi
xor r8d, r15d
xor r8d, 0xab69605e
lea ecx, [r8 + 0x54969fa2]
rol ecx, 5
mov eax, r8d
rol eax, 0xa
mov r9d, dword [rbp + 0x30]
imul ecx, r9d
add eax, ecx
xor esi, eax
lea edi, [rsi + r15]
ror edi, 9
mov ecx, esi
rol ecx, 2
movzx eax, word [rbp + 0x97a]
imul eax, edi
sub eax, ecx
xor r8d, eax
mov eax, r8d
sub eax, r9d
imul ecx, eax, 0x605e
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor esi, ecx
movzx edi, word [rbp + 0x97a]
xor edi, esi
rol edi, 6
mov ecx, esi
rol ecx, 2
movzx eax, word [rbp + 0x97e]
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, r8d
xor ecx, 0xab69605e
mov eax, r15d
sub eax, ecx
xor esi, eax
mov ecx, esi
ror ecx, 6
mov eax, esi
xor eax, r9d
movzx edi, word [rbp + 0x97a]
imul eax, edi
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + r15]
ror eax, 0xf
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor esi, ecx
lea edi, [rsi + 0x54969fa2]
ror edi, 0xe
mov ecx, esi
rol ecx, 8
movzx eax, word [rbp + 0x97e]
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, r8d
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, r8d
ror eax, 0xa
imul ecx, r9d
xor eax, ecx
xor esi, eax
movzx edi, word [rbp + 0x97e]
mov ecx, edi
xor ecx, esi
movzx eax, word [rbp + 0x97a]
imul ecx, eax
mov eax, esi
shr eax, 0xa
xor ecx, eax
xor r8d, ecx
mov eax, r8d
not eax
ror eax, 5
add eax, 0x605e
imul eax, edi
xor esi, eax
mov r9d, esi
sub r9d, edi
xor r9d, r8d
xor r9d, 0xab69605e
mov ecx, edi
xor ecx, r9d
rol ecx, 2
imul ecx, dword [rbp + 0x30]
mov eax, r9d
shr eax, 2
add ecx, eax
xor esi, ecx
mov ecx, esi
sub ecx, r15d
ror ecx, 6
mov eax, esi
rol eax, 7
movzx edi, word [rbp + 0x97a]
imul ecx, edi
add eax, ecx
xor r9d, eax
mov edi, r9d
ror edi, 9
mov eax, r9d
xor eax, dword [rbp + 0x30]
imul ecx, eax, 0x605e
add edi, ecx
xor esi, edi
movzx edi, word [rbp + 0x97a]
xor edi, esi
rol edi, 5
mov ecx, esi
rol ecx, 7
movzx eax, word [rbp + 0x97e]
imul eax, edi
add ecx, eax
xor r9d, ecx
mov r8d, r9d
xor r8d, esi
xor r8d, r15d
xor r8d, 0xab69605e
mov eax, r8d
ror eax, 3
movzx edi, word [rbp + 0x97a]
sub eax, edi
imul eax, dword [rbp + 0x30]
xor r9d, eax
mov eax, r9d
sub eax, r15d
ror eax, 1
mov ecx, r9d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x54969fa2]
rol ecx, 3
mov edi, r8d
rol edi, 0xe
movzx eax, word [rbp + 0x97e]
imul eax, ecx
add edi, eax
xor r9d, edi
lea ecx, [r9 - 0x54969fa2]
rol ecx, 0xf
mov eax, r9d
ror eax, 0xe
imul ecx, dword [rbp + 0x30]
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, 0x605e
movzx eax, word [rbp + 0x97a]
imul ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, r15d
rol eax, 4
mov ecx, r9d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, edx
xor r8d, ecx
mov dword [rbp - 0x48], r8d
xor r9d, r13d
mov dword [rbp - 0x58], r9d
mov byte [r14 - 4], r8b
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x58]
mov byte [r14], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x48]
mov byte [r14 - 5], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x58]
mov byte [r14 - 1], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x48]
mov byte [r14 - 6], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x58]
mov byte [r14 - 2], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x48]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x58]
mov byte [r14 - 3], al
mov esi, dword [rbp - 0x48]
ror esi, 8
mov dword [rbp - 0x48], esi
mov edi, dword [rbp - 0x58]
ror edi, 8
mov dword [rbp - 0x58], edi
mov edx, r11d
mov r13d, r10d
lea r14, [r14 + 8]
mov ecx, 1
sub r12, rcx
jne 0x140071e13
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov r14, qword [rbp + 0x68]
mov r15, qword [rbp - 0x40]
jmp 0x14007214c
mov ecx, 1
mov rax, rbx
test r14, r14
je 0x140072160
xor dl, byte [rax + r15]
add rax, rcx
cmp rax, r14
jb 0x140072154
movzx eax, dl
mov rcx, qword [rbp + 0x38]
cmp rax, qword [r14 + rcx]
je 0x14007217b
mov esi, 0xc004d501
mov rdi, qword [rbp + 0x130]
jmp 0x140072192
mov rdi, r15
mov qword [rbp + 0x130], r15
mov r15, rbx
mov qword [rbp + 0x2c0], r14
mov esi, dword [rbp - 0x60]
test r15, r15
je 0x1400721b2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x130]
test esi, esi
js 0x1400721e1
mov r14, rdi
mov qword [rbp + 0x48], rdi
mov rdi, rbx
mov qword [rbp + 0x130], rbx
mov ecx, dword [rbp + 0x2c0]
mov dword [rbp + 0xe0], ecx
mov esi, 0x10000000
jmp 0x1400721ef
mov rdi, qword [rbp + 0x130]
mov esi, 0xd0000001
mov ecx, dword [rbp + 0xe0]
mov r14, rbx
mov dword [rsp + 0x60], esi
test rdi, rdi
je 0x140072219
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x130], rbx
mov ecx, dword [rbp + 0xe0]
test esi, esi
js 0x14007236d
cmp ecx, 4
jae 0x140072230
mov esi, 0xc000003e
jmp 0x140072365
mov r13d, dword [r14]
lea rdx, [r14 + 4]
cmp rdx, r14
jb 0x140072360
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140072226
mov esi, dword [rdx]
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140072360
lea eax, [rcx - 8]
cmp eax, esi
jb 0x140072226
lea eax, [rsi + 8]
cmp eax, 8
jb 0x140072360
lea rdx, [rsi + rdi]
mov r8d, ecx
lea rax, [r14 + r8]
cmp rax, rdx
jb 0x140072226
mov rax, r14
sub rax, rsi
sub rax, rdi
add rax, r8
cmp rax, 8
jae 0x140072226
mov r14, rbx
mov r12d, ebx
test rdi, rdi
je 0x1400722fb
mov rcx, rdi
cmp rdx, rdi
jb 0x140072360
jbe 0x1400722f6
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140072360
cmp rax, rdx
ja 0x1400722e8
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400722ef
mov dword [rbp + 0x400], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x140072360
mov rcx, r8
cmp r8, rdx
ja 0x1400722e8
inc r12d
cmp rcx, rdx
jae 0x1400722f9
jmp 0x1400722a5
mov esi, 0xc000000d
jmp 0x140072365
mov esi, 0xc0000095
jmp 0x14007234e
cmp rcx, rdx
jne 0x1400722e8
test esi, esi
je 0x140072325
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x140072325
mov esi, 0xc0000017
jmp 0x14007234e
test rdi, rdi
je 0x140072338
mov r8, rsi
mov rdx, rdi
mov rcx, r14
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xc0], r14
mov dword [rbp + 0xbc], esi
mov dword [rbp + 0xb8], r12d
mov esi, ebx
test esi, esi
js 0x140072365
cmp r13d, dword [rbp + 0xb8]
je 0x140072365
jmp 0x140072226
mov esi, 0xc0000095
bts esi, 0x1c
mov dword [rsp + 0x60], esi
mov r12d, 0x8007007a
mov rdi, qword [rbp - 0x20]
test rdi, rdi
je 0x140072390
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x188]
test r14, r14
je 0x14007241a
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x1400723bd
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 [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x1400723de
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 [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x1400723ff
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 [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x188], rbx
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x140072437
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, qword [rbp - 0x28]
test rdi, rdi
je 0x140072454
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x58]
test r14, r14
je 0x1400724d4
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14007247e
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 [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14007249f
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 [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x1400724c0
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 [r14 + 0x28], rbx
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 + 0x48]
test rdi, rdi
je 0x1400724f1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x140072850
mov r8d, 1
cmp dword [rbp + 0xb8], r8d
jae 0x14007251c
mov esi, 0xc004d501
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
jmp 0x1400706a4
cmp qword [rbp + 0xc0], rbx
jne 0x140072536
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r10d, 0xc0000095
jmp 0x140072590
cmp dword [rbp + 0xb8], ebx
jbe 0x140072525
mov rdi, qword [rbp + 0xc0]
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140072582
mov dword [rbp + 0x3fc], ecx
mov rax, rbx
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4f8], rax
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp ecx, 4
je 0x140072578
mov esi, 0xc0000023
jmp 0x14007250d
mov eax, dword [rax]
mov dword [rbp + 0x98], eax
jmp 0x14007252e
mov r10d, 0xc0000095
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x140072850
mov esi, dword [rbp + 0x98]
cmp esi, 0xd0000023
cmove esi, r12d
mov dword [rsp + 0x60], esi
mov dword [rbp + 0x98], esi
cmp esi, r12d
je 0x1400725bf
test esi, esi
js 0x140072850
cmp dword [rbp + 0xb8], 6
jne 0x140072508
cmp qword [rbp + 0xc0], rbx
jne 0x1400725e0
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x140072648
mov rax, qword [rbp + 0xc0]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140072640
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140072640
add edx, r8d
cmp edx, r8d
jb 0x1400725e9
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140072640
mov dword [rbp + 0x3f8], ecx
mov rax, rbx
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x500], rax
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp ecx, 8
jne 0x140072571
mov rax, qword [rax]
mov qword [rbp + 0x3d0], rax
jmp 0x140072648
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x140072850
cmp qword [rbp + 0xc0], rbx
jne 0x140072664
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400726ca
mov rax, qword [rbp + 0xc0]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400726c2
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400726c2
add edx, r8d
cmp edx, 2
jb 0x14007266d
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400726c2
mov dword [rbp + 0x360], ecx
mov rax, rbx
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x508], rax
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp ecx, 4
jne 0x140072571
mov eax, dword [rax]
mov dword [rbp + 0x24c], eax
jmp 0x1400726ca
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x140072850
cmp qword [rbp + 0xc0], rbx
jne 0x1400726e5
mov esi, 0xc000000d
jmp 0x14007250d
mov rax, qword [rbp + 0xc0]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14007287a
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14007287a
add edx, r8d
cmp edx, 3
jb 0x1400726ee
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14007287a
mov dword [rbp + 0x35c], edi
mov r9, rbx
test edi, edi
cmovne r9, rcx
mov qword [rbp + 0x4c0], r9
mov rax, qword [rbp + 0xc0]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140072794
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140072794
add edx, r8d
cmp edx, 4
jb 0x14007273f
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140072794
mov dword [rbp + 0x358], ecx
mov rax, rbx
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4c8], rax
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp ecx, 4
jne 0x140072571
mov eax, dword [rax]
mov dword [rbp + 0x250], eax
jmp 0x14007279c
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x140072850
mov rax, qword [rbp + 0xc0]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140072802
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140072802
add edx, r8d
cmp edx, 5
jb 0x1400727ad
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140072802
mov dword [rbp + 0xdc], ecx
mov rax, rbx
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4d0], rax
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp ecx, 4
jne 0x140072571
mov eax, dword [rax]
mov dword [rbp + 0x178], eax
jmp 0x14007280a
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x140072850
mov rax, qword [rbp + 0x3d0]
cmp qword [rbp + 0x1f0], rax
jne 0x140072508
mov ecx, dword [rbp + 0x250]
mov dword [rbp + 0xf0], ecx
mov eax, dword [rbp + 0x178]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x24c]
mov dword [rbp + 0x14c], eax
cmp ecx, 4
jbe 0x14007285f
mov esi, r12d
mov dword [rsp + 0x60], r12d
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
jmp 0x1400706a8
cmp edi, 4
ja 0x140072848
mov r8, rdi
mov rdx, r9
mov rcx, qword [rbp + 0x28]
call sub.msvcrt.dll_memcpy
mov r15, qword [rsp + 0x70]
jmp 0x1400728a7
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x140072850
or qword [rbp + 0x190], 0xffffffffffffffff
jmp 0x140070697
mov esi, r10d
mov dword [rsp + 0x60], r10d
mov r14, r12
mov r15, rdi
jmp 0x1400706a8
mov r15, rdi
mov r14, qword [rsp + 0x68]
test esi, esi
js 0x1400706a8
cmp dword [rbp + 0x98], ebx
cmovne esi, dword [rbp + 0x98]
jmp 0x1400706a4
mov rax, qword [0x1400f30b8]
call qword [str.__f_]
mov qword [0x1400f8cc0], rax
mov edi, dword [0x1400f6fe8]
mov dword [rsp + 0x78], edi
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x510]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x990], rax
mov qword [rbp + 0x998], rax
lea r13d, [rax + 1]
mov dword [rbp + 0x148], r13d
mov qword [rbp + 0x68], rbx
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xa50]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xc8], rbx
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r13d
jne 0x14007292e
mov eax, dword [0x1400f8cc8]
test eax, eax
jne 0x140072f14
mov dword [rbp - 0x78], ebx
mov dword [rbp - 0x80], ebx
mov dword [rbp + 0x30], ebx
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x2c8], rbx
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 - 0x40], rax
test rax, rax
je 0x140072e92
mov byte [rsp + 0x64], bl
mov ecx, ebx
or dword [rbp - 0x60], 0xffffffff
mov r12d, ebx
mov dword [rbp - 0x14], ebx
mov r13d, ebx
mov dword [rbp + 0x1c], ebx
lea rsi, [rax + 7]
lea rdi, [0x1400dbce2]
mov r15d, 0x67
mov r14d, dword [rbp - 0x60]
lea ebx, [r15 - 0x66]
movzx r11d, byte [rdi - 2]
shl r11d, 8
movzx eax, byte [rdi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi + 1]
or r11d, eax
movzx r10d, byte [rdi + 2]
shl r10d, 8
movzx eax, byte [rdi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 5]
or r10d, eax
xor r13d, r11d
xor r12d, r10d
lea rdi, [rdi + 8]
xor r12d, r13d
xor r12d, 0xac987321
lea eax, [r12 + 0x54969fa2]
rol eax, 5
mov edx, r12d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
mov edx, r13d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r12d, eax
mov eax, r12d
shr eax, 0xd
imul edx, r12d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor r13d, edx
mov eax, r13d
xor eax, 0xab69
rol eax, 6
mov edx, r13d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r12d, eax
mov edx, r12d
mov r9d, 0xab69605e
xor edx, r9d
mov eax, 0x7f1137f
sub eax, edx
xor r13d, eax
mov r8d, r13d
ror r8d, 6
mov eax, r13d
xor eax, 0x137f
imul edx, eax, 0xab69
xor r8d, edx
xor r12d, r8d
lea eax, [r12 + 0x7f1137f]
ror eax, 0xf
mov edx, r12d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x54969fa2]
ror eax, 0xe
mov edx, r13d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r12d, eax
mov eax, r12d
xor eax, r9d
ror eax, 0xc
mov edx, r12d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r13d, edx
mov eax, r13d
mov r8d, 0x7f1
xor eax, r8d
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea r9d, [r13 - 0x7f1]
xor r9d, r12d
xor r9d, 0xab69605e
mov eax, r9d
xor eax, r8d
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
mov edx, r13d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r9d, edx
mov r8d, r9d
ror r8d, 9
mov eax, r9d
xor eax, 0x137f
imul edx, eax, 0x605e
add r8d, edx
xor r13d, r8d
mov eax, r13d
xor eax, 0xab69
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
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r9d, edx
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 + 0x1c], r8d
xor r9d, r14d
mov dword [rbp - 0x14], r9d
mov byte [rsi - 4], r8b
ror dword [rbp + 0x1c], 8
mov al, byte [rbp - 0x14]
mov byte [rsi], al
ror dword [rbp - 0x14], 8
mov al, byte [rbp + 0x1c]
mov byte [rsi - 5], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp - 0x14]
mov byte [rsi - 1], al
ror dword [rbp - 0x14], 8
mov al, byte [rbp + 0x1c]
mov byte [rsi - 6], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp - 0x14]
mov byte [rsi - 2], al
ror dword [rbp - 0x14], 8
mov al, byte [rbp + 0x1c]
mov byte [rsi - 7], al
mov al, byte [rbp - 0x14]
mov byte [rsi - 3], al
mov r13d, dword [rbp + 0x1c]
ror r13d, 8
mov dword [rbp + 0x1c], r13d
mov r12d, dword [rbp - 0x14]
ror r12d, 8
mov dword [rbp - 0x14], r12d
mov ecx, r11d
mov r14d, r10d
lea rsi, [rsi + 8]
sub r15, rbx
jne 0x1400729b3
xor ebx, ebx
mov eax, ebx
mov cl, byte [rsp + 0x64]
mov edi, dword [rsp + 0x78]
mov esi, dword [rsp + 0x60]
mov r15d, dword [rbp - 0x80]
mov r14, qword [rbp - 0x40]
mov edx, 0x338
lea r13d, [rbx + 1]
xor cl, byte [rax + r14]
add rax, r13
cmp rax, rdx
jb 0x140072cf4
movzx eax, cl
cmp rax, qword [0x1400dc018]
je 0x140072d14
mov r12d, 0xc004d501
jmp 0x140072d28
mov qword [rbp + 0x198], r14
mov r14, rbx
mov qword [rbp + 0x2c8], rdx
mov r12d, r15d
test r14, r14
je 0x140072d41
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x140072e92
mov r14, qword [rbp + 0x198]
mov rax, qword [rbp + 0x2c8]
mov byte [rax + r14 - 1], bl
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x1400f76c0]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x140072e7f
mov rdx, r14
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], bx
jne 0x140072d7e
lea r14, [r14 + rax*2]
mov eax, dword [rbp + 0x30]
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 0x140072e92
mov r15d, ebx
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x140072dc3
mov r15d, 0xc000007b
jmp 0x140072e13
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140072dbb
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x140072dbb
cmp dword [rcx], 0x4550
jne 0x140072dbb
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140072dff
mov r15d, 0xc000000d
jmp 0x140072e13
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [r14 + 2]
mov dword [rbp - 0x60], eax
add r14, 6
mov r13d, ebx
test eax, eax
je 0x140072e6e
mov rdx, r14
or rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], bl
jne 0x140072e2c
inc r14
add r14, rax
test r15d, r15d
js 0x140072e5d
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140072e8a
mov ecx, dword [rbp - 0x78]
lea rdx, [0x1400f3020]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp - 0x78], eax
add r13d, eax
cmp r13d, dword [rbp - 0x60]
jb 0x140072e25
mov r13d, 1
add dword [rbp + 0x30], r13d
lea r12, [0x1400f76c0]
cmp byte [r14], bl
jne 0x140072d77
jmp 0x140072e98
mov r13d, 1
jmp 0x140072e98
mov r15d, 0xc000007a
cmp qword [rbp + 0x198], rbx
je 0x140072eb9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x198]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x140072f0e
lea r12, [0x1400f76c0]
mov r14, r12
mov r15d, 4
cmp qword [r14], rbx
je 0x140072edc
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add r14, 0x18
sub r15, r13
jne 0x140072ece
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
jmp 0x140072f1d
mov eax, dword [0x1400f8cc8]
add eax, r13d
mov dword [0x1400f8cc8], eax
mov eax, ebx
xchg dword [0x1400f8ccc], eax
xor ecx, ecx
mov dword [rbp + 0xe90], ecx
mov word [rbp + 0xe94], cx
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x48], ebx
mov qword [rbp + 0x1e0], rbx
xor eax, eax
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x278], rax
mov qword [rbp + 0x280], rax
mov qword [rbp + 0x9e0], rax
mov qword [rbp + 0x9e8], rax
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r13d
jne 0x140072f66
mov eax, dword [0x1400f8cc8]
test eax, eax
jne 0x140073535
mov dword [rbp - 0x78], ebx
mov dword [rbp + 0x30], ebx
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x2d0], rbx
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 - 0x40], rax
test rax, rax
je 0x1400734af
mov r12d, ebx
or ecx, 0xffffffff
mov r9d, ebx
mov dword [rbp - 0x10], ebx
mov r14d, ebx
mov dword [rbp + 0x18], ebx
lea rsi, [rax + 7]
lea rdi, [0x1400dbce2]
mov r15d, 0x67
lea r13d, [r15 - 0x66]
movzx r11d, byte [rdi - 2]
shl r11d, 8
movzx eax, byte [rdi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rdi + 1]
or r11d, eax
movzx r10d, byte [rdi + 2]
shl r10d, 8
movzx eax, byte [rdi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rdi + 5]
or r10d, eax
xor r14d, r11d
xor r9d, r10d
lea rdi, [rdi + 8]
xor r9d, r14d
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
mov edx, r9d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r14d, edx
lea eax, [r14 + 0x7f1137f]
ror eax, 9
mov edx, r14d
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 r14d, edx
mov eax, r14d
xor eax, 0xab69
rol eax, 6
mov edx, r14d
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 r14d, eax
mov r8d, r14d
ror r8d, 6
mov eax, r14d
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 r14d, edx
lea eax, [r14 + 0x54969fa2]
ror eax, 0xe
mov edx, r14d
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 r14d, edx
mov eax, r14d
mov r8d, 0x7f1
xor eax, r8d
imul edx, eax, 0xab69
mov eax, r14d
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 r14d, eax
lea r9d, [r14 - 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 r14d, edx
lea eax, [r14 - 0x7f1137f]
ror eax, 6
mov edx, r14d
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 r14d, r8d
mov eax, r14d
xor eax, 0xab69
rol eax, 5
mov edx, r14d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
xor r14d, r9d
xor r14d, 0xac987321
mov eax, r14d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r9d, edx
lea eax, [r9 - 0x7f1137f]
ror eax, 1
mov edx, r9d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r14d, eax
lea eax, [r14 - 0x54969fa2]
rol eax, 3
mov edx, r14d
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 r14d, eax
mov eax, r14d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r14d
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 r14d, edx
mov dword [rbp + 0x18], r14d
xor r9d, ecx
mov dword [rbp - 0x10], r9d
mov byte [rsi - 4], r14b
ror dword [rbp + 0x18], 8
mov al, byte [rbp - 0x10]
mov byte [rsi], al
ror dword [rbp - 0x10], 8
mov al, byte [rbp + 0x18]
mov byte [rsi - 5], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp - 0x10]
mov byte [rsi - 1], al
ror dword [rbp - 0x10], 8
mov al, byte [rbp + 0x18]
mov byte [rsi - 6], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp - 0x10]
mov byte [rsi - 2], al
ror dword [rbp - 0x10], 8
mov al, byte [rbp + 0x18]
mov byte [rsi - 7], al
mov al, byte [rbp - 0x10]
mov byte [rsi - 3], al
mov r14d, dword [rbp + 0x18]
ror r14d, 8
mov dword [rbp + 0x18], r14d
mov r9d, dword [rbp - 0x10]
ror r9d, 8
mov dword [rbp - 0x10], r9d
mov r12d, r11d
mov ecx, r10d
lea rsi, [rsi + 8]
sub r15, r13
jne 0x140072fe0
mov rax, rbx
mov cl, bl
mov edi, dword [rsp + 0x78]
mov esi, dword [rsp + 0x60]
mov r15d, ebx
mov r13, qword [rbp - 0x40]
mov r12d, ebx
mov edx, 0x338
mov r8d, 1
xor cl, byte [rax + r13]
add rax, r8
cmp rax, rdx
jb 0x14007331c
movzx eax, cl
cmp rax, qword [0x1400dc018]
je 0x14007333c
mov r12d, 0xc004d501
jmp 0x14007334d
mov qword [rbp + 0x1b8], r13
mov r13, rbx
mov qword [rbp + 0x2d0], rdx
test r13, r13
je 0x140073366
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x1400734af
mov r14, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x2d0]
mov byte [rax + r14 - 1], bl
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x1400f76c0]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x1400734a4
mov rdx, r14
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], bx
jne 0x1400733a3
lea r14, [r14 + rax*2]
mov eax, dword [rbp + 0x30]
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 0x1400734af
mov r15d, ebx
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400733e8
mov r15d, 0xc000007b
jmp 0x140073438
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400733e0
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x1400733e0
cmp dword [rcx], 0x4550
jne 0x1400733e0
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140073424
mov r15d, 0xc000000d
jmp 0x140073438
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [r14 + 2]
mov dword [rbp - 0x60], eax
add r14, 6
mov r13d, ebx
test eax, eax
je 0x140073495
mov rdx, r14
or rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], bl
jne 0x140073451
inc r14
add r14, rax
test r15d, r15d
js 0x140073482
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400734b5
mov ecx, dword [rbp - 0x78]
lea rdx, [0x1400f3020]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp - 0x78], eax
add r13d, eax
cmp r13d, dword [rbp - 0x60]
jb 0x14007344a
jmp 0x14007349a
mov eax, 1
add dword [rbp + 0x30], eax
lea r12, [0x1400f76c0]
cmp byte [r14], bl
jne 0x14007339c
jmp 0x1400734b5
mov r15d, 0xc000007a
cmp qword [rbp + 0x1b8], rbx
je 0x1400734d6
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]
mov r13d, 1
test r15d, r15d
jns 0x14007352f
lea r12, [0x1400f76c0]
mov r14, r12
lea r15d, [r13 + 3]
cmp qword [r14], rbx
je 0x1400734fd
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add r14, 0x18
sub r15, r13
jne 0x1400734ef
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
jmp 0x14007353e
mov eax, dword [0x1400f8cc8]
add eax, r13d
mov dword [0x1400f8cc8], eax
mov eax, ebx
xchg dword [0x1400f8ccc], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x510]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x990], rax
mov r12d, edi
lea ecx, [rax + 0xf]
and r12d, ecx
mov dword [rbp - 8], r12d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xe90], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0xe92], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0xe94], di
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov qword [rbp - 0x38], rax
mov dword [rbp + 0x70], 0xffffff
test rax, rax
jne 0x1400735eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140074a12
mov r14d, 0x80004005
jmp 0x140074a12
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x2d8], rbx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0x138], rbx
mov qword [rbp + 0xf8], rbx
mov r14d, ebx
mov dword [rbp + 0xe4], ebx
lea r9, [rbp + 0xe4]
xor r8d, r8d
lea rdx, [rbp + 0x9c]
lea ecx, [r8 + 8]
mov rax, qword [0x1400f30c0]
call qword [str.__f_]
test eax, eax
jne 0x14007366f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x1400737b9
mov r14d, 0x80004005
jmp 0x1400737b9
mov edi, dword [rbp + 0xe4]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x138]
call fcn.1400c0594
test rdi, rdi
jne 0x1400736ac
mov qword [rbp + 0x138], rbx
mov rdi, rbx
jmp 0x1400736b3
mov qword [rbp + 0x138], rdi
test rdi, rdi
jne 0x1400736c3
mov r14d, 0x8007000e
jmp 0x1400737b9
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 + 0xf8]
call fcn.1400c0594
test rdi, rdi
jne 0x140073703
mov qword [rbp + 0xf8], rbx
mov rdi, rbx
jmp 0x14007370a
mov qword [rbp + 0xf8], rdi
test rdi, rdi
je 0x1400736b8
lea r9, [rbp + 0xe4]
mov r8, qword [rbp + 0x138]
lea rdx, [rbp + 0x9c]
mov ecx, 8
mov rax, qword [0x1400f30c0]
call qword [str.__f_]
test eax, eax
je 0x140073644
mov rdi, qword [rbp + 0x138]
mov r15, qword [rbp + 0xf8]
mov r12d, ebx
cmp dword [rbp + 0x9c], ebx
jbe 0x140073791
xor edx, edx
mov rcx, rdi
mov rax, qword [0x1400f30d0]
call qword [str.__f_]
mov dword [r15], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x140073770
lea rdi, [rdi + rax*2]
add rdi, 2
add r15, 4
add r12d, r13d
cmp r12d, dword [rbp + 0x9c]
jb 0x140073757
mov dword [r15], 0x409
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xf8], rbx
mov qword [rbp + 0x1e8], rax
mov eax, dword [rbp + 0x9c]
inc eax
mov dword [rsp + 0x78], eax
lea rcx, [rbp + 0xf8]
call fcn.1400c0594
lea rcx, [rbp + 0x138]
call fcn.1400c0594
test r14d, r14d
js 0x140073f1c
mov r10d, ebx
mov dword [rbp - 0x78], ebx
mov r9d, ebx
lea r11, [0x1400dbbb0]
cmp dword [rsp + 0x78], ebx
jbe 0x140073829
mov r8, rbx
mov rax, qword [rbp + 0x1e8]
mov edx, ebx
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [rax + r8], ecx
je 0x140073823
add edx, r13d
add rdi, 4
cmp edx, 0x26
jb 0x1400737ff
add r9d, r13d
add r8, 4
cmp r9d, dword [rsp + 0x78]
jae 0x140073829
jmp 0x1400737fa
mov r10d, edx
mov dword [rbp - 0x78], edx
mov edi, r10d
mov dword [rbp + 0x30], ebx
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0xea0]
mov ecx, dword [r11 + rdi*4]
mov rax, qword [0x1400f30c8]
call qword [str.__f_]
test eax, eax
je 0x14007388d
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xc80]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0xea0]
mov rax, qword [0x1400f30b0]
call qword [str.__f_]
test eax, eax
jle 0x14007388d
mov r14d, dword [rbp + 0xc8c]
shr r14d, 0x1b
and r14d, r13d
mov dword [rbp + 0x30], r14d
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0xdf0]
mov r8d, SafeArrayAccessData
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], bx
jne 0x1400738a8
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub r8, r13
jne 0x1400738a1
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xdbc50]
mov r12, qword [rbp + rax*8 + 0xdf0]
mov qword [rsp + 0x68], r12
mov qword [rbp + 0x270], r12
movzx eax, byte [rdx + rcx + 0xdbc51]
mov r12, qword [rbp + rax*8 + 0xdf0]
mov qword [rbp - 0x80], r12
mov qword [rbp + 0x278], r12
movzx eax, byte [rdx + rcx + 0xdbc52]
mov rdi, qword [rbp + rax*8 + 0xdf0]
mov qword [rsp + 0x70], rdi
mov qword [rbp + 0x280], rdi
mov r14d, ebx
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 - 0x40], rax
test rax, rax
jne 0x14007394e
mov r14d, 0x8007000e
jmp 0x140073f3f
mov esi, ebx
or dword [rbp - 0x60], 0xffffffff
mov ecx, ebx
mov dword [rbp - 0xc], ebx
mov r10d, ebx
mov dword [rbp + 0x14], ebx
lea r11, [rax + 7]
lea r12, [0x1400d9f12]
mov r13d, 0x392
mov r15d, dword [rbp - 0x60]
mov ebx, 1
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, 0xab69
rol eax, 6
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor edi, eax
mov ecx, edi
xor ecx, 0xab69605e
mov eax, 0x7f1137f
sub eax, ecx
xor r10d, eax
mov edx, r10d
ror edx, 6
mov eax, r10d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edx, ecx
xor edi, edx
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
mov ecx, r10d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor edi, eax
mov eax, edi
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
xor eax, 0xab69
rol eax, 5
mov ecx, r10d
rol ecx, 7
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
mov edx, edi
xor edx, r10d
xor edx, 0xac987321
mov eax, edx
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor edi, ecx
lea eax, [rdi - 0x7f1137f]
ror eax, 1
mov ecx, edi
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edx, eax
lea eax, [rdx - 0x54969fa2]
rol eax, 3
mov ecx, edx
rol ecx, 0xe
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 0xf
mov ecx, edi
ror ecx, 0xe
imul eax, eax, 0x137f
sub eax, ecx
xor edx, eax
mov eax, edx
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edx
shr eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, esi
xor edx, ecx
mov dword [rbp + 0x14], edx
xor edi, r15d
mov dword [rbp - 0xc], edi
mov byte [r11 - 4], dl
ror dword [rbp + 0x14], 8
mov al, byte [rbp - 0xc]
mov byte [r11], al
ror dword [rbp - 0xc], 8
mov al, byte [rbp + 0x14]
mov byte [r11 - 5], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp - 0xc]
mov byte [r11 - 1], al
ror dword [rbp - 0xc], 8
mov al, byte [rbp + 0x14]
mov byte [r11 - 6], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp - 0xc]
mov byte [r11 - 2], al
ror dword [rbp - 0xc], 8
mov al, byte [rbp + 0x14]
mov byte [r11 - 7], al
mov al, byte [rbp - 0xc]
mov byte [r11 - 3], al
mov r10d, dword [rbp + 0x14]
ror r10d, 8
mov dword [rbp + 0x14], r10d
mov ecx, dword [rbp - 0xc]
ror ecx, 8
mov dword [rbp - 0xc], ecx
mov esi, r9d
mov r15d, r8d
lea r11, [r11 + 8]
sub r13, rbx
jne 0x140073979
xor ebx, ebx
mov eax, ebx
xorps xmm1, xmm1
mov esi, dword [rsp + 0x60]
mov r15, qword [rbp - 0x40]
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r15]
pxor xmm0, xmm1
movdqa xmm1, xmm0
add rax, 0x10
cmp rax, rcx
jb 0x140073c8b
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 [0x1400dbba0]
je 0x140073cea
mov r14d, 0xc004d501
jmp 0x140073cfb
mov qword [rbp + 0x1a0], r15
mov r15, rbx
mov qword [rbp + 0x2d8], rcx
test r15, r15
je 0x140073d14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test r14d, r14d
js 0x140073f45
mov rdx, qword [rbp + 0x1a0]
lea rdi, [rbp + 0xdc0]
lea r8d, [r13 + 5]
mov r9d, dword [rbp - 0x78]
mov ecx, ebx
cmp r9d, ecx
jne 0x140073d43
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], bl
jne 0x140073d47
inc rdx
add rdx, rax
add ecx, r13d
cmp ecx, 0x26
jb 0x140073d3b
add rdi, 8
sub r8, r13
jne 0x140073d39
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 + 0xa8]
call fcn.1400c0594
test rdi, rdi
jne 0x140073d9b
mov qword [rbp + 0xa8], rbx
mov rdi, rbx
jmp 0x140073da2
mov qword [rbp + 0xa8], rdi
test rdi, rdi
jne 0x140073db2
mov r14d, 0x8007000e
jmp 0x140073f45
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, ebx
mov dword [rsp + 0x78], ebx
mov r15, rbx
lea rcx, [rbp + 0xe90]
mov qword [rbp - 0x20], rcx
mov eax, ebx
movzx edi, word [rcx]
lea rcx, [0x1400dbcc8]
cmp di, word [rcx]
je 0x140073df5
add eax, r13d
add rcx, 2
cmp eax, 6
jb 0x140073ddf
jmp 0x140073eb8
mov r12, qword [rbp + rax*8 + 0xdc0]
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], bl
jne 0x140073e01
lea r9d, [rax + r13]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1400f30e0]
call qword [str.__f_]
movsxd r13, eax
test eax, eax
je 0x140073ef8
mov rdi, r13
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbp + 0xa8]
mov qword [rcx + r15], rax
mov rcx, qword [rbp + 0xa8]
cmp qword [rcx + r15], rbx
je 0x140073943
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], bl
jne 0x140073e73
mov r9d, 1
add r9d, eax
mov dword [rsp + 0x28], r13d
mov rdx, qword [rcx + r15]
mov qword [rsp + 0x20], rdx
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1400f30e0]
call qword [str.__f_]
test eax, eax
je 0x140073ef8
mov edx, dword [rsp + 0x78]
mov r13d, 1
add edx, r13d
mov dword [rsp + 0x78], edx
mov rcx, qword [rbp - 0x20]
add rcx, 2
mov qword [rbp - 0x20], rcx
add r15, 8
cmp edx, 3
jb 0x140073dd3
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0x1e0], rax
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x510], eax
jmp 0x140073f45
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140073f3f
mov r14d, 0x80004005
jmp 0x140073f3f
mov rax, qword [rbp + 0x280]
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0x278]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x270]
mov qword [rsp + 0x68], rax
mov r13d, 1
cmp qword [rbp + 0xa8], rbx
je 0x140073fb1
mov r15, rbx
mov r12d, 3
mov rcx, qword [rbp + 0xa8]
cmp qword [rcx + r15], rbx
je 0x140073fa8
test rcx, rcx
jne 0x140073f6c
mov rcx, rbx
mov rdi, qword [rcx + r15]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdi + rcx*2], bx
jne 0x140073f74
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0xa8]
mov rdi, qword [rax + r15]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add r15, 8
sub r12, r13
jne 0x140073f57
mov rdi, qword [rbp + 0x1a0]
test rdi, rdi
je 0x140073fc8
xor eax, eax
mov rcx, qword [rbp + 0x2d8]
rep stosb byte [rdi], al
lea rcx, [rbp + 0xa8]
call fcn.1400c0594
lea rcx, [rbp + 0x1a0]
call fcn.1400c0594
lea rcx, [rbp + 0x1e8]
call fcn.1400c0594
test r14d, r14d
js 0x1400749fb
mov rax, qword [rbp + 0x1e0]
mov rcx, qword [rax]
mov qword [rbp + 0x518], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x520], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x528], rcx
xor eax, eax
mov qword [rbp + 0x318], rax
mov qword [rbp + 0x320], rax
mov edi, ebx
mov r14d, ebx
mov dword [rbp + 0x318], reloc.OLEAUT32.dll_SafeArrayGetDim
xor r9d, r9d
lea r8, [rbp + 0x318]
xor edx, edx
lea ecx, [rax + 0x42]
mov rax, qword [0x1400f3188]
call qword [str.__f_]
test eax, eax
jne 0x14007407f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140074088
mov r14d, 0x80004005
jmp 0x140074088
mov edi, dword [rbp + 0x31c]
and edi, r13d
mov dword [rbp + 0x514], edi
mov r12d, dword [rbp - 8]
test r14d, r14d
js 0x1400749ff
mov ecx, r12d
mov eax, 0x2a
mov dword [rbp - 0x28], eax
sub ecx, 1
je 0x1400740cb
sub ecx, 1
je 0x1400740c2
cmp ecx, 1
jne 0x1400740d5
mov edi, 0xe1
mov dword [rbp + 0x28], edi
mov dword [rbp + 0x48], edi
jmp 0x1400740d5
mov dword [rbp + 0x28], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x1400740ce
mov dword [rbp + 0x28], eax
mov dword [rbp + 0x48], reloc.WSOCK32.dll_inet_ntoa
mov r14d, 0x60
mov r13d, r14d
lea edi, [r14 + 0x7c]
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xca0]
call sub.msvcrt.dll_memset
mov word [rbp + 0xce4], di
lea r8, [rbp + 0xca0]
or edx, 0xffffffff
xor ecx, ecx
mov rax, qword [0x1400f3100]
call qword [str.__f_]
test eax, eax
je 0x140074146
movzx r13d, word [rbp + 0xd46]
and qword [rbp + 0x9e0], 0
mov eax, dword [rbp + 0xd4c]
mov dword [rbp + 0x9e8], eax
mov eax, dword [rbp + 0xd50]
mov dword [rbp + 0x9ec], eax
cmp r13d, r14d
cmovb r13d, r14d
mov eax, 1
cmp r12d, eax
mov r15, qword [rsp + 0x70]
cmove r15, qword [rsp + 0x68]
xor edx, edx
lea r8d, [rax + 0x5b]
lea rcx, [rbp + 0xb60]
call sub.msvcrt.dll_memset
mov r14d, ebx
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov rdi, rax
test rax, rax
jne 0x1400741b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x1400749ff
mov r14d, 0x80004005
jmp 0x1400749ff
mov r8d, 0x48
mov edx, r13d
mov ecx, dword [rbp + 0x28]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
neg eax
mov dword [rbp + 0xb60], eax
mov dword [rbp + 0xb70], 0x190
mov byte [rbp + 0xb7a], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xb7c]
call fcn.14002ec04
lea rcx, [rbp + 0xb60]
mov rax, qword [0x1400f3040]
call qword [str.__f_]
test rax, rax
jne 0x14007423b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140074242
mov r14d, 0x80004005
jmp 0x140074242
mov qword [rbp + 0x530], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
test r14d, r14d
js 0x1400749ff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xbc0]
call sub.msvcrt.dll_memset
mov r14d, ebx
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov rdi, rax
test rax, rax
je 0x14007418d
mov r8d, 0x48
mov edx, r13d
mov ecx, dword [rbp + 0x48]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
neg eax
mov dword [rbp + 0xbc0], eax
mov dword [rbp + 0xbd0], 0x190
mov byte [rbp + 0xbda], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xbdc]
call fcn.14002ec04
lea rcx, [rbp + 0xbc0]
mov rax, qword [0x1400f3040]
call qword [str.__f_]
test rax, rax
jne 0x140074318
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14007431f
mov r14d, 0x80004005
jmp 0x14007431f
mov qword [rbp + 0x538], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
test r14d, r14d
js 0x1400749ff
mov r15d, ebx
mov edx, ebx
mov ecx, r12d
sub ecx, 1
je 0x140074351
sub ecx, 1
je 0x14007438b
cmp ecx, 1
jne 0x14007435e
mov r15d, dword [rbp + 0x9e8]
mov edx, dword [rbp + 0x9ec]
mov dword [rbp + 0x998], r15d
mov dword [rbp + 0x99c], edx
mov ecx, 1
cmp r12d, ecx
je 0x1400743c5
lea eax, [r12 - 2]
cmp eax, ecx
ja 0x1400743a1
mov eax, ebx
mov dword [rbp - 0x78], ebx
mov dword [rbp - 0x28], ebx
mov dword [rbp + 0x48], ebx
jmp 0x1400743d4
mov eax, dword [rbp + 0x9e8]
cdq
and edx, 3
lea r15d, [rdx + rax]
sar r15d, 2
mov edx, ebx
jmp 0x14007435e
mov eax, dword [rbp + 0xdc]
mov dword [rbp + 0x48], eax
mov eax, dword [rbp + 0xdc]
mov dword [rbp - 0x28], eax
mov r12d, dword [rbp + 0xdc]
mov eax, dword [rbp + 0xdc]
mov dword [rbp - 0x78], eax
jmp 0x1400743d7
mov eax, 0x96
mov dword [rbp - 0x78], eax
mov dword [rbp + 0x48], 0x20
mov r12d, ebx
sub r15d, eax
sub r15d, r12d
mov dword [rbp + 0x564], r15d
mov dword [rbp + 0x554], r15d
mov rdi, qword [rbp + 0x518]
mov r14d, ebx
mov rdx, qword [rbp + 0x530]
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x54c]
or r8d, 0xffffffff
mov rdx, rdi
mov rdi, qword [rbp - 0x38]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x140074467
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
test r14d, r14d
js 0x1400749fb
mov rdi, qword [rbp + 0x520]
mov r14d, ebx
mov rdx, qword [rbp + 0x538]
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x55c]
or r8d, 0xffffffff
mov rdx, rdi
mov rdi, qword [rbp - 0x38]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x1400744ec
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
test r14d, r14d
js 0x1400749fb
mov eax, dword [rbp - 8]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x554]
mov r14d, 1
cmp eax, r14d
ja 0x14007451a
mov r15d, dword [rbp + 0x564]
cmp ecx, r15d
cmovg r15d, ecx
mov r8d, dword [rbp - 0x28]
mov rax, qword [fcn.140052380]
cmp dword [rbp + 0x510], ebx
je 0x14007454f
mov edx, r12d
sub edx, ecx
add edx, r15d
lea rcx, [rbp + 0x54c]
call qword [str.__f_]
sub r12d, dword [rbp + 0x564]
lea edx, [r15 + r12]
jmp 0x140074562
mov edx, dword [rbp - 0x78]
lea rcx, [rbp + 0x54c]
call qword [str.__f_]
mov edx, dword [rbp - 0x78]
mov r8d, dword [rbp + 0x48]
add r8d, dword [rbp + 0x558]
lea rcx, [rbp + 0x55c]
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov r12d, dword [rbp - 8]
lea eax, [r12 - 2]
cmp eax, r14d
jbe 0x14007480a
cmp r12d, r14d
jne 0x140074827
mov dword [rbp + 0x548], 0xffffff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xc20]
call sub.msvcrt.dll_memset
mov r14d, ebx
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov rdi, rax
test rax, rax
je 0x14007418d
mov r8d, 0x48
mov edx, r13d
lea ecx, [r8 - 0x3d]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
neg eax
mov dword [rbp + 0xc20], eax
mov dword [rbp + 0xc30], 0x190
mov byte [rbp + 0xc3a], 5
mov r8, qword [rbp - 0x80]
mov edx, 0x20
lea rcx, [rbp + 0xc3c]
call fcn.14002ec04
lea rcx, [rbp + 0xc20]
mov rax, qword [0x1400f3040]
call qword [str.__f_]
test rax, rax
jne 0x140074663
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14007466a
mov r14d, 0x80004005
jmp 0x14007466a
mov qword [rbp + 0x540], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
test r14d, r14d
js 0x1400749ff
mov dword [rbp + 0x574], r15d
mov rdi, qword [rbp + 0x528]
mov r14d, ebx
mov rdx, qword [rbp + 0x540]
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov r15, rax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x56c]
or r8d, 0xffffffff
mov rdx, rdi
mov rdi, qword [rbp - 0x38]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
test r15, r15
je 0x140074703
mov rdx, r15
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
test r14d, r14d
js 0x1400749ff
mov eax, dword [rbp + 0x574]
add eax, 0x18
mov ecx, 0x5a
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x574], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x578], eax
lea edi, [rcx + 6]
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x56c]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
mov dword [rbp + 0x56c], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x570]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
mov dword [rbp + 0x570], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x574]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
mov dword [rbp + 0x574], eax
mov r8d, edi
mov edx, r13d
mov ecx, dword [rbp + 0x578]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
mov dword [rbp + 0x578], eax
mov r8d, dword [rbp + 0x568]
lea rcx, [rbp + 0x56c]
mov rax, qword [fcn.140052380]
add r8d, 0x24
cmp dword [rbp + 0x510], ebx
je 0x1400747e9
mov edx, dword [rbp + 0x54c]
cmp edx, dword [rbp + 0x55c]
cmovge edx, dword [rbp + 0x55c]
call qword [str.__f_]
jmp 0x140074827
mov edx, dword [rbp + 0x554]
cmp edx, dword [rbp + 0x564]
cmovle edx, dword [rbp + 0x564]
sub edx, dword [rbp + 0x574]
add edx, dword [rbp + 0x56c]
jmp 0x1400747e1
mov dword [rbp + 0x998], r15d
mov eax, dword [rbp + 0x568]
mov dword [rbp + 0x99c], eax
mov dword [rbp + 0x548], 0xffa8a8a8
mov r15d, dword [rbp + 0x510]
mov r14d, dword [rbp + 0x99c]
mov edi, dword [rbp + 0x998]
mov ecx, r12d
sub ecx, 1
je 0x1400749ee
sub ecx, 1
je 0x140074905
cmp ecx, 1
jne 0x1400749f6
lea r13d, [rcx + 0x27]
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0xb38]
call sub.msvcrt.dll_memset
lea edx, [r13 - 0x27]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov dword [rbp + 0xb38], r13d
lea rdx, [rbp + 0xb38]
mov rcx, rax
mov rax, qword [fcn.140052380]
call qword [str.__f_]
test eax, eax
je 0x1400749f6
lea rdx, [rbp + 0xb4c]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
lea rdx, [rbp + 0xb54]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov eax, dword [rbp + 0xb54]
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 + 0xb54]
shr rcx, 0x20
sub ecx, r14d
imul ecx, ecx, 0x32
jmp 0x1400749cf
mov r13d, 0x28
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0xb10]
call sub.msvcrt.dll_memset
lea edx, [r13 - 0x27]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov dword [rbp + 0xb10], r13d
lea rdx, [rbp + 0xb10]
mov rcx, rax
mov rax, qword [fcn.140052380]
call qword [str.__f_]
test eax, eax
je 0x1400749f6
lea rdx, [rbp + 0xb24]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
lea rdx, [rbp + 0xb2c]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov eax, dword [rbp + 0xb2c]
test r15d, r15d
je 0x1400749a8
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 + 0xb24]
jmp 0x1400749be
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 + 0xb2c]
shr rax, 0x20
sub eax, r14d
imul ecx, eax, 0x5f
mov dword [rbp + 0x990], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x994], edx
jmp 0x1400749f6
and qword [rbp + 0x990], 0
mov r14d, ebx
jmp 0x1400749ff
mov r12d, dword [rbp - 8]
mov rdx, qword [rbp - 0x38]
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r13d
jne 0x140074a18
mov eax, dword [0x1400f8cc8]
test eax, eax
jle 0x140074a89
sub eax, r13d
mov dword [0x1400f8cc8], eax
jne 0x140074a89
lea rdi, [0x1400f76c0]
mov r15d, 4
cmp qword [rdi], rbx
je 0x140074a55
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r13
jne 0x140074a47
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x1400f76c0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
mov eax, ebx
xchg dword [0x1400f8ccc], eax
lea rcx, [rbp + 0x1e0]
call fcn.1400c0594
test r14d, r14d
js 0x140075eb5
mov rdi, qword [rbp + 0x990]
mov qword [rbp + 0x2e0], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x580]
call sub.msvcrt.dll_memset
mov r14d, r13d
mov edx, 7
mov r15, qword [rbp + 0x58]
mov rcx, r15
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
je 0x140074b2e
lea r8, [rbp + 0x580]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x140074b2e
mov eax, 0x20
cmp word [rbp + 0x592], ax
jne 0x140074b2e
cmp qword [rbp + 0x598], rbx
je 0x140074b2e
cmp dword [rbp + 0x584], ebx
jle 0x140074b2e
cmp dword [rbp + 0x588], ebx
jg 0x140074b31
mov r14d, ebx
mov dword [rbp + 0x148], r14d
test r14d, r14d
jne 0x140074b42
cmp r12d, r13d
jne 0x140074ba7
mov r8d, dword [rbp + 0x2e4]
mov edx, edi
lea rcx, [rbp + 0x54c]
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov r8d, dword [rbp + 0x2e4]
mov edx, edi
lea rcx, [rbp + 0x55c]
mov rax, qword [fcn.140052380]
call qword [str.__f_]
cmp r12d, r13d
jne 0x140074ba7
mov eax, dword [rbp + 0x514]
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xb26720
mov rax, qword [0x1400f3048]
call qword [str.__f_]
mov qword [rbp + 0xc8], rax
mov edx, r13d
mov rcx, r15
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov dword [rsp + 0x70], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x510], ebx
cmovne eax, ecx
mov dword [rbp + 0x48], eax
cmp dword [rbp + 0x148], ebx
je 0x1400755f6
mov eax, dword [rbp + 0x514]
mov dword [rbp - 0x60], eax
mov rax, qword [rbp + 0x530]
mov qword [rbp - 0x40], rax
mov r14, qword [rbp + 0x518]
mov qword [rbp + 0x38], r14
mov r12d, 0x68
mov r8d, r12d
xor edx, edx
lea rcx, [rbp + 0x6d0]
call sub.msvcrt.dll_memset
mov r8d, r12d
xor edx, edx
lea rcx, [rbp + 0x7b0]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x20], rbx
mov dword [rsp + 0x78], ebx
mov edi, ebx
xor edx, edx
lea r8d, [r12 - 0x3c]
lea rcx, [rbp + 0xae0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9c0], rax
mov qword [rbp + 0x9c8], rax
test r14, r14
je 0x140075e99
lea edx, [rax + 7]
mov rcx, r15
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
jne 0x140074c80
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140075e99
lea r8, [rbp + 0x6d0]
mov edx, r12d
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x140074cb9
mov rax, qword [rbp + 0x6e8]
mov qword [rbp - 0x20], rax
mov eax, dword [rbp + 0x6d4]
mov dword [rsp + 0x78], eax
mov edi, dword [rbp + 0x6d8]
mov rcx, r15
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov r15, rax
test rax, rax
je 0x140074c75
mov ecx, dword [rbp + 0x558]
sub ecx, dword [rbp + 0x550]
mov eax, dword [rbp + 0x554]
sub eax, dword [rbp + 0x54c]
mov qword [rbp + 0x3d8], rbx
mov r14d, ebx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xaf0], xmm0
mov qword [rbp + 0xb00], rbx
mov dword [rbp + 0xb08], ebx
mov dword [rbp + 0xae0], 0x28
mov dword [rbp + 0xae4], eax
neg ecx
mov dword [rbp + 0xae8], ecx
mov dword [rbp + 0xaec], 0x200001
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x3d8]
xor r8d, r8d
lea rdx, [rbp + 0xae0]
mov rcx, r15
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov r13, rax
mov qword [rbp - 0x80], rax
mov r12d, 0x80808081
test rax, rax
jne 0x140074d94
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x1400750d2
mov r14d, 0x80004005
jmp 0x1400750d2
lea r8, [rbp + 0x7b0]
mov edx, 0x68
mov rcx, r13
mov rax, qword [0x1400f3088]
call qword [str.__f_]
mov rcx, rbx
test eax, eax
cmovne rcx, qword [rbp + 0x7c8]
mov qword [rbp + 0x90], rcx
mov eax, dword [rbp + 0x554]
sub eax, dword [rbp + 0x54c]
mov dword [rbp + 0x9c8], eax
mov eax, dword [rbp + 0x558]
sub eax, dword [rbp + 0x550]
mov dword [rbp + 0x9cc], eax
mov rdx, r13
mov rcx, r15
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov r13d, 1
mov edx, r13d
mov rcx, r15
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov rdx, qword [rbp - 0x40]
mov rcx, r15
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp - 0x78], rax
xor ecx, ecx
mov rax, qword [0x1400f3090]
call qword [str.__f_]
mov r8, rax
lea rdx, [rbp + 0x9c0]
mov rcx, r15
mov rax, qword [0x1400f3108]
call qword [str.__f_]
mov qword [rsp + 0x28], rbx
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9c0]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x38]
mov rcx, r15
mov rax, qword [fcn.140052380]
call qword [str.__f_]
cmp dword [rbp - 8], r13d
jne 0x140074eac
cmp dword [rbp - 0x60], ebx
je 0x140074ea4
lea ecx, [r13 + 7]
mov rax, qword [0x1400f3138]
call qword [str.__f_]
mov r13d, eax
mov dword [rbp - 0x28], eax
jmp 0x140074eb6
mov r13d, 0xffffff
jmp 0x140074eb2
mov r13d, 0xffa8a8a8
mov dword [rbp - 0x28], r13d
mov eax, dword [rbp + 0x54c]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, ebx
mov r9d, ebx
cmovns r9d, eax
mov eax, dword [rbp + 0x550]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, ebx
mov edx, ebx
cmovns edx, eax
mov eax, dword [rbp + 0x9c8]
sub eax, r8d
movsxd r10, dword [rsp + 0x78]
mov r11d, r10d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9cc]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x1400750a5
test edi, edi
jle 0x1400750a5
imul ecx, dword [rbp + 0x9c8]
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x90]
lea r8, [rax + rcx*4]
mov qword [rbp - 0x38], r8
imul edx, r10d
movsxd rcx, edx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x20]
lea rax, [rax + rcx*4]
mov qword [rsp + 0x68], rax
movsxd rcx, dword [rbp + 0x9c8]
shl rcx, 2
mov qword [rbp - 0x40], rcx
mov rdx, r10
shl rdx, 2
mov qword [rbp + 0x38], rdx
mov qword [rbp - 0x60], rdi
mov esi, 1
test r11d, r11d
jle 0x140075085
lea r9, [r8 + 2]
mov r10, rax
sub r10, r8
mov edi, r11d
mov qword [rbp - 0x20], 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 0x14007505f
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r13b
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x27]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x26]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x20]
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x20], rdi
jne 0x140074f94
mov r8, qword [rbp - 0x38]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp + 0x38]
mov rdi, qword [rbp - 0x60]
add r8, rcx
mov qword [rbp - 0x38], r8
add rax, rdx
mov qword [rsp + 0x68], rax
sub rdi, rsi
mov qword [rbp - 0x60], rdi
jne 0x140074f7a
mov esi, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1400750d2
mov rdx, rax
mov rcx, r15
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov rcx, r15
mov rax, qword [0x1400f3050]
call qword [str.__f_]
test r14d, r14d
js 0x140075e93
mov eax, dword [rbp + 0x514]
mov dword [rbp - 0x60], eax
mov rax, qword [rbp + 0x538]
mov qword [rbp - 0x40], rax
mov r14, qword [rbp + 0x520]
mov qword [rbp + 0x38], r14
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x660]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x820]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x20], rbx
mov r13d, ebx
mov dword [rsp + 0x78], ebx
mov edi, ebx
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa20]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9f0], rax
mov qword [rbp + 0x9f8], rax
test r14, r14
je 0x140075e93
lea edx, [rax + 7]
mov r15, qword [rbp + 0x58]
mov rcx, r15
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
jne 0x140075190
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140075e93
lea r8, [rbp + 0x660]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x1400751cd
mov rax, qword [rbp + 0x678]
mov qword [rbp - 0x20], rax
mov r13d, dword [rbp + 0x664]
mov dword [rsp + 0x78], r13d
mov edi, dword [rbp + 0x668]
mov rcx, r15
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov r15, rax
test rax, rax
je 0x140075185
mov ecx, dword [rbp + 0x568]
sub ecx, dword [rbp + 0x560]
mov eax, dword [rbp + 0x564]
sub eax, dword [rbp + 0x55c]
mov qword [rbp + 0x3e0], rbx
mov r14d, ebx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa30], xmm0
mov qword [rbp + 0xa40], rbx
mov dword [rbp + 0xa48], ebx
mov dword [rbp + 0xa20], 0x28
mov dword [rbp + 0xa24], eax
neg ecx
mov dword [rbp + 0xa28], ecx
mov dword [rbp + 0xa2c], 0x200001
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x3e0]
xor r8d, r8d
lea rdx, [rbp + 0xa20]
mov rcx, r15
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x14007529f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x1400755d1
mov r14d, 0x80004005
jmp 0x1400755d1
lea r8, [rbp + 0x820]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
mov rcx, rbx
test eax, eax
cmovne rcx, qword [rbp + 0x838]
mov qword [rbp + 0x90], rcx
mov eax, dword [rbp + 0x564]
sub eax, dword [rbp + 0x55c]
mov dword [rbp + 0x9f8], eax
mov eax, dword [rbp + 0x568]
sub eax, dword [rbp + 0x560]
mov dword [rbp + 0x9fc], eax
mov rdx, qword [rbp - 0x78]
mov rcx, r15
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov edx, 1
mov rcx, r15
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov rdx, qword [rbp - 0x40]
mov rcx, r15
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x1400f3090]
call qword [str.__f_]
mov r8, rax
lea rdx, [rbp + 0x9f0]
mov rcx, r15
mov rax, qword [0x1400f3108]
call qword [str.__f_]
mov qword [rsp + 0x28], rbx
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9f0]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x38]
mov rcx, r15
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov eax, 1
cmp dword [rbp - 8], eax
jne 0x1400753b2
cmp dword [rbp - 0x60], ebx
je 0x1400753a9
lea ecx, [rax + 7]
mov rax, qword [0x1400f3138]
call qword [str.__f_]
jmp 0x1400753b7
mov dword [rbp - 0x28], 0xffffff
jmp 0x1400753bd
mov eax, 0xffa8a8a8
mov dword [rbp - 0x28], eax
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x55c]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, ebx
mov r9d, ebx
cmovns r9d, eax
mov eax, dword [rbp + 0x560]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, ebx
mov edx, ebx
cmovns edx, eax
movsxd r10, dword [rbp + 0x9f8]
mov eax, r10d
sub eax, r8d
mov r11d, r13d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9fc]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x1400755a4
test edi, edi
jle 0x1400755a4
imul ecx, r10d
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x90]
lea r13, [rax + rcx*4]
movsxd r8, dword [rsp + 0x78]
imul edx, r8d
movsxd rcx, edx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x20]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x38], rax
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x40], rcx
mov rdx, r8
shl rdx, 2
mov qword [rbp + 0x38], rdx
mov qword [rsp + 0x68], rdi
mov esi, dword [rbp + 0x70]
mov r14d, 1
test r11d, r11d
jle 0x140075585
lea r9, [r13 + 2]
mov r10, rax
sub r10, r13
mov edi, r11d
mov qword [rbp - 0x20], 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 0x140075563
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x27]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x26]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x20]
add r9, 4
sub rdi, r14
mov qword [rbp - 0x20], rdi
jne 0x140075498
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp + 0x38]
mov rdi, qword [rsp + 0x68]
add r13, rcx
add rax, rdx
mov qword [rbp - 0x38], rax
sub rdi, r14
mov qword [rsp + 0x68], rdi
jne 0x14007547e
mov esi, dword [rsp + 0x60]
mov r14d, ebx
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x1400755d1
mov rdx, rax
mov rcx, r15
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov rcx, r15
mov rax, qword [0x1400f3050]
call qword [str.__f_]
test r14d, r14d
js 0x140075e93
mov r13, rbx
mov rdi, qword [rbp + 0x58]
jmp 0x14007693c
cmp dword [rbp + 0x514], ebx
jne 0x140075605
cmp r12d, r13d
mov al, 0xc0
jne 0x140075607
mov al, 0xff
and word [rbp + 0x30], 0
mov byte [rbp + 0x32], al
mov byte [rbp + 0x33], r13b
xor eax, eax
mov qword [rbp + 0x9a0], rax
mov qword [rbp + 0x9a8], rax
mov qword [rbp + 0x9b0], rax
mov qword [rbp + 0x9b8], rax
mov rcx, r15
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov r13, rax
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140075185
mov eax, 1
cmp r12d, eax
jne 0x140075726
mov edx, dword [rbp + 0x564]
mov eax, edx
mov r8d, dword [rbp + 0x55c]
sub eax, r8d
mov r9d, dword [rbp + 0x554]
mov r14d, r9d
mov r10d, dword [rbp + 0x54c]
sub r14d, r10d
cmp eax, r14d
cmovg r14d, eax
mov ecx, dword [rbp + 0x568]
mov r11d, dword [rbp + 0x550]
sub ecx, r11d
mov dword [rbp - 0x78], ecx
mov edi, ebx
mov r15d, ebx
cmp dword [rbp + 0x510], ebx
je 0x1400756cb
mov edi, r10d
sub edi, r9d
add edi, r14d
mov dword [rbp + 0x9a0], edi
mov r15d, r8d
sub r15d, edx
add r15d, r14d
mov dword [rbp + 0x9b0], r15d
sub edi, r10d
add edi, r9d
mov dword [rbp + 0x9a8], edi
mov r12d, dword [rbp + 0x558]
sub r12d, r11d
mov dword [rbp + 0x9ac], r12d
sub r15d, r8d
add r15d, edx
mov dword [rbp + 0x9b8], r15d
mov eax, dword [rbp + 0x560]
sub eax, r11d
mov dword [rbp + 0x9b4], eax
mov r13d, eax
sub r13d, dword [rbp + 0x560]
add r13d, dword [rbp + 0x568]
mov dword [rbp - 0x28], r13d
mov dword [rbp + 0x9bc], r13d
mov r13, qword [rbp - 0x38]
jmp 0x140075777
mov r14d, dword [rbp + 0x998]
mov ecx, dword [rbp + 0x99c]
mov dword [rbp - 0x78], ecx
movups xmm0, xmmword [rbp + 0x54c]
movdqu xmmword [rbp + 0x9a0], xmm0
movups xmm1, xmmword [rbp + 0x55c]
movdqu xmmword [rbp + 0x9b0], xmm1
mov r12d, dword [rbp + 0x9ac]
mov edi, dword [rbp + 0x9a8]
mov eax, dword [rbp + 0x9bc]
mov dword [rbp - 0x28], eax
mov r15d, dword [rbp + 0x9b8]
mov eax, dword [rbp + 0x9b4]
mov dword [rsp + 0x78], eax
mov qword [rbp + 0x3e8], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa60], xmm0
mov qword [rbp + 0xa70], rbx
mov dword [rbp + 0xa78], ebx
mov dword [rbp + 0xa50], 0x28
mov dword [rbp + 0xa54], r14d
mov eax, ecx
neg eax
mov dword [rbp + 0xa58], eax
mov dword [rbp + 0xa5c], 0x200001
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x3e8]
xor r8d, r8d
lea rdx, [rbp + 0xa50]
mov rcx, r13
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov qword [rbp + 0x68], rax
test rax, rax
jne 0x1400757fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140075e7e
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov eax, 1
cmp dword [rbp - 8], eax
jne 0x140075855
mov r8, qword [rbp + 0xc8]
test r8, r8
je 0x140075855
and qword [rbp + 0xa10], 0
mov dword [rbp + 0xa18], r14d
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0xa1c], eax
lea rdx, [rbp + 0xa10]
mov rcx, r13
mov rax, qword [0x1400f3108]
call qword [str.__f_]
mov eax, dword [rbp + 0x514]
mov dword [rbp + 0x28], eax
mov rax, qword [rbp + 0x530]
mov qword [rbp + 0x38], rax
mov r13, qword [rbp + 0x518]
mov qword [rbp + 0x118], r13
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x5f0]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x890]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x90], rbx
mov dword [rbp - 0x80], ebx
mov dword [rbp - 0x60], ebx
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa80]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9d0], rax
mov qword [rbp + 0x9d8], rax
test r13, r13
mov r13, qword [rbp - 0x38]
je 0x140075e65
lea edx, [rax + 7]
mov rcx, r13
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
jne 0x1400758fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140075e65
lea r8, [rbp + 0x5f0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x14007593a
mov rax, qword [rbp + 0x608]
mov qword [rbp + 0x90], rax
mov eax, dword [rbp + 0x5f4]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0x5f8]
mov dword [rbp - 0x60], eax
mov rcx, r13
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov rcx, rax
mov qword [rbp - 0x20], rax
test rax, rax
je 0x1400758ef
sub r12d, dword [rbp + 0x9a4]
sub edi, dword [rbp + 0x9a0]
mov qword [rbp + 0x3f0], rbx
mov r13d, ebx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa90], xmm0
mov qword [rbp + 0xaa0], rbx
mov dword [rbp + 0xaa8], ebx
mov dword [rbp + 0xa80], 0x28
mov dword [rbp + 0xa84], edi
mov eax, r12d
neg eax
mov dword [rbp + 0xa88], eax
mov dword [rbp + 0xa8c], 0x200001
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x3f0]
xor r8d, r8d
lea rdx, [rbp + 0xa80]
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x140075a05
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x140075d51
mov r13d, 0x80004005
jmp 0x140075d51
lea r8, [rbp + 0x890]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
mov rcx, rbx
test eax, eax
cmovne rcx, qword [rbp + 0x8a8]
mov qword [rbp + 0x78], rcx
mov dword [rbp + 0x9d8], edi
mov dword [rbp + 0x9dc], r12d
mov rdx, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x20]
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov r12d, 1
mov edx, r12d
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov rdx, qword [rbp + 0x38]
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp + 0x80], rax
xor ecx, ecx
mov rax, qword [0x1400f3090]
call qword [str.__f_]
mov r8, rax
lea rdx, [rbp + 0x9d0]
mov rcx, rdi
mov rax, qword [0x1400f3108]
call qword [str.__f_]
mov qword [rsp + 0x28], rbx
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9d0]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x118]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
cmp dword [rbp - 8], r12d
jne 0x140075b08
cmp dword [rbp + 0x28], ebx
je 0x140075b01
lea ecx, [r12 + 7]
mov rax, qword [0x1400f3138]
call qword [str.__f_]
jmp 0x140075b0d
mov eax, 0xffffff
jmp 0x140075b0d
mov eax, 0xffa8a8a8
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x9a0]
mov r9d, eax
neg r9d
test eax, eax
cmovns r9d, ebx
mov r10d, ebx
cmovns r10d, eax
mov eax, dword [rbp + 0x9a4]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, ebx
mov r8d, ebx
cmovns r8d, eax
mov eax, dword [rbp + 0x9d8]
sub eax, r9d
movsxd r12, dword [rbp - 0x80]
mov r11d, r12d
sub r11d, r10d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9dc]
sub eax, ecx
mov edx, dword [rbp - 0x60]
sub edx, r8d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x140075d21
test edx, edx
jle 0x140075d21
imul ecx, dword [rbp + 0x9d8]
movsxd rcx, ecx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x78]
lea rdi, [rax + rcx*4]
mov qword [rbp - 0x60], rdi
imul r8d, r12d
movsxd rcx, r8d
movsxd rax, r10d
add rcx, rax
mov rax, qword [rbp + 0x90]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x80], rax
movsxd rcx, dword [rbp + 0x9d8]
shl rcx, 2
mov qword [rbp + 0x78], rcx
mov r8, r12
shl r8, 2
mov qword [rbp + 0x118], r8
mov qword [rbp + 0x38], rdx
mov r13d, dword [rbp + 0x28]
mov esi, 1
test r11d, r11d
jle 0x140075cfb
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp + 0x90], 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 0x140075cd0
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r13b
sub ecx, edi
imul ecx, r8d
mov r12d, 0x80808081
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp + 0x29]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp + 0x2a]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp + 0x90]
add r9, 4
sub rdi, rsi
mov qword [rbp + 0x90], rdi
jne 0x140075bfc
mov rdi, qword [rbp - 0x60]
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp + 0x78]
mov r8, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x38]
add rdi, rcx
mov qword [rbp - 0x60], rdi
add rax, r8
mov qword [rbp - 0x80], rax
sub rdx, rsi
mov qword [rbp + 0x38], rdx
jne 0x140075bdf
mov esi, dword [rsp + 0x60]
mov r13d, ebx
mov rdi, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x40]
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp + 0x80]
test rax, rax
je 0x140075d51
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov rcx, qword [rbp - 0x20]
mov rax, qword [0x1400f3050]
call qword [str.__f_]
test r13d, r13d
js 0x140075e61
mov eax, dword [rbp + 0x514]
mov dword [rsp + 0x68], eax
mov rax, qword [rbp + 0x538]
mov qword [rbp + 0x80], rax
mov r12, qword [rbp + 0x520]
mov qword [rbp + 0x78], r12
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x740]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x900]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x40], rbx
mov dword [rbp - 0x60], ebx
mov edi, ebx
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xab0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xa00], rax
mov qword [rbp + 0xa08], rax
mov r13, qword [rbp - 0x38]
test r12, r12
je 0x140075e65
lea edx, [rax + 7]
mov rcx, r13
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
je 0x1400758ef
lea r8, [rbp + 0x740]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x140075e3f
mov rax, qword [rbp + 0x758]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp + 0x744]
mov dword [rbp - 0x60], eax
mov edi, dword [rbp + 0x748]
mov rcx, r13
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov r13, rax
test rax, rax
jne 0x140076499
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13, qword [rbp - 0x38]
mov rax, qword [rbp + 0x68]
test rax, rax
je 0x140075e7e
mov rcx, rax
mov rax, qword [0x1400f3058]
call qword [str.__f_]
test r13, r13
je 0x140075e93
mov rcx, r13
mov rax, qword [0x1400f3050]
call qword [str.__f_]
mov r13d, 1
mov rax, qword [rbp + 0xc8]
test rax, rax
je 0x140075eb5
mov rcx, rax
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp + 0x518]
or r14, 0xffffffffffffffff
test rax, rax
je 0x140075f06
mov rcx, r14
inc rcx
cmp word [rax + rcx*2], bx
jne 0x140075ec8
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x518]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x518]
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 + 0x518], rbx
mov rax, qword [rbp + 0x520]
test rax, rax
je 0x140075f53
mov rcx, r14
inc rcx
cmp word [rax + rcx*2], bx
jne 0x140075f15
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x520]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x520]
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 + 0x520], rbx
mov rdi, qword [rbp + 0x528]
test rdi, rdi
je 0x140075f99
mov rcx, r14
inc rcx
cmp word [rdi + rcx*2], bx
jne 0x140075f62
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x528]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x528], rbx
mov rcx, qword [rbp + 0x530]
test rcx, rcx
je 0x140075fb9
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov qword [rbp + 0x530], rbx
mov rcx, qword [rbp + 0x538]
test rcx, rcx
je 0x140075fd9
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov qword [rbp + 0x538], rbx
mov rcx, qword [rbp + 0x540]
test rcx, rcx
je 0x140075ff9
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov qword [rbp + 0x540], rbx
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r13d
jne 0x140075ff9
mov eax, dword [0x1400f8cc8]
test eax, eax
jle 0x140076069
sub eax, r13d
mov dword [0x1400f8cc8], eax
jne 0x140076069
lea r15, [0x1400f76c0]
mov rdi, r15
mov r14d, 4
cmp qword [rdi], rbx
je 0x140076039
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x14007602b
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
mov eax, ebx
xchg dword [0x1400f8ccc], eax
mov eax, dword [0x1400f6fe8]
mov dword [rbp - 0x60], eax
mov rax, qword [0x1400f30b8]
call qword [str.__f_]
sub eax, dword [0x1400f8cc0]
mov qword [rbp + 0x80], rax
mov dword [rbp + 0xd80], ebx
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0xd88]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r13d
jne 0x1400760ac
mov eax, dword [0x1400f8cc8]
test eax, eax
jne 0x140076b46
mov dword [rsp + 0x78], ebx
mov dword [rbp - 0x78], ebx
mov qword [rbp + 0x1a8], rbx
mov qword [rbp + 0x2e8], rbx
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 + 0xb0], rax
test rax, rax
je 0x140076abd
mov esi, ebx
or r14d, 0xffffffff
mov edx, ebx
mov dword [rbp - 4], ebx
mov r11d, ebx
mov dword [rbp + 0x10], ebx
lea r12, [rax + 7]
lea r13, [0x1400dbce2]
mov ecx, 0x67
lea r15d, [rcx - 0x66]
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor r11d, r10d
lea r13, [r13 + 8]
mov r8d, r11d
xor r8d, r9d
xor r8d, edx
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
mov edx, r8d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov edx, r11d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r8d, eax
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov edx, r8d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov eax, r8d
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, 0x7f1
xor eax, edi
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, 0xab69605e
mov eax, r8d
xor eax, edi
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r8d, edx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r8d, edx
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, esi
xor r11d, edx
mov dword [rbp + 0x10], r11d
xor r8d, r14d
mov dword [rbp - 4], r8d
mov byte [r12 - 4], r11b
ror dword [rbp + 0x10], 8
mov al, byte [rbp - 4]
mov byte [r12], al
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x10]
mov byte [r12 - 5], al
ror dword [rbp + 0x10], 8
mov al, byte [rbp - 4]
mov byte [r12 - 1], al
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x10]
mov byte [r12 - 6], al
ror dword [rbp + 0x10], 8
mov al, byte [rbp - 4]
mov byte [r12 - 2], al
ror dword [rbp - 4], 8
mov al, byte [rbp + 0x10]
mov byte [r12 - 7], al
mov al, byte [rbp - 4]
mov byte [r12 - 3], al
mov r11d, dword [rbp + 0x10]
ror r11d, 8
mov dword [rbp + 0x10], r11d
mov edx, dword [rbp - 4]
ror edx, 8
mov dword [rbp - 4], edx
mov esi, r10d
mov r14d, r9d
lea r12, [r12 + 8]
sub rcx, r15
jne 0x140076128
mov rax, rbx
mov cl, bl
mov esi, dword [rsp + 0x60]
mov r14d, ebx
mov r15, qword [rbp + 0xb0]
mov r13d, ebx
mov edx, 0x338
mov r8d, 1
xor cl, byte [r15 + rax]
add rax, r8
cmp rax, rdx
jb 0x140076472
movzx eax, cl
cmp rax, qword [0x1400dc018]
je 0x140076955
mov r13d, 0xc004d501
jmp 0x140076966
mov eax, dword [rbp - 0x28]
sub eax, dword [rsp + 0x78]
mov dword [rbp - 0x28], eax
sub r15d, dword [rbp + 0x9b0]
mov qword [rbp + 0x408], rbx
mov r12d, ebx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xac0], xmm0
mov qword [rbp + 0xad0], rbx
mov dword [rbp + 0xad8], ebx
mov dword [rbp + 0xab0], 0x28
mov dword [rbp + 0xab4], r15d
neg eax
mov dword [rbp + 0xab8], eax
mov dword [rbp + 0xabc], 0x200001
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x408]
xor r8d, r8d
lea rdx, [rbp + 0xab0]
mov rcx, r13
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov qword [rbp + 0x28], rax
test rax, rax
jne 0x14007654d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140076895
mov r12d, 0x80004005
jmp 0x140076895
lea r8, [rbp + 0x900]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
mov rcx, rbx
test eax, eax
cmovne rcx, qword [rbp + 0x918]
mov qword [rbp + 0x118], rcx
mov dword [rbp + 0xa08], r15d
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0xa0c], eax
mov rdx, qword [rbp + 0x28]
mov rcx, r13
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov r15d, 1
mov edx, r15d
mov rcx, r13
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov rdx, qword [rbp + 0x80]
mov rcx, r13
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp + 0xb0], rax
xor ecx, ecx
mov rax, qword [0x1400f3090]
call qword [str.__f_]
mov r8, rax
lea rdx, [rbp + 0xa00]
mov rcx, r13
mov rax, qword [0x1400f3108]
call qword [str.__f_]
mov qword [rsp + 0x28], rbx
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xa00]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x78]
mov rcx, r13
mov rax, qword [fcn.140052380]
call qword [str.__f_]
cmp dword [rbp - 8], r15d
jne 0x140076654
cmp dword [rsp + 0x68], ebx
je 0x14007664b
lea ecx, [r15 + 7]
mov rax, qword [0x1400f3138]
call qword [str.__f_]
jmp 0x140076659
mov dword [rbp - 0x28], 0xffffff
jmp 0x14007665f
mov eax, 0xffa8a8a8
mov dword [rbp - 0x28], eax
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x9b0]
mov edx, eax
neg edx
test eax, eax
cmovns edx, ebx
mov r8d, ebx
cmovns r8d, eax
mov eax, dword [rsp + 0x78]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, ebx
mov r9d, ebx
cmovns r9d, eax
movsxd r15, dword [rbp + 0xa08]
mov eax, r15d
sub eax, edx
movsxd r10, dword [rbp - 0x60]
mov r11d, r10d
sub r11d, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0xa0c]
sub eax, ecx
sub edi, r9d
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x140076865
test edi, edi
jle 0x140076865
mov eax, r15d
imul eax, ecx
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp + 0x118]
lea rdx, [rax + rcx*4]
mov qword [rbp + 0x38], rdx
mov eax, r10d
imul eax, r9d
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x40]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x90], rax
mov rcx, r15
shl rcx, 2
mov qword [rbp + 0x80], rcx
mov r8, r10
shl r8, 2
mov qword [rbp + 0x78], r8
mov qword [rbp - 0x20], rdi
mov esi, dword [rbp + 0x70]
mov r12d, 1
test r11d, r11d
jle 0x140076840
lea r9, [rdx + 2]
mov r10, rax
sub r10, rdx
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 0x140076815
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
mov r15d, 0x80808081
mov eax, r15d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x27]
sub ecx, edi
imul ecx, r8d
mov eax, r15d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x26]
sub ecx, edi
imul ecx, r8d
mov eax, r15d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r15d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x40]
add r9, 4
sub rdi, r12
mov qword [rbp - 0x40], rdi
jne 0x140076744
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x80]
mov r8, qword [rbp + 0x78]
mov rdi, qword [rbp - 0x20]
add rdx, rcx
mov qword [rbp + 0x38], rdx
add rax, r8
mov qword [rbp + 0x90], rax
sub rdi, r12
mov qword [rbp - 0x20], rdi
jne 0x14007672a
mov esi, dword [rsp + 0x60]
mov r12d, ebx
mov rcx, qword [rbp + 0x28]
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x140076895
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov rcx, r13
mov rax, qword [0x1400f3050]
call qword [str.__f_]
test r12d, r12d
js 0x140075e61
mov eax, 1
mov r13, qword [rbp - 0x38]
mov r9d, r14d
mov rdi, qword [rbp + 0x58]
cmp dword [rbp - 8], eax
mov eax, dword [rbp - 0x78]
jne 0x1400768fe
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x550]
mov edx, dword [rbp + 0x54c]
mov rcx, rdi
mov rax, qword [0x1400f3020]
call qword [str.__f_]
jmp 0x14007693c
mov ecx, dword [rbp + 0x30]
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x994]
mov edx, dword [rbp + 0x990]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov edx, dword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
jmp 0x140075e65
mov qword [rbp + 0x1a8], r15
mov r15, rbx
mov qword [rbp + 0x2e8], rdx
test r15, r15
je 0x14007697f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13d, r13d
js 0x140076abd
mov rdi, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x2e8]
mov byte [rax + rdi - 1], bl
xor edx, edx
lea r8d, [rdx + 0x60]
lea r15, [0x1400f76c0]
mov rcx, r15
call sub.msvcrt.dll_memset
jmp 0x140076ab3
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x1400769bb
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x78]
lea rcx, [rax + rax*2]
lea r15, [r15 + rcx*8]
mov r8, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x140076abd
mov r14d, ebx
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400769fe
mov r14d, 0xc000007b
jmp 0x140076a4a
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400769f6
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x1400769f6
cmp dword [rcx], 0x4550
jne 0x1400769f6
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140076a38
mov r14d, 0xc000000d
jmp 0x140076a4a
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov r13d, dword [rdi + 2]
add rdi, 6
mov r12d, ebx
test r13d, r13d
je 0x140076aa4
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x140076a61
inc rdi
add rdi, rax
test r14d, r14d
js 0x140076a91
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140076ac3
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1400f3020]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rsp + 0x78], eax
add r12d, eax
cmp r12d, r13d
jb 0x140076a5a
jmp 0x140076aa9
mov eax, 1
add dword [rbp - 0x78], eax
lea r15, [0x1400f76c0]
cmp byte [rdi], bl
jne 0x1400769b4
jmp 0x140076ac3
mov r14d, 0xc000007a
cmp qword [rbp + 0x1a8], rbx
je 0x140076ae4
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]
mov r13d, 1
test r14d, r14d
jns 0x140076b40
lea r15, [0x1400f76c0]
mov rdi, r15
lea r14d, [r13 + 3]
cmp qword [rdi], rbx
je 0x140076b0b
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x140076afd
lea r12d, [r14 + 0x60]
mov r8d, r12d
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
jmp 0x140076b5c
mov eax, dword [0x1400f8cc8]
add eax, r13d
mov dword [0x1400f8cc8], eax
lea r15, [0x1400f76c0]
mov r12d, 0x60
mov eax, ebx
xchg dword [0x1400f8ccc], eax
mov rcx, qword [rbp + 0x80]
mov dword [rbp + 0xd88], ecx
mov dword [rbp + 0xd80], r13d
mov dword [rbp + 0xd98], 0x9966f291
mov dword [rbp + 0xd90], r13d
mov dword [rbp + 0xda8], r13d
mov dword [rbp + 0xda0], r13d
mov eax, dword [rbp - 0x60]
mov dword [rbp + 0xdb8], eax
mov dword [rbp + 0xdb0], r13d
lea r9, [rbp + 0xd80]
mov r14d, 4
mov r8d, r14d
mov edx, 0x2021
xor ecx, ecx
mov rax, qword [0x1400f30f0]
call qword [str.__f_]
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r13d
jne 0x140076bcb
mov eax, dword [0x1400f8cc8]
test eax, eax
jle 0x140076c2d
sub eax, r13d
mov dword [0x1400f8cc8], eax
jne 0x140076c2d
mov rdi, r15
cmp qword [rdi], rbx
je 0x140076bfe
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x140076bf0
mov r8, r12
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
mov eax, ebx
xchg dword [0x1400f8ccc], eax
mov rdx, qword [rbp + 0x58]
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
lea rcx, [rbp + 0x418]
call fcn.14000495c
cmp dword [rbp + 0x60], ebx
je 0x140078a5e
mov r14, rbx
mov r15, rbx
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x170], rax
mov dword [rbp + 0x110], ebx
lea rax, [0x1400f6470]
mov qword [rbp + 0x420], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x2f0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edi, 8
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x1400789d7
mov r8, qword [rbp + 0x2f0]
mov rdx, qword [rbp + 0x420]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r14, r12
mov qword [rsp + 0x68], r12
mov r13d, dword [rbp + 0x2f0]
lea rax, [0x1400f63b0]
mov qword [rbp + 0x428], rax
mov qword [rbp + 0x288], 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 + 0xb0], rax
test rax, rax
je 0x1400789d7
mov r8, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x428]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r15, rdi
mov qword [rbp - 0x80], rdi
mov ecx, dword [rbp + 0x288]
mov dword [rsp + 0x70], ecx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2f8], rax
mov dword [rbp + 0xe8], 8
lea r14d, [r13 + 4]
cmp r14d, 4
jb 0x1400789cb
mov dword [rbp + 0xe8], r14d
lea eax, [r14 + 8]
or edi, 0xffffffff
mov edx, edi
cmp eax, 8
cmovae edx, eax
jb 0x1400789cb
lea r15d, [rcx + 4]
cmp r15d, 4
jb 0x1400789d0
mov dword [rbp + 0xe8], r15d
lea eax, [r15 + rdx]
mov ecx, edi
cmp eax, edx
cmovae ecx, eax
jb 0x1400789d0
mov dword [rbp + 0xe8], SafeArrayDestroy
lea eax, [rcx + 0xc]
mov edx, edi
cmp eax, ecx
cmovae edx, eax
jb 0x1400789d0
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 0x1400789d0
mov qword [rbp + 8], rax
mov dword [rbp], ebx
mov dword [rbp + 0x230], 4
lea rdi, [rax + 4]
cmp rdi, rax
jb 0x1400789d0
mov ecx, dword [rbp + 4]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x1400789d0
mov dword [rdx], 4
mov eax, dword [rbp + 0x230]
mov dword [rdi], eax
mov edi, dword [rbp]
inc edi
mov dword [rbp], edi
test r13d, r13d
je 0x140076ee6
cmp qword [rbp + 8], rbx
jne 0x140076e6e
mov dword [rbp + 0x22c], r14d
mov eax, dword [rbp + 4]
lea ecx, [rax + r14]
cmp ecx, eax
jb 0x1400789d0
mov dword [rbp + 4], ecx
lea eax, [rdi + 1]
mov dword [rbp], eax
jmp 0x140076ef6
mov rcx, qword [rbp + 8]
mov edx, ebx
mov r14d, 1
test edi, edi
je 0x140076ea9
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400789d0
mov dword [rbp + 0x22c], eax
add rax, rcx
cmp rax, rcx
jb 0x1400789d0
mov rcx, rax
add edx, r14d
cmp edx, dword [rbp]
jb 0x140076e7e
lea r9, [rcx + 4]
cmp r9, rcx
jb 0x1400789d0
mov edi, ebx
mov r8, r13
mov edx, dword [rbp + 4]
add rdx, qword [rbp + 8]
lea rax, [r13 + 4]
add rax, rcx
cmp rax, rdx
ja 0x1400789d0
mov dword [rcx], r13d
mov rdx, r12
mov rcx, r9
call sub.msvcrt.dll_memcpy
add dword [rbp], r14d
jmp 0x140076eeb
mov edi, 0xc000000d
test edi, edi
js 0x1400789d0
mov ecx, dword [rbp + 4]
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x140076fbc
cmp qword [rbp + 8], rbx
jne 0x140076f3c
mov dword [rbp + 0x228], r15d
lea eax, [rcx + r15]
cmp eax, ecx
jb 0x1400789d0
mov ecx, eax
mov r15d, 1
add dword [rbp], r15d
mov rax, qword [rbp + 0x2f8]
mov qword [rbp + 0x300], rax
jmp 0x140076fe5
mov rdi, qword [rbp + 8]
mov edx, ebx
mov r15d, 1
cmp dword [rbp], ebx
jbe 0x140076f7b
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x1400789d0
mov dword [rbp + 0x228], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x1400789d0
mov rdi, r9
add edx, r15d
cmp edx, dword [rbp]
jb 0x140076f4d
lea r9, [rdi + 4]
cmp r9, rdi
jb 0x1400789d0
mov r14d, ebx
mov edx, ecx
add rdx, qword [rbp + 8]
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rdx
ja 0x1400789d0
mov dword [rdi], r8d
mov rdx, qword [rbp + 0xb0]
mov rcx, r9
call sub.msvcrt.dll_memcpy
add dword [rbp], r15d
mov ecx, dword [rbp + 4]
jmp 0x140076fc8
mov r14d, 0xc000000d
mov r15d, 1
test r14d, r14d
js 0x1400789d0
mov rax, qword [rbp + 0x2f8]
mov qword [rbp + 0x300], rax
cmp qword [rbp + 8], rbx
jne 0x140076fff
mov dword [rbp + 0x218], SafeArrayDestroy
lea edi, [rcx + 0xc]
cmp edi, ecx
jb 0x1400789d0
mov dword [rbp + 4], edi
jmp 0x14007706b
mov rdx, qword [rbp + 8]
mov edi, ebx
cmp dword [rbp], ebx
jbe 0x140077038
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400789d0
mov dword [rbp + 0x218], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400789d0
mov rdx, r8
add edi, r15d
cmp edi, dword [rbp]
jb 0x14007700a
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400789d0
add rcx, qword [rbp + 8]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x1400789c7
mov dword [rdx], 8
movsd xmm0, qword [rbp + 0x300]
movsd qword [rdi], xmm0
mov edi, dword [rbp + 4]
add dword [rbp], r15d
mov dword [rbp + 0x368], SafeArrayDestroy
mov rcx, rbx
mov qword [rbp + 0x58], rbx
mov r12d, ebx
mov qword [rbp + 0x1b0], rbx
mov qword [rbp - 0x38], rbx
mov dword [rbp - 0x60], ebx
mov qword [rbp - 0x78], rbx
mov dword [rbp + 0x40], ebx
mov r15, rbx
mov qword [rbp + 0xc8], rbx
mov r13, rbx
mov qword [rbp - 0x20], rbx
mov dword [rbp + 0xec], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x308], rax
add edi, 8
cmp edi, 8
jb 0x14007718e
mov dword [rbp + 0xd4], edi
mov eax, edi
add rax, 7
and eax, 0xfffffff8
cmp eax, edi
jb 0x140077195
mov dword [rbp + 0xd4], 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 r14, rax
test rax, rax
jne 0x140077116
mov edi, 0xc0000017
mov rcx, rbx
jmp 0x14007719a
mov eax, dword [rbp]
mov dword [r14], eax
lea rdx, [r14 + 4]
cmp rdx, r14
jb 0x140077167
mov eax, dword [rbp + 4]
mov dword [rdx], eax
lea rcx, [rdx + 4]
cmp rcx, rdx
jb 0x140077167
mov edi, ebx
mov edx, dword [rbp + 0xd4]
mov rax, qword [rbp + 0x308]
mov qword [rdx + r14 - 8], rax
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 8]
call sub.msvcrt.dll_memcpy
mov rcx, r14
mov qword [rbp + 0x58], rcx
mov r14, rbx
mov r12d, dword [rbp + 0xd4]
jmp 0x14007716f
mov rcx, rbx
mov edi, 0xc0000095
test r14, r14
je 0x14007719a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp + 0x58]
jmp 0x14007719a
or dword [rbp + 0xd4], 0xffffffff
mov edi, 0xc0000095
or edi, 0x10000000
jl 0x140077bda
mov qword [rbp + 0x438], rbx
mov qword [rbp + 0x470], rbx
mov qword [rbp + 0x448], rbx
mov qword [rbp + 0x450], rbx
mov qword [rbp + 0x1d0], rbx
mov qword [rbp + 0x430], rbx
test rcx, rcx
jne 0x1400771df
mov edi, 0xc000000d
jmp 0x140077945
mov r14d, r12d
mov qword [rbp + 0x80], r14
test r12d, r12d
je 0x14007789d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8, [r14 + 8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x78], rax
test rax, rax
je 0x14007789d
mov dl, bl
mov byte [rsp + 0x64], bl
mov rcx, rbx
mov r10, qword [rbp + 0x58]
test r12d, r12d
je 0x14007723c
mov r8d, 1
xor dl, byte [rcx + r10]
add rcx, r8
cmp rcx, r14
jb 0x14007722c
mov byte [rsp + 0x64], dl
movabs rcx, 0xc81ecb17b1b54a58
mov qword [rbp + 0x970], rcx
mov r9, rax
mov edi, ebx
mov dword [rbp - 0x2c], ebx
or r11d, 0xffffffff
mov dword [rbp - 0x4c], r11d
mov r12d, ebx
mov dword [rbp + 0x28], ebx
mov r8, r14
and r8d, 7
je 0x140077334
mov ecx, ebx
mov dword [rbp + 0x28], ebx
mov r11d, ebx
test r8d, r8d
je 0x1400772b3
mov edi, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x14007729b
lea ecx, [rdi - 0x20]
shl eax, cl
mov ecx, dword [rbp + 0x28]
or ecx, eax
mov dword [rbp + 0x28], ecx
jmp 0x1400772a5
mov ecx, edi
shl eax, cl
or r12d, eax
mov ecx, dword [rbp + 0x28]
inc r10
inc r11d
sub edi, 8
cmp r11d, r8d
jl 0x140077282
mov edi, ecx
xor edi, 0xb17a307a
mov dword [rbp - 0x2c], edi
mov r11d, r12d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x4c], r11d
mov eax, ebx
test r8d, r8d
je 0x1400772fd
mov ecx, 1
cmp eax, 4
jge 0x1400772e5
rol edi, 8
mov byte [r9], dil
jmp 0x1400772ec
rol r11d, 8
mov byte [r9], r11b
inc r9
add eax, ecx
cmp eax, r8d
jl 0x1400772d8
mov edi, dword [rbp - 0x2c]
mov r11d, dword [rbp - 0x4c]
cmp r8d, 4
jbe 0x14007731a
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x4c], r11d
jmp 0x140077334
mov r11d, ebx
mov dword [rbp - 0x4c], ebx
jae 0x140077334
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp - 0x2c], edi
mov rax, r14
shr rax, 3
test rax, rax
je 0x14007769b
movzx edx, word [rbp + 0x976]
movzx esi, word [rbp + 0x974]
lea r14, [r9 + 7]
lea rbx, [r10 + 2]
mov r15, rax
mov r13d, dword [rbp + 0x28]
movzx r10d, byte [rbx - 2]
shl r10d, 8
movzx eax, byte [rbx - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 1]
or r10d, eax
movzx r9d, byte [rbx + 2]
shl r9d, 8
movzx eax, byte [rbx + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 5]
or r9d, eax
xor r11d, r9d
lea rbx, [rbx + 8]
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
xor r8d, dword [rbp + 0x974]
mov edi, r8d
xor edi, dword [rbp + 0x974]
ror edi, 0xf
mov ecx, r8d
ror ecx, 7
movzx eax, word [rbp + 0x972]
imul eax, edi
add ecx, eax
xor r11d, ecx
lea edi, [r11 - 0x4e4ab5a8]
ror edi, 9
mov ecx, r11d
ror ecx, 0xa
mov eax, esi
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, esi
xor ecx, r8d
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, dword [rbp + 0x974]
sub eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x4a58]
movzx edi, word [rbp + 0x972]
imul ecx, edi
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, esi
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, edx
imul eax, esi
xor r11d, eax
mov eax, r11d
sub eax, dword [rbp + 0x974]
sub eax, 0x4a58
xor r8d, eax
mov ecx, r8d
ror ecx, 0xa
mov eax, r8d
xor eax, edx
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov edi, r11d
xor edi, 0x4a58
rol edi, 6
mov ecx, r11d
ror ecx, 3
mov eax, esi
imul eax, edi
xor ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xf
sub eax, edx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, edx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r8d, ecx
mov eax, r11d
sub eax, esi
rol eax, 3
mov ecx, r11d
shr ecx, 0xf
imul eax, eax, 0x4a58
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, esi
movzx eax, word [rbp + 0x972]
imul ecx, eax
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov edi, 0xb1b54a58
sub edi, r11d
ror edi, 9
mov ecx, r11d
ror ecx, 0xb
mov eax, esi
imul eax, edi
xor ecx, eax
xor r8d, ecx
mov eax, r8d
sub eax, edx
add eax, 0x4e4ab5a8
xor r11d, eax
mov edi, r11d
ror edi, 7
movzx eax, word [rbp + 0x972]
xor eax, r11d
imul ecx, eax, 0x4a58
sub ecx, edi
xor r8d, ecx
mov edi, r8d
xor edi, edx
rol edi, 4
mov ecx, r8d
ror ecx, 0x10
movzx eax, word [rbp + 0x972]
imul eax, edi
sub eax, ecx
xor r11d, eax
mov edi, 0xb1b54a58
sub edi, r11d
ror edi, 0xa
mov ecx, r11d
ror ecx, 4
mov eax, esi
imul eax, edi
add ecx, eax
xor r8d, ecx
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 + 0x974]
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r8d, eax
mov edi, dword [rbp + 0x974]
sub edi, r8d
ror edi, 0xb
mov ecx, r8d
ror ecx, 0xc
movzx eax, word [rbp + 0x972]
imul eax, edi
sub eax, ecx
xor r11d, eax
mov ecx, r11d
movzx eax, word [rbp + 0x972]
xor ecx, eax
imul ecx, esi
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor r8d, r13d
mov dword [rbp - 0x2c], r8d
xor r12d, r11d
xor r12d, dword [rbp + 0x974]
xor r12d, eax
xor r12d, 0xb1b54a58
mov dword [rbp - 0x4c], r12d
mov byte [r14 - 4], r8b
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x4c]
mov byte [r14], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x2c]
mov byte [r14 - 5], al
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x4c]
mov byte [r14 - 1], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x2c]
mov byte [r14 - 6], al
ror dword [rbp - 0x2c], 8
mov al, byte [rbp - 0x4c]
mov byte [r14 - 2], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x2c]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x4c]
mov byte [r14 - 3], al
mov edi, dword [rbp - 0x2c]
ror edi, 8
mov dword [rbp - 0x2c], edi
mov r11d, dword [rbp - 0x4c]
ror r11d, 8
mov dword [rbp - 0x4c], r11d
mov r13d, r10d
mov r12d, r9d
lea r14, [r14 + 8]
sub r15, 1
jne 0x140077361
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov esi, dword [rsp + 0x60]
mov r15d, ebx
mov r13d, ebx
mov r14, qword [rbp + 0x80]
movzx eax, dl
mov rdi, qword [rbp + 0x78]
mov qword [rdi + r14], rax
mov qword [rbp + 0x1d0], rdi
lea r12, [r14 + 8]
mov qword [rbp + 0x430], r12
lea rax, [0x1400f6460]
mov qword [rbp + 0x438], rax
mov r14d, 8
mov qword [rbp + 0x470], r14
lea rax, [0x1400f63c0]
mov qword [rbp + 0x448], rax
mov qword [rbp + 0x450], RegisterTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [r14 + 0x28]
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x140077714
mov edi, 0xc0000017
jmp 0x14007788d
mov dword [rax], r12d
mov r12d, r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r12d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140077740
mov edi, 0xc0000017
jmp 0x140077811
mov qword [r14 + 8], rax
mov r8, r12
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov edi, RegisterTypeLib
mov dword [r14 + 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 0x140077736
mov qword [r14 + 0x18], rax
lea rcx, [0x1400f63c0]
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 [r14 + 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 0x140077736
mov qword [r14 + 0x28], rax
mov edi, ebx
movsd xmm0, qword [0x1400f6460]
movsd qword [rax], xmm0
mov r13, r14
mov r14, rbx
test r14, r14
je 0x14007788d
mov r12, qword [r14 + 8]
test r12, r12
je 0x140077837
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 [r14 + 8], rbx
mov r12, qword [r14 + 0x18]
test r12, r12
je 0x140077858
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 [r14 + 0x18], rbx
mov r12, qword [r14 + 0x28]
test r12, r12
je 0x140077879
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 [r14 + 0x28], rbx
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 0x1400778a2
mov qword [rbp + 0x1b0], r13
mov r13, rbx
jmp 0x1400778a2
mov edi, 0xc0000001
mov r14, qword [rbp + 0x1d0]
test r14, r14
je 0x1400778c9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1d0], rbx
test r13, r13
je 0x140077945
mov r14, qword [r13 + 8]
test r14, r14
je 0x1400778ef
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 8], rbx
mov r14, qword [r13 + 0x18]
test r14, r14
je 0x140077910
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 0x18], rbx
mov r14, qword [r13 + 0x28]
test r14, r14
je 0x140077931
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 0x10000000
or edi, r13d
jl 0x140077bd7
mov r14, qword [rbp + 0x1b0]
mov edi, dword [r14 + 0x20]
mov edx, dword [r14 + 0x10]
mov ecx, dword [r14]
add ecx, 4
cmp ecx, 4
jb 0x140077a95
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140077a95
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x140077a95
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140077a95
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x140077a95
mov dword [rbp + 0x210], ecx
mov edi, ecx
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 0x1400779d5
mov edi, 0xc0000017
mov r8d, 0xc0000095
jmp 0x140077a9e
mov eax, dword [r14]
mov dword [r12], eax
lea rdi, [r12 + 4]
cmp rdi, r12
jb 0x140077a6e
mov r8d, dword [r14]
mov rdx, qword [r14 + 8]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14]
add rcx, rdi
cmp rcx, rdi
jb 0x140077a6e
mov eax, dword [r14 + 0x10]
mov dword [rcx], eax
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x140077a6e
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 0x10]
add rcx, rdi
cmp rcx, rdi
jb 0x140077a6e
mov eax, dword [r14 + 0x20]
mov dword [rcx], eax
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x140077a6e
mov r8d, dword [r14 + 0x20]
mov rdx, qword [r14 + 0x28]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 0x20]
add rcx, rdi
cmp rcx, rdi
jb 0x140077a6e
mov edi, ebx
mov qword [rbp - 0x38], r12
mov r12, rbx
mov eax, dword [rbp + 0x210]
mov dword [rbp - 0x60], eax
jmp 0x140077a73
mov edi, 0xc0000095
test r12, r12
je 0x1400779ca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400779ca
mov r8d, 0xc0000095
mov edi, r8d
or edi, r13d
jl 0x140077bd7
mov qword [rbp + 0x458], rbx
mov dword [rbp + 0x1dc], ebx
mov qword [rbp + 0x460], rbx
mov dword [rbp + 0x1d8], ebx
mov dword [rbp + 0x354], 0x1c
mov dword [rbp + 0x364], 0x28
mov dword [rbp + 0x350], 0x28
mov r12d, 1
cmp qword [rbp + 8], rbx
jne 0x140077af5
mov edi, 0xc000000d
jmp 0x140077e1b
cmp dword [rbp], r12d
jbe 0x140077aeb
mov rax, qword [rbp + 8]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140077e18
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140077e18
add edx, r12d
cmp edx, r12d
jb 0x140077b01
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140077e18
mov dword [rbp + 0x1dc], edi
mov rax, rbx
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x458], rax
cmp dword [rbp], 2
jbe 0x140077aeb
mov rax, qword [rbp + 8]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140077e18
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140077e18
add edx, r12d
cmp edx, 2
jb 0x140077b55
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140077e18
mov dword [rbp + 0x1d8], edx
mov rax, rbx
test edx, edx
cmovne rax, rcx
mov qword [rbp + 0x460], rax
lea eax, [rdi + 0x30]
cmp eax, 0x30
jb 0x140077e18
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140077e18
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140077e18
mov dword [rbp + 0x34c], eax
mov edi, ebx
cmp eax, 0x400000
jbe 0x140077e13
mov edi, 0x8000ffff
mov r13, rbx
mov r14, qword [rbp + 0x58]
test r14, r14
je 0x140077bf7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x1b0]
test r14, r14
je 0x140077c81
mov r12, qword [r14 + 8]
test r12, r12
je 0x140077c24
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 [r14 + 8], rbx
mov r12, qword [r14 + 0x18]
test r12, r12
je 0x140077c45
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 [r14 + 0x18], rbx
mov r12, qword [r14 + 0x28]
test r12, r12
je 0x140077c66
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 [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1b0], rbx
mov r14, qword [rbp - 0x38]
test r14, r14
je 0x140077c9e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp - 0x78]
test r14, r14
je 0x140077cbb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x140077d37
mov r14, qword [r15 + 8]
test r14, r14
je 0x140077ce1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], rbx
mov r14, qword [r15 + 0x18]
test r14, r14
je 0x140077d02
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], rbx
mov r14, qword [r15 + 0x28]
test r14, r14
je 0x140077d23
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x140077d50
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 0x140077e09
mov ecx, dword [rbp + 0x168]
mov r9d, 1
cmp ecx, r9d
jb 0x140077e09
mov rdi, qword [rbp + 0x170]
test rdi, rdi
je 0x140077e09
test ecx, ecx
je 0x140077e09
mov edx, dword [rdi]
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140077e09
mov dword [rbp + 0x344], edx
mov rax, rbx
test edx, edx
cmovne rax, r8
mov qword [rbp + 0x4d8], rax
cmp edx, 4
jne 0x140077e09
mov eax, dword [rax]
mov dword [rbp + 0x110], eax
test eax, eax
js 0x140077e09
cmp ecx, r9d
jbe 0x140077e09
mov ecx, ebx
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140077e09
mov edi, dword [rdi]
add rdi, rdx
cmp rdi, rdx
jb 0x140077e09
add ecx, r9d
cmp ecx, r9d
jb 0x140077dbe
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140077e09
mov dword [rbp + 0x340], ecx
mov rax, rbx
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4e0], rax
cmp ecx, 8
jne 0x140077e09
mov rax, qword [rax]
mov qword [rbp + 0x4e8], rax
mov r14, qword [rsp + 0x68]
jmp 0x1400789d3
mov dword [rbp + 0x40], eax
jmp 0x140077e1b
mov edi, r8d
test edi, edi
js 0x140077bd7
mov edi, dword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140077e4c
mov edi, 0xd0000017
mov r14, rbx
jmp 0x140077e56
mov r14, rax
mov qword [rbp - 0x78], rax
mov edi, r13d
test edi, edi
js 0x140077bd7
mov rax, qword [rbp - 0x38]
test rax, rax
jne 0x140077e71
mov edi, 0x80070057
jmp 0x140077bd7
test r14, r14
je 0x140077e67
mov qword [rbp + 0x4a0], rax
mov eax, dword [rbp - 0x60]
mov dword [rbp + 0x4b0], eax
mov qword [rbp + 0x4a8], r14
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x4b4], eax
mov dword [rbp + 0x4b8], ebx
lea r8, [rbp + 0x468]
lea rdx, [0x1400d9ed8]
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x140077ed9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x140077ed4
mov edi, 0x80004005
mov edx, dword [rbp + 0x40]
jmp 0x140077f1c
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x468]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140077eb7
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x4a0]
lea ecx, [r8 + 0x66]
call qword [str.__f_]
mov edi, eax
or edi, r13d
mov edx, dword [rbp + 0x40]
cmovge edx, dword [rbp + 0x4b4]
mov dword [rbp + 0x40], edx
cmp edi, 0xd0000023
jne 0x140077f2e
mov edi, 0x8007007a
jmp 0x140077bd7
test edi, edi
js 0x140077bd7
mov qword [rbp + 0x68], rbx
cmp edx, 4
jae 0x140077f49
mov edi, 0xc000003e
jmp 0x14007826a
mov r13d, dword [r14]
lea rcx, [r14 + 4]
cmp rcx, r14
jb 0x140078265
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x140077f3f
lea r9, [rcx + r13]
mov qword [rbp + 0x80], r9
cmp r9, rcx
jb 0x140078265
lea r8d, [r13 + 4]
cmp r8d, 4
jb 0x140078265
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x140077f3f
mov edi, dword [r9]
lea rcx, [r9 + 4]
cmp rcx, r9
jb 0x140078265
lea r9d, [r8 + 4]
cmp r9d, r8d
jb 0x140078265
mov eax, edx
sub eax, r9d
cmp eax, edi
jb 0x140077f3f
lea r10, [rcx + rdi]
cmp r10, rcx
jb 0x140078265
lea r8d, [rdi + r9]
cmp r8d, r9d
jb 0x140078265
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x140077f3f
mov r12d, dword [r10]
lea rax, [r10 + 4]
mov qword [rbp + 0x78], rax
cmp rax, r10
jb 0x140078265
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x140078265
mov eax, edx
sub eax, ecx
cmp eax, r12d
jb 0x140077f3f
lea r8d, [r12 + rcx]
cmp r8d, ecx
jb 0x140078265
cmp edx, r8d
jne 0x140077f3f
lea ecx, [r12 + rdi]
add ecx, r13d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x140077f3f
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 r14, rax
test rax, rax
jne 0x14007805f
mov edi, 0xc0000017
jmp 0x1400781c3
mov r15, qword [rbp - 0x78]
add r15, 4
je 0x1400780a6
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 0x140078092
mov edi, 0xc0000017
jmp 0x140078147
mov qword [r14 + 8], rax
mov r8, r13
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400780ac
mov dword [rax], ebx
mov qword [rax + 8], rbx
mov r15, qword [rbp + 0x80]
add r15, 4
je 0x1400780ed
mov dword [r14 + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140078088
mov qword [r14 + 0x18], rax
mov r8, rdi
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400780f5
mov dword [r14 + 0x10], ebx
mov qword [r14 + 0x18], rbx
mov rdi, qword [rbp + 0x78]
test rdi, rdi
je 0x140078136
mov dword [r14 + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140078088
mov qword [r14 + 0x28], rax
mov r8, r12
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14007813e
mov dword [r14 + 0x20], ebx
mov qword [r14 + 0x28], rbx
mov qword [rbp + 0x68], r14
mov r14, rbx
mov edi, ebx
test r14, r14
je 0x1400781c3
mov r15, qword [r14 + 8]
test r15, r15
je 0x14007816d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rbx
mov r15, qword [r14 + 0x18]
test r15, r15
je 0x14007818e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rbx
mov r15, qword [r14 + 0x28]
test r15, r15
je 0x1400781af
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, rbx
test edi, edi
cmovs r14, qword [rbp + 0x68]
mov r15, qword [rbp + 0x68]
cmovs r15, rbx
mov qword [rbp + 0xc8], r15
test r14, r14
je 0x14007826a
mov r12, qword [r14 + 8]
test r12, r12
je 0x140078206
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 [r14 + 8], rbx
mov r12, qword [r14 + 0x18]
test r12, r12
je 0x140078227
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 [r14 + 0x18], rbx
mov r12, qword [r14 + 0x28]
test r12, r12
je 0x140078248
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 [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0xc8], r15
jmp 0x14007826a
mov edi, 0xc0000095
or edi, 0x10000000
jl 0x140077bd7
mov r14, rbx
mov qword [rbp + 0x128], rbx
mov qword [rbp + 0x310], rbx
test r15, r15
jne 0x140078296
mov edi, 0xd000000d
jmp 0x140077bd7
mov rdi, qword [r15 + 8]
mov qword [rbp + 0x118], rdi
test rdi, rdi
je 0x14007828c
cmp dword [r15], ebx
je 0x14007828c
mov r12d, dword [r15]
mov dword [rsp + 0x70], ebx
test r12, r12
je 0x14007881f
add r12, 0xfffffffffffffff8
mov qword [rbp + 0x80], 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 r13, rax
mov qword [rbp + 0x78], rax
test rax, rax
je 0x140078818
mov dl, bl
mov byte [rsp + 0x64], bl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x988], rax
mov r10, rdi
mov r9, r13
mov r8, r12
and r8d, 7
mov dword [rbp - 0x44], ebx
mov edi, ebx
je 0x1400783ff
or r14d, 0xffffffff
mov dword [rbp - 0x54], r14d
mov r14d, ebx
mov dword [rbp + 0xa0], ebx
mov r11d, ebx
mov dword [rsp + 0x78], ebx
test r8d, r8d
je 0x140078379
mov esi, 0x38
movzx eax, byte [r10]
cmp edi, 4
jge 0x14007834e
lea ecx, [rsi - 0x20]
shl eax, cl
or r11d, eax
jmp 0x140078355
mov ecx, esi
shl eax, cl
or r14d, eax
inc r10
mov ecx, 1
add edi, ecx
sub esi, 8
cmp edi, r8d
jl 0x14007833b
mov dword [rbp + 0xa0], r14d
mov dword [rsp + 0x78], r11d
mov esi, dword [rsp + 0x60]
jmp 0x14007837e
mov ecx, 1
mov r14d, r11d
xor r14d, 0x92f65a5
mov dword [rbp - 0x44], r14d
mov edi, dword [rbp + 0xa0]
xor edi, 0x699a899c
mov dword [rbp - 0x54], edi
mov eax, ebx
test r8d, r8d
je 0x1400783c7
cmp eax, 4
jge 0x1400783b0
rol r14d, 8
mov byte [r9], r14b
jmp 0x1400783b6
rol edi, 8
mov byte [r9], dil
inc r9
add eax, ecx
cmp eax, r8d
jl 0x1400783a2
mov r14d, dword [rbp - 0x44]
mov edi, dword [rbp - 0x54]
cmp r8d, 4
jbe 0x1400783e1
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp - 0x54], edi
jmp 0x140078406
mov edi, ebx
mov dword [rbp - 0x54], ebx
jae 0x140078406
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr r14d, cl
shl r14d, cl
mov dword [rbp - 0x44], r14d
jmp 0x140078406
mov dword [rsp + 0x78], ebx
mov dword [rbp - 0x54], ebx
mov rax, r12
shr rax, 3
test rax, rax
je 0x140078781
mov r12d, dword [rbp + 0x98c]
movzx esi, r12w
lea rbx, [r9 + 7]
lea r15, [r10 + 2]
mov edx, dword [rsp + 0x78]
mov r13, rax
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 r14d, r11d
xor edi, r10d
lea r15, [r15 + 8]
mov r8d, r12d
xor r8d, edi
xor r8d, r14d
xor r8d, 0xab69605e
lea ecx, [r8 + 0x54969fa2]
rol ecx, 5
mov eax, r8d
rol eax, 0xa
imul ecx, esi
add eax, ecx
xor r14d, eax
lea edi, [r14 + r12]
ror edi, 9
mov ecx, r14d
rol ecx, 2
movzx r9d, word [rbp + 0x98a]
mov eax, r9d
imul eax, edi
sub eax, ecx
xor r8d, eax
mov eax, r8d
sub eax, esi
imul ecx, eax, 0x605e
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r14d, ecx
mov edi, r9d
xor edi, r14d
rol edi, 6
mov ecx, r14d
rol ecx, 2
movzx r9d, word [rbp + 0x98e]
mov eax, r9d
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, r8d
xor ecx, 0xab69605e
mov eax, r12d
sub eax, ecx
xor r14d, eax
mov ecx, r14d
ror ecx, 6
mov eax, r14d
xor eax, esi
movzx edi, word [rbp + 0x98a]
imul eax, edi
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + r12]
ror eax, 0xf
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r14d, ecx
lea edi, [r14 + 0x54969fa2]
ror edi, 0xe
mov ecx, r14d
rol ecx, 8
mov eax, r9d
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, r8d
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, r8d
ror eax, 0xa
imul ecx, esi
xor eax, ecx
xor r14d, eax
movzx edi, word [rbp + 0x98e]
mov ecx, edi
xor ecx, r14d
movzx eax, word [rbp + 0x98a]
imul ecx, eax
mov eax, r14d
shr eax, 0xa
xor ecx, eax
xor r8d, ecx
mov eax, r8d
not eax
ror eax, 5
add eax, 0x605e
imul eax, edi
xor r14d, eax
mov r9d, r14d
sub r9d, edi
xor r9d, r8d
xor r9d, 0xab69605e
mov ecx, edi
xor ecx, r9d
rol ecx, 2
imul ecx, esi
mov eax, r9d
shr eax, 2
add ecx, eax
xor r14d, ecx
mov edi, r14d
sub edi, r12d
ror edi, 6
mov ecx, r14d
rol ecx, 7
movzx r8d, word [rbp + 0x98a]
mov eax, r8d
imul eax, edi
add ecx, eax
xor r9d, ecx
mov edi, r9d
ror edi, 9
mov eax, r9d
xor eax, esi
imul ecx, eax, 0x605e
add edi, ecx
xor r14d, edi
mov edi, r8d
xor edi, r14d
rol edi, 5
mov ecx, r14d
rol ecx, 7
movzx eax, word [rbp + 0x98e]
imul eax, edi
add ecx, eax
xor r9d, ecx
mov r8d, r12d
xor r8d, r9d
xor r8d, r14d
xor r8d, 0xab69605e
mov eax, r8d
ror eax, 3
movzx r14d, word [rbp + 0x98a]
sub eax, r14d
imul eax, esi
xor r9d, eax
mov eax, r9d
sub eax, r12d
ror eax, 1
mov ecx, r9d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x54969fa2]
rol ecx, 3
mov edi, r8d
rol edi, 0xe
movzx eax, word [rbp + 0x98e]
imul eax, ecx
add edi, eax
xor r9d, edi
lea ecx, [r9 - 0x54969fa2]
rol ecx, 0xf
mov eax, r9d
ror eax, 0xe
imul ecx, esi
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, 0x605e
imul ecx, r14d
mov eax, r8d
shr eax, 3
xor ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, r12d
rol eax, 4
mov ecx, r9d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, edx
xor r8d, ecx
mov dword [rbp - 0x44], r8d
xor r9d, dword [rbp + 0xa0]
mov dword [rbp - 0x54], r9d
mov byte [rbx - 4], r8b
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x54]
mov byte [rbx], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x44]
mov byte [rbx - 5], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x54]
mov byte [rbx - 1], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x44]
mov byte [rbx - 6], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x54]
mov byte [rbx - 2], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x44]
mov byte [rbx - 7], al
mov al, byte [rbp - 0x54]
mov byte [rbx - 3], al
mov r14d, dword [rbp - 0x44]
ror r14d, 8
mov dword [rbp - 0x44], r14d
mov edi, dword [rbp - 0x54]
ror edi, 8
mov dword [rbp - 0x54], edi
mov edx, r11d
mov dword [rbp + 0xa0], r10d
lea rbx, [rbx + 8]
mov ecx, 1
sub r13, rcx
jne 0x140078430
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov esi, dword [rsp + 0x60]
mov r15, qword [rbp + 0xc8]
mov r12, qword [rbp + 0x80]
mov r13, qword [rbp + 0x78]
jmp 0x140078786
mov ecx, 1
mov rax, rbx
test r12, r12
je 0x14007879a
xor dl, byte [rax + r13]
add rax, rcx
cmp rax, r12
jb 0x14007878e
movzx eax, dl
mov rcx, qword [rbp + 0x118]
cmp rax, qword [r12 + rcx]
je 0x1400787b8
mov edi, 0xc004d501
mov r14, qword [rbp + 0x128]
jmp 0x1400787d0
mov r14, r13
mov qword [rbp + 0x128], r13
mov r13, rbx
mov qword [rbp + 0x310], r12
mov edi, dword [rsp + 0x70]
test r13, r13
je 0x1400787f0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x128]
test edi, edi
js 0x14007881f
mov r13, r14
mov qword [rbp - 0x20], r14
mov r14, rbx
mov qword [rbp + 0x128], rbx
mov ecx, dword [rbp + 0x310]
mov dword [rbp + 0xec], ecx
mov edi, 0x10000000
jmp 0x14007882d
mov r14, qword [rbp + 0x128]
mov edi, 0xd0000001
mov ecx, dword [rbp + 0xec]
mov r13, rbx
test r14, r14
je 0x140078853
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x128], rbx
mov ecx, dword [rbp + 0xec]
test edi, edi
js 0x140077bda
cmp ecx, 4
jae 0x14007886a
mov edi, 0xc000003e
jmp 0x1400789ba
mov r9d, dword [r13]
mov dword [rsp + 0x70], r9d
lea rdx, [r13 + 4]
cmp rdx, r13
jb 0x1400789b5
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140078860
mov r14d, dword [rdx]
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400789b5
lea eax, [rcx - 8]
cmp eax, r14d
jb 0x140078860
lea eax, [r14 + 8]
cmp eax, 8
jb 0x1400789b5
lea rdx, [rdi + r14]
mov r8d, ecx
mov rcx, qword [rbp - 0x20]
lea rax, [rcx + r8]
cmp rax, rdx
jb 0x140078860
mov rax, rcx
sub rax, r14
sub rax, rdi
add rax, r8
cmp rax, 8
jae 0x140078860
mov r12, rbx
mov r8d, ebx
mov dword [rbp - 0x60], ebx
test rdi, rdi
je 0x140078949
mov rcx, rdi
cmp rdx, rdi
jb 0x1400789b5
jbe 0x140078944
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x1400789b5
cmp rax, rdx
ja 0x140078936
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x14007893d
mov dword [rbp + 0x348], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x1400789b5
mov rcx, r9
cmp r9, rdx
ja 0x140078936
inc r8d
mov dword [rbp - 0x60], r8d
cmp rcx, rdx
jae 0x140078947
jmp 0x1400788ef
mov edi, 0xc000000d
jmp 0x1400789ba
mov edi, 0xc0000095
jmp 0x1400789a0
cmp rcx, rdx
jne 0x140078936
test r14d, r14d
je 0x140078974
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x140078974
mov edi, 0xc0000017
jmp 0x1400789a0
test rdi, rdi
je 0x140078987
mov r8, r14
mov rdx, rdi
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x170], r12
mov dword [rbp + 0x16c], r14d
mov eax, dword [rbp - 0x60]
mov dword [rbp + 0x168], eax
mov edi, ebx
test edi, edi
js 0x1400789ba
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp + 0x168]
je 0x1400789ba
jmp 0x140078860
mov edi, 0xc0000095
bts edi, 0x1c
mov r13, qword [rbp - 0x20]
jmp 0x140077bda
mov r15, qword [rbp - 0x80]
mov r14, r12
jmp 0x1400789d7
mov r14, r12
mov r15, qword [rbp - 0x80]
and qword [rbp], 0
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x1400789fd
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], rbx
and qword [rbp + 0x168], 0
mov rdi, qword [rbp + 0x170]
test rdi, rdi
je 0x140078a2c
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 + 0x170], rbx
test r14, r14
je 0x140078a45
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x140078a5e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0xf0]
mov dword [rbp + 0x440], eax
mov r14d, dword [rbp + 0x14c]
mov rax, qword [rbp + 0x120]
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0x260], rax
jmp 0x1400702a9
cmp esi, 0xd00000e5
je 0x140078aad
cmp esi, 0xc004d501
je 0x140078aad
cmp esi, 0xd000003e
jne 0x140078ab2
mov esi, 0xc004f028
jmp 0x14007034c
mov esi, 0xc004f027
test esi, esi
jns 0x140078ace
cmp esi, 0x8007007a
jne 0x14007034c
mov dword [rbp + 0xd8], 0xc004f01e
jmp 0x140078ae3
cmp r14d, 4
jne 0x140078ac2
mov rax, qword [rbp + 0x260]
mov ecx, dword [rax]
mov dword [rbp + 0x150], ecx
lea rcx, [rbp + 0x260]
call fcn.1400c056c
cmp dword [rbp + 0xd8], ebx
jl 0x140078aff
cmp dword [rbp + 0x150], ebx
jne 0x140078b02
mov bl, r12b
lea rcx, [rbp + 0x328]
call fcn.1400090e8
mov al, bl
mov rcx, qword [rbp + 0x1160]
xor rcx, rsp
call fcn.1400c13a0
lea r11, [rsp + 0x1270]
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