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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1120]
mov eax, 0x1220
call fcn.140068560
sub rsp, rax
mov rax, qword [0x1400be278]
xor rax, rsp
mov qword [rbp + 0x1110], rax
xor r14d, r14d
mov qword [rbp + 0x468], r8
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x258], r14
test rdx, rdx
jne 0x14001e49b
mov r14d, 0x80070057
jmp 0x140028754
test r8, r8
je 0x14001e490
mov dword [rbp + 0x150], r14d
mov esi, 1
mov dword [rbp + 0x108], r14d
mov qword [rbp + 0x148], r14
mov dword [rbp + 0x9c], r14d
xor eax, eax
lock cmpxchg dword [0x1400bf618], esi
jne 0x14001e4c1
mov eax, dword [0x1400bf614]
or r13, 0xffffffffffffffff
mov r15d, 0x338
test eax, eax
jne 0x14001ea90
mov dword [rbp], r14d
mov qword [rbp + 0x198], r14
mov qword [rbp + 0x288], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14001ea0c
mov edx, r14d
mov dword [rbp + 0x48], r14d
mov dword [rbp + 0x28], edx
lea r15, [rax + 7]
mov ebx, r14d
lea r12, [0x1400917b2]
or ecx, 0xffffffff
mov r11d, r14d
mov r13d, 0x67
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r12 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
mov r8d, r9d
xor r8d, edx
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r8d
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor r8d, edx
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r8d, edx
mov edx, r8d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub edx, eax
xor r8d, edx
mov eax, r8d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xa
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
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
mov eax, r8d
mov edi, r8d
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
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
imul edx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xe
sub edx, eax
xor r11d, edx
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
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
xor r8d, ecx
mov dword [rbp + 0x28], r8d
mov ecx, r9d
xor edx, eax
xor edx, ebx
mov ebx, r10d
xor r11d, edx
mov dword [rbp + 0x48], r11d
mov byte [r15 - 4], r11b
mov al, byte [rbp + 0x28]
ror dword [rbp + 0x48], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x48]
mov byte [r15 - 0xd], al
mov al, byte [rbp + 0x28]
ror dword [rbp + 0x48], 8
mov byte [r15 - 9], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x48]
mov byte [r15 - 0xe], al
ror dword [rbp + 0x48], 8
mov al, byte [rbp + 0x28]
mov byte [r15 - 0xa], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x48]
mov byte [r15 - 0xf], al
mov al, byte [rbp + 0x28]
mov byte [r15 - 0xb], al
mov r11d, dword [rbp + 0x48]
mov edx, dword [rbp + 0x28]
ror r11d, 8
ror edx, 8
mov dword [rbp + 0x48], r11d
mov dword [rbp + 0x28], edx
sub r13, rsi
jne 0x14001e53c
mov rsi, qword [rbp - 0x60]
or r13, 0xffffffffffffffff
mov rax, r14
mov cl, r14b
mov ebx, r14d
mov r15d, 0x338
lea edx, [r13 + 2]
xor cl, byte [rax + rsi]
add rax, rdx
cmp rax, r15
jb 0x14001e87e
movzx eax, cl
cmp rax, qword [0x140091ae8]
je 0x14001e89c
mov edi, 0xc004d501
jmp 0x14001e8af
mov qword [rbp + 0x198], rsi
mov edi, ebx
mov rsi, r14
mov qword [rbp + 0x288], r15
test rsi, rsi
je 0x14001e8c8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14001ea0c
mov rax, qword [rbp + 0x288]
lea rsi, [0x1400bf320]
mov rdi, qword [rbp + 0x198]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x60]
mov byte [rax + rdi - 1], r14b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [rdi], r14b
je 0x14001ea11
mov r12d, ebx
jmp 0x14001e90d
lea rsi, [0x1400bf320]
mov rdx, rdi
mov rax, r13
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14001e913
lea rdi, [rdi + rax*2]
mov eax, r12d
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14001ea0c
mov rax, qword [rsi]
mov ecx, 0x5a4d
mov ebx, r14d
cmp word [rax], cx
je 0x14001e956
mov ebx, 0xc000007b
jmp 0x14001e9a0
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001e94f
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x14001e94f
cmp dword [rcx], 0x4550
jne 0x14001e94f
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001e98f
mov ebx, 0xc000000d
jmp 0x14001e9a0
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 r15d, r14d
add rdi, 6
mov dword [rsp + 0x78], eax
test eax, eax
je 0x14001e9f9
mov rdx, rdi
mov rax, r13
inc rax
cmp byte [rdi + rax], r14b
jne 0x14001e9b8
inc rdi
add rdi, rax
test ebx, ebx
js 0x14001e9e7
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001ea11
mov ecx, dword [rbp]
lea rdx, [0x1400b8050]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp], eax
add r15d, eax
cmp r15d, dword [rsp + 0x78]
jb 0x14001e9b2
mov esi, 1
add r12d, esi
cmp byte [rdi], r14b
jne 0x14001e906
jmp 0x14001ea16
mov ebx, 0xc000007a
mov esi, 1
cmp qword [rbp + 0x198], r14
je 0x14001ea37
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x198]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
jns 0x14001ea8a
lea r15, [0x1400bf320]
mov ebx, 4
mov rdi, r15
cmp qword [rdi], r14
je 0x14001ea58
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, rsi
jne 0x14001ea4a
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400747e0]
lea rcx, [0x1400b8050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001ea98
mov eax, dword [0x1400bf614]
add eax, esi
mov dword [0x1400bf614], eax
mov eax, r14d
mov esi, r14d
xchg dword [0x1400bf618], eax
mov qword [rbp + 0x1d8], r14
mov ebx, r14d
mov qword [rbp + 0x1e0], r14
mov edi, 0x80004005
mov rax, qword gs:[0x60]
mov r12d, 0x80070000
cmp dword [rax + 0x2c0], r14d
je 0x14001ed60
mov rax, qword [0x1400b8160]
call qword [case.0x14006779e.0]
mov r15, rax
test rax, rax
jne 0x14001eb0b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14001ed66
mov ebx, edi
jmp 0x14001ed66
mov qword [rbp + 0xe0], r14
mov r9d, r14d
mov rdi, r14
lea rax, [rbp + 0x154]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400b8180]
mov rcx, r15
call qword [case.0x14006779e.0]
test eax, eax
jne 0x14001ebb8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001eba2
cmp qword [rbp + 0xe0], r14
jne 0x14001eb99
mov edi, dword [rbp + 0x154]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xe0]
mov rdi, rax
call fcn.140048504
test rdi, rdi
je 0x14001eb92
mov r9d, dword [rbp + 0x154]
mov qword [rbp + 0xe0], rdi
jmp 0x14001eb18
mov ebx, 0x8007000e
jmp 0x14001ebc6
mov edi, 0x80004005
mov ebx, edi
jmp 0x14001ebd2
mov edi, 0x80004005
test eax, eax
je 0x14001eb9e
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x14001ebd2
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x1d8], rax
mov edi, 0x80004005
mov qword [rbp + 0xe0], r14
lea rcx, [rbp + 0xe0]
call fcn.140048504
test ebx, ebx
js 0x14001ed66
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x1400b8178]
call qword [case.0x14006779e.0]
mov r15, rax
test rax, rax
je 0x14001eaeb
mov qword [rbp + 0xe8], r14
mov ebx, r14d
mov r9d, r14d
mov rdi, r14
lea rax, [rbp + 0x158]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400b8180]
mov rcx, r15
call qword [case.0x14006779e.0]
test eax, eax
jne 0x14001ecb7
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001eca1
cmp qword [rbp + 0xe8], r14
jne 0x14001ec98
mov edi, dword [rbp + 0x158]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xe8]
mov rdi, rax
call fcn.140048504
test rdi, rdi
je 0x14001ec91
mov r9d, dword [rbp + 0x158]
mov qword [rbp + 0xe8], rdi
jmp 0x14001ec17
mov ebx, 0x8007000e
jmp 0x14001ecc5
mov edi, 0x80004005
mov ebx, edi
jmp 0x14001ecd1
mov edi, 0x80004005
test eax, eax
je 0x14001ec9d
movzx ebx, ax
or ebx, r12d
test eax, eax
cmovle ebx, eax
jmp 0x14001ecd1
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x1e0], rax
mov edi, 0x80004005
mov qword [rbp + 0xe8], r14
lea rcx, [rbp + 0xe8]
call fcn.140048504
test ebx, ebx
js 0x14001ed66
mov rcx, qword [rbp + 0x1d8]
test rcx, rcx
je 0x14001ed60
lea rdx, str.WinSta0
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001ed60
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
je 0x14001ed60
lea rdx, str.Default
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001ed60
xor eax, eax
mov dword [rbp + 0x15c], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 4
lea r8, [rbp + 0x15c]
mov rcx, rax
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
test eax, eax
je 0x14001eaeb
mov eax, SafeArrayGetDim
test byte [rbp + 0x15c], al
mov eax, 1
cmove esi, eax
mov dword [rbp + 0x9c], esi
lea rcx, [rbp + 0x1e0]
call fcn.140048504
lea rcx, [rbp + 0x1d8]
call fcn.140048504
mov eax, dword [rbp + 0x9c]
test ebx, ebx
cmovs eax, r14d
mov dword [rbp + 0x9c], eax
mov edx, 4
mov dword [rbp + 0x108], r14d
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
lea rcx, [rbp + 0x148]
mov qword [rbp - 0x58], rax
mov rdi, rax
call fcn.1400484dc
test rdi, rdi
jne 0x14001ee82
mov qword [rbp + 0x148], r14
mov r15d, 0x8007000e
mov ebx, dword [rbp + 0xdc]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400bf618], r12d
jne 0x14001edda
mov eax, dword [0x1400bf614]
test eax, eax
jle 0x14001ee49
sub eax, r12d
mov dword [0x1400bf614], eax
jne 0x14001ee49
lea r13, [0x1400bf320]
mov esi, 4
mov rdi, r13
cmp qword [rdi], r14
je 0x14001ee19
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r12
jne 0x14001ee0b
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r13
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400747e0]
lea rcx, [0x1400b8050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
lea rcx, [rbp + 0x148]
xchg dword [0x1400bf618], eax
call fcn.1400484dc
test r15d, r15d
jns 0x14002873d
cmp r15d, 0xd0000034
jne 0x1400286f6
mov r15d, 0xc004f012
mov r14d, r15d
jmp 0x140028754
xor eax, eax
mov qword [rbp + 0x148], rdi
mov qword [rbp - 0x38], rax
mov edi, LoadRegTypeLib
mov qword [rbp - 0x30], rax
mov r12, r14
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rax
lea rax, [0x1400be3a0]
mov qword [rbp + 0x348], rax
mov qword [rbp - 0x48], r14
mov dword [rbp + 0x17c], r14d
mov dword [rbp + 0xb0], r14d
mov qword [rbp + 0x298], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r15d, 8
mov r8d, edi
mov rcx, rax
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x60], rax
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rdi, rax
test rax, rax
jne 0x14001ef18
mov r15d, 0xc0000017
mov dword [rsp + 0x60], r15d
jmp 0x14001ef86
mov r8, qword [rbp + 0x298]
mov rcx, rdi
mov rdx, qword [rbp + 0x348]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12d, dword [rbp + 0x298]
mov dword [rbp - 0x78], r12d
mov qword [rbp - 0x80], rdi
lea rax, [0x1400be2e0]
mov qword [rbp + 0x2a0], r15
mov qword [rbp + 0x350], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x18], rax
mov rdi, rax
test rax, rax
jne 0x14001f09b
mov r15d, 0xc0000017
mov dword [rsp + 0x60], r15d
mov r12, qword [rbp - 0x80]
and qword [rbp - 0x38], 0
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x14001efac
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x30], r14
and qword [rbp + 0xb8], 0
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x14001efdb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0xc0], r14
test r12, r12
je 0x14001eff4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x48]
test rdi, rdi
je 0x14001f011
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14001edce
mov eax, dword [rbp + 0x9c]
test eax, eax
je 0x1400286ca
mov edi, 0x104
mov qword [rbp + 0x470], r14
mov r8d, edi
mov dword [0x1400bf310], eax
lea rdx, [rbp + 0xf00]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140026333
cmp eax, edi
jne 0x14001f06c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140026333
mov rax, qword [0x1400b8148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [case.0x14006779e.0]
mov qword [rbp + 0x68], rax
test rax, rax
jne 0x140021dd5
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140026333
mov r8, qword [rbp + 0x2a0]
mov rcx, rdi
mov rdx, qword [rbp + 0x350]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8, qword [rbp + 0x2a0]
mov qword [rbp + 0x40], r8
mov qword [rbp - 0x48], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x228], rax
mov ecx, r15d
mov dword [rbp + 0x98], ecx
add r12d, 4
or r9d, 0xffffffff
cmp r12d, 4
mov eax, r9d
mov r10d, 0xc0000095
cmovae eax, r12d
sbb edx, edx
and edx, r10d
mov dword [rsp + 0x78], edx
mov r15d, edx
mov dword [rsp + 0x60], edx
mov edx, ecx
cmp r12d, 4
jb 0x14001ef82
mov ecx, eax
mov dword [rbp + 0x98], eax
mov edx, eax
lea eax, [rax + 8]
mov edi, r9d
cmp eax, 8
mov r11d, 0x10000000
cmovae edi, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r11d
mov dword [rsp + 0x60], r15d
cmp eax, 8
jb 0x140021db4
lea edx, [r8 + 4]
mov eax, r9d
cmp edx, 4
cmovae eax, edx
sbb r15d, r15d
and r15d, r10d
cmp edx, 4
mov dword [rsp + 0x60], r15d
mov dword [rbp - 0x70], r15d
cmovae ecx, eax
mov dword [rbp + 0x98], ecx
jb 0x14001ef82
lea eax, [rcx + rdi]
mov ecx, r9d
cmp eax, edi
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r11d
mov dword [rsp + 0x60], r15d
cmp eax, edi
jb 0x140021db4
mov dword [rbp + 0x98], SafeArrayGetDim
lea eax, [rcx + 0xc]
mov edi, r9d
cmp eax, ecx
cmovae edi, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r11d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x140021db4
mov rcx, qword [rbp + 0x70]
lea r8, [rbp + 0x1c8]
mov edx, 0x7fffffff
call fcn.140048544
test eax, eax
jns 0x14001f1e6
mov qword [rbp + 0x1c8], r14
mov r15d, 0xc000003e
jmp 0x14001ef7d
mov rax, qword [rbp + 0x1c8]
or r9d, 0xffffffff
mov edx, dword [rbp + 0x98]
inc rax
mov qword [rbp + 0x1c8], rax
mov r10d, 0xc0000095
lea ecx, [rax*2 + 4]
mov eax, r9d
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r10d
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae edx, eax
mov dword [rbp + 0x98], edx
jb 0x14001ef82
lea eax, [rdx + rdi]
mov r11d, 0x10000000
cmp eax, edi
mov edx, r9d
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r11d
mov dword [rsp + 0x60], r15d
cmp eax, edi
jb 0x140021db4
mov dword [rbp + 0x98], 8
lea eax, [rdx + 8]
mov ecx, r9d
cmp eax, edx
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r11d
mov dword [rsp + 0x60], r15d
cmp eax, edx
jb 0x140021db4
mov dword [rbp + 0x98], 8
lea eax, [rcx + 8]
mov edx, r9d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r10d
add r15d, r11d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x140021db4
mov dword [rbp - 0x34], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
je 0x14001ef77
mov qword [rbp - 0x30], rax
mov edi, r14d
mov dword [rbp - 0x38], r14d
mov dword [rbp + 0x200], r14d
add rax, 4
mov r8, r13
cmp rax, rdx
mov r10d, 0xc0000095
cmovae r8, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x14001f349
mov ecx, dword [rbp - 0x34]
lea rax, [rdx + 8]
add rcx, rdx
cmp rax, rcx
jbe 0x14001f329
mov r15d, 0xc0000023
jmp 0x14001ef7d
mov dword [rdx], 4
mov r11d, 1
mov eax, dword [rbp + 0x200]
mov dword [r8], eax
mov edi, dword [rbp - 0x38]
add edi, r11d
mov dword [rbp - 0x38], edi
jmp 0x14001f34f
mov r11d, 1
test r15d, r15d
js 0x14001ef82
mov edx, dword [rbp - 0x78]
test edx, edx
je 0x14001f4a4
cmp qword [rbp - 0x30], r14
jne 0x14001f3c5
mov edx, dword [rbp + 0x104]
or eax, 0xffffffff
mov r15d, dword [rsp + 0x78]
cmp r12d, 4
mov dword [rsp + 0x60], r15d
cmovae eax, r12d
cmovae edx, eax
mov dword [rbp + 0x104], edx
jb 0x14001f49c
mov ecx, dword [rbp - 0x34]
or r8d, 0xffffffff
lea eax, [rcx + rdx]
cmp eax, ecx
cmovae r8d, eax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x34], r8d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x14001f4b3
add edi, r11d
mov dword [rbp - 0x38], edi
jmp 0x14001f4c2
mov r8, qword [rbp - 0x30]
mov r10d, r14d
mov r12d, 0xc0000095
test edi, edi
je 0x14001f442
mov r9d, dword [rbp + 0x104]
mov ecx, dword [r8]
or eax, 0xffffffff
add ecx, 4
mov r11, r8
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r12d
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae r9d, eax
mov dword [rbp + 0x104], r9d
jb 0x14001f49c
mov rcx, r8
mov edx, r9d
add rdx, r8
mov rax, r13
cmp rdx, r8
cmovae rax, rdx
cmp rdx, rcx
mov r8, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rdx, rcx
jb 0x14001f49c
inc r10d
cmp r10d, edi
jb 0x14001f3dd
mov edx, dword [rbp - 0x78]
lea rax, [r8 + 4]
mov r9, r13
cmp rax, r8
cmovae r9, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, r8
jb 0x14001f49c
mov ecx, dword [rbp - 0x34]
lea rax, [r8 + 4]
add rcx, qword [rbp - 0x30]
mov edi, edx
add rax, rdi
cmp rax, rcx
ja 0x14001f31e
mov dword [r8], edx
mov rcx, r9
mov rdx, qword [rbp - 0x60]
mov r8d, edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edi, dword [rbp - 0x38]
mov r11d, 1
add edi, r11d
mov dword [rbp - 0x38], edi
jmp 0x14001f4af
mov r11d, 1
jmp 0x14001f4af
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
mov r8d, dword [rbp - 0x34]
test r15d, r15d
js 0x14001ef82
mov r10d, 0xc0000095
mov r12, qword [rbp + 0x40]
test r12d, r12d
je 0x14001f61e
cmp qword [rbp - 0x30], r14
jne 0x14001f542
mov edx, dword [rbp + 0x100]
lea ecx, [r12 + 4]
mov r15d, dword [rbp - 0x70]
or eax, 0xffffffff
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae eax, ecx
cmovae edx, eax
mov dword [rbp + 0x100], edx
jb 0x14001f631
mov ecx, r8d
lea eax, [r8 + rdx]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x34], r8d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x14001f631
mov rax, qword [rbp + 0x228]
add edi, r11d
mov dword [rbp - 0x38], edi
mov qword [rbp + 0x2d8], rax
jmp 0x14001f654
mov r9, qword [rbp - 0x30]
mov r11d, r14d
test edi, edi
je 0x14001f5bb
mov r10d, dword [rbp + 0x100]
mov ecx, dword [r9]
or eax, 0xffffffff
add ecx, 4
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae r10d, eax
mov dword [rbp + 0x100], r10d
jb 0x14001f62b
mov rcx, r9
mov edx, r10d
add rdx, r9
mov rax, r13
cmp rdx, r9
cmovae rax, rdx
cmp rdx, rcx
mov r9, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
cmp rdx, rcx
jb 0x14001f62b
inc r11d
cmp r11d, edi
jb 0x14001f554
lea rax, [r9 + 4]
mov r10, r13
cmp rax, r9
cmovae r10, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
cmp rax, r9
jb 0x14001f62b
mov edx, r12d
mov ecx, r8d
add rcx, qword [rbp - 0x30]
lea rax, [rdx + 4]
add rax, r9
cmp rax, rcx
ja 0x14001f31e
mov r8d, edx
mov dword [r9], r12d
mov rdx, qword [rbp - 0x18]
mov rcx, r10
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edi, dword [rbp - 0x38]
mov r11d, 1
mov r8d, dword [rbp - 0x34]
add edi, r11d
mov dword [rbp - 0x38], edi
jmp 0x14001f631
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x14001f631
mov r11d, 1
test r15d, r15d
js 0x14001ef82
mov rax, qword [rbp + 0x228]
mov qword [rbp + 0x2d8], rax
cmp qword [rbp - 0x30], r14
jne 0x14001f68d
mov r10d, 0xc0000095
mov dword [rbp + 0x160], SafeArrayGetDim
lea ecx, [r8 + 0xc]
or eax, 0xffffffff
cmp ecx, r8d
cmovae eax, ecx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x34], eax
mov dword [rsp + 0x60], r15d
cmp ecx, r8d
jb 0x14001f764
add edi, r11d
mov dword [rbp - 0x38], edi
jmp 0x14001f76d
mov r9, qword [rbp - 0x30]
mov r11d, r14d
test edi, edi
je 0x14001f711
mov r10d, dword [rbp + 0x160]
mov ecx, dword [r9]
or eax, 0xffffffff
add ecx, 4
mov r12, r9
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae r10d, eax
mov dword [rbp + 0x160], r10d
jb 0x14001f764
mov rcx, r9
mov edx, r10d
add rdx, r9
mov rax, r13
cmp rdx, r9
cmovae rax, rdx
cmp rdx, rcx
mov r9, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
cmp rdx, rcx
jb 0x14001f764
mov r12d, 1
add r11d, r12d
cmp r11d, edi
jb 0x14001f69f
jmp 0x14001f717
mov r12d, 1
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
cmp rax, r9
jb 0x14001f764
mov ecx, r8d
lea rax, [r9 + 0xc]
add rcx, qword [rbp - 0x30]
cmp rax, rcx
ja 0x14001f31e
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x2d8]
movsd qword [rdx], xmm0
add dword [rbp - 0x38], r12d
test r15d, r15d
js 0x14001ef82
mov r12, qword [rbp + 0x70]
lea r8, [rbp + 0x278]
mov rcx, r12
mov edx, 0x7fffffff
call fcn.140048544
test eax, eax
jns 0x14001f795
mov qword [rbp + 0x278], r14
jmp 0x14001f1db
mov rcx, qword [rbp + 0x278]
mov rdx, r13
mov r10d, 0xc0000095
lea rax, [rcx + 1]
cmp rax, rcx
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
mov qword [rbp + 0x278], rdx
mov dword [rsp + 0x60], r15d
cmp rax, rcx
jb 0x14001f936
lea r9d, [rdx + rdx]
test r9d, r9d
je 0x14001f92b
cmp qword [rbp - 0x30], r14
jne 0x14001f84b
mov edi, dword [rbp + 0xd8]
lea ecx, [r9 + 4]
or r8d, 0xffffffff
cmp ecx, 4
mov eax, r8d
cmovae eax, ecx
sbb r15d, r15d
and r15d, r10d
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae edi, eax
mov dword [rbp + 0xd8], edi
jb 0x14001f936
mov edx, dword [rbp - 0x34]
mov eax, r8d
lea ecx, [rdi + rdx]
cmp ecx, edx
cmovae eax, ecx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x34], eax
mov dword [rsp + 0x60], r15d
cmp ecx, edx
jb 0x14001f936
mov eax, 1
mov dword [rsp + 0x60], r14d
add dword [rbp - 0x38], eax
mov r15d, r14d
jmp 0x14001f936
mov r10d, r14d
mov rdi, qword [rbp - 0x30]
cmp dword [rbp - 0x38], r14d
jbe 0x14001f8c9
mov r8d, dword [rbp + 0xd8]
mov ecx, dword [rdi]
or eax, 0xffffffff
add ecx, 4
mov r11, rdi
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae r8d, eax
mov dword [rbp + 0xd8], r8d
jb 0x14001f923
mov rcx, rdi
mov edx, r8d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
cmp rdx, rcx
jb 0x14001f923
inc r10d
cmp r10d, dword [rbp - 0x38]
jb 0x14001f85f
lea rax, [rdi + 4]
mov r10, r13
cmp rax, rdi
cmovae r10, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
cmp rax, rdi
jb 0x14001f923
mov ecx, dword [rbp - 0x34]
lea rax, [rdi + 4]
add rcx, qword [rbp - 0x30]
mov r8d, r9d
add rax, r8
cmp rax, rcx
jbe 0x14001f90d
mov r15d, 0xc0000023
lea r10d, [r15 + 0x72]
jmp 0x14001f931
mov rdx, r12
mov dword [rdi], r9d
mov rcx, r10
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, 1
add dword [rbp - 0x38], eax
mov r10d, 0xc0000095
jmp 0x14001f936
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14001ef82
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x250], eax
cmp qword [rbp - 0x30], r14
jne 0x14001f996
mov dword [rbp + 0x164], 8
mov edx, dword [rbp - 0x34]
or eax, 0xffffffff
lea ecx, [rdx + 8]
cmp ecx, edx
cmovae eax, ecx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x34], eax
mov dword [rsp + 0x60], r15d
cmp ecx, edx
jb 0x14001fa60
mov edi, 1
mov dword [rbp + 0x170], 4
add dword [rbp - 0x38], edi
jmp 0x14001fa7e
mov r9d, r14d
mov rdi, qword [rbp - 0x30]
mov r11d, 1
cmp dword [rbp - 0x38], r14d
jbe 0x14001fa17
mov r8d, dword [rbp + 0x164]
mov r12d, 0xc0000095
mov ecx, dword [rdi]
or eax, 0xffffffff
add ecx, 4
mov r10, rdi
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r12d
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae r8d, eax
mov dword [rbp + 0x164], r8d
jb 0x14001fa5d
mov rcx, rdi
mov edx, r8d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rdx, rcx
jb 0x14001fa5d
add r9d, r11d
cmp r9d, dword [rbp - 0x38]
jb 0x14001f9b6
mov r10d, r12d
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdi
jb 0x14001fa60
mov ecx, dword [rbp - 0x34]
lea rax, [rdi + 8]
add rcx, qword [rbp - 0x30]
cmp rax, rcx
ja 0x14001f31e
mov dword [rdi], 4
mov eax, dword [rbp + 0x250]
mov dword [rdx], eax
add dword [rbp - 0x38], r11d
jmp 0x14001fa60
mov r10d, r12d
test r15d, r15d
js 0x14001ef82
mov dword [rbp + 0x170], 4
cmp qword [rbp - 0x30], r14
jne 0x14001fab4
mov edi, 1
mov dword [rbp + 0x168], 8
mov edx, dword [rbp - 0x34]
or eax, 0xffffffff
lea ecx, [rdx + 8]
cmp ecx, edx
cmovae eax, ecx
sbb r15d, r15d
and r15d, r10d
mov dword [rbp - 0x34], eax
mov dword [rsp + 0x60], r15d
cmp ecx, edx
jb 0x14001fb7e
add dword [rbp - 0x38], edi
jmp 0x14001fb87
mov r9d, r14d
mov rdi, qword [rbp - 0x30]
mov r11d, 1
cmp dword [rbp - 0x38], r14d
jbe 0x14001fb35
mov r8d, dword [rbp + 0x168]
mov r12d, 0xc0000095
mov ecx, dword [rdi]
or eax, 0xffffffff
add ecx, 4
mov r10, rdi
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, r12d
cmp ecx, 4
mov dword [rsp + 0x60], r15d
cmovae r8d, eax
mov dword [rbp + 0x168], r8d
jb 0x14001fb7b
mov rcx, rdi
mov edx, r8d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rdx, rcx
jb 0x14001fb7b
add r9d, r11d
cmp r9d, dword [rbp - 0x38]
jb 0x14001fad4
mov r10d, r12d
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdi
jb 0x14001fb7e
mov ecx, dword [rbp - 0x34]
lea rax, [rdi + 8]
add rcx, qword [rbp - 0x30]
cmp rax, rcx
ja 0x14001f31e
mov dword [rdi], 4
mov eax, dword [rbp + 0x170]
mov dword [rdx], eax
add dword [rbp - 0x38], r11d
jmp 0x14001fb7e
mov r10d, r12d
test r15d, r15d
js 0x14001ef82
mov dword [rbp + 0x3c8], 8
mov r9, r14
mov qword [rbp + 0x88], r14
mov r8d, r14d
mov dword [rsp + 0x6c], r14d
mov qword [rbp + 0x1a0], r14
mov qword [rbp + 8], r14
mov dword [rbp - 0x78], r14d
mov qword [rbp - 0x50], r14
mov dword [rbp + 0x90], r14d
mov qword [rbp + 0x80], r14
mov qword [rbp - 0x28], r14
mov dword [rbp + 0x10c], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2e0], rax
mov eax, dword [rbp - 0x34]
or ecx, 0xffffffff
add eax, 8
cmp eax, 8
cmovae ecx, eax
sbb r15d, r15d
and r15d, r10d
mov dword [rbp + 0xf8], ecx
cmp eax, 8
jb 0x14001fcf7
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14001fc18
mov r15d, r10d
jmp 0x14001fcf7
mov dword [rbp + 0xf8], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001fc50
mov r15d, 0xc0000017
mov r8d, r14d
mov r9, r14
jmp 0x14001fcf7
mov eax, dword [rbp - 0x38]
mov rdx, r13
mov dword [rdi], eax
mov r10d, 0xc0000095
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
cmp rax, rdi
jb 0x14001fccc
mov eax, dword [rbp - 0x34]
mov rcx, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
and r15d, r10d
cmp rax, rdx
jb 0x14001fccc
mov edx, dword [rbp + 0xf8]
mov rax, qword [rbp + 0x2e0]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x34]
mov rdx, qword [rbp - 0x30]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp + 0xf8]
mov r9, rdi
mov qword [rbp + 0x88], rdi
mov rdi, r14
mov dword [rsp + 0x6c], r8d
jmp 0x14001fcd2
mov r9, r14
mov r8d, r14d
test rdi, rdi
je 0x14001fcf7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rsp + 0x6c]
mov r9, qword [rbp + 0x88]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140021701
mov qword [rbp + 0x360], r14
mov r12, r14
mov qword [rbp + 0x368], r14
mov qword [rbp + 0x330], r14
mov qword [rbp + 0x378], r14
mov qword [rbp + 0x230], r14
mov qword [rbp + 0x358], r14
test r9, r9
jne 0x14001fd46
mov r15d, 0xc000000d
jmp 0x14002053f
mov r15d, r8d
mov qword [rbp + 0x40], r15
test r8d, r8d
je 0x140020490
lea rdi, [r15 + 8]
mov qword [rbp - 0x18], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp], rax
test rax, rax
je 0x140020490
mov rdi, qword [rbp + 0x88]
mov dl, r14b
mov byte [rsp + 0x64], dl
mov rcx, r14
test r15, r15
je 0x14001fdaa
mov r8d, 1
xor dl, byte [rdi + rcx]
add rcx, r8
cmp rcx, r15
jb 0x14001fd9b
mov byte [rsp + 0x64], dl
mov r11, rax
mov qword [rbp + 0x920], rbx
or r9d, 0xffffffff
mov dword [rbp + 0x10], r14d
mov rax, r15
mov dword [rbp - 0x10], r9d
mov dword [rsp + 0x70], r14d
mov r10d, r14d
mov dword [rsp + 0x6c], r14d
and eax, 7
je 0x14001fee7
mov dword [rsp + 0x70], r14d
mov ecx, r14d
mov dword [rsp + 0x6c], ecx
mov r9d, r14d
test eax, eax
je 0x14001fe43
mov esi, 1
lea r8d, [rsi + 0x37]
lea rcx, [rdi + 1]
movzx edi, byte [rdi]
mov qword [rbp + 0x70], rcx
cmp r9d, 4
jge 0x14001fe18
lea ecx, [r8 - 0x20]
shl edi, cl
mov ecx, dword [rsp + 0x6c]
or ecx, edi
mov dword [rsp + 0x6c], ecx
jmp 0x14001fe24
mov ecx, r8d
shl edi, cl
mov ecx, dword [rsp + 0x6c]
or r10d, edi
mov rdi, qword [rbp + 0x70]
add r9d, esi
sub r8d, 8
cmp r9d, eax
jl 0x14001fdf5
mov dword [rsp + 0x70], r10d
movabs rsi, 0x7f1137fab69605e
mov r9d, dword [rsp + 0x70]
mov r10d, ecx
xor r10d, 0xb17a307a
xor r9d, 0x42f6b18d
mov dword [rbp + 0x10], r10d
mov ecx, r14d
mov dword [rbp - 0x10], r9d
test eax, eax
je 0x14001feac
mov ebx, 1
lea r8, [r11 + 1]
mov qword [rbp - 0x60], r8
cmp ecx, 4
jge 0x14001fe83
rol r10d, 8
mov r8d, r10d
jmp 0x14001fe8a
rol r9d, 8
mov r8d, r9d
mov byte [r11], r8b
add ecx, ebx
mov r8, qword [rbp - 0x60]
mov r11, r8
cmp ecx, eax
jl 0x14001fe6d
mov r10d, dword [rbp + 0x10]
movabs rbx, 0xc81ecb17b1b54a58
mov r9d, dword [rbp - 0x10]
cmp eax, 4
jbe 0x14001fec7
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov dword [rbp - 0x10], r9d
jmp 0x14001fee7
mov dword [rbp - 0x10], r14d
mov r9d, r14d
cmp eax, 4
jae 0x14001fee7
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp + 0x10], r10d
mov rax, r15
shr rax, 3
mov qword [rbp - 0x60], rax
test rax, rax
je 0x140020270
mov ecx, dword [rbp + 0x924]
lea rdx, [r11 + 7]
mov r11, qword [rbp - 0x60]
mov eax, ecx
mov esi, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x6c]
shr eax, 0x10
mov dword [rsp + 0x78], eax
mov r12d, dword [rsp + 0x78]
movzx eax, bx
mov dword [rbp - 0x40], eax
movzx eax, bx
mov dword [rsp + 0x68], eax
movzx eax, word [rbp + 0x922]
mov dword [rbp + 0x78], eax
movzx eax, cx
mov dword [rbp + 0x60], eax
mov eax, ecx
mov r14d, dword [rbp + 0x60]
xor eax, ebx
add rdi, 2
mov r15d, eax
mov qword [rbp + 0x68], rdi
movzx eax, byte [rdi - 1]
movzx r8d, byte [rdi - 2]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdi]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdi + 1]
movzx edi, byte [rdi + 2]
shl edi, 8
shl r8d, 8
or r8d, eax
mov rax, qword [rbp + 0x68]
movzx eax, byte [rax + 3]
or edi, eax
mov rax, qword [rbp + 0x68]
shl edi, 8
movzx eax, byte [rax + 4]
or edi, eax
mov rax, qword [rbp + 0x68]
add qword [rbp + 0x68], 8
shl edi, 8
movzx eax, byte [rax + 5]
or edi, eax
xor r9d, edi
mov eax, r9d
sub eax, dword [rsp + 0x68]
xor eax, ecx
xor eax, r8d
xor r10d, eax
movzx eax, word [rbp + 0x922]
xor ecx, r10d
ror ecx, 0xf
imul ecx, eax
mov eax, r10d
ror eax, 7
add ecx, eax
xor r9d, ecx
mov eax, r9d
ror eax, 0xa
lea ecx, [rbx + r9]
ror ecx, 9
imul ecx, r14d
sub ecx, eax
xor r10d, ecx
mov ecx, r14d
xor ecx, r10d
mov eax, r10d
rol eax, 5
rol ecx, 4
imul ecx, r12d
add ecx, eax
mov eax, dword [rbp + 0x924]
xor r9d, ecx
mov ecx, ebx
xor ecx, r9d
sub eax, ecx
xor r10d, eax
movzx eax, word [rbp + 0x922]
mov ecx, r10d
sub ecx, dword [rbp - 0x40]
imul ecx, eax
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r9d, ecx
mov eax, r9d
ror eax, 0xf
xor eax, r14d
imul eax, dword [rbp - 0x40]
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
add eax, r12d
imul eax, r14d
xor r9d, eax
mov eax, r9d
sub eax, dword [rbp + 0x924]
sub eax, dword [rsp + 0x68]
xor r10d, eax
mov ecx, r10d
mov eax, r12d
ror ecx, 0xa
xor eax, r10d
imul eax, dword [rbp + 0x78]
xor ecx, eax
xor r9d, ecx
mov ecx, dword [rbp - 0x40]
xor ecx, r9d
mov eax, r9d
rol ecx, 6
imul ecx, r14d
ror eax, 3
xor ecx, eax
xor r10d, ecx
mov ecx, r12d
mov eax, r10d
ror eax, 0xf
sub eax, r12d
imul eax, dword [rbp - 0x40]
xor r9d, eax
xor ecx, r9d
mov eax, r9d
imul ecx, dword [rsp + 0x68]
shr eax, 1
xor ecx, eax
mov eax, r9d
xor r10d, ecx
shr eax, 0xf
mov ecx, r9d
sub ecx, r14d
rol ecx, 3
imul ecx, dword [rsp + 0x68]
xor ecx, eax
movzx eax, word [rbp + 0x922]
xor r10d, ecx
mov ecx, r10d
sub ecx, r14d
imul ecx, eax
mov eax, r10d
shr eax, 0xd
sub ecx, eax
xor r9d, ecx
mov ecx, ebx
sub ecx, r9d
mov eax, r9d
ror ecx, 9
imul ecx, r14d
ror eax, 0xb
xor ecx, eax
xor r10d, ecx
mov eax, r10d
sub eax, r12d
sub eax, ebx
xor r9d, eax
movzx eax, word [rbp + 0x922]
xor eax, r9d
mov ecx, r9d
imul eax, dword [rsp + 0x68]
ror ecx, 7
sub eax, ecx
mov ecx, r12d
xor r10d, eax
movzx eax, word [rbp + 0x922]
xor ecx, r10d
rol ecx, 4
imul ecx, eax
mov eax, r10d
ror eax, 0x10
sub ecx, eax
xor r9d, ecx
mov ecx, ebx
sub ecx, r9d
mov eax, r9d
ror ecx, 0xa
imul ecx, r14d
ror eax, 4
add ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, ebx
ror ecx, 4
mov eax, r10d
ror eax, 9
imul ecx, r12d
xor ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
xor ecx, dword [rbp + 0x924]
rol eax, 2
rol ecx, 8
imul ecx, dword [rsp + 0x68]
sub ecx, eax
movzx eax, word [rbp + 0x922]
xor r10d, ecx
mov ecx, dword [rbp + 0x924]
sub ecx, r10d
ror ecx, 0xb
imul ecx, eax
mov eax, r10d
ror eax, 0xc
sub ecx, eax
movzx eax, word [rbp + 0x922]
xor r9d, ecx
mov ecx, r9d
xor ecx, eax
mov eax, r9d
shr eax, 8
imul ecx, r14d
xor ecx, eax
mov eax, r15d
xor r10d, ecx
mov ecx, dword [rbp + 0x924]
xor eax, r10d
xor r10d, r13d
xor r9d, eax
mov dword [rbp + 0x10], r10d
xor r9d, esi
mov r13d, r8d
mov dword [rbp - 0x10], r9d
mov esi, edi
mov rdi, qword [rbp + 0x68]
mov byte [rdx - 4], r10b
mov al, byte [rbp - 0x10]
ror dword [rbp + 0x10], 8
mov byte [rdx], al
ror dword [rbp - 0x10], 8
mov al, byte [rbp + 0x10]
mov byte [rdx - 5], al
mov al, byte [rbp - 0x10]
ror dword [rbp + 0x10], 8
mov byte [rdx - 1], al
ror dword [rbp - 0x10], 8
mov al, byte [rbp + 0x10]
mov byte [rdx - 6], al
ror dword [rbp + 0x10], 8
mov al, byte [rbp - 0x10]
mov byte [rdx - 2], al
ror dword [rbp - 0x10], 8
mov al, byte [rbp + 0x10]
mov byte [rdx - 7], al
mov al, byte [rbp - 0x10]
mov byte [rdx - 3], al
add rdx, 8
mov r10d, dword [rbp + 0x10]
mov r9d, dword [rbp - 0x10]
ror r10d, 8
ror r9d, 8
mov dword [rbp + 0x10], r10d
mov dword [rbp - 0x10], r9d
sub r11, 1
jne 0x14001ff50
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15, qword [rbp + 0x40]
or r13, 0xffffffffffffffff
mov r12d, r14d
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp]
movzx eax, dl
mov qword [rcx + r15], rax
mov r15, qword [rbp - 0x18]
mov qword [rbp + 0x358], r15
mov qword [rbp + 0x230], rcx
lea rax, [0x1400be390]
mov edi, 8
mov qword [rbp + 0x360], rax
mov qword [rbp + 0x368], rdi
lea rax, [0x1400be2f0]
mov qword [rbp + 0x378], LoadRegTypeLib
mov qword [rbp + 0x330], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [rdi + 0x28]
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400202e8
mov r15d, 0xc0000017
jmp 0x14002047f
mov dword [rax], r15d
mov r15d, r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140020315
mov r15d, 0xc0000017
jmp 0x1400203f0
mov qword [rdi + 8], rax
mov rdx, qword [rbp]
mov r8, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15d, LoadRegTypeLib
mov dword [rdi + 0x10], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov r15d, 8
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, rax
test rax, rax
je 0x14002030a
mov qword [rdi + 0x18], rax
lea rax, [0x1400be2f0]
movups xmm0, xmmword [rax]
lea edx, [r15 + 0x78]
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
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.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14002030a
mov qword [rdi + 0x28], rax
movsd xmm0, qword [0x1400be390]
mov r12, rdi
movsd qword [rax], xmm0
mov r15d, r14d
mov rdi, r14
test rdi, rdi
je 0x14002047f
mov rax, qword [rdi + 8]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14002041f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x60]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov rax, qword [rdi + 0x18]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x140020445
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x60]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14002046b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x60]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x140020496
mov qword [rbp + 0x1a0], r12
mov r12, r14
jmp 0x140020496
mov r15d, 0xc0000001
mov rdi, qword [rbp + 0x230]
test rdi, rdi
je 0x1400204bd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x230], r14
test r12, r12
je 0x14002053f
mov rdi, qword [r12 + 8]
test rdi, rdi
je 0x1400204e5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 8], r14
mov rdi, qword [r12 + 0x18]
test rdi, rdi
je 0x140020508
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x18], r14
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x14002052b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140021701
mov r12, qword [rbp + 0x1a0]
or r10d, 0xffffffff
mov ecx, r10d
mov r9d, 0xc0000095
mov eax, dword [r12]
mov r8d, dword [r12 + 0x20]
add eax, 4
mov edi, dword [r12 + 0x10]
cmp eax, 4
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, 4
jb 0x1400205eb
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, ecx
jb 0x1400205eb
lea eax, [rdx + rdi]
mov ecx, r10d
cmp eax, edx
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, edx
jb 0x1400205eb
lea eax, [rcx + 4]
mov edx, r10d
cmp eax, ecx
cmovae edx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, ecx
jb 0x1400205eb
mov edi, dword [rbp + 0xfc]
lea ecx, [rdx + r8]
cmp ecx, edx
mov eax, r10d
cmovae eax, ecx
sbb r15d, r15d
and r15d, r9d
cmp ecx, edx
cmovae edi, eax
mov dword [rbp + 0xfc], edi
jmp 0x1400205f1
mov edi, dword [rbp + 0xfc]
test r15d, r15d
js 0x140020760
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140020624
mov r15d, 0xc0000017
jmp 0x140020760
mov eax, dword [r12]
mov rcx, r13
mov dword [rdi], eax
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rcx, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov qword [rbp - 0x60], rcx
cmp rax, rdi
jb 0x140020747
mov r8d, dword [r12]
mov rdx, qword [r12 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rdx, qword [rbp - 0x60]
mov r8, r13
mov ecx, dword [r12]
mov r9d, 0xc0000095
add rcx, rdx
cmp rcx, rdx
cmovae r8, rcx
sbb r15d, r15d
and r15d, r9d
cmp rcx, rdx
jb 0x140020747
mov eax, dword [r12 + 0x10]
mov rcx, r13
mov dword [r8], eax
lea rax, [r8 + 4]
cmp rax, r8
cmovae rcx, rax
sbb r15d, r15d
and r15d, r9d
mov qword [rbp - 0x60], rcx
cmp rax, r8
jb 0x140020747
mov r8d, dword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8, qword [rbp - 0x60]
mov rdx, r13
mov ecx, dword [r12 + 0x10]
mov r9d, 0xc0000095
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r9d
cmp rcx, r8
jb 0x140020747
mov eax, dword [r12 + 0x20]
mov rcx, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
and r15d, r9d
mov qword [rbp - 0x60], rcx
cmp rax, rdx
jb 0x140020747
mov r8d, dword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rdx, qword [rbp - 0x60]
mov ecx, dword [r12 + 0x20]
add rcx, rdx
cmp rcx, rdx
sbb r15d, r15d
and r15d, 0xc0000095
cmp rcx, rdx
jb 0x140020747
mov eax, dword [rbp + 0xfc]
mov qword [rbp + 8], rdi
mov rdi, r14
mov dword [rbp - 0x78], eax
test rdi, rdi
je 0x140020760
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140021701
mov qword [rbp + 0x380], r14
mov r8d, r14d
mov dword [rbp + 0x270], r14d
mov r10d, r14d
mov qword [rbp + 0x388], r14
mov dword [rbp + 0x210], r14d
mov dword [rbp + 0x338], 0x3c
mov eax, 0x48
mov dword [rbp + 0x400], eax
mov dword [rbp + 0xc8], eax
cmp qword [rbp - 0x30], r14
jne 0x1400207c5
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x14002098f
mov r11d, 1
cmp dword [rbp - 0x38], r11d
jbe 0x1400207b5
mov rdx, qword [rbp - 0x30]
mov r9d, r14d
mov r12d, 0xc0000095
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x14002085c
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rcx, rdi
jb 0x14002085c
add r9d, r11d
cmp r9d, r11d
jb 0x1400207de
mov edi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x14002085c
test edi, edi
mov dword [rbp + 0x270], edi
mov rax, r14
mov r8d, edi
cmovne rax, rcx
mov qword [rbp + 0x380], rax
test r15d, r15d
js 0x140021701
cmp dword [rbp - 0x38], 2
jbe 0x1400207b5
mov rdx, qword [rbp - 0x30]
mov r9d, r14d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x1400208fa
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rcx, rdi
jb 0x1400208fa
add r9d, r11d
cmp r9d, 2
jb 0x140020876
mov edi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
mov r9d, r12d
cmovae rcx, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x1400208fd
test edi, edi
mov dword [rbp + 0x210], edi
mov rax, r14
mov r10d, edi
cmovne rax, rcx
mov qword [rbp + 0x388], rax
jmp 0x1400208fd
mov r9d, r12d
test r15d, r15d
js 0x140021701
lea eax, [r8 + 0x50]
or edx, 0xffffffff
cmp eax, 0x50
mov ecx, edx
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
mov dword [rsp + 0x60], r15d
cmp eax, 0x50
jb 0x140020967
lea eax, [rcx + 4]
mov edi, edx
cmp eax, ecx
cmovae edi, eax
sbb r15d, r15d
and r15d, r9d
mov dword [rsp + 0x60], r15d
cmp eax, ecx
jb 0x140020967
lea ecx, [rdi + r10]
mov eax, edx
mov edx, dword [rbp + 0x178]
cmp ecx, edi
cmovae eax, ecx
sbb r15d, r15d
and r15d, r9d
cmp ecx, edi
mov dword [rsp + 0x60], r15d
cmovae edx, eax
mov dword [rbp + 0x178], edx
jmp 0x14002096d
mov edx, dword [rbp + 0x178]
test r15d, r15d
js 0x140021701
cmp edx, 0x400000
jbe 0x140020989
mov r15d, 0x8000ffff
jmp 0x1400216fc
mov dword [rbp + 0x90], edx
test r15d, r15d
js 0x140021701
mov edi, dword [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400209c8
mov r15d, 0xd0000017
jmp 0x1400216fc
mov qword [rbp - 0x50], rdi
mov r12, qword [rbp + 8]
test r12, r12
jne 0x1400209e0
mov r15d, 0x80070057
jmp 0x1400216fc
mov eax, dword [rbp - 0x78]
lea r8, [rbp + 0x390]
mov dword [rbp + 0x488], eax
lea rdx, [0x140087ed8]
mov eax, dword [rbp + 0x90]
mov ecx, 1
mov dword [rbp + 0x48c], eax
mov qword [rbp + 0x478], r12
mov qword [rbp + 0x480], rdi
mov dword [rbp + 0x490], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x140020a56
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [rbp + 0x90]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x140020aa9
mov r15d, 0x80004005
jmp 0x140020aa4
mov rcx, qword [rbp + 0x390]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140020a27
xor r9d, r9d
lea rdx, [rbp + 0x478]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [case.0x14006779e.0]
mov edx, dword [rbp + 0x90]
mov r15d, eax
or r15d, 0x10000000
cmovge edx, dword [rbp + 0x48c]
mov dword [rbp + 0x90], edx
mov dword [rsp + 0x60], r15d
cmp r15d, 0xd0000023
jne 0x140020abd
mov r15d, 0x8007007a
jmp 0x1400216fc
test r15d, r15d
js 0x140021701
mov qword [rbp + 0x70], r14
cmp edx, 4
jae 0x140020b0f
mov r15d, 0xc000003e
mov r12, r14
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140021701
mov qword [rbp + 0x130], r14
mov rdi, r14
mov qword [rbp + 0x300], r14
test r12, r12
jne 0x140020ef9
mov r15d, 0xd000000d
jmp 0x1400216fc
mov r10d, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
mov dword [rsp + 0x78], r10d
mov r12, r13
mov r9d, 0xc0000095
cmovae r12, rax
sbb r15d, r15d
and r15d, r9d
cmp rax, rdi
jb 0x140020ad5
lea eax, [rdx - 4]
cmp eax, r10d
jb 0x140020acf
lea rcx, [r12 + r10]
mov r8, r13
cmp rcx, r12
cmovae r8, rcx
sbb r15d, r15d
and r15d, r9d
cmp rcx, r12
jb 0x140020ad5
lea eax, [r10 + 4]
or ecx, 0xffffffff
cmp eax, 4
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, 4
jb 0x140020ad5
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x140020acf
mov r11d, dword [r8]
lea rax, [r8 + 4]
cmp rax, r8
mov dword [rbp - 0x70], r11d
mov rdi, r13
cmovae rdi, rax
sbb r15d, r15d
and r15d, r9d
mov qword [rbp - 0x60], rdi
cmp rax, r8
jb 0x140020ad5
lea eax, [rcx + 4]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, ecx
jb 0x140020ad5
mov eax, edx
sub eax, r8d
cmp eax, r11d
jb 0x140020acf
lea rcx, [rdi + r11]
mov r9, r13
cmp rcx, rdi
cmovae r9, rcx
sbb r15d, r15d
and r15d, 0xc0000095
cmp rcx, rdi
jb 0x140020ad5
lea eax, [r11 + r8]
or edi, 0xffffffff
cmp eax, r8d
cmovae edi, eax
sbb r15d, r15d
and r15d, 0xc0000095
cmp eax, r8d
jb 0x140020ad5
mov eax, edx
sub eax, edi
cmp eax, 4
jb 0x140020acf
mov r8d, dword [r9]
lea rax, [r9 + 4]
cmp rax, r9
mov dword [rbp - 0x78], r8d
mov rcx, r13
cmovae rcx, rax
sbb r15d, r15d
and r15d, 0xc0000095
mov qword [rbp + 0x40], rcx
cmp rax, r9
jb 0x140020ad5
lea eax, [rdi + 4]
or ecx, 0xffffffff
cmp eax, edi
mov r9d, 0xc0000095
cmovae ecx, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, edi
jb 0x140020ad5
mov eax, edx
sub eax, ecx
cmp eax, r8d
jb 0x140020acf
lea eax, [r8 + rcx]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
sbb r15d, r15d
and r15d, r9d
cmp eax, ecx
jb 0x140020ad5
cmp edx, edi
jne 0x140020acf
lea ecx, [r8 + r11]
mov eax, edx
add ecx, r10d
add rcx, 0xc
cmp rcx, rax
jne 0x140020acf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140020cde
mov r15d, 0xc0000017
jmp 0x140020e4c
test r12, r12
je 0x140020d27
mov eax, dword [rsp + 0x78]
mov dword [rdi], eax
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r15d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140020d13
mov r15d, 0xc0000017
jmp 0x140020dd0
mov qword [rdi + 8], rax
mov r8, r15
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140020d2e
mov dword [rax], r14d
mov qword [rax + 8], r14
mov r15, qword [rbp - 0x60]
test r15, r15
je 0x140020d70
mov eax, dword [rbp - 0x70]
mov dword [rdi + 0x10], eax
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140020d08
mov qword [rdi + 0x18], rax
mov r8d, r12d
mov rdx, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140020d78
mov dword [rdi + 0x10], r14d
mov qword [rdi + 0x18], r14
mov r15, qword [rbp + 0x40]
test r15, r15
je 0x140020dbe
mov eax, dword [rbp - 0x78]
mov dword [rdi + 0x20], eax
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140020d08
mov qword [rdi + 0x28], rax
mov r8d, r12d
mov rdx, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140020dc6
mov dword [rdi + 0x20], r14d
mov qword [rdi + 0x28], r14
mov qword [rbp + 0x70], rdi
mov r15d, r14d
mov rdi, r14
test rdi, rdi
je 0x140020e4c
mov r12, qword [rdi + 8]
test r12, r12
je 0x140020df6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140020e17
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x140020e38
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp + 0x70]
test r15d, r15d
mov rdi, r14
cmovs rdi, qword [rbp + 0x70]
cmovs r12, r14
mov qword [rbp + 0x80], r12
test rdi, rdi
je 0x140020ad8
mov r12, qword [rdi + 8]
test r12, r12
je 0x140020e90
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140020eb1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x140020ed2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp + 0x80]
mov qword [rbp + 0x80], r12
jmp 0x140020ad8
mov rax, qword [r12 + 8]
mov qword [rbp + 0x68], rax
test rax, rax
je 0x140020b04
cmp dword [r12], r14d
je 0x140020b04
mov r15d, dword [r12]
mov dword [rbp - 0x78], r14d
test r15, r15
je 0x14002149d
add r15, 0xfffffffffffffff8
mov qword [rbp + 0x40], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x18], rax
mov r12, rax
test rax, rax
je 0x140021496
mov rax, qword [rbp + 0x68]
mov rdi, r15
mov qword [rbp + 0x948], rsi
mov dl, r14b
mov byte [rsp + 0x64], dl
mov r10, r12
mov dword [rbp - 8], r14d
mov r11d, r14d
and edi, 7
je 0x14002108e
or dword [rbp - 0x20], 0xffffffff
mov ecx, r14d
mov dword [rsp + 0x70], r14d
mov r9d, r14d
mov dword [rsp + 0x6c], ecx
test edi, edi
je 0x140020fe8
mov ebx, 1
lea r8d, [rbx + 0x37]
lea rcx, [rax + 1]
movzx eax, byte [rax]
mov qword [rbp + 0x70], rcx
cmp r9d, 4
jge 0x140020fbd
lea ecx, [r8 - 0x20]
shl eax, cl
mov ecx, dword [rsp + 0x6c]
or ecx, eax
mov dword [rsp + 0x6c], ecx
jmp 0x140020fc9
mov ecx, r8d
shl eax, cl
mov ecx, dword [rsp + 0x6c]
or r11d, eax
mov rax, qword [rbp + 0x70]
add r9d, ebx
sub r8d, 8
cmp r9d, edi
jl 0x140020f9a
mov dword [rsp + 0x70], r11d
movabs rbx, 0xc81ecb17b1b54a58
mov r8d, dword [rsp + 0x70]
mov r11d, ecx
xor r11d, 0x92f65a5
xor r8d, 0x699a899c
mov dword [rbp - 8], r11d
mov ecx, r14d
mov dword [rbp - 0x20], r8d
test edi, edi
je 0x140021051
mov esi, 1
lea r9, [r10 + 1]
mov qword [rbp - 0x60], r9
cmp ecx, 4
jge 0x140021028
rol r11d, 8
mov r9d, r11d
jmp 0x14002102f
rol r8d, 8
mov r9d, r8d
mov byte [r10], r9b
add ecx, esi
mov r9, qword [rbp - 0x60]
mov r10, r9
cmp ecx, edi
jl 0x140021012
mov r11d, dword [rbp - 8]
movabs rsi, 0x7f1137fab69605e
mov r8d, dword [rbp - 0x20]
cmp edi, 4
jbe 0x14002106c
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x20], r8d
jmp 0x1400210a3
mov dword [rbp - 0x20], r14d
mov r8d, r14d
cmp edi, 4
jae 0x1400210a3
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 8], r11d
jmp 0x1400210a3
or r8d, 0xffffffff
mov dword [rsp + 0x6c], r14d
mov dword [rsp + 0x70], r8d
mov r8d, r14d
mov dword [rbp - 0x20], r14d
mov rcx, r15
shr rcx, 3
mov qword [rbp - 0x60], rcx
test rcx, rcx
je 0x1400213ff
mov r12d, dword [rbp + 0x94c]
lea r14, [r10 + 7]
mov rbx, qword [rbp - 0x60]
mov ecx, r12d
mov r13d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x6c]
shr ecx, 0x10
mov dword [rsp + 0x78], ecx
mov r15d, dword [rsp + 0x78]
movzx ecx, r12w
mov dword [rbp], ecx
movzx ecx, si
mov dword [rsp + 0x68], ecx
movzx ecx, word [rbp + 0x94a]
mov dword [rbp - 0x70], ecx
lea rcx, [rax + 2]
movzx eax, byte [rcx - 1]
mov edi, r12d
movzx r10d, byte [rcx - 2]
movzx r9d, byte [rcx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rcx]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 1]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 3]
or r9d, eax
xor r11d, r10d
movzx eax, byte [rcx + 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r9d, 8
mov qword [rbp - 0x60], rcx
or r9d, eax
xor r8d, r9d
xor edi, r8d
mov r8d, dword [rbp]
xor edi, r11d
xor edi, esi
mov ecx, edi
mov eax, edi
sub ecx, esi
rol eax, 0xa
rol ecx, 5
imul ecx, r8d
add ecx, eax
movzx eax, word [rbp + 0x94a]
xor r11d, ecx
lea ecx, [r11 + r12]
ror ecx, 9
imul ecx, eax
mov eax, r11d
rol eax, 2
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, r8d
shr eax, 0xd
imul ecx, dword [rsp + 0x68]
sub ecx, eax
xor r11d, ecx
movzx ecx, word [rbp + 0x94a]
xor ecx, r11d
mov eax, r11d
rol ecx, 6
imul ecx, r15d
rol eax, 2
sub ecx, eax
mov eax, r12d
xor edi, ecx
mov ecx, edi
xor ecx, esi
sub eax, ecx
xor r11d, eax
mov eax, r11d
mov ecx, r11d
ror ecx, 6
xor eax, r8d
imul eax, dword [rbp - 0x70]
xor ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 2
lea ecx, [rdi + r12]
ror ecx, 0xf
imul ecx, dword [rsp + 0x68]
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, esi
ror ecx, 0xe
mov eax, r11d
imul ecx, r15d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
xor ecx, esi
ror eax, 0xa
ror ecx, 0xc
imul ecx, r8d
xor ecx, eax
movzx eax, word [rbp + 0x94a]
xor r11d, ecx
mov ecx, r15d
xor ecx, r11d
imul ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov ecx, r15d
mov eax, edi
not eax
ror eax, 5
add eax, dword [rsp + 0x68]
imul eax, r15d
xor r11d, eax
mov r8d, r11d
sub r8d, r15d
xor r8d, edi
xor r8d, esi
xor ecx, r8d
mov eax, r8d
rol ecx, 2
imul ecx, dword [rbp]
shr eax, 2
add ecx, eax
movzx eax, word [rbp + 0x94a]
xor r11d, ecx
mov ecx, r11d
sub ecx, r12d
ror ecx, 6
imul ecx, eax
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
mov eax, r8d
mov ecx, r8d
xor eax, dword [rbp]
imul eax, dword [rsp + 0x68]
ror ecx, 9
add ecx, eax
xor r11d, ecx
movzx ecx, word [rbp + 0x94a]
xor ecx, r11d
mov eax, r11d
rol ecx, 5
rol eax, 7
imul ecx, r15d
add ecx, eax
xor r8d, ecx
movzx ecx, word [rbp + 0x94a]
mov edi, r8d
xor edi, r11d
xor edi, esi
xor edi, r12d
mov eax, edi
ror eax, 3
sub eax, ecx
imul eax, dword [rbp]
xor r8d, eax
mov ecx, r8d
mov eax, r8d
sub ecx, r12d
ror eax, 6
ror ecx, 1
imul ecx, dword [rsp + 0x68]
sub ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 0xe
lea ecx, [rdi + rsi]
rol ecx, 3
imul ecx, r15d
add ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xe
lea ecx, [r8 + rsi]
rol ecx, 0xf
imul ecx, dword [rbp]
sub ecx, eax
movzx eax, word [rbp + 0x94a]
xor edi, ecx
mov ecx, dword [rsp + 0x68]
xor ecx, edi
imul ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
mov eax, r8d
rol eax, 2
xor ecx, r12d
rol ecx, 4
xor r8d, r13d
imul ecx, dword [rsp + 0x68]
mov r13d, r9d
mov dword [rbp - 0x20], r8d
xor ecx, eax
xor ecx, edx
mov edx, r10d
xor edi, ecx
mov rcx, qword [rbp - 0x60]
mov dword [rbp - 8], edi
mov byte [r14 - 4], dil
mov edi, 1
mov al, byte [rbp - 0x20]
ror dword [rbp - 8], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 8]
mov byte [r14 - 0xd], al
mov al, byte [rbp - 0x20]
ror dword [rbp - 8], 8
mov byte [r14 - 9], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 8]
mov byte [r14 - 0xe], al
ror dword [rbp - 8], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 0xa], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 8]
mov byte [r14 - 0xf], al
mov al, byte [rbp - 0x20]
mov byte [r14 - 0xb], al
mov r11d, dword [rbp - 8]
mov r8d, dword [rbp - 0x20]
ror r11d, 8
ror r8d, 8
mov dword [rbp - 8], r11d
mov dword [rbp - 0x20], r8d
sub rbx, rdi
jne 0x1400210fa
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15, qword [rbp + 0x40]
or r13, 0xffffffffffffffff
mov r12, qword [rbp - 0x18]
movabs rbx, 0xc81ecb17b1b54a58
jmp 0x140021404
mov edi, 1
mov rax, r14
test r15, r15
je 0x140021418
xor dl, byte [rax + r12]
add rax, rdi
cmp rax, r15
jb 0x14002140c
mov rcx, qword [rbp + 0x68]
movzx eax, dl
cmp rax, qword [r15 + rcx]
je 0x140021434
mov rdi, qword [rbp + 0x130]
mov r15d, 0xc004d501
jmp 0x14002144c
mov rdi, r12
mov qword [rbp + 0x130], r12
mov qword [rbp + 0x300], r15
mov r12, r14
mov r15d, dword [rbp - 0x78]
test r12, r12
je 0x14002146c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x130]
test r15d, r15d
js 0x14002149d
mov ecx, dword [rbp + 0x300]
mov r12, rdi
mov qword [rbp - 0x28], rdi
mov r15d, 0x10000000
mov rdi, r14
mov dword [rbp + 0x10c], ecx
mov qword [rbp + 0x130], r14
jmp 0x1400214ac
mov rdi, qword [rbp + 0x130]
mov ecx, dword [rbp + 0x10c]
mov r15d, 0xd0000001
mov r12, r14
mov dword [rsp + 0x60], r15d
test rdi, rdi
je 0x1400214d7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp + 0x10c]
mov qword [rbp + 0x130], r14
test r15d, r15d
js 0x140021701
cmp ecx, 4
jb 0x1400216f1
mov eax, dword [r12]
mov rdx, r13
mov dword [rsp + 0x78], eax
mov r9d, 0xc0000095
lea rax, [r12 + 4]
cmp rax, r12
cmovae rdx, rax
sbb r15d, r15d
and r15d, r9d
cmp rax, r12
jb 0x1400216f7
lea eax, [rcx - 4]
cmp eax, 4
jb 0x1400216f1
mov r12d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb r15d, r15d
and r15d, r9d
cmp rax, rdx
jb 0x1400216f7
lea eax, [rcx - 8]
cmp eax, r12d
jb 0x1400216f1
lea eax, [r12 + 8]
cmp eax, 8
sbb r15d, r15d
and r15d, r9d
cmp eax, 8
jb 0x1400216f7
mov edx, ecx
lea r9, [rdi + r12]
mov rcx, qword [rbp - 0x28]
mov r10d, r12d
lea rax, [rcx + rdx]
cmp rax, r9
jb 0x1400216f1
mov rax, rcx
sub rax, rdi
sub rax, r12
add rax, rdx
cmp rax, 8
jae 0x1400216f1
mov dword [rbp - 0x78], r14d
mov rax, r14
mov qword [rbp + 0x70], rax
mov r15d, r14d
mov r11d, r14d
test rdi, rdi
je 0x140021677
cmp r9, rdi
mov r8, r13
mov rdx, rdi
cmovae r8, r9
sbb r15d, r15d
and r15d, 0xc0000095
cmp r9, rdi
jb 0x1400216e0
cmp rdi, r8
jae 0x140021672
mov r9d, dword [rbp + 0x260]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb r15d, r15d
and r15d, 0xc0000095
cmp rax, rdx
jb 0x1400216e0
cmp rcx, r8
ja 0x1400216a4
mov ecx, dword [rdx]
or eax, 0xffffffff
add ecx, 4
cmp ecx, 4
cmovae eax, ecx
sbb r15d, r15d
and r15d, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x260], r9d
jb 0x1400216e0
mov ecx, r9d
mov rax, r13
add rcx, rdx
cmp rcx, rdx
cmovae rax, rcx
sbb r15d, r15d
and r15d, 0xc0000095
cmp rcx, rdx
jb 0x1400216e0
cmp rax, r8
ja 0x1400216a4
inc r11d
mov rdx, rax
mov dword [rbp - 0x78], r11d
cmp rax, r8
jb 0x1400215de
mov rax, r14
cmp rdx, r8
jne 0x1400216a4
test r12d, r12d
je 0x1400216b2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x70], rax
test rax, rax
jne 0x1400216ac
mov r15d, 0xc0000017
jmp 0x1400216e0
mov r15d, 0xc000000d
jmp 0x1400216f7
mov r15d, r14d
mov r10, r12
test rdi, rdi
je 0x1400216c9
mov r8, r10
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0xc0], rax
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0xb8], eax
mov dword [rbp + 0xbc], r12d
test r15d, r15d
js 0x1400216f7
mov eax, dword [rsp + 0x78]
cmp eax, dword [rbp + 0xb8]
je 0x1400216f7
mov r15d, 0xc000003e
bts r15d, 0x1c
mov dword [rsp + 0x60], r15d
mov rdi, qword [rbp + 0x88]
test rdi, rdi
je 0x140021721
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp + 0x1a0]
test r12, r12
je 0x1400217b5
mov rdi, qword [r12 + 8]
test rdi, rdi
je 0x140021754
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 8], r14
mov rdi, qword [r12 + 0x18]
test rdi, rdi
je 0x140021777
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x18], r14
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x14002179a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1a0], r14
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x1400217d2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x50]
test rdi, rdi
je 0x1400217ef
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp + 0x80]
test r12, r12
je 0x140021878
mov rdi, qword [r12 + 8]
test rdi, rdi
je 0x14002181e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 8], r14
mov rdi, qword [r12 + 0x18]
test rdi, rdi
je 0x140021841
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x18], r14
mov rdi, qword [r12 + 0x28]
test rdi, rdi
je 0x140021864
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x140021895
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14001ef82
mov r11d, 1
cmp dword [rbp + 0xb8], r11d
jae 0x1400218b8
mov r15d, 0xc004d501
jmp 0x14001ef7d
mov r10d, 0xc0000095
cmp qword [rbp + 0xc0], r14
jne 0x1400218d4
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140021943
cmp dword [rbp + 0xb8], r14d
jbe 0x1400218c7
mov rdi, qword [rbp + 0xc0]
mov rdx, r13
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdi
jb 0x14002191c
test ecx, ecx
mov dword [rbp + 0x1d0], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x398], rax
jmp 0x140021929
mov ecx, dword [rbp + 0x1d0]
mov rax, qword [rbp + 0x398]
test r15d, r15d
js 0x14001ef82
cmp ecx, 4
jne 0x14001f31e
mov eax, dword [rax]
mov dword [rbp + 0xb0], eax
test r15d, r15d
js 0x14001ef82
mov r15d, dword [rbp + 0xb0]
mov eax, 0x8007007a
cmp r15d, 0xd0000023
cmove r15d, eax
mov dword [rsp + 0x60], r15d
mov dword [rbp + 0xb0], r15d
cmp r15d, eax
je 0x14002197d
test r15d, r15d
js 0x14001ef82
cmp dword [rbp + 0xb8], 6
jne 0x1400218ad
cmp qword [rbp + 0xc0], r14
jne 0x1400219a3
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140021a53
mov rdx, qword [rbp + 0xc0]
mov r8d, r14d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021a2a
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rcx, rdi
jb 0x140021a2a
add r8d, r11d
cmp r8d, r11d
jb 0x1400219ad
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021a2a
test ecx, ecx
mov dword [rbp + 0x1d4], ecx
mov rax, r14
cmovne rax, rdi
mov qword [rbp + 0x3a0], rax
jmp 0x140021a37
mov ecx, dword [rbp + 0x1d4]
mov rax, qword [rbp + 0x3a0]
test r15d, r15d
js 0x14001ef82
cmp ecx, 8
jne 0x14001f31e
mov rax, qword [rax]
mov qword [rbp + 0x370], rax
test r15d, r15d
js 0x14001ef82
cmp qword [rbp + 0xc0], r14
jne 0x140021a75
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140021b24
mov rdx, qword [rbp + 0xc0]
mov r8d, r14d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021afd
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rcx, rdi
jb 0x140021afd
add r8d, r11d
cmp r8d, 2
jb 0x140021a7f
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021afd
test ecx, ecx
mov dword [rbp + 0x1e8], ecx
mov rax, r14
cmovne rax, rdi
mov qword [rbp + 0x3a8], rax
jmp 0x140021b0a
mov ecx, dword [rbp + 0x1e8]
mov rax, qword [rbp + 0x3a8]
test r15d, r15d
js 0x14001ef82
cmp ecx, 4
jne 0x14001f31e
mov eax, dword [rax]
mov dword [rbp + 0x1fc], eax
test r15d, r15d
js 0x14001ef82
cmp qword [rbp + 0xc0], r14
jne 0x140021b41
mov r15d, 0xc000000d
jmp 0x14001ef7d
mov rdx, qword [rbp + 0xc0]
mov r8d, r14d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021bcc
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rcx, rdi
jb 0x140021bcc
add r8d, r11d
cmp r8d, 3
jb 0x140021b4b
mov r8d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb r15d, r15d
and r15d, r10d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021bcc
test r8d, r8d
mov dword [rbp + 0x1ec], r8d
mov r9, r14
cmovne r9, rcx
mov qword [rbp + 0x3b0], r9
jmp 0x140021bda
mov r8d, dword [rbp + 0x1ec]
mov r9, qword [rbp + 0x3b0]
test r15d, r15d
js 0x14001ef82
mov rdx, qword [rbp + 0xc0]
mov r10d, r14d
mov r12d, 0xc0000095
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021c71
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rcx, rdi
jb 0x140021c71
add r10d, r11d
cmp r10d, 4
jb 0x140021bf3
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021c71
test ecx, ecx
mov dword [rbp + 0x1f0], ecx
mov rax, r14
cmovne rax, rdi
mov qword [rbp + 0x3b8], rax
jmp 0x140021c7e
mov ecx, dword [rbp + 0x1f0]
mov rax, qword [rbp + 0x3b8]
test r15d, r15d
js 0x140021c98
cmp ecx, 4
jne 0x14001f31e
mov r10d, dword [rax]
mov dword [rbp + 0x1f4], r10d
jmp 0x140021c9f
mov r10d, dword [rbp + 0x1f4]
test r15d, r15d
js 0x14001ef82
mov rdx, qword [rbp + 0xc0]
mov r11d, r14d
lea rax, [rdx + 4]
mov rdi, r13
cmp rax, rdx
cmovae rdi, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021d30
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rcx, rdi
jb 0x140021d30
inc r11d
cmp r11d, 5
jb 0x140021cb2
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb r15d, r15d
and r15d, r12d
mov dword [rsp + 0x60], r15d
cmp rax, rdx
jb 0x140021d30
test ecx, ecx
mov dword [rbp + 0x1f8], ecx
mov rax, r14
cmovne rax, rdi
mov qword [rbp + 0x3c0], rax
jmp 0x140021d3d
mov ecx, dword [rbp + 0x1f8]
mov rax, qword [rbp + 0x3c0]
test r15d, r15d
js 0x140021d55
cmp ecx, 4
jne 0x14001f31e
mov ecx, dword [rax]
mov dword [rbp + 0x17c], ecx
jmp 0x140021d5b
mov ecx, dword [rbp + 0x17c]
test r15d, r15d
js 0x14001ef82
mov rax, qword [rbp + 0x370]
cmp qword [rbp + 0x228], rax
jne 0x1400218ad
mov eax, dword [rbp + 0x1fc]
mov dword [rbp + 0x150], eax
mov dword [rbp + 0x108], r10d
mov dword [rbp + 0x9c], ecx
cmp r10d, 4
jbe 0x140021da2
mov r15d, 0x8007007a
jmp 0x14001ef7d
cmp r8d, 4
ja 0x140021d97
mov rcx, qword [rbp - 0x58]
mov rdx, r9
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12, qword [rbp - 0x80]
test r15d, r15d
js 0x14001ef86
cmp dword [rbp + 0xb0], r14d
cmovne r15d, dword [rbp + 0xb0]
jmp 0x14001ef11
mov rax, qword [0x1400b80e8]
call qword [case.0x14006779e.0]
mov edi, dword [0x1400bf310]
lea rcx, [rbp + 0x4c0]
xor edx, edx
mov qword [0x1400bf308], rax
mov dword [rbp + 0x60], edi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x88], r14
xor edx, edx
mov qword [rbp + 0x930], rax
lea rcx, [rbp + 0x9f8]
mov qword [rbp + 0x938], rax
mov qword [rbp - 0x60], r14
lea r12d, [rax + 1]
lea r8d, [rax + 0x2c]
mov dword [rbp + 0x180], r12d
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov qword [rbp + 0x70], r14
xor eax, eax
lock cmpxchg dword [0x1400bf618], r12d
jne 0x140021e40
mov eax, dword [0x1400bf614]
test eax, eax
jne 0x14002246d
mov dword [rbp], r14d
mov dword [rsp + 0x68], r14d
mov dword [rbp - 0x50], r14d
mov qword [rbp + 0x1a8], r14
mov qword [rbp + 0x310], r14
mov dword [rbp - 0x78], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x58], rax
test rax, rax
je 0x1400223c9
mov ebx, r14d
mov byte [rsp + 0x64], r14b
mov edi, 0x67
mov dword [rbp + 0x4c], r14d
mov r13d, r14d
mov dword [rbp + 0x2c], ebx
mov r12d, r14d
lea rsi, [rax + 7]
or ecx, 0xffffffff
lea r15, [0x1400917b2]
lea r14d, [rdi - 0x66]
movzx eax, byte [r15 - 1]
movzx r11d, byte [r15 - 2]
movzx r10d, byte [r15 + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 5]
or r10d, eax
xor r12d, r11d
movzx eax, byte [r15 - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 3]
shl r10d, 8
or r10d, eax
xor ebx, r10d
xor ebx, r12d
xor ebx, 0xac987321
lea eax, [rbx + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, ebx
rol eax, 0xa
add edx, eax
xor r12d, edx
lea eax, [r12 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r12d
rol eax, 2
sub edx, eax
xor ebx, edx
imul edx, ebx, 0x605e
mov eax, ebx
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r12d, edx
mov eax, r12d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor ebx, edx
mov edx, ebx
xor edx, 0xab69605e
sub eax, edx
xor r12d, eax
mov eax, r12d
mov r8d, r12d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor ebx, r8d
mov r8d, 0xab69605e
lea eax, [rbx + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, ebx
rol eax, 2
add edx, eax
xor r12d, edx
lea eax, [r12 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 8
sub edx, eax
xor ebx, edx
mov eax, ebx
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, ebx
ror eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r12d
shr eax, 0xa
xor edx, eax
xor ebx, edx
mov eax, ebx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r12d, eax
lea r9d, [r12 - 0x7f1]
xor r9d, ebx
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 r12d, edx
lea eax, [r12 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r12d
rol eax, 7
add edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, r9d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r12d, r8d
mov eax, r12d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 7
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r12d
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
imul edx, eax, 0x605e
mov eax, r9d
ror eax, 6
sub edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r8d
rol eax, 0xe
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xe
sub edx, eax
xor r8d, edx
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
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
xor r9d, ecx
mov dword [rbp + 0x2c], r9d
mov ecx, r10d
xor edx, eax
xor edx, r13d
mov r13d, r11d
xor r8d, edx
mov dword [rbp + 0x4c], r8d
mov byte [rsi - 4], r8b
mov al, byte [rbp + 0x2c]
ror dword [rbp + 0x4c], 8
mov byte [rsi], al
lea rsi, [rsi + 8]
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x4c]
mov byte [rsi - 0xd], al
mov al, byte [rbp + 0x2c]
ror dword [rbp + 0x4c], 8
mov byte [rsi - 9], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x4c]
mov byte [rsi - 0xe], al
ror dword [rbp + 0x4c], 8
mov al, byte [rbp + 0x2c]
mov byte [rsi - 0xa], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x4c]
mov byte [rsi - 0xf], al
mov al, byte [rbp + 0x2c]
mov byte [rsi - 0xb], al
mov r12d, dword [rbp + 0x4c]
mov ebx, dword [rbp + 0x2c]
ror r12d, 8
ror ebx, 8
mov dword [rbp + 0x4c], r12d
mov dword [rbp + 0x2c], ebx
sub rdi, r14
jne 0x140021eca
mov cl, byte [rsp + 0x64]
xor r14d, r14d
mov edi, dword [rbp + 0x60]
mov eax, r14d
mov r15d, dword [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov r12, qword [rbp - 0x58]
movabs rsi, 0x7f1137fab69605e
lea edx, [r14 + 1]
or r13, 0xffffffffffffffff
mov r8d, 0x338
xor cl, byte [rax + r12]
add rax, rdx
cmp rax, r8
jb 0x140022216
movzx eax, cl
cmp rax, qword [0x140091ae8]
je 0x140022237
mov dword [rbp - 0x78], 0xc004d501
jmp 0x140022248
mov qword [rbp + 0x1a8], r12
mov r12, r14
mov qword [rbp + 0x310], r8
test r12, r12
je 0x140022261
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [rbp - 0x78], r14d
jl 0x1400223c9
mov rax, qword [rbp + 0x310]
lea rcx, [0x1400bf320]
mov r12, qword [rbp + 0x1a8]
xor edx, edx
lea r8d, [rdx + 0x60]
mov byte [rax + r12 - 1], r14b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r12], r14b
je 0x1400223c2
mov rdx, r12
mov rax, r13
inc rax
cmp word [r12 + rax*2], r14w
jne 0x1400222a0
lea r12, [r12 + rax*2]
mov eax, dword [rbp - 0x50]
lea rcx, [rax + rax*2]
lea rax, [0x1400bf320]
lea r8, [rax + rcx*8]
xor ecx, ecx
mov qword [rbp - 0x48], r8
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400223c9
mov r8, qword [rbp - 0x48]
mov edx, 0x5a4d
mov ecx, r14d
mov dword [rsp + 0x68], ecx
mov rax, qword [r8]
cmp word [rax], dx
je 0x1400222f7
mov ecx, 0xc000007b
mov dword [rsp + 0x68], ecx
jmp 0x140022346
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x1400222ec
add rdx, qword [r8]
cmp rdx, qword [r8]
jb 0x1400222ec
cmp dword [rdx], 0x4550
jne 0x1400222ec
movzx eax, word [rdx + 0x18]
mov r9d, 0x10b
sub ax, r9w
mov r9d, 0xfeff
test r9w, ax
je 0x140022334
mov ecx, 0xc000000d
jmp 0x1400222f1
mov rax, qword [rdx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r12 + 2]
mov edx, r14d
add r12, 6
mov dword [rsp + 0x78], eax
mov dword [rbp - 0x78], edx
test eax, eax
je 0x1400223b5
mov r9, r12
mov rax, r13
inc rax
cmp byte [r12 + rax], r14b
jne 0x140022363
inc r12
add r12, rax
test ecx, ecx
js 0x1400223a0
mov rcx, qword [r8]
mov rdx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400223c2
mov ecx, dword [rbp]
lea rdx, [0x1400b8050]
mov r8, qword [rbp - 0x48]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x68]
mov edx, dword [rbp - 0x78]
mov eax, 1
add dword [rbp], eax
add edx, eax
mov dword [rbp - 0x78], edx
cmp edx, dword [rsp + 0x78]
jb 0x14002235d
jmp 0x1400223ba
mov eax, 1
add dword [rbp - 0x50], eax
jmp 0x140022290
mov r12d, dword [rsp + 0x68]
jmp 0x1400223cf
mov r12d, 0xc000007a
cmp qword [rbp + 0x1a8], r14
je 0x1400223f0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1a8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
jns 0x140022461
mov eax, 4
lea r12, [0x1400bf320]
mov qword [rbp - 0x48], rax
lea ecx, [rax - 3]
cmp qword [r12], r14
je 0x140022421
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [rbp - 0x48]
mov ecx, 1
add r12, 0x18
sub rax, rcx
mov qword [rbp - 0x48], rax
jne 0x140022408
xor edx, edx
lea rcx, [0x1400bf320]
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400747e0]
lea rcx, [0x1400b8050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12d, 1
jmp 0x140022476
mov eax, dword [0x1400bf614]
mov r12d, 1
add eax, r12d
mov dword [0x1400bf614], eax
xor ecx, ecx
mov dword [rsp + 0x70], r14d
mov eax, r14d
mov dword [rbp - 0x40], r14d
xchg dword [0x1400bf618], eax
xor eax, eax
mov dword [rbp + 0xe40], ecx
mov qword [rbp + 0x2e8], rax
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x2f8], rax
mov qword [rbp + 0x9b0], rax
mov qword [rbp + 0x9b8], rax
mov word [rbp + 0xe44], cx
mov qword [rbp + 0x218], r14
xor eax, eax
lock cmpxchg dword [0x1400bf618], r12d
jne 0x1400224c3
mov eax, dword [0x1400bf614]
test eax, eax
jne 0x140022ae9
mov dword [rbp], r14d
mov dword [rsp + 0x68], r14d
mov dword [rbp - 0x50], r14d
mov qword [rbp + 0x1b0], r14
mov qword [rbp + 0x318], r14
mov dword [rbp - 0x78], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140022a4b
mov edi, 0x67
mov byte [rsp + 0x64], r14b
mov r13d, r14d
mov dword [rbp + 0x30], r14d
mov esi, r14d
mov dword [rbp + 0x50], r14d
mov r12d, r14d
lea rbx, [rax + 7]
lea r14d, [rdi - 0x66]
or ecx, 0xffffffff
lea r15, [0x1400917b2]
movzx eax, byte [r15 - 1]
movzx r11d, byte [r15 - 2]
movzx r10d, byte [r15 + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 5]
or r10d, eax
xor r12d, r11d
movzx eax, byte [r15 - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 3]
shl r10d, 8
or r10d, eax
xor esi, r10d
xor esi, r12d
xor esi, 0xac987321
lea eax, [rsi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
xor r12d, edx
lea eax, [r12 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r12d
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r12d, edx
mov eax, r12d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
xor r12d, eax
mov eax, r12d
mov r8d, r12d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor esi, r8d
mov r8d, 0xab69605e
lea eax, [rsi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
xor r12d, edx
lea eax, [r12 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r12d
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 r12d, eax
lea r9d, [r12 - 0x7f1]
xor r9d, esi
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 r12d, edx
lea eax, [r12 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r12d
rol eax, 7
add edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, r9d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r12d, r8d
mov eax, r12d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r12d
rol eax, 7
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r12d
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
imul edx, eax, 0x605e
mov eax, r9d
ror eax, 6
sub edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r8d
rol eax, 0xe
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xe
sub edx, eax
xor r8d, edx
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
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
xor r9d, ecx
mov dword [rbp + 0x30], r9d
mov ecx, r10d
xor edx, eax
xor edx, r8d
xor edx, r13d
mov r13d, r11d
mov dword [rbp + 0x50], edx
mov byte [rbx - 4], dl
mov al, byte [rbp + 0x30]
ror dword [rbp + 0x50], 8
mov byte [rbx], al
lea rbx, [rbx + 8]
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x50]
mov byte [rbx - 0xd], al
mov al, byte [rbp + 0x30]
ror dword [rbp + 0x50], 8
mov byte [rbx - 9], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x50]
mov byte [rbx - 0xe], al
ror dword [rbp + 0x50], 8
mov al, byte [rbp + 0x30]
mov byte [rbx - 0xa], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x50]
mov byte [rbx - 0xf], al
mov al, byte [rbp + 0x30]
mov byte [rbx - 0xb], al
mov r12d, dword [rbp + 0x50]
mov esi, dword [rbp + 0x30]
ror r12d, 8
ror esi, 8
mov dword [rbp + 0x50], r12d
mov dword [rbp + 0x30], esi
sub rdi, r14
jne 0x14002254e
mov cl, byte [rsp + 0x64]
xor r14d, r14d
mov edi, dword [rbp + 0x60]
mov eax, r14d
mov r15d, dword [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov r12, qword [rbp - 0x58]
movabs rsi, 0x7f1137fab69605e
lea edx, [r14 + 1]
or r13, 0xffffffffffffffff
mov r8d, 0x338
xor cl, byte [rax + r12]
add rax, rdx
cmp rax, r8
jb 0x140022898
movzx eax, cl
cmp rax, qword [0x140091ae8]
je 0x1400228b9
mov dword [rbp - 0x78], 0xc004d501
jmp 0x1400228ca
mov qword [rbp + 0x1b0], r12
mov r12, r14
mov qword [rbp + 0x318], r8
test r12, r12
je 0x1400228e3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [rbp - 0x78], r14d
jl 0x140022a4b
mov rax, qword [rbp + 0x318]
lea rcx, [0x1400bf320]
mov r12, qword [rbp + 0x1b0]
xor edx, edx
lea r8d, [rdx + 0x60]
mov byte [rax + r12 - 1], r14b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp byte [r12], r14b
je 0x140022a44
mov rdx, r12
mov rax, r13
inc rax
cmp word [r12 + rax*2], r14w
jne 0x140022922
lea r12, [r12 + rax*2]
mov eax, dword [rbp - 0x50]
lea rcx, [rax + rax*2]
lea rax, [0x1400bf320]
lea r8, [rax + rcx*8]
xor ecx, ecx
mov qword [rbp - 0x48], r8
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x140022a4b
mov r8, qword [rbp - 0x48]
mov edx, 0x5a4d
mov ecx, r14d
mov dword [rsp + 0x68], ecx
mov rax, qword [r8]
cmp word [rax], dx
je 0x140022979
mov ecx, 0xc000007b
mov dword [rsp + 0x68], ecx
jmp 0x1400229c8
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x14002296e
add rdx, qword [r8]
cmp rdx, qword [r8]
jb 0x14002296e
cmp dword [rdx], 0x4550
jne 0x14002296e
movzx eax, word [rdx + 0x18]
mov r9d, 0x10b
sub ax, r9w
mov r9d, 0xfeff
test r9w, ax
je 0x1400229b6
mov ecx, 0xc000000d
jmp 0x140022973
mov rax, qword [rdx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r12 + 2]
mov edx, r14d
add r12, 6
mov dword [rsp + 0x78], eax
mov dword [rbp - 0x78], edx
test eax, eax
je 0x140022a37
mov r9, r12
mov rax, r13
inc rax
cmp byte [r12 + rax], r14b
jne 0x1400229e5
inc r12
add r12, rax
test ecx, ecx
js 0x140022a22
mov rcx, qword [r8]
mov rdx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140022a44
mov ecx, dword [rbp]
lea rdx, [0x1400b8050]
mov r8, qword [rbp - 0x48]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x68]
mov edx, dword [rbp - 0x78]
mov eax, 1
add dword [rbp], eax
add edx, eax
mov dword [rbp - 0x78], edx
cmp edx, dword [rsp + 0x78]
jb 0x1400229df
jmp 0x140022a3c
mov eax, 1
add dword [rbp - 0x50], eax
jmp 0x140022912
mov r12d, dword [rsp + 0x68]
jmp 0x140022a51
mov r12d, 0xc000007a
cmp qword [rbp + 0x1b0], r14
je 0x140022a72
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1b0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
jns 0x140022add
mov eax, 4
lea r12, [0x1400bf320]
mov qword [rbp - 0x48], rax
lea ecx, [rax - 3]
cmp qword [r12], r14
je 0x140022aa3
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [rbp - 0x48]
mov ecx, 1
add r12, 0x18
sub rax, rcx
mov qword [rbp - 0x48], rax
jne 0x140022a8a
xor edx, edx
lea rcx, [0x1400bf320]
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400747e0]
lea rcx, [0x1400b8050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140022af2
mov eax, dword [0x1400bf614]
mov r12d, 1
add eax, r12d
mov dword [0x1400bf614], eax
xor edx, edx
lea rcx, [rbp + 0x4c0]
mov eax, r14d
xchg dword [0x1400bf618], eax
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov ecx, SafeArrayGetDim
mov qword [rbp + 0x930], rax
xor edx, edx
mov eax, edi
mov r8d, 0x403
and eax, ecx
mov dword [rsp + 0x68], eax
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xe40], ax
mov eax, edi
shr eax, 8
and ax, cx
shr edi, 0xc
and di, cx
mov word [rbp + 0xe42], ax
mov rax, qword [0x1400b8148]
xor ecx, ecx
mov word [rbp + 0xe44], di
call qword [case.0x14006779e.0]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x6c], 0xffffff
test rax, rax
jne 0x140022ba1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002404d
mov r12d, 0x80004005
jmp 0x14002404d
mov rax, qword [0x1400b80f0]
lea r9, [rbp + 0xcc]
xor r8d, r8d
mov qword [rbp + 0x220], r14
lea rdx, [rbp + 0xa0]
mov qword [rbp + 0x1b8], r14
mov qword [rbp + 0x280], r14
mov r12d, r14d
mov qword [rbp + 0xa8], r14
lea ecx, [r8 + 8]
mov qword [rbp + 0x138], r14
mov qword [rbp + 0xf0], r14
mov dword [rbp + 0xcc], r14d
call qword [case.0x14006779e.0]
test eax, eax
jne 0x140022c26
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140022d87
mov r12d, 0x80004005
jmp 0x140022d87
mov edi, dword [rbp + 0xcc]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0x138]
mov rdi, rax
call fcn.140048504
test rdi, rdi
jne 0x140022c69
mov qword [rbp + 0x138], r14
mov r12d, 0x8007000e
jmp 0x140022d87
mov qword [rbp + 0x138], rdi
mov edi, dword [rbp + 0xa0]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xf0]
mov rdi, rax
call fcn.140048504
test rdi, rdi
jne 0x140022caf
mov r12d, 0x8007000e
jmp 0x140022d80
mov r8, qword [rbp + 0x138]
lea r9, [rbp + 0xcc]
mov rax, qword [0x1400b80f0]
lea rdx, [rbp + 0xa0]
mov ecx, 8
mov qword [rbp + 0xf0], rdi
call qword [case.0x14006779e.0]
test eax, eax
je 0x140022bfb
mov rdi, qword [rbp + 0x138]
mov rax, qword [rbp + 0xf0]
cmp dword [rbp + 0xa0], r14d
jbe 0x140022d61
mov rbx, rax
mov esi, r14d
mov r15d, 1
mov rax, qword [0x1400b8100]
xor edx, edx
mov rcx, rdi
call qword [case.0x14006779e.0]
mov dword [rbx], eax
mov rax, r13
inc rax
cmp word [rdi + rax*2], r14w
jne 0x140022d1f
lea rdi, [rdi + rax*2]
add rbx, 4
add rdi, 2
add esi, r15d
cmp esi, dword [rbp + 0xa0]
jb 0x140022d08
mov r15d, dword [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
mov qword [rbp + 8], rbx
movabs rbx, 0xc81ecb17b1b54a58
mov rax, qword [rbp + 8]
mov dword [rax], 0x409
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x220], rax
mov eax, dword [rbp + 0xa0]
inc eax
mov dword [rbp - 0x78], eax
mov qword [rbp + 0xf0], r14
lea rcx, [rbp + 0xf0]
call fcn.140048504
lea rcx, [rbp + 0x138]
call fcn.140048504
test r12d, r12d
js 0x140023519
lea r11, [0x140091710]
mov r10d, r14d
mov r9d, r14d
mov dword [rbp + 0x60], r14d
cmp dword [rbp - 0x78], r14d
jbe 0x140022dfc
mov rax, qword [rbp + 0x220]
mov r8, r14
mov edx, r14d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x140022df6
mov ecx, 1
add rdi, 4
add edx, ecx
cmp edx, 0x26
jb 0x140022dcf
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x78]
jae 0x140022dfc
jmp 0x140022dc9
mov r10d, edx
mov dword [rbp + 0x60], edx
mov rax, qword [0x1400b80f8]
lea rdx, [rbp + 0xe50]
mov edi, r10d
xor r9d, r9d
mov dword [rbp + 0x78], r14d
mov ecx, dword [r11 + rdi*4]
lea r8d, [r9 + 0x55]
call qword [case.0x14006779e.0]
test eax, eax
je 0x140022e69
mov rax, qword [0x1400b80e0]
lea r8, [rbp + 0xc30]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0xe50]
lea edx, [r9 + 0x48]
call qword [case.0x14006779e.0]
mov r9d, 1
test eax, eax
jle 0x140022e6f
mov r12d, dword [rbp + 0xc3c]
shr r12d, 0x1b
and r12d, r9d
mov dword [rbp + 0x78], r12d
jmp 0x140022e6f
mov r9d, 1
lea rcx, str.Segoe_UI_Light
mov r8d, SafeArrayGetElement
lea rdx, [rbp + 0xda0]
mov qword [rdx], rcx
mov rax, r13
inc rax
cmp word [rcx + rax*2], r14w
jne 0x140022e89
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub r8, r9
jne 0x140022e83
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x91690]
mov rax, qword [rbp + rax*8 + 0xda0]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x2e8], rax
movzx eax, byte [rcx + rdx + 0x91691]
mov rax, qword [rbp + rax*8 + 0xda0]
mov qword [rbp - 0x18], rax
mov qword [rbp + 0x2f0], rax
movzx eax, byte [rcx + rdx + 0x91692]
mov rdi, qword [rbp + rax*8 + 0xda0]
mov qword [rbp - 0x70], rdi
mov qword [rbp + 0x2f8], rdi
mov r12d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x1c90
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 8], rax
test rax, rax
jne 0x140022f31
mov r12d, 0x8007000e
jmp 0x14002353d
mov ecx, r14d
mov dword [rbp + 0x54], r14d
mov r10d, r14d
mov dword [rbp + 0x34], ecx
mov r11d, r14d
lea rbx, [rax + 7]
or r13d, 0xffffffff
lea rsi, [0x14008f712]
mov r15d, 0x392
mov r14d, 1
movzx eax, byte [rsi - 1]
movzx r9d, byte [rsi - 2]
movzx r8d, byte [rsi + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [rsi - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rsi - 3]
shl r8d, 8
or r8d, eax
mov edi, r8d
xor edi, ecx
xor edi, r10d
xor edi, 0xac987321
lea eax, [rdi + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, edi
rol eax, 0xa
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 2
sub ecx, eax
xor edi, ecx
imul ecx, edi, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov edx, r10d
xor eax, 0x137f
ror edx, 6
imul ecx, eax, 0xab69
xor edx, ecx
xor edi, edx
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, edi
rol eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov eax, edi
mov edx, 0xab69605e
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xa
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor ecx, edi
mov eax, ecx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea edi, [r10 - 0x7f1]
xor edi, ecx
xor edi, edx
mov eax, edi
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, edi
shr eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 7
add ecx, eax
xor edi, ecx
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 9
imul ecx, eax, 0x605e
add edx, ecx
xor r10d, edx
mov eax, r10d
xor eax, 0xab69
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 7
add ecx, eax
xor edi, ecx
mov edx, edi
xor edx, r10d
xor edx, 0xac987321
mov eax, edx
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor edi, ecx
lea eax, [rdi - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, edi
ror eax, 6
sub ecx, eax
xor edx, ecx
lea eax, [rdx - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, edx
rol eax, 0xe
add ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xe
sub ecx, eax
xor edx, ecx
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
imul ecx, eax, 0x605e
mov eax, edi
rol eax, 2
xor edi, r13d
mov dword [rbp + 0x34], edi
mov r13d, r8d
xor ecx, eax
xor ecx, r11d
mov r11d, r9d
xor edx, ecx
mov dword [rbp + 0x54], edx
mov byte [rbx - 4], dl
mov al, byte [rbp + 0x34]
ror dword [rbp + 0x54], 8
mov byte [rbx], al
lea rbx, [rbx + 8]
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x54]
mov byte [rbx - 0xd], al
mov al, byte [rbp + 0x34]
ror dword [rbp + 0x54], 8
mov byte [rbx - 9], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x54]
mov byte [rbx - 0xe], al
ror dword [rbp + 0x54], 8
mov al, byte [rbp + 0x34]
mov byte [rbx - 0xa], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x54]
mov byte [rbx - 0xf], al
mov al, byte [rbp + 0x34]
mov byte [rbx - 0xb], al
mov r10d, dword [rbp + 0x54]
mov ecx, dword [rbp + 0x34]
ror r10d, 8
ror ecx, 8
mov dword [rbp + 0x54], r10d
mov dword [rbp + 0x34], ecx
sub r15, r14
jne 0x140022f5c
mov r15d, dword [rsp + 0x60]
xor r14d, r14d
mov r11, qword [rbp + 8]
mov eax, r14d
or r13, 0xffffffffffffffff
xorps xmm1, xmm1
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r11]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rcx
jb 0x140023272
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 [0x1400913a0]
je 0x1400232d1
mov r12d, 0xc004d501
jmp 0x1400232e6
mov qword [rbp + 0x1b8], r11
mov r11, r14
mov qword [rbp + 8], r14
mov qword [rbp + 0x280], rcx
test r11, r11
je 0x140023300
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x14002353d
mov rdx, qword [rbp + 0x1b8]
lea rdi, [rbp + 0xd70]
mov r9d, dword [rbp + 0x60]
mov r8d, 6
mov ecx, r14d
cmp r9d, ecx
jne 0x14002332c
mov qword [rdi], rdx
mov rax, r13
inc rax
cmp byte [rdx + rax], r14b
jne 0x14002332f
inc rax
add rdx, rax
mov eax, 1
add ecx, eax
cmp ecx, 0x26
jb 0x140023324
add rdi, 8
sub r8, rax
jne 0x140023321
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xa8]
mov rdi, rax
call fcn.140048504
mov r9d, 1
test rdi, rdi
jne 0x140023394
mov qword [rbp + 0xa8], r14
mov r12d, 0x8007000e
jmp 0x140023543
mov qword [rbp + 0xa8], rdi
lea rcx, [rbp + 0xe40]
xor eax, eax
mov qword [rbp + 8], r14
mov qword [rdi], rax
mov edx, r14d
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov rdi, r14
mov dword [rbp - 0x78], edx
mov qword [rbp - 0x48], rcx
movzx r8d, word [rcx]
lea rcx, [0x140091af0]
mov eax, r14d
cmp r8w, word [rcx]
je 0x1400233e5
add eax, r9d
add rcx, 2
cmp eax, 6
jb 0x1400233ce
jmp 0x1400234b2
mov rcx, qword [rbp + rax*8 + 0xd70]
mov rax, r13
mov qword [rbp - 0x58], rcx
inc rax
cmp byte [rcx + rax], r14b
jne 0x1400233f4
add r9d, eax
mov dword [rsp + 0x28], r14d
mov rax, qword [0x1400b8110]
mov r8, rcx
mov ecx, 0xfde9
mov qword [rsp + 0x20], r14
xor edx, edx
call qword [case.0x14006779e.0]
mov dword [rsp + 0x78], eax
test eax, eax
je 0x1400234f5
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbp + 0xa8]
mov rdi, qword [rbp + 8]
mov qword [rdi + rcx], rax
mov rcx, qword [rbp + 0xa8]
cmp qword [rdi + rcx], r14
je 0x140022f26
mov r8, qword [rbp - 0x58]
mov rax, r13
inc rax
cmp byte [r8 + rax], r14b
jne 0x14002346e
mov edx, dword [rsp + 0x78]
mov r9d, 1
mov dword [rsp + 0x28], edx
add r9d, eax
mov rdx, qword [rdi + rcx]
mov ecx, 0xfde9
mov rax, qword [0x1400b8110]
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [case.0x14006779e.0]
test eax, eax
je 0x1400234f5
mov edx, dword [rbp - 0x78]
mov r9d, 1
mov rcx, qword [rbp - 0x48]
add edx, r9d
add rcx, 2
mov dword [rbp - 0x78], edx
add rdi, 8
mov qword [rbp - 0x48], rcx
mov qword [rbp + 8], rdi
cmp edx, 3
jb 0x1400233c0
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x218], rax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x4c0], eax
mov qword [rbp + 0xa8], r14
jmp 0x140023543
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002353d
mov r12d, 0x80004005
jmp 0x14002353d
mov rax, qword [rbp + 0x2f8]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x2e8]
mov qword [rbp + 0x80], rax
mov r9d, 1
cmp qword [rbp + 0xa8], r14
je 0x1400235ca
mov eax, 3
mov rsi, r14
mov qword [rbp - 0x48], rax
mov rcx, qword [rbp + 0xa8]
cmp qword [rsi + rcx], r14
je 0x1400235b3
test rcx, rcx
jne 0x14002356d
mov rcx, r14
mov rdi, qword [rsi + rcx]
mov rcx, r13
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140023574
xor eax, eax
lea rcx, [rcx*2 + 2]
rep stosb byte [rdi], al
mov rax, qword [rbp + 0xa8]
mov rdi, qword [rsi + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp - 0x48]
mov r9d, 1
add rsi, 8
sub rax, r9
mov qword [rbp - 0x48], rax
jne 0x140023558
movabs rsi, 0x7f1137fab69605e
mov rdi, qword [rbp + 0x1b8]
test rdi, rdi
je 0x1400235e1
mov rcx, qword [rbp + 0x280]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0xa8]
call fcn.140048504
lea rcx, [rbp + 0x1b8]
call fcn.140048504
lea rcx, [rbp + 0x220]
call fcn.140048504
test r12d, r12d
js 0x14002403a
mov rax, qword [rbp + 0x218]
lea r8, [rbp + 0x320]
xor r9d, r9d
xor edx, edx
mov edi, r14d
mov r12d, r14d
mov rcx, qword [rax]
mov qword [rbp + 0x4c8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x4d0], rcx
mov rcx, qword [rax + 0x10]
xor eax, eax
mov qword [rbp + 0x320], rax
mov qword [rbp + 0x4d8], rcx
mov qword [rbp + 0x328], rax
lea ecx, [rax + 0x42]
mov dword [rbp + 0x320], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rax, qword [0x1400b81b8]
call qword [case.0x14006779e.0]
test eax, eax
jne 0x140023699
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400236a2
mov r12d, 0x80004005
jmp 0x1400236a2
mov edi, dword [rbp + 0x324]
and edi, 1
mov dword [rbp + 0x4c4], edi
test r12d, r12d
js 0x14002403a
mov r12d, dword [rsp + 0x68]
mov eax, reloc.OLEAUT32.dll_SafeArrayCreateVectorEx
mov ecx, r12d
mov dword [rbp - 0x50], eax
sub ecx, 1
je 0x1400236eb
sub ecx, 1
je 0x1400236da
cmp ecx, 1
jne 0x1400236f6
mov eax, 0xe1
mov dword [rbp - 0x40], eax
jmp 0x1400236f2
mov dword [rsp + 0x70], SafeArrayGetDim
mov dword [rbp - 0x40], SafeArrayGetDim
jmp 0x1400236f6
mov dword [rbp - 0x40], SafeArrayGetDim
mov dword [rsp + 0x70], eax
mov edi, 0x60
lea rcx, [rbp + 0xc50]
xor edx, edx
mov dword [rbp - 0x28], edi
lea r8d, [rdi + 0x7c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
lea eax, [rdi + 0x7c]
or edx, 0xffffffff
mov word [rbp + 0xc94], ax
lea r8, [rbp + 0xc50]
mov rax, qword [0x1400b8130]
xor ecx, ecx
call qword [case.0x14006779e.0]
test eax, eax
je 0x14002376b
mov eax, dword [rbp + 0xcfc]
movzx edi, word [rbp + 0xcf6]
and qword [rbp + 0x9b0], 0
mov dword [rbp + 0x9b8], eax
mov eax, dword [rbp + 0xd00]
mov dword [rbp + 0x9bc], eax
mov eax, 0x60
cmp edi, eax
cmovb edi, eax
mov dword [rbp - 0x28], edi
mov eax, 1
lea rcx, [rbp + 0xb10]
cmp r12d, eax
mov rax, qword [rbp - 0x70]
cmove rax, qword [rbp + 0x80]
xor edx, edx
mov qword [rbp - 0x70], rax
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400b8148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r12d, r14d
call qword [case.0x14006779e.0]
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x1400237e3
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002403a
mov r12d, 0x80004005
jmp 0x14002403a
mov ecx, dword [rsp + 0x70]
mov r8d, 0x48
mov rax, qword [0x1400b8108]
mov edx, edi
call qword [case.0x14006779e.0]
mov r8, qword [rbp - 0x70]
lea rcx, [rbp + 0xb2c]
neg eax
mov dword [rbp + 0xb20], 0x190
mov edx, 0x20
mov dword [rbp + 0xb10], eax
mov byte [rbp + 0xb2a], 5
call fcn.140007360
mov rax, qword [0x1400b8070]
lea rcx, [rbp + 0xb10]
call qword [case.0x14006779e.0]
test rax, rax
jne 0x140023867
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002386e
mov r12d, 0x80004005
jmp 0x14002386e
mov qword [rbp + 0x4e0], rax
mov rdx, qword [rbp - 0x58]
xor ecx, ecx
mov rax, qword [0x1400b81b0]
call qword [case.0x14006779e.0]
test r12d, r12d
js 0x14002403a
xor edx, edx
lea rcx, [rbp + 0xb70]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400b8148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r12d, r14d
call qword [case.0x14006779e.0]
mov qword [rbp - 0x58], rax
test rax, rax
je 0x1400237b8
mov ecx, dword [rbp - 0x40]
mov r8d, 0x48
mov rax, qword [0x1400b8108]
mov edx, edi
call qword [case.0x14006779e.0]
mov r8, qword [rbp - 0x70]
lea rcx, [rbp + 0xb8c]
neg eax
mov dword [rbp + 0xb80], 0x190
mov edx, 0x20
mov dword [rbp + 0xb70], eax
mov byte [rbp + 0xb8a], 5
call fcn.140007360
mov rax, qword [0x1400b8070]
lea rcx, [rbp + 0xb70]
call qword [case.0x14006779e.0]
test rax, rax
jne 0x140023946
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002394d
mov r12d, 0x80004005
jmp 0x14002394d
mov qword [rbp + 0x4e8], rax
mov rdx, qword [rbp - 0x58]
xor ecx, ecx
mov rax, qword [0x1400b81b0]
call qword [case.0x14006779e.0]
test r12d, r12d
js 0x14002403a
mov r8d, dword [rsp + 0x68]
mov ecx, r14d
mov edx, r8d
mov edi, r14d
sub edx, 1
je 0x140023986
sub edx, 1
je 0x1400239be
cmp edx, 1
jne 0x140023992
mov ecx, dword [rbp + 0x9b8]
mov edi, dword [rbp + 0x9bc]
mov dword [rbp + 0x938], ecx
mov dword [rbp + 0x93c], edi
mov edx, 1
cmp r8d, edx
je 0x1400239f1
lea eax, [r8 - 2]
cmp eax, edx
ja 0x1400239d0
mov edx, r14d
mov dword [rbp - 0x50], r14d
mov dword [rsp + 0x70], r14d
jmp 0x1400239fe
mov eax, dword [rbp + 0x9b8]
cdq
and edx, 3
lea ecx, [rdx + rax]
sar ecx, 2
jmp 0x140023992
mov eax, dword [rbp + 0xc8]
mov edx, dword [rbp + 0xc8]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0xc8]
mov dword [rbp - 0x50], eax
mov eax, dword [rbp + 0xc8]
jmp 0x140023a01
mov edx, reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rsp + 0x70], 0x20
mov eax, r14d
mov dword [rbp - 0x40], edx
mov dword [rbp], eax
mov rdi, qword [rbp + 0x4c8]
sub ecx, edx
mov rdx, qword [rbp + 0x4e0]
sub ecx, eax
mov rax, qword [0x1400b80c8]
mov r12d, r14d
mov dword [rsp + 0x78], ecx
mov dword [rbp + 0x514], ecx
mov dword [rbp + 0x504], ecx
mov rcx, qword [rbp - 0x80]
call qword [case.0x14006779e.0]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rbp - 0x80]
lea r9, [rbp + 0x4fc]
mov qword [rbp - 0x58], rax
mov rcx, rdi
mov rax, qword [fcn.140006c20]
mov r8d, r13d
mov dword [rsp + 0x20], 0xc50
call qword [case.0x14006779e.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x140023a96
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
test r12d, r12d
js 0x14002403a
mov rdx, qword [rbp + 0x4e8]
mov r12d, r14d
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400b80c8]
mov rdi, qword [rbp + 0x4d0]
call qword [case.0x14006779e.0]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rbp - 0x80]
lea r9, [rbp + 0x50c]
mov qword [rbp - 0x58], rax
mov rcx, rdi
mov rax, qword [fcn.140006c20]
mov r8d, r13d
mov dword [rsp + 0x20], 0xc50
call qword [case.0x14006779e.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x140023b1a
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
test r12d, r12d
js 0x14002403a
mov eax, dword [rsp + 0x68]
mov edx, 1
mov ecx, dword [rbp + 0x504]
add eax, 0xfffffffe
cmp eax, edx
ja 0x140023b46
mov edi, dword [rbp + 0x514]
cmp ecx, edi
cmovg edi, ecx
jmp 0x140023b4a
mov edi, dword [rsp + 0x78]
mov r8d, dword [rbp - 0x50]
mov rax, qword [fcn.140006c20]
cmp dword [rbp + 0x4c0], r14d
je 0x140023b83
mov r12d, dword [rbp]
mov edx, r12d
sub edx, ecx
lea rcx, [rbp + 0x4fc]
add edx, edi
call qword [case.0x14006779e.0]
sub r12d, dword [rbp + 0x514]
lea edx, [rdi + r12]
jmp 0x140023b96
mov edx, dword [rbp - 0x40]
lea rcx, [rbp + 0x4fc]
call qword [case.0x14006779e.0]
mov edx, dword [rbp - 0x40]
mov r8d, dword [rsp + 0x70]
lea rcx, [rbp + 0x50c]
add r8d, dword [rbp + 0x508]
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov ecx, dword [rsp + 0x68]
mov edx, 1
lea eax, [rcx - 2]
cmp eax, edx
jbe 0x140023e4a
cmp ecx, edx
jne 0x140023e66
xor edx, edx
mov dword [rbp + 0x4f8], 0xffffff
lea rcx, [rbp + 0xbd0]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400b8148]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r12d, r14d
call qword [case.0x14006779e.0]
mov qword [rbp - 0x58], rax
test rax, rax
je 0x1400237b8
mov edx, dword [rbp - 0x28]
mov r8d, 0x48
mov rax, qword [0x1400b8108]
lea ecx, [r8 - 0x3d]
call qword [case.0x14006779e.0]
mov r8, qword [rbp - 0x18]
lea rcx, [rbp + 0xbec]
neg eax
mov dword [rbp + 0xbe0], 0x190
mov edx, 0x20
mov dword [rbp + 0xbd0], eax
mov byte [rbp + 0xbea], 5
call fcn.140007360
mov rax, qword [0x1400b8070]
lea rcx, [rbp + 0xbd0]
call qword [case.0x14006779e.0]
test rax, rax
jne 0x140023c9a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140023ca1
mov r12d, 0x80004005
jmp 0x140023ca1
mov qword [rbp + 0x4f0], rax
mov rdx, qword [rbp - 0x58]
xor ecx, ecx
mov rax, qword [0x1400b81b0]
call qword [case.0x14006779e.0]
test r12d, r12d
js 0x14002403a
mov rdx, qword [rbp + 0x4f0]
mov r12d, r14d
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400b80c8]
mov dword [rbp + 0x524], edi
mov rdi, qword [rbp + 0x4d8]
call qword [case.0x14006779e.0]
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rdi, qword [rbp - 0x80]
lea r9, [rbp + 0x51c]
mov qword [rbp - 0x58], rax
mov rcx, rdi
mov rax, qword [fcn.140006c20]
mov r8d, r13d
mov dword [rsp + 0x20], 0x460
call qword [case.0x14006779e.0]
test eax, eax
mov eax, 0x80004005
cmove r12d, eax
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x140023d3e
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
test r12d, r12d
js 0x14002403a
mov eax, dword [rbp + 0x524]
mov ecx, 0x5a
mov edi, dword [rbp - 0x28]
add eax, 0x18
cmp eax, ecx
mov edx, edi
cmovl eax, ecx
lea r12d, [rcx + 6]
mov dword [rbp + 0x524], eax
mov r8d, r12d
lea eax, [rcx - 0x3a]
mov ecx, dword [rbp + 0x51c]
mov dword [rbp + 0x528], eax
mov rax, qword [0x1400b8108]
call qword [case.0x14006779e.0]
mov ecx, dword [rbp + 0x520]
mov r8d, r12d
mov dword [rbp + 0x51c], eax
mov edx, edi
mov rax, qword [0x1400b8108]
call qword [case.0x14006779e.0]
mov ecx, dword [rbp + 0x524]
mov r8d, r12d
mov dword [rbp + 0x520], eax
mov edx, edi
mov rax, qword [0x1400b8108]
call qword [case.0x14006779e.0]
mov ecx, dword [rbp + 0x528]
mov r8d, r12d
mov dword [rbp + 0x524], eax
mov edx, edi
mov rax, qword [0x1400b8108]
call qword [case.0x14006779e.0]
mov r8d, dword [rbp + 0x518]
lea rcx, [rbp + 0x51c]
add r8d, 0x24
mov dword [rbp + 0x528], eax
mov rax, qword [fcn.140006c20]
cmp dword [rbp + 0x4c0], r14d
je 0x140023e29
mov edx, dword [rbp + 0x4fc]
cmp edx, dword [rbp + 0x50c]
cmovge edx, dword [rbp + 0x50c]
call qword [case.0x14006779e.0]
mov ecx, dword [rsp + 0x68]
jmp 0x140023e66
mov edx, dword [rbp + 0x504]
cmp edx, dword [rbp + 0x514]
cmovle edx, dword [rbp + 0x514]
sub edx, dword [rbp + 0x524]
add edx, dword [rbp + 0x51c]
jmp 0x140023e1d
mov eax, dword [rbp + 0x518]
mov dword [rbp + 0x93c], eax
mov dword [rbp + 0x938], edi
mov dword [rbp + 0x4f8], 0xffa8a8a8
mov eax, dword [rbp + 0x4c0]
mov r12d, dword [rbp + 0x93c]
mov edi, dword [rbp + 0x938]
mov dword [rsp + 0x78], eax
sub ecx, 1
je 0x14002402f
sub ecx, 1
je 0x140023f45
cmp ecx, 1
jne 0x140024037
lea r8d, [rcx + 0x27]
xor edx, edx
lea rcx, [rbp + 0xae8]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [fcn.140006c20]
mov edx, 1
xor ecx, ecx
call qword [case.0x14006779e.0]
lea rdx, [rbp + 0xae8]
mov dword [rbp + 0xae8], SafeArrayCreateVectorEx
mov rcx, rax
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
test eax, eax
je 0x140024037
mov rax, qword [fcn.140006c20]
lea rdx, [rbp + 0xafc]
xor ecx, ecx
call qword [case.0x14006779e.0]
mov rax, qword [fcn.140006c20]
lea rdx, [rbp + 0xb04]
xor ecx, ecx
call qword [case.0x14006779e.0]
mov eax, dword [rbp + 0xb04]
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 + 0xb04]
shr rcx, 0x20
sub ecx, r12d
imul ecx, ecx, 0x32
jmp 0x140024010
xor edx, edx
lea rcx, [rbp + 0x9d0]
lea r8d, [rdx + 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [fcn.140006c20]
mov edx, 1
xor ecx, ecx
call qword [case.0x14006779e.0]
lea rdx, [rbp + 0x9d0]
mov dword [rbp + 0x9d0], SafeArrayCreateVectorEx
mov rcx, rax
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
test eax, eax
je 0x140024037
mov rax, qword [fcn.140006c20]
lea rdx, [rbp + 0x9e4]
xor ecx, ecx
call qword [case.0x14006779e.0]
mov rax, qword [fcn.140006c20]
lea rdx, [rbp + 0x9ec]
xor ecx, ecx
call qword [case.0x14006779e.0]
mov eax, dword [rbp + 0x9ec]
cmp dword [rsp + 0x78], r14d
je 0x140023fe9
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 + 0x9e4]
jmp 0x140023fff
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 + 0x9ec]
shr rax, 0x20
sub eax, r12d
imul ecx, eax, 0x5f
mov dword [rbp + 0x930], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x934], edx
jmp 0x140024037
and qword [rbp + 0x930], 0
mov r12d, r14d
mov rdx, qword [rbp - 0x80]
xor ecx, ecx
mov rax, qword [0x1400b81b0]
call qword [case.0x14006779e.0]
mov ecx, 1
xor eax, eax
lock cmpxchg dword [0x1400bf618], ecx
jne 0x140024052
mov eax, dword [0x1400bf614]
test eax, eax
jle 0x1400240d1
sub eax, ecx
mov dword [0x1400bf614], eax
jne 0x1400240d1
mov eax, 4
lea rdi, [0x1400bf320]
mov qword [rbp - 0x18], rax
cmp qword [rdi], r14
je 0x140024099
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [rbp - 0x18]
mov ecx, 1
add rdi, 0x18
sub rax, rcx
mov qword [rbp - 0x18], rax
jne 0x140024082
xor edx, edx
lea rcx, [0x1400bf320]
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400747e0]
lea rcx, [0x1400b8050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
lea rcx, [rbp + 0x218]
xchg dword [0x1400bf618], eax
call fcn.140048504
test r12d, r12d
js 0x140025a2b
mov rdi, qword [rbp + 0x930]
lea rcx, [rbp + 0x530]
xor edx, edx
mov qword [rbp + 0x290], rdi
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rcx, qword [rbp + 0x68]
mov edx, 7
mov rax, qword [0x1400b80a0]
lea r12d, [rdx - 6]
call qword [case.0x14006779e.0]
test rax, rax
je 0x140024177
mov rcx, rax
lea r8, [rbp + 0x530]
mov rax, qword [0x1400b80b8]
lea edx, [r12 + 0x67]
call qword [case.0x14006779e.0]
test eax, eax
je 0x140024177
lea eax, [r12 + 0x1f]
cmp word [rbp + 0x542], ax
jne 0x140024177
cmp qword [rbp + 0x548], r14
je 0x140024177
cmp dword [rbp + 0x534], r14d
jle 0x140024177
cmp dword [rbp + 0x538], r14d
jg 0x14002417a
mov r12d, r14d
mov dword [rbp + 0x180], r12d
test r12d, r12d
mov r12d, 1
jne 0x140024193
cmp dword [rsp + 0x68], r12d
jne 0x1400241fb
mov r8d, dword [rbp + 0x294]
lea rcx, [rbp + 0x4fc]
mov rax, qword [fcn.140006c20]
mov edx, edi
call qword [case.0x14006779e.0]
mov r8d, dword [rbp + 0x294]
lea rcx, [rbp + 0x50c]
mov rax, qword [fcn.140006c20]
mov edx, edi
call qword [case.0x14006779e.0]
mov edi, dword [rsp + 0x68]
cmp edi, r12d
jne 0x1400241ff
mov eax, dword [rbp + 0x4c4]
neg eax
mov rax, qword [0x1400b8078]
sbb ecx, ecx
not ecx
and ecx, 0xb26720
call qword [case.0x14006779e.0]
mov qword [rbp + 0x70], rax
jmp 0x1400241ff
mov edi, dword [rsp + 0x68]
mov rax, qword [fcn.140006c20]
mov edx, r12d
mov r12, qword [rbp + 0x68]
mov rcx, r12
call qword [case.0x14006779e.0]
cmp dword [rbp + 0x4c0], r14d
mov ecx, 0x20812
mov dword [rbp - 0x80], eax
mov eax, 0x810
cmovne eax, ecx
mov dword [rbp - 0x50], eax
cmp dword [rbp + 0x180], r14d
je 0x140024c78
mov eax, dword [rbp + 0x4c4]
lea rcx, [rbp + 0x610]
mov r12, qword [rbp + 0x4c8]
mov edi, 0x68
mov dword [rsp + 0x78], eax
mov r8d, edi
mov rax, qword [rbp + 0x4e0]
xor edx, edx
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x40], r12
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, edi
lea rcx, [rbp + 0x760]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
mov qword [rbp - 0x18], r14
lea rcx, [rbp + 0xab8]
mov dword [rbp - 0x78], r14d
mov edi, r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x970], rax
mov qword [rbp + 0x978], rax
test r12, r12
je 0x140025a12
mov r12, qword [rbp + 0x68]
lea edx, [rax + 7]
mov rax, qword [0x1400b80a0]
mov rcx, r12
call qword [case.0x14006779e.0]
test rax, rax
je 0x140024cd3
mov rcx, rax
lea r8, [rbp + 0x610]
mov rax, qword [0x1400b80b8]
mov edx, 0x68
call qword [case.0x14006779e.0]
test eax, eax
je 0x140024314
mov rax, qword [rbp + 0x628]
mov edi, dword [rbp + 0x618]
mov qword [rbp - 0x18], rax
mov eax, dword [rbp + 0x614]
mov dword [rbp - 0x78], eax
mov rax, qword [0x1400b8060]
mov rcx, r12
call qword [case.0x14006779e.0]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140024cd3
xor edx, edx
mov qword [rbp + 0x3d0], r14
lea rcx, [rbp + 0xab8]
mov r12d, r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov eax, dword [rbp + 0x504]
lea r9, [rbp + 0x3d0]
sub eax, dword [rbp + 0x4fc]
lea rdx, [rbp + 0xab8]
mov rcx, qword [rbp - 0x70]
xor r8d, r8d
mov dword [rbp + 0xabc], eax
mov eax, dword [rbp + 0x500]
sub eax, dword [rbp + 0x508]
mov dword [rbp + 0xac0], eax
mov rax, qword [0x1400b8068]
mov dword [rsp + 0x28], r14d
mov dword [rbp + 0xab8], SafeArrayCreateVectorEx
mov dword [rbp + 0xac4], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x14006779e.0]
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x1400243e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x14002473d
mov r12d, 0x80004005
jmp 0x14002473d
mov rcx, rax
lea r8, [rbp + 0x760]
mov rax, qword [0x1400b80b8]
mov edx, 0x68
call qword [case.0x14006779e.0]
mov rdx, qword [rbp + 0x60]
mov rcx, r14
test eax, eax
mov eax, dword [rbp + 0x504]
cmovne rcx, qword [rbp + 0x778]
sub eax, dword [rbp + 0x4fc]
mov dword [rbp + 0x978], eax
mov eax, dword [rbp + 0x508]
sub eax, dword [rbp + 0x500]
mov dword [rbp + 0x97c], eax
mov rax, qword [0x1400b80c8]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp - 0x70]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x70]
mov edx, 1
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov qword [rbp + 0x78], rax
xor ecx, ecx
mov rax, qword [0x1400b80c0]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp + 0x970]
mov r8, rax
mov rax, qword [0x1400b8138]
call qword [case.0x14006779e.0]
mov eax, dword [rbp - 0x50]
lea r9, [rbp + 0x970]
mov rdx, qword [rbp + 0x40]
mov r8d, r13d
mov rcx, qword [rbp - 0x70]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov ecx, 1
cmp dword [rsp + 0x68], ecx
jne 0x140024501
cmp dword [rsp + 0x78], r14d
je 0x1400244f8
mov rax, qword [0x1400b8168]
mov ecx, 8
call qword [case.0x14006779e.0]
mov dword [rbp - 0x40], eax
jmp 0x140024508
mov dword [rbp - 0x40], 0xffffff
jmp 0x140024508
mov dword [rbp - 0x40], 0xffa8a8a8
mov eax, dword [rbp + 0x4fc]
mov r9d, r14d
movsxd r10, dword [rbp - 0x78]
mov r8d, eax
neg r8d
mov edx, r14d
test eax, eax
mov r11d, r10d
cmovns r9d, eax
cmovns r8d, r14d
mov eax, dword [rbp + 0x500]
mov ecx, eax
neg ecx
test eax, eax
cmovns edx, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x978]
sub r11d, r9d
sub eax, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x97c]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x14002470f
test edi, edi
jle 0x14002470f
imul ecx, dword [rbp + 0x978]
mov esi, 1
mov ebx, dword [rbp - 0x40]
movsxd rax, r8d
imul edx, r10d
mov qword [rsp + 0x78], rdi
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x48]
lea r8, [rax + rcx*4]
movsxd rcx, edx
movsxd rax, r9d
mov rdx, r10
add rcx, rax
mov qword [rbp - 0x48], r8
mov rax, qword [rbp - 0x18]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x978]
shl rcx, 2
shl rdx, 2
mov qword [rbp + 0x40], rdx
mov qword [rbp + 8], rax
mov qword [rbp - 0x58], rcx
test r11d, r11d
jle 0x1400246df
mov r10, rax
mov edi, r11d
sub r10, r8
mov qword [rbp - 0x18], rdi
lea r9, [r8 + 2]
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x1400246b9
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x3f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x3e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x18]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x18], rdi
jne 0x1400245e7
mov r8, qword [rbp - 0x48]
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x40]
mov rdi, qword [rsp + 0x78]
add r8, rcx
add rax, rdx
sub rdi, rsi
mov qword [rbp - 0x48], r8
mov qword [rsp + 0x78], rdi
mov qword [rbp + 8], rax
jne 0x1400245cd
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp + 0x60]
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov rax, qword [rbp + 0x78]
test rax, rax
je 0x14002473d
mov rcx, qword [rbp - 0x70]
mov rdx, rax
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400b8080]
call qword [case.0x14006779e.0]
test r12d, r12d
js 0x140025a12
mov eax, dword [rbp + 0x4c4]
lea rcx, [rbp + 0x680]
mov r12, qword [rbp + 0x4d0]
mov edi, 0x68
mov dword [rsp + 0x78], eax
mov r8d, edi
mov rax, qword [rbp + 0x4e8]
xor edx, edx
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x40], r12
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, edi
lea rcx, [rbp + 0x7d0]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
mov qword [rbp - 0x18], r14
lea rcx, [rbp + 0xa88]
mov dword [rbp - 0x78], r14d
mov edi, r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x980], rax
mov qword [rbp + 0x988], rax
test r12, r12
je 0x140025a12
mov r12, qword [rbp + 0x68]
lea edx, [rax + 7]
mov rax, qword [0x1400b80a0]
mov rcx, r12
call qword [case.0x14006779e.0]
test rax, rax
je 0x140024cd3
mov rcx, rax
lea r8, [rbp + 0x680]
mov rax, qword [0x1400b80b8]
mov edx, 0x68
call qword [case.0x14006779e.0]
test eax, eax
je 0x14002482e
mov rax, qword [rbp + 0x698]
mov edi, dword [rbp + 0x688]
mov qword [rbp - 0x18], rax
mov eax, dword [rbp + 0x684]
mov dword [rbp - 0x78], eax
mov rax, qword [0x1400b8060]
mov rcx, r12
call qword [case.0x14006779e.0]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140024cd3
xor edx, edx
mov qword [rbp + 0x3d8], r14
lea rcx, [rbp + 0xa88]
mov r12d, r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov eax, dword [rbp + 0x514]
lea r9, [rbp + 0x3d8]
sub eax, dword [rbp + 0x50c]
lea rdx, [rbp + 0xa88]
mov rcx, qword [rbp - 0x70]
xor r8d, r8d
mov dword [rbp + 0xa8c], eax
mov eax, dword [rbp + 0x510]
sub eax, dword [rbp + 0x518]
mov dword [rbp + 0xa90], eax
mov rax, qword [0x1400b8068]
mov dword [rsp + 0x28], r14d
mov dword [rbp + 0xa88], SafeArrayCreateVectorEx
mov dword [rbp + 0xa94], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x14006779e.0]
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x1400248ff
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140024c59
mov r12d, 0x80004005
jmp 0x140024c59
mov rcx, rax
lea r8, [rbp + 0x7d0]
mov rax, qword [0x1400b80b8]
mov edx, 0x68
call qword [case.0x14006779e.0]
mov rdx, qword [rbp + 0x60]
mov rcx, r14
test eax, eax
mov eax, dword [rbp + 0x514]
cmovne rcx, qword [rbp + 0x7e8]
sub eax, dword [rbp + 0x50c]
mov dword [rbp + 0x988], eax
mov eax, dword [rbp + 0x518]
sub eax, dword [rbp + 0x510]
mov dword [rbp + 0x98c], eax
mov rax, qword [0x1400b80c8]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp - 0x70]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x70]
mov edx, 1
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov qword [rbp + 0x78], rax
xor ecx, ecx
mov rax, qword [0x1400b80c0]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp + 0x980]
mov r8, rax
mov rax, qword [0x1400b8138]
call qword [case.0x14006779e.0]
mov eax, dword [rbp - 0x50]
lea r9, [rbp + 0x980]
mov rdx, qword [rbp + 0x40]
mov r8d, r13d
mov rcx, qword [rbp - 0x70]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov eax, 1
cmp dword [rsp + 0x68], eax
jne 0x140024a16
cmp dword [rsp + 0x78], r14d
je 0x140024a0d
lea ecx, [rax + 7]
mov rax, qword [0x1400b8168]
call qword [case.0x14006779e.0]
jmp 0x140024a1b
mov dword [rbp - 0x50], 0xffffff
jmp 0x140024a22
mov eax, 0xffa8a8a8
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x6c], eax
mov eax, dword [rbp + 0x50c]
mov r9d, r14d
movsxd r10, dword [rbp - 0x78]
mov r8d, eax
neg r8d
mov edx, r14d
test eax, eax
mov r11d, r10d
cmovns r9d, eax
cmovns r8d, r14d
mov eax, dword [rbp + 0x510]
mov ecx, eax
neg ecx
test eax, eax
cmovns edx, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x988]
sub r11d, r9d
sub eax, r8d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x98c]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x140024c2b
test edi, edi
jle 0x140024c2b
imul ecx, dword [rbp + 0x988]
mov ebx, 1
mov esi, dword [rsp + 0x6c]
movsxd rax, r8d
imul edx, r10d
mov qword [rsp + 0x78], rdi
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x48]
lea r8, [rax + rcx*4]
movsxd rcx, edx
movsxd rax, r9d
mov rdx, r10
add rcx, rax
mov qword [rbp - 0x48], r8
mov rax, qword [rbp - 0x18]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x988]
shl rcx, 2
shl rdx, 2
mov qword [rbp + 0x40], rdx
mov qword [rbp + 8], rax
mov qword [rbp - 0x58], rcx
test r11d, r11d
jle 0x140024bfb
mov r10, rax
mov edi, r11d
sub r10, r8
mov qword [rbp - 0x18], rdi
lea r9, [r8 + 2]
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140024bd5
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x18]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rbx
mov qword [rbp - 0x18], rdi
jne 0x140024b02
mov r8, qword [rbp - 0x48]
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x40]
mov rdi, qword [rsp + 0x78]
add r8, rcx
add rax, rdx
sub rdi, rbx
mov qword [rbp - 0x48], r8
mov qword [rsp + 0x78], rdi
mov qword [rbp + 8], rax
jne 0x140024ae8
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp + 0x60]
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov rax, qword [rbp + 0x78]
test rax, rax
je 0x140024c59
mov rcx, qword [rbp - 0x70]
mov rdx, rax
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400b8080]
call qword [case.0x14006779e.0]
test r12d, r12d
js 0x140025a12
jmp 0x1400259c9
mov ecx, 1
cmp dword [rbp + 0x4c4], r14d
jne 0x140024c8c
mov al, 0xc0
cmp edi, ecx
jne 0x140024c8e
mov al, 0xff
and word [rbp], 0
mov byte [rbp + 2], al
xor eax, eax
mov qword [rbp + 0x950], rax
mov qword [rbp + 0x958], rax
mov qword [rbp + 0x960], rax
mov qword [rbp + 0x968], rax
mov rax, qword [0x1400b8060]
mov byte [rbp + 3], cl
mov rcx, r12
call qword [case.0x14006779e.0]
mov qword [rbp + 0x88], rax
test rax, rax
jne 0x140024cde
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140025a12
mov eax, 1
cmp edi, eax
jne 0x140024daa
mov r8d, dword [rbp + 0x514]
mov edi, r14d
mov edx, dword [rbp + 0x504]
mov eax, r8d
mov r9d, dword [rbp + 0x50c]
mov r12d, edx
mov r10d, dword [rbp + 0x4fc]
sub eax, r9d
mov ecx, dword [rbp + 0x518]
sub r12d, r10d
mov r11d, dword [rbp + 0x500]
cmp eax, r12d
cmovg r12d, eax
mov eax, ecx
sub eax, r11d
mov dword [rsp + 0x70], eax
mov eax, r14d
cmp dword [rbp + 0x4c0], r14d
je 0x140024d5b
mov edi, r10d
mov eax, r9d
sub edi, edx
sub eax, r8d
add edi, r12d
add eax, r12d
mov dword [rbp + 0x950], edi
mov dword [rbp + 0x960], eax
sub ecx, dword [rbp + 0x510]
sub eax, r9d
add eax, r8d
sub edi, r10d
add edi, edx
mov dword [rsp + 0x78], eax
mov edx, dword [rbp + 0x508]
sub edx, r11d
mov dword [rbp + 0x968], eax
mov eax, dword [rbp + 0x510]
sub eax, r11d
mov dword [rbp + 0x958], edi
add ecx, eax
mov dword [rbp - 0x28], edx
mov dword [rbp + 0x60], ecx
mov dword [rbp + 0x96c], ecx
mov dword [rbp + 0x95c], edx
mov dword [rbp + 0x964], eax
jmp 0x140024e01
mov eax, dword [rbp + 0x93c]
movups xmm0, xmmword [rbp + 0x4fc]
mov r12d, dword [rbp + 0x938]
movups xmm1, xmmword [rbp + 0x50c]
mov dword [rsp + 0x70], eax
movdqu xmmword [rbp + 0x950], xmm0
mov eax, dword [rbp + 0x95c]
mov edi, dword [rbp + 0x958]
mov dword [rbp - 0x28], eax
movdqu xmmword [rbp + 0x960], xmm1
mov eax, dword [rbp + 0x96c]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x968]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x964]
xor edx, edx
mov dword [rbp - 0x78], eax
lea rcx, [rbp + 0x9f8]
mov qword [rbp + 0x3e0], r14
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov eax, dword [rsp + 0x70]
lea r9, [rbp + 0x3e0]
mov rcx, qword [rbp + 0x88]
lea rdx, [rbp + 0x9f8]
neg eax
mov dword [rsp + 0x28], r14d
mov dword [rbp + 0xa00], eax
xor r8d, r8d
mov rax, qword [0x1400b8068]
mov dword [rbp + 0x9f8], SafeArrayCreateVectorEx
mov dword [rbp + 0x9fc], r12d
mov dword [rbp + 0xa04], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x14006779e.0]
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x140024e87
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400259f6
mov rcx, qword [rbp + 0x88]
mov rdx, rax
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov eax, 1
cmp dword [rsp + 0x68], eax
jne 0x140024eee
mov r8, qword [rbp + 0x70]
test r8, r8
je 0x140024eee
mov rcx, qword [rbp + 0x88]
lea rdx, [rbp + 0x9c0]
xor eax, eax
mov qword [rbp + 0x9c8], rax
mov qword [rbp + 0x9c0], rax
mov eax, dword [rsp + 0x70]
mov dword [rbp + 0x9cc], eax
mov rax, qword [0x1400b8138]
mov dword [rbp + 0x9c8], r12d
call qword [case.0x14006779e.0]
mov eax, dword [rbp + 0x4c4]
lea rcx, [rbp + 0x5a0]
mov dword [rbp - 0x40], eax
xor edx, edx
mov rax, qword [rbp + 0x4e0]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0x4c8]
lea r8d, [rdx + 0x68]
mov qword [rbp - 0x18], rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
lea rcx, [rbp + 0x840]
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
mov qword [rbp - 0x48], r14
lea rcx, [rbp + 0xa28]
mov dword [rbp + 0x80], r14d
mov dword [rbp - 0x70], r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x990], rax
mov qword [rbp + 0x998], rax
cmp qword [rbp - 0x18], r14
je 0x1400259dd
mov rcx, qword [rbp + 0x88]
lea edx, [rax + 7]
mov rax, qword [0x1400b80a0]
call qword [case.0x14006779e.0]
test rax, rax
jne 0x140024f93
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400259dd
mov rcx, rax
lea r8, [rbp + 0x5a0]
mov rax, qword [0x1400b80b8]
mov edx, 0x68
call qword [case.0x14006779e.0]
test eax, eax
je 0x140024fd3
mov rax, qword [rbp + 0x5b8]
mov qword [rbp - 0x48], rax
mov eax, dword [rbp + 0x5a4]
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x5a8]
mov dword [rbp - 0x70], eax
mov rcx, qword [rbp + 0x88]
mov rax, qword [0x1400b8060]
call qword [case.0x14006779e.0]
mov qword [rbp + 8], rax
test rax, rax
je 0x140024f88
xor edx, edx
mov qword [rbp + 0x3e8], r14
lea rcx, [rbp + 0xa28]
mov dword [rbp + 0x78], r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov eax, dword [rbp + 0x954]
lea r9, [rbp + 0x3e8]
sub eax, dword [rbp - 0x28]
lea rdx, [rbp + 0xa28]
sub edi, dword [rbp + 0x950]
xor r8d, r8d
mov rcx, qword [rbp + 8]
mov dword [rbp + 0xa30], eax
mov rax, qword [0x1400b8068]
mov dword [rsp + 0x28], r14d
mov dword [rbp + 0xa28], SafeArrayCreateVectorEx
mov dword [rbp + 0xa2c], edi
mov dword [rbp + 0xa34], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x14006779e.0]
mov qword [rbp + 0x40], rax
test rax, rax
jne 0x14002509c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp + 0x78], ecx
test ecx, ecx
js 0x1400253f9
mov dword [rbp + 0x78], 0x80004005
jmp 0x1400253f9
mov rcx, rax
lea r8, [rbp + 0x840]
mov rax, qword [0x1400b80b8]
mov edx, 0x68
call qword [case.0x14006779e.0]
mov rdx, qword [rbp + 0x40]
mov rcx, r14
test eax, eax
mov dword [rbp + 0x998], edi
mov eax, dword [rbp - 0x28]
cmovne rcx, qword [rbp + 0x858]
sub eax, dword [rbp + 0x954]
mov rdi, qword [rbp + 8]
mov dword [rbp + 0x99c], eax
mov rax, qword [0x1400b80c8]
mov qword [rbp - 0x68], rcx
mov rcx, rdi
call qword [case.0x14006779e.0]
mov rax, qword [fcn.140006c20]
mov edx, 1
mov rcx, rdi
call qword [case.0x14006779e.0]
mov rdx, qword [rbp - 0x58]
mov rcx, rdi
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov qword [rbp - 0x28], rax
xor ecx, ecx
mov rax, qword [0x1400b80c0]
call qword [case.0x14006779e.0]
lea rdx, [rbp + 0x990]
mov rcx, rdi
mov r8, rax
mov rax, qword [0x1400b8138]
call qword [case.0x14006779e.0]
mov eax, dword [rbp - 0x50]
lea r9, [rbp + 0x990]
mov rdx, qword [rbp - 0x18]
mov r8d, r13d
mov qword [rsp + 0x28], r14
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov eax, 1
cmp dword [rsp + 0x68], eax
jne 0x1400251a5
cmp dword [rbp - 0x40], r14d
je 0x14002519c
lea ecx, [rax + 7]
mov rax, qword [0x1400b8168]
call qword [case.0x14006779e.0]
mov dword [rbp - 0x40], eax
jmp 0x1400251ac
mov dword [rbp - 0x40], 0xffffff
jmp 0x1400251ac
mov dword [rbp - 0x40], 0xffa8a8a8
mov eax, dword [rbp + 0x950]
mov r10d, r14d
mov r11d, dword [rbp + 0x80]
mov r9d, eax
mov edx, dword [rbp - 0x70]
neg r9d
test eax, eax
mov r8d, r14d
cmovns r10d, eax
cmovns r9d, r14d
mov eax, dword [rbp + 0x954]
mov ecx, eax
neg ecx
test eax, eax
cmovns r8d, eax
cmovns ecx, r14d
mov eax, dword [rbp + 0x998]
sub r11d, r10d
sub eax, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x99c]
sub eax, ecx
sub edx, r8d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x1400253cc
test edx, edx
jle 0x1400253cc
mov eax, dword [rbp + 0x998]
mov ebx, 1
mov esi, dword [rbp - 0x40]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r9d
movsxd r9, dword [rbp + 0x80]
add rcx, rax
mov rax, qword [rbp - 0x68]
imul r8d, r9d
mov qword [rbp + 0x80], rdx
lea rdi, [rax + rcx*4]
movsxd rax, r10d
mov qword [rbp - 0x70], rdi
movsxd rcx, r8d
mov r8, r9
add rcx, rax
mov rax, qword [rbp - 0x48]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x998]
shl rcx, 2
shl r8, 2
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x68], rcx
test r11d, r11d
jle 0x140025396
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x18], rdi
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14002536e
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x3f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x3e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x18]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rbx
mov qword [rbp - 0x18], rdi
jne 0x14002529b
mov rdi, qword [rbp - 0x70]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x80]
add rdi, rcx
add rax, r8
sub rdx, rbx
mov qword [rbp - 0x70], rdi
mov qword [rbp + 0x80], rdx
mov qword [rbp - 0x48], rax
jne 0x140025281
mov rdi, qword [rbp + 8]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp + 0x40]
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x1400253f9
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp + 8]
mov rax, qword [0x1400b8080]
call qword [case.0x14006779e.0]
cmp dword [rbp + 0x78], r14d
jl 0x1400259dd
mov eax, dword [rbp + 0x4c4]
lea rcx, [rbp + 0x6f0]
mov rdi, qword [rbp + 0x4d0]
xor edx, edx
mov dword [rbp - 0x28], eax
mov rax, qword [rbp + 0x4e8]
mov qword [rbp - 0x68], rax
lea r8d, [rdx + 0x68]
mov qword [rbp - 0x58], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
lea rcx, [rbp + 0x8b0]
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
mov qword [rbp + 0x40], r14
lea rcx, [rbp + 0xa58]
mov dword [rbp + 0x78], r14d
mov dword [rbp - 0x70], r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x9a0], rax
mov qword [rbp + 0x9a8], rax
test rdi, rdi
je 0x1400259dd
mov rdi, qword [rbp + 0x88]
lea edx, [rax + 7]
mov rax, qword [0x1400b80a0]
mov rcx, rdi
call qword [case.0x14006779e.0]
test rax, rax
je 0x140024f88
mov rcx, rax
lea r8, [rbp + 0x6f0]
mov rax, qword [0x1400b80b8]
mov edx, 0x68
call qword [case.0x14006779e.0]
test eax, eax
je 0x1400254ee
mov rax, qword [rbp + 0x708]
mov qword [rbp + 0x40], rax
mov eax, dword [rbp + 0x6f4]
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x6f8]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1400b8060]
mov rcx, rdi
call qword [case.0x14006779e.0]
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140024f88
xor edx, edx
mov qword [rbp + 0x3f8], r14
lea rcx, [rbp + 0xa58]
mov dword [rbp + 0x80], r14d
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov eax, dword [rbp - 0x78]
lea r9, [rbp + 0x3f8]
sub eax, dword [rbp + 0x60]
lea rdx, [rbp + 0xa58]
mov edi, dword [rsp + 0x78]
xor r8d, r8d
sub edi, dword [rbp + 0x960]
mov rcx, qword [rbp - 0x40]
mov dword [rbp + 0xa60], eax
mov rax, qword [0x1400b8068]
mov dword [rsp + 0x28], r14d
mov dword [rbp + 0xa58], SafeArrayCreateVectorEx
mov dword [rbp + 0xa5c], edi
mov dword [rbp + 0xa64], 0x200001
mov qword [rsp + 0x20], r14
call qword [case.0x14006779e.0]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x1400255c2
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp + 0x80], ecx
test ecx, ecx
js 0x14002590b
mov dword [rbp + 0x80], 0x80004005
jmp 0x14002590b
mov rcx, rax
lea r8, [rbp + 0x8b0]
mov rax, qword [0x1400b80b8]
mov edx, 0x68
call qword [case.0x14006779e.0]
mov rdx, qword [rsp + 0x78]
mov rcx, r14
test eax, eax
mov dword [rbp + 0x9a8], edi
mov eax, dword [rbp + 0x60]
cmovne rcx, qword [rbp + 0x8c8]
mov edi, dword [rbp - 0x78]
sub eax, edi
mov dword [rbp + 0x9ac], eax
mov rax, qword [0x1400b80c8]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbp - 0x40]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x40]
mov edx, 1
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x40]
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov qword [rbp - 0x78], rax
xor ecx, ecx
mov rax, qword [0x1400b80c0]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x40]
lea rdx, [rbp + 0x9a0]
mov r8, rax
mov rax, qword [0x1400b8138]
call qword [case.0x14006779e.0]
mov eax, dword [rbp - 0x50]
lea r9, [rbp + 0x9a0]
mov rdx, qword [rbp - 0x58]
mov r8d, r13d
mov rcx, qword [rbp - 0x40]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov eax, 1
cmp dword [rsp + 0x68], eax
jne 0x1400256c9
cmp dword [rbp - 0x28], r14d
je 0x1400256c0
lea ecx, [rax + 7]
mov rax, qword [0x1400b8168]
call qword [case.0x14006779e.0]
jmp 0x1400256ce
mov dword [rbp - 0x50], 0xffffff
jmp 0x1400256d5
mov eax, 0xffa8a8a8
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x6c], eax
mov eax, dword [rbp + 0x960]
mov r9d, r14d
mov r11d, dword [rbp + 0x78]
mov r8d, eax
mov edx, dword [rbp - 0x70]
neg r8d
test eax, eax
mov ecx, edi
mov r10d, r14d
cmovns r9d, eax
cmovns r8d, r14d
mov eax, dword [rbp + 0x9a8]
neg ecx
test edi, edi
cmovns ecx, r14d
cmovns r10d, edi
sub eax, r8d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9ac]
sub eax, ecx
sub edx, r10d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x1400258dc
test edx, edx
jle 0x1400258dc
mov eax, dword [rbp + 0x9a8]
mov esi, 1
mov ebx, dword [rsp + 0x6c]
imul eax, ecx
mov qword [rbp + 8], rdx
movsxd rcx, eax
movsxd rax, r8d
movsxd r8, dword [rbp + 0x78]
add rcx, rax
mov rax, qword [rbp - 0x18]
lea rdi, [rax + rcx*4]
mov eax, r8d
imul eax, r10d
mov qword [rbp - 0x18], rdi
movsxd rcx, eax
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x40]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x9a8]
shl rcx, 2
shl r8, 2
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x68], rcx
test r11d, r11d
jle 0x1400258ad
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov edi, r11d
mov qword [rbp + 0x40], rdi
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140025888
movzx edi, byte [r9 + r10]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 + r10], dl
movzx edi, byte [r9 + r10 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 + r10 - 1], dl
movzx edi, byte [r9 + r10 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 + r10 - 2], dl
movzx edi, byte [r9 + r10 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp + 0x40]
mov byte [r9 + r10 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp + 0x40], rdi
jne 0x1400257b6
mov rdi, qword [rbp - 0x18]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
mov rdx, qword [rbp + 8]
add rdi, rcx
add rax, r8
sub rdx, rsi
mov qword [rbp - 0x18], rdi
mov qword [rbp + 8], rdx
mov qword [rbp - 0x48], rax
jne 0x14002579c
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x14002590b
mov rcx, qword [rbp - 0x40]
mov rdx, rax
mov rax, qword [0x1400b80c8]
call qword [case.0x14006779e.0]
mov rcx, qword [rbp - 0x40]
mov rax, qword [0x1400b8080]
call qword [case.0x14006779e.0]
cmp dword [rbp + 0x80], r14d
jl 0x1400259dd
mov eax, 1
mov r9d, r12d
cmp dword [rsp + 0x68], eax
jne 0x14002597d
mov rax, qword [rbp + 0x88]
mov r8d, dword [rbp + 0x500]
mov edx, dword [rbp + 0x4fc]
mov rcx, qword [rbp + 0x68]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400b8050]
call qword [case.0x14006779e.0]
jmp 0x1400259c9
mov eax, dword [rsp + 0x70]
mov ecx, dword [rbp]
mov r8d, dword [rbp + 0x934]
mov edx, dword [rbp + 0x930]
mov dword [rsp + 0x50], ecx
mov rcx, qword [rbp + 0x88]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x68]
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov edx, dword [rbp - 0x80]
mov rcx, qword [rbp + 0x68]
mov rax, qword [fcn.140006c20]
call qword [case.0x14006779e.0]
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1400259f6
mov rcx, rax
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov rax, qword [rbp + 0x88]
test rax, rax
je 0x140025a12
mov rcx, rax
mov rax, qword [0x1400b8080]
call qword [case.0x14006779e.0]
mov rax, qword [rbp + 0x70]
test rax, rax
je 0x140025a2b
mov rcx, rax
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov rax, qword [rbp + 0x4c8]
test rax, rax
je 0x140025a79
mov rcx, r13
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140025a3a
mov rdi, qword [rbp + 0x4c8]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4c8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x4c8], r14
mov rax, qword [rbp + 0x4d0]
test rax, rax
je 0x140025ac7
mov rcx, r13
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140025a88
mov rdi, qword [rbp + 0x4d0]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4d0]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x4d0], r14
mov rdi, qword [rbp + 0x4d8]
test rdi, rdi
je 0x140025b0e
mov rcx, r13
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140025ad6
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4d8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x4d8], r14
mov rcx, qword [rbp + 0x4e0]
test rcx, rcx
je 0x140025b2e
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov qword [rbp + 0x4e0], r14
mov rcx, qword [rbp + 0x4e8]
test rcx, rcx
je 0x140025b4e
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov qword [rbp + 0x4e8], r14
mov rcx, qword [rbp + 0x4f0]
test rcx, rcx
je 0x140025b6e
mov rax, qword [0x1400b8088]
call qword [case.0x14006779e.0]
mov qword [rbp + 0x4f0], r14
mov edi, 1
xor eax, eax
lock cmpxchg dword [0x1400bf618], edi
jne 0x140025b73
mov eax, dword [0x1400bf614]
test eax, eax
jle 0x140025bf0
sub eax, edi
mov dword [0x1400bf614], eax
jne 0x140025bf0
mov eax, 1
lea rdi, [0x1400bf320]
lea r12d, [rax + 3]
cmp qword [rdi], r14
je 0x140025bb6
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add rdi, 0x18
sub r12, rax
jne 0x140025ba3
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400bf320]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400747e0]
lea rcx, [0x1400b8050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea edi, [r12 + 1]
mov eax, r14d
xchg dword [0x1400bf618], eax
mov eax, dword [0x1400bf310]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1400b80e8]
call qword [case.0x14006779e.0]
xor edx, edx
mov dword [rbp + 0xd30], r14d
sub eax, dword [0x1400bf308]
lea rcx, [rbp + 0xd38]
mov qword [rbp - 0x58], rax
lea r8d, [rdx + 0x38]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
lock cmpxchg dword [0x1400bf618], edi
jne 0x140025c32
mov eax, dword [0x1400bf614]
test eax, eax
jne 0x140026233
mov dword [rbp - 0x78], r14d
mov dword [rbp + 0x60], r14d
mov qword [rbp + 0x1c0], r14
mov qword [rbp + 0x2a8], r14
mov dword [rsp + 0x78], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x14002619d
mov ecx, 1
mov dword [rbp + 0x38], r14d
mov esi, r14d
mov dword [rbp + 0x58], r14d
or r15d, 0xffffffff
lea rbx, [rax + 7]
mov r8d, r14d
lea r13, [0x1400917b2]
lea r12d, [rcx + 0x66]
mov r11d, r14d
movzx eax, byte [r13 - 1]
movzx r10d, byte [r13 - 2]
movzx r9d, byte [r13 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r13]
lea r13, [r13 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r13 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r13 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r13 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r13 - 3]
shl r9d, 8
or r9d, eax
xor r8d, r9d
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r8d
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor r8d, edx
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r8d, edx
mov edx, r8d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
mov edi, 0xab69605e
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub edx, eax
xor r8d, edx
mov eax, r8d
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xa
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
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
mov eax, r8d
mov edi, r8d
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
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
imul edx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xe
sub edx, eax
xor r11d, edx
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
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
xor r8d, r15d
mov dword [rbp + 0x38], r8d
mov r15d, r9d
xor edx, eax
xor edx, esi
mov esi, r10d
xor r11d, edx
mov dword [rbp + 0x58], r11d
mov byte [rbx - 4], r11b
mov al, byte [rbp + 0x38]
ror dword [rbp + 0x58], 8
mov byte [rbx], al
lea rbx, [rbx + 8]
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x58]
mov byte [rbx - 0xd], al
mov al, byte [rbp + 0x38]
ror dword [rbp + 0x58], 8
mov byte [rbx - 9], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x58]
mov byte [rbx - 0xe], al
ror dword [rbp + 0x58], 8
mov al, byte [rbp + 0x38]
mov byte [rbx - 0xa], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x58]
mov byte [rbx - 0xf], al
mov al, byte [rbp + 0x38]
mov byte [rbx - 0xb], al
mov r11d, dword [rbp + 0x58]
mov r8d, dword [rbp + 0x38]
ror r11d, 8
ror r8d, 8
mov dword [rbp + 0x58], r11d
mov dword [rbp + 0x38], r8d
sub r12, rcx
jne 0x140025cb4
mov r15d, dword [rsp + 0x60]
or r13, 0xffffffffffffffff
mov rdi, qword [rbp - 0x68]
mov rax, r14
mov cl, r14b
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r12d, r14d
lea edx, [r13 + 2]
mov r8d, 0x338
xor cl, byte [rax + rdi]
add rax, rdx
cmp rax, r8
jb 0x140026000
movzx eax, cl
cmp rax, qword [0x140091ae8]
je 0x140026021
mov dword [rsp + 0x78], 0xc004d501
jmp 0x140026032
mov qword [rbp + 0x1c0], rdi
mov rdi, r14
mov qword [rbp + 0x2a8], r8
test rdi, rdi
je 0x14002604b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [rsp + 0x78], r14d
jl 0x14002619d
mov rax, qword [rbp + 0x2a8]
lea rcx, [0x1400bf320]
mov rdi, qword [rbp + 0x1c0]
xor edx, edx
lea r8d, [rdx + 0x60]
mov byte [rax + rdi - 1], r14b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
jmp 0x140026192
mov rdx, rdi
mov rax, r13
inc rax
cmp word [rdi + rax*2], r14w
jne 0x140026086
lea rdi, [rdi + rax*2]
mov eax, dword [rbp + 0x60]
lea rcx, [rax + rax*2]
lea rax, [0x1400bf320]
lea r8, [rax + rcx*8]
xor ecx, ecx
mov qword [rbp - 0x60], r8
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14002619d
mov r8, qword [rbp - 0x60]
mov ecx, 0x5a4d
mov r12d, r14d
mov rax, qword [r8]
cmp word [rax], cx
je 0x1400260d6
mov r12d, 0xc000007b
jmp 0x140026122
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400260ce
add rcx, qword [r8]
cmp rcx, qword [r8]
jb 0x1400260ce
cmp dword [rcx], 0x4550
jne 0x1400260ce
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140026110
mov r12d, 0xc000000d
jmp 0x140026122
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 ecx, r14d
add rdi, 6
mov dword [rbp - 0x80], eax
mov dword [rsp + 0x78], ecx
test eax, eax
je 0x14002618a
mov rdx, rdi
mov rax, r13
inc rax
cmp byte [rdi + rax], r14b
jne 0x14002613d
inc rdi
add rdi, rax
test r12d, r12d
js 0x140026175
mov rcx, qword [r8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400261a3
mov ecx, dword [rbp - 0x78]
lea rdx, [0x1400b8050]
mov r8, qword [rbp - 0x60]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x78]
mov eax, 1
add dword [rbp - 0x78], eax
add ecx, eax
mov dword [rsp + 0x78], ecx
cmp ecx, dword [rbp - 0x80]
jb 0x140026137
jmp 0x14002618f
mov eax, 1
add dword [rbp + 0x60], eax
cmp byte [rdi], r14b
jne 0x140026080
jmp 0x1400261a3
mov r12d, 0xc000007a
cmp qword [rbp + 0x1c0], r14
je 0x1400261c4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1c0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
jns 0x140026228
mov eax, 1
lea rdi, [0x1400bf320]
lea r12d, [rax + 3]
cmp qword [rdi], r14
je 0x1400261ec
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add rdi, 0x18
sub r12, rax
jne 0x1400261d9
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400bf320]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400747e0]
lea rcx, [0x1400b8050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea edi, [r12 + 1]
jmp 0x14002623b
mov eax, dword [0x1400bf614]
mov edi, 1
add eax, edi
mov dword [0x1400bf614], eax
mov rcx, qword [rbp - 0x58]
lea r9, [rbp + 0xd30]
mov eax, r14d
mov r12d, 4
xchg dword [0x1400bf618], eax
mov eax, dword [rbp - 0x70]
mov r8d, r12d
mov dword [rbp + 0xd68], eax
mov edx, 0x2021
mov rax, qword [0x1400b8120]
mov dword [rbp + 0xd38], ecx
xor ecx, ecx
mov dword [rbp + 0xd30], edi
mov dword [rbp + 0xd48], 0x9966f291
mov dword [rbp + 0xd40], edi
mov dword [rbp + 0xd58], edi
mov dword [rbp + 0xd50], edi
mov dword [rbp + 0xd60], edi
call qword [case.0x14006779e.0]
xor eax, eax
lock cmpxchg dword [0x1400bf618], edi
jne 0x1400262a3
mov eax, dword [0x1400bf614]
test eax, eax
jle 0x140026317
sub eax, edi
mov dword [0x1400bf614], eax
jne 0x140026317
lea rdi, [0x1400bf320]
mov eax, 1
cmp qword [rdi], r14
je 0x1400262e2
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add rdi, 0x18
sub r12, rax
jne 0x1400262cf
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x1400bf320]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400747e0]
lea rcx, [0x1400b8050]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r14d
xchg dword [0x1400bf618], eax
mov rdx, qword [rbp + 0x68]
xor ecx, ecx
mov rax, qword [0x1400b81b0]
call qword [case.0x14006779e.0]
lea rcx, [rbp + 0x470]
call fcn.140012c70
cmp dword [rbp + 0x9c], r14d
je 0x1400286ca
xor eax, eax
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x18], rax
mov edi, LoadRegTypeLib
mov qword [rbp + 0x20], rax
mov r12, r14
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], rax
lea rax, [0x1400be3a0]
mov qword [rbp + 0x408], rax
mov dword [rbp + 0x248], r14d
mov qword [rbp + 0x2b0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x68], rax
mov rdi, rax
test rax, rax
je 0x14002863c
mov r8, qword [rbp + 0x2b0]
mov rcx, rax
mov rdx, qword [rbp + 0x408]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12d, dword [rbp + 0x2b0]
mov dword [rsp + 0x78], r12d
mov qword [rbp - 0x28], rdi
lea rax, [0x1400be2e0]
mov edi, 8
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x308], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x58], rax
mov rdi, rax
test rax, rax
je 0x140028638
mov r8, qword [rbp + 0x308]
mov rcx, rax
mov rdx, qword [rbp + 0x410]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rcx, qword [rbp + 0x308]
mov qword [rbp - 0x60], rcx
mov qword [rbp + 0x88], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2b8], rax
mov edx, 8
mov dword [rbp + 0xd0], edx
add r12d, 4
or r8d, 0xffffffff
cmp r12d, 4
mov eax, r8d
mov edi, edx
cmovae eax, r12d
jb 0x140028638
mov edx, eax
mov dword [rbp + 0xd0], eax
mov edi, eax
lea eax, [rax + 8]
mov edi, r8d
cmp eax, 8
cmovae edi, eax
jb 0x140028638
add ecx, 4
mov eax, r8d
cmp ecx, 4
cmovae eax, ecx
cmovae edx, eax
mov dword [rbp + 0xd0], edx
jb 0x140028638
lea eax, [rdx + rdi]
mov ecx, r8d
cmp eax, edi
cmovae ecx, eax
jb 0x140028638
mov dword [rbp + 0xd0], SafeArrayGetDim
lea eax, [rcx + 0xc]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
jb 0x140028638
mov dword [rbp + 0x1c], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
je 0x140028638
mov qword [rbp + 0x20], rax
mov r8d, r14d
mov dword [rbp + 0x18], r14d
mov dword [rbp + 0x208], 4
lea rcx, [rax + 4]
mov rdi, r13
cmp rcx, rax
cmovae rdi, rcx
sbb r9d, r9d
and r9d, 0xc0000095
cmp rcx, rax
jb 0x140026569
mov ecx, dword [rbp + 0x1c]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x140028638
mov dword [rdx], 4
mov r11d, 1
mov eax, dword [rbp + 0x208]
mov dword [rdi], eax
mov r8d, dword [rbp + 0x18]
add r8d, r11d
mov dword [rbp + 0x18], r8d
jmp 0x14002656f
mov r11d, 1
test r9d, r9d
js 0x140028638
mov ecx, dword [rsp + 0x78]
test ecx, ecx
je 0x1400266a0
cmp qword [rbp + 0x20], r14
jne 0x1400265d9
mov edx, dword [rbp + 0xd4]
or eax, 0xffffffff
cmp r12d, 4
cmovae eax, r12d
cmovae edx, eax
mov dword [rbp + 0xd4], edx
jb 0x140028638
mov ecx, dword [rbp + 0x1c]
or edi, 0xffffffff
lea eax, [rdx + rcx]
cmp eax, ecx
cmovae edi, eax
sbb r12d, r12d
and r12d, 0xc0000095
mov dword [rbp + 0x1c], edi
cmp eax, ecx
jb 0x1400266a9
add r8d, r11d
mov dword [rbp + 0x18], r8d
jmp 0x1400266b2
mov rdi, qword [rbp + 0x20]
mov r10d, r14d
test r8d, r8d
je 0x140026648
mov r9d, dword [rbp + 0xd4]
mov ecx, dword [rdi]
or eax, 0xffffffff
add ecx, 4
mov r11, rdi
cmp ecx, 4
cmovae eax, ecx
cmovae r9d, eax
mov dword [rbp + 0xd4], r9d
jb 0x140028638
mov rcx, rdi
mov edx, r9d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
mov r11d, 1
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb r12d, r12d
and r12d, 0xc0000095
cmp rdx, rcx
jb 0x1400266a6
add r10d, r11d
cmp r10d, r8d
jb 0x1400265ec
mov ecx, dword [rsp + 0x78]
lea rax, [rdi + 4]
mov r9, r13
cmp rax, rdi
cmovae r9, rax
sbb r12d, r12d
and r12d, 0xc0000095
cmp rax, rdi
jb 0x1400266a6
mov edx, dword [rbp + 0x1c]
add rdx, qword [rbp + 0x20]
mov r8d, ecx
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rdx
ja 0x140028638
mov rdx, qword [rbp - 0x68]
mov dword [rdi], ecx
mov rcx, r9
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp + 0x18]
mov r11d, 1
add r8d, r11d
mov dword [rbp + 0x18], r8d
jmp 0x1400266a6
mov r12d, 0xc000000d
mov edi, dword [rbp + 0x1c]
test r12d, r12d
js 0x140028638
mov r10, qword [rbp - 0x60]
test r10d, r10d
je 0x1400267e2
cmp qword [rbp + 0x20], r14
jne 0x140026723
mov edx, dword [rbp + 0x11c]
lea ecx, [r10 + 4]
or eax, 0xffffffff
cmp ecx, 4
cmovae eax, ecx
cmovae edx, eax
mov dword [rbp + 0x11c], edx
jb 0x140028638
mov ecx, edi
lea eax, [rdx + rdi]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
sbb r12d, r12d
and r12d, 0xc0000095
mov dword [rbp + 0x1c], edi
cmp eax, ecx
jb 0x1400267f0
mov rax, qword [rbp + 0x2b8]
add r8d, r11d
mov dword [rbp + 0x18], r8d
mov qword [rbp + 0x2c0], rax
jmp 0x14002680d
mov r9, qword [rbp + 0x20]
mov r11d, r14d
test r8d, r8d
je 0x14002678a
mov r10d, dword [rbp + 0x11c]
mov ecx, dword [r9]
or eax, 0xffffffff
add ecx, 4
cmp ecx, 4
cmovae eax, ecx
cmovae r10d, eax
mov dword [rbp + 0x11c], r10d
jb 0x140028638
mov rcx, r9
mov edx, r10d
add rdx, r9
mov rax, r13
cmp rdx, r9
cmovae rax, rdx
cmp rdx, rcx
mov r9, rax
sbb r12d, r12d
and r12d, 0xc0000095
cmp rdx, rcx
jb 0x1400267ea
inc r11d
cmp r11d, r8d
jb 0x140026736
mov r10, qword [rbp - 0x60]
lea rax, [r9 + 4]
mov rcx, r13
cmp rax, r9
cmovae rcx, rax
sbb r12d, r12d
and r12d, 0xc0000095
cmp rax, r9
jb 0x1400267ea
mov r8d, r10d
mov edx, edi
add rdx, qword [rbp + 0x20]
lea rax, [r8 + 4]
add rax, r9
cmp rax, rdx
ja 0x140028638
mov rdx, qword [rbp - 0x58]
mov dword [r9], r10d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp + 0x18]
mov r11d, 1
mov edi, dword [rbp + 0x1c]
add r8d, r11d
mov dword [rbp + 0x18], r8d
jmp 0x1400267f0
mov r12d, 0xc000000d
jmp 0x1400267f0
mov r11d, 1
test r12d, r12d
js 0x140028638
mov rax, qword [rbp + 0x2b8]
mov qword [rbp + 0x2c0], rax
cmp qword [rbp + 0x20], r14
jne 0x140026845
mov dword [rbp + 0x184], SafeArrayGetDim
mov ecx, edi
lea eax, [rdi + 0xc]
or edi, 0xffffffff
cmp eax, ecx
cmovae edi, eax
sbb r10d, r10d
and r10d, 0xc0000095
mov dword [rbp + 0x1c], edi
cmp eax, ecx
jb 0x1400268f9
add r8d, r11d
mov dword [rbp + 0x18], r8d
jmp 0x140026902
mov r9, qword [rbp + 0x20]
mov r12d, r14d
test r8d, r8d
je 0x1400268a8
mov r11d, dword [rbp + 0x184]
mov ecx, dword [r9]
or eax, 0xffffffff
add ecx, 4
cmp ecx, 4
cmovae eax, ecx
cmovae r11d, eax
mov dword [rbp + 0x184], r11d
jb 0x140028638
mov rcx, r9
mov edx, r11d
add rdx, r9
mov rax, r13
cmp rdx, r9
cmovae rax, rdx
cmp rdx, rcx
mov r9, rax
sbb r10d, r10d
and r10d, 0xc0000095
cmp rdx, rcx
jb 0x1400268f9
inc r12d
cmp r12d, r8d
jb 0x140026858
lea rax, [r9 + 4]
mov rdx, r13
cmp rax, r9
cmovae rdx, rax
sbb r10d, r10d
and r10d, 0xc0000095
cmp rax, r9
jb 0x1400268f9
mov ecx, edi
lea rax, [r9 + 0xc]
add rcx, qword [rbp + 0x20]
cmp rax, rcx
ja 0x140028638
mov dword [r9], 8
movsd xmm0, qword [rbp + 0x2c0]
movsd qword [rdx], xmm0
mov r8d, dword [rbp + 0x18]
mov edi, dword [rbp + 0x1c]
inc r8d
mov dword [rbp + 0x18], r8d
test r10d, r10d
js 0x140028638
mov dword [rbp + 0x3f0], SafeArrayGetDim
mov r10, r14
mov qword [rbp + 0x68], r14
mov r9d, r14d
mov dword [rsp + 0x70], r14d
mov qword [rbp + 0x190], r14
mov qword [rbp - 0x50], r14
mov dword [rbp - 0x70], r14d
mov qword [rbp - 0x18], r14
mov dword [rbp + 0x94], r14d
mov qword [rbp + 8], r14
mov qword [rbp - 0x48], r14
mov dword [rbp + 0x110], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2c8], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
sbb edi, edi
and edi, 0xc0000095
mov dword [rbp + 0x118], ecx
cmp eax, 8
jb 0x140026a6b
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14002698e
mov edi, 0xc0000095
jmp 0x140026a6b
mov dword [rbp + 0x118], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x1400269c5
mov edi, 0xc0000017
mov r9d, r14d
mov r10, r14
jmp 0x140026a67
mov eax, dword [rbp + 0x18]
mov rdx, r13
mov dword [r12], eax
mov r8d, 0xc0000095
lea rax, [r12 + 4]
cmp rax, r12
cmovae rdx, rax
sbb edi, edi
and edi, r8d
cmp rax, r12
jb 0x140026a3f
mov eax, dword [rbp + 0x1c]
mov rcx, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, r8d
cmp rax, rdx
jb 0x140026a3f
mov edx, dword [rbp + 0x118]
mov rax, qword [rbp + 0x2c8]
mov qword [rdx + r12 - 8], rax
mov r8d, dword [rbp + 0x1c]
mov rdx, qword [rbp + 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r9d, dword [rbp + 0x118]
mov r10, r12
mov qword [rbp + 0x68], r12
mov r12, r14
mov dword [rsp + 0x70], r9d
jmp 0x140026a45
mov r10, r14
mov r9d, r14d
test r12, r12
je 0x140026a67
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9d, dword [rsp + 0x70]
mov r10, qword [rbp + 0x68]
mov r8d, dword [rbp + 0x18]
or edi, 0x10000000
mov r12, r14
jl 0x14002767d
mov qword [rbp + 0x420], r14
mov qword [rbp + 0x428], r14
mov qword [rbp + 0x430], r14
mov qword [rbp + 0x438], r14
mov qword [rbp + 0x268], r14
mov qword [rbp + 0x418], r14
test r10, r10
jne 0x140026ab3
mov edi, 0xc000000d
jmp 0x140027291
mov edi, r9d
mov qword [rbp - 0x60], rdi
test r9d, r9d
je 0x1400271d7
lea rax, [rdi + 8]
mov qword [rbp - 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rdi + 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x40], rax
test rax, rax
je 0x1400271d3
mov r8, qword [rbp + 0x68]
mov dl, r14b
mov byte [rsp + 0x64], dl
mov rcx, r14
test rdi, rdi
je 0x140026b16
mov r9d, 1
xor dl, byte [rcx + r8]
add rcx, r9
cmp rcx, rdi
jb 0x140026b06
mov byte [rsp + 0x64], dl
mov r9, rax
mov qword [rbp + 0x928], rbx
or r10d, 0xffffffff
mov dword [rbp + 0x14], r14d
mov rax, rdi
mov dword [rbp - 0xc], r10d
mov dword [rsp + 0x70], r14d
mov r11d, r14d
mov dword [rbp - 0x40], r14d
and eax, 7
je 0x140026c6f
mov dword [rbp - 0x40], r14d
mov ecx, r14d
mov dword [rsp + 0x70], ecx
mov r10d, r14d
test eax, eax
je 0x140026bc3
mov r10d, 0x38
mov esi, ecx
lea ebx, [r10 - 0x37]
movzx edi, byte [r8]
lea rcx, [r8 + 1]
mov qword [rbp - 0x68], rcx
cmp r11d, 4
jge 0x140026b82
lea ecx, [r10 - 0x20]
shl edi, cl
mov ecx, dword [rsp + 0x70]
or esi, edi
jmp 0x140026b91
mov ecx, r10d
shl edi, cl
mov ecx, dword [rsp + 0x70]
or ecx, edi
mov dword [rsp + 0x70], ecx
mov rdi, qword [rbp - 0x68]
add r11d, ebx
sub r10d, 8
mov r8, rdi
cmp r11d, eax
jl 0x140026b62
mov rdi, qword [rbp - 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov dword [rbp - 0x40], esi
movabs rsi, 0x7f1137fab69605e
mov r10d, dword [rbp - 0x40]
mov r11d, r10d
mov r10d, ecx
xor r10d, 0x42f6b18d
xor r11d, 0xb17a307a
mov dword [rbp + 0x14], r11d
mov ecx, r14d
mov dword [rbp - 0xc], r10d
test eax, eax
je 0x140026c34
mov esi, 1
lea rbx, [r9 + 1]
mov qword [rbp - 0x68], rbx
cmp ecx, 4
jge 0x140026c01
rol r11d, 8
mov ebx, r11d
jmp 0x140026c08
rol r10d, 8
mov ebx, r10d
mov byte [r9], bl
add ecx, esi
mov rbx, qword [rbp - 0x68]
mov r9, rbx
cmp ecx, eax
jl 0x140026beb
mov r11d, dword [rbp + 0x14]
movabs rbx, 0xc81ecb17b1b54a58
mov r10d, dword [rbp - 0xc]
movabs rsi, 0x7f1137fab69605e
cmp eax, 4
jbe 0x140026c4f
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0xc], r10d
jmp 0x140026c6f
mov dword [rbp - 0xc], r14d
mov r10d, r14d
cmp eax, 4
jae 0x140026c6f
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp + 0x14], r11d
mov rax, rdi
shr rax, 3
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140026fbe
mov r15d, dword [rbp + 0x92c]
lea rdx, [r9 + 7]
mov rsi, qword [rbp - 0x68]
lea rcx, [r8 + 2]
mov r13d, dword [rsp + 0x70]
mov r12d, dword [rbp - 0x40]
movzx r14d, word [rbp + 0x92c]
movzx eax, bx
mov dword [rbp], eax
movzx eax, bx
mov dword [rsp + 0x6c], eax
movzx eax, word [rbp + 0x92a]
mov dword [rsp + 0x78], eax
shr r15d, 0x10
movzx eax, byte [rcx - 1]
movzx r9d, byte [rcx - 2]
movzx r8d, byte [rcx + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rcx]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 1]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 3]
or r8d, eax
movzx eax, byte [rcx + 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r8d, 8
or r8d, eax
mov qword [rbp - 0x68], rcx
movzx eax, word [rbp + 0x92a]
xor r10d, r8d
mov edi, r10d
sub edi, dword [rsp + 0x6c]
xor edi, r9d
xor edi, r11d
mov r11d, dword [rbp + 0x92c]
xor edi, r11d
mov ecx, edi
xor ecx, r11d
ror ecx, 0xf
imul ecx, eax
mov eax, edi
ror eax, 7
add ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xa
lea ecx, [r10 + rbx]
ror ecx, 9
imul ecx, r14d
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
rol eax, 5
xor ecx, r14d
rol ecx, 4
imul ecx, r15d
add ecx, eax
mov eax, r11d
xor r10d, ecx
mov ecx, r10d
xor ecx, ebx
sub eax, ecx
xor edi, eax
movzx eax, word [rbp + 0x92a]
mov ecx, edi
sub ecx, dword [rbp]
imul ecx, eax
mov eax, edi
shr eax, 6
sub ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xf
xor eax, r14d
imul eax, dword [rbp]
xor edi, eax
mov eax, edi
not eax
ror eax, 3
add eax, r15d
imul eax, r14d
xor r10d, eax
mov eax, r10d
sub eax, r11d
sub eax, dword [rsp + 0x6c]
xor edi, eax
mov eax, edi
mov ecx, edi
ror ecx, 0xa
xor eax, r15d
imul eax, dword [rsp + 0x78]
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor ecx, dword [rbp]
rol ecx, 6
imul ecx, r14d
ror eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
ror eax, 0xf
sub eax, r15d
imul eax, dword [rbp]
xor r10d, eax
mov ecx, r10d
mov eax, r10d
xor ecx, r15d
shr eax, 1
imul ecx, dword [rsp + 0x6c]
xor ecx, eax
mov eax, r10d
xor edi, ecx
shr eax, 0xf
mov ecx, r10d
sub ecx, r14d
rol ecx, 3
imul ecx, dword [rsp + 0x6c]
xor ecx, eax
movzx eax, word [rbp + 0x92a]
xor edi, ecx
mov ecx, edi
sub ecx, r14d
imul ecx, eax
mov eax, edi
shr eax, 0xd
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
mov eax, r10d
ror ecx, 9
imul ecx, r14d
ror eax, 0xb
xor ecx, eax
xor edi, ecx
mov eax, edi
sub eax, r15d
sub eax, ebx
xor r10d, eax
mov eax, r10d
mov ecx, r10d
xor eax, dword [rsp + 0x78]
imul eax, dword [rsp + 0x6c]
ror ecx, 7
sub eax, ecx
xor edi, eax
movzx eax, word [rbp + 0x92a]
mov ecx, edi
xor ecx, r15d
rol ecx, 4
imul ecx, eax
mov eax, edi
ror eax, 0x10
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
mov eax, r10d
ror ecx, 0xa
imul ecx, r14d
ror eax, 4
add ecx, eax
xor edi, ecx
mov ecx, edi
sub ecx, ebx
ror ecx, 4
mov eax, edi
imul ecx, r15d
ror eax, 9
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor ecx, r11d
rol eax, 2
rol ecx, 8
imul ecx, dword [rsp + 0x6c]
sub ecx, eax
movzx eax, word [rbp + 0x92a]
xor edi, ecx
mov ecx, r11d
sub ecx, edi
ror ecx, 0xb
imul ecx, eax
mov eax, edi
ror eax, 0xc
sub ecx, eax
movzx eax, word [rbp + 0x92a]
xor r10d, ecx
mov ecx, r10d
xor ecx, eax
mov eax, r10d
shr eax, 8
imul ecx, r14d
xor ecx, eax
xor edi, ecx
mov rcx, qword [rbp - 0x68]
xor r10d, edi
xor edi, r12d
mov dword [rbp + 0x14], edi
xor r10d, ebx
xor r10d, r11d
mov r12d, r9d
xor r10d, r13d
mov r13d, r8d
mov dword [rbp - 0xc], r10d
mov byte [rdx - 4], dil
mov al, byte [rbp - 0xc]
ror dword [rbp + 0x14], 8
mov byte [rdx], al
ror dword [rbp - 0xc], 8
mov al, byte [rbp + 0x14]
mov byte [rdx - 5], al
mov al, byte [rbp - 0xc]
ror dword [rbp + 0x14], 8
mov byte [rdx - 1], al
ror dword [rbp - 0xc], 8
mov al, byte [rbp + 0x14]
mov byte [rdx - 6], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp - 0xc]
mov byte [rdx - 2], al
ror dword [rbp - 0xc], 8
mov al, byte [rbp + 0x14]
mov byte [rdx - 7], al
mov al, byte [rbp - 0xc]
mov byte [rdx - 3], al
add rdx, 8
mov r11d, dword [rbp + 0x14]
mov r10d, dword [rbp - 0xc]
ror r11d, 8
ror r10d, 8
mov dword [rbp + 0x14], r11d
mov dword [rbp - 0xc], r10d
sub rsi, 1
jne 0x140026cc3
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
or r13, 0xffffffffffffffff
mov rdi, qword [rbp - 0x60]
mov r12d, r14d
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp + 0x40]
movzx eax, dl
mov qword [rcx + rdi], rax
mov rdi, qword [rbp - 0x58]
mov qword [rbp + 0x418], rdi
mov qword [rbp + 0x268], rcx
lea rax, [0x1400be390]
mov ebx, 8
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x428], rbx
lea rax, [0x1400be2f0]
mov qword [rbp + 0x438], LoadRegTypeLib
mov qword [rbp + 0x430], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [rbx + 0x28]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x140027035
mov edi, 0xc0000017
jmp 0x1400271bf
mov dword [rax], edi
mov edi, edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14002705f
mov edi, 0xc0000017
jmp 0x140027130
mov qword [rbx + 8], rax
mov rdx, qword [rbp + 0x40]
mov r8, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edi, LoadRegTypeLib
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edi, 8
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140027055
mov qword [rbx + 0x18], rax
lea rcx, [0x1400be2f0]
movups xmm0, xmmword [rcx]
lea edx, [rdi + 0x78]
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
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rbx + 0x20], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140027055
mov qword [rbx + 0x28], rax
movsd xmm0, qword [0x1400be390]
mov r12, rbx
movsd qword [rax], xmm0
mov edi, r14d
mov rbx, r14
test rbx, rbx
je 0x1400271bf
mov rax, qword [rbx + 8]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x14002715f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140027185
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x1400271ab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp + 0x18]
test edi, edi
js 0x1400271dc
mov qword [rbp + 0x190], r12
mov r12, r14
jmp 0x1400271dc
mov r8d, dword [rbp + 0x18]
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x268]
test rbx, rbx
je 0x140027207
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp + 0x18]
mov qword [rbp + 0x268], r14
test r12, r12
je 0x140027291
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x140027233
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 8], r14
mov rbx, qword [r12 + 0x18]
test rbx, rbx
je 0x140027256
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x18], r14
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x140027279
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp + 0x18]
or edi, 0x10000000
jl 0x140028562
mov rbx, qword [rbp + 0x190]
or r12d, 0xffffffff
mov ecx, r12d
mov r11d, 0xc0000095
mov eax, dword [rbx]
mov r10d, dword [rbx + 0x20]
add eax, 4
mov r9d, dword [rbx + 0x10]
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
and edi, r11d
cmp eax, 4
jb 0x140027332
lea eax, [rcx + 4]
mov edx, r12d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r11d
cmp eax, ecx
jb 0x140027332
lea eax, [rdx + r9]
mov ecx, r12d
cmp eax, edx
cmovae ecx, eax
sbb edi, edi
and edi, r11d
cmp eax, edx
jb 0x140027332
lea eax, [rcx + 4]
mov edx, r12d
cmp eax, ecx
cmovae edx, eax
sbb edi, edi
and edi, r11d
cmp eax, ecx
jb 0x140027332
mov r9d, dword [rbp + 0x114]
lea ecx, [rdx + r10]
cmp ecx, edx
mov eax, r12d
cmovae eax, ecx
sbb edi, edi
and edi, r11d
cmp ecx, edx
cmovae r9d, eax
mov dword [rbp + 0x114], r9d
jmp 0x140027339
mov r9d, dword [rbp + 0x114]
test edi, edi
js 0x140027496
mov edi, r9d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x14002736d
mov edi, 0xc0000017
jmp 0x140027492
mov eax, dword [rbx]
mov rcx, r13
mov dword [r12], eax
lea rax, [r12 + 4]
cmp rax, r12
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
mov qword [rbp - 0x68], rcx
cmp rax, r12
jb 0x140027479
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rdx, qword [rbp - 0x68]
mov r8, r13
mov ecx, dword [rbx]
mov r11d, 0xc0000095
add rcx, rdx
cmp rcx, rdx
cmovae r8, rcx
sbb edi, edi
and edi, r11d
cmp rcx, rdx
jb 0x140027479
mov eax, dword [rbx + 0x10]
mov rcx, r13
mov dword [r8], eax
lea rax, [r8 + 4]
cmp rax, r8
cmovae rcx, rax
sbb edi, edi
and edi, r11d
mov qword [rbp - 0x68], rcx
cmp rax, r8
jb 0x140027479
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8, qword [rbp - 0x68]
mov rdx, r13
mov ecx, dword [rbx + 0x10]
mov r11d, 0xc0000095
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, r11d
cmp rcx, r8
jb 0x140027479
mov eax, dword [rbx + 0x20]
mov rcx, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, r11d
mov qword [rbp - 0x68], rcx
cmp rax, rdx
jb 0x140027479
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rdx, qword [rbp - 0x68]
mov ecx, dword [rbx + 0x20]
add rcx, rdx
cmp rcx, rdx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rdx
jb 0x140027479
mov eax, dword [rbp + 0x114]
mov qword [rbp - 0x50], r12
mov r12, r14
mov dword [rbp - 0x70], eax
test r12, r12
je 0x140027492
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rbp + 0x18]
or edi, 0x10000000
jl 0x140027679
mov qword [rbp + 0x440], r14
mov r10d, r14d
mov dword [rbp + 0x238], r14d
mov r11d, r14d
mov qword [rbp + 0x448], r14
mov dword [rbp + 0x23c], r14d
mov dword [rbp + 0x3cc], 0x1c
mov dword [rbp + 0x344], SafeArrayCreateVectorEx
mov dword [rbp + 0x340], SafeArrayCreateVectorEx
cmp qword [rbp + 0x20], r14
jne 0x1400274f2
mov edi, 0xc000000d
jmp 0x140027875
mov r12d, 1
cmp r8d, r12d
jbe 0x1400274e8
mov rdx, qword [rbp + 0x20]
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 0x14002757f
mov ecx, dword [rdx]
mov rdx, r13
add rcx, r9
cmp rcx, r9
cmovae rdx, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r9
jb 0x14002757f
add ebx, r12d
cmp ebx, r12d
jb 0x140027504
mov r9d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
mov ebx, 0xc0000095
cmovae rcx, rax
sbb edi, edi
and edi, ebx
cmp rax, rdx
jb 0x140027584
test r9d, r9d
mov dword [rbp + 0x238], r9d
mov rax, r14
mov r10d, r9d
cmovne rax, rcx
mov qword [rbp + 0x440], rax
jmp 0x140027584
mov ebx, 0xc0000095
test edi, edi
js 0x140027679
cmp r8d, 2
jbe 0x1400274e8
mov rdx, qword [rbp + 0x20]
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 0x14002760a
mov ecx, dword [rdx]
mov rdx, r13
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, ebx
cmp rcx, r8
jb 0x14002760a
add r9d, r12d
cmp r9d, 2
jb 0x14002759d
mov r8d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb edi, edi
and edi, ebx
cmp rax, rdx
jb 0x14002760a
test r8d, r8d
mov dword [rbp + 0x23c], r8d
mov rax, r14
mov r11d, r8d
cmovne rax, rcx
mov qword [rbp + 0x448], rax
test edi, edi
js 0x140027679
lea eax, [r10 + 0x30]
or edx, 0xffffffff
cmp eax, 0x30
mov ecx, edx
cmovae ecx, eax
sbb edi, edi
and edi, ebx
cmp eax, 0x30
jb 0x14002765e
lea eax, [rcx + 4]
mov r8d, edx
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, ebx
cmp eax, ecx
jb 0x14002765e
lea ecx, [r8 + r11]
mov eax, edx
mov edx, dword [rbp + 0x188]
cmp ecx, r8d
cmovae eax, ecx
sbb edi, edi
and edi, ebx
cmp ecx, r8d
cmovae edx, eax
mov dword [rbp + 0x188], edx
jmp 0x140027664
mov edx, dword [rbp + 0x188]
test edi, edi
js 0x140027679
cmp edx, 0x400000
jbe 0x14002786f
mov edi, 0x8000ffff
mov r12, qword [rbp - 0x50]
mov rbx, qword [rbp + 0x68]
test rbx, rbx
je 0x14002769a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x190]
test rbx, rbx
je 0x140027724
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x1400276c7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x1400276e8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x140027709
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x190], r14
test r12, r12
je 0x14002773d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x14002775a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x1400277da
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x140027784
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x1400277a5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x1400277c6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x1400277f7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x140028638
mov r10d, 1
cmp dword [rbp + 0x120], r10d
jb 0x140028638
mov rdi, qword [rbp + 0x128]
test rdi, rdi
je 0x140028638
cmp dword [rbp + 0x120], r14d
jbe 0x140028638
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
mov rdx, r13
mov r11d, 0xc0000095
cmovae rdx, rax
sbb r8d, r8d
and r8d, r11d
cmp rax, rdi
jb 0x14002856a
test ecx, ecx
mov dword [rbp + 0x244], ecx
mov rax, r14
cmovne rax, rdx
mov qword [rbp + 0x458], rax
jmp 0x140028577
mov dword [rbp + 0x94], edx
test edi, edi
js 0x140027679
mov edi, dword [rbp + 0x94]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
mov r12, qword [rbp - 0x50]
test rax, rax
jne 0x1400278b0
mov edi, 0xd0000017
jmp 0x14002767d
mov qword [rbp - 0x18], rbx
test r12, r12
jne 0x1400278c3
mov edi, 0x80070057
jmp 0x14002767d
mov eax, dword [rbp - 0x70]
lea r8, [rbp + 0x450]
mov dword [rbp + 0x4a8], eax
lea rdx, [0x140087ed8]
mov eax, dword [rbp + 0x94]
mov ecx, 1
mov dword [rbp + 0x4ac], eax
mov qword [rbp + 0x498], r12
mov qword [rbp + 0x4a0], rbx
mov dword [rbp + 0x4b0], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14002792f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x140027927
mov edi, 0x80004005
mov edx, dword [rbp + 0x94]
jmp 0x14002797b
mov rcx, qword [rbp + 0x450]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14002790a
xor r9d, r9d
lea rdx, [rbp + 0x498]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [case.0x14006779e.0]
mov edx, dword [rbp + 0x94]
mov edi, eax
or edi, 0x10000000
cmovge edx, dword [rbp + 0x4ac]
mov dword [rbp + 0x94], edx
cmp edi, 0xd0000023
jne 0x14002798d
mov edi, 0x8007007a
jmp 0x14002767d
test edi, edi
js 0x14002767d
mov qword [rbp - 0x60], r14
cmp edx, 4
jae 0x1400279d6
mov edi, 0xc000003e
mov r12, r14
or edi, 0x10000000
jl 0x140027679
mov qword [rbp + 0x2d0], r14
mov rbx, r14
mov qword [rbp + 0x140], rbx
test r12, r12
jne 0x140027db4
mov edi, 0xd000000d
jmp 0x140027679
mov r11d, dword [rbx]
lea rax, [rbx + 4]
cmp rax, rbx
mov dword [rbp - 0x80], r11d
mov r12, r13
mov r10d, 0xc0000095
cmovae r12, rax
sbb edi, edi
and edi, r10d
cmp rax, rbx
jb 0x1400279a3
lea eax, [rdx - 4]
cmp eax, r11d
jb 0x14002799e
lea rcx, [r12 + r11]
mov r9, r13
cmp rcx, r12
cmovae r9, rcx
sbb edi, edi
and edi, r10d
cmp rcx, r12
jb 0x1400279a3
lea eax, [r11 + 4]
or ecx, 0xffffffff
cmp eax, 4
cmovae ecx, eax
sbb edi, edi
and edi, r10d
cmp eax, 4
jb 0x1400279a3
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14002799e
mov ebx, dword [r9]
lea rax, [r9 + 4]
cmp rax, r9
mov dword [rsp + 0x78], ebx
mov r8, r13
cmovae r8, rax
sbb edi, edi
and edi, r10d
mov qword [rbp - 0x68], r8
cmp rax, r9
jb 0x1400279a3
lea eax, [rcx + 4]
or r9d, 0xffffffff
cmp eax, ecx
cmovae r9d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x1400279a3
mov eax, edx
sub eax, r9d
cmp eax, ebx
jb 0x14002799e
lea rcx, [r8 + rbx]
mov r10, r13
cmp rcx, r8
cmovae r10, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, r8
jb 0x1400279a3
lea eax, [r9 + rbx]
or r8d, 0xffffffff
cmp eax, r9d
cmovae r8d, eax
sbb edi, edi
and edi, 0xc0000095
cmp eax, r9d
jb 0x1400279a3
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14002799e
mov r9d, dword [r10]
lea rax, [r10 + 4]
cmp rax, r10
mov dword [rbp - 0x70], r9d
mov rcx, r13
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
mov qword [rbp - 0x58], rcx
cmp rax, r10
jb 0x1400279a3
lea eax, [r8 + 4]
or ecx, 0xffffffff
cmp eax, r8d
mov r10d, 0xc0000095
cmovae ecx, eax
sbb edi, edi
and edi, r10d
cmp eax, r8d
jb 0x1400279a3
mov eax, edx
sub eax, ecx
cmp eax, r9d
jb 0x14002799e
lea eax, [rcx + r9]
or r8d, 0xffffffff
cmp eax, ecx
cmovae r8d, eax
sbb edi, edi
and edi, r10d
cmp eax, ecx
jb 0x1400279a3
cmp edx, r8d
jne 0x14002799e
lea ecx, [rbx + r11]
mov eax, edx
add ecx, r9d
add rcx, 0xc
cmp rcx, rax
jne 0x14002799e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x140027b9a
mov edi, 0xc0000017
jmp 0x140027d06
test r12, r12
je 0x140027be0
mov eax, dword [rbp - 0x80]
mov dword [rbx], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140027bcc
mov edi, 0xc0000017
jmp 0x140027c8a
mov qword [rbx + 8], rax
mov r8, rdi
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140027be7
mov dword [rax], r14d
mov qword [rax + 8], r14
mov rdi, qword [rbp - 0x68]
test rdi, rdi
je 0x140027c2a
mov eax, dword [rsp + 0x78]
mov dword [rbx + 0x10], eax
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140027bc2
mov qword [rbx + 0x18], rax
mov r8d, r12d
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140027c32
mov dword [rbx + 0x10], r14d
mov qword [rbx + 0x18], r14
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x140027c78
mov eax, dword [rbp - 0x70]
mov dword [rbx + 0x20], eax
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140027bc2
mov qword [rbx + 0x28], rax
mov r8d, r12d
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140027c80
mov dword [rbx + 0x20], r14d
mov qword [rbx + 0x28], r14
mov qword [rbp - 0x60], rbx
mov edi, r14d
mov rbx, r14
test rbx, rbx
je 0x140027d06
mov r12, qword [rbx + 8]
test r12, r12
je 0x140027cb0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x140027cd1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x140027cf2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp - 0x60]
test edi, edi
mov rbx, r14
cmovs rbx, qword [rbp - 0x60]
cmovs r12, r14
mov qword [rbp + 8], r12
test rbx, rbx
je 0x1400279a6
mov rax, qword [rbx + 8]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140027d4b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140027d71
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140027d97
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x68]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 8], r12
jmp 0x1400279a6
mov rdi, qword [r12 + 8]
mov qword [rbp - 0x60], rdi
test rdi, rdi
je 0x1400279cc
cmp dword [r12], r14d
je 0x1400279cc
mov r12d, dword [r12]
mov dword [rbp + 0x80], r14d
test r12, r12
je 0x140028331
add r12, 0xfffffffffffffff8
mov qword [rbp - 0x58], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x70], rax
mov r9, rax
test rax, rax
je 0x14002832a
mov rax, rdi
mov qword [rbp + 0x940], rsi
mov rdi, r12
mov dword [rbp - 4], r14d
mov dl, r14b
mov r10, r9
mov byte [rsp + 0x64], dl
mov r11d, r14d
mov r8d, r14d
and edi, 7
je 0x140027f2d
or dword [rbp - 0x1c], 0xffffffff
mov dword [rbp - 0x78], ebx
mov dword [rbp + 0x60], r14d
test edi, edi
je 0x140027e9b
mov esi, 0x38
lea r15d, [rsi - 0x37]
lea rcx, [rax + 1]
movzx eax, byte [rax]
mov qword [rbp - 0x68], rcx
cmp r8d, 4
jge 0x140027e6d
lea ecx, [rsi - 0x20]
shl eax, cl
or r11d, eax
jmp 0x140027e73
mov ecx, esi
shl eax, cl
or ebx, eax
mov rcx, qword [rbp - 0x68]
add r8d, r15d
sub esi, 8
mov rax, rcx
cmp r8d, edi
jl 0x140027e52
mov r15d, dword [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
mov dword [rbp + 0x60], r11d
mov dword [rbp - 0x78], ebx
xor r11d, 0x92f65a5
mov r8d, ebx
xor r8d, 0x699a899c
mov dword [rbp - 4], r11d
mov dword [rbp - 0x1c], r8d
mov ecx, r14d
test edi, edi
je 0x140027ef0
lea rbx, [r10 + 1]
mov qword [rbp - 0x68], rbx
cmp ecx, 4
jge 0x140027ed1
rol r11d, 8
mov ebx, r11d
jmp 0x140027ed8
rol r8d, 8
mov ebx, r8d
mov byte [r10], bl
inc ecx
mov rbx, qword [rbp - 0x68]
mov r10, rbx
cmp ecx, edi
jl 0x140027ebb
mov r11d, dword [rbp - 4]
mov r8d, dword [rbp - 0x1c]
cmp edi, 4
jbe 0x140027f0b
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x1c], r8d
jmp 0x140027f39
mov dword [rbp - 0x1c], r14d
mov r8d, r14d
cmp edi, 4
jae 0x140027f39
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 4], r11d
jmp 0x140027f39
or dword [rbp - 0x78], 0xffffffff
mov dword [rbp + 0x60], r14d
mov dword [rbp - 0x1c], r14d
mov rcx, r12
shr rcx, 3
mov qword [rbp - 0x68], rcx
test rcx, rcx
je 0x14002828f
mov ebx, dword [rbp + 0x944]
lea r15, [r10 + 7]
mov edx, dword [rbp - 0x78]
mov ecx, ebx
mov r12d, dword [rbp + 0x60]
mov r14, qword [rbp - 0x68]
shr ecx, 0x10
mov dword [rbp - 0x80], ecx
mov r13d, dword [rbp - 0x80]
movzx ecx, bx
mov dword [rbp + 0x78], ecx
mov ecx, ebx
xor ecx, esi
mov dword [rbp - 0x70], ecx
movzx ecx, si
mov dword [rsp + 0x6c], ecx
movzx ecx, word [rbp + 0x942]
mov dword [rsp + 0x78], ecx
lea rcx, [rax + 2]
movzx eax, byte [rcx - 1]
mov edi, ebx
movzx r10d, byte [rcx - 2]
movzx r9d, byte [rcx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rcx]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 1]
shl r10d, 8
or r10d, eax
movzx eax, byte [rcx + 3]
or r9d, eax
xor r11d, r10d
movzx eax, byte [rcx + 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r9d, 8
mov qword [rbp - 0x68], rcx
or r9d, eax
xor r8d, r9d
xor edi, r8d
mov r8d, dword [rbp + 0x78]
xor edi, r11d
xor edi, esi
mov ecx, edi
mov eax, edi
sub ecx, esi
rol eax, 0xa
rol ecx, 5
imul ecx, r8d
add ecx, eax
movzx eax, word [rbp + 0x942]
xor r11d, ecx
lea ecx, [rbx + r11]
ror ecx, 9
imul ecx, eax
mov eax, r11d
rol eax, 2
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, r8d
shr eax, 0xd
imul ecx, dword [rsp + 0x6c]
sub ecx, eax
movzx eax, word [rbp + 0x942]
xor r11d, ecx
mov ecx, r11d
xor ecx, eax
mov eax, r11d
rol ecx, 6
imul ecx, r13d
rol eax, 2
sub ecx, eax
mov eax, ebx
xor edi, ecx
mov ecx, edi
xor ecx, esi
sub eax, ecx
xor r11d, eax
mov eax, r11d
mov ecx, r11d
ror ecx, 6
xor eax, r8d
imul eax, dword [rsp + 0x78]
xor ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 2
lea ecx, [rbx + rdi]
ror ecx, 0xf
imul ecx, dword [rsp + 0x6c]
add ecx, eax
xor r11d, ecx
mov ecx, r11d
sub ecx, esi
mov eax, r11d
ror ecx, 0xe
imul ecx, r13d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov ecx, esi
xor ecx, edi
mov eax, edi
ror ecx, 0xc
imul ecx, r8d
ror eax, 0xa
xor ecx, eax
movzx eax, word [rbp + 0x942]
xor r11d, ecx
mov ecx, r13d
xor ecx, r11d
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 [rsp + 0x6c]
imul eax, r13d
xor r11d, eax
mov r8d, r11d
sub r8d, r13d
xor r8d, edi
xor r8d, esi
mov ecx, r8d
mov eax, r8d
xor ecx, r13d
shr eax, 2
rol ecx, 2
imul ecx, dword [rbp + 0x78]
add ecx, eax
movzx eax, word [rbp + 0x942]
xor r11d, ecx
mov ecx, r11d
sub ecx, ebx
ror ecx, 6
imul ecx, eax
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
mov eax, r8d
mov ecx, r8d
xor eax, dword [rbp + 0x78]
imul eax, dword [rsp + 0x6c]
ror ecx, 9
add ecx, eax
movzx eax, word [rbp + 0x942]
xor r11d, ecx
mov ecx, r11d
xor ecx, eax
mov eax, r11d
rol ecx, 5
imul ecx, r13d
rol eax, 7
add ecx, eax
xor r8d, ecx
movzx ecx, word [rbp + 0x942]
mov edi, r8d
xor edi, r11d
xor edi, dword [rbp - 0x70]
mov eax, edi
ror eax, 3
sub eax, ecx
imul eax, dword [rbp + 0x78]
xor r8d, eax
mov ecx, r8d
mov eax, r8d
sub ecx, ebx
ror ecx, 1
imul ecx, dword [rsp + 0x6c]
ror eax, 6
sub ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 0xe
lea ecx, [rdi + rsi]
rol ecx, 3
imul ecx, r13d
add ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xe
lea ecx, [r8 + rsi]
rol ecx, 0xf
imul ecx, dword [rbp + 0x78]
sub ecx, eax
movzx eax, word [rbp + 0x942]
xor edi, ecx
mov ecx, edi
xor ecx, dword [rsp + 0x6c]
imul ecx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, ebx
xor ecx, r8d
mov eax, r8d
rol eax, 2
xor r8d, edx
mov dword [rbp - 0x1c], r8d
mov edx, r9d
rol ecx, 4
imul ecx, dword [rsp + 0x6c]
xor ecx, eax
xor ecx, r12d
mov r12d, r10d
xor edi, ecx
mov rcx, qword [rbp - 0x68]
mov dword [rbp - 4], edi
mov byte [r15 - 4], dil
mov edi, 1
mov al, byte [rbp - 0x1c]
ror dword [rbp - 4], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 4]
mov byte [r15 - 0xd], al
mov al, byte [rbp - 0x1c]
ror dword [rbp - 4], 8
mov byte [r15 - 9], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 4]
mov byte [r15 - 0xe], al
ror dword [rbp - 4], 8
mov al, byte [rbp - 0x1c]
mov byte [r15 - 0xa], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 4]
mov byte [r15 - 0xf], al
mov al, byte [rbp - 0x1c]
mov byte [r15 - 0xb], al
mov r11d, dword [rbp - 4]
mov r8d, dword [rbp - 0x1c]
ror r11d, 8
ror r8d, 8
mov dword [rbp - 4], r11d
mov dword [rbp - 0x1c], r8d
sub r14, rdi
jne 0x140027f91
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
or r13, 0xffffffffffffffff
mov r12, qword [rbp - 0x58]
mov r9, qword [rbp + 0x70]
jmp 0x140028294
mov edi, 1
mov rax, r14
test r12, r12
je 0x1400282a8
xor dl, byte [rax + r9]
add rax, rdi
cmp rax, r12
jb 0x14002829c
mov rcx, qword [rbp - 0x60]
movzx eax, dl
cmp rax, qword [r12 + rcx]
je 0x1400282c3
mov rbx, qword [rbp + 0x140]
mov edi, 0xc004d501
jmp 0x1400282e1
mov edi, dword [rbp + 0x80]
mov rbx, r9
mov qword [rbp + 0x140], rbx
mov r9, r14
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x2d0], r12
test r9, r9
je 0x140028302
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x70]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x140]
test edi, edi
js 0x140028331
mov ecx, dword [rbp + 0x2d0]
mov r12, rbx
mov qword [rbp - 0x48], rbx
mov edi, 0x10000000
mov rbx, r14
mov dword [rbp + 0x110], ecx
mov qword [rbp + 0x140], rbx
jmp 0x14002833f
mov rbx, qword [rbp + 0x140]
mov ecx, dword [rbp + 0x110]
mov edi, 0xd0000001
mov r12, r14
test rbx, rbx
je 0x140028365
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp + 0x110]
mov qword [rbp + 0x140], r14
test edi, edi
js 0x140027679
cmp ecx, 4
jb 0x140028554
mov eax, dword [r12]
mov rdx, r13
mov dword [rbp - 0x80], eax
mov r9d, 0xc0000095
lea rax, [r12 + 4]
cmp rax, r12
cmovae rdx, rax
sbb edi, edi
and edi, r9d
cmp rax, r12
jb 0x140028559
lea eax, [rcx - 4]
cmp eax, 4
jb 0x140028554
mov esi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rbx, r13
cmovae rbx, rax
sbb edi, edi
and edi, r9d
cmp rax, rdx
jb 0x140028559
lea eax, [rcx - 8]
cmp eax, esi
jb 0x140028554
lea eax, [rsi + 8]
cmp eax, 8
sbb edi, edi
and edi, r9d
cmp eax, 8
jb 0x140028559
mov edx, ecx
mov r10d, esi
lea rcx, [rbx + rsi]
lea rax, [r12 + rdx]
cmp rax, rcx
jb 0x140028554
mov rax, r12
sub rax, rbx
sub rax, rsi
add rax, rdx
cmp rax, 8
jae 0x140028554
mov dword [rsp + 0x78], r14d
mov r12, r14
mov edi, r14d
mov r11d, r14d
test rbx, rbx
je 0x1400284e4
cmp rcx, rbx
mov r8, r13
mov rdx, rbx
cmovae r8, rcx
sbb edi, edi
and edi, r9d
cmp rcx, rbx
jb 0x140028545
cmp rbx, r8
jae 0x1400284df
mov r9d, dword [rbp + 0x240]
lea rax, [rdx + 4]
mov rcx, r13
cmp rax, rdx
cmovae rcx, rax
sbb edi, edi
and edi, 0xc0000095
cmp rax, rdx
jb 0x140028545
cmp rcx, r8
ja 0x14002850e
mov ecx, dword [rdx]
or eax, 0xffffffff
add ecx, 4
cmp ecx, 4
cmovae eax, ecx
sbb edi, edi
and edi, 0xc0000095
cmp ecx, 4
cmovae r9d, eax
mov dword [rbp + 0x240], r9d
jb 0x140028545
mov ecx, r9d
mov rax, r13
add rcx, rdx
cmp rcx, rdx
cmovae rax, rcx
sbb edi, edi
and edi, 0xc0000095
cmp rcx, rdx
jb 0x140028545
cmp rax, r8
ja 0x14002850e
inc r11d
mov rdx, rax
mov dword [rsp + 0x78], r11d
cmp rax, r8
jb 0x140028457
cmp rdx, r8
jne 0x14002850e
test esi, esi
je 0x14002851b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x140028515
mov edi, 0xc0000017
jmp 0x140028545
mov edi, 0xc000000d
jmp 0x140028559
mov edi, r14d
mov r10, rsi
test rbx, rbx
je 0x14002852e
mov r8, r10
mov rdx, rbx
mov rcx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0x120], eax
mov qword [rbp + 0x128], r12
mov dword [rbp + 0x124], esi
test edi, edi
js 0x140028559
mov eax, dword [rbp - 0x80]
cmp eax, dword [rbp + 0x120]
je 0x140028559
mov edi, 0xc000003e
bts edi, 0x1c
jmp 0x140027679
mov r12, r14
jmp 0x14002767d
mov ecx, dword [rbp + 0x244]
mov rax, qword [rbp + 0x458]
test r8d, r8d
js 0x140028638
cmp ecx, 4
jne 0x140028638
mov eax, dword [rax]
mov dword [rbp + 0x248], eax
test eax, eax
js 0x140028638
cmp dword [rbp + 0x120], r10d
jbe 0x140028638
mov rdx, qword [rbp + 0x128]
mov r9d, r14d
lea rax, [rdx + 4]
mov r8, r13
cmp rax, rdx
cmovae r8, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x140028618
mov ecx, dword [rdx]
mov rdx, r13
add rcx, r8
cmp rcx, r8
cmovae rdx, rcx
sbb edi, edi
and edi, r11d
cmp rcx, r8
jb 0x140028618
add r9d, r10d
cmp r9d, r10d
jb 0x1400285b0
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r13, rax
sbb edi, edi
and edi, r11d
cmp rax, rdx
jb 0x140028618
test ecx, ecx
mov dword [rbp + 0xdc], ecx
mov rax, r14
cmovne rax, r13
mov qword [rbp + 0x460], rax
jmp 0x140028625
mov ecx, dword [rbp + 0xdc]
mov rax, qword [rbp + 0x460]
test edi, edi
js 0x140028638
cmp ecx, 8
jne 0x140028638
mov rax, qword [rax]
mov qword [rbp + 0x4b8], rax
mov r12, qword [rbp - 0x28]
and qword [rbp + 0x18], 0
mov rdi, qword [rbp + 0x20]
test rdi, rdi
je 0x140028662
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x20], r14
and qword [rbp + 0x120], 0
mov rdi, qword [rbp + 0x128]
test rdi, rdi
je 0x140028691
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x128], r14
test r12, r12
je 0x1400286aa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x88]
test rdi, rdi
je 0x1400286ca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0x108]
mov ebx, dword [rbp + 0x150]
mov dword [rbp + 0x33c], eax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x258], rax
mov qword [rbp + 0x148], r14
jmp 0x14001edd4
cmp r15d, 0xd00000e5
je 0x14002871c
cmp r15d, 0xc004d501
je 0x14002871c
cmp r15d, 0xd000003e
jne 0x140028722
mov r15d, 0xc004f028
jmp 0x14001ee7a
mov r15d, 0xc004f027
test r15d, r15d
jns 0x14002873d
mov eax, 0x8007007a
cmp r15d, eax
jne 0x14001ee7a
mov r14d, 0xc004f01e
jmp 0x140028754
cmp ebx, 4
jne 0x140028735
mov rcx, qword [rbp + 0x258]
mov rax, qword [rbp + 0x468]
mov edx, dword [rcx]
mov dword [rax], edx
lea rcx, [rbp + 0x258]
call fcn.1400484dc
mov eax, r14d
mov rcx, qword [rbp + 0x1110]
xor rcx, rsp
call fcn.140067150
mov rbx, qword [rsp + 0x1260]
add rsp, 0x1220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret