Function at 0x14001dd68
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
Set registry value
Terminate process

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f90]
mov eax, 0x2090
call fcn.14005e620
sub rsp, rax
mov qword [rbp + 0x248], 0xfffffffffffffffe
mov qword [rsp + 0x20d8], rbx
mov rax, qword [0x140074518]
xor rax, rsp
mov qword [rbp + 0x1f80], rax
mov rsi, r8
mov rbx, rcx
xor eax, eax
mov edi, eax
mov dword [rbp + 0x28], eax
mov qword [rbp + 0x250], rax
lea r12d, [rax + 1]
mov dword [rbp + 0x4c8], r12d
mov qword [rbp + 0x4d0], rax
mov qword [rbp + 0x4d8], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov r9d, 0x200
lea r8, [rbp + 0x1380]
mov edx, 0xd9
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x14001de0b
mov ecx, r12d
call qword [sym.imp.msvcrt.dll_exit]
int3
mov rcx, qword [0x140078b88]
call qword [sym.imp.msvcrt.dll_time]
lea r14, [section..data]
mov r9, r14
mov r8, r14
lea rdx, [0x140029640]
lea rcx, [0x1400633c8]
call fcn.14002974c
test byte [0x140077a80], r12b
je 0x14001de56
mov r8d, 5
lea rdx, [0x1400634d8]
mov rcx, r14
call fcn.1400298b8
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
call fcn.1400407ec
mov qword [rbp + 0x590], 0x50
lea rax, [0x14001cf80]
mov qword [rbp + 0x598], rax
xor eax, eax
mov qword [rbp + 0x5a0], rax
mov qword [rbp + 0x5a8], rbx
xor ecx, ecx
call fcn.140002e00
mov qword [rbp + 0x5b0], rax
mov cl, r12b
call fcn.140002e00
mov qword [rbp + 0x5d8], rax
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov qword [rbp + 0x5b8], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea r9, [rbp + 0x290]
mov r8d, r12d
mov edx, 0x9d
call fcn.140002d10
mov rax, qword [rbp + 0x290]
mov qword [0x1400780d8], rax
movdqa xmm0, xmmword [0x140067c10]
movdqu xmmword [rbp + 0x5c0], xmm0
lea r13, [0x140064090]
mov qword [rbp + 0x5d0], r13
lea rcx, [rbp + 0x590]
call qword [sym.imp.USER32.dll_RegisterClassExW]
test ax, ax
jne 0x14001df24
xor eax, eax
jmp 0x140028f50
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rax
mov r15d, 0x80000000
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
mov r9d, 0xca0000
lea r8, [rbp + 0x1380]
mov rdx, r13
mov ecx, 0x100
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov r14, rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
mov r9d, 0x40000000
xor r8d, r8d
mov rdx, r13
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [0x1400780e0], rax
mov r15d, 0x50
mov ecx, r15d
call fcn.14005acc0
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14001dff7
lea rdx, str._restart
lea rcx, [rbp + 0xbc0]
call fcn.140008ef8
mov r8d, r12d
lea rdx, [rbp + 0xbc0]
mov rcx, rbx
call fcn.14004977c
mov edi, r12d
mov qword [0x140077ac8], rax
test r12b, dil
je 0x14001e019
and edi, 0xfffffffe
xor r8d, r8d
mov dl, r12b
lea rcx, [rbp + 0xbc0]
call fcn.14000c254
nop
mov rcx, r15
call fcn.14005acc0
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14001e065
lea rdx, str.Calc
lea rcx, [rbp + 0xb98]
call fcn.140008ef8
or edi, 2
mov dword [rsp + 0x20], 0x12c
mov r9d, 5
lea r8, [rbp + 0xb98]
mov rdx, qword [0x140077ac8]
mov rcx, rbx
call fcn.140048d88
mov qword [0x140077ac0], rax
test dil, 2
je 0x14001e085
xor r8d, r8d
mov dl, r12b
lea rcx, [rbp + 0xb98]
call fcn.14000c254
nop
xor eax, eax
mov qword [rbp + 0x298], rax
or r13, 0xffffffffffffffff
mov qword [rsp + 0x20], r13
mov r9, rsi
mov r8d, 0x400
lea rdx, [rbp + 0x1780]
lea rcx, [rbp + 0x298]
call qword [sym.imp.msvcrt.dll_mbstowcs_s]
lea rdx, [rbp + 0x1780]
lea rcx, [rbp + 0xb70]
call fcn.140008ef8
lea rdx, [rbp + 0xb70]
mov rcx, qword [0x140077ac8]
call fcn.140049824
mov r15d, eax
xor r8d, r8d
mov dl, r12b
lea rcx, [rbp + 0xb70]
call fcn.14000c254
nop
xor r8d, r8d
lea rdx, [rbp + 0x4c8]
lea rcx, [rbp + 0x2a0]
call qword [sym.imp.gdiplus.dll_GdiplusStartup]
xor eax, eax
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x250]
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20019
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftCalc
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov rcx, qword [rbp + 0x250]
xor edx, edx
test eax, eax
cmovne rcx, rdx
mov qword [rbp + 0x250], rcx
mov edi, r12d
mov dword [rbp + 0x28], r12d
lea esi, [rdx + 4]
mov dword [rbp + 0x11c], esi
mov dword [rbp + 0x120], edx
test rcx, rcx
je 0x14001e1ae
lea rax, [rbp + 0x11c]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x120]
xor r8d, r8d
lea rdx, str.layout
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x250]
mov edi, dword [rbp + 0x28]
cmp edi, esi
jl 0x14001e1e6
mov edi, r12d
mov dword [rbp + 0x128], r12d
mov dword [rsp + 0x28], esi
lea rax, [rbp + 0x128]
mov qword [rsp + 0x20], rax
mov r9d, esi
xor r8d, r8d
lea rdx, str.layout
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x250]
xor eax, eax
mov ebx, eax
mov dword [rbp + 0x130], eax
mov dword [rbp + 0x134], esi
mov dword [rbp + 0x138], eax
test rcx, rcx
je 0x14001e23f
lea rax, [rbp + 0x134]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x138]
xor r8d, r8d
lea rdx, str.UseSep
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x250]
mov ebx, dword [rbp + 0x130]
xor eax, eax
mov edx, eax
mov dword [rbp + 0x15c], eax
mov dword [rbp + 0x1b8], esi
mov dword [rbp + 0x1bc], eax
test rcx, rcx
je 0x14001e296
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x15c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1bc]
xor r8d, r8d
lea rdx, str.ShowHistory
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x250]
mov edx, dword [rbp + 0x15c]
xor eax, eax
mov dword [0x140078b1c], eax
movzx eax, byte [0x140078094]
xor r8d, r8d
test edx, edx
cmovne eax, r12d
mov byte [0x140078094], al
xor eax, eax
mov dword [rbp + 0x1c0], eax
mov dword [rbp + 0x1c4], esi
mov dword [rbp + 0x1c8], eax
test rcx, rcx
je 0x14001e314
lea rax, [rbp + 0x1c4]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1c0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1c8]
lea rdx, str.UnitConv
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor eax, eax
cmp dword [rbp + 0x1c0], eax
je 0x14001e30d
mov byte [0x140078095], r12b
jmp 0x14001e3de
mov rcx, qword [rbp + 0x250]
mov dword [rbp + 0x1cc], eax
mov dword [rbp + 0x1d0], esi
mov dword [rbp + 0x1d4], eax
test rcx, rcx
je 0x14001e38b
lea rax, [rbp + 0x1d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1cc]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1d4]
xor r8d, r8d
lea rdx, str.Templates
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [rbp + 0x1cc]
test eax, eax
je 0x14001e382
mov byte [0x140078096], r12b
dec eax
mov dword [0x140078b1c], eax
cmp eax, 3
jbe 0x14001e3de
xor eax, eax
mov dword [0x140078b1c], eax
jmp 0x14001e3de
mov rcx, qword [rbp + 0x250]
xor eax, eax
mov dword [rbp + 0x1d8], eax
mov dword [rbp + 0x34], esi
mov dword [rbp + 0x38], eax
test rcx, rcx
je 0x14001e3f0
lea rax, [rbp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1d8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x38]
xor r8d, r8d
lea rdx, str.DateTime
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movzx eax, byte [0x140078097]
xor ecx, ecx
cmp dword [rbp + 0x1d8], ecx
cmovne eax, r12d
mov byte [0x140078097], al
mov rcx, qword [rbp + 0x250]
test rcx, rcx
je 0x14001e3f0
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [0x140078090], edi
mov rcx, qword [0x1400780e0]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rsi, rax
lea r9d, [rdi + 0x130]
xor eax, eax
mov dword [rsp + 0x20], eax
mov edx, 0x130
lea r8d, [rdx + 3]
mov rcx, rsi
call qword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov ecx, ebx
neg ecx
sbb r8d, r8d
and r8d, 8
mov edx, 0x12f
mov rcx, rsi
call qword [sym.imp.USER32.dll_CheckMenuItem]
lea rdi, [0x140077f70]
mov rcx, rdi
call fcn.14001da28
mov rcx, rdi
call fcn.14001900c
mov r8, r14
xor edx, edx
lea rcx, [rbp + 0xd08]
call fcn.14002df34
mov rdx, r14
lea rcx, [rbp + 0xd08]
call fcn.14002e5fc
lea rcx, [rbp + 0xd24]
call fcn.14002e738
movups xmm0, xmmword [rbp + 0xd08]
movups xmmword [rbp + 0xbe8], xmm0
movups xmm1, xmmword [rbp + 0xd18]
movups xmmword [rbp + 0xbf8], xmm1
movsd xmm0, qword [rbp + 0xd28]
movsd qword [rbp + 0xc08], xmm0
mov eax, dword [rbp + 0xd30]
mov dword [rbp + 0xc10], eax
xor eax, eax
mov dword [rbp + 0xbf0], eax
lea rdx, [rbp + 0xbe8]
mov rcx, r14
call qword [sym.imp.USER32.dll_SetWindowPlacement]
xor eax, eax
cmp qword [0x1400780e0], rax
jne 0x14001e4f6
xor r9d, r9d
xor r8d, r8d
lea edx, [rax + 0x10]
xor ecx, ecx
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rdi
call fcn.14001db08
lea rax, [0x140061278]
mov qword [rbp + 0x4f8], rax
mov qword [rbp + 0x508], rdi
mov rax, qword [0x140078088]
mov rcx, qword [rax + 0x20]
mov qword [rbp + 0x510], rcx
mov rcx, qword [0x140077ac8]
call fcn.140049ba0
mov rax, qword [0x140077ac0]
lea rcx, [rbp + 0x4f8]
mov qword [rax + 0x10], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x500], rax
mov rcx, qword [0x140077ac0]
call fcn.140048f38
test r15d, r15d
je 0x14001e577
mov rcx, qword [0x140077ac0]
call fcn.140048f78
mov rcx, qword [0x140077ac0]
call fcn.140049670
mov dl, r12b
mov rcx, rdi
call fcn.14001af88
xor edx, edx
mov rcx, rdi
call fcn.14001a658
mov rcx, qword [0x1400780e0]
call qword [sym.imp.USER32.dll_GetParent]
mov rdx, rax
lea rcx, [rbp + 0xd08]
call fcn.14002e0d8
mov edx, ebx
mov rcx, qword [0x140078088]
call fcn.14003bc10
test byte [0x140077a80], r12b
je 0x14001e5d8
mov r8d, 6
lea rdx, [0x140063438]
lea rcx, [section..data]
call fcn.1400298b8
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x14001e5f7
lea rcx, [0x140061390]
mov qword [rbp + 0x4f8], rcx
jmp 0x14001df1d
xor edx, edx
mov rcx, rdi
call fcn.14001a584
or r14d, 0xffffffff
xor eax, eax
cmp byte [0x140078096], al
je 0x14001e666
mov dword [rsp + 0x20], eax
mov r9d, r14d
mov edx, 0x3cd
lea r8d, [rdx + 6]
mov rcx, rsi
call qword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov r9d, dword [0x140078b1c]
add r9d, 0x2710
xor eax, eax
mov dword [rsp + 0x20], eax
mov edx, 0x2710
lea r8d, [rdx + 3]
mov rcx, rsi
call qword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov edx, dword [0x140078b1c]
add edx, 0x2710
mov rcx, qword [0x140078088]
call fcn.14003e084
mov rcx, rdi
call fcn.14001ac54
mov eax, reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rbp + 0x2c], eax
mov edx, eax
mov rcx, qword [0x140078100]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetFocus]
call fcn.1400028e0
xor edx, edx
lea rcx, [0x140078568]
call fcn.14002b1ec
call fcn.1400017c8
mov rcx, qword [0x1400780e0]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetForegroundWindow]
xor r8d, r8d
mov eax, r8d
lea rdx, [rbp + 0x1060]
lea rcx, [0x140077f90]
movzx edi, word [rcx]
test di, di
je 0x14001e6ea
mov byte [rdx], dil
add eax, r12d
add rcx, 2
add rdx, r12
cmp eax, 0x52
jb 0x14001e6d0
test eax, eax
jle 0x14001e797
movsxd rdx, eax
cmp rdx, 0x54
jae 0x140028f7a
xor eax, eax
mov byte [rbp + rdx + 0x1060], al
mov rax, qword [0x1400780f0]
mov rcx, qword [rax + 8]
lea r9, [rbp + 0x1061]
add r9, rdx
xor eax, eax
mov byte [rsp + 0x20], al
lea r8, [rbp + 0x1060]
mov rdx, qword [rcx + 8]
lea rcx, [0x140077f70]
call fcn.14001caa0
mov edx, DllRegisterServer
mov rcx, qword [0x140078088]
call fcn.14003bb68
lea rdx, [rbp + 0xa60]
mov rcx, qword [0x140078100]
call qword [sym.imp.USER32.dll_GetClientRect]
mov r9d, 2
lea r8, [rbp + 0xa60]
mov rdx, qword [0x1400780e0]
mov rcx, qword [0x140078100]
call qword [sym.imp.USER32.dll_MapWindowPoints]
xor r8d, r8d
lea rdx, [rbp + 0xa60]
mov rcx, qword [0x1400780e0]
call qword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
mov qword [rbp + 0x2a8], rax
mov dword [rbp + 0x40], eax
mov dword [rbp + 0x44], eax
mov qword [rbp + 0x2b0], rax
mov dword [rbp + 0x48], eax
xor eax, eax
lock cmpxchg dword [0x140078c90], r12d
jne 0x14001e7b0
mov r15d, 0x338
mov eax, dword [0x140078c8c]
test eax, eax
jne 0x14001ed63
xor eax, eax
mov dword [rbp - 0x68], eax
mov qword [rbp + 0x2b8], rax
mov qword [rbp + 0x2c0], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rsi, rax
xor eax, eax
test rsi, rsi
je 0x14001ecde
mov ebx, eax
mov ecx, r14d
mov edx, eax
mov dword [rbp + 0x4c], eax
mov r11d, eax
mov dword [rbp + 0x50], eax
lea r14, [rsi + 7]
lea r15, [0x1400674e2]
lea r13d, [rax + 0x67]
movzx r10d, byte [r15 - 2]
shl r10d, 8
movzx eax, byte [r15 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 1]
or r10d, eax
movzx r9d, byte [r15 + 2]
shl r9d, 8
movzx eax, byte [r15 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 5]
or r9d, eax
xor r11d, r10d
lea r15, [r15 + 8]
mov r8d, r9d
xor r8d, edx
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
mov edx, r8d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov edx, r11d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r8d, eax
mov eax, r8d
shr eax, 0xd
imul edx, r8d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov edx, r8d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r8d, eax
mov eax, r8d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
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, ebx
xor r11d, edx
mov dword [rbp + 0x50], r11d
xor r8d, ecx
mov dword [rbp + 0x4c], r8d
mov byte [r14 - 4], r11b
ror dword [rbp + 0x50], 8
mov al, byte [rbp + 0x4c]
mov byte [r14], al
ror dword [rbp + 0x4c], 8
mov al, byte [rbp + 0x50]
mov byte [r14 - 5], al
ror dword [rbp + 0x50], 8
mov al, byte [rbp + 0x4c]
mov byte [r14 - 1], al
ror dword [rbp + 0x4c], 8
mov al, byte [rbp + 0x50]
mov byte [r14 - 6], al
ror dword [rbp + 0x50], 8
mov al, byte [rbp + 0x4c]
mov byte [r14 - 2], al
ror dword [rbp + 0x4c], 8
mov al, byte [rbp + 0x50]
mov byte [r14 - 7], al
mov al, byte [rbp + 0x4c]
mov byte [r14 - 3], al
mov r11d, dword [rbp + 0x50]
ror r11d, 8
mov dword [rbp + 0x50], r11d
mov edx, dword [rbp + 0x4c]
ror edx, 8
mov dword [rbp + 0x4c], edx
mov ebx, r10d
mov ecx, r9d
lea r14, [r14 + 8]
sub r13, r12
jne 0x14001e825
xor eax, eax
mov cl, al
or r13, 0xffffffffffffffff
mov ebx, eax
mov r15d, 0x338
xor cl, byte [rax + rsi]
add rax, r12
cmp rax, r15
jb 0x14001eb53
movzx eax, cl
cmp rax, qword [0x140067818]
je 0x14001eb71
mov edi, 0xc004d501
jmp 0x14001eb85
mov qword [rbp + 0x2b8], rsi
xor eax, eax
mov esi, eax
mov qword [rbp + 0x2c0], r15
mov edi, eax
test rsi, rsi
je 0x14001eb9e
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test edi, edi
js 0x14001ecde
mov rdi, qword [rbp + 0x2b8]
mov rax, qword [rbp + 0x2c0]
xor ecx, ecx
mov byte [rax + rdi - 1], cl
xor edx, edx
lea r8d, [rcx + 0x60]
lea rsi, [0x140077ef0]
mov rcx, rsi
call sub.msvcrt.dll_memset
xor eax, eax
cmp byte [rdi], al
je 0x14001ece3
mov r15d, eax
mov rdx, rdi
mov rax, r13
xor ebx, ebx
inc rax
cmp word [rdi + rax*2], bx
jne 0x14001ebe4
lea rdi, [rdi + rax*2]
mov eax, r15d
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
mov r8, rsi
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
je 0x14001ecde
xor eax, eax
mov rax, qword [rsi]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14001ec25
mov ebx, 0xc000007b
jmp 0x14001ec6f
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001ec1e
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x14001ec1e
cmp dword [rcx], 0x4550
jne 0x14001ec1e
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001ec5e
mov ebx, 0xc000000d
jmp 0x14001ec6f
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov eax, dword [rdi + 2]
mov dword [rbp - 0x38], eax
add rdi, 6
xor ecx, ecx
mov r14d, ecx
test eax, eax
je 0x14001ecc8
mov rdx, rdi
mov rax, r13
inc rax
cmp byte [rdi + rax], cl
jne 0x14001ec88
inc rax
add rdi, rax
test ebx, ebx
js 0x14001ecb6
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001ece3
mov ecx, dword [rbp - 0x68]
lea rdx, [0x140074050]
mov qword [rdx + rcx*8], rax
add dword [rbp - 0x68], r12d
add r14d, r12d
cmp r14d, dword [rbp - 0x38]
mov ecx, 0
jb 0x14001ec82
add r15d, r12d
xor eax, eax
cmp byte [rdi], al
lea rsi, [0x140077ef0]
jne 0x14001ebdc
jmp 0x14001ece5
mov ebx, 0xc000007a
xor eax, eax
cmp qword [rbp + 0x2b8], rax
je 0x14001ed08
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x2b8]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
test ebx, ebx
jns 0x14001ed5d
lea rsi, [0x140077ef0]
mov rdi, rsi
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001ed2b
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
add rdi, 0x18
sub rbx, r12
jne 0x14001ed1b
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, rsi
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x140061af0]
lea rcx, [0x140074050]
call sub.msvcrt.dll_memcpy
jmp 0x14001ed6c
mov eax, dword [0x140078c8c]
add eax, r12d
mov dword [0x140078c8c], eax
xor eax, eax
xchg dword [0x140078c90], eax
xor eax, eax
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1e8], rax
mov esi, eax
mov ebx, eax
mov rax, qword gs:[0x60]
xor edi, edi
mov r15d, 0x80070000
cmp dword [rax + 0x2c0], edi
je 0x14001f026
mov rax, qword [0x140074160]
call qword [case.0x14003a69c.0]
mov r14, rax
xor eax, eax
test r14, r14
jne 0x14001eddf
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14001f029
mov ebx, 0x80004005
jmp 0x14001f029
mov qword [rbp + 0x1f0], rax
mov r9d, eax
lea rax, [rbp + 0x54]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r14
mov rax, qword [0x140074180]
call qword [case.0x14003a69c.0]
xor edi, edi
test eax, eax
jne 0x14001ee88
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001ee77
xor eax, eax
cmp qword [rbp + 0x1f0], rax
jne 0x14001ee70
mov edi, dword [rbp + 0x54]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x1f0]
call fcn.14004e824
xor eax, eax
test rdi, rdi
je 0x14001ee60
mov qword [rbp + 0x1f0], rdi
mov r9d, dword [rbp + 0x54]
jmp 0x14001ede9
mov qword [rbp + 0x1f0], rax
mov ebx, 0x8007000e
xor edi, edi
jmp 0x14001ee9d
mov ebx, 0x80004005
jmp 0x14001ee9d
test eax, eax
je 0x14001ee70
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x14001ee9d
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1f0], rdi
mov qword [rbp + 0x1e0], rax
lea rcx, [rbp + 0x1f0]
call fcn.14004e824
test ebx, ebx
js 0x14001f029
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x140074178]
call qword [case.0x14003a69c.0]
mov r14, rax
test rax, rax
je 0x14001edbc
mov ebx, edi
mov r9d, edi
mov qword [rbp + 0x1f8], rdi
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r14
mov rax, qword [0x140074180]
call qword [case.0x14003a69c.0]
xor edi, edi
test eax, eax
jne 0x14001ef73
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001ef5c
cmp qword [rbp + 0x1f8], rdi
jne 0x14001ef51
mov edi, dword [rbp + 0x58]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x1f8]
call fcn.14004e824
test rdi, rdi
je 0x14001ef4a
mov r9d, dword [rbp + 0x58]
jmp 0x14001eed7
mov ebx, 0x8007000e
jmp 0x14001ef81
mov r14d, 0x80004005
mov ebx, r14d
jmp 0x14001ef8e
mov r14d, 0x80004005
test eax, eax
je 0x14001ef57
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x14001ef8e
mov rax, qword [rbp + 0x1f8]
mov qword [rbp + 0x1e8], rax
mov r14d, 0x80004005
mov qword [rbp + 0x1f8], rdi
lea rcx, [rbp + 0x1f8]
call fcn.14004e824
test ebx, ebx
js 0x14001f029
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
je 0x14001f026
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14001f026
mov rcx, qword [rbp + 0x1e8]
test rcx, rcx
je 0x14001f026
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14001f026
xor eax, eax
mov dword [rbp + 0x30], eax
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov rcx, rax
mov r9d, 4
lea r8, [rbp + 0x30]
lea edx, [r9 + 7]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_1.dll_GetProcessMitigationPolicy]
test eax, eax
jne 0x14001f01a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14001f029
mov ebx, r14d
jmp 0x14001f029
mov eax, 0xf
test byte [rbp + 0x30], al
cmove esi, r12d
mov dword [rbp + 0x48], esi
lea rcx, [rbp + 0x1e8]
call fcn.14004e824
lea rcx, [rbp + 0x1e0]
call fcn.14004e824
mov eax, dword [rbp + 0x48]
test ebx, ebx
cmovs eax, edi
mov dword [rbp + 0x48], eax
mov dword [rbp + 0x44], edi
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rsp + 0x78], rax
lea rcx, [rbp + 0x2b0]
call fcn.14004e7fc
xor r11d, r11d
test rdi, rdi
jne 0x14001f144
mov qword [rbp + 0x2b0], r11
mov r15d, 0x8007000e
mov ebx, dword [rbp + 0x30]
xor eax, eax
lock cmpxchg dword [0x140078c90], r12d
jne 0x14001f08d
mov eax, dword [0x140078c8c]
test eax, eax
jle 0x14001f102
sub eax, r12d
mov dword [0x140078c8c], eax
jne 0x14001f102
lea r14, [0x140077ef0]
mov rdi, r14
mov esi, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001f0cf
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor r11d, r11d
add rdi, 0x18
sub rsi, r12
jne 0x14001f0be
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r14
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x140061af0]
lea rcx, [0x140074050]
call sub.msvcrt.dll_memcpy
xor r11d, r11d
mov eax, r11d
xchg dword [0x140078c90], eax
lea rcx, [rbp + 0x2b0]
call fcn.14004e7fc
xor esi, esi
mov r14d, 0xc004f012
lea r13d, [r14 + 0x15]
test r15d, r15d
jns 0x140028d12
cmp r15d, 0xd0000034
jne 0x140028ccf
mov r15d, r14d
mov edi, r15d
jmp 0x140028d28
mov qword [rbp + 0x2b0], rdi
mov r14, r11
mov qword [rbp - 0x70], r11
xor eax, eax
mov qword [rbp + 0x488], rax
mov qword [rbp + 0x490], rax
mov dword [rbp + 0x5c], r11d
mov qword [rbp + 0x478], rax
mov qword [rbp + 0x480], rax
mov dword [rbp + 0x60], r11d
lea rax, [0x140076990]
mov qword [rbp + 0x200], rax
mov edi, 0xa0
mov qword [rbp + 0x208], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov r15d, 8
mov edx, r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp - 0x60], rax
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
xor r11d, r11d
test rax, rax
jne 0x14001f1df
mov r15d, 0xc0000017
mov dword [rbp - 0x38], r15d
jmp 0x14001f7a9
mov r8, qword [rbp + 0x208]
mov rdx, qword [rbp + 0x200]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov qword [rbp - 0x10], rdi
mov r14d, dword [rbp + 0x208]
mov dword [rsp + 0x64], r14d
lea rax, [0x1400768d8]
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], r15
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp], rax
xor r11d, r11d
test rax, rax
jne 0x14001f24d
mov r15d, 0xc0000017
mov dword [rbp - 0x38], r15d
jmp 0x14001f7a5
mov r8, qword [rbp + 0x218]
mov rdx, qword [rbp + 0x210]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov qword [rbp - 0x70], rdi
mov r8, qword [rbp + 0x218]
mov qword [rbp - 0x48], r8
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x220], rax
mov ecx, r15d
mov dword [rbp + 0x64], ecx
add r14d, 4
or r9d, 0xffffffff
mov eax, r9d
cmp r14d, 4
cmovae eax, r14d
sbb edx, edx
mov r10d, 0xc0000095
and edx, r10d
mov dword [rbp - 0x58], edx
mov r15d, edx
mov dword [rbp - 0x38], edx
mov edx, ecx
cmp r14d, 4
jb 0x14001f7a2
mov ecx, eax
mov dword [rbp + 0x64], eax
mov edx, eax
lea eax, [rax + 8]
mov edi, r9d
cmp eax, 8
cmovae edi, eax
sbb r15d, r15d
and r15d, r10d
add r15d, 0x10000000
mov dword [rbp - 0x38], r15d
cmp eax, 8
jb 0x140022162
lea edx, [r8 + 4]
mov eax, r9d
cmp edx, 4
cmovae eax, edx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
mov dword [rbp - 0x68], r15d
cmp edx, 4
cmovae ecx, eax
mov dword [rbp + 0x64], ecx
jb 0x14001f7a2
lea eax, [rcx + rdi]
mov ecx, r9d
cmp eax, edi
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
mov r8d, 0x10000000
add r15d, r8d
mov dword [rbp - 0x38], r15d
cmp eax, edi
jb 0x140022162
mov dword [rbp + 0x64], 0xc
lea eax, [rcx + 0xc]
mov edi, r9d
cmp eax, ecx
cmovae edi, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r8d
mov dword [rbp - 0x38], r15d
cmp eax, ecx
jb 0x140022162
lea r8, [rbp + 0x228]
mov edx, 0x7fffffff
lea rcx, str.Security_SPP_GenuineLocalStatus
call fcn.14004e88c
xor r11d, r11d
test eax, eax
jns 0x14001f390
mov qword [rbp + 0x228], r11
mov r15d, 0xc000003e
jmp 0x14001f244
mov rax, qword [rbp + 0x228]
add rax, r12
mov qword [rbp + 0x228], rax
lea ecx, [rax*2 + 4]
or r9d, 0xffffffff
mov eax, r9d
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
mov r10d, 0xc0000095
and r15d, r10d
mov dword [rbp - 0x38], r15d
mov edx, dword [rbp + 0x64]
cmp ecx, 4
cmovae edx, eax
mov dword [rbp + 0x64], edx
jb 0x14001f7a5
lea eax, [rdx + rdi]
mov edx, r9d
cmp eax, edi
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
mov r8d, 0x10000000
add r15d, r8d
mov dword [rbp - 0x38], r15d
cmp eax, edi
jb 0x140022165
mov dword [rbp + 0x64], 8
lea eax, [rdx + 8]
mov ecx, r9d
cmp eax, edx
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r8d
mov dword [rbp - 0x38], r15d
cmp eax, edx
jb 0x140022165
mov dword [rbp + 0x64], 8
lea eax, [rcx + 8]
mov edx, r9d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r8d
mov dword [rbp - 0x38], r15d
cmp eax, ecx
jb 0x140022165
mov dword [rbp + 0x48c], edx
mov edi, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdx, rax
xor r11d, r11d
test rax, rax
je 0x14001f23e
mov qword [rbp + 0x490], rax
mov edi, r11d
mov dword [rbp + 0x488], r11d
mov dword [rbp + 0x68], r11d
add rax, 4
mov r8, r13
cmp rax, rdx
cmovae r8, rax
sbb r15d, r15d
mov r10d, 0xc0000095
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x14001f4e9
mov ecx, dword [rbp + 0x48c]
add rcx, rdx
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x14001f4ce
mov r15d, 0xc0000023
jmp 0x14001f244
mov dword [rdx], 4
mov eax, dword [rbp + 0x68]
mov dword [r8], eax
mov edi, dword [rbp + 0x488]
add edi, r12d
mov dword [rbp + 0x488], edi
test r15d, r15d
js 0x14001f7a5
mov edx, dword [rsp + 0x64]
test edx, edx
je 0x14001f641
cmp qword [rbp + 0x490], r11
jne 0x14001f563
or eax, 0xffffffff
cmp r14d, 4
cmovae eax, r14d
mov r15d, dword [rbp - 0x58]
mov dword [rbp - 0x38], r15d
mov edx, dword [rbp + 0x70]
cmovae edx, eax
mov dword [rbp + 0x70], edx
jb 0x14001f63c
mov ecx, dword [rbp + 0x48c]
lea eax, [rdx + rcx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
mov dword [rbp + 0x48c], r8d
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp eax, ecx
jb 0x14001f652
add edi, r12d
mov dword [rbp + 0x488], edi
jmp 0x14001f661
mov r8, qword [rbp + 0x490]
mov r10d, r11d
mov r14d, 0xc0000095
test edi, edi
je 0x14001f5df
mov r9d, dword [rbp + 0x70]
mov r11, r8
mov ecx, dword [r8]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x70], r9d
jb 0x14001f63c
mov edx, r9d
mov rcx, r8
add rdx, r8
mov rax, r13
cmp rdx, r8
cmovae rax, rdx
mov r8, rax
cmp rdx, rcx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rdx, rcx
jb 0x14001f63c
add r10d, r12d
cmp r10d, edi
jb 0x14001f57b
mov edx, dword [rsp + 0x64]
xor r11d, r11d
lea rax, [r8 + 4]
mov r9, r13
cmp rax, r8
cmovae r9, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, r8
jb 0x14001f63c
mov edi, edx
mov ecx, dword [rbp + 0x48c]
add rcx, qword [rbp + 0x490]
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rcx
ja 0x14001f4c3
mov dword [r8], edx
mov r8d, edi
mov rdx, qword [rbp - 0x60]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp + 0x488]
add edi, r12d
mov dword [rbp + 0x488], edi
xor r11d, r11d
jmp 0x14001f64b
mov r15d, 0xc000000d
mov dword [rbp - 0x38], r15d
mov r8d, dword [rbp + 0x48c]
test r15d, r15d
js 0x14001f7a5
mov r10d, 0xc0000095
mov r14, qword [rbp - 0x48]
test r14d, r14d
je 0x14001f95f
cmp qword [rbp + 0x490], r11
jne 0x14001f6e1
or eax, 0xffffffff
lea ecx, [r14 + 4]
cmp ecx, 4
cmovae eax, ecx
mov r15d, dword [rbp - 0x68]
mov dword [rbp - 0x38], r15d
mov edx, dword [rbp + 0x74]
cmovae edx, eax
mov dword [rbp + 0x74], edx
jb 0x14001f8fe
mov ecx, r8d
lea eax, [r8 + rdx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
mov dword [rbp + 0x48c], r8d
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp eax, ecx
jb 0x14001f8fe
add edi, r12d
mov dword [rbp + 0x488], edi
mov rax, qword [rbp + 0x220]
mov qword [rbp + 0x230], rax
jmp 0x14001f924
mov r9, qword [rbp + 0x490]
test edi, edi
je 0x14001f756
mov r10d, dword [rbp + 0x74]
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rbp - 0x38], r15d
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp + 0x74], r10d
jb 0x14001f8fb
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r13
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rbp - 0x38], r15d
cmp rdx, rcx
jb 0x14001f8fb
add r11d, r12d
cmp r11d, edi
jb 0x14001f6f0
lea rax, [r9 + 4]
mov r10, r13
cmp rax, r9
cmovae r10, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rbp - 0x38], r15d
cmp rax, r9
jb 0x14001f8fb
mov edx, r14d
mov ecx, r8d
add rcx, qword [rbp + 0x490]
lea rax, [rdx + 4]
add rax, r9
cmp rax, rcx
jbe 0x14001f8d3
mov r15d, 0xc0000023
mov dword [rbp - 0x38], r15d
xor r11d, r11d
mov r14, qword [rbp - 0x10]
and qword [rbp + 0x488], 0
mov rdi, qword [rbp + 0x490]
test rdi, rdi
je 0x14001f7db
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x490], r11
and qword [rbp + 0x478], 0
mov rdi, qword [rbp + 0x480]
test rdi, rdi
je 0x14001f80d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x480], r11
test r14, r14
je 0x14001f829
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x14001f849
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
test r15d, r15d
js 0x14001f08a
mov eax, dword [rbp + 0x48]
test eax, eax
je 0x140028ca9
mov qword [rbp + 0x328], r11
mov dword [0x140077ee4], eax
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0x1170]
lea rcx, [0x140000000]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
xor r14d, r14d
test eax, eax
je 0x140026767
cmp eax, edi
jne 0x14001f8a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140026767
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140074148]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x30], rax
test rax, rax
jne 0x140022180
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140026767
mov dword [r9], r14d
mov r8, rdx
mov rdx, qword [rbp]
mov rcx, r10
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp + 0x488]
add edi, r12d
mov dword [rbp + 0x488], edi
mov r8d, dword [rbp + 0x48c]
xor r11d, r11d
test r15d, r15d
js 0x14001f7a5
mov rax, qword [rbp + 0x220]
mov qword [rbp + 0x230], rax
cmp qword [rbp + 0x490], r11
jne 0x14001f96b
mov r10d, 0xc0000095
mov dword [rbp + 0x78], 0xc
lea ecx, [r8 + 0xc]
or eax, 0xffffffff
cmp ecx, r8d
cmovae eax, ecx
mov dword [rbp + 0x48c], eax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp ecx, r8d
jb 0x14001fa34
add edi, r12d
mov dword [rbp + 0x488], edi
jmp 0x14001fa3d
mov r15d, 0xc000000d
mov dword [rbp - 0x38], r15d
jmp 0x14001f8fe
mov r9, qword [rbp + 0x490]
test edi, edi
je 0x14001f9df
mov r10d, dword [rbp + 0x78]
mov r14, r9
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rbp - 0x38], r15d
cmp ecx, 4
cmovae r10d, eax
mov dword [rbp + 0x78], r10d
jb 0x14001fa31
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r13
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rbp - 0x38], r15d
cmp rdx, rcx
jb 0x14001fa31
add r11d, r12d
cmp r11d, edi
jb 0x14001f97a
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rbp - 0x38], r15d
cmp rax, r9
jb 0x14001fa31
mov ecx, r8d
add rcx, qword [rbp + 0x490]
lea rax, [r9 + 0xc]
cmp rax, rcx
ja 0x14001f798
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x230]
movsd qword [rdx], xmm0
add dword [rbp + 0x488], r12d
xor r11d, r11d
test r15d, r15d
js 0x14001f7a5
lea r8, [rbp + 0x238]
mov edx, 0x7fffffff
lea rcx, str.Security_SPP_GenuineLocalStatus
call fcn.14004e88c
xor r11d, r11d
test eax, eax
jns 0x14001fa68
mov qword [rbp + 0x238], r11
jmp 0x14001f385
mov rcx, qword [rbp + 0x238]
lea rax, [rcx + 1]
mov rdx, r13
cmp rax, rcx
cmovae rdx, rax
mov qword [rbp + 0x238], rdx
sbb r15d, r15d
mov r10d, 0xc0000095
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rcx
jb 0x14001fc0c
lea r9d, [rdx + rdx]
test r9d, r9d
je 0x14001fbff
cmp qword [rbp + 0x490], r11
jne 0x14001fb1c
lea ecx, [r9 + 4]
or r8d, 0xffffffff
mov eax, r8d
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
mov edi, dword [rbp + 0x7c]
cmp ecx, 4
cmovae edi, eax
mov dword [rbp + 0x7c], edi
jb 0x14001fc09
mov edx, dword [rbp + 0x48c]
lea ecx, [rdx + rdi]
mov eax, r8d
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp + 0x48c], eax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp ecx, edx
jb 0x14001fc09
add dword [rbp + 0x488], r12d
mov r15d, r11d
mov dword [rbp - 0x38], r11d
jmp 0x14001fc09
mov rdi, qword [rbp + 0x490]
mov r10d, r11d
mov r14d, 0xc0000095
cmp dword [rbp + 0x488], r11d
jbe 0x14001fb99
mov r8d, dword [rbp + 0x7c]
mov r11, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x7c], r8d
jb 0x14001fbf7
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rdx, rcx
jb 0x14001fbf7
add r10d, r12d
cmp r10d, dword [rbp + 0x488]
jb 0x14001fb39
lea rax, [rdi + 4]
mov r10, r13
cmp rax, rdi
cmovae r10, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdi
jb 0x14001fbf7
mov r8d, r9d
mov ecx, dword [rbp + 0x48c]
add rcx, qword [rbp + 0x490]
lea rax, [rdi + 4]
add rax, r8
cmp rax, rcx
jbe 0x14001fbde
mov r15d, 0xc0000023
lea r10d, [r15 + 0x72]
jmp 0x14001fc05
mov dword [rdi], r9d
lea rdx, str.Security_SPP_GenuineLocalStatus
mov rcx, r10
call sub.msvcrt.dll_memcpy
add dword [rbp + 0x488], r12d
mov r10d, 0xc0000095
jmp 0x14001fc09
mov r15d, 0xc000000d
mov dword [rbp - 0x38], r15d
xor r11d, r11d
test r15d, r15d
js 0x14001f7a5
mov eax, dword [rbp + 0x48]
mov dword [rbp + 0x80], eax
cmp qword [rbp + 0x490], r11
jne 0x14001fc70
mov dword [rbp + 0x88], 8
mov edx, dword [rbp + 0x48c]
lea ecx, [rdx + 8]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp + 0x48c], eax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp ecx, edx
jb 0x14001fd47
add dword [rbp + 0x488], r12d
mov dword [rbp + 0x90], 4
jmp 0x14001fd63
mov rdi, qword [rbp + 0x490]
mov r9d, r11d
cmp dword [rbp + 0x488], r11d
jbe 0x14001fcf6
mov r8d, dword [rbp + 0x88]
mov r14d, 0xc0000095
mov r10, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x88], r8d
jb 0x14001fd44
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rdx, rcx
jb 0x14001fd44
add r9d, r12d
cmp r9d, dword [rbp + 0x488]
jb 0x14001fc90
mov r10d, r14d
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdi
jb 0x14001fd47
mov ecx, dword [rbp + 0x48c]
add rcx, qword [rbp + 0x490]
lea rax, [rdi + 8]
cmp rax, rcx
ja 0x14001f4c3
mov dword [rdi], 4
mov eax, dword [rbp + 0x80]
mov dword [rdx], eax
add dword [rbp + 0x488], r12d
jmp 0x14001fd47
mov r10d, r14d
test r15d, r15d
js 0x14001f7a5
mov dword [rbp + 0x90], 4
cmp qword [rbp + 0x490], r11
jne 0x14001fda2
mov dword [rbp + 0x98], 8
mov edx, dword [rbp + 0x48c]
lea ecx, [rdx + 8]
or eax, 0xffffffff
cmp ecx, edx
cmovae eax, ecx
mov dword [rbp + 0x48c], eax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp ecx, edx
jb 0x14001fe79
add dword [rbp + 0x488], r12d
jmp 0x14001fe82
mov rdi, qword [rbp + 0x490]
mov r9d, r11d
cmp dword [rbp + 0x488], r11d
jbe 0x14001fe28
mov r8d, dword [rbp + 0x98]
mov r14d, 0xc0000095
mov r10, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp ecx, 4
cmovae r8d, eax
mov dword [rbp + 0x98], r8d
jb 0x14001fe76
mov edx, r8d
mov rcx, rdi
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rdx, rcx
jb 0x14001fe76
add r9d, r12d
cmp r9d, dword [rbp + 0x488]
jb 0x14001fdc2
mov r10d, r14d
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdi
jb 0x14001fe79
mov ecx, dword [rbp + 0x48c]
add rcx, qword [rbp + 0x490]
lea rax, [rdi + 8]
cmp rax, rcx
ja 0x14001f4c3
mov dword [rdi], 4
mov eax, dword [rbp + 0x90]
mov dword [rdx], eax
add dword [rbp + 0x488], r12d
jmp 0x14001fe79
mov r10d, r14d
test r15d, r15d
js 0x14001f7a5
mov dword [rbp + 0x9c], 8
mov r9, r11
mov qword [rbp - 0x60], r11
mov r8d, r11d
mov dword [rbp - 0x38], r11d
mov qword [rbp + 0x240], r11
mov qword [rbp], r11
mov dword [rsp + 0x64], r11d
mov qword [rbp - 0x40], r11
mov dword [rbp + 0xa0], r11d
mov qword [rbp - 0x28], r11
mov qword [rbp - 0x78], r11
mov dword [rbp + 0xa4], r11d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x258], rax
mov eax, dword [rbp + 0x48c]
add eax, 8
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
mov dword [rbp + 0xa8], ecx
sbb r15d, r15d
and r15d, r10d
cmp eax, 8
jb 0x14001fff8
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14001ff10
mov r15d, r10d
jmp 0x14001fff8
mov dword [rbp + 0xa8], eax
mov edi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
xor r11d, r11d
test rax, rax
jne 0x14001ff45
mov r15d, 0xc0000017
jmp 0x14001fff0
mov eax, dword [rbp + 0x488]
mov dword [rdi], eax
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb r15d, r15d
mov r10d, 0xc0000095
and r15d, r10d
cmp rax, rdi
jb 0x14001ffcc
mov eax, dword [rbp + 0x48c]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
and r15d, r10d
cmp rax, rdx
jb 0x14001ffcc
mov edx, dword [rbp + 0xa8]
mov rax, qword [rbp + 0x258]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp + 0x48c]
mov rdx, qword [rbp + 0x490]
call sub.msvcrt.dll_memcpy
mov r9, rdi
mov qword [rbp - 0x60], rdi
xor r11d, r11d
mov edi, r11d
mov r8d, dword [rbp + 0xa8]
mov dword [rbp - 0x38], r8d
jmp 0x14001ffd4
mov r9, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x38]
test rdi, rdi
je 0x14001fff8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov r9, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x38]
or r15d, 0x10000000
mov dword [rbp - 0x38], r15d
jl 0x140021ac9
mov qword [rbp + 0x260], r11
mov qword [rbp + 0x268], r11
mov qword [rbp + 0x270], r11
mov qword [rbp + 0x278], r11
mov qword [rbp + 0x280], r11
mov qword [rbp + 0x288], r11
mov r14, r11
mov qword [rbp - 0x20], r11
test r9, r9
jne 0x14002004a
mov r15d, 0xc000000d
jmp 0x14002087a
mov r15d, r8d
mov qword [rsp + 0x70], r15
test r8d, r8d
je 0x1400207bf
lea rdi, [r15 + 8]
mov qword [rbp - 0x80], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp + 0x18], rax
xor r11d, r11d
test rax, rax
je 0x1400207bf
mov dl, r11b
mov byte [rsp + 0x60], dl
mov ecx, r11d
mov rdi, qword [rbp - 0x60]
test r15, r15
je 0x1400200a9
xor dl, byte [rcx + rdi]
add rcx, r12
cmp rcx, r15
jb 0x14002009a
mov byte [rsp + 0x60], dl
mov qword [rbp + 0xa50], rbx
mov r11, rax
xor r8d, r8d
mov r10d, r8d
mov dword [rbp + 0xac], r8d
or r9d, 0xffffffff
mov dword [rbp + 0xb0], r9d
mov dword [rbp - 0x38], r8d
mov dword [rbp - 0x58], r8d
mov rax, r15
and eax, 7
je 0x1400201e6
mov dword [rbp - 0x38], r8d
mov ecx, r8d
mov dword [rbp - 0x58], ecx
mov r9d, r8d
test eax, eax
je 0x140020139
mov r8d, 0x38
lea rcx, [rdi + 1]
mov qword [rbp - 0x48], rcx
movzx edi, byte [rdi]
cmp r9d, 4
jge 0x140020117
lea ecx, [r8 - 0x20]
shl edi, cl
mov ecx, dword [rbp - 0x58]
or ecx, edi
mov dword [rbp - 0x58], ecx
jmp 0x140020122
mov ecx, r8d
shl edi, cl
or r10d, edi
mov ecx, dword [rbp - 0x58]
add r9d, r12d
sub r8d, 8
mov rdi, qword [rbp - 0x48]
cmp r9d, eax
jl 0x1400200f6
mov dword [rbp - 0x38], r10d
xor r8d, r8d
mov r10d, ecx
xor r10d, 0xb17a307a
mov dword [rbp + 0xac], r10d
mov r9d, dword [rbp - 0x38]
xor r9d, 0x42f6b18d
mov dword [rbp + 0xb0], r9d
mov ecx, r8d
test eax, eax
je 0x1400201a2
lea r8, [r11 + 1]
mov qword [rbp - 0x48], r8
cmp ecx, 4
jge 0x140020179
rol r10d, 8
mov r8d, r10d
jmp 0x140020180
rol r9d, 8
mov r8d, r9d
mov byte [r11], r8b
add ecx, r12d
mov r8, qword [rbp - 0x48]
mov r11, r8
cmp ecx, eax
jl 0x140020163
mov r10d, dword [rbp + 0xac]
mov r9d, dword [rbp + 0xb0]
xor r8d, r8d
cmp eax, 4
jbe 0x1400201c0
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov dword [rbp + 0xb0], r9d
jmp 0x1400201e6
mov r9d, r8d
mov dword [rbp + 0xb0], r8d
cmp eax, 4
jae 0x1400201e6
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp + 0xac], r10d
mov rax, r15
shr rax, 3
mov qword [rbp + 0x20], rax
test rax, rax
je 0x140020588
mov ecx, dword [rbp + 0xa54]
mov eax, ecx
shr eax, 0x10
mov dword [rbp - 0x68], eax
movzx eax, bx
mov dword [rsp + 0x68], eax
movzx eax, bx
mov dword [rbp + 0x10], eax
movzx eax, word [rbp + 0xa52]
mov dword [rbp - 8], eax
movzx eax, cx
mov dword [rbp - 0x50], eax
mov eax, ecx
xor eax, ebx
add r11, 7
mov qword [rbp + 8], r11
add rdi, 2
mov qword [rbp - 0x30], rdi
mov r11, qword [rbp + 0x20]
mov esi, dword [rbp - 0x38]
mov r13d, dword [rbp - 0x58]
mov r14d, dword [rbp - 0x68]
mov r15d, eax
mov edx, dword [rbp - 0x50]
movzx r8d, byte [rdi - 2]
shl r8d, 8
movzx eax, byte [rdi - 1]
or r8d, eax
shl r8d, 8
movzx eax, byte [rdi]
or r8d, eax
shl r8d, 8
movzx eax, byte [rdi + 1]
or r8d, eax
movzx edi, byte [rdi + 2]
shl edi, 8
mov rax, qword [rbp - 0x30]
movzx eax, byte [rax + 3]
or edi, eax
shl edi, 8
mov rax, qword [rbp - 0x30]
movzx eax, byte [rax + 4]
or edi, eax
shl edi, 8
mov rax, qword [rbp - 0x30]
movzx eax, byte [rax + 5]
or edi, eax
xor r9d, edi
add qword [rbp - 0x30], 8
mov eax, r9d
sub eax, dword [rbp + 0x10]
xor eax, ecx
xor eax, r8d
xor r10d, eax
xor ecx, r10d
ror ecx, 0xf
mov eax, r10d
ror eax, 7
imul ecx, dword [rbp - 8]
add eax, ecx
xor r9d, eax
lea ecx, [r9 + rbx]
ror ecx, 9
mov eax, r9d
ror eax, 0xa
imul ecx, edx
sub ecx, eax
xor r10d, ecx
mov ecx, r10d
xor ecx, edx
rol ecx, 4
mov eax, r10d
rol eax, 5
imul ecx, r14d
add eax, ecx
xor r9d, eax
mov ecx, r9d
xor ecx, ebx
mov eax, dword [rbp + 0xa54]
sub eax, ecx
xor r10d, eax
mov ecx, r10d
sub ecx, dword [rsp + 0x68]
movzx eax, word [rbp + 0xa52]
imul ecx, eax
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r9d, ecx
mov eax, r9d
ror eax, 0xf
xor eax, edx
imul eax, dword [rsp + 0x68]
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
add eax, r14d
imul eax, edx
xor r9d, eax
mov eax, r9d
sub eax, dword [rbp + 0xa54]
sub eax, dword [rbp + 0x10]
xor r10d, eax
mov ecx, r10d
ror ecx, 0xa
mov eax, r10d
xor eax, r14d
imul eax, dword [rbp - 8]
xor ecx, eax
xor r9d, ecx
mov ecx, r9d
xor ecx, dword [rsp + 0x68]
rol ecx, 6
mov eax, r9d
ror eax, 3
imul ecx, edx
xor eax, ecx
xor r10d, eax
mov eax, r10d
ror eax, 0xf
sub eax, r14d
imul eax, dword [rsp + 0x68]
xor r9d, eax
mov ecx, r9d
xor ecx, r14d
imul ecx, dword [rbp + 0x10]
mov eax, r9d
shr eax, 1
xor ecx, eax
xor r10d, ecx
mov ecx, r9d
sub ecx, edx
rol ecx, 3
imul ecx, dword [rbp + 0x10]
mov eax, r9d
shr eax, 0xf
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, edx
movzx eax, word [rbp + 0xa52]
imul ecx, eax
mov eax, r10d
shr eax, 0xd
sub ecx, eax
xor r9d, ecx
mov ecx, ebx
sub ecx, r9d
ror ecx, 9
mov eax, r9d
ror eax, 0xb
imul ecx, edx
xor eax, ecx
xor r10d, eax
mov eax, r10d
sub eax, r14d
sub eax, ebx
xor r9d, eax
mov ecx, r9d
ror ecx, 7
mov eax, r9d
xor eax, dword [rbp - 8]
imul eax, dword [rbp + 0x10]
sub eax, ecx
xor r10d, eax
mov ecx, r10d
xor ecx, r14d
rol ecx, 4
mov eax, r10d
ror eax, 0x10
imul ecx, dword [rbp - 8]
sub ecx, eax
xor r9d, ecx
mov ecx, ebx
sub ecx, r9d
ror ecx, 0xa
mov eax, r9d
ror eax, 4
imul ecx, edx
add eax, ecx
xor r10d, eax
mov ecx, r10d
sub ecx, ebx
ror ecx, 4
mov eax, r10d
ror eax, 9
imul ecx, r14d
xor eax, ecx
xor r9d, eax
mov ecx, dword [rbp + 0xa54]
xor ecx, r9d
rol ecx, 8
mov eax, r9d
rol eax, 2
imul ecx, dword [rbp + 0x10]
sub ecx, eax
xor r10d, ecx
mov ecx, dword [rbp + 0xa54]
sub ecx, r10d
ror ecx, 0xb
mov eax, r10d
ror eax, 0xc
imul ecx, dword [rbp - 8]
sub ecx, eax
xor r9d, ecx
mov ecx, r9d
movzx eax, word [rbp + 0xa52]
xor ecx, eax
imul ecx, edx
mov eax, r9d
shr eax, 8
xor ecx, eax
xor r10d, ecx
xor r9d, r15d
xor r9d, r10d
xor r10d, r13d
mov dword [rbp + 0xac], r10d
xor r9d, esi
mov dword [rbp + 0xb0], r9d
mov rcx, qword [rbp + 8]
mov byte [rcx - 4], r10b
ror dword [rbp + 0xac], 8
mov al, byte [rbp + 0xb0]
mov byte [rcx], al
ror dword [rbp + 0xb0], 8
mov al, byte [rbp + 0xac]
mov byte [rcx - 5], al
ror dword [rbp + 0xac], 8
mov al, byte [rbp + 0xb0]
mov byte [rcx - 1], al
ror dword [rbp + 0xb0], 8
mov al, byte [rbp + 0xac]
mov byte [rcx - 6], al
ror dword [rbp + 0xac], 8
mov al, byte [rbp + 0xb0]
mov byte [rcx - 2], al
ror dword [rbp + 0xb0], 8
mov al, byte [rbp + 0xac]
mov byte [rcx - 7], al
mov al, byte [rbp + 0xb0]
mov byte [rcx - 3], al
mov r10d, dword [rbp + 0xac]
ror r10d, 8
mov dword [rbp + 0xac], r10d
mov r9d, dword [rbp + 0xb0]
ror r9d, 8
mov dword [rbp + 0xb0], r9d
mov r13d, r8d
mov esi, edi
add rcx, 8
mov qword [rbp + 8], rcx
sub r11, r12
mov ecx, dword [rbp + 0xa54]
mov rdi, qword [rbp - 0x30]
jne 0x14002024e
mov dl, byte [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
or r13, 0xffffffffffffffff
mov r14, qword [rbp - 0x20]
mov r15, qword [rsp + 0x70]
movzx eax, dl
mov rcx, qword [rbp + 0x18]
mov qword [rcx + r15], rax
mov qword [rbp + 0x280], rcx
mov r15, qword [rbp - 0x80]
mov qword [rbp + 0x288], r15
lea rax, [0x140076980]
mov qword [rbp + 0x260], rax
mov edi, 8
mov qword [rbp + 0x268], rdi
lea rax, [0x1400768e0]
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x278], SHCreateDirectory
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [rdi + 0x28]
mov edx, edi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
xor r11d, r11d
test rax, rax
jne 0x140020603
mov r15d, 0xc0000017
jmp 0x1400207ae
mov dword [rax], r15d
mov r15d, r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
jne 0x140020633
mov r15d, 0xc0000017
jmp 0x140020714
mov qword [rdi + 8], rax
mov r8, r15
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r15d, SHCreateDirectory
mov dword [rdi + 0x10], r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov r15d, 8
mov edx, r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rcx, rax
xor r11d, r11d
test rax, rax
je 0x140020628
mov qword [rdi + 0x18], rax
lea rax, [0x1400768e0]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea edx, [r15 + 0x78]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [rcx + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov edx, r15d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x140020628
mov qword [rdi + 0x28], rax
mov r15d, r11d
movsd xmm0, qword [0x140076980]
movsd qword [rax], xmm0
mov r14, rdi
mov edi, r11d
test rdi, rdi
je 0x1400207ae
mov rax, qword [rdi + 8]
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140020746
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x30]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rdi + 8], r11
mov rax, qword [rdi + 0x18]
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14002076f
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x30]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rdi + 0x18], r11
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140020797
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x30]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
test r15d, r15d
js 0x1400207c5
mov qword [rbp + 0x240], r14
mov r14, r11
jmp 0x1400207c5
mov r15d, 0xc0000001
mov rdi, qword [rbp + 0x280]
test rdi, rdi
je 0x1400207ef
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x280], r11
test r14, r14
je 0x14002087a
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14002081c
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [r14 + 8], r11
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x140020840
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [r14 + 0x18], r11
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x140020863
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [r14 + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
or r15d, 0x10000000
mov dword [rbp - 0x38], r15d
jl 0x140021ac9
mov r14, qword [rbp + 0x240]
mov r8d, dword [r14 + 0x20]
mov edi, dword [r14 + 0x10]
mov eax, dword [r14]
add eax, 4
or r10d, 0xffffffff
mov ecx, r10d
cmp eax, 4
cmovae ecx, eax
sbb r15d, r15d
mov r9d, 0xc0000095
and r15d, r9d
cmp eax, 4
jb 0x140020922
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, ecx
jb 0x140020922
lea eax, [rdx + rdi]
mov ecx, r10d
cmp eax, edx
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, edx
jb 0x140020922
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, ecx
jb 0x140020922
lea ecx, [rdx + r8]
mov eax, r10d
cmp ecx, edx
cmovae eax, ecx
sbb r15d, r15d
and r15d, r9d
mov edi, dword [rbp + 0xb4]
cmp ecx, edx
cmovae edi, eax
mov dword [rbp + 0xb4], edi
jmp 0x140020928
mov edi, dword [rbp + 0xb4]
test r15d, r15d
js 0x140020a9a
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
xor r11d, r11d
test rax, rax
jne 0x14002095e
mov r15d, 0xc0000017
jmp 0x140020a9a
mov eax, dword [r14]
mov dword [rdi], eax
lea rax, [rdi + 4]
mov rcx, r13
cmp rax, rdi
cmovae rcx, rax
mov qword [rbp - 0x30], rcx
sbb r15d, r15d
and r15d, 0xc0000095
cmp rax, rdi
jb 0x140020a7e
mov r8d, dword [r14]
mov rdx, qword [r14 + 8]
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14]
mov rdx, qword [rbp - 0x30]
add rcx, rdx
mov r8, r13
cmp rcx, rdx
cmovae r8, rcx
sbb r15d, r15d
mov r9d, 0xc0000095
and r15d, r9d
cmp rcx, rdx
jb 0x140020a7b
mov eax, dword [r14 + 0x10]
mov dword [r8], eax
lea rax, [r8 + 4]
mov rcx, r13
cmp rax, r8
cmovae rcx, rax
mov qword [rbp - 0x30], rcx
sbb r15d, r15d
and r15d, r9d
cmp rax, r8
jb 0x140020a7b
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 0x10]
mov r8, qword [rbp - 0x30]
add rcx, r8
mov rdx, r13
cmp rcx, r8
cmovae rdx, rcx
sbb r15d, r15d
mov r9d, 0xc0000095
and r15d, r9d
cmp rcx, r8
jb 0x140020a7b
mov eax, dword [r14 + 0x20]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
mov qword [rbp - 0x30], rcx
sbb r15d, r15d
and r15d, r9d
cmp rax, rdx
jb 0x140020a7b
mov r8d, dword [r14 + 0x20]
mov rdx, qword [r14 + 0x28]
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 0x20]
mov rdx, qword [rbp - 0x30]
add rcx, rdx
cmp rcx, rdx
sbb r15d, r15d
and r15d, 0xc0000095
xor r11d, r11d
cmp rcx, rdx
jb 0x140020a7e
mov qword [rbp], rdi
mov edi, r11d
mov eax, dword [rbp + 0xb4]
mov dword [rsp + 0x64], eax
jmp 0x140020a7e
xor r11d, r11d
test rdi, rdi
je 0x140020a9a
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
or r15d, 0x10000000
mov dword [rbp - 0x38], r15d
jl 0x140021ac9
mov qword [rbp + 0x2c8], r11
mov r8d, r11d
mov dword [rbp + 0xb8], r11d
mov qword [rbp + 0x2d0], r11
mov r10d, r11d
mov dword [rbp + 0xbc], r11d
mov dword [rbp + 0xc0], 0x3c
mov eax, 0x48
mov dword [rbp + 0xc4], eax
mov dword [rbp + 0xc8], eax
cmp qword [rbp + 0x490], r11
jne 0x140020b00
mov r15d, 0xc000000d
mov dword [rbp - 0x38], r15d
jmp 0x140020cc7
cmp dword [rbp + 0x488], r12d
jbe 0x140020af1
mov rdx, qword [rbp + 0x490]
mov r9d, r11d
mov r14d, 0xc0000095
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140020b94
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r13
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rcx, rdi
jb 0x140020b94
add r9d, r12d
cmp r9d, r12d
jb 0x140020b19
mov edi, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140020b94
mov r8d, edi
mov dword [rbp + 0xb8], edi
mov rax, r11
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x2c8], rax
test r15d, r15d
js 0x140021ac9
cmp dword [rbp + 0x488], 2
jbe 0x140020af1
mov rdx, qword [rbp + 0x490]
mov r9d, r11d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140020c35
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r13
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rcx, rdi
jb 0x140020c35
add r9d, r12d
cmp r9d, 2
jb 0x140020bb4
mov edi, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
mov r9d, r14d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140020c38
mov r10d, edi
mov dword [rbp + 0xbc], edi
mov rax, r11
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x2d0], rax
jmp 0x140020c38
mov r9d, r14d
test r15d, r15d
js 0x140021ac9
lea eax, [r8 + 0x50]
or edx, 0xffffffff
mov ecx, edx
cmp eax, 0x50
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
mov dword [rbp - 0x38], r15d
cmp eax, 0x50
jb 0x140020c9f
lea eax, [rcx + 4]
mov edi, edx
cmp eax, ecx
cmovae edi, eax
sbb r15d, r15d
and r15d, r9d
mov dword [rbp - 0x38], r15d
cmp eax, ecx
jb 0x140020c9f
lea ecx, [rdi + r10]
mov eax, edx
cmp ecx, edi
cmovae eax, ecx
sbb r15d, r15d
and r15d, r9d
mov dword [rbp - 0x38], r15d
mov edx, dword [rbp + 0xcc]
cmp ecx, edi
cmovae edx, eax
mov dword [rbp + 0xcc], edx
jmp 0x140020ca5
mov edx, dword [rbp + 0xcc]
test r15d, r15d
js 0x140021ac9
cmp edx, 0x400000
jbe 0x140020cc1
mov r15d, 0x8000ffff
jmp 0x140021ac5
mov dword [rbp + 0xa0], edx
test r15d, r15d
js 0x140021ac9
mov edi, dword [rbp + 0xa0]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
xor r11d, r11d
test rax, rax
jne 0x140020d03
mov r15d, 0xd0000017
jmp 0x140021ac5
mov qword [rbp - 0x40], rdi
mov r14, qword [rbp]
test r14, r14
jne 0x140020d1b
mov r15d, 0x80070057
jmp 0x140021ac5
mov qword [rbp + 0x518], r14
mov eax, dword [rsp + 0x64]
mov dword [rbp + 0x528], eax
mov qword [rbp + 0x520], rdi
mov eax, dword [rbp + 0xa0]
mov dword [rbp + 0x52c], eax
mov dword [rbp + 0x530], r11d
lea r8, [rbp + 0x2d8]
lea rdx, [0x140065690]
mov ecx, r12d
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
jne 0x140020d8f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
mov dword [rbp - 0x38], r15d
mov edx, dword [rbp + 0xa0]
test r15d, r15d
js 0x140020de1
mov r15d, 0x80004005
jmp 0x140020ddd
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x2d8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140020d61
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x518]
lea ecx, [r8 + 0x66]
call qword [case.0x14003a69c.0]
mov r15d, eax
or r15d, 0x10000000
mov edx, dword [rbp + 0xa0]
cmovge edx, dword [rbp + 0x52c]
mov dword [rbp + 0xa0], edx
mov dword [rbp - 0x38], r15d
xor r11d, r11d
cmp r15d, 0xd0000023
jne 0x140020df8
mov r15d, 0x8007007a
jmp 0x140021ac5
test r15d, r15d
js 0x140021ac9
mov qword [rbp - 0x30], r11
cmp edx, 4
jae 0x140020e15
mov r15d, 0xc000003e
jmp 0x140020ecf
mov r10d, dword [rdi]
mov dword [rbp - 0x48], r10d
lea rax, [rdi + 4]
mov r14, r13
cmp rax, rdi
cmovae r14, rax
sbb r15d, r15d
mov r9d, 0xc0000095
and r15d, r9d
cmp rax, rdi
jb 0x140020ecf
lea eax, [rdx - 4]
cmp eax, r10d
jb 0x140020e0a
lea rcx, [r14 + r10]
mov r8, r13
cmp rcx, r14
cmovae r8, rcx
sbb r15d, r15d
and r15d, r9d
cmp rcx, r14
jb 0x140020ecf
lea eax, [r10 + 4]
or ecx, 0xffffffff
cmp eax, 4
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, 4
jb 0x140020ecf
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x140020e0a
mov r11d, dword [r8]
mov dword [rbp - 0x50], r11d
lea rax, [r8 + 4]
mov rdi, r13
cmp rax, r8
cmovae rdi, rax
mov qword [rbp + 8], rdi
sbb r15d, r15d
and r15d, r9d
cmp rax, r8
jb 0x140020ecc
lea eax, [rcx + 4]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, ecx
jb 0x140020ecc
mov eax, edx
sub eax, r8d
cmp eax, r11d
jae 0x140020f09
mov r15d, 0xc000003e
xor r11d, r11d
mov rax, qword [rbp - 0x28]
or r15d, 0x10000000
mov dword [rbp - 0x38], r15d
jl 0x140021ac9
mov rdi, r11
mov qword [rbp + 0x2e0], r11
mov qword [rbp + 0x2e8], r11
test rax, rax
jne 0x140021249
mov r15d, 0xd000000d
jmp 0x140021ac5
lea rcx, [rdi + r11]
mov r9, r13
cmp rcx, rdi
cmovae r9, rcx
sbb r15d, r15d
and r15d, 0xc0000095
cmp rcx, rdi
jb 0x140020ecc
lea eax, [r8 + r11]
or edi, 0xffffffff
cmp eax, r8d
cmovae edi, eax
sbb r15d, r15d
and r15d, 0xc0000095
cmp eax, r8d
jb 0x140020ecc
mov eax, edx
sub eax, edi
cmp eax, 4
jb 0x140020ec6
mov r8d, dword [r9]
mov dword [rbp - 8], r8d
lea rax, [r9 + 4]
mov rcx, r13
cmp rax, r9
cmovae rcx, rax
mov qword [rbp + 0x20], rcx
sbb r15d, r15d
and r15d, 0xc0000095
cmp rax, r9
jb 0x140020ecc
lea eax, [rdi + 4]
or ecx, 0xffffffff
cmp eax, edi
cmovae ecx, eax
sbb r15d, r15d
mov r9d, 0xc0000095
and r15d, r9d
cmp eax, edi
jb 0x140020ecc
mov eax, edx
sub eax, ecx
cmp eax, r8d
jb 0x140020ec6
lea eax, [rcx + r8]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, ecx
jb 0x140020ecc
cmp edx, edi
jne 0x140020ec6
lea ecx, [r10 + r8]
add ecx, r11d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x140020ec6
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
xor r11d, r11d
test rax, rax
jne 0x14002100d
mov r15d, 0xc0000017
jmp 0x14002119b
test r14, r14
je 0x14002105b
mov eax, dword [rbp - 0x48]
mov dword [rdi], eax
mov r15d, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
jne 0x140021044
mov r15d, 0xc0000017
jmp 0x140021110
mov qword [rdi + 8], rax
mov r8, r15
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x140021062
mov dword [rax], r11d
mov qword [rax + 8], r11
mov r14, qword [rbp + 8]
test r14, r14
je 0x1400210aa
mov eax, dword [rbp - 0x50]
mov dword [rdi + 0x10], eax
mov r15d, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x140021039
mov qword [rdi + 0x18], rax
mov r8d, r15d
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x1400210b2
mov dword [rdi + 0x10], r11d
mov qword [rdi + 0x18], r11
mov r14, qword [rbp + 0x20]
test r14, r14
je 0x1400210fe
mov eax, dword [rbp - 8]
mov dword [rdi + 0x20], eax
mov r15d, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x140021039
mov qword [rdi + 0x28], rax
mov r8d, r15d
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x140021106
mov dword [rdi + 0x20], r11d
mov qword [rdi + 0x28], r11
mov qword [rbp - 0x30], rdi
mov rdi, r11
mov r15d, r11d
test rdi, rdi
je 0x14002119b
mov r14, qword [rdi + 8]
test r14, r14
je 0x14002113d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rdi + 8], r11
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x140021161
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rdi + 0x18], r11
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x140021184
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rdi, r11
test r15d, r15d
mov rax, qword [rbp - 0x30]
cmovs rdi, rax
cmovs rax, r11
mov qword [rbp - 0x28], rax
test rdi, rdi
je 0x140020ed3
mov r14, qword [rdi + 8]
test r14, r14
je 0x1400211de
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rdi + 8], r11
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x140021202
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rdi + 0x18], r11
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x140021225
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x28], rax
xor r11d, r11d
jmp 0x140020ed3
mov r14, qword [rax + 8]
mov qword [rbp - 0x30], r14
test r14, r14
je 0x140020efe
cmp dword [rax], r11d
je 0x140020efe
mov r15d, dword [rax]
mov dword [rbp - 0x48], r11d
test r15, r15
je 0x140021867
add r15, 0xfffffffffffffff8
mov qword [rbp + 8], r15
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov r9, rax
mov qword [rbp + 0x20], rax
xor r11d, r11d
test rax, rax
je 0x140021860
mov dl, r11b
mov byte [rsp + 0x60], dl
mov qword [rbp + 0xa48], rsi
mov rax, r14
mov r11, r9
mov r8, r15
and r8d, 7
je 0x1400213d7
xor edi, edi
mov dword [rbp + 0xd0], edi
or dword [rbp + 0xd4], 0xffffffff
mov r14d, edi
mov dword [rbp - 0x50], edi
mov ecx, edi
mov dword [rbp - 8], ecx
mov r10d, edi
test r8d, r8d
je 0x140021327
mov edi, 0x38
lea rcx, [rax + 1]
mov qword [rbp + 0x18], rcx
movzx eax, byte [rax]
cmp r10d, 4
jge 0x14002130a
lea ecx, [rdi - 0x20]
shl eax, cl
mov ecx, dword [rbp - 8]
or ecx, eax
mov dword [rbp - 8], ecx
jmp 0x140021314
mov ecx, edi
shl eax, cl
or r14d, eax
mov ecx, dword [rbp - 8]
add r10d, r12d
sub edi, 8
mov rax, qword [rbp + 0x18]
cmp r10d, r8d
jl 0x1400212ea
mov dword [rbp - 0x50], r14d
mov r14d, ecx
xor r14d, 0x92f65a5
mov dword [rbp + 0xd0], r14d
mov edi, dword [rbp - 0x50]
xor edi, 0x699a899c
mov dword [rbp + 0xd4], edi
xor r10d, r10d
mov ecx, r10d
test r8d, r8d
je 0x140021390
lea r10, [r11 + 1]
mov qword [rbp + 0x18], r10
cmp ecx, 4
jge 0x140021368
rol r14d, 8
mov r10d, r14d
jmp 0x14002136e
rol edi, 8
mov r10d, edi
mov byte [r11], r10b
add ecx, r12d
mov r10, qword [rbp + 0x18]
mov r11, r10
cmp ecx, r8d
jl 0x140021352
mov r14d, dword [rbp + 0xd0]
mov edi, dword [rbp + 0xd4]
xor r10d, r10d
cmp r8d, 4
jbe 0x1400213ad
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp + 0xd4], edi
jmp 0x1400213f8
mov edi, r10d
mov dword [rbp + 0xd4], r10d
cmp r8d, 4
jae 0x1400213f8
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr r14d, cl
shl r14d, cl
mov dword [rbp + 0xd0], r14d
jmp 0x1400213f8
xor r10d, r10d
mov dword [rbp - 8], r10d
or edi, 0xffffffff
mov dword [rbp - 0x50], edi
mov edi, r10d
mov dword [rbp + 0xd4], r10d
mov r14d, r10d
mov dword [rbp + 0xd0], r10d
mov rcx, r15
shr rcx, 3
mov qword [rbp + 0x18], rcx
test rcx, rcx
je 0x1400217c3
mov r13d, dword [rbp + 0xa4c]
mov r8d, r13d
shr r8d, 0x10
mov dword [rbp + 0x10], r8d
movzx ecx, r13w
mov dword [rsp + 0x68], ecx
mov ecx, r13d
xor ecx, esi
mov dword [rbp - 0x38], ecx
movzx ecx, si
mov dword [rsp + 0x64], ecx
movzx ecx, word [rbp + 0xa4a]
mov dword [rbp - 0x58], ecx
add r11, 7
mov qword [rbp - 0x80], r11
lea rcx, [rax + 2]
mov rbx, qword [rbp + 0x18]
mov edx, dword [rbp - 0x50]
mov r15d, dword [rbp - 8]
movzx r11d, byte [rcx - 2]
shl r11d, 8
movzx eax, byte [rcx - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rcx]
or r11d, eax
shl r11d, 8
movzx eax, byte [rcx + 1]
or r11d, eax
movzx r10d, byte [rcx + 2]
shl r10d, 8
movzx eax, byte [rcx + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rcx + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rcx + 5]
or r10d, eax
xor r14d, r11d
xor edi, r10d
add rcx, 8
mov qword [rbp + 0x18], rcx
mov r9d, r13d
xor r9d, edi
xor r9d, r14d
xor r9d, esi
mov edi, r9d
sub edi, esi
rol edi, 5
mov ecx, r9d
rol ecx, 0xa
mov eax, dword [rsp + 0x68]
imul eax, edi
add ecx, eax
xor r14d, ecx
lea ecx, [r14 + r13]
ror ecx, 9
mov eax, r14d
rol eax, 2
movzx edi, word [rbp + 0xa4a]
imul ecx, edi
sub ecx, eax
xor r9d, ecx
mov ecx, r9d
sub ecx, dword [rsp + 0x68]
imul ecx, dword [rsp + 0x64]
mov eax, r9d
shr eax, 0xd
sub ecx, eax
xor r14d, ecx
mov edi, r14d
movzx eax, word [rbp + 0xa4a]
xor edi, eax
rol edi, 6
mov ecx, r14d
rol ecx, 2
mov eax, r8d
imul eax, edi
sub eax, ecx
xor r9d, eax
mov ecx, r9d
xor ecx, esi
mov eax, r13d
sub eax, ecx
xor r14d, eax
mov ecx, r14d
ror ecx, 6
mov eax, dword [rsp + 0x68]
xor eax, r14d
movzx edi, word [rbp + 0xa4a]
imul eax, edi
xor ecx, eax
xor r9d, ecx
lea ecx, [r9 + r13]
ror ecx, 0xf
mov edi, r9d
rol edi, 2
mov eax, dword [rsp + 0x64]
imul eax, ecx
add edi, eax
xor r14d, edi
mov edi, r14d
sub edi, esi
ror edi, 0xe
mov ecx, r14d
rol ecx, 8
mov eax, r8d
imul eax, edi
sub eax, ecx
xor r9d, eax
mov edi, r9d
xor edi, esi
ror edi, 0xc
mov ecx, r9d
ror ecx, 0xa
mov eax, dword [rsp + 0x68]
imul eax, edi
xor ecx, eax
xor r14d, ecx
mov ecx, r8d
xor ecx, r14d
movzx eax, word [rbp + 0xa4a]
imul ecx, eax
mov eax, r14d
shr eax, 0xa
xor ecx, eax
xor r9d, ecx
mov eax, r9d
not eax
ror eax, 5
add eax, dword [rsp + 0x64]
imul eax, r8d
xor r14d, eax
mov r8d, r14d
sub r8d, dword [rbp + 0x10]
xor r8d, r9d
xor r8d, esi
mov eax, r8d
mov r9d, dword [rbp + 0x10]
xor eax, r9d
rol eax, 2
mov ecx, dword [rsp + 0x68]
imul ecx, eax
mov eax, r8d
shr eax, 2
add ecx, eax
xor r14d, ecx
mov ecx, r14d
sub ecx, r13d
ror ecx, 6
mov eax, r14d
rol eax, 7
imul ecx, dword [rbp - 0x58]
add eax, ecx
xor r8d, eax
mov ecx, r8d
ror ecx, 9
mov eax, dword [rsp + 0x68]
xor eax, r8d
imul eax, dword [rsp + 0x64]
add ecx, eax
xor r14d, ecx
mov edi, r14d
movzx eax, word [rbp + 0xa4a]
xor edi, eax
rol edi, 5
mov ecx, r14d
rol ecx, 7
mov eax, r9d
imul eax, edi
add ecx, eax
xor r8d, ecx
mov eax, dword [rbp - 0x38]
xor eax, r8d
xor r14d, eax
mov eax, r14d
ror eax, 3
movzx ecx, word [rbp + 0xa4a]
sub eax, ecx
imul eax, dword [rsp + 0x68]
xor r8d, eax
mov edi, r8d
sub edi, r13d
ror edi, 1
mov ecx, r8d
ror ecx, 6
mov eax, dword [rsp + 0x64]
imul eax, edi
sub eax, ecx
xor r14d, eax
lea ecx, [r14 + rsi]
rol ecx, 3
mov eax, r14d
rol eax, 0xe
imul ecx, r9d
add eax, ecx
xor r8d, eax
lea edi, [r8 + rsi]
rol edi, 0xf
mov ecx, r8d
ror ecx, 0xe
mov eax, dword [rsp + 0x68]
imul eax, edi
sub eax, ecx
xor r14d, eax
mov ecx, dword [rsp + 0x64]
xor ecx, r14d
movzx eax, word [rbp + 0xa4a]
imul ecx, eax
mov eax, r14d
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, r13d
xor ecx, r8d
rol ecx, 4
mov edi, r8d
rol edi, 2
mov eax, dword [rsp + 0x64]
imul eax, ecx
xor edi, eax
xor edi, r15d
xor r14d, edi
mov dword [rbp + 0xd0], r14d
xor r8d, edx
mov dword [rbp + 0xd4], r8d
mov rcx, qword [rbp - 0x80]
mov byte [rcx - 4], r14b
ror dword [rbp + 0xd0], 8
mov al, byte [rbp + 0xd4]
mov byte [rcx], al
ror dword [rbp + 0xd4], 8
mov al, byte [rbp + 0xd0]
mov byte [rcx - 5], al
ror dword [rbp + 0xd0], 8
mov al, byte [rbp + 0xd4]
mov byte [rcx - 1], al
ror dword [rbp + 0xd4], 8
mov al, byte [rbp + 0xd0]
mov byte [rcx - 6], al
ror dword [rbp + 0xd0], 8
mov al, byte [rbp + 0xd4]
mov byte [rcx - 2], al
ror dword [rbp + 0xd4], 8
mov al, byte [rbp + 0xd0]
mov byte [rcx - 7], al
mov al, byte [rbp + 0xd4]
mov byte [rcx - 3], al
mov r14d, dword [rbp + 0xd0]
ror r14d, 8
mov dword [rbp + 0xd0], r14d
mov edi, dword [rbp + 0xd4]
ror edi, 8
mov dword [rbp + 0xd4], edi
mov r15d, r11d
mov edx, r10d
add rcx, 8
mov qword [rbp - 0x80], rcx
sub rbx, r12
mov r8d, r9d
mov rcx, qword [rbp + 0x18]
jne 0x140021456
mov dl, byte [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
or r13, 0xffffffffffffffff
mov r15, qword [rbp + 8]
mov r9, qword [rbp + 0x20]
xor r11d, r11d
mov eax, r11d
test r15, r15
je 0x1400217da
xor dl, byte [rax + r9]
add rax, r12
cmp rax, r15
jb 0x1400217ce
movzx eax, dl
mov rcx, qword [rbp - 0x30]
cmp rax, qword [r15 + rcx]
je 0x1400217f6
mov r14d, 0xc004d501
mov rdi, qword [rbp + 0x2e0]
jmp 0x140021812
mov rdi, r9
mov qword [rbp + 0x2e0], r9
mov r9, r11
mov qword [rbp + 0x20], r11
mov qword [rbp + 0x2e8], r15
mov r14d, dword [rbp - 0x48]
test r9, r9
je 0x140021836
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x20]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rdi, qword [rbp + 0x2e0]
xor r11d, r11d
test r14d, r14d
js 0x140021867
mov r14, rdi
mov qword [rbp - 0x78], rdi
mov rdi, r11
mov qword [rbp + 0x2e0], r11
mov ecx, dword [rbp + 0x2e8]
mov dword [rbp + 0xa4], ecx
mov r15d, 0x10000000
jmp 0x140021877
mov rdi, qword [rbp + 0x2e0]
mov r15d, 0xd0000001
mov ecx, dword [rbp + 0xa4]
mov r14, qword [rbp - 0x78]
mov dword [rbp - 0x38], r15d
test rdi, rdi
je 0x1400218a4
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x2e0], r11
mov ecx, dword [rbp + 0xa4]
test r15d, r15d
js 0x140021ac9
cmp ecx, 4
jb 0x140021aba
mov eax, dword [r14]
mov dword [rbp - 0x48], eax
lea rax, [r14 + 4]
mov rdx, r13
cmp rax, r14
cmovae rdx, rax
sbb r15d, r15d
mov r9d, 0xc0000095
and r15d, r9d
cmp rax, r14
jb 0x140021ac0
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140021aba
mov r14d, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r9d
cmp rax, rdx
jb 0x140021ac0
lea eax, [rcx - 8]
cmp eax, r14d
jb 0x140021aba
lea eax, [r14 + 8]
cmp eax, 8
sbb r15d, r15d
and r15d, r9d
cmp eax, 8
jb 0x140021ac0
mov r10d, r14d
lea r9, [r14 + rdi]
mov rdx, qword [rbp - 0x78]
lea rax, [rcx + rdx]
cmp rax, r9
jb 0x140021aba
sub rcx, r14
sub rcx, rdi
add rcx, rdx
cmp rcx, 8
jae 0x140021aba
mov rax, r11
mov qword [rbp - 0x30], rax
mov r15d, r11d
mov dword [rbp - 0x50], r11d
test rdi, rdi
je 0x140021a39
mov rdx, rdi
mov r8, r13
cmp r9, rdi
cmovae r8, r9
sbb r15d, r15d
and r15d, 0xc0000095
cmp r9, rdi
jb 0x140021aa7
cmp rdi, r8
jae 0x140021a34
mov r9d, dword [rbp + 0xd8]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
and r15d, 0xc0000095
cmp rax, rdx
jb 0x140021aa7
cmp rcx, r8
ja 0x140021a68
mov ecx, dword [rdx]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0xd8], r9d
jb 0x140021aa7
mov ecx, r9d
add rcx, rdx
mov rax, r13
cmp rcx, rdx
cmovae rax, rcx
sbb r15d, r15d
and r15d, 0xc0000095
cmp rcx, rdx
jb 0x140021aa7
cmp rax, r8
ja 0x140021a68
mov rdx, rax
add r11d, r12d
mov dword [rbp - 0x50], r11d
cmp rax, r8
jb 0x14002199f
mov rax, qword [rbp - 0x30]
cmp rdx, r8
jne 0x140021a68
test r14d, r14d
je 0x140021a79
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp - 0x30], rax
xor ecx, ecx
test rax, rax
jne 0x140021a73
mov r15d, 0xc0000017
jmp 0x140021aa7
mov r15d, 0xc000000d
xor r11d, r11d
jmp 0x140021ac0
mov r15d, ecx
mov r10, r14
test rdi, rdi
je 0x140021a90
mov r8, r10
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x480], rax
mov dword [rbp + 0x47c], r14d
mov eax, dword [rbp - 0x50]
mov dword [rbp + 0x478], eax
xor r11d, r11d
test r15d, r15d
js 0x140021ac0
mov eax, dword [rbp - 0x48]
cmp eax, dword [rbp + 0x478]
je 0x140021ac0
mov r15d, 0xc000003e
bts r15d, 0x1c
mov dword [rbp - 0x38], r15d
mov rdi, qword [rbp - 0x60]
test rdi, rdi
je 0x140021ae9
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov r14, qword [rbp + 0x240]
test r14, r14
je 0x140021b82
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x140021b1d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [r14 + 8], r11
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x140021b41
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [r14 + 0x18], r11
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x140021b64
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [r14 + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x240], r11
mov rdi, qword [rbp]
test rdi, rdi
je 0x140021ba2
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rdi, qword [rbp - 0x40]
test rdi, rdi
je 0x140021bc2
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov r14, qword [rbp - 0x28]
test r14, r14
je 0x140021c51
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x140021bf3
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [r14 + 8], r11
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x140021c17
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [r14 + 0x18], r11
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x140021c3a
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [r14 + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x140021c71
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
test r15d, r15d
js 0x14001f7a5
cmp dword [rbp + 0x478], r12d
jae 0x140021c8e
mov r15d, 0xc004d501
jmp 0x14001f244
mov r10d, 0xc0000095
cmp qword [rbp + 0x480], r11
jne 0x140021ca9
mov r15d, 0xc000000d
mov dword [rbp - 0x38], r15d
jmp 0x140021d14
cmp dword [rbp + 0x478], r11d
jbe 0x140021c9d
mov rdi, qword [rbp + 0x480]
mov ecx, dword [rdi]
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdi
jb 0x140021cf0
mov dword [rbp + 0xdc], ecx
mov rax, r11
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x2f0], rax
jmp 0x140021cfd
mov ecx, dword [rbp + 0xdc]
mov rax, qword [rbp + 0x2f0]
test r15d, r15d
js 0x14001f7a5
cmp ecx, 4
jne 0x14001f4c3
mov eax, dword [rax]
mov dword [rbp + 0x60], eax
test r15d, r15d
js 0x14001f7a5
mov r15d, dword [rbp + 0x60]
cmp r15d, 0xd0000023
mov eax, 0x8007007a
cmove r15d, eax
mov dword [rbp - 0x38], r15d
mov dword [rbp + 0x60], r15d
cmp r15d, eax
je 0x140021d47
test r15d, r15d
js 0x14001f7a5
cmp dword [rbp + 0x478], 6
jne 0x140021c83
cmp qword [rbp + 0x480], r11
jne 0x140021d6c
mov r15d, 0xc000000d
mov dword [rbp - 0x38], r15d
jmp 0x140021e19
mov rdx, qword [rbp + 0x480]
mov r8d, r11d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140021df0
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r13
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rcx, rdi
jb 0x140021df0
add r8d, r12d
cmp r8d, r12d
jb 0x140021d76
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140021df0
mov dword [rbp + 0xe0], ecx
mov rax, r11
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x2f8], rax
jmp 0x140021dfd
mov ecx, dword [rbp + 0xe0]
mov rax, qword [rbp + 0x2f8]
test r15d, r15d
js 0x14001f7a5
cmp ecx, 8
jne 0x14001f4c3
mov rax, qword [rax]
mov qword [rbp + 0x300], rax
test r15d, r15d
js 0x14001f7a5
cmp qword [rbp + 0x480], r11
jne 0x140021e3a
mov r15d, 0xc000000d
mov dword [rbp - 0x38], r15d
jmp 0x140021ee6
mov rdx, qword [rbp + 0x480]
mov r8d, r11d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140021ebf
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r13
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rcx, rdi
jb 0x140021ebf
add r8d, r12d
cmp r8d, 2
jb 0x140021e44
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140021ebf
mov dword [rbp + 0xe4], ecx
mov rax, r11
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x308], rax
jmp 0x140021ecc
mov ecx, dword [rbp + 0xe4]
mov rax, qword [rbp + 0x308]
test r15d, r15d
js 0x14001f7a5
cmp ecx, 4
jne 0x14001f4c3
mov eax, dword [rax]
mov dword [rbp + 0xe8], eax
test r15d, r15d
js 0x14001f7a5
cmp qword [rbp + 0x480], r11
jne 0x140021f03
mov r15d, 0xc000000d
jmp 0x14001f244
mov rdx, qword [rbp + 0x480]
mov r8d, r11d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140021f8b
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r13
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rcx, rdi
jb 0x140021f8b
add r8d, r12d
cmp r8d, 3
jb 0x140021f0d
mov r8d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x140021f8b
mov dword [rbp + 0xec], r8d
mov r9, r11
test r8d, r8d
cmovne r9, rcx
mov qword [rbp + 0x310], r9
jmp 0x140021f99
mov r8d, dword [rbp + 0xec]
mov r9, qword [rbp + 0x310]
test r15d, r15d
js 0x14001f7a5
mov rdx, qword [rbp + 0x480]
mov r10d, r11d
mov r14d, 0xc0000095
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x14002202d
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r13
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rcx, rdi
jb 0x14002202d
add r10d, r12d
cmp r10d, 4
jb 0x140021fb2
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x14002202d
mov dword [rbp + 0xf0], ecx
mov rax, r11
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x318], rax
jmp 0x14002203a
mov ecx, dword [rbp + 0xf0]
mov rax, qword [rbp + 0x318]
test r15d, r15d
js 0x140022054
cmp ecx, 4
jne 0x14001f4c3
mov r10d, dword [rax]
mov dword [rbp + 0xf4], r10d
jmp 0x14002205b
mov r10d, dword [rbp + 0xf4]
test r15d, r15d
js 0x14001f7a5
mov rdx, qword [rbp + 0x480]
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x1400220e9
mov ecx, dword [rdx]
add rcx, rdi
mov rdx, r13
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rcx, rdi
jb 0x1400220e9
add r11d, r12d
cmp r11d, 5
jb 0x14002206b
mov ecx, dword [rdx]
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r14d
mov dword [rbp - 0x38], r15d
cmp rax, rdx
jb 0x1400220e9
mov dword [rbp + 0xf8], ecx
xor r11d, r11d
mov eax, r11d
test ecx, ecx
cmovne rax, rdi
mov qword [rbp + 0x320], rax
jmp 0x1400220f9
mov ecx, dword [rbp + 0xf8]
mov rax, qword [rbp + 0x320]
xor r11d, r11d
test r15d, r15d
js 0x14002210e
cmp ecx, 4
jne 0x14001f4c3
mov ecx, dword [rax]
mov dword [rbp + 0x5c], ecx
jmp 0x140022111
mov ecx, dword [rbp + 0x5c]
test r15d, r15d
js 0x14001f7a5
mov rax, qword [rbp + 0x300]
cmp qword [rbp + 0x220], rax
jne 0x140021c83
mov dword [rbp + 0x44], r10d
mov dword [rbp + 0x48], ecx
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0x40], eax
cmp r10d, 4
jbe 0x14002214f
mov r15d, 0x8007007a
jmp 0x14001f244
cmp r8d, 4
ja 0x140022144
mov rdx, r9
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_memcpy
xor r11d, r11d
mov r14, qword [rbp - 0x10]
test r15d, r15d
js 0x14001f7a9
mov eax, dword [rbp + 0x60]
test eax, eax
cmovne r15d, eax
jmp 0x14001f1d6
mov rax, qword [0x1400740e8]
call qword [case.0x14003a69c.0]
mov qword [0x140078c80], rax
mov edi, dword [0x140077ee4]
mov dword [rbp - 0x48], edi
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x9d0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xa70], rax
mov qword [rbp + 0xa78], rax
mov dword [rbp + 0xfc], r12d
mov qword [rbp + 8], r14
mov qword [rbp + 0x20], r14
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xc18]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x18], r14
xor eax, eax
lock cmpxchg dword [0x140078c90], r12d
jne 0x1400221e4
mov eax, dword [0x140078c8c]
test eax, eax
jne 0x14002281f
mov dword [rbp - 0x50], r14d
mov dword [rbp - 8], r14d
mov dword [rbp + 0x10], r14d
mov qword [rbp + 0x330], r14
mov qword [rbp + 0x338], r14
mov dword [rsp + 0x68], r14d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp - 0x80], rax
xor r10d, r10d
test rax, rax
je 0x14002278b
mov ecx, r10d
or dword [rsp + 0x64], 0xffffffff
mov esi, r10d
mov dword [rbp + 0x100], r10d
mov ebx, r10d
mov dword [rbp + 0x104], ebx
lea r15, [rax + 7]
lea rdi, [0x1400674e2]
lea r13d, [r10 + 0x67]
mov r14d, dword [rsp + 0x64]
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 ebx, r11d
xor esi, r10d
lea rdi, [rdi + 8]
xor esi, ebx
xor esi, 0xac987321
lea eax, [rsi + 0x54969fa2]
rol eax, 5
mov edx, esi
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor ebx, edx
lea eax, [rbx + 0x7f1137f]
ror eax, 9
mov edx, ebx
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor esi, eax
mov eax, esi
shr eax, 0xd
imul edx, esi, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor ebx, edx
mov eax, ebx
xor eax, 0xab69
rol eax, 6
mov edx, ebx
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor esi, eax
mov edx, esi
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor ebx, eax
mov r8d, ebx
ror r8d, 6
mov eax, ebx
xor eax, 0x137f
imul edx, eax, 0xab69
xor r8d, edx
xor esi, r8d
lea eax, [rsi + 0x7f1137f]
ror eax, 0xf
mov edx, esi
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor ebx, edx
lea eax, [rbx + 0x54969fa2]
ror eax, 0xe
mov edx, ebx
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor esi, eax
mov eax, esi
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
mov edx, esi
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, ebx
shr eax, 0xa
xor edx, eax
xor esi, edx
mov eax, esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor ebx, eax
lea r9d, [rbx - 0x7f1]
xor r9d, esi
xor r9d, r8d
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
mov edx, r9d
shr edx, 2
imul eax, eax, 0x137f
add edx, eax
xor ebx, edx
lea eax, [rbx - 0x7f1137f]
ror eax, 6
mov edx, ebx
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 ebx, r8d
mov eax, ebx
xor eax, 0xab69
rol eax, 5
mov edx, ebx
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, ebx
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 + 0x104], r8d
xor r9d, r14d
mov dword [rbp + 0x100], r9d
mov byte [r15 - 4], r8b
ror dword [rbp + 0x104], 8
mov al, byte [rbp + 0x100]
mov byte [r15], al
ror dword [rbp + 0x100], 8
mov al, byte [rbp + 0x104]
mov byte [r15 - 5], al
ror dword [rbp + 0x104], 8
mov al, byte [rbp + 0x100]
mov byte [r15 - 1], al
ror dword [rbp + 0x100], 8
mov al, byte [rbp + 0x104]
mov byte [r15 - 6], al
ror dword [rbp + 0x104], 8
mov al, byte [rbp + 0x100]
mov byte [r15 - 2], al
ror dword [rbp + 0x100], 8
mov al, byte [rbp + 0x104]
mov byte [r15 - 7], al
mov al, byte [rbp + 0x100]
mov byte [r15 - 3], al
mov ebx, dword [rbp + 0x104]
ror ebx, 8
mov dword [rbp + 0x104], ebx
mov esi, dword [rbp + 0x100]
ror esi, 8
mov dword [rbp + 0x100], esi
mov ecx, r11d
mov r14d, r10d
lea r15, [r15 + 8]
sub r13, r12
jne 0x140022274
xor r10d, r10d
mov eax, r10d
mov cl, r10b
mov edi, dword [rbp - 0x48]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rbp - 0x38]
or r13, 0xffffffffffffffff
mov r14, qword [rbp - 0x80]
mov edx, 0x338
xor cl, byte [rax + r14]
add rax, r12
cmp rax, rdx
jb 0x1400225d6
movzx eax, cl
cmp rax, qword [0x140067818]
je 0x1400225f8
mov dword [rsp + 0x68], 0xc004d501
jmp 0x140022609
mov qword [rbp + 0x330], r14
mov r14, r10
mov qword [rbp + 0x338], rdx
test r14, r14
je 0x140022625
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r10d, r10d
cmp dword [rsp + 0x68], r10d
jl 0x14002278b
mov r14, qword [rbp + 0x330]
mov rax, qword [rbp + 0x338]
mov byte [rax + r14 - 1], r10b
xor edx, edx
lea r8d, [rdx + 0x60]
lea rcx, [0x140077ef0]
call sub.msvcrt.dll_memset
xor r10d, r10d
cmp byte [r14], r10b
je 0x140022785
mov rdx, r14
mov rax, r13
inc rax
cmp word [r14 + rax*2], r10w
jne 0x140022667
lea r14, [r14 + rax*2]
mov eax, dword [rbp + 0x10]
lea rcx, [rax + rax*2]
lea rax, [0x140077ef0]
lea r8, [rax + rcx*8]
mov qword [rbp - 0x80], r8
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
xor r10d, r10d
test eax, eax
je 0x14002278b
mov ecx, r10d
mov dword [rbp - 8], ecx
mov r8, qword [rbp - 0x80]
mov rax, qword [r8]
mov edx, 0x5a4d
cmp word [rax], dx
je 0x1400226bf
mov ecx, 0xc000007b
mov dword [rbp - 8], ecx
jmp 0x14002270e
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x1400226b5
add rdx, qword [r8]
cmp rdx, qword [r8]
jb 0x1400226b5
cmp dword [rdx], 0x4550
jne 0x1400226b5
movzx eax, word [rdx + 0x18]
mov r9d, 0x10b
sub ax, r9w
mov r9d, 0xfeff
test r9w, ax
je 0x1400226fc
mov ecx, 0xc000000d
jmp 0x1400226ba
mov rax, qword [rdx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r14 + 2]
mov dword [rsp + 0x68], eax
add r14, 6
mov edx, r10d
mov dword [rsp + 0x64], edx
test eax, eax
je 0x14002277c
mov r9, r14
mov rax, r13
inc rax
cmp byte [r14 + rax], r10b
jne 0x14002272b
inc r14
add r14, rax
test ecx, ecx
js 0x14002276b
mov rdx, r9
mov rcx, qword [r8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r10d, r10d
test rax, rax
je 0x140022785
mov ecx, dword [rbp - 0x50]
lea rdx, [0x140074050]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 8]
mov r8, qword [rbp - 0x80]
mov edx, dword [rsp + 0x64]
add dword [rbp - 0x50], r12d
add edx, r12d
mov dword [rsp + 0x64], edx
cmp edx, dword [rsp + 0x68]
jb 0x140022725
add dword [rbp + 0x10], r12d
jmp 0x140022658
mov r14d, dword [rbp - 8]
jmp 0x140022791
mov r14d, 0xc000007a
cmp qword [rbp + 0x330], r10
je 0x1400227b5
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x330]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r10d, r10d
test r14d, r14d
jns 0x140022819
lea r14, [0x140077ef0]
mov eax, 4
mov qword [rbp - 0x80], rax
mov rcx, qword [r14]
test rcx, rcx
je 0x1400227df
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [rbp - 0x80]
xor r10d, r10d
add r14, 0x18
sub rax, r12
mov qword [rbp - 0x80], rax
jne 0x1400227ca
xor edx, edx
lea r8d, [rdx + 0x60]
lea rcx, [0x140077ef0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x140061af0]
lea rcx, [0x140074050]
call sub.msvcrt.dll_memcpy
jmp 0x140022828
mov eax, dword [0x140078c8c]
add eax, r12d
mov dword [0x140078c8c], eax
xor r10d, r10d
mov eax, r10d
xchg dword [0x140078c90], eax
xor ecx, ecx
mov dword [rbp + 0x1050], ecx
mov word [rbp + 0x1054], cx
mov dword [rbp - 0x50], r10d
mov dword [rbp - 8], r10d
mov qword [rbp + 0x340], r10
xor eax, eax
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x4e8], rax
mov qword [rbp + 0x4f0], rax
mov qword [rbp + 0xa80], rax
mov qword [rbp + 0xa88], rax
xor eax, eax
lock cmpxchg dword [0x140078c90], r12d
jne 0x140022877
mov eax, dword [0x140078c8c]
test eax, eax
jne 0x140022eb9
mov dword [rbp + 0x10], r10d
mov dword [rsp + 0x68], r10d
mov dword [rsp + 0x64], r10d
mov qword [rbp + 0x348], r10
mov qword [rbp + 0x350], r10
mov dword [rbp - 0x58], r10d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov r14, rax
xor r10d, r10d
test rax, rax
je 0x140022e25
mov r13d, r10d
or ecx, 0xffffffff
mov r9d, r10d
mov dword [rbp + 0x108], r10d
mov esi, r10d
mov dword [rbp + 0x10c], r10d
lea rbx, [rax + 7]
lea r15, [0x1400674e2]
lea edi, [r10 + 0x67]
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 esi, r11d
xor r9d, r10d
lea r15, [r15 + 8]
xor r9d, esi
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
mov edx, r9d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor esi, edx
lea eax, [rsi + 0x7f1137f]
ror eax, 9
mov edx, esi
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r9d, eax
mov eax, r9d
shr eax, 0xd
imul edx, r9d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor esi, edx
mov eax, esi
xor eax, 0xab69
rol eax, 6
mov edx, esi
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 esi, eax
mov r8d, esi
ror r8d, 6
mov eax, esi
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 esi, edx
lea eax, [rsi + 0x54969fa2]
ror eax, 0xe
mov edx, esi
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r9d, eax
mov eax, r9d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
mov edx, r9d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor esi, edx
mov eax, esi
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, esi
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 esi, eax
lea r9d, [rsi - 0x7f1]
xor r9d, edx
xor r9d, r8d
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor esi, edx
lea eax, [rsi - 0x7f1137f]
ror eax, 6
mov edx, esi
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 esi, r8d
mov eax, esi
xor eax, 0xab69
rol eax, 5
mov edx, esi
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, esi
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, r13d
xor r8d, edx
mov dword [rbp + 0x10c], r8d
xor r9d, ecx
mov dword [rbp + 0x108], r9d
mov byte [rbx - 4], r8b
ror dword [rbp + 0x10c], 8
mov al, byte [rbp + 0x108]
mov byte [rbx], al
ror dword [rbp + 0x108], 8
mov al, byte [rbp + 0x10c]
mov byte [rbx - 5], al
ror dword [rbp + 0x10c], 8
mov al, byte [rbp + 0x108]
mov byte [rbx - 1], al
ror dword [rbp + 0x108], 8
mov al, byte [rbp + 0x10c]
mov byte [rbx - 6], al
ror dword [rbp + 0x10c], 8
mov al, byte [rbp + 0x108]
mov byte [rbx - 2], al
ror dword [rbp + 0x108], 8
mov al, byte [rbp + 0x10c]
mov byte [rbx - 7], al
mov al, byte [rbp + 0x108]
mov byte [rbx - 3], al
mov esi, dword [rbp + 0x10c]
ror esi, 8
mov dword [rbp + 0x10c], esi
mov r9d, dword [rbp + 0x108]
ror r9d, 8
mov dword [rbp + 0x108], r9d
mov r13d, r11d
mov ecx, r10d
lea rbx, [rbx + 8]
sub rdi, r12
jne 0x140022901
xor r10d, r10d
mov eax, r10d
mov cl, r10b
mov edi, dword [rbp - 0x48]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rbp - 0x38]
or r13, 0xffffffffffffffff
mov edx, 0x338
xor cl, byte [rax + r14]
add rax, r12
cmp rax, rdx
jb 0x140022c71
movzx eax, cl
cmp rax, qword [0x140067818]
je 0x140022c92
mov dword [rbp - 0x58], 0xc004d501
jmp 0x140022ca3
mov qword [rbp + 0x348], r14
mov r14, r10
mov qword [rbp + 0x350], rdx
test r14, r14
je 0x140022cbf
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r10d, r10d
cmp dword [rbp - 0x58], r10d
jl 0x140022e25
mov r14, qword [rbp + 0x348]
mov rax, qword [rbp + 0x350]
mov byte [rax + r14 - 1], r10b
xor edx, edx
lea r8d, [rdx + 0x60]
lea rcx, [0x140077ef0]
call sub.msvcrt.dll_memset
xor r10d, r10d
cmp byte [r14], r10b
je 0x140022e1e
mov rdx, r14
mov rax, r13
inc rax
cmp word [r14 + rax*2], r10w
jne 0x140022d00
lea r14, [r14 + rax*2]
mov eax, dword [rsp + 0x64]
lea rcx, [rax + rax*2]
lea rax, [0x140077ef0]
lea r8, [rax + rcx*8]
mov qword [rbp - 0x80], r8
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
xor r10d, r10d
test eax, eax
je 0x140022e25
mov ecx, r10d
mov dword [rsp + 0x68], ecx
mov r8, qword [rbp - 0x80]
mov rax, qword [r8]
mov edx, 0x5a4d
cmp word [rax], dx
je 0x140022d5b
mov ecx, 0xc000007b
mov dword [rsp + 0x68], ecx
jmp 0x140022daa
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x140022d50
add rdx, qword [r8]
cmp rdx, qword [r8]
jb 0x140022d50
cmp dword [rdx], 0x4550
jne 0x140022d50
movzx eax, word [rdx + 0x18]
mov r9d, 0x10b
sub ax, r9w
mov r9d, 0xfeff
test r9w, ax
je 0x140022d98
mov ecx, 0xc000000d
jmp 0x140022d55
mov rax, qword [rdx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r14 + 2]
mov dword [rbp - 0x48], eax
add r14, 6
mov edx, r10d
mov dword [rbp - 0x58], edx
test eax, eax
je 0x140022e14
mov r9, r14
mov rax, r13
inc rax
cmp byte [r14 + rax], r10b
jne 0x140022dc5
inc r14
add r14, rax
test ecx, ecx
js 0x140022e05
mov rdx, r9
mov rcx, qword [r8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r10d, r10d
test rax, rax
je 0x140022e1e
mov ecx, dword [rbp + 0x10]
lea rdx, [0x140074050]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x68]
mov r8, qword [rbp - 0x80]
mov edx, dword [rbp - 0x58]
add dword [rbp + 0x10], r12d
add edx, r12d
mov dword [rbp - 0x58], edx
cmp edx, dword [rbp - 0x48]
jb 0x140022dbf
add dword [rsp + 0x64], r12d
jmp 0x140022cf1
mov r14d, dword [rsp + 0x68]
jmp 0x140022e2b
mov r14d, 0xc000007a
cmp qword [rbp + 0x348], r10
je 0x140022e4f
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x348]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r10d, r10d
test r14d, r14d
jns 0x140022eb3
lea r14, [0x140077ef0]
mov eax, 4
mov qword [rbp - 0x80], rax
mov rcx, qword [r14]
test rcx, rcx
je 0x140022e79
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [rbp - 0x80]
xor r10d, r10d
add r14, 0x18
sub rax, r12
mov qword [rbp - 0x80], rax
jne 0x140022e64
xor edx, edx
lea r8d, [rdx + 0x60]
lea rcx, [0x140077ef0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x140061af0]
lea rcx, [0x140074050]
call sub.msvcrt.dll_memcpy
jmp 0x140022ec2
mov eax, dword [0x140078c8c]
add eax, r12d
mov dword [0x140078c8c], eax
xor eax, eax
xchg dword [0x140078c90], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x9d0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xa70], rax
mov eax, edi
mov ecx, 0xf
and eax, ecx
mov dword [rbp - 0x48], eax
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0x1050], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0x1052], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0x1054], di
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140074148]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x80], rax
mov dword [rbp + 0x10], 0xffffff
xor edi, edi
test rax, rax
jne 0x140022f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140023bd3
mov r14d, 0x80004005
jmp 0x140023bd3
mov qword [rbp + 0x358], rdi
mov qword [rbp + 0x360], rdi
mov qword [rbp + 0x368], rdi
mov qword [rbp + 0x370], rdi
mov qword [rbp + 0x378], rdi
mov qword [rbp + 0x380], rdi
mov r14d, edi
mov dword [rbp + 0x110], edi
lea r9, [rbp + 0x110]
xor r8d, r8d
lea rdx, [rbp + 0x114]
lea ecx, [r8 + 8]
mov rax, qword [0x1400740f0]
call qword [case.0x14003a69c.0]
test eax, eax
jne 0x140022ff4
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140023152
mov r14d, 0x80004005
jmp 0x140023152
mov edi, dword [rbp + 0x110]
add rdi, rdi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x378]
call fcn.14004e824
test rdi, rdi
jne 0x140023037
mov qword [rbp + 0x378], rdi
mov r14d, 0x8007000e
jmp 0x140023152
mov qword [rbp + 0x378], rdi
mov edi, dword [rbp + 0x114]
inc edi
shl rdi, 2
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x380]
call fcn.14004e824
test rdi, rdi
jne 0x14002307d
mov r14d, 0x8007000e
jmp 0x14002314b
mov qword [rbp + 0x380], rdi
lea r9, [rbp + 0x110]
mov r8, qword [rbp + 0x378]
lea rdx, [rbp + 0x114]
mov ecx, 8
mov rax, qword [0x1400740f0]
call qword [case.0x14003a69c.0]
xor edi, edi
test eax, eax
je 0x140022fc9
mov rdi, qword [rbp + 0x378]
mov rax, qword [rbp + 0x380]
xor ecx, ecx
cmp dword [rbp + 0x114], ecx
jbe 0x140023129
mov rsi, rax
mov ebx, ecx
xor edx, edx
mov rcx, rdi
mov rax, qword [0x140074100]
call qword [case.0x14003a69c.0]
mov dword [rsi], eax
mov rax, r13
xor ecx, ecx
inc rax
cmp word [rdi + rax*2], cx
jne 0x1400230eb
lea rdi, [rdi + rax*2]
add rdi, 2
add rsi, 4
add ebx, r12d
cmp ebx, dword [rbp + 0x114]
jb 0x1400230d2
mov qword [rsp + 0x70], rsi
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rax, qword [rsp + 0x70]
mov dword [rax], 0x409
mov rax, qword [rbp + 0x380]
xor edi, edi
mov qword [rbp + 0x358], rax
mov eax, dword [rbp + 0x114]
inc eax
mov dword [rsp + 0x68], eax
mov qword [rbp + 0x380], rdi
lea rcx, [rbp + 0x380]
call fcn.14004e824
lea rcx, [rbp + 0x378]
call fcn.14004e824
test r14d, r14d
js 0x14002390c
mov r10d, edi
mov dword [rsp + 0x64], edi
mov r9d, edi
lea r11, [0x1400673b0]
cmp dword [rsp + 0x68], edi
jbe 0x1400231c6
mov r8, rdi
mov rax, qword [rbp + 0x358]
mov edx, edi
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [rax + r8], ecx
je 0x1400231bf
add edx, r12d
add rdi, 4
cmp edx, 0x26
jb 0x140023199
add r9d, r12d
add r8, 4
cmp r9d, dword [rsp + 0x68]
jae 0x1400231c6
xor edi, edi
jmp 0x140023194
mov r10d, edx
mov dword [rsp + 0x64], edx
mov edi, r10d
xor r14d, r14d
mov dword [rsp + 0x68], r14d
xor r9d, r9d
lea r8d, [r14 + 0x55]
lea rdx, [rbp + 0x10c0]
mov ecx, dword [r11 + rdi*4]
mov rax, qword [0x1400740f8]
call qword [case.0x14003a69c.0]
test eax, eax
je 0x140023231
lea r9d, [r14 + 0x10]
lea r8, [rbp + 0xb00]
lea edx, [r14 + 0x58]
lea rcx, [rbp + 0x10c0]
mov rax, qword [0x1400740e0]
call qword [case.0x14003a69c.0]
test eax, eax
jle 0x140023231
mov r14d, dword [rbp + 0xb0c]
shr r14d, 0x1b
and r14d, r12d
mov dword [rsp + 0x68], r14d
xor r14d, r14d
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0xfb0]
mov r8d, 0x13
mov qword [rdx], rcx
mov rax, r13
inc rax
cmp word [rcx + rax*2], r14w
jne 0x14002324b
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub r8, r12
jne 0x140023245
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x67450]
mov rax, qword [rbp + rax*8 + 0xfb0]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x4e0], rax
movzx eax, byte [rcx + rdx + 0x67451]
mov rax, qword [rbp + rax*8 + 0xfb0]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x4e8], rax
movzx eax, byte [rcx + rdx + 0x67452]
mov rdi, qword [rbp + rax*8 + 0xfb0]
mov qword [rbp - 0x78], rdi
mov qword [rbp + 0x4f0], rdi
xor edi, edi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x1c90
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14002375b
mov r13d, edi
or r14d, 0xffffffff
mov esi, edi
mov dword [rbp + 0x118], edi
mov r11d, edi
mov dword [rbp - 0x18], edi
lea rbx, [rax + 7]
lea r15, [0x140065712]
mov r10d, 0x392
movzx r9d, byte [r15 - 2]
shl r9d, 8
movzx eax, byte [r15 - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 1]
or r9d, eax
movzx r8d, byte [r15 + 2]
shl r8d, 8
movzx eax, byte [r15 + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [r15 + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [r15 + 5]
or r8d, eax
xor r11d, r9d
lea r15, [r15 + 8]
xor esi, r11d
xor esi, r8d
xor esi, 0xac987321
lea eax, [rsi + 0x54969fa2]
rol eax, 5
mov ecx, esi
rol ecx, 0xa
imul eax, eax, 0x137f
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0xab69
sub eax, ecx
xor esi, eax
imul ecx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor r11d, ecx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor esi, eax
mov ecx, esi
xor ecx, 0xab69605e
mov eax, 0x7f1137f
sub eax, ecx
xor r11d, eax
mov edx, r11d
ror edx, 6
mov eax, r11d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edx, ecx
xor esi, edx
lea eax, [rsi + 0x7f1137f]
ror eax, 0xf
mov ecx, esi
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov ecx, r11d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor esi, eax
mov eax, esi
mov edx, 0xab69605e
xor eax, edx
ror eax, 0xc
mov ecx, esi
ror ecx, 0xa
imul eax, eax, 0x137f
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor esi, ecx
mov eax, esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea edi, [r11 - 0x7f1]
xor edi, esi
xor edi, edx
mov eax, edi
xor eax, 0x7f1
rol eax, 2
mov ecx, edi
shr ecx, 2
imul eax, eax, 0x137f
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov ecx, r11d
rol ecx, 7
imul eax, eax, 0xab69
add ecx, eax
xor edi, ecx
mov edx, edi
ror edx, 9
mov eax, edi
xor eax, 0x137f
imul ecx, eax, 0x605e
add edx, ecx
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 5
mov ecx, r11d
rol ecx, 7
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
mov edx, edi
xor edx, r11d
xor edx, 0xac987321
mov eax, edx
ror eax, 3
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, r13d
xor edx, ecx
mov dword [rbp - 0x18], edx
xor edi, r14d
mov dword [rbp + 0x118], edi
mov byte [rbx - 4], dl
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x118]
mov byte [rbx], al
ror dword [rbp + 0x118], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 5], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x118]
mov byte [rbx - 1], al
ror dword [rbp + 0x118], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 6], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x118]
mov byte [rbx - 2], al
ror dword [rbp + 0x118], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 7], al
mov al, byte [rbp + 0x118]
mov byte [rbx - 3], al
mov r11d, dword [rbp - 0x18]
ror r11d, 8
mov dword [rbp - 0x18], r11d
mov esi, dword [rbp + 0x118]
ror esi, 8
mov dword [rbp + 0x118], esi
mov r13d, r9d
mov r14d, r8d
lea rbx, [rbx + 8]
sub r10, r12
jne 0x14002330f
xor edi, edi
mov eax, edi
xorps xmm1, xmm1
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rbp - 0x38]
mov r14d, edi
or r13, 0xffffffffffffffff
mov r10, qword [rbp - 0x28]
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r10]
pxor xmm0, xmm1
movdqa xmm1, xmm0
add rax, 0x10
cmp rax, rcx
jb 0x140023647
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 [0x1400673a0]
je 0x1400236a6
mov r14d, 0xc004d501
jmp 0x1400236bb
mov qword [rbp + 0x360], r10
mov r10, rdi
mov qword [rbp - 0x28], rdi
mov qword [rbp + 0x368], rcx
test r10, r10
je 0x1400236d5
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x28]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test r14d, r14d
js 0x14002392e
mov rdx, qword [rbp + 0x360]
lea rdi, [rbp + 0xf40]
mov r8d, 6
mov r9d, dword [rsp + 0x64]
xor r10d, r10d
mov ecx, r10d
cmp r9d, ecx
jne 0x140023705
mov qword [rdi], rdx
mov rax, r13
inc rax
cmp byte [rdx + rax], r10b
jne 0x140023708
inc rdx
add rdx, rax
add ecx, r12d
cmp ecx, 0x26
jb 0x1400236fd
add rdi, 8
sub r8, r12
jne 0x1400236fa
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
lea r8d, [rdx + 0x18]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x370]
call fcn.14004e824
xor r8d, r8d
test rdi, rdi
jne 0x140023766
mov qword [rbp + 0x370], rdi
mov r14d, 0x8007000e
jmp 0x14002392e
mov qword [rbp + 0x370], rdi
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, r8d
mov dword [rsp + 0x64], edx
mov rdi, r8
mov qword [rbp - 0x28], r8
lea rcx, [rbp + 0x1050]
mov qword [rbp - 0x40], rcx
mov eax, r8d
movzx r8d, word [rcx]
lea rcx, [0x1400674c8]
cmp r8w, word [rcx]
je 0x1400237bb
add eax, r12d
add rcx, 2
cmp eax, 6
jb 0x1400237a1
xor r8d, r8d
jmp 0x140023885
mov rcx, qword [rbp + rax*8 + 0xf40]
mov qword [rsp + 0x78], rcx
mov rax, r13
xor edi, edi
inc rax
cmp byte [rcx + rax], dil
jne 0x1400237cd
lea r9d, [r12 + rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r8, rcx
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x140074110]
call qword [case.0x14003a69c.0]
mov dword [rbp - 0x58], eax
test eax, eax
je 0x1400238f9
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rcx, qword [rbp + 0x370]
mov rdi, qword [rbp - 0x28]
mov qword [rdi + rcx], rax
mov rcx, qword [rbp + 0x370]
xor edx, edx
cmp qword [rdi + rcx], rdx
je 0x1400238f2
mov rax, r13
mov r8, qword [rsp + 0x78]
inc rax
cmp byte [r8 + rax], dl
jne 0x140023849
lea r9d, [r12 + rax]
mov edx, dword [rbp - 0x58]
mov dword [rsp + 0x28], edx
mov rdx, qword [rdi + rcx]
mov qword [rsp + 0x20], rdx
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x140074110]
call qword [case.0x14003a69c.0]
xor r8d, r8d
test eax, eax
je 0x1400238cc
mov edx, dword [rsp + 0x64]
add edx, r12d
mov dword [rsp + 0x64], edx
mov rcx, qword [rbp - 0x40]
add rcx, 2
mov qword [rbp - 0x40], rcx
add rdi, 8
mov qword [rbp - 0x28], rdi
cmp edx, 3
jb 0x140023793
mov rax, qword [rbp + 0x370]
xor edi, edi
mov qword [rbp + 0x370], rdi
mov qword [rbp + 0x340], rax
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x9d0], eax
jmp 0x14002392e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
xor edi, edi
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14002392e
mov r14d, 0x80004005
jmp 0x14002392e
xor edi, edi
jmp 0x14002375b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
jmp 0x1400238df
mov rax, qword [rbp + 0x4f0]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x4e8]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x4e0]
mov qword [rsp + 0x70], rax
cmp qword [rbp + 0x370], rdi
je 0x1400239b0
mov rbx, rdi
mov eax, 3
mov qword [rbp - 0x28], rax
mov rcx, qword [rbp + 0x370]
cmp qword [rbx + rcx], rdi
je 0x140023999
test rcx, rcx
jne 0x140023958
mov rcx, rdi
mov rdi, qword [rbx + rcx]
mov rcx, r13
xor eax, eax
inc rcx
cmp word [rdi + rcx*2], ax
jne 0x140023961
lea rcx, [rcx*2 + 2]
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x370]
mov rdi, qword [rbx + rax]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rax, qword [rbp - 0x28]
xor edi, edi
add rbx, 8
sub rax, r12
mov qword [rbp - 0x28], rax
jne 0x140023943
movabs rbx, 0xc81ecb17b1b54a58
mov rdi, qword [rbp + 0x360]
xor eax, eax
test rdi, rdi
je 0x1400239c7
mov rcx, qword [rbp + 0x368]
rep stosb byte [rdi], al
lea rcx, [rbp + 0x370]
call fcn.14004e824
lea rcx, [rbp + 0x360]
call fcn.14004e824
lea rcx, [rbp + 0x358]
call fcn.14004e824
xor edi, edi
test r14d, r14d
js 0x140023bc0
mov rax, qword [rbp + 0x340]
mov rcx, qword [rax]
mov qword [rbp + 0x9d8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x9e0], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x9e8], rcx
xor eax, eax
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x4a0], rax
mov r14d, eax
mov dword [rbp + 0x498], 0x10
xor r9d, r9d
lea r8, [rbp + 0x498]
xor edx, edx
lea ecx, [rdi + 0x42]
mov rax, qword [0x1400741b8]
call qword [case.0x14003a69c.0]
test eax, eax
jne 0x140023a7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140023a87
mov r14d, 0x80004005
jmp 0x140023a87
mov edi, dword [rbp + 0x49c]
and edi, r12d
mov dword [rbp + 0x9d4], edi
xor edi, edi
test r14d, r14d
js 0x140023bc0
mov r14d, dword [rbp - 0x48]
mov ecx, r14d
lea eax, [rdi + 0x2a]
mov dword [rsp + 0x68], eax
sub ecx, 1
je 0x140023acf
sub ecx, 1
je 0x140023abf
cmp ecx, 1
jne 0x140023ad9
mov eax, reloc.SHLWAPI.dll_SHStripMneumonicW
mov dword [rbp - 8], eax
jmp 0x140023ad6
mov dword [rbp - 0x50], 0xf
mov dword [rbp - 8], 0xb
jmp 0x140023ad9
mov dword [rbp - 8], 0xb
mov dword [rbp - 0x50], eax
mov edi, 0x60
mov dword [rsp + 0x64], edi
xor edx, edx
lea r8d, [rdi + 0x7c]
lea rcx, [rbp + 0xe60]
call sub.msvcrt.dll_memset
lea eax, [rdi + 0x7c]
mov word [rbp + 0xea4], ax
lea r8, [rbp + 0xe60]
or edx, 0xffffffff
xor ecx, ecx
mov rax, qword [0x140074130]
call qword [case.0x14003a69c.0]
xor ecx, ecx
test eax, eax
je 0x140023b4f
movzx edi, word [rbp + 0xf06]
mov qword [rbp + 0xa80], rcx
mov eax, dword [rbp + 0xf0c]
mov dword [rbp + 0xa88], eax
mov eax, dword [rbp + 0xf10]
mov dword [rbp + 0xa8c], eax
lea eax, [rcx + 0x60]
cmp edi, eax
cmovb edi, eax
mov dword [rsp + 0x64], edi
cmp r14d, r12d
mov rax, qword [rbp - 0x78]
cmove rax, qword [rsp + 0x70]
mov qword [rbp - 0x78], rax
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xe00]
call sub.msvcrt.dll_memset
xor eax, eax
mov r14d, eax
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140074148]
call qword [case.0x14003a69c.0]
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x140023d7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140023bbe
mov r14d, 0x80004005
xor edi, edi
mov rdx, qword [rbp - 0x80]
xor ecx, ecx
mov rax, qword [0x1400741b0]
call qword [case.0x14003a69c.0]
xor eax, eax
lock cmpxchg dword [0x140078c90], r12d
jne 0x140023bd3
mov eax, dword [0x140078c8c]
test eax, eax
jle 0x140023c55
sub eax, r12d
mov dword [0x140078c8c], eax
jne 0x140023c55
lea rdi, [0x140077ef0]
mov eax, 4
mov qword [rbp - 0x80], rax
xor edx, edx
mov rcx, qword [rdi]
test rcx, rcx
je 0x140023c1b
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [rbp - 0x80]
xor edx, edx
add rdi, 0x18
sub rax, r12
mov qword [rbp - 0x80], rax
jne 0x140023c07
xor edx, edx
lea r8d, [rdx + 0x60]
lea rcx, [0x140077ef0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x140061af0]
lea rcx, [0x140074050]
call sub.msvcrt.dll_memcpy
xor edi, edi
mov eax, edi
xchg dword [0x140078c90], eax
lea rcx, [rbp + 0x340]
call fcn.14004e824
test r14d, r14d
js 0x14002541a
mov rdi, qword [rbp + 0xa70]
mov qword [rbp + 0x388], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x7a0]
call sub.msvcrt.dll_memset
mov r14d, r12d
mov edx, 7
mov rcx, qword [rbp - 0x30]
mov rax, qword [0x1400740a0]
call qword [case.0x14003a69c.0]
xor ecx, ecx
test rax, rax
je 0x140023cf7
lea r8, [rbp + 0x7a0]
lea edx, [rcx + 0x68]
mov rcx, rax
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
xor ecx, ecx
test eax, eax
je 0x140023cf7
lea eax, [rcx + 0x20]
cmp word [rbp + 0x7b2], ax
jne 0x140023cf7
cmp qword [rbp + 0x7b8], rcx
je 0x140023cf7
cmp dword [rbp + 0x7a4], ecx
jle 0x140023cf7
cmp dword [rbp + 0x7a8], ecx
jg 0x140023cfa
mov r14d, ecx
mov dword [rbp + 0xfc], r14d
test r14d, r14d
jne 0x140023d10
cmp dword [rbp - 0x48], r12d
jne 0x14002461d
mov r8d, dword [rbp + 0x38c]
mov edx, edi
lea rcx, [rbp + 0xa0c]
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov r8d, dword [rbp + 0x38c]
mov edx, edi
lea rcx, [rbp + 0xa1c]
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov edi, dword [rbp - 0x48]
cmp edi, r12d
jne 0x140024620
mov eax, dword [rbp + 0x9d4]
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xb26720
mov rax, qword [0x140074078]
call qword [case.0x14003a69c.0]
mov qword [rbp + 0x18], rax
jmp 0x140024620
mov r8d, 0x48
mov edx, edi
mov ecx, dword [rbp - 0x50]
mov rax, qword [0x140074108]
call qword [case.0x14003a69c.0]
neg eax
mov dword [rbp + 0xe00], eax
mov dword [rbp + 0xe10], 0x190
mov byte [rbp + 0xe1a], 5
mov r8, qword [rbp - 0x78]
mov edx, 0x20
lea rcx, [rbp + 0xe1c]
call fcn.140003370
lea rcx, [rbp + 0xe00]
mov rax, qword [0x140074070]
call qword [case.0x14003a69c.0]
test rax, rax
jne 0x140023e01
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140023e08
mov r14d, 0x80004005
jmp 0x140023e08
mov qword [rbp + 0x9f0], rax
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x1400741b0]
call qword [case.0x14003a69c.0]
test r14d, r14d
js 0x140023bbe
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xd40]
call sub.msvcrt.dll_memset
xor eax, eax
mov r14d, eax
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140074148]
call qword [case.0x14003a69c.0]
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x140023e8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
xor edi, edi
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140023bc0
mov r14d, 0x80004005
jmp 0x140023bc0
mov r8d, 0x48
mov edx, edi
mov ecx, dword [rbp - 8]
mov rax, qword [0x140074108]
call qword [case.0x14003a69c.0]
neg eax
mov dword [rbp + 0xd40], eax
mov dword [rbp + 0xd50], 0x190
mov byte [rbp + 0xd5a], 5
mov r8, qword [rbp - 0x78]
mov edx, 0x20
lea rcx, [rbp + 0xd5c]
call fcn.140003370
lea rcx, [rbp + 0xd40]
mov rax, qword [0x140074070]
call qword [case.0x14003a69c.0]
xor edi, edi
test rax, rax
jne 0x140023f0f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140023f16
mov r14d, 0x80004005
jmp 0x140023f16
mov qword [rbp + 0x9f8], rax
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x1400741b0]
call qword [case.0x14003a69c.0]
test r14d, r14d
js 0x140023bc0
mov ecx, edi
mov r8d, dword [rbp - 0x48]
mov edx, r8d
sub edx, 1
je 0x140023f4b
sub edx, 1
je 0x140023f86
cmp edx, 1
jne 0x140023f57
mov ecx, dword [rbp + 0xa88]
mov edi, dword [rbp + 0xa8c]
xor r9d, r9d
mov dword [rbp + 0xa78], ecx
mov dword [rbp + 0xa7c], edi
cmp r8d, r12d
je 0x140023fb6
lea eax, [r8 - 2]
cmp eax, r12d
ja 0x140023f9e
mov dword [rbp + 0x2c], r9d
mov dword [rsp + 0x68], r9d
mov dword [rbp - 8], r9d
mov edx, r9d
jmp 0x140023fc2
mov eax, dword [rbp + 0xa88]
cdq
and edx, 3
lea ecx, [rdx + rax]
sar ecx, 2
xor r9d, r9d
mov edi, r9d
jmp 0x140023f5a
mov eax, dword [rbp - 0x18]
mov dword [rbp - 8], eax
mov eax, dword [rbp - 0x18]
mov dword [rsp + 0x68], eax
mov eax, dword [rbp - 0x18]
mov edx, dword [rbp - 0x18]
mov dword [rbp + 0x2c], edx
jmp 0x140023fc5
mov dword [rbp - 8], 0x20
mov edx, reloc.OLEAUT32.dll_DllRegisterServer
mov eax, r9d
mov dword [rbp - 0x50], eax
sub ecx, edx
sub ecx, eax
mov dword [rbp - 0x58], ecx
mov dword [rbp + 0xa24], ecx
mov dword [rbp + 0xa14], ecx
mov rdi, qword [rbp + 0x9d8]
mov r14d, r9d
mov rdx, qword [rbp + 0x9f0]
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0xa0c]
mov r8d, r13d
mov rdx, rdi
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14002405a
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
xor edi, edi
test r14d, r14d
js 0x140023bc0
mov rdi, qword [rbp + 0x9e0]
xor eax, eax
mov r14d, eax
mov rdx, qword [rbp + 0x9f8]
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0xa1c]
mov r8d, r13d
mov rdx, rdi
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400240e6
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
xor edi, edi
test r14d, r14d
js 0x140023bc0
mov eax, dword [rbp - 0x48]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0xa14]
cmp eax, r12d
ja 0x14002410f
mov edi, dword [rbp + 0xa24]
cmp ecx, edi
cmovg edi, ecx
jmp 0x140024112
mov edi, dword [rbp - 0x58]
xor eax, eax
mov r8d, dword [rsp + 0x68]
cmp dword [rbp + 0x9d0], eax
mov rax, qword [fcn.14000a170]
je 0x14002414d
mov r14d, dword [rbp - 0x50]
mov edx, r14d
sub edx, ecx
add edx, edi
lea rcx, [rbp + 0xa0c]
call qword [case.0x14003a69c.0]
sub r14d, dword [rbp + 0xa24]
lea edx, [rdi + r14]
jmp 0x140024160
mov edx, dword [rbp + 0x2c]
lea rcx, [rbp + 0xa0c]
call qword [case.0x14003a69c.0]
mov edx, dword [rbp + 0x2c]
mov r8d, dword [rbp + 0xa18]
add r8d, dword [rbp - 8]
lea rcx, [rbp + 0xa1c]
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov ecx, dword [rbp - 0x48]
lea eax, [rcx - 2]
cmp eax, r12d
jbe 0x14002442f
cmp ecx, r12d
jne 0x14002444b
mov dword [rbp + 0xa08], 0xffffff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xda0]
call sub.msvcrt.dll_memset
xor eax, eax
mov r14d, eax
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140074148]
call qword [case.0x14003a69c.0]
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400241f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
xor ecx, ecx
jmp 0x140023bad
mov r8d, 0x48
mov edx, dword [rsp + 0x64]
lea ecx, [r8 - 0x3d]
mov rax, qword [0x140074108]
call qword [case.0x14003a69c.0]
neg eax
mov dword [rbp + 0xda0], eax
mov dword [rbp + 0xdb0], 0x190
mov byte [rbp + 0xdba], 5
mov r8, qword [rbp - 0x20]
mov edx, 0x20
lea rcx, [rbp + 0xdbc]
call fcn.140003370
lea rcx, [rbp + 0xda0]
mov rax, qword [0x140074070]
call qword [case.0x14003a69c.0]
test rax, rax
jne 0x140024277
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14002427e
mov r14d, 0x80004005
jmp 0x14002427e
mov qword [rbp + 0xa00], rax
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x1400741b0]
call qword [case.0x14003a69c.0]
xor ecx, ecx
test r14d, r14d
js 0x140023bbe
mov dword [rbp + 0xa34], edi
mov rdi, qword [rbp + 0x9e8]
mov r14d, ecx
mov rdx, qword [rbp + 0xa00]
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0xa2c]
mov r8d, r13d
mov rdx, rdi
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140024322
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
xor edi, edi
test r14d, r14d
js 0x140023bc0
mov eax, dword [rbp + 0xa34]
add eax, 0x18
lea ecx, [rdi + 0x5a]
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0xa34], eax
lea eax, [rdi + 0x20]
mov dword [rbp + 0xa38], eax
lea r14d, [rdi + 0x60]
mov r8d, r14d
mov edi, dword [rsp + 0x64]
mov edx, edi
mov ecx, dword [rbp + 0xa2c]
mov rax, qword [0x140074108]
call qword [case.0x14003a69c.0]
mov dword [rbp + 0xa2c], eax
mov r8d, r14d
mov edx, edi
mov ecx, dword [rbp + 0xa30]
mov rax, qword [0x140074108]
call qword [case.0x14003a69c.0]
mov dword [rbp + 0xa30], eax
mov r8d, r14d
mov edx, edi
mov ecx, dword [rbp + 0xa34]
mov rax, qword [0x140074108]
call qword [case.0x14003a69c.0]
mov dword [rbp + 0xa34], eax
mov r8d, r14d
mov edx, edi
mov ecx, dword [rbp + 0xa38]
mov rax, qword [0x140074108]
call qword [case.0x14003a69c.0]
mov dword [rbp + 0xa38], eax
xor eax, eax
mov r8d, dword [rbp + 0xa28]
lea rcx, [rbp + 0xa2c]
add r8d, 0x24
cmp dword [rbp + 0x9d0], eax
mov rax, qword [fcn.14000a170]
je 0x14002440e
mov edx, dword [rbp + 0xa0c]
cmp edx, dword [rbp + 0xa1c]
cmovge edx, dword [rbp + 0xa1c]
call qword [case.0x14003a69c.0]
mov ecx, dword [rbp - 0x48]
jmp 0x14002444b
mov edx, dword [rbp + 0xa14]
cmp edx, dword [rbp + 0xa24]
cmovle edx, dword [rbp + 0xa24]
sub edx, dword [rbp + 0xa34]
add edx, dword [rbp + 0xa2c]
jmp 0x140024403
mov dword [rbp + 0xa78], edi
mov eax, dword [rbp + 0xa28]
mov dword [rbp + 0xa7c], eax
mov dword [rbp + 0xa08], 0xffa8a8a8
mov eax, dword [rbp + 0x9d0]
mov dword [rbp - 0x50], eax
mov r14d, dword [rbp + 0xa7c]
mov edi, dword [rbp + 0xa78]
sub ecx, 1
je 0x14002460f
sub ecx, 1
je 0x140024545
cmp ecx, 1
jne 0x14002453b
xor edx, edx
lea r8d, [rcx + 0x27]
lea rcx, [rbp + 0xb48]
call sub.msvcrt.dll_memset
mov edx, r12d
xor ecx, ecx
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov dword [rbp + 0xb48], 0x28
lea rdx, [rbp + 0xb48]
mov rcx, rax
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
xor ecx, ecx
test eax, eax
je 0x14002453b
lea rdx, [rbp + 0xb5c]
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
lea rdx, [rbp + 0xb64]
xor ecx, ecx
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov eax, dword [rbp + 0xb64]
sub eax, edi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov rcx, qword [rbp + 0xb64]
shr rcx, 0x20
sub ecx, r14d
imul ecx, ecx, 0x32
mov dword [rbp + 0xa70], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0xa74], edx
xor edi, edi
mov r14d, edi
jmp 0x140023bc0
xor edx, edx
lea r8d, [rdx + 0x28]
lea rcx, [rbp + 0xb20]
call sub.msvcrt.dll_memset
mov edx, r12d
xor ecx, ecx
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov dword [rbp + 0xb20], 0x28
lea rdx, [rbp + 0xb20]
mov rcx, rax
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
xor ecx, ecx
test eax, eax
je 0x14002453b
lea rdx, [rbp + 0xb34]
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
lea rdx, [rbp + 0xb3c]
xor ecx, ecx
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
xor eax, eax
cmp dword [rbp - 0x50], eax
mov eax, dword [rbp + 0xb3c]
je 0x1400245e3
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 + 0xb34]
jmp 0x1400245f9
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 + 0xb3c]
shr rax, 0x20
sub eax, r14d
imul ecx, eax, 0x5f
jmp 0x14002451e
xor edi, edi
mov qword [rbp + 0xa70], rdi
jmp 0x14002453d
mov edi, dword [rbp - 0x48]
mov edx, r12d
mov r14, qword [rbp - 0x30]
mov rcx, r14
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov dword [rbp - 0x50], eax
mov eax, 0x810
mov ecx, 0x20812
xor edx, edx
cmp dword [rbp + 0x9d0], edx
cmovne eax, ecx
mov dword [rbp - 8], eax
cmp dword [rbp + 0xfc], edx
je 0x1400250c6
mov eax, dword [rbp + 0x9d4]
mov dword [rsp + 0x68], eax
mov rax, qword [rbp + 0x9f0]
mov qword [rbp - 0x80], rax
mov rdi, qword [rbp + 0x9d8]
mov qword [rsp + 0x70], rdi
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x730]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x650]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp - 0x20], rax
mov dword [rsp + 0x64], eax
mov dword [rbp - 0x58], eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xc48]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xa90], rax
mov qword [rbp + 0xa98], rax
test rdi, rdi
je 0x140025122
lea edx, [rax + 7]
mov rcx, r14
mov rax, qword [0x1400740a0]
call qword [case.0x14003a69c.0]
xor edi, edi
test rax, rax
jne 0x1400246fe
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140025401
lea r8, [rbp + 0x730]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
test eax, eax
je 0x14002473c
mov rax, qword [rbp + 0x748]
mov qword [rbp - 0x20], rax
mov eax, dword [rbp + 0x734]
mov dword [rsp + 0x64], eax
mov eax, dword [rbp + 0x738]
mov dword [rbp - 0x58], eax
mov rcx, r14
mov rax, qword [0x140074060]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x78], rax
test rax, rax
je 0x1400246f3
mov r14d, dword [rbp + 0xa18]
sub r14d, dword [rbp + 0xa10]
mov edi, dword [rbp + 0xa14]
sub edi, dword [rbp + 0xa0c]
xor eax, eax
mov qword [rbp + 0x390], rax
mov dword [rbp - 0x68], eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xc48]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xc48], 0x28
mov dword [rbp + 0xc4c], edi
neg r14d
mov dword [rbp + 0xc50], r14d
mov dword [rbp + 0xc54], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x390]
xor r8d, r8d
lea rdx, [rbp + 0xc48]
mov rdi, qword [rbp - 0x78]
mov rcx, rdi
mov rax, qword [0x140074068]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x28], rax
mov r14d, 0x80808081
test rax, rax
jne 0x14002481b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x68], ecx
test ecx, ecx
js 0x140024b74
mov dword [rbp - 0x68], 0x80004005
jmp 0x140024b74
lea r8, [rbp + 0x650]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x668]
mov qword [rbp - 0x40], rcx
mov eax, dword [rbp + 0xa14]
sub eax, dword [rbp + 0xa0c]
mov dword [rbp + 0xa98], eax
mov eax, dword [rbp + 0xa18]
sub eax, dword [rbp + 0xa10]
mov dword [rbp + 0xa9c], eax
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov edx, r12d
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov rdx, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov rax, qword [0x1400740c0]
call qword [case.0x14003a69c.0]
mov r8, rax
lea rdx, [rbp + 0xa90]
mov rcx, rdi
mov rax, qword [0x140074138]
call qword [case.0x14003a69c.0]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 8]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xa90]
mov r8d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
xor edx, edx
cmp dword [rbp - 0x48], r12d
jne 0x140024932
cmp dword [rsp + 0x68], edx
je 0x140024928
lea ecx, [rdx + 8]
mov rax, qword [0x140074168]
call qword [case.0x14003a69c.0]
mov dword [rsp + 0x68], eax
xor edx, edx
jmp 0x14002493a
mov dword [rsp + 0x68], 0xffffff
jmp 0x14002493a
mov dword [rsp + 0x68], 0xffa8a8a8
mov eax, dword [rbp + 0xa0c]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, edx
mov r9d, edx
cmovns r9d, eax
mov eax, dword [rbp + 0xa10]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, edx
mov r10d, edx
cmovns r10d, eax
mov eax, dword [rbp + 0xa98]
sub eax, r8d
mov r11d, dword [rsp + 0x64]
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0xa9c]
sub eax, ecx
mov edx, dword [rbp - 0x58]
sub edx, r10d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x140024b47
test edx, edx
jle 0x140024b47
mov eax, dword [rbp + 0xa98]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x40]
lea rdi, [rax + rcx*4]
mov qword [rsp + 0x70], rdi
movsxd r8, dword [rsp + 0x64]
mov eax, r8d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x20]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x20], rax
movsxd rcx, dword [rbp + 0xa98]
shl rcx, 2
mov qword [rbp - 0x40], rcx
shl r8, 2
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x70], rdx
mov esi, dword [rsp + 0x68]
test r11d, r11d
jle 0x140024b13
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x60], 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 0x140024aec
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
mov eax, r14d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rsp + 0x69]
sub ecx, edi
imul ecx, r8d
mov eax, r14d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rsp + 0x6a]
sub ecx, edi
imul ecx, r8d
mov eax, r14d
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, r14d
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 - 0x60]
add r9, 4
sub rdi, r12
mov qword [rbp - 0x60], rdi
jne 0x140024a1f
mov rdi, qword [rsp + 0x70]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x40]
mov r8, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x70]
add rdi, rcx
mov qword [rsp + 0x70], rdi
add rax, r8
mov qword [rbp - 0x20], rax
sub rdx, r12
mov qword [rbp - 0x70], rdx
jne 0x140024a05
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rdi, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140024b74
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov rcx, rdi
mov rax, qword [0x140074080]
call qword [case.0x14003a69c.0]
xor edi, edi
cmp dword [rbp - 0x68], edi
jl 0x140025401
mov eax, dword [rbp + 0x9d4]
mov dword [rsp + 0x68], eax
mov rax, qword [rbp + 0x9f8]
mov qword [rbp - 0x80], rax
mov rdi, qword [rbp + 0x9e0]
mov qword [rsp + 0x70], rdi
mov r14d, 0x68
mov r8d, r14d
xor edx, edx
lea rcx, [rbp + 0x5e0]
call sub.msvcrt.dll_memset
mov r8d, r14d
xor edx, edx
lea rcx, [rbp + 0x960]
call sub.msvcrt.dll_memset
xor r14d, r14d
mov qword [rbp - 0x20], r14
mov dword [rsp + 0x64], r14d
mov dword [rbp - 0x58], r14d
xor edx, edx
lea r8d, [r14 + 0x2c]
lea rcx, [rbp + 0xc78]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xaa0], rax
mov qword [rbp + 0xaa8], rax
test rdi, rdi
je 0x140025122
lea edx, [rax + 7]
mov r14, qword [rbp - 0x30]
mov rcx, r14
mov rax, qword [0x1400740a0]
call qword [case.0x14003a69c.0]
xor edi, edi
test rax, rax
je 0x1400246f3
lea r8, [rbp + 0x5e0]
lea edx, [rdi + 0x68]
mov rcx, rax
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
test eax, eax
je 0x140024c71
mov rax, qword [rbp + 0x5f8]
mov qword [rbp - 0x20], rax
mov eax, dword [rbp + 0x5e4]
mov dword [rsp + 0x64], eax
mov eax, dword [rbp + 0x5e8]
mov dword [rbp - 0x58], eax
mov rcx, r14
mov rax, qword [0x140074060]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x78], rax
test rax, rax
je 0x1400246f3
mov r14d, dword [rbp + 0xa28]
sub r14d, dword [rbp + 0xa20]
mov edi, dword [rbp + 0xa24]
sub edi, dword [rbp + 0xa1c]
xor eax, eax
mov qword [rbp + 0x398], rax
mov dword [rbp - 0x68], eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xc78]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xc78], 0x28
mov dword [rbp + 0xc7c], edi
neg r14d
mov dword [rbp + 0xc80], r14d
mov dword [rbp + 0xc84], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x398]
xor r8d, r8d
lea rdx, [rbp + 0xc78]
mov rdi, qword [rbp - 0x78]
mov rcx, rdi
mov rax, qword [0x140074068]
call qword [case.0x14003a69c.0]
mov r14, rax
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x140024d51
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x68], ecx
test ecx, ecx
js 0x1400250a6
mov dword [rbp - 0x68], 0x80004005
jmp 0x1400250a6
lea r8, [rbp + 0x960]
mov edx, 0x68
mov rcx, r14
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x978]
mov qword [rbp - 0x40], rcx
mov eax, dword [rbp + 0xa24]
sub eax, dword [rbp + 0xa1c]
mov dword [rbp + 0xaa8], eax
mov eax, dword [rbp + 0xa28]
sub eax, dword [rbp + 0xa20]
mov dword [rbp + 0xaac], eax
mov rdx, r14
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov edx, r12d
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov rdx, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov rax, qword [0x1400740c0]
call qword [case.0x14003a69c.0]
mov r8, rax
lea rdx, [rbp + 0xaa0]
mov rcx, rdi
mov rax, qword [0x140074138]
call qword [case.0x14003a69c.0]
xor r14d, r14d
mov qword [rsp + 0x28], r14
mov eax, dword [rbp - 8]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xaa0]
mov r8d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
cmp dword [rbp - 0x48], r12d
jne 0x140024e61
cmp dword [rsp + 0x68], r14d
je 0x140024e58
lea ecx, [r14 + 8]
mov rax, qword [0x140074168]
call qword [case.0x14003a69c.0]
jmp 0x140024e66
mov dword [rbp - 0x48], 0xffffff
jmp 0x140024e6c
mov eax, 0xffa8a8a8
mov dword [rbp - 0x48], eax
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0xa1c]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, r14d
mov r9d, r14d
cmovns r9d, eax
mov eax, dword [rbp + 0xa20]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r14d
mov r10d, r14d
cmovns r10d, eax
mov eax, dword [rbp + 0xaa8]
sub eax, r8d
movsxd r14, dword [rsp + 0x64]
mov r11d, r14d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0xaac]
sub eax, ecx
mov edx, dword [rbp - 0x58]
sub edx, r10d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x140025079
test edx, edx
jle 0x140025079
mov eax, dword [rbp + 0xaa8]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x40]
lea rdi, [rax + rcx*4]
mov qword [rsp + 0x70], rdi
mov eax, r14d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x20]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x20], rax
movsxd rcx, dword [rbp + 0xaa8]
shl rcx, 2
mov qword [rbp - 0x40], rcx
mov r8, r14
shl r8, 2
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x70], rdx
mov ebx, dword [rbp + 0x10]
xor r14d, r14d
test r11d, r11d
jle 0x14002504f
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x60], 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 0x140025028
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
mov r14d, 0x80808081
mov eax, r14d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x47]
sub ecx, edi
imul ecx, r8d
mov eax, r14d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x46]
sub ecx, edi
imul ecx, r8d
mov eax, r14d
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, r14d
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 - 0x60]
xor r14d, r14d
add r9, 4
sub rdi, r12
mov qword [rbp - 0x60], rdi
jne 0x140024f55
mov rdi, qword [rsp + 0x70]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x40]
mov r8, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x70]
add rdi, rcx
mov qword [rsp + 0x70], rdi
add rax, r8
mov qword [rbp - 0x20], rax
sub rdx, r12
mov qword [rbp - 0x70], rdx
jne 0x140024f3b
movabs rbx, 0xc81ecb17b1b54a58
mov rdi, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x1400250a6
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov rcx, rdi
mov rax, qword [0x140074080]
call qword [case.0x14003a69c.0]
xor edi, edi
cmp dword [rbp - 0x68], edi
jl 0x140025401
jmp 0x140025edc
cmp dword [rbp + 0x9d4], edx
jne 0x1400250d5
cmp edi, r12d
mov al, 0xc0
jne 0x1400250d7
mov al, 0xff
mov word [rsp + 0x68], dx
mov byte [rsp + 0x6a], al
mov byte [rsp + 0x6b], r12b
xor eax, eax
mov qword [rbp + 0xaf0], rax
mov qword [rbp + 0xaf8], rax
mov qword [rbp + 0xae0], rax
mov qword [rbp + 0xae8], rax
mov rcx, r14
mov rax, qword [0x140074060]
call qword [case.0x14003a69c.0]
mov qword [rbp + 8], rax
test rax, rax
jne 0x140025129
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
jmp 0x140025401
cmp edi, r12d
jne 0x1400251f5
mov ecx, dword [rbp + 0xa24]
mov eax, ecx
mov r10d, dword [rbp + 0xa1c]
sub eax, r10d
mov edi, dword [rbp + 0xa14]
mov r14d, edi
mov r11d, dword [rbp + 0xa0c]
sub r14d, r11d
cmp eax, r14d
cmovg r14d, eax
mov edx, dword [rbp + 0xa28]
mov eax, edx
sub eax, dword [rbp + 0xa10]
mov dword [rsp + 0x64], eax
xor eax, eax
mov r8d, eax
mov r9d, eax
cmp dword [rbp + 0x9d0], eax
je 0x1400251a0
mov r8d, r11d
sub r8d, edi
add r8d, r14d
mov dword [rbp + 0xaf0], r8d
mov r9d, r10d
sub r9d, ecx
add r9d, r14d
mov dword [rbp + 0xae0], r9d
sub edi, r11d
add edi, r8d
mov dword [rbp + 0xaf8], edi
mov eax, dword [rbp + 0xa18]
sub eax, dword [rbp + 0xa10]
mov dword [rbp - 0x58], eax
mov dword [rbp + 0xafc], eax
sub ecx, r10d
add ecx, r9d
mov dword [rbp - 0x68], ecx
mov dword [rbp + 0xae8], ecx
mov eax, dword [rbp + 0xa20]
sub eax, dword [rbp + 0xa10]
mov dword [rbp + 0xae4], eax
sub edx, dword [rbp + 0xa20]
add edx, eax
mov dword [rbp], edx
mov dword [rbp + 0xaec], edx
jmp 0x14002524b
mov r14d, dword [rbp + 0xa78]
mov eax, dword [rbp + 0xa7c]
mov dword [rsp + 0x64], eax
movups xmm0, xmmword [rbp + 0xa0c]
movdqu xmmword [rbp + 0xaf0], xmm0
movups xmm1, xmmword [rbp + 0xa1c]
movdqu xmmword [rbp + 0xae0], xmm1
mov eax, dword [rbp + 0xafc]
mov dword [rbp - 0x58], eax
mov edi, dword [rbp + 0xaf8]
mov eax, dword [rbp + 0xaec]
mov dword [rbp], eax
mov eax, dword [rbp + 0xae8]
mov dword [rbp - 0x68], eax
mov eax, dword [rbp + 0xae4]
mov dword [rbp + 0x2c], eax
xor eax, eax
mov qword [rbp + 0x3a0], rax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xc18]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xc18], 0x28
mov dword [rbp + 0xc1c], r14d
mov eax, dword [rsp + 0x64]
neg eax
mov dword [rbp + 0xc20], eax
mov dword [rbp + 0xc24], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3a0]
xor r8d, r8d
lea rdx, [rbp + 0xc18]
mov rcx, qword [rbp + 8]
mov rax, qword [0x140074068]
call qword [case.0x14003a69c.0]
mov qword [rbp + 0x20], rax
test rax, rax
jne 0x1400252d3
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
jmp 0x1400253e8
mov rdx, rax
mov rcx, qword [rbp + 8]
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
cmp dword [rbp - 0x48], r12d
jne 0x140025331
mov r8, qword [rbp + 0x18]
xor ecx, ecx
test r8, r8
je 0x140025331
xor eax, eax
mov qword [rbp + 0xad8], rax
mov qword [rbp + 0xad0], rcx
mov dword [rbp + 0xad8], r14d
mov eax, dword [rsp + 0x64]
mov dword [rbp + 0xadc], eax
lea rdx, [rbp + 0xad0]
mov rcx, qword [rbp + 8]
mov rax, qword [0x140074138]
call qword [case.0x14003a69c.0]
mov eax, dword [rbp + 0x9d4]
mov dword [rbp - 0x10], eax
mov rax, qword [rbp + 0x9f0]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x9d8]
mov qword [rsp + 0x70], rax
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x8f0]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x880]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x70], eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xca8]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xac0], rax
mov qword [rbp + 0xac8], rax
cmp qword [rsp + 0x70], rax
je 0x1400253cd
lea edx, [rax + 7]
mov rcx, qword [rbp + 8]
mov rax, qword [0x1400740a0]
call qword [case.0x14003a69c.0]
test rax, rax
jne 0x1400254c2
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1400253e8
mov rcx, rax
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov rax, qword [rbp + 8]
test rax, rax
je 0x140025401
mov rcx, rax
mov rax, qword [0x140074080]
call qword [case.0x14003a69c.0]
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x14002541a
mov rcx, rax
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov rax, qword [rbp + 0x9d8]
test rax, rax
je 0x140025469
mov rcx, r13
inc rcx
cmp word [rax + rcx*2], di
jne 0x140025429
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x9d8]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x9d8]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor edi, edi
mov qword [rbp + 0x9d8], rdi
mov rax, qword [rbp + 0x9e0]
test rax, rax
je 0x140025ef5
mov rcx, r13
inc rcx
cmp word [rax + rcx*2], di
jne 0x14002547c
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x9e0]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x9e0]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r14d, r14d
mov qword [rbp + 0x9e0], r14
jmp 0x140025ef8
lea r8, [rbp + 0x8f0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
test eax, eax
je 0x1400254ff
mov rax, qword [rbp + 0x908]
mov qword [rbp - 0x20], rax
mov eax, dword [rbp + 0x8f4]
mov dword [rbp - 0x60], eax
mov eax, dword [rbp + 0x8f8]
mov dword [rbp - 0x70], eax
mov rcx, qword [rbp + 8]
mov rax, qword [0x140074060]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x78], rax
xor ecx, ecx
test rax, rax
je 0x1400253c7
mov eax, dword [rbp + 0xaf4]
sub dword [rbp - 0x58], eax
sub edi, dword [rbp + 0xaf0]
mov qword [rbp + 0x3a8], rcx
mov dword [rsp + 0x78], ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xca8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xca8], 0x28
mov dword [rbp + 0xcac], edi
mov eax, dword [rbp - 0x58]
neg eax
mov dword [rbp + 0xcb0], eax
mov dword [rbp + 0xcb4], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3a8]
xor r8d, r8d
lea rdx, [rbp + 0xca8]
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x140074068]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x1400255d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
xor edi, edi
test eax, eax
cmovle ecx, eax
mov dword [rsp + 0x78], ecx
test ecx, ecx
js 0x140025919
mov dword [rsp + 0x78], 0x80004005
jmp 0x140025919
lea r8, [rbp + 0x880]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x898]
mov qword [rbp - 0x40], rcx
mov dword [rbp + 0xac8], edi
mov eax, dword [rbp - 0x58]
mov dword [rbp + 0xacc], eax
mov rdx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x78]
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov edx, r12d
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov rdx, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov rax, qword [0x1400740c0]
call qword [case.0x14003a69c.0]
mov r8, rax
lea rdx, [rbp + 0xac0]
mov rcx, rdi
mov rax, qword [0x140074138]
call qword [case.0x14003a69c.0]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 8]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xac0]
mov r8d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
xor edx, edx
cmp dword [rbp - 0x48], r12d
jne 0x1400256d8
cmp dword [rbp - 0x10], edx
je 0x1400256cf
lea ecx, [rdx + 8]
mov rax, qword [0x140074168]
call qword [case.0x14003a69c.0]
mov dword [rbp - 0x10], eax
xor edx, edx
jmp 0x1400256df
mov dword [rbp - 0x10], 0xffffff
jmp 0x1400256df
mov dword [rbp - 0x10], 0xffa8a8a8
mov eax, dword [rbp + 0xaf0]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, edx
mov r9d, edx
cmovns r9d, eax
mov eax, dword [rbp + 0xaf4]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, edx
mov r10d, edx
cmovns r10d, eax
mov eax, dword [rbp + 0xac8]
sub eax, r8d
mov r11d, dword [rbp - 0x60]
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov edx, dword [rbp - 0x70]
sub edx, r10d
mov eax, dword [rbp + 0xacc]
sub eax, ecx
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x1400258ea
test edx, edx
jle 0x1400258ea
imul ecx, dword [rbp + 0xac8]
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x40]
lea rdi, [rax + rcx*4]
mov qword [rsp + 0x70], rdi
movsxd r8, dword [rbp - 0x60]
mov eax, r8d
imul eax, r10d
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x20]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x20], rax
movsxd rcx, dword [rbp + 0xac8]
shl rcx, 2
mov qword [rbp - 0x40], rcx
shl r8, 2
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x60], rdx
mov ebx, dword [rbp - 0x10]
test r11d, r11d
jle 0x1400258b6
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x58], 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 0x140025890
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0xf]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0xe]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x58]
add r9, 4
sub rdi, r12
mov qword [rbp - 0x58], rdi
jne 0x1400257be
mov rdi, qword [rsp + 0x70]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x60]
add rdi, rcx
mov qword [rsp + 0x70], rdi
add rax, r8
mov qword [rbp - 0x20], rax
sub rdx, r12
mov qword [rbp - 0x60], rdx
jne 0x1400257a4
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rdi, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140025917
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
xor edi, edi
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x140074080]
call qword [case.0x14003a69c.0]
cmp dword [rsp + 0x78], edi
jl 0x1400253cf
mov eax, dword [rbp + 0x9d4]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x9f8]
mov qword [rbp - 0x80], rax
mov rdi, qword [rbp + 0x9e0]
mov qword [rsp + 0x70], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x810]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x6c0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x60], eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xcd8]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xab0], rax
mov qword [rbp + 0xab8], rax
test rdi, rdi
je 0x1400253cd
lea edx, [rax + 7]
mov rdi, qword [rbp + 8]
mov rcx, rdi
mov rax, qword [0x1400740a0]
call qword [case.0x14003a69c.0]
test rax, rax
je 0x1400253c7
lea r8, [rbp + 0x810]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
test eax, eax
je 0x140025a0d
mov rax, qword [rbp + 0x828]
mov qword [rbp - 0x20], rax
mov eax, dword [rbp + 0x814]
mov dword [rbp - 0x70], eax
mov eax, dword [rbp + 0x818]
mov dword [rbp - 0x60], eax
mov rcx, rdi
mov rax, qword [0x140074060]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x78], rax
xor edi, edi
test rax, rax
jne 0x140025a33
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400253cf
mov eax, dword [rbp + 0x2c]
sub dword [rbp], eax
mov edi, dword [rbp - 0x68]
sub edi, dword [rbp + 0xae0]
xor eax, eax
mov qword [rbp + 0x3b0], rax
mov dword [rbp - 0x10], eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xcd8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xcd8], 0x28
mov dword [rbp + 0xcdc], edi
mov eax, dword [rbp]
neg eax
mov dword [rbp + 0xce0], eax
mov dword [rbp + 0xce4], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3b0]
xor r8d, r8d
lea rdx, [rbp + 0xcd8]
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x140074068]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x140025ae8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
xor edi, edi
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x10], ecx
test ecx, ecx
js 0x140025e30
mov dword [rbp - 0x10], 0x80004005
jmp 0x140025e30
lea r8, [rbp + 0x6c0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400740b8]
call qword [case.0x14003a69c.0]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x6d8]
mov qword [rbp - 0x40], rcx
mov dword [rbp + 0xab8], edi
mov eax, dword [rbp]
mov dword [rbp + 0xabc], eax
mov rdx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x78]
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov edx, r12d
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov rdx, qword [rbp - 0x80]
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov rax, qword [0x1400740c0]
call qword [case.0x14003a69c.0]
mov r8, rax
lea rdx, [rbp + 0xab0]
mov rcx, rdi
mov rax, qword [0x140074138]
call qword [case.0x14003a69c.0]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 8]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xab0]
mov r8d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
xor edx, edx
cmp dword [rbp - 0x48], r12d
jne 0x140025bea
cmp dword [rsp + 0x78], edx
je 0x140025be0
lea ecx, [rdx + 8]
mov rax, qword [0x140074168]
call qword [case.0x14003a69c.0]
xor edx, edx
jmp 0x140025bef
mov dword [rsp + 0x78], 0xffffff
jmp 0x140025bf6
mov eax, 0xffa8a8a8
mov dword [rsp + 0x78], eax
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0xae0]
mov r9d, eax
neg r9d
test eax, eax
cmovns r9d, edx
mov r10d, edx
cmovns r10d, eax
mov eax, dword [rbp + 0x2c]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, edx
mov r8d, edx
cmovns r8d, eax
mov eax, dword [rbp + 0xab8]
sub eax, r9d
mov r11d, dword [rbp - 0x70]
sub r11d, r10d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0xabc]
sub eax, ecx
mov edx, dword [rbp - 0x60]
sub edx, r8d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x140025e01
test edx, edx
jle 0x140025e01
imul ecx, dword [rbp + 0xab8]
movsxd rcx, ecx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x40]
lea rdi, [rax + rcx*4]
mov qword [rsp + 0x70], rdi
movsxd r9, dword [rbp - 0x70]
imul r8d, r9d
movsxd rcx, r8d
movsxd rax, r10d
add rcx, rax
mov rax, qword [rbp - 0x20]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x20], rax
movsxd rcx, dword [rbp + 0xab8]
shl rcx, 2
mov qword [rbp - 0x40], rcx
mov r8, r9
shl r8, 2
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x60], rdx
mov esi, dword [rbp + 0x10]
test r11d, r11d
jle 0x140025dcd
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp], 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 0x140025da7
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rsp + 0x79]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rsp + 0x7a]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp]
add r9, 4
sub rdi, r12
mov qword [rbp], rdi
jne 0x140025cd2
mov rdi, qword [rsp + 0x70]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x60]
add rdi, rcx
mov qword [rsp + 0x70], rdi
add rax, r8
mov qword [rbp - 0x20], rax
sub rdx, r12
mov qword [rbp - 0x60], rdx
jne 0x140025cb8
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rdi, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140025e2e
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400740c8]
call qword [case.0x14003a69c.0]
xor edi, edi
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x140074080]
call qword [case.0x14003a69c.0]
cmp dword [rbp - 0x10], edi
jl 0x1400253cf
mov r9d, r14d
cmp dword [rbp - 0x48], r12d
jne 0x140025e94
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov rax, qword [rbp + 8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0xa10]
mov edx, dword [rbp + 0xa0c]
mov rcx, qword [rbp - 0x30]
mov rax, qword [0x140074050]
call qword [case.0x14003a69c.0]
jmp 0x140025edc
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x50], ecx
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov rcx, qword [rbp + 8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0xa74]
mov edx, dword [rbp + 0xa70]
mov rcx, qword [rbp - 0x30]
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
mov edx, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x30]
mov rax, qword [fcn.14000a170]
call qword [case.0x14003a69c.0]
jmp 0x1400253cf
xor r14d, r14d
mov rdi, qword [rbp + 0x9e8]
test rdi, rdi
je 0x140025f3f
mov rcx, r13
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140025f07
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x9e8]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rbp + 0x9e8], r14
mov rcx, qword [rbp + 0x9f0]
test rcx, rcx
je 0x140025f5f
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov qword [rbp + 0x9f0], r14
mov rcx, qword [rbp + 0x9f8]
test rcx, rcx
je 0x140025f7f
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov qword [rbp + 0x9f8], r14
mov rcx, qword [rbp + 0xa00]
test rcx, rcx
je 0x140025f9f
mov rax, qword [0x140074088]
call qword [case.0x14003a69c.0]
mov qword [rbp + 0xa00], r14
xor eax, eax
lock cmpxchg dword [0x140078c90], r12d
jne 0x140025f9f
mov eax, dword [0x140078c8c]
test eax, eax
jle 0x140026012
sub eax, r12d
mov dword [0x140078c8c], eax
jne 0x140026012
lea rdi, [0x140077ef0]
xor eax, eax
lea r14d, [rax + 4]
mov rcx, qword [rdi]
test rcx, rcx
je 0x140025fde
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
add rdi, 0x18
sub r14, r12
jne 0x140025fce
xor edx, edx
lea r8d, [r14 + 0x60]
lea rcx, [0x140077ef0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x140061af0]
lea rcx, [0x140074050]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x140078c90], eax
mov eax, dword [0x140077ee4]
mov dword [rsp + 0x78], eax
mov rax, qword [0x1400740e8]
call qword [case.0x14003a69c.0]
sub eax, dword [0x140078c80]
mov qword [rbp + 8], rax
mov dword [rbp + 0xf70], r14d
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0xf78]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x140078c90], r12d
jne 0x140026055
mov eax, dword [0x140078c8c]
xor r9d, r9d
test eax, eax
jne 0x140026665
mov dword [rbp - 0x70], r9d
mov dword [rbp - 0x10], r9d
mov qword [rbp + 0x3b8], r9
mov qword [rbp + 0x3c0], r9
mov dword [rbp], r9d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp + 0x20], rax
xor r9d, r9d
test rax, rax
je 0x1400265d9
mov r15d, r9d
or r13d, 0xffffffff
mov edx, r9d
mov dword [rbp + 0x13c], edx
mov ebx, r9d
mov dword [rbp + 0x140], ebx
lea rsi, [rax + 7]
lea r14, [0x1400674e2]
lea ecx, [r9 + 0x67]
movzx r11d, byte [r14 - 2]
shl r11d, 8
movzx eax, byte [r14 - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [r14]
or r11d, eax
shl r11d, 8
movzx eax, byte [r14 + 1]
or r11d, eax
movzx r10d, byte [r14 + 2]
shl r10d, 8
movzx eax, byte [r14 + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 5]
or r10d, eax
xor ebx, r11d
lea r14, [r14 + 8]
mov r9d, r10d
xor r9d, edx
xor r9d, ebx
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
mov edx, r9d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor ebx, edx
lea eax, [rbx + 0x7f1137f]
ror eax, 9
mov edx, ebx
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r9d, eax
mov eax, r9d
shr eax, 0xd
imul edx, r9d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
xor ebx, edx
mov eax, ebx
xor eax, 0xab69
rol eax, 6
mov edx, ebx
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 ebx, eax
mov edi, ebx
ror edi, 6
mov eax, ebx
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r9d, edi
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
mov edx, r9d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor ebx, edx
lea eax, [rbx + 0x54969fa2]
ror eax, 0xe
mov edx, ebx
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r9d, eax
mov eax, r9d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
mov edx, r9d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, ebx
shr eax, 0xa
xor edx, eax
xor r9d, edx
mov eax, r9d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor ebx, eax
lea r8d, [rbx - 0x7f1]
xor r8d, r9d
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor ebx, edx
lea eax, [rbx - 0x7f1137f]
ror eax, 6
mov edx, ebx
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 ebx, edi
mov eax, ebx
xor eax, 0xab69
rol eax, 5
mov edx, ebx
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
mov edi, r8d
xor edi, ebx
xor edi, 0xac987321
mov eax, edi
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 edi, eax
lea eax, [rdi - 0x54969fa2]
rol eax, 3
mov edx, edi
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
mov edx, r8d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor edi, eax
mov eax, edi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, edi
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, r15d
xor edi, edx
mov dword [rbp + 0x140], edi
xor r8d, r13d
mov dword [rbp + 0x13c], r8d
mov byte [rsi - 4], dil
ror dword [rbp + 0x140], 8
mov al, byte [rbp + 0x13c]
mov byte [rsi], al
ror dword [rbp + 0x13c], 8
mov al, byte [rbp + 0x140]
mov byte [rsi - 5], al
ror dword [rbp + 0x140], 8
mov al, byte [rbp + 0x13c]
mov byte [rsi - 1], al
ror dword [rbp + 0x13c], 8
mov al, byte [rbp + 0x140]
mov byte [rsi - 6], al
ror dword [rbp + 0x140], 8
mov al, byte [rbp + 0x13c]
mov byte [rsi - 2], al
ror dword [rbp + 0x13c], 8
mov al, byte [rbp + 0x140]
mov byte [rsi - 7], al
mov al, byte [rbp + 0x13c]
mov byte [rsi - 3], al
mov ebx, dword [rbp + 0x140]
ror ebx, 8
mov dword [rbp + 0x140], ebx
mov edx, dword [rbp + 0x13c]
ror edx, 8
mov dword [rbp + 0x13c], edx
mov r15d, r11d
mov r13d, r10d
lea rsi, [rsi + 8]
sub rcx, r12
jne 0x1400260dc
xor r9d, r9d
mov eax, r9d
mov cl, r9b
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rbp - 0x38]
or r13, 0xffffffffffffffff
mov r14d, r9d
mov rdi, qword [rbp + 0x20]
mov edx, 0x338
xor cl, byte [rax + rdi]
add rax, r12
cmp rax, rdx
jb 0x14002643e
movzx eax, cl
cmp rax, qword [0x140067818]
je 0x14002645e
mov dword [rbp], 0xc004d501
jmp 0x14002646f
mov qword [rbp + 0x3b8], rdi
mov rdi, r9
mov qword [rbp + 0x3c0], rdx
test rdi, rdi
je 0x14002648b
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r9d, r9d
cmp dword [rbp], r9d
jl 0x1400265d9
mov rdi, qword [rbp + 0x3b8]
mov rax, qword [rbp + 0x3c0]
mov byte [rax + rdi - 1], r9b
xor edx, edx
lea r8d, [rdx + 0x60]
lea rcx, [0x140077ef0]
call sub.msvcrt.dll_memset
xor r9d, r9d
jmp 0x1400265ce
mov rdx, rdi
mov rax, r13
inc rax
cmp word [rdi + rax*2], r9w
jne 0x1400264c8
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x10]
lea rcx, [rax + rax*2]
lea rax, [0x140077ef0]
lea r8, [rax + rcx*8]
mov qword [rbp + 0x20], r8
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
xor r9d, r9d
test eax, eax
je 0x1400265d9
mov r14d, r9d
mov r8, qword [rbp + 0x20]
mov rax, qword [r8]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14002651b
mov r14d, 0xc000007b
jmp 0x140026567
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140026513
add rcx, qword [r8]
cmp rcx, qword [r8]
jb 0x140026513
cmp dword [rcx], 0x4550
jne 0x140026513
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140026555
mov r14d, 0xc000000d
jmp 0x140026567
mov rax, qword [rcx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [rdi + 2]
mov dword [rbp - 0x60], eax
add rdi, 6
mov ecx, r9d
mov dword [rbp], ecx
test eax, eax
je 0x1400265ca
mov rdx, rdi
mov rax, r13
inc rax
cmp byte [rdi + rax], r9b
jne 0x140026581
inc rdi
add rdi, rax
test r14d, r14d
js 0x1400265bb
mov rcx, qword [r8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r9d, r9d
test rax, rax
je 0x1400265df
mov ecx, dword [rbp - 0x70]
lea rdx, [0x140074050]
mov qword [rdx + rcx*8], rax
mov r8, qword [rbp + 0x20]
mov ecx, dword [rbp]
add dword [rbp - 0x70], r12d
add ecx, r12d
mov dword [rbp], ecx
cmp ecx, dword [rbp - 0x60]
jb 0x14002657b
add dword [rbp - 0x10], r12d
cmp byte [rdi], r9b
jne 0x1400264c2
jmp 0x1400265df
mov r14d, 0xc000007a
cmp qword [rbp + 0x3b8], r9
je 0x140026603
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x3b8]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r9d, r9d
test r14d, r14d
jns 0x14002665f
lea rdi, [0x140077ef0]
mov r14d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x140026626
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor r9d, r9d
add rdi, 0x18
sub r14, r12
jne 0x140026615
xor edx, edx
lea r8d, [r14 + 0x60]
lea rdi, [0x140077ef0]
mov rcx, rdi
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x140061af0]
lea rcx, [0x140074050]
call sub.msvcrt.dll_memcpy
jmp 0x140026675
mov eax, dword [0x140078c8c]
add eax, r12d
mov dword [0x140078c8c], eax
lea rdi, [0x140077ef0]
xor eax, eax
xchg dword [0x140078c90], eax
mov rcx, qword [rbp + 8]
mov dword [rbp + 0xf78], ecx
mov dword [rbp + 0xf70], r12d
mov dword [rbp + 0xf88], 0x9966f291
mov dword [rbp + 0xf80], r12d
mov dword [rbp + 0xf98], r12d
mov dword [rbp + 0xf90], r12d
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0xfa8], eax
mov dword [rbp + 0xfa0], r12d
lea r9, [rbp + 0xf70]
mov r14d, 4
mov r8d, r14d
mov edx, 0x2021
xor ecx, ecx
mov rax, qword [0x140074120]
call qword [case.0x14003a69c.0]
xor eax, eax
lock cmpxchg dword [0x140078c90], r12d
jne 0x1400266e2
mov eax, dword [0x140078c8c]
xor edx, edx
test eax, eax
jle 0x14002674c
sub eax, r12d
mov dword [0x140078c8c], eax
jne 0x14002674c
mov rcx, qword [rdi]
test rcx, rcx
je 0x140026716
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor edx, edx
add rdi, 0x18
sub r14, r12
jne 0x140026706
xor edx, edx
lea r8d, [r14 + 0x60]
lea rcx, [0x140077ef0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x140061af0]
lea rcx, [0x140074050]
call sub.msvcrt.dll_memcpy
xor edx, edx
mov eax, edx
xchg dword [0x140078c90], eax
mov rdx, qword [rbp - 0x30]
xor ecx, ecx
mov rax, qword [0x1400741b0]
call qword [case.0x14003a69c.0]
lea rcx, [rbp + 0x328]
call fcn.14004e864
xor r11d, r11d
cmp dword [rbp + 0x48], r11d
je 0x140028ca9
mov r14d, r11d
mov qword [rbp - 0x30], r11
xor eax, eax
mov qword [rbp + 0x4a8], rax
mov qword [rbp + 0x4b0], rax
mov qword [rbp + 0x4b8], rax
mov qword [rbp + 0x4c0], rax
mov dword [rbp + 0x144], r11d
lea rax, [0x140076990]
mov qword [rbp + 0x3c8], rax
mov edi, 0xa0
mov qword [rbp + 0x3d0], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
lea edx, [r14 + 8]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 8], rax
xor r11d, r11d
test rax, rax
je 0x140028c09
mov r8, qword [rbp + 0x3d0]
mov rdx, qword [rbp + 0x3c8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x20], rdi
mov r14d, dword [rbp + 0x3d0]
mov dword [rsp + 0x78], r14d
lea rax, [0x1400768d8]
mov qword [rbp + 0x3d8], rax
mov edi, 8
mov qword [rbp + 0x3e0], rdi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, edi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x18], rax
xor r11d, r11d
test rax, rax
je 0x140028c05
mov r8, qword [rbp + 0x3e0]
mov rdx, qword [rbp + 0x3d8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rbp - 0x30], rdi
mov rcx, qword [rbp + 0x3e0]
mov qword [rbp - 0x80], rcx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x3e8], rax
mov edx, 8
mov dword [rbp + 0x148], edx
add r14d, 4
or r8d, 0xffffffff
mov eax, r8d
cmp r14d, 4
cmovae eax, r14d
mov edi, edx
jb 0x140028c02
mov edx, eax
mov dword [rbp + 0x148], eax
mov edi, eax
lea eax, [rax + 8]
mov edi, r8d
cmp eax, 8
cmovae edi, eax
jb 0x140028c02
add ecx, 4
mov eax, r8d
cmp ecx, 4
cmovae eax, ecx
cmovae edx, eax
mov dword [rbp + 0x148], edx
jb 0x140028c02
lea eax, [rdx + rdi]
mov ecx, r8d
cmp eax, edi
cmovae ecx, eax
jb 0x140028c02
mov dword [rbp + 0x148], 0xc
lea eax, [rcx + 0xc]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
jb 0x140028c02
mov dword [rbp + 0x4ac], edx
mov edi, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rdx, rax
xor r11d, r11d
test rax, rax
je 0x140028c05
mov qword [rbp + 0x4b0], rax
mov r8d, r11d
mov dword [rbp + 0x4a8], r11d
mov dword [rbp + 0x150], 4
lea rcx, [rax + 4]
mov rdi, r13
cmp rcx, rax
cmovae rdi, rcx
sbb r9d, r9d
and r9d, 0xc0000095
cmp rcx, rax
jb 0x1400269af
mov ecx, dword [rbp + 0x4ac]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x140028c02
mov dword [rdx], 4
mov eax, dword [rbp + 0x150]
mov dword [rdi], eax
mov r8d, dword [rbp + 0x4a8]
add r8d, r12d
mov dword [rbp + 0x4a8], r8d
test r9d, r9d
js 0x140028c05
mov ecx, dword [rsp + 0x78]
test ecx, ecx
je 0x140026af2
cmp qword [rbp + 0x4b0], r11
jne 0x140026a25
or eax, 0xffffffff
cmp r14d, 4
cmovae eax, r14d
mov edx, dword [rbp + 0x158]
cmovae edx, eax
mov dword [rbp + 0x158], edx
jb 0x140028c05
mov ecx, dword [rbp + 0x4ac]
lea eax, [rdx + rcx]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp + 0x4ac], edi
sbb r14d, r14d
and r14d, 0xc0000095
cmp eax, ecx
jb 0x140026afe
add r8d, r12d
mov dword [rbp + 0x4a8], r8d
jmp 0x140026b07
mov rdi, qword [rbp + 0x4b0]
mov r10d, r11d
test r8d, r8d
je 0x140026a91
mov r9d, dword [rbp + 0x158]
mov r11, rdi
mov ecx, dword [rdi]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae r9d, eax
mov dword [rbp + 0x158], r9d
jb 0x140028c02
mov edx, r9d
mov rcx, rdi
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
mov rdi, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, 0xc0000095
cmp rdx, rcx
jb 0x140026aed
add r10d, r12d
cmp r10d, r8d
jb 0x140026a3b
mov ecx, dword [rsp + 0x78]
lea rax, [rdi + 4]
mov r9, r13
cmp rax, rdi
cmovae r9, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rax, rdi
jb 0x140026aed
mov r8d, ecx
mov edx, dword [rbp + 0x4ac]
add rdx, qword [rbp + 0x4b0]
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rdx
ja 0x140028c02
mov dword [rdi], ecx
mov rdx, qword [rbp + 8]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp + 0x4a8]
add r8d, r12d
mov dword [rbp + 0x4a8], r8d
xor r11d, r11d
jmp 0x140026af8
mov r14d, 0xc000000d
mov edi, dword [rbp + 0x4ac]
test r14d, r14d
js 0x140028c05
mov r10, qword [rbp - 0x80]
test r10d, r10d
je 0x140026ca5
cmp qword [rbp + 0x4b0], r11
jne 0x140026b81
or eax, 0xffffffff
lea ecx, [r10 + 4]
cmp ecx, 4
cmovae eax, ecx
mov edx, dword [rbp + 0x19c]
cmovae edx, eax
mov dword [rbp + 0x19c], edx
jb 0x140028c05
mov ecx, edi
lea eax, [rdi + rdx]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp + 0x4ac], edi
sbb r14d, r14d
and r14d, 0xc0000095
cmp eax, ecx
jb 0x140026c47
add r8d, r12d
mov dword [rbp + 0x4a8], r8d
mov rax, qword [rbp + 0x3e8]
mov qword [rbp + 0x3f0], rax
jmp 0x140026c67
mov r9, qword [rbp + 0x4b0]
test r8d, r8d
je 0x140026be8
mov r10d, dword [rbp + 0x19c]
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae r10d, eax
mov dword [rbp + 0x19c], r10d
jb 0x140028c02
mov edx, r10d
mov rcx, r9
add rdx, r9
mov rax, r13
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r14d, r14d
and r14d, 0xc0000095
cmp rdx, rcx
jb 0x140026c44
add r11d, r12d
cmp r11d, r8d
jb 0x140026b94
mov r10, qword [rbp - 0x80]
lea rax, [r9 + 4]
mov rcx, r13
cmp rax, r9
cmovae rcx, rax
sbb r14d, r14d
and r14d, 0xc0000095
cmp rax, r9
jb 0x140026c44
mov r8d, r10d
mov edx, edi
add rdx, qword [rbp + 0x4b0]
lea rax, [r9 + 4]
add rax, r8
cmp rax, rdx
ja 0x140028c02
mov dword [r9], r10d
mov rdx, qword [rbp + 0x18]
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp + 0x4a8]
add r8d, r12d
mov dword [rbp + 0x4a8], r8d
mov edi, dword [rbp + 0x4ac]
xor r11d, r11d
test r14d, r14d
js 0x140028c05
mov rax, qword [rbp + 0x3e8]
mov qword [rbp + 0x3f0], rax
cmp qword [rbp + 0x4b0], r11
jne 0x140026cad
mov dword [rbp + 0x160], 0xc
mov ecx, edi
lea eax, [rdi + 0xc]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
mov dword [rbp + 0x4ac], edi
sbb r10d, r10d
and r10d, 0xc0000095
cmp eax, ecx
jb 0x140026d78
add r8d, r12d
mov dword [rbp + 0x4a8], r8d
jmp 0x140026d81
mov r14d, 0xc000000d
jmp 0x140026c47
mov r9, qword [rbp + 0x4b0]
mov r14d, r11d
test r8d, r8d
je 0x140026d16
mov r11d, dword [rbp + 0x160]
mov ecx, dword [r9]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae r11d, eax
mov dword [rbp + 0x160], r11d
jb 0x140028c02
mov edx, r11d
mov rcx, r9
add rdx, r9
mov rax, r13
cmp rdx, r9
cmovae rax, rdx
mov r9, rax
cmp rdx, rcx
sbb r10d, r10d
and r10d, 0xc0000095
cmp rdx, rcx
jb 0x140026d75
add r14d, r12d
cmp r14d, r8d
jb 0x140026cc3
xor r11d, r11d
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r10d, r10d
and r10d, 0xc0000095
cmp rax, r9
jb 0x140026d78
mov ecx, edi
add rcx, qword [rbp + 0x4b0]
lea rax, [r9 + 0xc]
cmp rax, rcx
ja 0x140028c02
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x3f0]
movsd qword [rdx], xmm0
mov r8d, dword [rbp + 0x4a8]
add r8d, r12d
mov dword [rbp + 0x4a8], r8d
mov edi, dword [rbp + 0x4ac]
jmp 0x140026d78
xor r11d, r11d
test r10d, r10d
js 0x140028c05
mov dword [rbp + 0x164], 0xc
mov r10, r11
mov qword [rbp + 8], r11
mov r9d, r11d
mov dword [rsp + 0x78], r11d
mov qword [rbp + 0x3f8], r11
mov qword [rbp + 0x18], r11
mov dword [rbp - 0x70], r11d
mov qword [rbp - 0x80], r11
mov dword [rbp + 0x168], r11d
mov qword [rsp + 0x70], r11
mov qword [rbp - 0x20], r11
mov dword [rbp + 0x16c], r11d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x400], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
mov dword [rbp + 0x170], ecx
sbb edi, edi
and edi, 0xc0000095
cmp eax, 8
jb 0x140026efe
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140026e0e
mov edi, 0xc0000095
jmp 0x140026efe
mov dword [rbp + 0x170], eax
mov edi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov r14, rax
xor r11d, r11d
test rax, rax
jne 0x140026e42
mov edi, 0xc0000017
jmp 0x140026eee
mov eax, dword [rbp + 0x4a8]
mov dword [r14], eax
lea rax, [r14 + 4]
mov rdx, r13
cmp rax, r14
cmovae rdx, rax
sbb edi, edi
mov r8d, 0xc0000095
and edi, r8d
cmp rax, r14
jb 0x140026ec9
mov eax, dword [rbp + 0x4ac]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x140026ec9
mov edx, dword [rbp + 0x170]
mov rax, qword [rbp + 0x400]
mov qword [rdx + r14 - 8], rax
mov r8d, dword [rbp + 0x4ac]
mov rdx, qword [rbp + 0x4b0]
call sub.msvcrt.dll_memcpy
mov r10, r14
mov qword [rbp + 8], r14
xor r11d, r11d
mov r14d, r11d
mov r9d, dword [rbp + 0x170]
mov dword [rsp + 0x78], r9d
jmp 0x140026ed2
mov r10, qword [rbp + 8]
mov r9d, dword [rsp + 0x78]
test r14, r14
je 0x140026ef7
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov r10, qword [rbp + 8]
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rbp + 0x4a8]
or edi, 0x10000000
jl 0x140028921
mov qword [rbp + 0x408], r11
mov qword [rbp + 0x410], r11
mov qword [rbp + 0x418], r11
mov qword [rbp + 0x420], r11
mov qword [rbp + 0x428], r11
mov qword [rbp + 0x430], r11
mov r14, r11
mov qword [rbp - 0x78], r11
test r10, r10
jne 0x140026f4a
mov edi, 0xc000000d
jmp 0x1400277ad
mov edi, r9d
mov qword [rbp - 0x28], rdi
test r9d, r9d
je 0x1400276e5
lea rax, [rdi + 8]
mov qword [rbp - 0x40], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
lea r8, [rdi + 8]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov qword [rbp - 0x50], rax
xor r11d, r11d
test rax, rax
je 0x1400276de
mov dl, r11b
mov byte [rsp + 0x60], dl
mov ecx, r11d
mov r9, qword [rbp + 8]
test rdi, rdi
je 0x140026faa
xor dl, byte [rcx + r9]
add rcx, r12
cmp rcx, rdi
jb 0x140026f9a
mov byte [rsp + 0x60], dl
mov qword [rbp + 0xa58], rbx
mov r10, rax
mov edi, r11d
mov dword [rbp + 0x174], r11d
or r11d, 0xffffffff
mov dword [rbp + 0x178], r11d
xor ecx, ecx
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x60], ecx
mov r8, qword [rbp - 0x28]
mov rax, r8
and eax, 7
je 0x1400270ff
mov r11d, ecx
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x60], ecx
mov dword [rbp - 0x10], ecx
test eax, eax
je 0x14002705a
lea r11d, [rcx + 0x38]
mov esi, ecx
mov ebx, ecx
lea rdi, [r9 + 1]
mov qword [rsp + 0x78], rdi
movzx edi, byte [r9]
cmp ecx, 4
jge 0x140027017
lea ecx, [r11 - 0x20]
shl edi, cl
or ebx, edi
jmp 0x14002701e
mov ecx, r11d
shl edi, cl
or esi, edi
mov ecx, dword [rbp - 0x10]
add ecx, r12d
mov dword [rbp - 0x10], ecx
sub r11d, 8
mov rdi, qword [rsp + 0x78]
mov r9, rdi
cmp ecx, eax
jl 0x140026ffb
mov dword [rbp - 0x60], ebx
mov dword [rsp + 0x78], esi
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r11d, dword [rsp + 0x78]
mov edi, dword [rbp - 0x60]
xor edi, 0xb17a307a
mov dword [rbp + 0x174], edi
xor r11d, 0x42f6b18d
mov dword [rbp + 0x178], r11d
xor ecx, ecx
test eax, eax
je 0x1400270bd
lea rbx, [r10 + 1]
mov qword [rbp - 0x10], rbx
cmp ecx, 4
jge 0x14002708e
rol edi, 8
mov ebx, edi
jmp 0x140027095
rol r11d, 8
mov ebx, r11d
mov byte [r10], bl
add ecx, r12d
mov rbx, qword [rbp - 0x10]
mov r10, rbx
cmp ecx, eax
jl 0x14002707a
mov edi, dword [rbp + 0x174]
mov r11d, dword [rbp + 0x178]
movabs rbx, 0xc81ecb17b1b54a58
cmp eax, 4
jbe 0x1400270db
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp + 0x178], r11d
jmp 0x1400270ff
xor ecx, ecx
mov r11d, ecx
mov dword [rbp + 0x178], ecx
cmp eax, 4
jae 0x1400270ff
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp + 0x174], edi
mov rax, r8
shr rax, 3
mov qword [rbp - 8], rax
test rax, rax
je 0x1400274a6
mov ecx, dword [rbp + 0xa5c]
mov eax, ecx
shr eax, 0x10
mov dword [rbp - 0x10], eax
movzx eax, bx
mov dword [rbp], eax
movzx eax, bx
mov dword [rbp - 0x48], eax
movzx edx, cx
lea rax, [r10 + 7]
mov qword [rbp + 0x10], rax
lea r8, [r9 + 2]
mov rsi, qword [rbp - 8]
mov r15d, dword [rsp + 0x78]
mov r13d, dword [rbp - 0x60]
mov r14d, dword [rbp - 0x10]
movzx r10d, byte [r8 - 2]
shl r10d, 8
movzx eax, byte [r8 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r8]
or r10d, eax
shl r10d, 8
movzx eax, byte [r8 + 1]
or r10d, eax
movzx r9d, byte [r8 + 2]
shl r9d, 8
movzx eax, byte [r8 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r8 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r8 + 5]
or r9d, eax
xor r11d, r9d
add r8, 8
mov qword [rsp + 0x78], r8
mov r8d, r11d
sub r8d, dword [rbp - 0x48]
xor r8d, r10d
xor r8d, edi
xor r8d, ecx
mov edi, r8d
xor edi, ecx
ror edi, 0xf
mov ecx, r8d
ror ecx, 7
movzx eax, word [rbp + 0xa5a]
imul eax, edi
add ecx, eax
xor r11d, ecx
lea edi, [r11 + rbx]
ror edi, 9
mov ecx, r11d
ror ecx, 0xa
mov eax, edx
imul eax, edi
sub eax, ecx
xor r8d, eax
mov edi, edx
xor edi, r8d
rol edi, 4
mov ecx, r8d
rol ecx, 5
mov eax, r14d
imul eax, edi
add ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, ebx
mov eax, dword [rbp + 0xa5c]
sub eax, ecx
xor r8d, eax
mov ecx, r8d
sub ecx, dword [rbp]
movzx edi, word [rbp + 0xa5a]
imul ecx, edi
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, edx
imul eax, dword [rbp]
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, r14d
imul eax, edx
xor r11d, eax
mov eax, r11d
sub eax, dword [rbp - 0x48]
sub eax, dword [rbp + 0xa5c]
xor r8d, eax
mov ecx, r8d
ror ecx, 0xa
mov eax, r14d
xor eax, r8d
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov edi, r11d
xor edi, dword [rbp]
rol edi, 6
mov ecx, r11d
ror ecx, 3
mov eax, edx
imul eax, edi
xor ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xf
sub eax, r14d
imul eax, dword [rbp]
xor r11d, eax
mov ecx, r14d
xor ecx, r11d
imul ecx, dword [rbp - 0x48]
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r8d, ecx
mov ecx, r11d
sub ecx, edx
rol ecx, 3
imul ecx, dword [rbp - 0x48]
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, edx
movzx edi, word [rbp + 0xa5a]
imul ecx, edi
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, ebx
sub ecx, r11d
ror ecx, 9
mov eax, r11d
ror eax, 0xb
imul ecx, edx
xor eax, ecx
xor r8d, eax
mov eax, r8d
sub eax, r14d
sub eax, ebx
xor r11d, eax
mov ecx, r11d
ror ecx, 7
mov eax, edi
xor eax, r11d
imul eax, dword [rbp - 0x48]
sub eax, ecx
xor r8d, eax
mov ecx, r14d
xor ecx, r8d
rol ecx, 4
mov eax, r8d
ror eax, 0x10
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, ebx
sub ecx, r11d
ror ecx, 0xa
mov eax, r11d
ror eax, 4
imul ecx, edx
add eax, ecx
xor r8d, eax
mov edi, r8d
sub edi, ebx
ror edi, 4
mov ecx, r8d
ror ecx, 9
mov eax, r14d
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, dword [rbp + 0xa5c]
rol ecx, 8
mov eax, r11d
rol eax, 2
imul ecx, dword [rbp - 0x48]
sub ecx, eax
xor r8d, ecx
mov ecx, dword [rbp + 0xa5c]
sub ecx, r8d
ror ecx, 0xb
mov eax, r8d
ror eax, 0xc
movzx edi, word [rbp + 0xa5a]
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, edi
xor ecx, r11d
imul ecx, edx
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, r11d
mov ecx, dword [rbp + 0xa5c]
xor eax, ecx
xor eax, ebx
xor r8d, r13d
mov dword [rbp + 0x174], r8d
xor eax, r15d
mov dword [rbp + 0x178], eax
mov rax, qword [rbp + 0x10]
mov byte [rax - 4], r8b
ror dword [rbp + 0x174], 8
mov al, byte [rbp + 0x178]
mov r8, qword [rbp + 0x10]
mov byte [r8], al
ror dword [rbp + 0x178], 8
mov al, byte [rbp + 0x174]
mov byte [r8 - 5], al
ror dword [rbp + 0x174], 8
mov al, byte [rbp + 0x178]
mov byte [r8 - 1], al
ror dword [rbp + 0x178], 8
mov al, byte [rbp + 0x174]
mov byte [r8 - 6], al
ror dword [rbp + 0x174], 8
mov al, byte [rbp + 0x178]
mov byte [r8 - 2], al
ror dword [rbp + 0x178], 8
mov al, byte [rbp + 0x174]
mov byte [r8 - 7], al
mov al, byte [rbp + 0x178]
mov byte [r8 - 3], al
mov edi, dword [rbp + 0x174]
ror edi, 8
mov dword [rbp + 0x174], edi
mov r11d, dword [rbp + 0x178]
ror r11d, 8
mov dword [rbp + 0x178], r11d
mov r13d, r10d
mov r15d, r9d
add r8, 8
mov qword [rbp + 0x10], r8
sub rsi, r12
mov r8, qword [rsp + 0x78]
jne 0x14002714d
mov dl, byte [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
mov r15d, dword [rbp - 0x38]
or r13, 0xffffffffffffffff
mov r14, qword [rbp - 0x78]
mov r8, qword [rbp - 0x28]
movzx eax, dl
mov rdi, qword [rbp - 0x50]
mov qword [rdi + r8], rax
mov qword [rbp + 0x428], rdi
lea rax, [r8 + 8]
mov qword [rbp + 0x430], rax
lea rax, [0x140076980]
mov qword [rbp + 0x408], rax
mov ebx, 8
mov qword [rbp + 0x410], rbx
lea rax, [0x1400768e0]
mov qword [rbp + 0x418], rax
mov qword [rbp + 0x420], SHCreateDirectory
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [rbx + 0x28]
mov edx, ebx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
xor r11d, r11d
test rax, rax
jne 0x140027520
mov edi, 0xc0000017
jmp 0x1400276c7
mov rax, qword [rbp - 0x40]
mov dword [rbx], eax
mov eax, eax
mov qword [rbp - 0x78], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x78]
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
jne 0x140027556
mov edi, 0xc0000017
jmp 0x14002762d
mov qword [rbx + 8], rax
mov r8, qword [rbp - 0x78]
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov edi, 0xa0
mov dword [rbx + 0x10], edi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edi, 8
mov edx, edi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x14002754c
mov qword [rbx + 0x18], rax
lea rcx, [0x1400768e0]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea edx, [rdi + 0x78]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rbx + 0x20], edi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, edi
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x14002754c
mov qword [rbx + 0x28], rax
mov edi, r11d
movsd xmm0, qword [0x140076980]
movsd qword [rax], xmm0
mov r14, rbx
mov ebx, r11d
test rbx, rbx
je 0x1400276c7
mov rax, qword [rbx + 8]
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14002765f
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x78]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 8], r11
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140027688
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x78]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 0x18], r11
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x78], rax
test rax, rax
je 0x1400276b0
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x78]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov r8d, dword [rbp + 0x4a8]
test edi, edi
js 0x1400276ea
mov qword [rbp + 0x3f8], r14
mov r14, r11
jmp 0x1400276ea
mov r8d, dword [rbp + 0x4a8]
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x428]
test rbx, rbx
je 0x14002771b
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x428], r11
mov r8d, dword [rbp + 0x4a8]
test r14, r14
je 0x1400277ad
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x140027748
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [r14 + 8], r11
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x14002776c
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [r14 + 0x18], r11
mov rbx, qword [r14 + 0x28]
test rbx, rbx
je 0x14002778f
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [r14 + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov r8d, dword [rbp + 0x4a8]
xor r11d, r11d
or edi, 0x10000000
jl 0x140028921
mov rbx, qword [rbp + 0x3f8]
mov r10d, dword [rbx + 0x20]
mov r9d, dword [rbx + 0x10]
mov eax, dword [rbx]
add eax, 4
or edx, 0xffffffff
mov ecx, edx
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
mov r14d, 0xc0000095
and edi, r14d
cmp eax, 4
jb 0x14002784d
lea eax, [rcx + 4]
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r14d
cmp eax, ecx
jb 0x14002784d
lea eax, [rdx + r9]
or r9d, 0xffffffff
mov ecx, r9d
cmp eax, edx
cmovae ecx, eax
sbb edi, edi
and edi, r14d
cmp eax, edx
jb 0x14002784d
lea eax, [rcx + 4]
mov edx, r9d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r14d
cmp eax, ecx
jb 0x14002784d
lea ecx, [rdx + r10]
mov eax, r9d
cmp ecx, edx
cmovae eax, ecx
sbb edi, edi
and edi, r14d
mov r9d, dword [rbp + reloc.COMCTL32.dll_Ordinal_380]
cmp ecx, edx
cmovae r9d, eax
mov dword [rbp + reloc.COMCTL32.dll_Ordinal_380], r9d
jmp 0x140027854
mov r9d, dword [rbp + reloc.COMCTL32.dll_Ordinal_380]
test edi, edi
js 0x1400279c0
mov edi, r9d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov r14, rax
xor r11d, r11d
test rax, rax
jne 0x14002788b
mov edi, 0xc0000017
jmp 0x1400279b9
mov eax, dword [rbx]
mov dword [r14], eax
lea rax, [r14 + 4]
mov rcx, r13
cmp rax, r14
cmovae rcx, rax
mov qword [rbp - 0x78], rcx
sbb edi, edi
and edi, 0xc0000095
cmp rax, r14
jb 0x14002799d
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
mov rdx, qword [rbp - 0x78]
add rcx, rdx
mov r8, r13
cmp rcx, rdx
cmovae r8, rcx
sbb edi, edi
mov r9d, 0xc0000095
and edi, r9d
cmp rcx, rdx
jb 0x14002799a
mov eax, dword [rbx + 0x10]
mov dword [r8], eax
lea rax, [r8 + 4]
mov rcx, r13
cmp rax, r8
cmovae rcx, rax
mov qword [rbp - 0x78], rcx
sbb edi, edi
and edi, r9d
cmp rax, r8
jb 0x14002799a
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x10]
mov r8, qword [rbp - 0x78]
add rcx, r8
mov rdx, r13
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
mov r9d, 0xc0000095
and edi, r9d
cmp rcx, r8
jb 0x14002799a
mov eax, dword [rbx + 0x20]
mov dword [rdx], eax
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
mov qword [rbp - 0x78], rcx
sbb edi, edi
and edi, r9d
cmp rax, rdx
jb 0x14002799a
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x20]
mov rdx, qword [rbp - 0x78]
add rcx, rdx
cmp rcx, rdx
sbb edi, edi
and edi, 0xc0000095
xor r11d, r11d
cmp rcx, rdx
jb 0x14002799d
mov qword [rbp + 0x18], r14
mov r14d, r11d
mov eax, dword [rbp + reloc.COMCTL32.dll_Ordinal_380]
mov dword [rbp - 0x70], eax
jmp 0x14002799d
xor r11d, r11d
test r14, r14
je 0x1400279b9
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov r8d, dword [rbp + 0x4a8]
or edi, 0x10000000
jl 0x140028921
mov qword [rbp + 0x438], r11
mov r10d, r11d
mov dword [rbp + 0x180], r11d
mov qword [rbp + 0x440], r11
mov dword [rbp + 0x184], r11d
mov dword [rbp + reloc.COMCTL32.dll_Ordinal_392], 0x1c
mov dword [rbp + 0x18c], 0x28
mov dword [rbp + 0x190], 0x28
xor r14d, r14d
cmp qword [rbp + 0x4b0], r14
jne 0x140027a5f
mov edi, 0xc000000d
xor r11d, r11d
test edi, edi
js 0x140028921
mov edi, dword [rbp + 0x168]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
xor r11d, r11d
mov r14, qword [rbp + 0x18]
test rax, rax
jne 0x140027bfd
mov edi, 0xd0000017
jmp 0x140028925
cmp r8d, r12d
jbe 0x140027a15
mov rdx, qword [rbp + 0x4b0]
mov ebx, r14d
lea rax, [rdx + 4]
mov r9, r13
cmp rax, rdx
cmovae r9, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x140027ae9
mov ecx, dword [rdx]
add rcx, r9
mov rdx, r13
cmp rcx, r9
cmovae rdx, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r9
jb 0x140027ae9
add ebx, r12d
cmp ebx, r12d
jb 0x140027a6e
mov r9d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
mov ebx, 0xc0000095
and edi, ebx
cmp rax, rdx
jb 0x140027aee
mov r10d, r9d
mov dword [rbp + 0x180], r9d
mov rax, r14
test r9d, r9d
cmovne rax, rcx
mov qword [rbp + 0x438], rax
jmp 0x140027aee
mov ebx, 0xc0000095
test edi, edi
js 0x140027a1a
cmp r8d, 2
jbe 0x140027a15
mov rdx, qword [rbp + 0x4b0]
mov r9d, r14d
lea rax, [rdx + 4]
mov r8, r13
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, ebx
cmp rax, rdx
jb 0x140027b77
mov ecx, dword [rdx]
add rcx, r8
mov rdx, r13
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, ebx
cmp rcx, r8
jb 0x140027b77
add r9d, r12d
cmp r9d, 2
jb 0x140027b0a
mov r8d, dword [rdx]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, ebx
cmp rax, rdx
jb 0x140027b77
mov r11d, r8d
mov dword [rbp + 0x184], r8d
mov rax, r14
test r8d, r8d
cmovne rax, rcx
mov qword [rbp + 0x440], rax
test edi, edi
js 0x140027a1a
lea eax, [r10 + 0x30]
or edx, 0xffffffff
mov ecx, edx
cmp eax, 0x30
cmovae ecx, eax
sbb edi, edi
and edi, ebx
cmp eax, 0x30
jb 0x140027bcf
lea eax, [rcx + 4]
mov r8d, edx
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, ebx
cmp eax, ecx
jb 0x140027bcf
lea ecx, [r8 + r11]
mov eax, edx
cmp ecx, r8d
cmovae eax, ecx
sbb edi, edi
and edi, ebx
mov edx, dword [rbp + 0x194]
cmp ecx, r8d
cmovae edx, eax
mov dword [rbp + 0x194], edx
jmp 0x140027bd5
mov edx, dword [rbp + 0x194]
xor r11d, r11d
test edi, edi
js 0x140028921
cmp edx, 0x400000
jbe 0x140027bf2
mov edi, 0x8000ffff
jmp 0x140028921
mov dword [rbp + 0x168], edx
jmp 0x140027a1d
mov qword [rbp - 0x80], rbx
test r14, r14
jne 0x140027c10
mov edi, 0x80070057
jmp 0x140028925
mov qword [rbp + 0x538], r14
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x548], eax
mov qword [rbp + 0x540], rbx
mov eax, dword [rbp + 0x168]
mov dword [rbp + 0x54c], eax
mov dword [rbp + 0x550], r11d
lea r8, [rbp + 0x448]
lea rdx, [0x140065690]
mov ecx, r12d
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
jne 0x140027c7a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x140027c72
mov edi, 0x80004005
mov edx, dword [rbp + 0x168]
jmp 0x140027cc6
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x448]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140027c55
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x538]
lea ecx, [r8 + 0x66]
call qword [case.0x14003a69c.0]
mov edi, eax
or edi, 0x10000000
mov edx, dword [rbp + 0x168]
cmovge edx, dword [rbp + 0x54c]
mov dword [rbp + 0x168], edx
xor r11d, r11d
cmp edi, 0xd0000023
jne 0x140027cdb
mov edi, 0x8007007a
jmp 0x140028925
test edi, edi
js 0x140028925
mov qword [rbp - 0x78], r11
cmp edx, 4
jae 0x140027cf3
mov edi, 0xc000003e
jmp 0x140027d29
mov r11d, dword [rbx]
mov dword [rsp + 0x78], r11d
lea rax, [rbx + 4]
mov r14, r13
cmp rax, rbx
cmovae r14, rax
sbb edi, edi
mov r10d, 0xc0000095
and edi, r10d
cmp rax, rbx
jb 0x140027d26
lea eax, [rdx - 4]
cmp eax, r11d
jae 0x140027d5e
mov edi, 0xc000003e
xor r11d, r11d
mov r14, qword [rsp + 0x70]
or edi, 0x10000000
jl 0x140028921
mov rbx, r11
mov qword [rbp + 0x450], rbx
mov qword [rbp + 0x458], r11
test r14, r14
jne 0x140028148
mov edi, 0xd000000d
jmp 0x140028921
lea rcx, [r14 + r11]
mov r9, r13
cmp rcx, r14
cmovae r9, rcx
sbb edi, edi
and edi, r10d
cmp rcx, r14
jb 0x14002813b
lea eax, [r11 + 4]
or ecx, 0xffffffff
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
and edi, r10d
cmp eax, 4
jb 0x140027d26
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x140027d21
mov ebx, dword [r9]
mov dword [rbp - 0x70], ebx
lea rax, [r9 + 4]
mov r8, r13
cmp rax, r9
cmovae r8, rax
mov qword [rbp - 0x28], r8
sbb edi, edi
and edi, r10d
cmp rax, r9
jb 0x140027d26
lea eax, [rcx + 4]
or r9d, 0xffffffff
cmp eax, ecx
cmovae r9d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x140027d26
mov eax, edx
sub eax, r9d
cmp eax, ebx
jb 0x140027d21
lea rcx, [r8 + rbx]
mov r10, r13
cmp rcx, r8
cmovae r10, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r8
jb 0x140027d26
lea eax, [r9 + rbx]
or r8d, 0xffffffff
cmp eax, r9d
cmovae r8d, eax
sbb edi, edi
and edi, 0xc0000095
cmp eax, r9d
jb 0x140027d26
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x140027d21
mov r9d, dword [r10]
mov dword [rbp - 0x60], r9d
lea rax, [r10 + 4]
mov rcx, r13
cmp rax, r10
cmovae rcx, rax
mov qword [rbp - 0x40], rcx
sbb edi, edi
and edi, 0xc0000095
cmp rax, r10
jb 0x140027d26
lea eax, [r8 + 4]
or ecx, 0xffffffff
cmp eax, r8d
cmovae ecx, eax
sbb edi, edi
mov r10d, 0xc0000095
and edi, r10d
cmp eax, r8d
jb 0x140027d26
mov eax, edx
sub eax, ecx
cmp eax, r9d
jb 0x140027d21
lea eax, [rcx + r9]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x140027d26
cmp edx, r8d
jne 0x140027d21
lea ecx, [rbx + r11]
add ecx, r9d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x140027d21
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
xor r11d, r11d
test rax, rax
jne 0x140027ef3
mov edi, 0xc0000017
jmp 0x140028080
test r14, r14
je 0x140027f40
mov eax, dword [rsp + 0x78]
mov dword [rbx], eax
mov edi, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
jne 0x140027f29
mov edi, 0xc0000017
jmp 0x140027ff5
mov qword [rbx + 8], rax
mov r8, rdi
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x140027f47
mov dword [rax], r11d
mov qword [rax + 8], r11
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x140027f8f
mov eax, dword [rbp - 0x70]
mov dword [rbx + 0x10], eax
mov r14d, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x140027f1f
mov qword [rbx + 0x18], rax
mov r8d, r14d
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x140027f97
mov dword [rbx + 0x10], r11d
mov qword [rbx + 0x18], r11
mov rdi, qword [rbp - 0x40]
test rdi, rdi
je 0x140027fe3
mov eax, dword [rbp - 0x60]
mov dword [rbx + 0x20], eax
mov r14d, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
xor r11d, r11d
test rax, rax
je 0x140027f1f
mov qword [rbx + 0x28], rax
mov r8d, r14d
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r11d, r11d
jmp 0x140027feb
mov dword [rbx + 0x20], r11d
mov qword [rbx + 0x28], r11
mov qword [rbp - 0x78], rbx
mov rbx, r11
mov edi, r11d
test rbx, rbx
je 0x140028080
mov r14, qword [rbx + 8]
test r14, r14
je 0x140028022
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 8], r11
mov r14, qword [rbx + 0x18]
test r14, r14
je 0x140028046
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 0x18], r11
mov r14, qword [rbx + 0x28]
test r14, r14
je 0x140028069
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rbx, r11
test edi, edi
cmovs rbx, qword [rbp - 0x78]
mov r14, qword [rbp - 0x78]
cmovs r14, r11
mov qword [rsp + 0x70], r14
test rbx, rbx
je 0x140027d2e
mov rax, qword [rbx + 8]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400280cb
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 8], r11
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400280f6
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 0x18], r11
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140028120
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov qword [rsp + 0x70], r14
jmp 0x140028140
mov r14, qword [rsp + 0x70]
xor r11d, r11d
jmp 0x140027d2e
mov rdi, qword [r14 + 8]
mov qword [rbp - 0x78], rdi
test rdi, rdi
je 0x140027d54
cmp dword [r14], r11d
je 0x140027d54
mov r14d, dword [r14]
mov dword [rsp + 0x78], r11d
test r14, r14
je 0x1400286ee
add r14, 0xfffffffffffffff8
mov qword [rbp - 0x28], r14
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov r9, rax
mov qword [rbp - 0x40], rax
xor r11d, r11d
test rax, rax
je 0x1400286e7
mov dl, r11b
mov byte [rsp + 0x60], dl
mov qword [rbp + 0xa40], rsi
mov rax, rdi
mov r10, r9
mov r8, r14
and r8d, 7
mov dword [rbp + 0x198], r11d
mov dword [rbp - 0x60], r11d
je 0x1400282d0
or dword [rbp + 0x1dc], 0xffffffff
mov ebx, r11d
mov dword [rbp - 0x70], ebx
xor ecx, ecx
mov edi, ecx
test r8d, r8d
je 0x14002822a
lea esi, [rcx + 0x38]
lea rcx, [rax + 1]
mov qword [rbp - 0x70], rcx
movzx eax, byte [rax]
cmp edi, 4
jge 0x140028201
lea ecx, [rsi - 0x20]
shl eax, cl
or r11d, eax
jmp 0x140028207
mov ecx, esi
shl eax, cl
or ebx, eax
add edi, r12d
sub esi, 8
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp edi, r8d
jl 0x1400281e7
mov dword [rbp - 0x60], r11d
mov dword [rbp - 0x70], ebx
movabs rsi, 0x7f1137fab69605e
xor r11d, 0x92f65a5
mov dword [rbp + 0x198], r11d
mov edi, ebx
xor edi, 0x699a899c
mov dword [rbp + 0x1dc], edi
xor ebx, ebx
mov ecx, ebx
test r8d, r8d
je 0x14002828b
lea rbx, [r10 + 1]
mov qword [rbp - 0x10], rbx
cmp ecx, 4
jge 0x140028265
rol r11d, 8
mov ebx, r11d
jmp 0x14002826a
rol edi, 8
mov ebx, edi
mov byte [r10], bl
add ecx, r12d
mov rbx, qword [rbp - 0x10]
mov r10, rbx
cmp ecx, r8d
jl 0x14002824f
mov r11d, dword [rbp + 0x198]
mov edi, dword [rbp + 0x1dc]
xor ebx, ebx
cmp r8d, 4
jbe 0x1400282a8
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp + 0x1dc], edi
jmp 0x1400282de
mov edi, ebx
mov dword [rbp + 0x1dc], ebx
cmp r8d, 4
jae 0x1400282de
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp + 0x198], r11d
jmp 0x1400282de
or dword [rbp - 0x70], 0xffffffff
mov edi, r11d
mov dword [rbp + 0x1dc], r11d
mov rcx, r14
shr rcx, 3
mov qword [rbp - 8], rcx
test rcx, rcx
je 0x14002864d
mov ebx, dword [rbp + 0xa44]
mov r13d, ebx
shr r13d, 0x10
movzx ecx, bx
mov dword [rbp - 0x10], ecx
mov r8d, ebx
xor r8d, esi
mov dword [rbp], r8d
movzx ecx, si
mov dword [rbp - 0x48], ecx
movzx ecx, word [rbp + 0xa42]
mov dword [rbp - 0x50], ecx
add r10, 7
mov qword [rbp + 0x10], r10
lea rcx, [rax + 2]
mov edx, dword [rbp - 0x70]
mov r14d, dword [rbp - 0x60]
mov r15, qword [rbp - 8]
movzx r10d, byte [rcx - 2]
shl r10d, 8
movzx eax, byte [rcx - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rcx]
or r10d, eax
shl r10d, 8
movzx eax, byte [rcx + 1]
or r10d, eax
movzx r9d, byte [rcx + 2]
shl r9d, 8
movzx eax, byte [rcx + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx + 5]
or r9d, eax
xor r11d, r10d
xor edi, r9d
add rcx, 8
mov qword [rbp - 0x70], rcx
xor edi, r11d
xor edi, r8d
mov ecx, edi
sub ecx, esi
rol ecx, 5
mov eax, edi
rol eax, 0xa
mov r8d, dword [rbp - 0x10]
imul ecx, r8d
add eax, ecx
xor r11d, eax
lea ecx, [r11 + rbx]
ror ecx, 9
mov eax, r11d
rol eax, 2
imul ecx, dword [rbp - 0x50]
sub ecx, eax
xor edi, ecx
mov ecx, edi
sub ecx, r8d
imul ecx, dword [rbp - 0x48]
mov eax, edi
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
movzx eax, word [rbp + 0xa42]
xor ecx, eax
rol ecx, 6
mov eax, r11d
rol eax, 2
imul ecx, r13d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, esi
mov eax, ebx
sub eax, ecx
xor r11d, eax
mov ecx, r11d
ror ecx, 6
mov eax, r11d
xor eax, r8d
imul eax, dword [rbp - 0x50]
xor ecx, eax
xor edi, ecx
lea ecx, [rdi + rbx]
ror ecx, 0xf
mov eax, edi
rol eax, 2
imul ecx, dword [rbp - 0x48]
add eax, ecx
xor r11d, eax
mov ecx, r11d
sub ecx, esi
ror ecx, 0xe
mov eax, r11d
rol eax, 8
imul ecx, r13d
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, esi
ror ecx, 0xc
mov eax, edi
ror eax, 0xa
imul ecx, r8d
xor eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, r13d
movzx eax, word [rbp + 0xa42]
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, dword [rbp - 0x48]
imul eax, r13d
xor r11d, eax
mov r8d, r11d
sub r8d, r13d
xor r8d, edi
xor r8d, esi
mov ecx, r8d
xor ecx, r13d
rol ecx, 2
imul ecx, dword [rbp - 0x10]
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, ebx
ror ecx, 6
mov eax, r11d
rol eax, 7
imul ecx, dword [rbp - 0x50]
add eax, ecx
xor r8d, eax
mov ecx, r8d
ror ecx, 9
mov eax, r8d
xor eax, dword [rbp - 0x10]
imul eax, dword [rbp - 0x48]
add ecx, eax
xor r11d, ecx
mov ecx, r11d
movzx eax, word [rbp + 0xa42]
xor ecx, eax
rol ecx, 5
mov eax, r11d
rol eax, 7
imul ecx, r13d
add eax, ecx
xor r8d, eax
mov edi, r8d
xor edi, r11d
xor edi, ebx
xor edi, esi
mov eax, edi
ror eax, 3
movzx ecx, word [rbp + 0xa42]
sub eax, ecx
imul eax, dword [rbp - 0x10]
xor r8d, eax
mov ecx, r8d
sub ecx, ebx
ror ecx, 1
mov eax, r8d
ror eax, 6
imul ecx, dword [rbp - 0x48]
sub ecx, eax
xor edi, ecx
lea ecx, [rdi + rsi]
rol ecx, 3
mov eax, edi
rol eax, 0xe
imul ecx, r13d
add eax, ecx
xor r8d, eax
lea ecx, [r8 + rsi]
rol ecx, 0xf
mov eax, r8d
ror eax, 0xe
imul ecx, dword [rbp - 0x10]
sub ecx, eax
xor edi, ecx
mov ecx, edi
xor ecx, dword [rbp - 0x48]
movzx eax, word [rbp + 0xa42]
imul ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, ebx
rol ecx, 4
mov eax, r8d
rol eax, 2
imul ecx, dword [rbp - 0x48]
xor eax, ecx
xor eax, r14d
xor edi, eax
mov dword [rbp + 0x198], edi
xor r8d, edx
mov dword [rbp + 0x1dc], r8d
mov rcx, qword [rbp + 0x10]
mov byte [rcx - 4], dil
ror dword [rbp + 0x198], 8
mov al, byte [rbp + 0x1dc]
mov byte [rcx], al
ror dword [rbp + 0x1dc], 8
mov al, byte [rbp + 0x198]
mov byte [rcx - 5], al
ror dword [rbp + 0x198], 8
mov al, byte [rbp + 0x1dc]
mov byte [rcx - 1], al
ror dword [rbp + 0x1dc], 8
mov al, byte [rbp + 0x198]
mov byte [rcx - 6], al
ror dword [rbp + 0x198], 8
mov al, byte [rbp + 0x1dc]
mov byte [rcx - 2], al
ror dword [rbp + 0x1dc], 8
mov al, byte [rbp + 0x198]
mov byte [rcx - 7], al
mov al, byte [rbp + 0x1dc]
mov byte [rcx - 3], al
mov r11d, dword [rbp + 0x198]
ror r11d, 8
mov dword [rbp + 0x198], r11d
mov edi, dword [rbp + 0x1dc]
ror edi, 8
mov dword [rbp + 0x1dc], edi
mov r14d, r10d
mov edx, r9d
add rcx, 8
mov qword [rbp + 0x10], rcx
sub r15, r12
mov rcx, qword [rbp - 0x70]
mov r8d, dword [rbp]
jne 0x140028336
mov dl, byte [rsp + 0x60]
mov r15d, dword [rbp - 0x38]
or r13, 0xffffffffffffffff
mov r14, qword [rbp - 0x28]
mov r9, qword [rbp - 0x40]
xor r11d, r11d
mov eax, r11d
test r14, r14
je 0x140028664
xor dl, byte [rax + r9]
add rax, r12
cmp rax, r14
jb 0x140028658
movzx eax, dl
mov rcx, qword [rbp - 0x78]
cmp rax, qword [r14 + rcx]
je 0x14002867f
mov edi, 0xc004d501
mov rbx, qword [rbp + 0x450]
jmp 0x14002869b
mov rbx, r9
mov qword [rbp + 0x450], rbx
mov r9, r11
mov qword [rbp - 0x40], r11
mov qword [rbp + 0x458], r14
mov edi, dword [rsp + 0x78]
test r9, r9
je 0x1400286bf
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x40]
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov rbx, qword [rbp + 0x450]
xor r11d, r11d
test edi, edi
js 0x1400286ee
mov r14, rbx
mov qword [rbp - 0x20], rbx
mov rbx, r11
mov qword [rbp + 0x450], rbx
mov ecx, dword [rbp + 0x458]
mov dword [rbp + 0x16c], ecx
mov edi, 0x10000000
jmp 0x1400286fd
mov rbx, qword [rbp + 0x450]
mov edi, 0xd0000001
mov ecx, dword [rbp + 0x16c]
mov r14, qword [rbp - 0x20]
test rbx, rbx
je 0x140028726
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x450], r11
mov ecx, dword [rbp + 0x16c]
test edi, edi
js 0x140028921
cmp ecx, 4
jb 0x140028918
mov eax, dword [r14]
mov dword [rsp + 0x78], eax
lea rax, [r14 + 4]
mov rdx, r13
cmp rax, r14
cmovae rdx, rax
sbb edi, edi
mov r8d, 0xc0000095
and edi, r8d
cmp rax, r14
jb 0x14002891d
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140028918
mov esi, dword [rdx]
lea rax, [rdx + 4]
mov rbx, r13
cmp rax, rdx
cmovae rbx, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x14002891d
lea eax, [rcx - 8]
cmp eax, esi
jb 0x140028918
lea eax, [rsi + 8]
cmp eax, 8
sbb edi, edi
and edi, r8d
cmp eax, 8
jb 0x14002891d
mov r10d, esi
lea r9, [rbx + rsi]
lea rax, [rcx + r14]
cmp rax, r9
jb 0x140028918
sub rcx, rbx
sub rcx, rsi
add rcx, r14
cmp rcx, 8
jae 0x140028918
mov r14, r11
mov edi, r11d
mov dword [rbp - 0x70], r11d
test rbx, rbx
je 0x1400288a1
mov rdx, rbx
mov r8, r13
cmp r9, rbx
cmovae r8, r9
sbb edi, edi
and edi, 0xc0000095
cmp r9, rbx
jb 0x140028905
cmp rbx, r8
jae 0x14002889c
mov r9d, dword [rbp + 0x1a0]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x140028905
cmp rcx, r8
ja 0x1400288cd
mov ecx, dword [rdx]
add ecx, 4
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
sbb edi, edi
and edi, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x1a0], r9d
jb 0x140028905
mov ecx, r9d
add rcx, rdx
mov rax, r13
cmp rcx, rdx
cmovae rax, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rdx
jb 0x140028905
cmp rax, r8
ja 0x1400288cd
mov rdx, rax
add r11d, r12d
mov dword [rbp - 0x70], r11d
cmp rax, r8
jb 0x140028811
cmp rdx, r8
jne 0x1400288cd
test esi, esi
je 0x1400288dc
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, 8
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov r14, rax
xor eax, eax
test r14, r14
jne 0x1400288d7
mov edi, 0xc0000017
jmp 0x140028905
mov edi, 0xc000000d
xor r11d, r11d
jmp 0x14002891d
mov edi, eax
mov r10, rsi
test rbx, rbx
je 0x1400288ef
mov r8, r10
mov rdx, rbx
mov rcx, r14
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x4c0], r14
mov dword [rbp + 0x4bc], esi
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x4b8], eax
xor r11d, r11d
test edi, edi
js 0x14002891d
mov eax, dword [rsp + 0x78]
cmp eax, dword [rbp + 0x4b8]
je 0x14002891d
mov edi, 0xc000003e
bts edi, 0x1c
mov r14, qword [rbp + 0x18]
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x140028945
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rbx, qword [rbp + 0x3f8]
test rbx, rbx
je 0x1400289de
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x140028979
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 8], r11
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x14002899d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 0x18], r11
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x1400289c0
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x3f8], r11
test r14, r14
je 0x1400289fa
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x140028a1a
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x140028aaa
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x140028a4c
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 8], r11
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x140028a70
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbx + 0x18], r11
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x140028a93
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x140028aca
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
test edi, edi
js 0x140028c05
mov eax, dword [rbp + 0x4b8]
cmp eax, r12d
jb 0x140028c05
mov rdi, qword [rbp + 0x4c0]
test rdi, rdi
je 0x140028c05
test eax, eax
je 0x140028c05
mov ecx, dword [rdi]
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb r8d, r8d
mov r10d, 0xc0000095
and r8d, r10d
cmp rax, rdi
jb 0x140028b32
mov dword [rbp + 0x1a4], ecx
mov rax, r11
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x460], rax
jmp 0x140028b3f
mov ecx, dword [rbp + 0x1a4]
mov rax, qword [rbp + 0x460]
test r8d, r8d
js 0x140028c05
cmp ecx, 4
jne 0x140028c05
mov eax, dword [rax]
mov dword [rbp + 0x144], eax
test eax, eax
js 0x140028c05
cmp dword [rbp + 0x4b8], r12d
jbe 0x140028c05
mov rdx, qword [rbp + 0x4c0]
mov r9d, r11d
lea rax, [rdx + 4]
mov r8, r13
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, r10d
cmp rax, rdx
jb 0x140028be0
mov ecx, dword [rdx]
add rcx, r8
mov rdx, r13
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, r10d
cmp rcx, r8
jb 0x140028be0
add r9d, r12d
cmp r9d, r12d
jb 0x140028b78
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r13, rax
sbb edi, edi
and edi, r10d
cmp rax, rdx
jb 0x140028be0
mov dword [rbp + 0x1a8], ecx
mov rax, r11
test ecx, ecx
cmovne rax, r13
mov qword [rbp + 0x468], rax
jmp 0x140028bed
mov ecx, dword [rbp + 0x1a8]
mov rax, qword [rbp + 0x468]
test edi, edi
js 0x140028c05
cmp ecx, 8
jne 0x140028c05
mov rax, qword [rax]
mov qword [rbp + 0x470], rax
jmp 0x140028c05
xor r11d, r11d
mov r14, qword [rbp + 0x20]
and qword [rbp + 0x4a8], 0
mov rdi, qword [rbp + 0x4b0]
test rdi, rdi
je 0x140028c3b
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x4b0], r11
and qword [rbp + 0x4b8], 0
mov rdi, qword [rbp + 0x4c0]
test rdi, rdi
je 0x140028c6d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov qword [rbp + 0x4c0], r11
test r14, r14
je 0x140028c89
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x140028ca9
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
xor r11d, r11d
mov eax, dword [rbp + 0x44]
mov dword [rbp + 0x1ac], eax
mov ebx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x2b0]
mov qword [rbp + 0x2b0], r11
mov qword [rbp + 0x2a8], rax
jmp 0x14001f08d
cmp r15d, 0xd00000e5
je 0x140028cf5
cmp r15d, 0xc004d501
je 0x140028cf5
cmp r15d, 0xd000003e
jne 0x140028cf8
mov r15d, 0xc004f028
jmp 0x14001f13c
mov r15d, r13d
test r15d, r15d
jns 0x140028d12
mov eax, 0x8007007a
cmp r15d, eax
jne 0x14001f13c
mov edi, 0xc004f01e
jmp 0x140028d28
cmp ebx, 4
jne 0x140028d0b
mov rax, qword [rbp + 0x2a8]
mov ecx, dword [rax]
mov dword [rbp + 0x1b0], ecx
mov edi, esi
lea rcx, [rbp + 0x2a8]
call fcn.14004e7fc
cmp edi, r13d
je 0x140028d79
cmp edi, 0xc004d301
je 0x140028d79
lea eax, [rdi + 0x3ffb2aff]
cmp eax, r12d
jbe 0x140028d79
test edi, edi
jns 0x140028d5e
cmp edi, r14d
je 0x140028d89
mov ecx, edi
call fcn.14004e7dc
jmp 0x140028d81
mov eax, dword [rbp + 0x1b0]
sub eax, 1
je 0x140028d74
cmp eax, 1
jne 0x140028d89
lea r12d, [rax + 2]
jmp 0x140028d89
mov r12d, esi
jmp 0x140028d89
mov r12d, 2
mov edi, esi
test edi, edi
js 0x140028e84
mov dword [rbp + 0x1b4], r12d
jmp 0x140028e84
lea r8, [rbp + 0x558]
mov rdx, qword [0x1400780c8]
mov rcx, qword [0x1400780e0]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x140028e84
lea rdx, [rbp + 0x558]
lea rdi, [0x140077f70]
mov rcx, rdi
call fcn.140028f88
test eax, eax
jne 0x140028e84
lea rcx, [rbp + 0x558]
call fcn.14002b770
test al, al
jne 0x140028e84
cmp dword [rbp + 0x560], 0x201
jne 0x140028e11
call qword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov ecx, 0xff515780
test rcx, rax
je 0x140028e11
mov rax, qword [0x140078b88]
or dword [rax + 0x30], 4
lea rdx, [rbp + 0x558]
mov rcx, rdi
call fcn.140029238
test eax, eax
jne 0x140028e84
lea r8, [rbp + 0x558]
mov rdx, qword [0x1400780d0]
mov rcx, qword [0x1400780e0]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x140028e84
movsxd rdx, dword [0x140078098]
lea r8, [rbp + 0x558]
mov rdx, qword [rdi + rdx*8 + 0x130]
mov rcx, qword [0x1400780e0]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x140028e84
lea rcx, [rbp + 0x558]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x558]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x558]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x140028d95
lea rcx, [section..data]
call fcn.14002960c
call fcn.1400028e0
mov rdi, rax
test rax, rax
je 0x140028ecb
mov rcx, rax
call fcn.1400028a4
mov rcx, rdi
call sub.msvcrt.dll_free
nop
mov rcx, qword [0x140078b88]
call fcn.140041f90
mov rcx, qword [0x140078c68]
call sub.msvcrt.dll_free
mov qword [0x140078c68], rsi
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rcx, qword [rbp + 0x2a0]
call qword [sym.imp.gdiplus.dll_GdiplusShutdown]
call fcn.140040794
mov rdi, qword [0x140077ac0]
test rdi, rdi
je 0x140028f1f
mov rcx, rdi
call fcn.140048e20
mov rcx, rdi
call sub.msvcrt.dll_free
nop
mov rdi, qword [0x140077ac8]
test rdi, rdi
je 0x140028f3c
mov rcx, rdi
call fcn.1400497e4
mov rcx, rdi
call sub.msvcrt.dll_free
nop
mov eax, dword [rbp + 0x568]
lea rcx, [0x140061390]
mov qword [rbp + 0x4f8], rcx
mov rcx, qword [rbp + 0x1f80]
xor rcx, rsp
call fcn.14005d960
mov rbx, qword [rsp + 0x20d8]
add rsp, 0x2090
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14005dc48
int3