Function at 0x14004c1c4
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 rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x10d8]
mov eax, 0x11b0
call fcn.1400ad950
sub rsp, rax
mov rax, qword [0x1400e6870]
xor rax, rsp
mov qword [rbp + 0x10a0], rax
mov rax, rcx
mov qword [rbp + 0x330], rcx
xor ecx, ecx
test rax, rax
jne 0x14004c25b
mov rcx, qword [0x1400df278]
lea rax, [0x1400df278]
mov edi, 0x80004003
cmp rcx, rax
je 0x140055c58
mov r12d, 1
test byte [rcx + 0x1c], r12b
je 0x140055c58
mov rcx, qword [rcx + 0x10]
lea edx, [r12 + 0xe]
mov r9d, edi
lea r8, [0x1400bafb0]
call fcn.14000a9b0
jmp 0x140055c58
xor eax, eax
mov dword [rbp + 0xe0], ecx
mov byte [rbp + 0x18], cl
mov qword [rbp + 0x228], rax
mov qword [rbp + 0x1c8], rax
lea r12d, [rax + 1]
mov dword [rbp + 0x10c], eax
mov dword [rbp + 0x108], eax
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0x50], eax
xor eax, eax
lock cmpxchg dword [0x1400e7fcc], r12d
jne 0x14004c28e
mov eax, dword [0x1400e7fc8]
or edi, 0xffffffff
mov dword [rbp + 0x58], edi
mov r14d, 0x338
test eax, eax
jne 0x14004c84d
xor eax, eax
mov dword [rbp - 0x40], eax
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x238], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r14d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rsi, rax
xor eax, eax
test rsi, rsi
je 0x14004c7b3
mov ebx, eax
lea r14, [rsi + 7]
mov ecx, edi
lea r15, [0x1400c3fb2]
mov r10d, eax
lea r13d, [rax + 0x67]
mov r11d, eax
movzx eax, byte [r15 - 1]
movzx r9d, byte [r15 - 2]
movzx r8d, byte [r15 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 5]
or r8d, eax
xor r11d, r9d
movzx eax, byte [r15 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r15 - 3]
shl r8d, 8
or r8d, eax
xor r10d, r8d
xor r10d, r11d
xor r10d, 0xac987321
lea eax, [r10 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r10d
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 r10d, edx
imul edx, r10d, 0x605e
mov eax, r10d
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 r10d, edx
mov edx, r10d
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 r10d, edi
mov edi, 0xab69605e
lea eax, [r10 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r10d
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 r10d, edx
mov eax, r10d
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r10d
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, r10d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r10d, [r11 - 0x7f1]
xor r10d, edx
xor r10d, edi
mov eax, r10d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r10d
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 r10d, edx
mov eax, r10d
mov edi, r10d
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 r10d, edx
xor r11d, r10d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r10d, edx
lea eax, [r10 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r10d
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 r10d, edx
lea eax, [r10 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r10d
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 r10d, edx
mov eax, r10d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r10d
xor r10d, ecx
rol eax, 2
mov ecx, r8d
xor edx, eax
xor edx, ebx
mov ebx, r9d
xor r11d, edx
mov byte [r14 - 4], r11b
mov byte [r14], r10b
lea r14, [r14 + 8]
ror r11d, 8
mov byte [r14 - 0xd], r11b
ror r10d, 8
mov byte [r14 - 9], r10b
ror r11d, 8
mov byte [r14 - 0xe], r11b
ror r10d, 8
mov byte [r14 - 0xa], r10b
ror r11d, 8
ror r10d, 8
mov byte [r14 - 0xf], r11b
mov byte [r14 - 0xb], r10b
ror r10d, 8
ror r11d, 8
sub r13, r12
jne 0x14004c30f
xor r8d, r8d
mov r14d, 0x338
mov eax, r8d
mov cl, r8b
mov ebx, r8d
mov r13d, r8d
xor cl, byte [rax + rsi]
add rax, r12
cmp rax, r14
jb 0x14004c615
movzx eax, cl
cmp rax, qword [0x1400c42e8]
je 0x14004c633
mov edi, 0xc004d501
jmp 0x14004c646
mov qword [rbp + 0x140], rsi
mov edi, ebx
mov rsi, r8
mov qword [rbp + 0x238], r14
test rsi, rsi
je 0x14004c66e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r8d, r8d
test edi, edi
js 0x14004c7b6
mov rax, qword [rbp + 0x238]
lea rsi, [0x1400e7b20]
mov rdi, qword [rbp + 0x140]
xor edx, edx
mov rcx, rsi
mov byte [rax + rdi - 1], r8b
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r8d, r8d
jmp 0x14004c7a8
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r8w
jne 0x14004c6ad
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r8d, r8d
test eax, eax
je 0x14004c7b6
mov rax, qword [rsi]
mov ecx, 0x5a4d
mov ebx, r8d
cmp word [rax], cx
je 0x14004c6f9
mov ebx, 0xc000007b
jmp 0x14004c743
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14004c6f2
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x14004c6f2
cmp dword [rcx], 0x4550
jne 0x14004c6f2
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14004c732
mov ebx, 0xc000000d
jmp 0x14004c743
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov r15d, dword [rdi + 2]
mov r14d, r8d
add rdi, 6
test r15d, r15d
je 0x14004c79e
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r8b
jne 0x14004c75a
inc rdi
add rdi, rax
test ebx, ebx
js 0x14004c792
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
xor r8d, r8d
test rax, rax
je 0x14004c7bb
mov ecx, dword [rbp - 0x40]
lea rdx, [0x1400df0e0]
mov qword [rdx + rcx*8], rax
add dword [rbp - 0x40], r12d
add r14d, r12d
cmp r14d, r15d
jb 0x14004c753
add r13d, r12d
lea rsi, [0x1400e7b20]
cmp byte [rdi], r8b
jne 0x14004c6a6
jmp 0x14004c7bb
xor r8d, r8d
mov ebx, 0xc000007a
cmp qword [rbp + 0x140], r8
je 0x14004c7eb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x140]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r8d, r8d
test ebx, ebx
jns 0x14004c847
lea rsi, [0x1400e7b20]
mov ebx, 4
mov rdi, rsi
mov rcx, qword [rdi]
test rcx, rcx
je 0x14004c815
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor r8d, r8d
add rdi, 0x18
sub rbx, r12
jne 0x14004c7fe
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400b1e90]
lea rcx, [0x1400df0e0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14004c856
mov eax, dword [0x1400e7fc8]
add eax, r12d
mov dword [0x1400e7fc8], eax
xor edi, edi
mov r15d, 0x80070000
mov eax, edi
mov esi, edi
xchg dword [0x1400e7fcc], eax
mov qword [rbp + 0x190], rdi
mov ebx, edi
mov qword [rbp + 0x1a0], rdi
lea r13d, [rdi + 0xf]
mov rax, qword gs:[0x60]
cmp dword [rax + 0x2c0], edi
je 0x14004cb63
mov rax, qword [0x1400df1f0]
call qword [case.0x1400ad4ce.0]
mov r14, rax
test rax, rax
jne 0x14004c8cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14004cb66
mov ebx, 0x80004005
jmp 0x14004cb66
mov r9d, edi
lea rax, [rbp + 0xf8]
mov qword [rbp + 0xa0], rdi
mov qword [rsp + 0x20], rax
mov r8, rdi
mov rax, qword [0x1400df210]
mov edx, 2
mov rcx, r14
call qword [case.0x1400ad4ce.0]
xor edi, edi
test eax, eax
jne 0x14004c982
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x14004c971
cmp qword [rbp + 0xa0], rdi
jne 0x14004c96a
mov edi, dword [rbp + 0xf8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0xa0]
mov rdi, rax
call fcn.14008731c
test rdi, rdi
je 0x14004c963
mov r9d, dword [rbp + 0xf8]
jmp 0x14004c8d2
mov ebx, 0x8007000e
jmp 0x14004c990
mov ebx, 0x80004005
jmp 0x14004c997
test eax, eax
je 0x14004c96a
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x14004c997
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x190], rax
mov qword [rbp + 0xa0], rdi
lea rcx, [rbp + 0xa0]
call fcn.14008731c
test ebx, ebx
js 0x14004cb66
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
nop dword [rax + rax]
mov ecx, eax
mov rax, qword [0x1400df208]
call qword [case.0x1400ad4ce.0]
mov r14, rax
test rax, rax
je 0x14004c8a6
mov ebx, edi
mov r9d, edi
lea rax, [rbp + 0xf4]
mov qword [rbp + 0x98], rdi
mov qword [rsp + 0x20], rax
mov r8, rdi
mov rax, qword [0x1400df210]
mov edx, 2
mov rcx, r14
call qword [case.0x1400ad4ce.0]
xor edi, edi
test eax, eax
jne 0x14004ca95
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x14004ca7e
cmp qword [rbp + 0x98], rdi
jne 0x14004ca73
mov edi, dword [rbp + 0xf4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x98]
mov rdi, rax
call fcn.14008731c
test rdi, rdi
je 0x14004ca6c
mov r9d, dword [rbp + 0xf4]
jmp 0x14004c9d7
mov ebx, 0x8007000e
jmp 0x14004caa3
mov r14d, 0x80004005
mov ebx, r14d
jmp 0x14004cab0
mov r14d, 0x80004005
test eax, eax
je 0x14004ca79
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x14004cab0
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x1a0], rax
mov r14d, 0x80004005
mov qword [rbp + 0x98], rdi
lea rcx, [rbp + 0x98]
call fcn.14008731c
test ebx, ebx
js 0x14004cb66
mov rcx, qword [rbp + 0x190]
test rcx, rcx
je 0x14004cb63
lea rdx, str.WinSta0
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14004cb63
mov rcx, qword [rbp + 0x1a0]
test rcx, rcx
je 0x14004cb63
lea rdx, str.Default
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14004cb63
xor eax, eax
mov dword [rbp + 0xf0], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
nop dword [rax + rax]
mov r9d, 4
lea r8, [rbp + 0xf0]
mov rcx, rax
lea edx, [r9 + 7]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_1.dll_GetProcessMitigationPolicy]
nop dword [rax + rax]
test eax, eax
jne 0x14004cb58
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14004cb66
mov ebx, r14d
jmp 0x14004cb66
test byte [rbp + 0xf0], r13b
cmove esi, r12d
mov dword [rbp + 0x50], esi
lea rcx, [rbp + 0x1a0]
call fcn.14008731c
lea rcx, [rbp + 0x190]
call fcn.14008731c
mov eax, dword [rbp + 0x50]
test ebx, ebx
cmovs eax, edi
mov dword [rbp + 0x50], eax
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0xc0]
mov qword [rbp - 0x20], rax
mov rdi, rax
call fcn.1400872ec
xor r10d, r10d
mov r13d, 0x8007007a
test rdi, rdi
jne 0x14004cbce
mov qword [rbp + 0xc0], r10
lea r14d, [r13 - 0x6c]
jmp 0x140055aa3
xorps xmm0, xmm0
mov qword [rbp + 0xc0], rdi
lea rax, [0x1400e6aa0]
mov qword [rbp - 0x50], r10
movups xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x2a8], rax
mov r13, r10
mov qword [rbp - 0x60], r10
mov dword [rbp + 0xfc], r10d
mov dword [rbp + 0x8c], r10d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edi, 8
mov r8d, 0xa0
mov rcx, rax
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
lea edx, [rdi + 0x78]
lea r8, [0x1400e69e0]
mov r15, rax
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r14d, 0xc0000017
test rax, rax
jne 0x14004cc64
mov dword [rsp + 0x60], r14d
jmp 0x14004cd09
mov rax, qword [rbp + 0x2a8]
mov qword [rsp + 0x68], r15
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r15 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r15 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r15 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r15 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r15 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r15 + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [r15 + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [r15 + rdx + 0x10], xmm1
mov qword [rbp + 0x2b0], r8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov r13, rax
test rax, rax
jne 0x14004ce68
mov dword [rsp + 0x60], r14d
mov r13, r15
and qword [rbp - 0x68], 0
mov rdi, qword [rbp - 0x60]
test rdi, rdi
je 0x14004cd3e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp - 0x60], r10
and qword [rbp + 0x78], 0
mov rdi, qword [rbp + 0x80]
test rdi, rdi
je 0x14004cd79
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x80], r10
test r13, r13
je 0x14004cda1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, qword [rbp - 0x50]
test rdi, rdi
je 0x14004cdcd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r14d, r14d
js 0x140055a9d
mov eax, dword [rbp + 0x50]
test eax, eax
je 0x140054dc6
mov r15d, 0x104
mov qword [rbp + 0x300], r10
mov r8d, r15d
mov dword [0x1400e7b10], eax
lea rdx, [rbp + 0xe90]
lea rcx, [0x140000000]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
nop dword [rax + rax]
test eax, eax
je 0x140053983
cmp eax, r15d
jne 0x14004ce33
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
je 0x140053983
mov rax, qword [0x1400df1d8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [case.0x1400ad4ce.0]
mov qword [rbp + 0x38], rax
test rax, rax
jne 0x14004f4e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140053983
mov rax, qword [rbp + 0x2b0]
mov qword [rbp - 0x50], r13
mov rcx, qword [rax]
mov qword [r13], rcx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1f0], rax
mov dword [rbp + 0xb0], SafeArrayGetLBound
lea r8, [rbp + 0x200]
mov edx, 0x7fffffff
lea rcx, str.Microsoft_Windows_WaasMedic_Enable_Remediations
call fcn.140087398
xor r10d, r10d
test eax, eax
jns 0x14004cec5
mov qword [rbp + 0x200], r10
mov r14d, 0xc000003e
jmp 0x14004cd01
mov rax, qword [rbp + 0x200]
add rax, r12
mov qword [rbp + 0x200], rax
lea eax, [rax*2 + 4]
cmp eax, 4
jb 0x14004ceed
mov r14d, r10d
mov dword [rbp + 0xb0], eax
jmp 0x14004cef9
mov eax, dword [rbp + 0xb0]
mov r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x14004cd06
add eax, 0xc4
or edi, 0xffffffff
mov ecx, 0xc4
mov edx, edi
cmp eax, ecx
mov r8d, 0x10000000
cmovae edx, eax
sbb r14d, r14d
and r14d, 0xc0000095
add r14d, r8d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x14004f4b3
lea eax, [rdx + 8]
mov ecx, edi
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, 0xc0000095
add r14d, r8d
mov dword [rsp + 0x60], r14d
cmp eax, edx
jb 0x14004f4b3
mov dword [rbp + 0xb0], 8
lea eax, [rcx + 8]
mov edx, edi
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, 0xc0000095
add r14d, r8d
mov dword [rsp + 0x60], r14d
cmp eax, ecx
jb 0x14004f4b3
mov dword [rbp - 0x64], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdx, rax
test rax, rax
jne 0x14004cfcb
mov r14d, 0xc0000017
jmp 0x14004cd01
mov qword [rbp - 0x60], rdx
mov dword [rbp - 0x68], r10d
mov dword [rbp + 0x1b8], r10d
lea rdi, [rax + 4]
cmp rdi, rdx
jb 0x14004d167
mov ecx, dword [rbp - 0x64]
add rax, 8
add rcx, rdx
cmp rax, rcx
jbe 0x14004d001
mov r14d, 0xc0000023
jmp 0x14004cd01
mov dword [rdx], 4
mov eax, dword [rbp + 0x1b8]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x68]
inc ecx
mov dword [rbp - 0x68], ecx
cmp qword [rbp - 0x60], r10
jne 0x14004d059
mov dword [rbp + 0x1b0], 0xa4
mov eax, dword [rbp - 0x64]
lea edx, [rax + 0xa4]
cmp edx, eax
jb 0x14004d041
inc ecx
mov dword [rbp - 0x64], edx
mov dword [rbp - 0x68], ecx
jmp 0x14004d138
mov r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
mov r14d, r15d
mov r13, qword [rsp + 0x68]
jmp 0x14004cd09
mov rdi, qword [rbp - 0x60]
mov edx, r10d
test ecx, ecx
je 0x14004d091
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14004d172
mov dword [rbp + 0x1b0], eax
mov r8d, eax
add r8, rdi
cmp r8, rdi
jb 0x14004d167
add edx, r12d
mov rdi, r8
cmp edx, ecx
jb 0x14004d064
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14004d167
mov ecx, dword [rbp - 0x64]
lea rax, [rdi + 0xa4]
add rcx, qword [rbp - 0x60]
mov r14d, r10d
mov dword [rsp + 0x60], r10d
cmp rax, rcx
ja 0x14004cff6
mov dword [rdi], 0xa0
mov eax, 0x80
movups xmm0, xmmword [r15]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [r15 + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [r15 + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [r15 + 0x60]
movups xmmword [rdx + 0x60], xmm0
movups xmm1, xmmword [r15 + 0x70]
movups xmmword [rdx + rax - 0x10], xmm1
movups xmm0, xmmword [r15 + rax]
movups xmmword [rdx + rax], xmm0
movups xmm1, xmmword [r15 + rax + 0x10]
movups xmmword [rdx + rax + 0x10], xmm1
mov ecx, dword [rbp - 0x68]
add ecx, r12d
mov dword [rbp - 0x68], ecx
test r14d, r14d
js 0x14004d04f
mov edx, dword [rbp - 0x64]
cmp qword [rbp - 0x60], r10
jne 0x14004d17f
mov dword [rbp + 0x198], SafeArrayGetLBound
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x14004d167
mov edx, eax
add ecx, r12d
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x240], rax
jmp 0x14004d214
mov r14d, 0xc0000095
jmp 0x14004cd01
mov r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
jmp 0x14004d12c
mov rdi, qword [rbp - 0x60]
mov r8d, r10d
test ecx, ecx
je 0x14004d1b4
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14004d237
mov dword [rbp + 0x198], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x14004d167
add r8d, r12d
mov rdi, r9
cmp r8d, ecx
jb 0x14004d18a
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x14004d167
mov ecx, edx
lea rax, [rdi + 0xc]
add rcx, qword [rbp - 0x60]
mov r14d, r10d
mov dword [rsp + 0x60], r10d
cmp rax, rcx
ja 0x14004cff6
mov dword [rdi], 8
mov r15d, 0xc0000095
mov rax, qword [r13]
mov qword [r8], rax
mov ecx, dword [rbp - 0x68]
mov edx, dword [rbp - 0x64]
add ecx, r12d
mov dword [rbp - 0x68], ecx
test r14d, r14d
js 0x14004d04f
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x240], rax
cmp qword [rbp - 0x60], r10
jne 0x14004d247
mov dword [rbp + 0x1d4], SafeArrayGetLBound
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x14004f4da
add ecx, r12d
mov dword [rbp - 0x64], eax
mov dword [rbp - 0x68], ecx
jmp 0x14004d2c5
mov r15d, 0xc0000095
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14004d1f7
mov rdi, qword [rbp - 0x60]
mov r8d, r10d
test ecx, ecx
je 0x14004d280
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14004d2f6
mov dword [rbp + 0x1d4], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x14004d047
add r8d, r12d
mov rdi, r9
cmp r8d, ecx
jb 0x14004d252
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x14004d047
mov ecx, edx
lea rax, [rdi + 0xc]
add rcx, qword [rbp - 0x60]
mov r14d, r10d
mov dword [rsp + 0x60], r10d
cmp rax, rcx
ja 0x14004f426
mov dword [rdi], 8
mov rax, qword [rbp + 0x240]
mov qword [r8], rax
add dword [rbp - 0x68], r12d
test r14d, r14d
js 0x14004d04f
lea r8, [rbp + 0x150]
mov edx, 0x7fffffff
lea rcx, str.Microsoft_Windows_WaasMedic_Enable_Remediations
call fcn.140087398
xor r10d, r10d
test eax, eax
jns 0x14004d300
mov qword [rbp + 0x150], r10
mov r14d, 0xc000003e
jmp 0x14004f42c
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14004d2bc
mov rax, qword [rbp + 0x150]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x14004f4d2
lea r8d, [rcx + rcx]
mov qword [rbp + 0x150], rcx
test r8d, r8d
je 0x14004d415
cmp qword [rbp - 0x60], r10
jne 0x14004d38a
add r8d, 4
cmp r8d, 4
jb 0x14004d377
mov dword [rbp + 0x18c], r8d
mov eax, dword [rbp - 0x64]
mov r15d, 0xc0000095
lea edi, [r8 + rax]
cmp edi, eax
jb 0x14004d364
add dword [rbp - 0x68], r12d
mov r14d, r10d
mov dword [rbp - 0x64], edi
mov dword [rsp + 0x60], r10d
jmp 0x14004d429
or edi, 0xffffffff
mov dword [rsp + 0x60], r15d
mov dword [rbp - 0x64], edi
mov r14d, r15d
jmp 0x14004d429
mov r15d, 0xc0000095
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14004d426
mov ecx, r10d
mov rdx, qword [rbp - 0x60]
cmp dword [rbp - 0x68], r10d
jbe 0x14004d3ba
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14004d377
mov dword [rbp + 0x18c], eax
add rax, rdx
cmp rax, rdx
jb 0x14004d377
add ecx, r12d
mov rdx, rax
cmp ecx, dword [rbp - 0x68]
jb 0x14004d397
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x14004d377
mov edi, dword [rbp - 0x64]
lea rax, [r8 + 4]
mov ecx, edi
mov dword [rsp + 0x60], r10d
add rcx, qword [rbp - 0x60]
add rax, rdx
mov r14d, r10d
mov r10d, r8d
cmp rax, rcx
jbe 0x14004d3f7
mov r14d, 0xc0000023
xor r10d, r10d
mov dword [rsp + 0x60], r14d
lea r15d, [r14 + 0x72]
jmp 0x14004d429
mov dword [rdx], r8d
mov rcx, r9
mov r8, r10
lea rdx, str.Microsoft_Windows_WaasMedic_Enable_Remediations
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add dword [rbp - 0x68], r12d
xor r10d, r10d
jmp 0x14004d420
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
mov r15d, 0xc0000095
mov edi, dword [rbp - 0x64]
test r14d, r14d
js 0x14004d04f
mov eax, dword [rbp + 0x50]
mov dword [rbp + 0x180], eax
cmp qword [rbp - 0x60], r10
jne 0x14004d46b
mov dword [rbp + 0x188], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x14004d047
add dword [rbp - 0x68], r12d
mov edi, eax
mov dword [rbp + 0xe8], 4
jmp 0x14004d4fd
mov ecx, r10d
mov rdx, qword [rbp - 0x60]
cmp dword [rbp - 0x68], r10d
jbe 0x14004d4a6
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14004d520
mov dword [rbp + 0x188], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14004d047
add ecx, r12d
mov rdx, r8
cmp ecx, dword [rbp - 0x68]
jb 0x14004d478
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x14004d047
mov ecx, edi
lea rax, [rdx + 8]
add rcx, qword [rbp - 0x60]
mov r14d, r10d
mov dword [rsp + 0x60], r10d
cmp rax, rcx
ja 0x14004f426
mov dword [rdx], 4
mov eax, dword [rbp + 0x180]
mov dword [r8], eax
add dword [rbp - 0x68], r12d
mov edi, dword [rbp - 0x64]
test r14d, r14d
js 0x14004d04f
mov dword [rbp + 0xe8], 4
cmp qword [rbp - 0x60], r10
jne 0x14004d52a
mov dword [rbp + 0x17c], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x14004d047
add dword [rbp - 0x68], r12d
mov edi, eax
mov dword [rbp - 0x64], eax
jmp 0x14004d5ac
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14004d4e4
mov ecx, r10d
mov rdx, qword [rbp - 0x60]
cmp dword [rbp - 0x68], r10d
jbe 0x14004d565
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14004d627
mov dword [rbp + 0x17c], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14004d047
add ecx, r12d
mov rdx, r8
cmp ecx, dword [rbp - 0x68]
jb 0x14004d537
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x14004d047
mov ecx, edi
lea rax, [rdx + 8]
add rcx, qword [rbp - 0x60]
mov r14d, r10d
mov dword [rsp + 0x60], r10d
cmp rax, rcx
ja 0x14004f426
mov dword [rdx], 4
mov eax, dword [rbp + 0xe8]
mov dword [r8], eax
add dword [rbp - 0x68], r12d
mov edi, dword [rbp - 0x64]
test r14d, r14d
js 0x14004d04f
mov dword [rbp + 0x260], 8
mov r8, r10
mov qword [rbp - 0x18], r10
mov r13d, r10d
mov qword [rbp + 0x148], r10
mov qword [rbp - 0x48], r10
mov dword [rbp - 8], r10d
mov qword [rbp + 0x38], r10
mov dword [rbp + 0x44], r10d
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x28], r10
mov dword [rbp + 0xac], r10d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2b8], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
sbb r14d, r14d
and r14d, r15d
cmp eax, 8
jb 0x14004d6fc
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14004d634
mov r14d, r15d
jmp 0x14004d6fc
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14004d5a3
mov dword [rbp + 0x100], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, rax
test rax, rax
jne 0x14004d675
mov r14d, 0xc0000017
jmp 0x14004d6f8
mov eax, dword [rbp - 0x68]
lea rdx, [rdi + 4]
mov dword [rdi], eax
cmp rdx, rdi
jb 0x14004d6c9
mov eax, dword [rbp - 0x64]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x14004d6c9
mov edx, dword [rbp + 0x100]
mov r14d, r10d
mov rax, qword [rbp + 0x2b8]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x64]
mov rdx, qword [rbp - 0x60]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, dword [rbp + 0x100]
xor r10d, r10d
mov r8, rdi
mov qword [rbp - 0x18], rdi
mov edi, r10d
jmp 0x14004d6d0
mov r8, qword [rbp - 0x18]
mov r14d, r15d
test rdi, rdi
je 0x14004d6fc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r8, qword [rbp - 0x18]
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x14004e224
mov qword [rbp + 0x1f8], r10
mov r15, r10
mov qword [rbp - 0x70], r10
test r8, r8
jne 0x14004d72c
mov r14d, 0xc000000d
jmp 0x14004df6d
mov r14d, r13d
mov qword [rbp - 0x30], r14
test r13d, r13d
je 0x14004de76
lea rdi, [r14 + 8]
mov qword [rbp - 0x58], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp], rax
test rax, rax
je 0x14004de76
mov r8, qword [rbp - 0x18]
mov dl, r10b
mov byte [rsp + 0x64], dl
mov ecx, r10d
test r13d, r13d
je 0x14004d797
xor dl, byte [r8 + rcx]
add rcx, r12
cmp rcx, r14
jb 0x14004d787
mov byte [rsp + 0x64], dl
xor edi, edi
mov qword [rbp + 0x8b0], rbx
mov r13, rax
mov dword [rbp - 0x40], edi
mov r9d, r10d
mov dword [rbp + 0x30], edi
or r10d, 0xffffffff
mov rax, r14
and eax, 7
je 0x14004d891
mov dword [rbp - 0x40], edi
mov ecx, edi
mov dword [rbp + 0x30], ecx
mov r11d, edi
mov r10d, edi
test eax, eax
je 0x14004d80a
lea r9d, [rdi + 0x38]
movzx edi, byte [r8]
inc r8
cmp r10d, 4
jge 0x14004d7ef
lea ecx, [r9 - 0x20]
shl edi, cl
mov ecx, dword [rbp + 0x30]
or ecx, edi
mov dword [rbp + 0x30], ecx
jmp 0x14004d7fa
mov ecx, r9d
shl edi, cl
mov ecx, dword [rbp + 0x30]
or r11d, edi
add r10d, r12d
sub r9d, 8
cmp r10d, eax
jl 0x14004d7d2
mov dword [rbp - 0x40], r11d
mov r9d, ecx
mov r10d, r11d
xor r9d, 0xb17a307a
xor r10d, 0x42f6b18d
xor r11d, r11d
mov ecx, r9d
mov edi, r10d
test eax, eax
je 0x14004d862
lea rsi, [r13 + 1]
mov qword [rbp + 0x20], rsi
cmp r11d, 4
jge 0x14004d840
rol ecx, 8
mov esi, ecx
jmp 0x14004d845
rol edi, 8
mov esi, edi
mov byte [r13], sil
add r11d, r12d
mov rsi, qword [rbp + 0x20]
mov r13, rsi
cmp r11d, eax
jl 0x14004d82b
movabs rsi, 0x7f1137fab69605e
cmp eax, 4
jbe 0x14004d879
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x14004d891
xor edi, edi
mov r10d, edi
cmp eax, 4
jae 0x14004d891
lea ecx, [rdi + 4]
sub ecx, eax
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov r11, r14
shr r11, 3
test r11, r11
je 0x14004dbec
movzx eax, word [rbp + 0x8b6]
lea rcx, [r8 + 2]
mov esi, dword [rbp - 0x40]
mov r15d, dword [rbp + 0x30]
mov dword [rbp - 0x38], eax
movzx eax, word [rbp + 0x8b2]
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x8b4]
xor eax, ebx
movzx edx, bx
add r13, 7
mov r14d, eax
mov qword [rbp + 0x48], r13
movzx r13d, word [rbp + 0x8b4]
movzx eax, byte [rcx - 1]
movzx r8d, byte [rcx - 2]
movzx edi, byte [rcx + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [rcx]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 1]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 3]
or edi, eax
movzx eax, byte [rcx + 4]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl edi, 8
or edi, eax
mov qword [rbp + 0x20], rcx
mov ecx, dword [rbp + 0x8b4]
xor r10d, edi
mov eax, r10d
sub eax, edx
xor eax, dword [rbp + 0x8b4]
xor eax, r8d
xor r9d, eax
movzx eax, word [rbp + 0x8b2]
xor ecx, r9d
ror ecx, 0xf
imul ecx, eax
mov eax, r9d
ror eax, 7
add ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xa
lea ecx, [rbx + r10]
ror ecx, 9
imul ecx, r13d
sub ecx, eax
movzx eax, word [rbp + 0x8b6]
xor r9d, ecx
mov ecx, r13d
mov r13d, dword [rbp + 0x8b4]
xor ecx, r9d
rol ecx, 4
imul ecx, eax
mov eax, r9d
rol eax, 5
add ecx, eax
mov eax, r13d
xor r10d, ecx
mov ecx, ebx
xor ecx, r10d
sub eax, ecx
xor r9d, eax
movzx eax, word [rbp + 0x8b2]
mov ecx, r9d
sub ecx, edx
imul ecx, eax
mov eax, r9d
shr eax, 6
sub ecx, eax
xor r10d, ecx
movzx ecx, r13w
mov eax, r10d
ror eax, 0xf
xor eax, ecx
imul eax, edx
xor r9d, eax
mov eax, r9d
not eax
ror eax, 3
add eax, dword [rbp - 0x38]
imul eax, ecx
xor r10d, eax
mov eax, r10d
sub eax, r13d
sub eax, edx
xor r9d, eax
movzx eax, word [rbp + 0x8b6]
xor eax, r9d
mov ecx, r9d
imul eax, dword [rbp - 0x78]
ror ecx, 0xa
xor ecx, eax
movzx eax, r13w
xor r10d, ecx
mov ecx, r10d
xor ecx, edx
rol ecx, 6
imul ecx, eax
mov eax, r10d
ror eax, 3
xor ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x8b6]
mov eax, r9d
ror eax, 0xf
sub eax, ecx
imul eax, edx
xor r10d, eax
xor ecx, r10d
mov eax, r10d
imul ecx, edx
shr eax, 1
xor ecx, eax
movzx eax, r13w
xor r9d, ecx
mov ecx, r10d
sub ecx, eax
mov eax, r10d
rol ecx, 3
imul ecx, edx
shr eax, 0xf
xor ecx, eax
movzx eax, r13w
xor r9d, ecx
mov ecx, r9d
sub ecx, eax
movzx eax, word [rbp + 0x8b2]
imul ecx, eax
mov eax, r9d
shr eax, 0xd
sub ecx, eax
movzx eax, r13w
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
ror ecx, 9
imul ecx, eax
mov eax, r10d
ror eax, 0xb
xor ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x8b6]
mov eax, r9d
sub eax, ebx
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov ecx, r10d
xor eax, dword [rbp - 0x78]
ror ecx, 7
imul eax, edx
sub eax, ecx
xor r9d, eax
movzx eax, word [rbp + 0x8b6]
mov ecx, r9d
xor ecx, eax
movzx eax, word [rbp + 0x8b2]
rol ecx, 4
imul ecx, eax
mov eax, r9d
ror eax, 0x10
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
ror ecx, 0xa
movzx eax, r13w
imul ecx, eax
mov eax, r10d
ror eax, 4
add ecx, eax
movzx eax, word [rbp + 0x8b6]
xor r9d, ecx
mov ecx, r9d
sub ecx, ebx
ror ecx, 4
imul ecx, eax
mov eax, r9d
ror eax, 9
xor ecx, eax
xor r10d, ecx
mov ecx, r13d
xor ecx, r10d
mov eax, r10d
rol ecx, 8
imul ecx, edx
rol eax, 2
sub ecx, eax
xor r9d, ecx
mov ecx, r13d
movzx r13d, word [rbp + 0x8b2]
sub ecx, r9d
ror ecx, 0xb
mov eax, r9d
imul ecx, r13d
ror eax, 0xc
sub ecx, eax
xor r10d, ecx
mov ecx, r13d
movzx r13d, word [rbp + 0x8b4]
xor ecx, r10d
mov eax, r10d
imul ecx, r13d
xor r10d, r14d
shr eax, 8
xor ecx, eax
mov rax, qword [rbp + 0x48]
xor r9d, ecx
mov rcx, qword [rbp + 0x20]
xor r10d, r9d
xor r9d, r15d
xor r10d, esi
mov r15d, r8d
mov byte [rax - 4], r9b
mov esi, edi
mov byte [rax], r10b
ror r9d, 8
mov byte [rax - 5], r9b
ror r10d, 8
mov byte [rax - 1], r10b
ror r9d, 8
mov byte [rax - 6], r9b
ror r10d, 8
mov byte [rax - 2], r10b
ror r9d, 8
ror r10d, 8
mov byte [rax - 7], r9b
mov byte [rax - 3], r10b
add rax, 8
ror r10d, 8
ror r9d, 8
mov qword [rbp + 0x48], rax
sub r11, r12
jne 0x14004d8de
mov dl, byte [rsp + 0x64]
movabs rsi, 0x7f1137fab69605e
mov r15, qword [rbp - 0x70]
mov r14, qword [rbp - 0x30]
mov r13, qword [rbp]
movzx eax, dl
mov qword [r14 + r13], rax
mov r14, qword [rbp - 0x58]
mov qword [rbp + 0x398], r14
mov qword [rbp + 0x1f8], r13
lea rax, [0x1400e6a90]
mov qword [rbp + 0x3a8], 8
mov qword [rbp + 0x3a0], rax
lea rax, [0x1400e69f0]
mov qword [rbp + 0x3b8], 0xa0
mov qword [rbp + 0x3b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, rax
test rax, rax
jne 0x14004dc75
mov r14d, 0xc0000017
jmp 0x14004de65
mov r14d, r14d
mov dword [rax], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r14d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x14004dcb1
mov r14d, 0xc0000017
jmp 0x14004ddaa
mov qword [rdi + 8], rax
mov r8, r14
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r14d, 0xa0
mov dword [rdi + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r14d
mov r14d, 8
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rcx, rax
test rax, rax
je 0x14004dca6
mov qword [rdi + 0x18], rax
lea rax, [0x1400e69f0]
movups xmm0, xmmword [rax]
lea edx, [r14 + 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], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r14d
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rcx, rax
test rax, rax
je 0x14004dca6
mov qword [rdi + 0x28], rax
mov rax, qword [0x1400e6a90]
mov r15, rdi
mov qword [rcx], rax
mov r14d, r10d
mov edi, r10d
test rdi, rdi
je 0x14004de65
mov r13, qword [rdi + 8]
test r13, r13
je 0x14004dde3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 8], r10
mov r13, qword [rdi + 0x18]
test r13, r13
je 0x14004de13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 0x18], r10
mov r13, qword [rdi + 0x28]
test r13, r13
je 0x14004de42
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r14d, r14d
js 0x14004de7c
mov qword [rbp + 0x148], r15
mov r15, r10
jmp 0x14004de7c
mov r14d, 0xc0000001
mov rdi, qword [rbp + 0x1f8]
test rdi, rdi
je 0x14004deb2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x1f8], r10
test r15, r15
je 0x14004df6d
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x14004deeb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x14004df1b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 0x18], r10
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x14004df4a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r15 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x14004e224
mov r15, qword [rbp + 0x148]
mov ecx, dword [r15]
mov edi, dword [r15 + 0x20]
add ecx, 4
mov edx, dword [r15 + 0x10]
cmp ecx, 4
jb 0x14004e0db
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14004e0db
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x14004e0db
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14004e0db
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x14004e0db
mov dword [rbp + 0x178], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r13d, r13d
mov rdi, rax
test rax, rax
jne 0x14004e010
mov r14d, 0xc0000017
mov r15d, 0xc0000095
jmp 0x14004e0e7
mov eax, dword [r15]
lea r14, [rdi + 4]
mov dword [rdi], eax
cmp r14, rdi
jb 0x14004e0a7
mov r8d, dword [r15]
mov rcx, r14
mov rdx, qword [r15 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r15]
add rcx, r14
cmp rcx, r14
jb 0x14004e0a7
mov eax, dword [r15 + 0x10]
lea r14, [rcx + 4]
mov dword [rcx], eax
cmp r14, rcx
jb 0x14004e0a7
mov r8d, dword [r15 + 0x10]
mov rcx, r14
mov rdx, qword [r15 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r15 + 0x10]
add rcx, r14
cmp rcx, r14
jb 0x14004e0a7
mov eax, dword [r15 + 0x20]
lea r14, [rcx + 4]
mov dword [rcx], eax
cmp r14, rcx
jb 0x14004e0a7
mov r8d, dword [r15 + 0x20]
mov rcx, r14
mov rdx, qword [r15 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r15 + 0x20]
add rax, r14
cmp rax, r14
jb 0x14004e0a7
mov eax, dword [rbp + 0x178]
mov r14d, r13d
mov qword [rbp - 0x48], rdi
mov rdi, r13
mov dword [rbp - 8], eax
jmp 0x14004e0ad
mov r14d, 0xc0000095
test rdi, rdi
je 0x14004e005
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
jmp 0x14004e005
mov r15d, 0xc0000095
xor r13d, r13d
mov r14d, r15d
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x14004e221
mov dword [rbp + 0x174], r13d
mov dword [rbp + 0x264], 0x3c
mov eax, 0x48
mov dword [rbp + 0x268], eax
mov dword [rbp + 0x26c], eax
cmp qword [rbp - 0x60], r13
jne 0x14004e131
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x14004e4a0
cmp dword [rbp - 0x68], r12d
jbe 0x14004e121
mov rax, qword [rbp - 0x60]
mov edx, r13d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004e498
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14004e498
add edx, r12d
cmp edx, r12d
jb 0x14004e13e
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004e498
test edi, edi
mov dword [rbp + 0x174], edi
mov rax, r13
cmovne rax, rcx
mov qword [rbp + 0x3c0], rax
cmp dword [rbp - 0x68], 2
jbe 0x14004e121
mov rax, qword [rbp - 0x60]
mov edx, r13d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004e498
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14004e498
add edx, r12d
cmp edx, 2
jb 0x14004e193
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004e498
test edx, edx
mov dword [rbp + 0x270], edx
mov rax, r13
cmovne rax, rcx
mov qword [rbp + 0x3c8], rax
lea eax, [rdi + 0x50]
cmp eax, 0x50
jb 0x14004e498
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x14004e498
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x14004e498
mov dword [rbp + 0x274], eax
mov dword [rsp + 0x60], r13d
mov r14d, r13d
cmp eax, 0x400000
jbe 0x14004e493
mov r14d, 0x8000ffff
mov dword [rsp + 0x60], r14d
xor r10d, r10d
mov r13, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x18]
test rdi, rdi
je 0x14004e254
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r15, qword [rbp + 0x148]
test r15, r15
je 0x14004e31d
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x14004e294
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x14004e2c4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 0x18], r10
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x14004e2f3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r15 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x148], r10
test r13, r13
je 0x14004e345
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, qword [rbp + 0x38]
test rdi, rdi
je 0x14004e371
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r15, qword [rsp + 0x78]
test r15, r15
je 0x14004e431
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x14004e3af
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x14004e3df
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 0x18], r10
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x14004e40e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r15 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x14004e45d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r14d, r14d
js 0x14004d04f
cmp dword [rbp + 0x78], r12d
jb 0x14004f461
cmp qword [rbp + 0x80], r10
jne 0x14004f14a
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
mov r15d, 0xc0000095
jmp 0x14004f1a8
mov dword [rbp + 0x44], eax
jmp 0x14004e4a0
mov r14d, r15d
mov dword [rsp + 0x60], r15d
test r14d, r14d
js 0x14004e221
mov edi, dword [rbp + 0x44]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x14004e4e3
mov r15, qword [rbp + 0x38]
mov r14d, 0xd0000017
jmp 0x14004e4f0
mov r15, rax
mov qword [rbp + 0x38], rax
mov r14d, 0x10000000
mov r13, qword [rbp - 0x48]
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x14004e228
test r13, r13
jne 0x14004e512
mov r14d, 0x80070057
jmp 0x14004e5f6
test r15, r15
je 0x14004e507
mov eax, dword [rbp - 8]
lea r8, [rbp + 0x2c0]
mov dword [rbp + 0x388], eax
lea rdx, [0x1400b5510]
mov eax, dword [rbp + 0x44]
mov ecx, r12d
mov dword [rbp + 0x38c], eax
mov qword [rbp + 0x378], r13
mov qword [rbp + 0x380], r15
mov dword [rbp + 0x390], r10d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x14004e591
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, dword [rbp + 0x44]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x14004e5e4
mov r14d, 0x80004005
jmp 0x14004e5df
mov rcx, qword [rbp + 0x2c0]
lea rdx, [0x1400c45d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x14004e55f
xor r9d, r9d
lea rdx, [rbp + 0x378]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [case.0x1400ad4ce.0]
mov edx, dword [rbp + 0x44]
mov r14d, eax
or r14d, 0x10000000
cmovge edx, dword [rbp + 0x38c]
mov dword [rbp + 0x44], edx
mov dword [rsp + 0x60], r14d
xor r10d, r10d
cmp r14d, 0xd0000023
jne 0x14004e600
mov r14d, 0x8007007a
mov dword [rsp + 0x60], r14d
jmp 0x14004e228
test r14d, r14d
js 0x14004e228
mov qword [rbp + 0x48], r10
cmp edx, 4
jae 0x14004e61d
mov r14d, 0xc000003e
jmp 0x14004e9f7
mov r13d, dword [r15]
lea rcx, [r15 + 4]
cmp rcx, r15
jb 0x14004e9f1
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x14004e612
lea rdi, [rcx + r13]
cmp rdi, rcx
jb 0x14004e9f1
lea ecx, [r13 + 4]
cmp ecx, 4
jb 0x14004e9f1
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14004e612
mov r14d, dword [rdi]
lea r8, [rdi + 4]
mov qword [rbp - 0x70], r8
cmp r8, rdi
jb 0x14004e9f1
lea edi, [rcx + 4]
cmp edi, ecx
jb 0x14004e9f1
mov eax, edx
sub eax, edi
cmp eax, r14d
jb 0x14004e612
lea rcx, [r8 + r14]
cmp rcx, r8
jb 0x14004e9f1
lea r8d, [r14 + rdi]
cmp r8d, edi
jb 0x14004e9f1
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14004e612
mov r15d, dword [rcx]
lea rax, [rcx + 4]
mov qword [rbp - 0x30], rax
cmp rax, rcx
jb 0x14004e9f1
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x14004e9f1
mov eax, edx
sub eax, ecx
cmp eax, r15d
jb 0x14004e612
lea edi, [r15 + rcx]
cmp edi, ecx
jb 0x14004e9f1
cmp edx, edi
jne 0x14004e612
lea ecx, [r15 + r14]
mov eax, edx
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x14004e612
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, rax
test rax, rax
jne 0x14004e73a
mov r14d, 0xc0000017
jmp 0x14004e917
mov rax, qword [rbp + 0x38]
add rax, 4
je 0x14004e799
mov dword [rdi], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rcx, rax
test rax, rax
jne 0x14004e780
mov r14d, 0xc0000017
jmp 0x14004e85c
mov qword [rdi + 8], rcx
mov rdx, qword [rbp + 0x38]
mov r8, r13
add rdx, 4
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x14004e7a0
mov dword [rdi], r10d
mov qword [rdi + 8], r10
mov r13, qword [rbp - 0x70]
test r13, r13
je 0x14004e7ef
mov dword [rdi + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x14004e775
mov qword [rdi + 0x18], rax
mov r8, r14
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x14004e7f7
mov dword [rdi + 0x10], r10d
mov qword [rdi + 0x18], r10
mov r13, qword [rbp - 0x30]
test r13, r13
je 0x14004e84a
mov dword [rdi + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x14004e775
mov qword [rdi + 0x28], rax
mov r8, r15
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x14004e852
mov dword [rdi + 0x20], r10d
mov qword [rdi + 0x28], r10
mov qword [rbp + 0x48], rdi
mov r14d, r10d
mov rdi, r10
test rdi, rdi
je 0x14004e917
mov r15, qword [rdi + 8]
test r15, r15
je 0x14004e895
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 8], r10
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x14004e8c5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 0x18], r10
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x14004e8f4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r13, qword [rbp + 0x48]
test r14d, r14d
mov rdi, r10
cmovs rdi, qword [rbp + 0x48]
cmovs r13, r10
mov qword [rsp + 0x78], r13
test rdi, rdi
je 0x14004e9fc
mov r15, qword [rdi + 8]
test r15, r15
je 0x14004e968
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 8], r10
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x14004e998
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 0x18], r10
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x14004e9c7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rsp + 0x78], r13
jmp 0x14004e9fc
mov r14d, 0xc0000095
mov r13, qword [rsp + 0x78]
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x14004e224
mov qword [rbp + 0xd8], r10
mov rdi, r10
mov qword [rbp - 0x70], r10
mov r15, r10
test r13, r13
jne 0x14004ea34
mov r14d, 0xd000000d
mov dword [rsp + 0x60], r14d
jmp 0x14004e224
mov rax, qword [r13 + 8]
mov qword [rbp + 0x48], rax
test rax, rax
je 0x14004ea24
cmp dword [r13], r10d
je 0x14004ea24
mov r14d, dword [r13]
mov dword [rbp - 0x38], r10d
test r14, r14
je 0x14004ef7c
add r14, 0xfffffffffffffff8
mov qword [rbp - 0x30], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp], rax
mov r13, rax
test rax, rax
je 0x14004ef75
mov r8, qword [rbp + 0x48]
mov rdi, r14
mov qword [rbp + 0x8c0], rsi
mov dl, r10b
mov byte [rsp + 0x64], dl
mov r11d, r10d
and edi, 7
je 0x14004eb9a
mov dword [rbp - 0x40], r10d
mov ecx, r10d
mov dword [rbp + 0x30], ecx
test edi, edi
je 0x14004eafe
lea r9d, [r10 + 0x38]
movzx eax, byte [r8]
inc r8
cmp r10d, 4
jge 0x14004eae3
lea ecx, [r9 - 0x20]
shl eax, cl
mov ecx, dword [rbp + 0x30]
or ecx, eax
mov dword [rbp + 0x30], ecx
jmp 0x14004eaee
mov ecx, r9d
shl eax, cl
mov ecx, dword [rbp + 0x30]
or r11d, eax
add r10d, r12d
sub r9d, 8
cmp r10d, edi
jl 0x14004eac6
mov dword [rbp - 0x40], r11d
mov r10d, ecx
xor r11d, 0x699a899c
xor r10d, 0x92f65a5
xor r9d, r9d
mov eax, r10d
mov ecx, r11d
test edi, edi
je 0x14004eb64
mov rbx, r13
lea rsi, [rbx + 1]
mov qword [rbp + 0x20], rsi
cmp r9d, 4
jge 0x14004eb34
rol eax, 8
mov esi, eax
jmp 0x14004eb39
rol ecx, 8
mov esi, ecx
mov byte [rbx], sil
add r9d, r12d
mov rsi, qword [rbp + 0x20]
mov rbx, rsi
cmp r9d, edi
jl 0x14004eb1f
mov rax, rsi
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
jmp 0x14004eb67
mov rax, r13
cmp edi, 4
jbe 0x14004eb7e
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
jmp 0x14004eba2
xor ecx, ecx
mov r11d, ecx
cmp edi, 4
jae 0x14004eba2
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x14004eba2
or dword [rbp - 0x40], 0xffffffff
mov dword [rbp + 0x30], r10d
mov rcx, r14
shr rcx, 3
mov qword [rbp + 0x20], rcx
test rcx, rcx
je 0x14004eedd
mov r13d, dword [rbp + 0x8c4]
lea r14, [rax + 7]
mov rbx, qword [rbp + 0x20]
mov r15d, dword [rbp - 0x40]
mov edx, dword [rbp + 0x30]
movzx ecx, r13w
mov dword [rbp - 0x58], ecx
movzx ecx, word [rbp + 0x8c2]
mov dword [rbp - 0x80], ecx
movzx ecx, si
mov dword [rsp + 0x70], ecx
lea rcx, [r8 + 2]
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
xor r10d, r9d
movzx eax, byte [rcx + 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl r8d, 8
mov qword [rbp + 0x20], rcx
or r8d, eax
xor r11d, r8d
xor r11d, r10d
xor r11d, r13d
xor r11d, esi
mov eax, r11d
mov edi, r11d
sub eax, esi
rol r11d, 0xa
rol eax, 5
imul eax, dword [rbp - 0x58]
add eax, r11d
mov r11d, dword [rbp - 0x58]
xor r10d, eax
movzx eax, word [rbp + 0x8c2]
lea ecx, [r10 + r13]
ror ecx, 9
imul ecx, eax
mov eax, r10d
rol eax, 2
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, r11d
shr eax, 0xd
imul ecx, dword [rsp + 0x70]
sub ecx, eax
movzx eax, word [rbp + 0x8c6]
xor r10d, ecx
movzx ecx, word [rbp + 0x8c2]
xor ecx, r10d
rol ecx, 6
imul ecx, eax
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, r13d
xor edi, ecx
mov ecx, edi
xor ecx, esi
sub eax, ecx
xor r10d, eax
mov eax, r11d
xor eax, r10d
mov ecx, r10d
imul eax, dword [rbp - 0x80]
ror ecx, 6
xor ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 2
lea ecx, [rdi + r13]
ror ecx, 0xf
imul ecx, dword [rsp + 0x70]
add ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, esi
ror ecx, 0xe
movzx eax, word [rbp + 0x8c6]
imul ecx, eax
mov eax, r10d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov ecx, esi
xor ecx, edi
mov eax, edi
ror ecx, 0xc
imul ecx, r11d
ror eax, 0xa
xor ecx, eax
movzx eax, word [rbp + 0x8c2]
xor r10d, ecx
movzx ecx, word [rbp + 0x8c6]
xor ecx, r10d
imul ecx, eax
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
movzx ecx, word [rbp + 0x8c6]
mov eax, edi
not eax
ror eax, 5
add eax, dword [rsp + 0x70]
imul eax, ecx
xor r10d, eax
mov r11d, r10d
sub r11d, ecx
xor r11d, edi
mov edi, dword [rbp - 0x58]
xor r11d, esi
xor ecx, r11d
mov eax, r11d
rol ecx, 2
imul ecx, edi
shr eax, 2
add ecx, eax
movzx eax, word [rbp + 0x8c2]
xor r10d, ecx
mov ecx, r10d
sub ecx, r13d
ror ecx, 6
imul ecx, eax
mov eax, r10d
rol eax, 7
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov ecx, r11d
ror ecx, 9
xor eax, edi
imul eax, dword [rsp + 0x70]
add ecx, eax
movzx eax, word [rbp + 0x8c6]
xor r10d, ecx
movzx ecx, word [rbp + 0x8c2]
xor ecx, r10d
rol ecx, 5
imul ecx, eax
mov eax, r10d
rol eax, 7
add ecx, eax
xor r11d, ecx
movzx ecx, word [rbp + 0x8c2]
xor r10d, r11d
xor r10d, esi
xor r10d, r13d
mov eax, r10d
ror eax, 3
sub eax, ecx
imul eax, edi
xor r11d, eax
mov ecx, r11d
mov eax, r11d
sub ecx, r13d
ror ecx, 1
imul ecx, dword [rsp + 0x70]
ror eax, 6
sub ecx, eax
movzx eax, word [rbp + 0x8c6]
xor r10d, ecx
lea ecx, [r10 + rsi]
rol ecx, 3
imul ecx, eax
mov eax, r10d
rol eax, 0xe
add ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xe
lea ecx, [r11 + rsi]
rol ecx, 0xf
imul ecx, edi
sub ecx, eax
movzx eax, word [rbp + 0x8c2]
xor r10d, ecx
mov ecx, r10d
xor ecx, dword [rsp + 0x70]
imul ecx, eax
mov eax, r10d
shr eax, 3
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
mov eax, r11d
xor r11d, r15d
rol eax, 2
xor ecx, r13d
mov r15d, r8d
rol ecx, 4
imul ecx, dword [rsp + 0x70]
xor ecx, eax
xor ecx, edx
mov edx, r9d
xor r10d, ecx
mov rcx, qword [rbp + 0x20]
mov byte [r14 - 4], r10b
mov byte [r14], r11b
lea r14, [r14 + 8]
ror r10d, 8
mov byte [r14 - 0xd], r10b
ror r11d, 8
mov byte [r14 - 9], r11b
ror r10d, 8
mov byte [r14 - 0xe], r10b
ror r11d, 8
mov byte [r14 - 0xa], r11b
ror r10d, 8
ror r11d, 8
mov byte [r14 - 0xf], r10b
mov byte [r14 - 0xb], r11b
ror r11d, 8
ror r10d, 8
sub rbx, r12
jne 0x14004ebe8
mov dl, byte [rsp + 0x64]
movabs rbx, 0xc81ecb17b1b54a58
mov r15, qword [rbp - 0x70]
mov r14, qword [rbp - 0x30]
mov r13, qword [rbp]
xor r10d, r10d
mov eax, r10d
test r14, r14
je 0x14004eef4
xor dl, byte [rax + r13]
add rax, r12
cmp rax, r14
jb 0x14004eee8
mov rcx, qword [rbp + 0x48]
movzx eax, dl
cmp rax, qword [r14 + rcx]
je 0x14004ef10
mov rdi, qword [rbp + 0xd8]
mov r14d, 0xc004d501
jmp 0x14004ef24
mov rdi, r13
mov qword [rbp + 0xd8], r13
mov r15, r14
mov r13, r10
mov r14d, dword [rbp - 0x38]
test r13, r13
je 0x14004ef53
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp + 0xd8]
xor r10d, r10d
test r14d, r14d
js 0x14004ef7c
mov qword [rbp - 0x28], rdi
mov r14d, 0x10000000
mov rdi, r10
mov qword [rbp + 0xd8], r10
mov dword [rbp + 0xac], r15d
jmp 0x14004ef89
mov rdi, qword [rbp + 0xd8]
mov r15d, dword [rbp + 0xac]
mov r14d, 0xd0000001
mov dword [rsp + 0x60], r14d
test rdi, rdi
je 0x14004efc4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r15d, dword [rbp + 0xac]
xor r10d, r10d
mov qword [rbp + 0xd8], r10
test r14d, r14d
js 0x14004e224
cmp r15d, 4
jae 0x14004efde
mov r14d, 0xc000003e
jmp 0x14004f140
mov r8, qword [rbp - 0x28]
mov r9d, dword [r8]
lea rcx, [r8 + 4]
mov dword [rbp - 0x80], r9d
cmp rcx, r8
jb 0x14004f13a
lea eax, [r15 - 4]
cmp eax, 4
jb 0x14004efd3
mov r14d, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x14004f13a
lea eax, [r15 - 8]
cmp eax, r14d
jb 0x14004efd3
lea eax, [r14 + 8]
cmp eax, 8
jb 0x14004f13a
mov ecx, r15d
lea rdx, [rdi + r14]
lea rax, [r8 + rcx]
cmp rax, rdx
jb 0x14004efd3
mov rax, r8
sub rax, rdi
sub rax, r14
add rax, rcx
cmp rax, 8
jae 0x14004efd3
mov dword [rbp - 0x78], r10d
mov r15, r10
mov r8d, r10d
test rdi, rdi
je 0x14004f0c3
mov rcx, rdi
cmp rdx, rdi
jb 0x14004f13a
jbe 0x14004f0be
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x14004f13a
cmp rax, rdx
ja 0x14004f0ab
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x14004f0b6
mov dword [rbp + 0x278], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x14004f13a
mov rcx, r9
cmp r9, rdx
ja 0x14004f0ab
add r8d, r12d
mov dword [rbp - 0x78], r8d
cmp rcx, rdx
jae 0x14004f0c1
jmp 0x14004f064
mov r14d, 0xc000000d
jmp 0x14004f140
mov r14d, 0xc0000095
jmp 0x14004f128
cmp rcx, rdx
jne 0x14004f0ab
test r14d, r14d
je 0x14004f0fe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov r15, rax
test rax, rax
jne 0x14004f0fe
mov r14d, 0xc0000017
jmp 0x14004f128
test rdi, rdi
je 0x14004f114
mov r8, r14
mov rdx, rdi
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x78], eax
mov qword [rbp + 0x80], r15
mov dword [rbp + 0x7c], r14d
mov r14d, r10d
test r14d, r14d
js 0x14004f140
mov eax, dword [rbp - 0x80]
cmp eax, dword [rbp + 0x78]
je 0x14004f140
jmp 0x14004efd3
mov r14d, 0xc0000095
bts r14d, 0x1c
jmp 0x14004ea2a
cmp dword [rbp + 0x78], r10d
jbe 0x14004e47d
mov rdi, qword [rbp + 0x80]
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14004f19a
test ecx, ecx
mov dword [rbp + 0x27c], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x3d0], rax
mov dword [rsp + 0x60], r10d
mov r14d, r10d
cmp ecx, 4
jne 0x14004f426
mov eax, dword [rax]
mov dword [rbp + 0x8c], eax
jmp 0x14004e488
mov r15d, 0xc0000095
mov r14d, r15d
mov dword [rsp + 0x60], r15d
test r14d, r14d
js 0x14004d04f
mov r14d, dword [rbp + 0x8c]
mov r8d, 0x8007007a
cmp r14d, 0xd0000023
cmove r14d, r8d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0x8c], r14d
cmp r14d, r8d
je 0x14004f1e3
test r14d, r14d
js 0x14004d04f
cmp dword [rbp + 0x78], 6
jne 0x14004f461
cmp qword [rbp + 0x80], r10
jne 0x14004f203
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x14004f26e
mov rax, qword [rbp + 0x80]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004f266
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14004f266
add edx, r12d
cmp edx, r12d
jb 0x14004f20d
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14004f266
test ecx, ecx
mov dword [rbp + 0x280], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x3d8], rax
mov dword [rsp + 0x60], r10d
mov r14d, r10d
cmp ecx, 8
jne 0x14004f426
mov rax, qword [rax]
mov qword [rbp + 0x2c8], rax
jmp 0x14004f26e
mov r14d, r15d
mov dword [rsp + 0x60], r15d
test r14d, r14d
js 0x14004d04f
cmp qword [rbp + 0x80], r10
jne 0x14004f28d
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x14004f2f6
mov rax, qword [rbp + 0x80]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004f2ee
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14004f2ee
add edx, r12d
cmp edx, 2
jb 0x14004f297
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14004f2ee
test ecx, ecx
mov dword [rbp + 0x284], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x3e0], rax
mov dword [rsp + 0x60], r10d
mov r14d, r10d
cmp ecx, 4
jne 0x14004f426
mov eax, dword [rax]
mov dword [rbp + 0x168], eax
jmp 0x14004f2f6
mov r14d, r15d
mov dword [rsp + 0x60], r15d
test r14d, r14d
js 0x14004d04f
cmp qword [rbp + 0x80], r10
jne 0x14004f313
mov r14d, 0xc000000d
jmp 0x14004f42c
mov rax, qword [rbp + 0x80]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004d047
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14004d047
add edx, r12d
cmp edx, 3
jb 0x14004f31d
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004d047
test edi, edi
mov dword [rbp + 0x288], edi
mov r9, r10
cmovne r9, rcx
mov qword [rbp + 0x3e8], r9
mov rax, qword [rbp + 0x80]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004f3c2
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14004f3c2
add edx, r12d
cmp edx, 4
jb 0x14004f36f
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14004f3c2
test ecx, ecx
mov dword [rbp + 0x28c], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x448], rax
mov dword [rsp + 0x60], r10d
mov r14d, r10d
cmp ecx, 4
jne 0x14004f426
mov eax, dword [rax]
mov dword [rbp + 0x16c], eax
jmp 0x14004f3ca
mov r14d, r15d
mov dword [rsp + 0x60], r15d
test r14d, r14d
js 0x14004d04f
mov rax, qword [rbp + 0x80]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14004f440
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14004f440
add edx, r12d
cmp edx, 5
jb 0x14004f3dd
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14004f440
test ecx, ecx
mov dword [rbp + 0x88], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x3f0], rax
mov dword [rsp + 0x60], r10d
mov r14d, r10d
cmp ecx, 4
je 0x14004f436
mov r14d, 0xc0000023
mov dword [rsp + 0x60], r14d
jmp 0x14004d04f
mov eax, dword [rax]
mov dword [rbp + 0xfc], eax
jmp 0x14004f448
mov r14d, r15d
mov dword [rsp + 0x60], r15d
test r14d, r14d
js 0x14004d04f
mov rax, qword [rbp + 0x2c8]
cmp qword [rbp + 0x1f0], rax
je 0x14004f469
mov r14d, 0xc004d501
jmp 0x14004f42c
mov eax, dword [rbp + 0xfc]
mov ecx, dword [rbp + 0x16c]
mov dword [rbp + 0x50], eax
mov eax, dword [rbp + 0x168]
mov dword [rbp + 0x10c], eax
mov dword [rbp + 0x108], ecx
cmp ecx, 4
ja 0x14004f494
cmp edi, 4
jbe 0x14004f4a1
mov r14d, r8d
mov dword [rsp + 0x60], r8d
jmp 0x14004d04f
mov rcx, qword [rbp - 0x20]
mov r8, rdi
mov rdx, r9
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
mov r13, qword [rsp + 0x68]
test r14d, r14d
js 0x14004cd09
mov eax, dword [rbp + 0x8c]
test eax, eax
cmovne r14d, eax
jmp 0x14004cc5a
or qword [rbp + 0x150], 0xffffffffffffffff
mov r14d, 0xc0000095
jmp 0x14004f42c
mov rax, qword [0x1400df178]
call qword [case.0x1400ad4ce.0]
mov edi, dword [0x1400e7b10]
lea rcx, [rbp + 0x450]
xor edx, edx
mov qword [0x1400e7fc0], rax
mov dword [rbp - 8], edi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r9d, r9d
mov dword [rbp + 0xe4], r12d
xorps xmm0, xmm0
mov qword [rbp - 0x18], r9
xor eax, eax
mov qword [rbp + 0x20], r9
mov qword [rbp + 0xa40], rax
mov dword [rbp + 0xa48], eax
movups xmmword [rbp + 0x8d0], xmm0
mov qword [rbp + 0x48], r9
movups xmmword [rbp + 0xa20], xmm0
movups xmmword [rbp + 0xa30], xmm0
xor eax, eax
lock cmpxchg dword [0x1400e7fcc], r12d
jne 0x14004f551
mov eax, dword [0x1400e7fc8]
test eax, eax
jne 0x14004fb5e
mov dword [rbp - 0x40], r9d
mov dword [rsp + 0x70], r9d
mov dword [rbp - 0x58], r9d
mov qword [rbp + 0x120], r9
mov qword [rbp + 0x250], r9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r9d, r9d
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14004fac3
mov edi, r9d
lea rsi, [rax + 7]
or ecx, 0xffffffff
lea rbx, [0x1400c3fb2]
mov r13d, r9d
lea r14d, [r9 + 0x67]
mov r15d, r9d
movzx eax, byte [rbx - 1]
movzx r11d, byte [rbx - 2]
movzx r10d, byte [rbx + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx - 5]
or r10d, eax
xor r15d, r11d
movzx eax, byte [rbx - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 3]
shl r10d, 8
or r10d, eax
xor r13d, r10d
xor r13d, r15d
xor r13d, 0xac987321
mov r9d, r13d
lea eax, [r13 + 0x54969fa2]
rol r13d, 0xa
rol eax, 5
imul edx, eax, 0x137f
add edx, r13d
xor r15d, edx
lea eax, [r15 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r15d
rol eax, 2
sub edx, eax
xor r9d, edx
imul edx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r15d, edx
mov eax, r15d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r9d, edx
mov edx, r9d
xor edx, 0xab69605e
sub eax, edx
xor r15d, eax
mov eax, r15d
mov r8d, r15d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r9d, r8d
mov r8d, 0xab69605e
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 8
sub edx, eax
xor r9d, edx
mov eax, r9d
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xa
xor edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 0xa
xor edx, eax
xor r9d, edx
mov eax, r9d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r15d, eax
lea r13d, [r15 - 0x7f1]
xor r13d, r9d
xor r13d, r8d
mov eax, r13d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r13d
shr eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r15d
rol eax, 7
add edx, eax
xor r13d, edx
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r15d, r8d
mov eax, r15d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 7
add edx, eax
xor r13d, edx
xor r15d, r13d
xor r15d, 0xac987321
mov eax, r15d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r13d
ror eax, 6
sub edx, eax
xor r15d, edx
lea eax, [r15 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 0xe
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r13d
ror eax, 0xe
sub edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 3
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r13d
xor r13d, ecx
rol eax, 2
mov ecx, r10d
xor edx, eax
xor edx, edi
mov edi, r11d
xor r15d, edx
mov byte [rsi - 4], r15b
mov byte [rsi], r13b
lea rsi, [rsi + 8]
ror r15d, 8
mov byte [rsi - 0xd], r15b
ror r13d, 8
mov byte [rsi - 9], r13b
ror r15d, 8
mov byte [rsi - 0xe], r15b
ror r13d, 8
mov byte [rsi - 0xa], r13b
ror r15d, 8
ror r13d, 8
mov byte [rsi - 0xf], r15b
mov byte [rsi - 0xb], r13b
ror r13d, 8
ror r15d, 8
sub r14, r12
jne 0x14004f5d5
mov edi, dword [rbp - 8]
xor r9d, r9d
mov r14d, dword [rsp + 0x60]
mov eax, r9d
mov r15, qword [rbp - 0x70]
mov cl, r9b
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov edx, 0x338
xor cl, byte [rax + r15]
add rax, r12
cmp rax, rdx
jb 0x14004f8f7
movzx eax, cl
cmp rax, qword [0x1400c42e8]
je 0x14004f917
mov r13d, 0xc004d501
jmp 0x14004f92b
mov qword [rbp + 0x120], r15
mov r13d, r9d
mov r15, r9
mov qword [rbp + 0x250], rdx
test r15, r15
je 0x14004f953
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r9d, r9d
test r13d, r13d
js 0x14004fac3
mov rax, qword [rbp + 0x250]
lea r13, [0x1400e7b20]
mov r15, qword [rbp + 0x120]
xor edx, edx
mov rcx, r13
lea r8d, [rdx + 0x60]
mov byte [rax + r15 - 1], r9b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r9d, r9d
cmp byte [r15], r9b
je 0x14004fabc
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], r9w
jne 0x14004f997
lea r15, [r15 + rax*2]
mov eax, dword [rbp - 0x58]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
xor ecx, ecx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r9d, r9d
test eax, eax
je 0x14004fac3
mov rax, qword [r13]
mov edx, 0x5a4d
mov ecx, r9d
mov dword [rsp + 0x70], ecx
cmp word [rax], dx
je 0x14004f9ed
mov ecx, 0xc000007b
mov dword [rsp + 0x70], ecx
jmp 0x14004fa3e
movsxd rdx, dword [rax + 0x3c]
cmp edx, 0x10000000
jae 0x14004f9e2
add rdx, qword [r13]
cmp rdx, qword [r13]
jb 0x14004f9e2
cmp dword [rdx], 0x4550
jne 0x14004f9e2
movzx eax, word [rdx + 0x18]
mov r8d, 0x10b
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
je 0x14004fa2c
mov ecx, 0xc000000d
jmp 0x14004f9e7
mov rax, qword [rdx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rdx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [r15 + 2]
mov edx, r9d
add r15, 6
mov dword [rbp - 0x80], eax
mov dword [rbp - 0x78], edx
test eax, eax
je 0x14004faac
mov r8, r15
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], r9b
jne 0x14004fa5a
inc r15
add r15, rax
test ecx, ecx
js 0x14004fa9d
mov rcx, qword [r13]
mov rdx, r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
xor r9d, r9d
test rax, rax
je 0x14004fabc
mov ecx, dword [rbp - 0x40]
lea rdx, [0x1400df0e0]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rsp + 0x70]
mov edx, dword [rbp - 0x78]
add dword [rbp - 0x40], r12d
add edx, r12d
mov dword [rbp - 0x78], edx
cmp edx, dword [rbp - 0x80]
jb 0x14004fa53
add dword [rbp - 0x58], r12d
lea r13, [0x1400e7b20]
jmp 0x14004f987
mov r15d, dword [rsp + 0x70]
jmp 0x14004fac9
mov r15d, 0xc000007a
cmp qword [rbp + 0x120], r9
je 0x14004faf9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x120]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r9d, r9d
test r15d, r15d
jns 0x14004fb58
lea r15, [0x1400e7b20]
mov r13d, 4
mov rcx, qword [r15]
test rcx, rcx
je 0x14004fb22
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor r9d, r9d
add r15, 0x18
sub r13, r12
jne 0x14004fb0b
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400e7b20]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400b1e90]
lea rcx, [0x1400df0e0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14004fb67
mov eax, dword [0x1400e7fc8]
add eax, r12d
mov dword [0x1400e7fc8], eax
xor r15d, r15d
xorps xmm0, xmm0
mov eax, r15d
mov dword [rbp - 0x28], r15d
xchg dword [0x1400e7fcc], eax
mov qword [rbp + 0x1a8], r15
movups xmmword [rbp + 0x940], xmm0
mov dword [rbp - 0x20], r15d
mov qword [rbp], r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x38], r15
xor eax, eax
lock cmpxchg dword [0x1400e7fcc], r12d
jne 0x14004fb98
mov eax, dword [0x1400e7fc8]
test eax, eax
jne 0x140050186
mov dword [rbp - 0x40], r15d
mov dword [rbp - 0x58], r15d
mov qword [rbp + 0x128], r15
mov qword [rbp + 0x258], r15
mov dword [rbp - 0x78], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1400500e8
mov r13d, r15d
lea rsi, [rax + 7]
or ecx, 0xffffffff
lea r14, [0x1400c3fb2]
mov ebx, r15d
mov edi, 0x67
movzx eax, byte [r14 - 1]
movzx r11d, byte [r14 - 2]
movzx r10d, byte [r14 + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [r14]
lea r14, [r14 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r14 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r14 - 5]
or r10d, eax
xor r15d, r11d
movzx eax, byte [r14 - 4]
mov r9d, r15d
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 3]
shl r10d, 8
or r10d, eax
xor ebx, r10d
xor r9d, ebx
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r9d
rol eax, 0xa
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r15d
rol eax, 2
sub edx, eax
xor r9d, edx
imul edx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r15d, edx
mov eax, r15d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r9d, edx
mov edx, r9d
xor edx, 0xab69605e
sub eax, edx
xor r15d, eax
mov eax, r15d
mov r8d, r15d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 8
sub edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xa
xor edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 0xa
xor edx, eax
xor edx, r9d
mov r9d, 0x605e
mov eax, edx
not eax
ror eax, 5
add eax, r9d
imul eax, eax, 0x7f1
xor r15d, eax
lea ebx, [r15 - 0x7f1]
xor ebx, edx
xor ebx, r8d
mov eax, ebx
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, ebx
shr eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r15d
rol eax, 7
add edx, eax
xor ebx, edx
mov eax, ebx
mov r8d, ebx
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r15d, r8d
mov eax, r15d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 7
add edx, eax
xor ebx, edx
xor r15d, ebx
xor r15d, 0xac987321
mov eax, r15d
mov r8d, r15d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor ebx, edx
lea eax, [rbx - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, ebx
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 ebx, edx
lea eax, [rbx - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, ebx
ror eax, 0xe
sub edx, eax
xor r8d, edx
mov eax, r8d
xor eax, r9d
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0x7f1137f
rol eax, 4
imul r15d, eax, 0x605e
mov eax, ebx
xor ebx, ecx
rol eax, 2
mov ecx, r10d
xor r15d, eax
xor r15d, r8d
xor r15d, r13d
mov r13d, r11d
mov byte [rsi - 4], r15b
mov byte [rsi], bl
lea rsi, [rsi + 8]
ror r15d, 8
mov byte [rsi - 0xd], r15b
ror ebx, 8
mov byte [rsi - 9], bl
ror r15d, 8
mov byte [rsi - 0xe], r15b
ror ebx, 8
mov byte [rsi - 0xa], bl
ror r15d, 8
ror ebx, 8
mov byte [rsi - 0xf], r15b
mov byte [rsi - 0xb], bl
ror ebx, 8
ror r15d, 8
sub rdi, r12
jne 0x14004fc16
mov edi, dword [rbp - 8]
xor r9d, r9d
mov r14d, dword [rsp + 0x60]
mov eax, r9d
mov r15, qword [rbp - 0x70]
mov cl, r9b
mov r13d, r9d
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov edx, 0x338
xor cl, byte [rax + r15]
add rax, r12
cmp rax, rdx
jb 0x14004ff31
movzx eax, cl
cmp rax, qword [0x1400c42e8]
je 0x14004ff52
mov dword [rbp - 0x78], 0xc004d501
jmp 0x14004ff63
mov qword [rbp + 0x128], r15
mov r15, r9
mov qword [rbp + 0x258], rdx
test r15, r15
je 0x14004ff8b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r9d, r9d
cmp dword [rbp - 0x78], r9d
jl 0x1400500eb
mov rax, qword [rbp + 0x258]
lea rcx, [0x1400e7b20]
mov r15, qword [rbp + 0x128]
xor edx, edx
lea r8d, [rdx + 0x60]
mov byte [rax + r15 - 1], r9b
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r9d, r9d
jmp 0x1400500dd
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], r9w
jne 0x14004ffc9
lea r15, [r15 + rax*2]
mov eax, dword [rbp - 0x58]
lea rcx, [rax + rax*2]
lea rax, [0x1400e7b20]
lea r8, [rax + rcx*8]
xor ecx, ecx
mov qword [rbp - 0x50], r8
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r9d, r9d
test eax, eax
je 0x1400500eb
mov r8, qword [rbp - 0x50]
mov ecx, 0x5a4d
mov r13d, r9d
mov rax, qword [r8]
cmp word [rax], cx
je 0x140050022
mov r13d, 0xc000007b
jmp 0x14005006e
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14005001a
add rcx, qword [r8]
cmp rcx, qword [r8]
jb 0x14005001a
cmp dword [rcx], 0x4550
jne 0x14005001a
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14005005c
mov r13d, 0xc000000d
jmp 0x14005006e
mov rax, qword [rcx + 0x88]
mov qword [r8 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r8 + 8], eax
mov eax, dword [r15 + 2]
mov ecx, r9d
add r15, 6
mov dword [rbp - 0x80], eax
mov dword [rbp - 0x78], ecx
test eax, eax
je 0x1400500d9
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], r9b
jne 0x14005008a
inc r15
add r15, rax
test r13d, r13d
js 0x1400500ca
mov rcx, qword [r8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
xor r9d, r9d
test rax, rax
je 0x1400500f1
mov ecx, dword [rbp - 0x40]
lea rdx, [0x1400df0e0]
mov r8, qword [rbp - 0x50]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x78]
add dword [rbp - 0x40], r12d
add ecx, r12d
mov dword [rbp - 0x78], ecx
cmp ecx, dword [rbp - 0x80]
jb 0x140050083
add dword [rbp - 0x58], r12d
cmp byte [r15], r9b
jne 0x14004ffc2
jmp 0x1400500f1
xor r9d, r9d
mov r13d, 0xc000007a
cmp qword [rbp + 0x128], r9
je 0x140050121
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x128]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r9d, r9d
test r13d, r13d
jns 0x140050180
lea r15, [0x1400e7b20]
mov r13d, 4
mov rcx, qword [r15]
test rcx, rcx
je 0x14005014a
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor r9d, r9d
add r15, 0x18
sub r13, r12
jne 0x140050133
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400e7b20]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400b1e90]
lea rcx, [0x1400df0e0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14005018f
mov eax, dword [0x1400e7fc8]
add eax, r12d
mov dword [0x1400e7fc8], eax
xor r13d, r13d
xorps xmm0, xmm0
mov eax, r13d
xor edx, edx
xchg dword [0x1400e7fcc], eax
mov eax, edi
mov r8d, 0x403
lea ecx, [r13 + 0xf]
and eax, ecx
mov dword [rsp + 0x70], eax
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xdd0], ax
mov eax, edi
shr eax, 8
and ax, cx
shr edi, 0xc
and di, cx
mov word [rbp + 0xdd2], ax
mov rax, qword [0x1400df1d8]
xor ecx, ecx
movups xmmword [rbp + 0x8d0], xmm0
mov word [rbp + 0xdd4], di
call qword [case.0x1400ad4ce.0]
mov qword [rsp + 0x68], rax
mov dword [rbp + 0x30], 0xffffff
test rax, rax
jne 0x140050235
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140051281
mov r15d, 0x80004005
jmp 0x140051281
mov rax, qword [0x1400df180]
lea r9, [rbp + 0xa8]
xor r8d, r8d
mov qword [rbp + 0x1e8], r13
lea rdx, [rbp + 0x70]
mov qword [rbp + 0x130], r13
mov qword [rbp + 0x230], r13
mov r15d, r13d
mov qword [rbp + 0x68], r13
lea ecx, [r8 + 8]
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0x90], r13
mov dword [rbp + 0xa8], r13d
call qword [case.0x1400ad4ce.0]
test eax, eax
jne 0x1400502ba
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x14005040d
mov r15d, 0x80004005
jmp 0x14005040d
mov edi, dword [rbp + 0xa8]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0xd0]
mov rdi, rax
call fcn.14008731c
test rdi, rdi
jne 0x140050309
mov qword [rbp + 0xd0], r13
mov r15d, 0x8007000e
jmp 0x14005040d
mov qword [rbp + 0xd0], rdi
mov edi, dword [rbp + 0x70]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x90]
mov rdi, rax
call fcn.14008731c
test rdi, rdi
jne 0x140050358
mov r15d, 0x8007000e
jmp 0x140050406
mov r8, qword [rbp + 0xd0]
lea r9, [rbp + 0xa8]
mov rax, qword [0x1400df180]
lea rdx, [rbp + 0x70]
mov ecx, 8
mov qword [rbp + 0x90], rdi
call qword [case.0x1400ad4ce.0]
test eax, eax
je 0x140050289
mov rdi, qword [rbp + 0xd0]
xor eax, eax
mov r13, qword [rbp + 0x90]
cmp dword [rbp + 0x70], eax
jbe 0x1400503e5
mov esi, eax
mov rax, qword [0x1400df190]
xor edx, edx
mov rcx, rdi
call qword [case.0x1400ad4ce.0]
mov dword [r13], eax
or rax, 0xffffffffffffffff
xor ecx, ecx
inc rax
cmp word [rdi + rax*2], cx
jne 0x1400503be
lea rdi, [rdi + rax*2]
add r13, 4
add rdi, 2
add esi, r12d
cmp esi, dword [rbp + 0x70]
jb 0x1400503a2
movabs rsi, 0x7f1137fab69605e
mov dword [r13], 0x409
xor r13d, r13d
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x1e8], rax
mov eax, dword [rbp + 0x70]
inc eax
mov dword [rbp - 0x78], eax
mov qword [rbp + 0x90], r13
lea rcx, [rbp + 0x90]
call fcn.14008731c
lea rcx, [rbp + 0xd0]
call fcn.14008731c
test r15d, r15d
js 0x140050b73
lea r11, [0x1400c3e80]
mov r10d, r13d
mov r9d, r13d
mov dword [rbp - 8], r13d
cmp dword [rbp - 0x78], r13d
jbe 0x14005047e
mov rax, qword [rbp + 0x1e8]
mov r8, r13
mov edx, r13d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [rax + r8], ecx
je 0x140050478
add edx, r12d
add rdi, 4
cmp edx, 0x26
jb 0x140050455
add r9d, r12d
add r8, 4
cmp r9d, dword [rbp - 0x78]
jae 0x14005047e
jmp 0x14005044f
mov r10d, edx
mov dword [rbp - 8], edx
mov rax, qword [0x1400df188]
lea rdx, [rbp + 0xde0]
mov edi, r10d
xor r9d, r9d
mov dword [rsp + 0x78], r13d
mov ecx, dword [r11 + rdi*4]
lea r8d, [r9 + 0x55]
call qword [case.0x1400ad4ce.0]
test eax, eax
je 0x1400504e5
mov rax, qword [0x1400df170]
lea r8, [rbp + 0xbc0]
mov r9d, SafeArrayGetLBound
lea rcx, [rbp + 0xde0]
lea edx, [r9 + 0x48]
call qword [case.0x1400ad4ce.0]
test eax, eax
jle 0x1400504e5
mov r15d, dword [rbp + 0xbcc]
shr r15d, 0x1b
and r15d, r12d
mov dword [rsp + 0x78], r15d
lea rcx, str.Segoe_UI_Light
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetLBound
lea rdx, [rbp + 0xd30]
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r13w
jne 0x140050500
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub r8, r12
jne 0x1400504f9
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xc3f20]
mov rax, qword [rbp + rax*8 + 0xd30]
mov qword [rbp], rax
movzx eax, byte [rdx + rcx + 0xc3f21]
mov rax, qword [rbp + rax*8 + 0xd30]
mov qword [rbp - 0x30], rax
movzx eax, byte [rdx + rcx + 0xc3f22]
mov rax, qword [rbp + rax*8 + 0xd30]
mov qword [rbp - 0x38], rax
mov r15d, r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x1c90
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r13, rax
mov qword [rbp - 0x70], rax
xor eax, eax
test r13, r13
je 0x140050b3d
or dword [rbp - 0x80], 0xffffffff
lea r11, [r13 + 7]
mov r13d, dword [rbp - 0x80]
lea rbx, [0x1400c21e2]
mov r14d, eax
mov r10d, eax
mov r9d, eax
mov esi, 0x392
movzx eax, byte [rbx - 1]
movzx r8d, byte [rbx - 2]
movzx edi, byte [rbx + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r8d, 8
or r8d, eax
movzx eax, byte [rbx - 7]
shl r8d, 8
or r8d, eax
movzx eax, byte [rbx - 5]
or edi, eax
xor r9d, r8d
movzx eax, byte [rbx - 4]
shl edi, 8
or edi, eax
movzx eax, byte [rbx - 3]
shl edi, 8
or edi, eax
xor r10d, edi
xor r10d, r9d
xor r10d, 0xac987321
lea eax, [r10 + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, r10d
rol eax, 0xa
add ecx, eax
xor r9d, ecx
lea eax, [r9 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r9d
rol eax, 2
sub ecx, eax
xor r10d, ecx
imul ecx, r10d, 0x605e
mov eax, r10d
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor r9d, ecx
mov eax, r9d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r9d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor r10d, ecx
mov ecx, r10d
xor ecx, 0xab69605e
sub eax, ecx
xor r9d, eax
mov eax, r9d
mov edx, r9d
xor eax, 0x137f
ror edx, 6
imul ecx, eax, 0xab69
xor edx, ecx
xor r10d, edx
mov edx, 0xab69605e
lea eax, [r10 + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, r10d
rol eax, 2
add ecx, eax
xor r9d, ecx
lea eax, [r9 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r9d
rol eax, 8
sub ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, r10d
ror eax, 0xa
xor ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r9d
shr eax, 0xa
xor ecx, eax
xor ecx, r10d
mov eax, ecx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r9d, eax
lea r10d, [r9 - 0x7f1]
xor r10d, ecx
xor r10d, edx
mov eax, r10d
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, r10d
shr eax, 2
add ecx, eax
xor r9d, ecx
lea eax, [r9 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r9d
rol eax, 7
add ecx, eax
xor r10d, ecx
mov eax, r10d
mov edx, r10d
xor eax, 0x137f
ror edx, 9
imul ecx, eax, 0x605e
add edx, ecx
xor r9d, edx
mov eax, r9d
mov edx, r9d
xor eax, 0xab69
rol r9d, 7
rol eax, 5
imul ecx, eax, 0x7f1
add ecx, r9d
xor r10d, ecx
mov r9d, r10d
xor r9d, edx
xor r9d, 0xac987321
mov eax, r9d
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor r10d, ecx
lea eax, [r10 - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, r10d
ror eax, 6
sub ecx, eax
xor r9d, ecx
lea eax, [r9 - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, r9d
rol eax, 0xe
add ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, r10d
ror eax, 0xe
sub ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, r9d
shr eax, 3
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, r10d
xor r10d, r13d
rol eax, 2
mov r13d, edi
xor ecx, eax
xor ecx, r14d
mov r14d, r8d
xor r9d, ecx
mov byte [r11 - 4], r9b
mov byte [r11], r10b
lea r11, [r11 + 8]
ror r9d, 8
mov byte [r11 - 0xd], r9b
ror r10d, 8
mov byte [r11 - 9], r10b
ror r9d, 8
mov byte [r11 - 0xe], r9b
ror r10d, 8
mov byte [r11 - 0xa], r10b
ror r9d, 8
ror r10d, 8
mov byte [r11 - 0xf], r9b
mov byte [r11 - 0xb], r10b
ror r10d, 8
ror r9d, 8
sub rsi, r12
jne 0x1400505bb
mov r14d, dword [rsp + 0x60]
xor ecx, ecx
mov r13, qword [rbp - 0x70]
mov eax, ecx
xorps xmm1, xmm1
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov edx, 0x1c90
movdqu xmm0, xmmword [rax + r13]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rdx
jb 0x1400508ce
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 [0x1400c3e70]
je 0x14005092d
mov r15d, 0xc004d501
jmp 0x14005093e
mov qword [rbp + 0x130], r13
mov r13, rcx
mov qword [rbp + 0x230], rdx
test r13, r13
je 0x140050963
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r13d, r13d
test r15d, r15d
js 0x140050b73
mov rdx, qword [rbp + 0x130]
lea rdi, [rbp + 0xd00]
mov r9d, dword [rbp - 8]
lea r8d, [r13 + 6]
mov ecx, r13d
cmp r9d, ecx
jne 0x140050990
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r13b
jne 0x140050994
inc rdx
add ecx, r12d
add rdx, rax
cmp ecx, 0x26
jb 0x140050988
add rdi, 8
sub r8, r12
jne 0x140050985
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x68]
mov rdi, rax
call fcn.14008731c
test rdi, rdi
jne 0x1400509f5
mov qword [rbp + 0x68], r13
mov r15d, 0x8007000e
jmp 0x140050b73
mov qword [rbp + 0x68], rdi
lea rcx, [rbp + 0xdd0]
xor eax, eax
mov qword [rbp - 0x50], rcx
xorps xmm0, xmm0
mov edx, r13d
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
xor edi, edi
mov dword [rbp - 0x78], edx
mov eax, edi
movzx edi, word [rcx]
lea rcx, [0x1400c3f98]
cmp di, word [rcx]
je 0x140050a3c
add eax, r12d
add rcx, 2
cmp eax, 6
jb 0x140050a24
xor edi, edi
jmp 0x140050b00
mov rcx, qword [rbp + rax*8 + 0xd00]
or rax, 0xffffffffffffffff
xor edi, edi
mov qword [rbp - 0x70], rcx
inc rax
cmp byte [rcx + rax], dil
jne 0x140050a4e
lea r9d, [r12 + rax]
mov dword [rsp + 0x28], edi
mov rax, qword [0x1400df1a0]
mov r8, rcx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rdi
xor edx, edx
call qword [case.0x1400ad4ce.0]
mov dword [rbp - 0x80], eax
test eax, eax
je 0x140050b48
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x68]
xor edi, edi
mov qword [rcx + r13], rax
mov rcx, qword [rbp + 0x68]
cmp qword [rcx + r13], rdi
je 0x140050b3d
mov r8, qword [rbp - 0x70]
or rax, 0xffffffffffffffff
inc rax
cmp byte [r8 + rax], dil
jne 0x140050ac8
mov edx, dword [rbp - 0x80]
lea r9d, [r12 + rax]
mov rax, qword [0x1400df1a0]
mov dword [rsp + 0x28], edx
mov rdx, qword [rcx + r13]
mov ecx, 0xfde9
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [case.0x1400ad4ce.0]
test eax, eax
je 0x140050b48
mov edx, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x50]
add edx, r12d
add rcx, 2
mov dword [rbp - 0x78], edx
add r13, 8
mov qword [rbp - 0x50], rcx
cmp edx, 3
jb 0x140050a18
mov rax, qword [rbp + 0x68]
xor r13d, r13d
mov qword [rbp + 0x1a8], rax
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0x450], eax
mov qword [rbp + 0x68], r13
jmp 0x140050b73
mov r15d, 0x8007000e
xor r13d, r13d
jmp 0x140050b73
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r13d, r13d
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140050b73
mov r15d, 0x80004005
cmp qword [rbp + 0x68], r13
je 0x140050bf1
mov eax, 3
xor edx, edx
mov qword [rbp - 0x50], rax
mov rcx, qword [rbp + 0x68]
cmp qword [rcx + r13], rdx
je 0x140050be1
test rcx, rcx
jne 0x140050b96
mov rcx, rdx
mov rdi, qword [rcx + r13]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdi + rcx*2], dx
jne 0x140050b9e
xor eax, eax
lea rcx, [rcx*2 + 2]
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x68]
mov rdi, qword [rax + r13]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rax, qword [rbp - 0x50]
xor edx, edx
add r13, 8
sub rax, r12
mov qword [rbp - 0x50], rax
jne 0x140050b84
xor r13d, r13d
mov rdi, qword [rbp + 0x130]
test rdi, rdi
je 0x140050c08
mov rcx, qword [rbp + 0x230]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0x68]
call fcn.14008731c
lea rcx, [rbp + 0x130]
call fcn.14008731c
lea rcx, [rbp + 0x1e8]
call fcn.14008731c
test r15d, r15d
js 0x14005126d
mov rax, qword [rbp + 0x1a8]
lea r8, [rbp + 0x348]
xor edx, edx
xorps xmm0, xmm0
xor r9d, r9d
mov edi, r13d
mov r15d, r13d
mov rcx, qword [rax]
mov qword [rbp + 0x458], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x460], rcx
mov rcx, qword [rax + 0x10]
mov rax, qword [0x1400df248]
mov qword [rbp + 0x468], rcx
lea ecx, [rdx + 0x42]
movups xmmword [rbp + 0x348], xmm0
mov dword [rbp + 0x348], SafeArrayGetLBound
call qword [case.0x1400ad4ce.0]
test eax, eax
jne 0x140050cbd
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140050cc6
mov r15d, 0x80004005
jmp 0x140050cc6
mov edi, dword [rbp + 0x34c]
and edi, r12d
mov dword [rbp + 0x454], edi
test r15d, r15d
js 0x14005126d
mov r15d, dword [rsp + 0x70]
mov eax, 0x2a
mov ecx, r15d
mov dword [rbp - 0x58], eax
sub ecx, r12d
je 0x140050d0d
sub ecx, r12d
je 0x140050d04
cmp ecx, r12d
jne 0x140050d17
mov r13d, 0xe1
mov dword [rbp - 0x28], r13d
mov dword [rbp - 0x20], r13d
jmp 0x140050d17
mov dword [rbp - 0x28], SafeArrayGetLBound
jmp 0x140050d10
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x20], SafeArrayGetElemsize
mov edi, 0x60
lea rcx, [rbp + 0xbe0]
xor edx, edx
mov dword [rbp - 0x48], edi
lea r13d, [rdi + 0x7c]
mov r8d, r13d
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400df1c0]
lea r8, [rbp + 0xbe0]
or edx, 0xffffffff
mov word [rbp + 0xc24], r13w
xor ecx, ecx
call qword [case.0x1400ad4ce.0]
xor r13d, r13d
test eax, eax
je 0x140050d87
mov eax, dword [rbp + 0xc8c]
movzx edi, word [rbp + 0xc86]
mov dword [rbp + 0x948], eax
mov eax, dword [rbp + 0xc90]
mov dword [rbp + 0x94c], eax
lea eax, [r13 + 0x60]
cmp edi, eax
cmovb edi, eax
mov dword [rbp - 0x48], edi
mov rax, qword [rbp - 0x38]
lea rcx, [rbp + 0xb00]
cmp r15d, r12d
cmove rax, qword [rbp]
xor edx, edx
mov qword [rbp - 0x38], rax
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400df1d8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r15d, r13d
call qword [case.0x1400ad4ce.0]
mov r13, rax
test rax, rax
jne 0x140050dff
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r13d, r13d
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x14005126d
mov r15d, 0x80004005
jmp 0x14005126d
mov ecx, dword [rbp - 0x28]
mov r8d, 0x48
mov rax, qword [0x1400df198]
mov edx, edi
call qword [case.0x1400ad4ce.0]
mov r8, qword [rbp - 0x38]
lea rcx, [rbp + 0xb1c]
neg eax
mov dword [rbp + 0xb10], 0x190
mov edx, 0x20
mov dword [rbp + 0xb00], eax
mov byte [rbp + 0xb1a], 5
call fcn.140003680
mov rax, qword [0x1400df100]
lea rcx, [rbp + 0xb00]
call qword [case.0x1400ad4ce.0]
test rax, rax
jne 0x140050e88
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140050e8f
mov r15d, 0x80004005
jmp 0x140050e8f
mov qword [rbp + 0x470], rax
mov rax, qword [0x1400df240]
mov rdx, r13
xor ecx, ecx
call qword [case.0x1400ad4ce.0]
xor r13d, r13d
test r15d, r15d
js 0x14005126d
xor edx, edx
lea r8d, [r13 + 0x5c]
lea rcx, [rbp + 0xaa0]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400df1d8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r15d, r13d
call qword [case.0x1400ad4ce.0]
mov r13, rax
test rax, rax
je 0x140050dcb
mov ecx, dword [rbp - 0x20]
mov r8d, 0x48
mov rax, qword [0x1400df198]
mov edx, edi
call qword [case.0x1400ad4ce.0]
mov r8, qword [rbp - 0x38]
lea rcx, [rbp + 0xabc]
neg eax
mov dword [rbp + 0xab0], 0x190
mov edx, 0x20
mov dword [rbp + 0xaa0], eax
mov byte [rbp + 0xaba], 5
call fcn.140003680
mov rax, qword [0x1400df100]
lea rcx, [rbp + 0xaa0]
call qword [case.0x1400ad4ce.0]
test rax, rax
jne 0x140050f6e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140050f75
mov r15d, 0x80004005
jmp 0x140050f75
mov qword [rbp + 0x478], rax
mov rax, qword [0x1400df240]
mov rdx, r13
xor ecx, ecx
call qword [case.0x1400ad4ce.0]
xor r13d, r13d
test r15d, r15d
js 0x14005126d
mov edi, dword [rsp + 0x70]
xor r8d, r8d
mov ecx, edi
mov edx, r8d
sub ecx, r12d
je 0x140050fae
sub ecx, r12d
je 0x140050fe2
cmp ecx, r12d
jne 0x140050fbb
mov r13d, dword [rbp + 0x948]
mov edx, dword [rbp + 0x94c]
mov dword [rbp + 0x8d8], r13d
mov dword [rbp + 0x8dc], edx
cmp edi, r12d
je 0x140051019
lea eax, [rdi - 2]
cmp eax, r12d
ja 0x140050ff9
mov ecx, r8d
mov dword [rbp - 0x58], r8d
mov dword [rbp - 0x28], r8d
jmp 0x140051025
mov eax, dword [rbp + 0x948]
cdq
and edx, 3
lea r13d, [rdx + rax]
mov edx, r8d
sar r13d, 2
jmp 0x140050fbb
mov eax, dword [rbp + 0x88]
mov ecx, dword [rbp + 0x88]
mov dword [rbp - 0x28], eax
mov eax, dword [rbp + 0x88]
mov dword [rbp - 0x58], eax
mov eax, dword [rbp + 0x88]
jmp 0x140051028
mov ecx, 0x96
mov dword [rbp - 0x28], 0x20
mov eax, r8d
mov dword [rbp - 0x20], ecx
mov dword [rbp - 0x40], eax
mov rdx, qword [rbp + 0x470]
sub r13d, ecx
mov rcx, qword [rsp + 0x68]
sub r13d, eax
mov rax, qword [0x1400df158]
mov r15d, r8d
mov rdi, qword [rbp + 0x458]
mov dword [rbp + 0x4a4], r13d
mov dword [rbp + 0x494], r13d
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 0x70], rax
mov rdx, rdi
mov rdi, qword [rsp + 0x68]
lea r9, [rbp + 0x48c]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov dword [rsp + 0x20], 0xc50
call qword [case.0x1400ad4ce.0]
xor ecx, ecx
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1400510c6
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
xor ecx, ecx
test r15d, r15d
js 0x14005126a
mov rdx, qword [rbp + 0x478]
mov r15d, ecx
mov rcx, qword [rsp + 0x68]
mov rax, qword [0x1400df158]
mov rdi, qword [rbp + 0x460]
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 0x70], rax
mov rdx, rdi
mov rdi, qword [rsp + 0x68]
lea r9, [rbp + 0x49c]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov dword [rsp + 0x20], 0xc50
call qword [case.0x1400ad4ce.0]
xor edx, edx
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140051153
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
xor edx, edx
test r15d, r15d
js 0x14005126a
mov r15d, dword [rsp + 0x70]
mov ecx, dword [rbp + 0x494]
lea eax, [r15 - 2]
cmp eax, r12d
ja 0x14005117e
mov r13d, dword [rbp + 0x4a4]
cmp ecx, r13d
cmovg r13d, ecx
mov r8d, dword [rbp - 0x58]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
cmp dword [rbp + 0x450], edx
je 0x1400511b4
mov edi, dword [rbp - 0x40]
mov edx, edi
sub edx, ecx
lea rcx, [rbp + 0x48c]
add edx, r13d
call qword [case.0x1400ad4ce.0]
sub edi, dword [rbp + 0x4a4]
lea edx, [rdi + r13]
jmp 0x1400511c7
mov edx, dword [rbp - 0x20]
lea rcx, [rbp + 0x48c]
call qword [case.0x1400ad4ce.0]
mov edx, dword [rbp - 0x20]
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp + 0x49c]
add r8d, dword [rbp + 0x498]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
lea eax, [r15 - 2]
cmp eax, r12d
jbe 0x140051664
cmp r15d, r12d
jne 0x140051681
xor edx, edx
mov dword [rbp + 0x488], 0xffffff
lea rcx, [rbp + 0xb60]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
xor edx, edx
mov r15d, eax
xor ecx, ecx
mov rax, qword [0x1400df1d8]
mov r8d, 0x403
call qword [case.0x1400ad4ce.0]
mov rdi, rax
test rax, rax
jne 0x140051429
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor ecx, ecx
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x14005126a
mov r15d, 0x80004005
xor r13d, r13d
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
mov rax, qword [0x1400df240]
call qword [case.0x1400ad4ce.0]
xor eax, eax
lock cmpxchg dword [0x1400e7fcc], r12d
jne 0x140051281
mov eax, dword [0x1400e7fc8]
test eax, eax
jle 0x1400512fa
sub eax, r12d
mov dword [0x1400e7fc8], eax
jne 0x1400512fa
xor eax, eax
lea rdi, [0x1400e7b20]
lea r13d, [rax + 4]
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400512c6
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor eax, eax
add rdi, 0x18
sub r13, r12
jne 0x1400512b0
xor edx, edx
lea r8d, [r13 + 0x60]
lea rcx, [0x1400e7b20]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400b1e90]
lea rcx, [0x1400df0e0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r13d
lea rcx, [rbp + 0x1a8]
xchg dword [0x1400e7fcc], eax
call fcn.14008731c
test r15d, r15d
js 0x14005306a
mov rdi, qword [rbp + 0x8d0]
lea rcx, [rbp + 0x4c0]
xor edx, edx
mov qword [rbp + 0x248], rdi
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r13, qword [rbp + 0x38]
mov edx, 7
mov rax, qword [0x1400df130]
mov rcx, r13
mov r15d, r12d
call qword [case.0x1400ad4ce.0]
xor ecx, ecx
test rax, rax
je 0x1400513a0
lea edx, [rcx + 0x68]
mov rcx, rax
mov rax, qword [0x1400df148]
lea r8, [rbp + 0x4c0]
call qword [case.0x1400ad4ce.0]
xor ecx, ecx
test eax, eax
je 0x1400513a0
lea eax, [rcx + 0x20]
cmp word [rbp + 0x4d2], ax
jne 0x1400513a0
cmp qword [rbp + 0x4d8], rcx
je 0x1400513a0
cmp dword [rbp + 0x4c4], ecx
jle 0x1400513a0
cmp dword [rbp + 0x4c8], ecx
jg 0x1400513a3
mov r15d, ecx
mov dword [rbp + 0xe4], r15d
test r15d, r15d
jne 0x1400513ba
cmp dword [rsp + 0x70], r12d
jne 0x14005188a
mov r8d, dword [rbp + 0x24c]
lea rcx, [rbp + 0x48c]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov edx, edi
call qword [case.0x1400ad4ce.0]
mov r8d, dword [rbp + 0x24c]
lea rcx, [rbp + 0x49c]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov edx, edi
call qword [case.0x1400ad4ce.0]
mov edi, dword [rsp + 0x70]
cmp edi, r12d
jne 0x14005188e
mov eax, dword [rbp + 0x454]
neg eax
mov rax, qword [0x1400df108]
sbb ecx, ecx
not ecx
and ecx, 0xb26720
call qword [case.0x1400ad4ce.0]
mov qword [rbp + 0x48], rax
jmp 0x14005188e
mov edx, dword [rbp - 0x48]
mov r8d, 0x48
mov rax, qword [0x1400df198]
lea ecx, [r8 - 0x3d]
call qword [case.0x1400ad4ce.0]
mov r8, qword [rbp - 0x30]
lea rcx, [rbp + 0xb7c]
neg eax
mov dword [rbp + 0xb70], 0x190
mov edx, 0x20
mov dword [rbp + 0xb60], eax
mov byte [rbp + 0xb7a], 5
call fcn.140003680
mov rax, qword [0x1400df100]
lea rcx, [rbp + 0xb60]
call qword [case.0x1400ad4ce.0]
test rax, rax
jne 0x1400514b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400514bb
mov r15d, 0x80004005
jmp 0x1400514bb
mov qword [rbp + 0x480], rax
mov rax, qword [0x1400df240]
mov rdx, rdi
xor ecx, ecx
call qword [case.0x1400ad4ce.0]
xor ecx, ecx
test r15d, r15d
js 0x14005126a
mov rdx, qword [rbp + 0x480]
mov r15d, ecx
mov rcx, qword [rsp + 0x68]
mov rax, qword [0x1400df158]
mov rdi, qword [rbp + 0x468]
mov dword [rbp + 0x4b4], r13d
call qword [case.0x1400ad4ce.0]
mov rdx, rdi
lea r9, [rbp + 0x4ac]
mov rdi, qword [rsp + 0x68]
mov r13, rax
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov dword [rsp + 0x20], 0x460
call qword [case.0x1400ad4ce.0]
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
test r13, r13
je 0x14005155a
mov rax, qword [0x1400df158]
mov rdx, r13
mov rcx, rdi
call qword [case.0x1400ad4ce.0]
xor r13d, r13d
test r15d, r15d
js 0x14005126d
mov eax, dword [rbp + 0x4b4]
lea ecx, [r13 + 0x5a]
mov edi, dword [rbp - 0x48]
lea r15d, [r13 + 0x60]
add eax, 0x18
mov r8d, r15d
cmp eax, ecx
mov edx, edi
cmovl eax, ecx
mov dword [rbp + 0x4b4], eax
lea eax, [rcx - 0x3a]
mov ecx, dword [rbp + 0x4ac]
mov dword [rbp + 0x4b8], eax
mov rax, qword [0x1400df198]
call qword [case.0x1400ad4ce.0]
mov ecx, dword [rbp + 0x4b0]
mov r8d, r15d
mov dword [rbp + 0x4ac], eax
mov edx, edi
mov rax, qword [0x1400df198]
call qword [case.0x1400ad4ce.0]
mov ecx, dword [rbp + 0x4b4]
mov r8d, r15d
mov dword [rbp + 0x4b0], eax
mov edx, edi
mov rax, qword [0x1400df198]
call qword [case.0x1400ad4ce.0]
mov ecx, dword [rbp + 0x4b8]
mov r8d, r15d
mov dword [rbp + 0x4b4], eax
mov edx, edi
mov rax, qword [0x1400df198]
call qword [case.0x1400ad4ce.0]
mov r8d, dword [rbp + 0x4a8]
lea rcx, [rbp + 0x4ac]
add r8d, 0x24
mov dword [rbp + 0x4b8], eax
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
cmp dword [rbp + 0x450], r13d
je 0x140051643
mov edx, dword [rbp + 0x48c]
cmp edx, dword [rbp + 0x49c]
cmovge edx, dword [rbp + 0x49c]
call qword [case.0x1400ad4ce.0]
jmp 0x140051681
mov edx, dword [rbp + 0x494]
cmp edx, dword [rbp + 0x4a4]
cmovle edx, dword [rbp + 0x4a4]
sub edx, dword [rbp + 0x4b4]
add edx, dword [rbp + 0x4ac]
jmp 0x14005163b
mov eax, dword [rbp + 0x4a8]
mov dword [rbp + 0x8dc], eax
mov dword [rbp + 0x8d8], r13d
mov dword [rbp + 0x488], 0xffa8a8a8
mov ecx, dword [rsp + 0x70]
mov r13d, dword [rbp + 0x450]
mov r15d, dword [rbp + 0x8dc]
mov edi, dword [rbp + 0x8d8]
sub ecx, r12d
je 0x14005187e
sub ecx, r12d
je 0x140051787
cmp ecx, r12d
jne 0x140051873
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp + 0xa98], rax
mov edx, r12d
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
xor ecx, ecx
movups xmmword [rbp + 0xa78], xmm0
movups xmmword [rbp + 0xa88], xmm0
call qword [case.0x1400ad4ce.0]
lea rdx, [rbp + 0xa78]
mov dword [rbp + 0xa78], 0x28
mov rcx, rax
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
xor r13d, r13d
test eax, eax
je 0x140051876
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
lea rdx, [rbp + 0xa8c]
xor ecx, ecx
call qword [case.0x1400ad4ce.0]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
lea rdx, [rbp + 0xa94]
xor ecx, ecx
call qword [case.0x1400ad4ce.0]
mov eax, dword [rbp + 0xa94]
sub eax, edi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
mov eax, 0x51eb851f
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov rcx, qword [rbp + 0xa94]
shr rcx, 0x20
mov dword [rbp + 0x8d0], edx
sub ecx, r15d
imul ecx, ecx, 0x32
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x8d4], edx
jmp 0x140051876
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp + 0xa70], rax
mov edx, r12d
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
xor ecx, ecx
movups xmmword [rbp + 0xa50], xmm0
movups xmmword [rbp + 0xa60], xmm0
call qword [case.0x1400ad4ce.0]
lea rdx, [rbp + 0xa50]
mov dword [rbp + 0xa50], 0x28
mov rcx, rax
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
xor ecx, ecx
test eax, eax
je 0x140051873
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
lea rdx, [rbp + 0xa64]
call qword [case.0x1400ad4ce.0]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
lea rdx, [rbp + 0xa6c]
xor ecx, ecx
call qword [case.0x1400ad4ce.0]
mov eax, dword [rbp + 0xa6c]
test r13d, r13d
je 0x14005182f
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 + 0xa64]
jmp 0x140051845
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 + 0xa6c]
shr rax, 0x20
sub eax, r15d
mov dword [rbp + 0x8d0], edx
imul ecx, eax, 0x5f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x8d4], edx
xor r13d, r13d
mov r15d, r13d
jmp 0x14005126d
xor r13d, r13d
mov qword [rbp + 0x8d0], r13
jmp 0x140051876
mov edi, dword [rsp + 0x70]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov edx, r12d
mov rcx, r13
call qword [case.0x1400ad4ce.0]
xor edx, edx
mov dword [rsp + 0x68], eax
cmp dword [rbp + 0x450], edx
mov ecx, 0x20812
mov eax, 0x810
cmovne eax, ecx
mov dword [rbp - 0x58], eax
cmp dword [rbp + 0xe4], edx
je 0x1400522f6
mov eax, dword [rbp + 0x454]
lea edi, [rdx + 0x68]
mov r15, qword [rbp + 0x458]
lea rcx, [rbp + 0x5a0]
mov dword [rbp - 0x80], eax
mov r8d, edi
mov rax, qword [rbp + 0x470]
mov qword [rbp - 0x70], rax
mov qword [rbp], r15
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, edi
lea rcx, [rbp + 0x6f0]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor ecx, ecx
xor eax, eax
mov qword [rbp - 0x30], rcx
xorps xmm0, xmm0
mov dword [rbp - 0x78], ecx
mov edi, ecx
mov qword [rbp + 0x980], rax
mov dword [rbp + 0x988], eax
movups xmmword [rbp + 0x960], xmm0
movups xmmword [rbp + 0x970], xmm0
movups xmmword [rbp + 0x930], xmm0
test r15, r15
je 0x140051969
mov rax, qword [0x1400df130]
lea edx, [rcx + 7]
mov rcx, r13
call qword [case.0x1400ad4ce.0]
xor r15d, r15d
test rax, rax
jne 0x140051971
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r13d, r13d
jmp 0x140053051
mov rcx, rax
lea r8, [rbp + 0x5a0]
mov rax, qword [0x1400df148]
mov edx, 0x68
call qword [case.0x1400ad4ce.0]
test eax, eax
je 0x1400519ab
mov rax, qword [rbp + 0x5b8]
mov edi, dword [rbp + 0x5a8]
mov qword [rbp - 0x30], rax
mov eax, dword [rbp + 0x5a4]
mov dword [rbp - 0x78], eax
mov rax, qword [0x1400df0f0]
mov rcx, r13
call qword [case.0x1400ad4ce.0]
xor ecx, ecx
mov r13, rax
test rax, rax
je 0x14005195d
mov eax, dword [rbp + 0x494]
lea r9, [rbp + 0x2d0]
sub eax, dword [rbp + 0x48c]
lea rdx, [rbp + 0x960]
mov dword [rbp + 0x964], eax
xorps xmm0, xmm0
mov eax, dword [rbp + 0x490]
xor r8d, r8d
sub eax, dword [rbp + 0x498]
mov dword [rsp + 0x28], ecx
mov dword [rbp + 0x968], eax
mov rax, qword [0x1400df0f8]
mov qword [rbp + 0x2d0], rcx
mov qword [rbp + 0x980], rcx
mov dword [rbp + 0x988], ecx
mov qword [rsp + 0x20], rcx
mov rcx, r13
movdqu xmmword [rbp + 0x970], xmm0
mov dword [rbp + 0x960], 0x28
mov dword [rbp + 0x96c], 0x200001
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x140051a80
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140051dc1
mov r15d, 0x80004005
jmp 0x140051dc1
mov rcx, rax
lea r8, [rbp + 0x6f0]
mov rax, qword [0x1400df148]
mov edx, 0x68
call qword [case.0x1400ad4ce.0]
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, dword [rbp + 0x494]
cmovne rcx, qword [rbp + 0x708]
sub eax, dword [rbp + 0x48c]
mov rdx, qword [rbp - 0x38]
mov dword [rbp + 0x938], eax
mov eax, dword [rbp + 0x498]
sub eax, dword [rbp + 0x490]
mov dword [rbp + 0x93c], eax
mov rax, qword [0x1400df158]
mov qword [rbp - 0x50], rcx
mov rcx, r13
call qword [case.0x1400ad4ce.0]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov edx, r12d
mov rcx, r13
call qword [case.0x1400ad4ce.0]
mov rdx, qword [rbp - 0x70]
mov rcx, r13
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 8], rax
xor ecx, ecx
mov rax, qword [0x1400df150]
call qword [case.0x1400ad4ce.0]
lea rdx, [rbp + 0x930]
mov rcx, r13
mov r8, rax
mov rax, qword [0x1400df1c8]
call qword [case.0x1400ad4ce.0]
mov rdx, qword [rbp]
lea r9, [rbp + 0x930]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, r13
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x20], eax
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
xor r10d, r10d
cmp dword [rsp + 0x70], r12d
jne 0x140051b99
cmp dword [rbp - 0x80], r10d
je 0x140051b90
mov rax, qword [0x1400df1f8]
lea ecx, [r10 + 8]
call qword [case.0x1400ad4ce.0]
mov dword [rbp - 0x20], eax
xor r10d, r10d
jmp 0x140051ba0
mov dword [rbp - 0x20], 0xffffff
jmp 0x140051ba0
mov dword [rbp - 0x20], 0xffa8a8a8
mov eax, dword [rbp + 0x48c]
mov r9d, r10d
mov r8d, eax
mov edx, r10d
neg r8d
test eax, eax
cmovns r9d, eax
cmovns r8d, r10d
mov eax, dword [rbp + 0x490]
mov ecx, eax
neg ecx
test eax, eax
cmovns edx, eax
cmovns ecx, r10d
movsxd r10, dword [rbp - 0x78]
mov eax, dword [rbp + 0x938]
mov r11d, r10d
sub eax, r8d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x93c]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x140051d94
test edi, edi
jle 0x140051d94
imul ecx, dword [rbp + 0x938]
mov esi, dword [rbp - 0x20]
movsxd rax, r8d
imul edx, r10d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x50]
lea r8, [rax + rcx*4]
movsxd rax, r9d
movsxd rcx, edx
add rcx, rax
mov qword [rbp], r8
mov rax, qword [rbp - 0x30]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x938]
shl rcx, 2
mov qword [rbp - 0x70], rcx
mov rcx, r10
mov rbx, qword [rbp - 0x70]
shl rcx, 2
mov qword [rbp - 0x78], rcx
mov ecx, edi
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x50], rax
mov r10, rax
mov edi, r11d
sub r10, r8
mov qword [rbp - 0x30], 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 0x140051d49
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 - 0x1f]
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 - 0x1e]
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 - 0x30]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, r12
mov qword [rbp - 0x30], rdi
jne 0x140051c76
mov r8, qword [rbp]
mov rax, qword [rbp - 0x50]
add r8, rbx
add rax, qword [rbp - 0x78]
sub qword [rbp - 0x80], r12
mov qword [rbp], r8
mov qword [rbp - 0x50], rax
jne 0x140051c65
mov r14d, dword [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov rax, qword [rbp - 8]
test rax, rax
je 0x140051dc1
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
mov rax, qword [0x1400df110]
mov rcx, r13
call qword [case.0x1400ad4ce.0]
xor r13d, r13d
test r15d, r15d
js 0x140051969
mov eax, dword [rbp + 0x454]
lea edi, [r13 + 0x68]
mov r15, qword [rbp + 0x460]
lea rcx, [rbp + 0x530]
mov dword [rbp - 0x80], eax
mov r8d, edi
mov rax, qword [rbp + 0x478]
xor edx, edx
mov qword [rbp - 0x70], rax
mov qword [rbp], r15
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 eax, eax
mov qword [rbp - 0x30], r13
mov dword [rbp - 0x78], r13d
xorps xmm0, xmm0
mov qword [rbp + 0x9b0], rax
mov edi, r13d
mov dword [rbp + 0x9b8], eax
movups xmmword [rbp + 0x990], xmm0
movups xmmword [rbp + 0x9a0], xmm0
movups xmmword [rbp + 0x900], xmm0
test r15, r15
je 0x140053051
mov r13, qword [rbp + 0x38]
lea edx, [rax + 7]
mov rax, qword [0x1400df130]
mov rcx, r13
call qword [case.0x1400ad4ce.0]
xor r15d, r15d
test rax, rax
je 0x14005195d
mov rcx, rax
lea r8, [rbp + 0x530]
mov rax, qword [0x1400df148]
lea edx, [r15 + 0x68]
call qword [case.0x1400ad4ce.0]
test eax, eax
je 0x140051eb9
mov rax, qword [rbp + 0x548]
mov edi, dword [rbp + 0x538]
mov qword [rbp - 0x30], rax
mov eax, dword [rbp + 0x534]
mov dword [rbp - 0x78], eax
mov rax, qword [0x1400df0f0]
mov rcx, r13
call qword [case.0x1400ad4ce.0]
xor ecx, ecx
mov r13, rax
test rax, rax
je 0x14005195d
mov eax, dword [rbp + 0x4a4]
lea r9, [rbp + 0x2d8]
sub eax, dword [rbp + 0x49c]
lea rdx, [rbp + 0x990]
mov dword [rbp + 0x994], eax
xorps xmm0, xmm0
mov eax, dword [rbp + 0x4a0]
xor r8d, r8d
sub eax, dword [rbp + 0x4a8]
mov dword [rsp + 0x28], ecx
mov dword [rbp + 0x998], eax
mov rax, qword [0x1400df0f8]
mov qword [rbp + 0x2d8], rcx
mov qword [rbp + 0x9b0], rcx
mov dword [rbp + 0x9b8], ecx
mov qword [rsp + 0x20], rcx
mov rcx, r13
movdqu xmmword [rbp + 0x9a0], xmm0
mov dword [rbp + 0x990], 0x28
mov dword [rbp + 0x99c], 0x200001
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x140051f92
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400522d4
mov r15d, 0x80004005
jmp 0x1400522d4
mov rcx, rax
lea r8, [rbp + 0x760]
mov rax, qword [0x1400df148]
mov edx, 0x68
call qword [case.0x1400ad4ce.0]
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, dword [rbp + 0x4a4]
cmovne rcx, qword [rbp + 0x778]
sub eax, dword [rbp + 0x49c]
mov rdx, qword [rbp - 0x38]
mov dword [rbp + 0x908], eax
mov eax, dword [rbp + 0x4a8]
sub eax, dword [rbp + 0x4a0]
mov dword [rbp + 0x90c], eax
mov rax, qword [0x1400df158]
mov qword [rbp - 0x50], rcx
mov rcx, r13
call qword [case.0x1400ad4ce.0]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov edx, r12d
mov rcx, r13
call qword [case.0x1400ad4ce.0]
mov rdx, qword [rbp - 0x70]
mov rcx, r13
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 8], rax
xor ecx, ecx
mov rax, qword [0x1400df150]
call qword [case.0x1400ad4ce.0]
lea rdx, [rbp + 0x900]
mov rcx, r13
mov r8, rax
mov rax, qword [0x1400df1c8]
call qword [case.0x1400ad4ce.0]
mov rdx, qword [rbp]
lea r9, [rbp + 0x900]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, r13
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x20], eax
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
xor r10d, r10d
cmp dword [rsp + 0x70], r12d
jne 0x1400520a8
cmp dword [rbp - 0x80], r10d
je 0x14005209f
mov rax, qword [0x1400df1f8]
lea ecx, [r10 + 8]
call qword [case.0x1400ad4ce.0]
xor r10d, r10d
jmp 0x1400520ad
mov dword [rbp - 0x58], 0xffffff
jmp 0x1400520b3
mov eax, 0xffa8a8a8
mov dword [rbp - 0x58], eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x49c]
mov r9d, r10d
mov r8d, eax
mov edx, r10d
neg r8d
test eax, eax
cmovns r9d, eax
cmovns r8d, r10d
mov eax, dword [rbp + 0x4a0]
mov ecx, eax
neg ecx
test eax, eax
cmovns edx, eax
cmovns ecx, r10d
movsxd r10, dword [rbp - 0x78]
mov eax, dword [rbp + 0x908]
mov r11d, r10d
sub eax, r8d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x90c]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x1400522a7
test edi, edi
jle 0x1400522a7
imul ecx, dword [rbp + 0x908]
mov esi, dword [rbp + 0x30]
movsxd rax, r8d
imul edx, r10d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x50]
lea r8, [rax + rcx*4]
movsxd rax, r9d
movsxd rcx, edx
add rcx, rax
mov qword [rbp], r8
mov rax, qword [rbp - 0x30]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x908]
shl rcx, 2
mov qword [rbp - 0x70], rcx
mov rcx, r10
mov rbx, qword [rbp - 0x70]
shl rcx, 2
mov qword [rbp - 0x78], rcx
mov ecx, edi
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x50], rax
mov r10, rax
mov edi, r11d
sub r10, r8
mov qword [rbp - 0x30], 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 0x14005225c
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 - 0x57]
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 - 0x56]
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 - 0x30]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, r12
mov qword [rbp - 0x30], rdi
jne 0x140052189
mov r8, qword [rbp]
mov rax, qword [rbp - 0x50]
add r8, rbx
add rax, qword [rbp - 0x78]
sub qword [rbp - 0x80], r12
mov qword [rbp], r8
mov qword [rbp - 0x50], rax
jne 0x140052178
mov r14d, dword [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov rax, qword [rbp - 8]
test rax, rax
je 0x1400522d4
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
mov rax, qword [0x1400df110]
mov rcx, r13
call qword [case.0x1400ad4ce.0]
test r15d, r15d
js 0x140051969
mov rdi, qword [rbp + 0x38]
jmp 0x140053008
cmp dword [rbp + 0x454], edx
jne 0x140052305
mov al, 0xc0
cmp edi, r12d
jne 0x140052307
mov al, 0xff
mov byte [rbp - 0x3e], al
mov rcx, r13
mov rax, qword [0x1400df0f0]
mov word [rbp - 0x40], dx
mov byte [rbp - 0x3d], r12b
mov qword [rbp + 0x8e0], rdx
mov dword [rbp + 0x8f0], edx
call qword [case.0x1400ad4ce.0]
xor r13d, r13d
mov qword [rbp - 0x18], rax
test rax, rax
jne 0x14005234c
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140053051
cmp edi, r12d
jne 0x14005241d
mov r13d, dword [rbp + 0x4a4]
mov eax, r13d
mov edi, dword [rbp + 0x494]
mov r15d, edi
mov edx, dword [rbp + 0x49c]
sub eax, edx
mov r8d, dword [rbp + 0x48c]
sub r15d, r8d
mov ecx, dword [rbp + 0x4a8]
cmp eax, r15d
mov r9d, dword [rbp + 0x490]
cmovg r15d, eax
xor eax, eax
sub ecx, r9d
mov r10d, eax
mov r11d, eax
mov dword [rbp - 0x28], ecx
cmp dword [rbp + 0x450], eax
je 0x1400523c9
mov ecx, r8d
mov eax, edx
sub ecx, edi
sub eax, r13d
add ecx, r15d
add eax, r15d
mov dword [rbp + 0x8e0], ecx
mov r10d, ecx
mov dword [rbp + 0x8f0], eax
mov ecx, dword [rbp - 0x28]
mov r11d, eax
mov eax, dword [rbp + 0x498]
sub edi, r8d
sub eax, r9d
sub r13d, edx
mov dword [rbp - 0x48], eax
add edi, r10d
mov dword [rbp + 0x8ec], eax
add r13d, r11d
mov eax, dword [rbp + 0x4a0]
sub eax, r9d
mov dword [rbp + 0x8e8], edi
mov dword [rbp - 0x80], eax
mov dword [rbp + 0x8f4], eax
sub eax, dword [rbp + 0x4a0]
add eax, dword [rbp + 0x4a8]
mov dword [rbp - 0x78], eax
mov dword [rbp + 0x8fc], eax
mov dword [rbp + 0x8f8], r13d
jmp 0x140052473
movups xmm0, xmmword [rbp + 0x48c]
mov ecx, dword [rbp + 0x8dc]
movups xmm1, xmmword [rbp + 0x49c]
mov r15d, dword [rbp + 0x8d8]
movdqu xmmword [rbp + 0x8e0], xmm0
mov eax, dword [rbp + 0x8ec]
mov edi, dword [rbp + 0x8e8]
movdqu xmmword [rbp + 0x8f0], xmm1
mov r13d, dword [rbp + 0x8f8]
mov dword [rbp - 0x48], eax
mov eax, dword [rbp + 0x8fc]
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x8f4]
mov dword [rbp - 0x80], eax
mov dword [rbp - 0x28], ecx
xor edx, edx
mov dword [rbp + 0xa20], 0x28
mov eax, ecx
mov dword [rsp + 0x28], edx
mov rcx, qword [rbp - 0x18]
lea r9, [rbp + 0x2e0]
neg eax
mov qword [rbp + 0x2e0], rdx
mov dword [rbp + 0xa28], eax
xorps xmm0, xmm0
mov rax, qword [0x1400df0f8]
xor r8d, r8d
mov qword [rbp + 0xa40], rdx
mov dword [rbp + 0xa48], edx
mov qword [rsp + 0x20], rdx
lea rdx, [rbp + 0xa20]
movdqu xmmword [rbp + 0xa30], xmm0
mov dword [rbp + 0xa24], r15d
mov dword [rbp + 0xa2c], 0x200001
call qword [case.0x1400ad4ce.0]
mov qword [rbp + 0x20], rax
test rax, rax
jne 0x140052501
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r13d, r13d
jmp 0x140053038
mov rcx, qword [rbp - 0x18]
mov rdx, rax
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
cmp dword [rsp + 0x70], r12d
jne 0x140052556
mov r8, qword [rbp + 0x48]
xor eax, eax
test r8, r8
je 0x140052556
mov rcx, qword [rbp - 0x18]
lea rdx, [rbp + 0x950]
mov qword [rbp + 0x950], rax
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0x95c], eax
mov rax, qword [0x1400df1c8]
mov dword [rbp + 0x958], r15d
call qword [case.0x1400ad4ce.0]
mov eax, dword [rbp + 0x454]
lea rcx, [rbp + 0x610]
mov dword [rbp - 0x20], eax
xor edx, edx
mov rax, qword [rbp + 0x470]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x458]
lea r8d, [rdx + 0x68]
mov qword [rbp - 0x30], rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
lea rcx, [rbp + 0x7d0]
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor ecx, ecx
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp], rcx
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x38], ecx
movups xmmword [rbp + 0x9c0], xmm0
mov qword [rbp + 0x9e0], rax
movups xmmword [rbp + 0x9d0], xmm0
mov dword [rbp + 0x9e8], eax
movups xmmword [rbp + 0x910], xmm0
cmp qword [rbp - 0x30], rcx
je 0x14005301c
mov rax, qword [0x1400df130]
lea edx, [rcx + 7]
mov rcx, qword [rbp - 0x18]
call qword [case.0x1400ad4ce.0]
test rax, rax
jne 0x140052601
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14005301c
mov rcx, rax
lea r8, [rbp + 0x610]
mov rax, qword [0x1400df148]
mov edx, 0x68
call qword [case.0x1400ad4ce.0]
test eax, eax
je 0x14005263f
mov rax, qword [rbp + 0x628]
mov qword [rbp], rax
mov eax, dword [rbp + 0x614]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x618]
mov dword [rbp - 0x38], eax
mov rcx, qword [rbp - 0x18]
mov rax, qword [0x1400df0f0]
call qword [case.0x1400ad4ce.0]
xor edx, edx
mov qword [rbp - 0x50], rax
mov rcx, rax
test rax, rax
je 0x1400525f0
mov eax, dword [rbp + 0x8e4]
lea r9, [rbp + 0x2e8]
sub eax, dword [rbp - 0x48]
xorps xmm0, xmm0
sub edi, dword [rbp + 0x8e0]
xor r8d, r8d
mov dword [rsp + 0x28], edx
mov dword [rbp + 0x9c8], eax
mov rax, qword [0x1400df0f8]
mov qword [rbp + 0x2e8], rdx
mov dword [rbp - 8], edx
mov qword [rbp + 0x9e0], rdx
mov dword [rbp + 0x9e8], edx
mov qword [rsp + 0x20], rdx
lea rdx, [rbp + 0x9c0]
movdqu xmmword [rbp + 0x9d0], xmm0
mov dword [rbp + 0x9c0], 0x28
mov dword [rbp + 0x9c4], edi
mov dword [rbp + 0x9cc], 0x200001
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x140052710
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 8], ecx
test ecx, ecx
js 0x140052a4e
mov dword [rbp - 8], 0x80004005
jmp 0x140052a4e
mov rcx, rax
lea r8, [rbp + 0x7d0]
mov rax, qword [0x1400df148]
mov edx, 0x68
call qword [case.0x1400ad4ce.0]
xor edx, edx
mov dword [rbp + 0x918], edi
mov rdi, qword [rbp - 0x50]
test eax, eax
mov eax, dword [rbp - 0x48]
mov ecx, edx
cmovne rcx, qword [rbp + 0x7e8]
sub eax, dword [rbp + 0x8e4]
mov rdx, qword [rbp - 0x70]
mov dword [rbp + 0x91c], eax
mov rax, qword [0x1400df158]
mov qword [rbp - 0x10], rcx
mov rcx, rdi
call qword [case.0x1400ad4ce.0]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov edx, r12d
mov rcx, rdi
call qword [case.0x1400ad4ce.0]
mov rdx, qword [rbp + 0x60]
mov rcx, rdi
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 0x48], rax
xor ecx, ecx
mov rax, qword [0x1400df150]
call qword [case.0x1400ad4ce.0]
lea rdx, [rbp + 0x910]
mov rcx, rdi
mov r8, rax
mov rax, qword [0x1400df1c8]
call qword [case.0x1400ad4ce.0]
mov rdx, qword [rbp - 0x30]
lea r9, [rbp + 0x910]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x20], eax
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
xor edx, edx
cmp dword [rsp + 0x70], r12d
jne 0x14005281a
cmp dword [rbp - 0x20], edx
je 0x140052811
mov rax, qword [0x1400df1f8]
lea ecx, [rdx + 8]
call qword [case.0x1400ad4ce.0]
mov dword [rbp - 0x20], eax
xor edx, edx
jmp 0x140052821
mov dword [rbp - 0x20], 0xffffff
jmp 0x140052821
mov dword [rbp - 0x20], 0xffa8a8a8
mov eax, dword [rbp + 0x8e0]
mov r10d, edx
mov r11d, dword [rsp + 0x78]
mov r9d, eax
neg r9d
mov r8d, edx
test eax, eax
cmovns r10d, eax
cmovns r9d, edx
mov eax, dword [rbp + 0x8e4]
mov ecx, eax
neg ecx
test eax, eax
cmovns r8d, eax
cmovns ecx, edx
mov eax, dword [rbp + 0x918]
sub r11d, r10d
mov edx, dword [rbp - 0x38]
sub eax, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x91c]
sub eax, ecx
sub edx, r8d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x140052a21
test edx, edx
jle 0x140052a21
imul ecx, dword [rbp + 0x918]
mov ebx, dword [rbp - 0x20]
movsxd rax, r9d
movsxd r9, dword [rsp + 0x78]
imul r8d, r9d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x10]
lea rdi, [rax + rcx*4]
movsxd rax, r10d
movsxd rcx, r8d
add rcx, rax
mov qword [rbp - 0x38], rdi
mov rax, qword [rbp]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x918]
shl rcx, 2
mov qword [rbp - 0x10], rcx
mov rcx, r9
mov rsi, qword [rbp - 0x10]
shl rcx, 2
mov qword [rbp + 0x60], rcx
mov ecx, edx
mov qword [rsp + 0x78], rcx
mov qword [rbp], rax
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x30], 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 0x1400529d1
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 - 0x1f]
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 - 0x1e]
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 - 0x30]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, r12
mov qword [rbp - 0x30], rdi
jne 0x1400528ff
mov rdi, qword [rbp - 0x38]
mov rax, qword [rbp]
add rdi, rsi
add rax, qword [rbp + 0x60]
sub qword [rsp + 0x78], r12
mov qword [rbp - 0x38], rdi
mov qword [rbp], rax
jne 0x1400528ee
mov r14d, dword [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov rdi, qword [rbp - 0x50]
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x140052a4e
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
mov rcx, qword [rbp - 0x50]
mov rax, qword [0x1400df110]
call qword [case.0x1400ad4ce.0]
xor eax, eax
cmp dword [rbp - 8], eax
jl 0x14005301c
mov eax, dword [rbp + 0x454]
lea rcx, [rbp + 0x680]
mov rdi, qword [rbp + 0x460]
xor edx, edx
mov dword [rbp - 0x48], eax
mov rax, qword [rbp + 0x478]
mov qword [rbp - 0x10], rax
lea r8d, [rdx + 0x68]
mov qword [rbp + 0x60], rdi
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 ecx, ecx
xor eax, eax
mov qword [rbp - 0x70], rcx
xorps xmm0, xmm0
mov dword [rbp - 8], ecx
mov dword [rbp - 0x38], ecx
mov qword [rbp + 0xa10], rax
mov dword [rbp + 0xa18], eax
movups xmmword [rbp + 0x9f0], xmm0
movups xmmword [rbp + 0xa00], xmm0
movups xmmword [rbp + 0x920], xmm0
test rdi, rdi
je 0x14005301c
mov rdi, qword [rbp - 0x18]
lea edx, [rcx + 7]
mov rax, qword [0x1400df130]
mov rcx, rdi
call qword [case.0x1400ad4ce.0]
test rax, rax
je 0x1400525f0
mov rcx, rax
lea r8, [rbp + 0x680]
mov rax, qword [0x1400df148]
mov edx, 0x68
call qword [case.0x1400ad4ce.0]
test eax, eax
je 0x140052b46
mov rax, qword [rbp + 0x698]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0x684]
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x688]
mov dword [rbp - 0x38], eax
mov rax, qword [0x1400df0f0]
mov rcx, rdi
call qword [case.0x1400ad4ce.0]
xor edx, edx
mov qword [rbp - 0x50], rax
mov rcx, rax
test rax, rax
je 0x1400525f0
mov edi, dword [rbp - 0x80]
lea r9, [rbp + 0x2f8]
sub r13d, dword [rbp + 0x8f0]
mov eax, edi
sub eax, dword [rbp - 0x78]
xorps xmm0, xmm0
mov dword [rsp + 0x28], edx
xor r8d, r8d
mov dword [rbp + 0x9f8], eax
mov rax, qword [0x1400df0f8]
mov qword [rbp + 0x2f8], rdx
mov dword [rsp + 0x78], edx
mov qword [rbp + 0xa10], rdx
mov dword [rbp + 0xa18], edx
mov qword [rsp + 0x20], rdx
lea rdx, [rbp + 0x9f0]
movdqu xmmword [rbp + 0xa00], xmm0
mov dword [rbp + 0x9f0], 0x28
mov dword [rbp + 0x9f4], r13d
mov dword [rbp + 0x9fc], 0x200001
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x140052c24
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
xor edi, edi
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rsp + 0x78], ecx
mov r13, qword [rbp - 0x50]
test ecx, ecx
js 0x140052f58
mov dword [rsp + 0x78], 0x80004005
jmp 0x140052f58
mov rcx, rax
lea r8, [rbp + 0x840]
mov rax, qword [0x1400df148]
mov edx, 0x68
call qword [case.0x1400ad4ce.0]
xor edx, edx
mov dword [rbp + 0x928], r13d
mov r13, qword [rbp - 0x50]
test eax, eax
mov eax, dword [rbp - 0x78]
mov ecx, edx
cmovne rcx, qword [rbp + 0x858]
sub eax, edi
mov rdx, qword [rbp - 0x80]
mov dword [rbp + 0x92c], eax
mov rax, qword [0x1400df158]
mov qword [rbp - 0x30], rcx
mov rcx, r13
call qword [case.0x1400ad4ce.0]
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
mov edx, r12d
mov rcx, r13
call qword [case.0x1400ad4ce.0]
mov rdx, qword [rbp - 0x10]
mov rcx, r13
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
mov qword [rbp - 0x78], rax
xor ecx, ecx
mov rax, qword [0x1400df150]
call qword [case.0x1400ad4ce.0]
lea rdx, [rbp + 0x920]
mov rcx, r13
mov r8, rax
mov rax, qword [0x1400df1c8]
call qword [case.0x1400ad4ce.0]
mov rdx, qword [rbp + 0x60]
lea r9, [rbp + 0x920]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, r13
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x20], eax
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
xor edx, edx
cmp dword [rsp + 0x70], r12d
jne 0x140052d28
cmp dword [rbp - 0x48], edx
je 0x140052d1f
mov rax, qword [0x1400df1f8]
lea ecx, [rdx + 8]
call qword [case.0x1400ad4ce.0]
xor edx, edx
jmp 0x140052d2d
mov dword [rbp - 0x58], 0xffffff
jmp 0x140052d33
mov eax, 0xffa8a8a8
mov dword [rbp - 0x58], eax
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x8f0]
mov r10d, edx
mov r11d, dword [rbp - 8]
mov r9d, eax
neg r9d
mov r8d, edx
test eax, eax
mov ecx, edi
cmovns r9d, edx
cmovns r10d, eax
mov eax, dword [rbp + 0x928]
neg ecx
test edi, edi
cmovns ecx, edx
cmovns r8d, edi
mov edx, dword [rbp - 0x38]
sub eax, r9d
sub r11d, r10d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x92c]
sub eax, ecx
sub edx, r8d
cmp eax, edx
cmovl edx, eax
xor edi, edi
test r11d, r11d
jle 0x140052f2b
test edx, edx
jle 0x140052f2b
mov eax, dword [rbp + 0x928]
mov ebx, dword [rbp + 0x30]
imul eax, ecx
movsxd rcx, eax
movsxd rax, r9d
movsxd r9, dword [rbp - 8]
add rcx, rax
mov rax, qword [rbp - 0x30]
imul r8d, r9d
lea rdi, [rax + rcx*4]
movsxd rax, r10d
mov qword [rbp - 0x30], rdi
movsxd rcx, r8d
add rcx, rax
mov rax, qword [rbp - 0x70]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x928]
shl rcx, 2
mov qword [rbp - 0x10], rcx
mov rcx, r9
mov rsi, qword [rbp - 0x10]
shl rcx, 2
mov qword [rbp + 0x60], rcx
mov ecx, edx
mov qword [rbp - 0x50], rcx
mov qword [rbp], rax
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov edi, r11d
mov qword [rbp - 0x70], 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 0x140052ede
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 - 0x57]
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 - 0x56]
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 - 0x70]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, r12
mov qword [rbp - 0x70], rdi
jne 0x140052e0c
mov rdi, qword [rbp - 0x30]
mov rax, qword [rbp]
add rdi, rsi
add rax, qword [rbp + 0x60]
sub qword [rbp - 0x50], r12
mov qword [rbp - 0x30], rdi
mov qword [rbp], rax
jne 0x140052dfb
mov r14d, dword [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
xor edi, edi
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140052f58
mov rdx, rax
mov rcx, r13
mov rax, qword [0x1400df158]
call qword [case.0x1400ad4ce.0]
mov rax, qword [0x1400df110]
mov rcx, r13
call qword [case.0x1400ad4ce.0]
cmp dword [rsp + 0x78], edi
jl 0x14005301c
mov r9d, r15d
cmp dword [rsp + 0x70], r12d
jne 0x140052fbf
mov rax, qword [rbp - 0x18]
mov r8d, dword [rbp + 0x490]
mov edx, dword [rbp + 0x48c]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov rdi, qword [rbp + 0x38]
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400df0e0]
call qword [case.0x1400ad4ce.0]
jmp 0x140053008
mov eax, dword [rbp - 0x28]
mov ecx, dword [rbp - 0x40]
mov r8d, dword [rbp + 0x8d4]
mov edx, dword [rbp + 0x8d0]
mov dword [rsp + 0x50], ecx
mov rcx, qword [rbp - 0x18]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov rdi, qword [rbp + 0x38]
mov qword [rsp + 0x28], rcx
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
mov edx, dword [rsp + 0x68]
mov rcx, rdi
mov rax, qword [method.WSD::HealthAdvisor::TimeServiceAssessment.virtual_40]
call qword [case.0x1400ad4ce.0]
mov rax, qword [rbp + 0x20]
xor r13d, r13d
test rax, rax
je 0x140053038
mov rcx, rax
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x140053051
mov rcx, rax
mov rax, qword [0x1400df110]
call qword [case.0x1400ad4ce.0]
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x14005306a
mov rcx, rax
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov rax, qword [rbp + 0x458]
or r15, 0xffffffffffffffff
test rax, rax
je 0x1400530c8
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x14005307d
mov rdi, qword [rbp + 0x458]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x458]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x458], r13
mov rax, qword [rbp + 0x460]
test rax, rax
je 0x140053122
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x1400530d7
mov rdi, qword [rbp + 0x460]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x460]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x460], r13
mov rdi, qword [rbp + 0x468]
test rdi, rdi
je 0x140053175
mov rcx, r15
inc rcx
cmp word [rdi + rcx*2], r13w
jne 0x140053131
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x468]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x468], r13
mov rcx, qword [rbp + 0x470]
test rcx, rcx
je 0x140053195
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov qword [rbp + 0x470], r13
mov rcx, qword [rbp + 0x478]
test rcx, rcx
je 0x1400531b5
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov qword [rbp + 0x478], r13
mov rcx, qword [rbp + 0x480]
test rcx, rcx
je 0x1400531d5
mov rax, qword [0x1400df118]
call qword [case.0x1400ad4ce.0]
mov qword [rbp + 0x480], r13
xor eax, eax
lock cmpxchg dword [0x1400e7fcc], r12d
jne 0x1400531d5
mov eax, dword [0x1400e7fc8]
test eax, eax
jle 0x14005324c
sub eax, r12d
mov dword [0x1400e7fc8], eax
jne 0x14005324c
lea rdi, [0x1400e7b20]
mov r15d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x140053218
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r15, r12
jne 0x140053204
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x1400e7b20]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400b1e90]
lea rcx, [0x1400df0e0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r13d
xchg dword [0x1400e7fcc], eax
mov eax, dword [0x1400e7b10]
mov dword [rbp - 0x38], eax
mov rax, qword [0x1400df178]
call qword [case.0x1400ad4ce.0]
sub eax, dword [0x1400e7fc0]
xorps xmm0, xmm0
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp + 0xcf8], rax
movups xmmword [rbp + 0xcc8], xmm0
movups xmmword [rbp + 0xcd8], xmm0
movups xmmword [rbp + 0xce8], xmm0
xor eax, eax
lock cmpxchg dword [0x1400e7fcc], r12d
jne 0x140053296
mov eax, dword [0x1400e7fc8]
test eax, eax
jne 0x140053880
mov dword [rbp - 0x78], r13d
mov dword [rsp + 0x68], r13d
mov dword [rbp - 8], r13d
mov qword [rbp + 0x138], r13
mov qword [rbp + 0x210], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r13, rax
xor eax, eax
test r13, r13
je 0x1400537e5
mov ebx, eax
lea rsi, [r13 + 7]
or r14d, 0xffffffff
lea r15, [0x1400c3fb2]
mov r10d, eax
lea ecx, [rax + 0x67]
mov r11d, eax
movzx eax, byte [r15 - 1]
movzx r9d, byte [r15 - 2]
movzx r8d, byte [r15 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 5]
or r8d, eax
xor r11d, r9d
movzx eax, byte [r15 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r15 - 3]
shl r8d, 8
or r8d, eax
xor r10d, r8d
xor r10d, r11d
xor r10d, 0xac987321
lea eax, [r10 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r10d
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 r10d, edx
imul edx, r10d, 0x605e
mov eax, r10d
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 r10d, edx
mov edx, r10d
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 r10d, edi
mov edi, 0xab69605e
lea eax, [r10 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r10d
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 r10d, edx
mov eax, r10d
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r10d
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, r10d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r10d, [r11 - 0x7f1]
xor r10d, edx
xor r10d, edi
mov eax, r10d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r10d
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 r10d, edx
mov eax, r10d
mov edi, r10d
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 r10d, edx
xor r11d, r10d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r10d, edx
lea eax, [r10 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r10d
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 r10d, edx
lea eax, [r10 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r10d
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 r10d, edx
mov eax, r10d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r10d
xor r10d, r14d
rol eax, 2
mov r14d, r8d
xor edx, eax
xor edx, ebx
mov ebx, r9d
xor r11d, edx
mov byte [rsi - 4], r11b
mov byte [rsi], r10b
lea rsi, [rsi + 8]
ror r11d, 8
mov byte [rsi - 0xd], r11b
ror r10d, 8
mov byte [rsi - 9], r10b
ror r11d, 8
mov byte [rsi - 0xe], r11b
ror r10d, 8
mov byte [rsi - 0xa], r10b
ror r11d, 8
ror r10d, 8
mov byte [rsi - 0xf], r11b
mov byte [rsi - 0xb], r10b
ror r10d, 8
ror r11d, 8
sub rcx, r12
jne 0x140053317
mov r14d, dword [rsp + 0x60]
xor edx, edx
mov r15d, dword [rsp + 0x68]
mov eax, edx
mov cl, dl
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov edi, 0x338
xor cl, byte [rax + r13]
add rax, r12
cmp rax, rdi
jb 0x140053631
movzx eax, cl
cmp rax, qword [0x1400c42e8]
je 0x140053650
mov edi, 0xc004d501
jmp 0x140053664
mov qword [rbp + 0x138], r13
mov r13, rdx
mov qword [rbp + 0x210], rdi
mov edi, r15d
test r13, r13
je 0x14005368b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor edx, edx
test edi, edi
js 0x1400537e5
mov rax, qword [rbp + 0x210]
lea r13, [0x1400e7b20]
mov rdi, qword [rbp + 0x138]
mov rcx, r13
mov byte [rax + rdi - 1], dl
xor edx, edx
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r8d, r8d
jmp 0x1400537da
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r8w
jne 0x1400536c9
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 8]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
xor ecx, ecx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r8d, r8d
test eax, eax
je 0x1400537e5
mov rax, qword [r13]
mov ecx, 0x5a4d
mov r15d, r8d
cmp word [rax], cx
je 0x140053718
mov r15d, 0xc000007b
jmp 0x140053766
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140053710
add rcx, qword [r13]
cmp rcx, qword [r13]
jb 0x140053710
cmp dword [rcx], 0x4550
jne 0x140053710
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140053754
mov r15d, 0xc000000d
jmp 0x140053766
mov rax, qword [rcx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [rdi + 2]
mov ecx, r8d
add rdi, 6
mov dword [rsp + 0x68], eax
mov dword [rbp - 0x80], ecx
test eax, eax
je 0x1400537cf
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r8b
jne 0x140053782
inc rdi
add rdi, rax
test r15d, r15d
js 0x1400537bf
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
xor r8d, r8d
test rax, rax
je 0x1400537eb
mov ecx, dword [rbp - 0x78]
lea rdx, [0x1400df0e0]
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x80]
add dword [rbp - 0x78], r12d
add ecx, r12d
mov dword [rbp - 0x80], ecx
cmp ecx, dword [rsp + 0x68]
jb 0x14005377b
add dword [rbp - 8], r12d
lea r13, [0x1400e7b20]
cmp byte [rdi], r8b
jne 0x1400536c2
jmp 0x1400537eb
mov r15d, 0xc000007a
xor r13d, r13d
cmp qword [rbp + 0x138], r13
je 0x14005381b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x138]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r15d, r15d
jns 0x14005387a
lea rdi, [0x1400e7b20]
mov r15d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x140053841
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r15, r12
jne 0x14005382d
lea rdi, [0x1400e7b20]
xor edx, edx
mov rcx, rdi
lea r8d, [r15 + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400b1e90]
lea rcx, [0x1400df0e0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140053890
mov eax, dword [0x1400e7fc8]
add eax, r12d
lea rdi, [0x1400e7b20]
mov dword [0x1400e7fc8], eax
mov rcx, qword [rbp - 0x10]
lea r9, [rbp + 0xcc0]
mov eax, r13d
mov r15d, 4
xchg dword [0x1400e7fcc], eax
mov eax, dword [rbp - 0x38]
mov r8d, r15d
mov dword [rbp + 0xcf8], eax
mov edx, 0x2021
mov rax, qword [0x1400df1b0]
mov dword [rbp + 0xcc8], ecx
xor ecx, ecx
mov dword [rbp + 0xcc0], r12d
mov dword [rbp + 0xcd8], 0x9966f291
mov dword [rbp + 0xcd0], r12d
mov dword [rbp + 0xce8], r12d
mov dword [rbp + 0xce0], r12d
mov dword [rbp + 0xcf0], r12d
call qword [case.0x1400ad4ce.0]
xor eax, eax
lock cmpxchg dword [0x1400e7fcc], r12d
jne 0x1400538fd
mov eax, dword [0x1400e7fc8]
test eax, eax
jle 0x140053967
sub eax, r12d
mov dword [0x1400e7fc8], eax
jne 0x140053967
mov rcx, qword [rdi]
test rcx, rcx
je 0x140053933
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r15, r12
jne 0x14005391f
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x1400e7b20]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400b1e90]
lea rcx, [0x1400df0e0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r13d
xchg dword [0x1400e7fcc], eax
mov rdx, qword [rbp + 0x38]
xor ecx, ecx
mov rax, qword [0x1400df240]
call qword [case.0x1400ad4ce.0]
lea rcx, [rbp + 0x300]
call fcn.140087368
xor r10d, r10d
cmp dword [rbp + 0x50], r10d
je 0x140054dc6
xorps xmm0, xmm0
mov qword [rbp + 0x10], r10
lea rax, [0x1400e6aa0]
mov r15d, r10d
movups xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x308], rax
mov r13d, r10d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea edx, [r13 + 8]
mov r8d, 0xa0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, rax
test rax, rax
je 0x140054d03
mov rcx, qword [rbp + 0x308]
mov qword [rsp + 0x78], rdi
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
mov eax, 0x80
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rdi + rax - 0x10], xmm1
movups xmm0, xmmword [rcx + rax]
movups xmmword [rdi + rax], xmm0
movups xmm1, xmmword [rcx + rax + 0x10]
movups xmmword [rdi + rax + 0x10], xmm1
lea rax, [0x1400e69e0]
mov qword [rbp + 0x310], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea eax, [r13 + 8]
mov r8d, eax
mov edx, eax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov r15, rax
test rax, rax
je 0x140055a95
mov rcx, qword [rbp + 0x310]
mov r13, rax
mov qword [rbp - 0x48], rax
mov rdx, qword [rcx]
mov qword [rax], rdx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x218], rax
mov dword [rbp + 0x290], SafeArrayGetLBound
mov dword [rbp + 0xc], 0xc4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov r8d, 0xc4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdx, rax
test rax, rax
je 0x140055a95
mov qword [rbp + 0x10], rax
mov dword [rbp + 8], r10d
mov dword [rbp + 0x160], 4
lea r8, [rax + 4]
cmp r8, rax
jb 0x140055a95
mov ecx, dword [rbp + 0xc]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x140055a95
mov dword [rdx], 4
mov eax, dword [rbp + 0x160]
mov dword [r8], eax
mov edx, dword [rbp + 8]
inc edx
mov dword [rbp + 8], edx
cmp qword [rbp + 0x10], r10
jne 0x140053b77
mov dword [rbp + 0x1dc], 0xa4
mov eax, dword [rbp + 0xc]
lea ecx, [rax + 0xa4]
cmp ecx, eax
jb 0x140055a95
lea eax, [rdx + 1]
mov dword [rbp + 0xc], ecx
mov dword [rbp + 8], eax
jmp 0x140053c38
mov r8, qword [rbp + 0x10]
mov ecx, r10d
test edx, edx
je 0x140053bb0
mov eax, dword [r8]
add eax, 4
cmp eax, 4
jb 0x140055a95
mov dword [rbp + 0x1dc], eax
mov r9d, eax
add r9, r8
cmp r9, r8
jb 0x140055a95
add ecx, r12d
mov r8, r9
cmp ecx, edx
jb 0x140053b82
lea rdx, [r8 + 4]
cmp rdx, r8
jb 0x140055a95
mov ecx, dword [rbp + 0xc]
lea rax, [r8 + 0xa4]
add rcx, qword [rbp + 0x10]
cmp rax, rcx
ja 0x140055a95
mov dword [r8], 0xa0
mov eax, 0x80
movups xmm0, xmmword [rdi]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rdi + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rdi + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rdi + 0x60]
movups xmmword [rdx + 0x60], xmm0
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rdx + rax - 0x10], xmm1
movups xmm0, xmmword [rdi + rax]
movups xmmword [rdx + rax], xmm0
movups xmm1, xmmword [rdi + rax + 0x10]
movups xmmword [rdx + rax + 0x10], xmm1
add dword [rbp + 8], r12d
mov ecx, dword [rbp + 0xc]
cmp qword [rbp + 0x10], r10
jne 0x140053c6a
mov dword [rbp + 0x1d8], SafeArrayGetLBound
lea edx, [rcx + 0xc]
cmp edx, ecx
jb 0x140055a95
mov rax, qword [rbp + 0x218]
add dword [rbp + 8], r12d
mov qword [rbp + 0x220], rax
jmp 0x140053cea
mov edi, r10d
mov rdx, qword [rbp + 0x10]
cmp dword [rbp + 8], r10d
jbe 0x140053ca5
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140054cfe
mov dword [rbp + 0x1d8], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140054cfe
add edi, r12d
mov rdx, r8
cmp edi, dword [rbp + 8]
jb 0x140053c77
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140054cfe
add rcx, qword [rbp + 0x10]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x140054cfe
mov dword [rdx], 8
mov rax, qword [r15]
mov qword [rdi], rax
add dword [rbp + 8], r12d
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x220], rax
cmp qword [rbp + 0x10], r10
jne 0x140053d04
mov edx, dword [rbp + 0xc]
mov dword [rbp + 0x170], SafeArrayGetLBound
lea ecx, [rdx + 0xc]
cmp ecx, edx
jb 0x140054cfe
mov dword [rbp + 0xc], ecx
jmp 0x140053d70
mov ecx, r10d
mov rdx, qword [rbp + 0x10]
cmp dword [rbp + 8], r10d
jbe 0x140053d3c
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140054cfe
mov dword [rbp + 0x170], eax
add rax, rdx
cmp rax, rdx
jb 0x140054cfe
add ecx, r12d
mov rdx, rax
cmp ecx, dword [rbp + 8]
jb 0x140053d11
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x140054cfe
mov ecx, dword [rbp + 0xc]
lea rax, [rdx + 0xc]
add rcx, qword [rbp + 0x10]
cmp rax, rcx
ja 0x140054cfe
mov dword [rdx], 8
mov rax, qword [rbp + 0x220]
mov qword [rdi], rax
mov ecx, dword [rbp + 0xc]
add dword [rbp + 8], r12d
mov dword [rbp + 0x294], SafeArrayGetLBound
mov r9, r10
mov qword [rbp - 0x18], r10
mov r8d, r10d
mov dword [rbp - 0x28], r10d
mov qword [rbp + 0x158], r10
mov r13, r10
mov qword [rbp - 0x50], r10
mov dword [rbp - 0x38], r10d
mov qword [rbp - 0x20], r10
mov dword [rbp + 0x40], r10d
mov qword [rbp - 0x58], r10
mov qword [rbp + 0x30], r10
mov dword [rbp + 0xb8], r10d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x318], rax
lea eax, [rcx + 8]
mov edx, 0xc0000095
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
sbb edi, edi
and edi, edx
cmp eax, 8
jb 0x140053ed1
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140053df7
mov edi, edx
jmp 0x140053ed1
mov dword [rbp + 0x104], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov r15, rax
test rax, rax
jne 0x140053e3d
mov r8d, r10d
mov edi, 0xc0000017
mov r9d, r8d
jmp 0x140053ed1
mov eax, dword [rbp + 8]
lea rdx, [r15 + 4]
mov dword [r15], eax
cmp rdx, r15
jb 0x140053e96
mov eax, dword [rbp + 0xc]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x140053e96
mov edx, dword [rbp + 0x104]
mov edi, r10d
mov rax, qword [rbp + 0x318]
mov qword [rdx + r15 - 8], rax
mov r8d, dword [rbp + 0xc]
mov rdx, qword [rbp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp + 0x104]
xor r10d, r10d
mov r9, r15
mov qword [rbp - 0x18], r15
mov r15d, r10d
mov dword [rbp - 0x28], r8d
jmp 0x140053ea1
mov r8d, r10d
mov edi, 0xc0000095
mov r9d, r8d
test r15, r15
je 0x140053ed1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r8d, dword [rbp - 0x28]
xor r10d, r10d
mov r9, qword [rbp - 0x18]
or edi, 0x10000000
jl 0x140054a12
mov qword [rbp + 0x1c0], r10
mov r15, r10
mov qword [rbp + 0x60], r10
test r9, r9
jne 0x140053efa
mov edi, 0xc000000d
jmp 0x140054785
mov edi, r8d
mov qword [rbp + 0x20], rdi
test r8d, r8d
je 0x14005468f
lea rax, [rdi + 8]
mov qword [rbp - 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea r8, [rdi + 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp - 0x40], rax
mov r11, rax
test rax, rax
je 0x14005468f
mov r8, qword [rbp - 0x18]
mov dl, r10b
mov byte [rsp + 0x64], dl
mov ecx, r10d
test rdi, rdi
je 0x140053f69
xor dl, byte [rcx + r8]
add rcx, r12
cmp rcx, rdi
jb 0x140053f59
mov byte [rsp + 0x64], dl
mov rcx, rax
mov qword [rbp + 0x38], rax
xor eax, eax
mov qword [rbp + 0x8b8], rbx
mov dword [rbp - 0x78], eax
or r9d, 0xffffffff
mov dword [rbp - 0x28], eax
mov rax, rdi
and eax, 7
je 0x140054099
xor r9d, r9d
mov dword [rbp - 0x78], r9d
mov ecx, r9d
mov dword [rbp - 0x28], ecx
mov r11d, r9d
test eax, eax
je 0x140053fe5
mov r9d, 0x38
movzx edi, byte [r8]
inc r8
cmp r10d, 4
jge 0x140053fc6
lea ecx, [r9 - 0x20]
shl edi, cl
mov ecx, dword [rbp - 0x28]
or ecx, edi
mov dword [rbp - 0x28], ecx
jmp 0x140053fd1
mov ecx, r9d
shl edi, cl
mov ecx, dword [rbp - 0x28]
or r11d, edi
add r10d, r12d
sub r9d, 8
cmp r10d, eax
jl 0x140053fa9
mov rdi, qword [rbp + 0x20]
mov dword [rbp - 0x78], r11d
and dword [rsp + 0x68], r13d
mov r10d, ecx
mov r9d, r11d
xor r10d, 0xb17a307a
xor r9d, 0x42f6b18d
mov ecx, r10d
mov r11d, r9d
test eax, eax
je 0x14005405f
mov rsi, qword [rbp + 0x38]
mov ebx, dword [rsp + 0x68]
lea r14, [rsi + 1]
mov qword [rbp - 0x10], r14
cmp ebx, 4
jge 0x140054025
rol ecx, 8
mov r14d, ecx
jmp 0x14005402c
rol r11d, 8
mov r14d, r11d
mov byte [rsi], r14b
add ebx, r12d
mov r14, qword [rbp - 0x10]
mov rsi, r14
cmp ebx, eax
jl 0x140054010
mov rcx, r14
movabs rbx, 0xc81ecb17b1b54a58
mov r14d, dword [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
mov qword [rbp + 0x38], rcx
jmp 0x140054063
mov rcx, qword [rbp + 0x38]
cmp eax, 4
jbe 0x14005407a
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r9d, cl
shl r9d, cl
jmp 0x140054091
xor r9d, r9d
cmp eax, 4
jae 0x140054095
lea ecx, [r9 + 4]
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov rcx, qword [rbp + 0x38]
mov r11, qword [rbp - 0x40]
mov rax, rdi
shr rax, 3
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14005440a
movzx eax, word [rbp + 0x8be]
lea rdx, [rcx + 7]
mov rsi, qword [rbp - 0x10]
lea rcx, [r8 + 2]
mov r11d, dword [rbp - 0x78]
mov r13d, dword [rbp - 0x28]
movzx r15d, word [rbp + 0x8bc]
mov dword [rbp - 8], eax
movzx eax, bx
mov dword [rsp + 0x68], eax
movzx eax, word [rbp + 0x8ba]
mov r14d, dword [rsp + 0x68]
mov dword [rbp - 0x80], eax
movzx eax, byte [rcx - 1]
movzx r8d, byte [rcx - 2]
movzx edi, byte [rcx + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [rcx]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 1]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 3]
or edi, eax
movzx eax, byte [rcx + 4]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl edi, 8
or edi, eax
mov qword [rbp - 0x10], rcx
xor r9d, edi
mov eax, r9d
sub eax, r14d
xor eax, r8d
xor r10d, eax
movzx eax, word [rbp + 0x8ba]
xor r10d, dword [rbp + 0x8bc]
mov ecx, r10d
xor ecx, dword [rbp + 0x8bc]
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, [r9 + rbx]
ror ecx, 9
imul ecx, r15d
sub ecx, eax
movzx eax, word [rbp + 0x8be]
xor r10d, ecx
mov ecx, r10d
xor ecx, r15d
rol ecx, 4
imul ecx, eax
mov eax, r10d
rol eax, 5
add ecx, eax
mov eax, dword [rbp + 0x8bc]
xor r9d, ecx
mov ecx, r9d
xor ecx, ebx
sub eax, ecx
xor r10d, eax
movzx eax, word [rbp + 0x8ba]
mov ecx, r10d
sub ecx, r14d
imul ecx, eax
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x8be]
mov eax, r9d
ror eax, 0xf
xor eax, r15d
imul eax, r14d
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
add eax, ecx
imul eax, r15d
xor r9d, eax
mov eax, r9d
sub eax, r14d
sub eax, dword [rbp + 0x8bc]
xor r10d, eax
mov eax, r10d
mov ecx, r10d
xor eax, dword [rbp - 8]
imul eax, dword [rbp - 0x80]
ror ecx, 0xa
xor ecx, eax
xor r9d, ecx
mov ecx, r14d
xor ecx, r9d
mov eax, r9d
rol ecx, 6
imul ecx, r15d
ror eax, 3
xor ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x8be]
mov eax, r10d
ror eax, 0xf
sub eax, ecx
imul eax, r14d
xor r9d, eax
movzx eax, word [rbp + 0x8be]
mov ecx, r9d
xor ecx, eax
mov eax, r9d
imul ecx, r14d
shr eax, 1
xor ecx, eax
mov eax, r9d
xor r10d, ecx
shr eax, 0xf
mov ecx, r9d
sub ecx, r15d
rol ecx, 3
imul ecx, r14d
xor ecx, eax
movzx eax, word [rbp + 0x8ba]
xor r10d, ecx
mov ecx, r10d
sub ecx, r15d
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
ror eax, 0xb
imul ecx, r15d
xor ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x8be]
mov eax, r10d
sub eax, ebx
sub eax, ecx
xor r9d, eax
mov eax, r9d
mov ecx, r9d
xor eax, dword [rbp - 0x80]
ror ecx, 7
imul eax, r14d
sub eax, ecx
xor r10d, eax
movzx eax, word [rbp + 0x8be]
mov ecx, r10d
xor ecx, eax
movzx eax, word [rbp + 0x8ba]
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, r15d
ror eax, 4
add ecx, eax
movzx eax, word [rbp + 0x8be]
xor r10d, ecx
mov ecx, r10d
sub ecx, ebx
ror ecx, 4
imul ecx, eax
mov eax, r10d
ror eax, 9
xor ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
xor ecx, dword [rbp + 0x8bc]
rol ecx, 8
imul ecx, r14d
rol eax, 2
sub ecx, eax
movzx eax, word [rbp + 0x8ba]
xor r10d, ecx
mov ecx, dword [rbp + 0x8bc]
sub ecx, r10d
ror ecx, 0xb
imul ecx, eax
mov eax, r10d
ror eax, 0xc
sub ecx, eax
movzx eax, word [rbp + 0x8ba]
xor r9d, ecx
mov ecx, r9d
xor ecx, eax
mov eax, r9d
imul ecx, r15d
shr eax, 8
xor ecx, eax
xor r10d, ecx
mov rcx, qword [rbp - 0x10]
xor r9d, r10d
xor r10d, r13d
xor r9d, dword [rbp + 0x8bc]
mov r13d, r8d
mov byte [rdx - 4], r10b
xor r9d, ebx
xor r9d, r11d
ror r10d, 8
mov byte [rdx], r9b
mov r11d, edi
mov byte [rdx - 5], r10b
lea rdx, [rdx + 8]
ror r9d, 8
mov byte [rdx - 9], r9b
ror r10d, 8
mov byte [rdx - 0xe], r10b
ror r9d, 8
mov byte [rdx - 0xa], r9b
ror r10d, 8
ror r9d, 8
mov byte [rdx - 0xf], r10b
mov byte [rdx - 0xb], r9b
ror r9d, 8
ror r10d, 8
sub rsi, r12
jne 0x1400540e9
mov dl, byte [rsp + 0x64]
movabs rsi, 0x7f1137fab69605e
mov r14d, dword [rsp + 0x60]
mov r15, qword [rbp + 0x60]
mov r13, qword [rbp - 0x58]
mov rdi, qword [rbp + 0x20]
mov r11, qword [rbp - 0x40]
movzx eax, dl
mov qword [r11 + rdi], rax
mov rdi, qword [rbp - 0x70]
mov qword [rbp + 0x3f8], rdi
mov qword [rbp + 0x1c0], r11
lea rax, [0x1400e6a90]
mov ebx, 8
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x408], rbx
lea rax, [0x1400e69f0]
mov qword [rbp + 0x418], 0xa0
mov qword [rbp + 0x410], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea r8d, [rbx + 0x28]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x14005448c
mov edi, 0xc0000017
jmp 0x14005467f
mov edi, edi
mov dword [rax], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x1400544c5
mov edi, 0xc0000017
jmp 0x1400545b5
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, 0xa0
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edi, 8
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x1400544bb
mov qword [rbx + 0x18], rax
lea rcx, [0x1400e69f0]
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]
nop dword [rax + rax]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rcx, rax
test rax, rax
je 0x1400544bb
mov qword [rbx + 0x28], rax
mov rax, qword [0x1400e6a90]
mov r15, rbx
mov qword [rcx], rax
mov edi, r10d
mov ebx, r10d
test rbx, rbx
je 0x14005467f
mov rax, qword [rbx + 8]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x1400545f3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x10]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 8], r10
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x140054628
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x10]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14005465c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x10]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test edi, edi
js 0x140054694
mov qword [rbp + 0x158], r15
mov r15, r10
jmp 0x140054694
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x1c0]
test rbx, rbx
je 0x1400546ca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x1c0], r10
test r15, r15
je 0x140054785
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x140054703
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x140054733
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 0x18], r10
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x140054762
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r15 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
or edi, 0x10000000
jl 0x140054a12
mov rbx, qword [rbp + 0x158]
mov ecx, dword [rbx]
mov edi, dword [rbx + 0x20]
add ecx, 4
mov edx, dword [rbx + 0x10]
cmp ecx, 4
jb 0x1400548e1
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400548e1
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x1400548e1
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400548e1
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x1400548e1
mov dword [rbp + 0x1d0], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r15, rax
test rax, rax
jne 0x14005481b
mov edi, 0xc0000017
mov r8d, 0xc0000095
jmp 0x1400548ea
mov eax, dword [rbx]
lea rdi, [r15 + 4]
mov dword [r15], eax
cmp rdi, r15
jb 0x1400548ae
mov r8d, dword [rbx]
mov rcx, rdi
mov rdx, qword [rbx + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbx]
add rcx, rdi
cmp rcx, rdi
jb 0x1400548ae
mov eax, dword [rbx + 0x10]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x1400548ae
mov r8d, dword [rbx + 0x10]
mov rcx, rdi
mov rdx, qword [rbx + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbx + 0x10]
add rcx, rdi
cmp rcx, rdi
jb 0x1400548ae
mov eax, dword [rbx + 0x20]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x1400548ae
mov r8d, dword [rbx + 0x20]
mov rcx, rdi
mov rdx, qword [rbx + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rbx + 0x20]
add rax, rdi
cmp rax, rdi
jb 0x1400548ae
xor eax, eax
mov qword [rbp - 0x50], r15
mov edi, eax
mov r15d, eax
mov eax, dword [rbp + 0x1d0]
mov dword [rbp - 0x38], eax
jmp 0x1400548b3
mov edi, 0xc0000095
test r15, r15
je 0x140054810
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
jmp 0x140054810
mov r8d, 0xc0000095
mov edi, r8d
or edi, 0x10000000
jl 0x140054a0f
xor r15d, r15d
mov dword [rbp + 0xb4], r15d
mov dword [rbp + 0x298], 0x1c
lea eax, [r15 + 0x28]
mov dword [rbp + 0x29c], eax
mov dword [rbp + 0x2a0], eax
cmp qword [rbp + 0x10], r15
jne 0x14005492a
mov edi, 0xc000000d
jmp 0x140054e00
cmp dword [rbp + 8], r12d
jbe 0x140054920
mov rax, qword [rbp + 0x10]
mov edx, r15d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140054dfd
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140054dfd
add edx, r12d
cmp edx, r12d
jb 0x140054937
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140054dfd
test edi, edi
mov dword [rbp + 0xb4], edi
mov rax, r15
cmovne rax, rcx
mov qword [rbp + 0x420], rax
cmp dword [rbp + 8], 2
jbe 0x140054920
mov rax, qword [rbp + 0x10]
mov edx, r15d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140054dfd
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140054dfd
add edx, r12d
cmp edx, 2
jb 0x14005498c
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140054dfd
test edx, edx
mov dword [rbp + 0x2a4], edx
mov rax, r15
cmovne rax, rcx
mov qword [rbp + 0x428], rax
lea eax, [rdi + 0x30]
cmp eax, 0x30
jb 0x140054dfd
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140054dfd
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x140054dfd
mov dword [rbp + 0x2f0], eax
mov edi, r15d
cmp eax, 0x400000
jbe 0x140054df8
mov edi, 0x8000ffff
xor r10d, r10d
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x140054a3e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, qword [rbp + 0x158]
test rbx, rbx
je 0x140054b07
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x140054a7e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 8], r10
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x140054aae
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x140054add
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x158], r10
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x140054b33
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x140054b5f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r13, r13
je 0x140054c1a
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x140054b98
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r13 + 8], r10
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x140054bc8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r13 + 0x18], r10
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x140054bf7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r13 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x140054c46
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test edi, edi
js 0x140054cfa
mov ecx, dword [rbp + 0x110]
cmp ecx, r12d
jb 0x140054cfa
mov rdi, qword [rbp + 0x118]
test rdi, rdi
je 0x140054cfa
test ecx, ecx
je 0x140054cfa
mov edx, dword [rdi]
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140054cfa
test edx, edx
mov dword [rbp + 0x338], edx
mov rax, r10
cmovne rax, r8
mov qword [rbp + 0x430], rax
cmp edx, 4
jne 0x140054cfa
mov eax, dword [rax]
mov dword [rbp + 0x344], eax
test eax, eax
js 0x140054cfa
cmp ecx, r12d
jbe 0x140054cfa
mov edx, r10d
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x140054cfa
mov edi, dword [rdi]
add rdi, rcx
cmp rdi, rcx
jb 0x140054cfa
add edx, r12d
cmp edx, r12d
jb 0x140054caf
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140054cfa
test ecx, ecx
mov dword [rbp + 0x33c], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x438], rax
cmp ecx, 8
jne 0x140054cfa
mov rax, qword [rax]
mov qword [rbp + 0x440], rax
mov r13, qword [rbp - 0x48]
mov r15, qword [rsp + 0x78]
and qword [rbp + 8], 0
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x140054d38
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x10], r10
and qword [rbp + 0x110], 0
mov rdi, qword [rbp + 0x118]
test rdi, rdi
je 0x140054d76
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x118], r10
test r15, r15
je 0x140054d9e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r13, r13
je 0x140054dc6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov eax, dword [rbp + 0x108]
mov r13d, 0x8007007a
mov ebx, dword [rbp + 0x10c]
mov dword [rbp + 0x340], eax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x1c8], rax
mov qword [rbp + 0xc0], r10
jmp 0x140055aa9
mov dword [rbp + 0x40], eax
jmp 0x140054e00
mov edi, r8d
test edi, edi
js 0x140054a0f
mov edi, dword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x140054e40
mov edi, 0xd0000017
mov ebx, r10d
jmp 0x140054e4c
mov rbx, rax
mov qword [rbp - 0x20], rax
mov edi, 0x10000000
test edi, edi
js 0x140054a12
mov rax, qword [rbp - 0x50]
test rax, rax
jne 0x140054e67
mov edi, 0x80070057
jmp 0x140054a12
test rbx, rbx
je 0x140054e5d
mov qword [rbp + 0x358], rax
lea r8, [rbp + 0x320]
mov eax, dword [rbp - 0x38]
lea rdx, [0x1400b5510]
mov dword [rbp + 0x368], eax
mov ecx, r12d
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x36c], eax
mov qword [rbp + 0x360], rbx
mov dword [rbp + 0x370], r10d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x140054edc
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x140054ed7
mov edi, 0x80004005
mov edx, dword [rbp + 0x40]
jmp 0x140054f28
mov rcx, qword [rbp + 0x320]
lea rdx, [0x1400c45d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140054eb4
xor r9d, r9d
lea rdx, [rbp + 0x358]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [case.0x1400ad4ce.0]
mov edx, dword [rbp + 0x40]
mov edi, eax
or edi, 0x10000000
cmovge edx, dword [rbp + 0x36c]
mov dword [rbp + 0x40], edx
xor r10d, r10d
cmp edi, 0xd0000023
jne 0x140054f3d
mov edi, 0x8007007a
jmp 0x140054a12
test edi, edi
js 0x140054a12
mov qword [rbp - 0x70], r10
cmp edx, 4
jae 0x140054f58
mov edi, 0xc000003e
jmp 0x140055343
mov ecx, dword [rbx]
lea rdi, [rbx + 4]
mov dword [rsp + 0x68], ecx
cmp rdi, rbx
jb 0x14005533e
lea eax, [rdx - 4]
cmp eax, ecx
jb 0x140054f4e
lea r10, [rdi + rcx]
mov qword [rbp + 0x20], rcx
mov qword [rbp - 0x10], r10
cmp r10, rdi
jb 0x14005533b
lea r9d, [rcx + 4]
cmp r9d, 4
jb 0x14005533b
mov eax, edx
sub eax, r9d
cmp eax, 4
jae 0x140054fac
mov edi, 0xc000003e
xor r10d, r10d
jmp 0x140055343
mov edi, dword [r10]
lea r8, [r10 + 4]
cmp r8, r10
jb 0x14005533b
lea r10d, [r9 + 4]
cmp r10d, r9d
jb 0x14005533b
mov eax, edx
sub eax, r10d
cmp eax, edi
jb 0x140054f9f
lea r11, [r8 + rdi]
cmp r11, r8
jb 0x14005533b
lea r9d, [r10 + rdi]
cmp r9d, r10d
jb 0x14005533b
mov eax, edx
sub eax, r9d
cmp eax, 4
jb 0x140054f9f
mov r15d, dword [r11]
lea rax, [r11 + 4]
mov qword [rbp + 0x60], rax
cmp rax, r11
jb 0x14005533b
lea r8d, [r9 + 4]
cmp r8d, r9d
jb 0x14005533b
mov eax, edx
sub eax, r8d
cmp eax, r15d
jb 0x140054f9f
lea r9d, [r8 + r15]
cmp r9d, r8d
jb 0x14005533b
cmp edx, r9d
jne 0x140054f9f
add ecx, edi
mov eax, edx
add ecx, r15d
add rcx, 0xc
cmp rcx, rax
jne 0x140054f9f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x140055088
mov edi, 0xc0000017
jmp 0x140055264
mov r13, qword [rbp - 0x20]
add r13, 4
je 0x1400550e6
mov eax, dword [rsp + 0x68]
mov dword [rbx], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x20]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x1400550ce
mov edi, 0xc0000017
jmp 0x1400551a9
mov qword [rbx + 8], rax
mov r8, qword [rbp + 0x20]
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x1400550ed
mov dword [rax], r10d
mov qword [rax + 8], r10
mov r13, qword [rbp - 0x10]
add r13, 4
je 0x14005513c
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x1400550c4
mov qword [rbx + 0x18], rax
mov r8, rdi
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x140055144
mov dword [rbx + 0x10], r10d
mov qword [rbx + 0x18], r10
mov rdi, qword [rbp + 0x60]
test rdi, rdi
je 0x140055197
mov dword [rbx + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x1400550c4
mov qword [rbx + 0x28], rax
mov r8, r15
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x14005519f
mov dword [rbx + 0x20], r10d
mov qword [rbx + 0x28], r10
mov qword [rbp - 0x70], rbx
mov edi, r10d
mov rbx, r10
test rbx, rbx
je 0x140055264
mov r15, qword [rbx + 8]
test r15, r15
je 0x1400551e2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 8], r10
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x140055212
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x140055241
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r13, qword [rbp - 0x70]
test edi, edi
mov rbx, r10
cmovs rbx, qword [rbp - 0x70]
cmovs r13, r10
mov qword [rbp - 0x58], r13
test rbx, rbx
je 0x140055343
mov r15, qword [rbx + 8]
test r15, r15
je 0x1400552b3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 8], r10
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x1400552e3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x140055312
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp - 0x58], r13
jmp 0x140054fa4
xor r10d, r10d
mov edi, 0xc0000095
or edi, 0x10000000
jl 0x140054a12
mov qword [rbp + 0x20], r10
mov rbx, r10
mov qword [rbp + 0xc8], rbx
mov r15, r10
test r13, r13
jne 0x14005536f
mov edi, 0xd000000d
jmp 0x140054a12
mov rdi, qword [r13 + 8]
mov qword [rbp - 0x70], rdi
test rdi, rdi
je 0x140055365
cmp dword [r13], r10d
je 0x140055365
mov eax, dword [r13]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x38], r10d
test rax, rax
je 0x1400558d2
lea rbx, [rax - 8]
mov qword [rbp + 0x60], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x48], rax
mov r8, rax
test rax, rax
je 0x1400558cb
mov r11, rdi
mov qword [rbp + 0x8c8], rsi
mov rdi, rbx
mov dword [rbp - 0x78], r10d
mov dl, r10b
mov byte [rsp + 0x64], dl
and edi, 7
je 0x1400554eb
xor eax, eax
mov ecx, r10d
mov dword [rbp + 0x58], ecx
mov r9d, eax
test edi, edi
je 0x140055444
lea esi, [rax + 0x38]
movzx eax, byte [r11]
inc r11
cmp r9d, 4
jge 0x14005541f
lea ecx, [rsi - 0x20]
shl eax, cl
mov ecx, dword [rbp + 0x58]
or r10d, eax
jmp 0x14005542b
mov ecx, esi
shl eax, cl
mov ecx, dword [rbp + 0x58]
or ecx, eax
mov dword [rbp + 0x58], ecx
add r9d, r12d
sub esi, 8
cmp r9d, edi
jl 0x140055405
mov dword [rbp - 0x78], r10d
movabs rsi, 0x7f1137fab69605e
and dword [rsp + 0x68], 0
mov r9d, r10d
mov r10d, ecx
xor r9d, 0x92f65a5
xor r10d, 0x699a899c
mov eax, r9d
mov ecx, r10d
test edi, edi
je 0x1400554b5
mov r15d, dword [rsp + 0x68]
mov rsi, r8
lea r14, [rsi + 1]
mov qword [rbp - 0x10], r14
cmp r15d, 4
jge 0x140055485
rol eax, 8
mov r14d, eax
jmp 0x14005548b
rol ecx, 8
mov r14d, ecx
mov byte [rsi], r14b
add r15d, r12d
mov r14, qword [rbp - 0x10]
mov rsi, r14
cmp r15d, edi
jl 0x14005546f
mov r15, qword [rbp + 0x20]
mov rax, r14
mov r14d, dword [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
jmp 0x1400554b8
mov rax, r8
cmp edi, 4
jbe 0x1400554cf
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x1400554f0
xor ecx, ecx
mov r10d, ecx
cmp edi, 4
jae 0x1400554f0
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r9d, cl
shl r9d, cl
jmp 0x1400554f0
xor ecx, ecx
mov r9d, ecx
mov rcx, rbx
shr rcx, 3
mov qword [rbp - 0x10], rcx
test rcx, rcx
je 0x14005582a
mov edx, dword [rbp + 0x8cc]
lea r13, [r11 + 2]
mov r15d, dword [rbp - 0x78]
lea rbx, [rax + 7]
mov r11, qword [rbp - 0x10]
movzx ecx, dx
mov dword [rsp + 0x68], ecx
movzx ecx, word [rbp + 0x8ca]
mov r14d, dword [rsp + 0x68]
mov dword [rbp - 0x80], ecx
movzx ecx, si
mov dword [rsp + 0x70], ecx
movzx eax, byte [r13 - 1]
movzx r8d, byte [r13 - 2]
movzx edi, byte [r13 + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [r13]
lea r13, [r13 + 8]
shl r8d, 8
or r8d, eax
movzx eax, byte [r13 - 7]
shl r8d, 8
or r8d, eax
movzx eax, byte [r13 - 5]
or edi, eax
xor r9d, r8d
movzx eax, byte [r13 - 4]
shl edi, 8
or edi, eax
movzx eax, byte [r13 - 3]
shl edi, 8
or edi, eax
mov eax, esi
xor eax, edx
xor r10d, edi
xor r10d, eax
xor r10d, r9d
mov ecx, r10d
mov eax, r10d
sub ecx, esi
rol eax, 0xa
rol ecx, 5
imul ecx, r14d
add ecx, eax
movzx eax, word [rbp + 0x8ca]
xor r9d, ecx
lea ecx, [r9 + rdx]
ror ecx, 9
imul ecx, eax
mov eax, r9d
rol eax, 2
sub ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
sub ecx, r14d
shr eax, 0xd
imul ecx, dword [rsp + 0x70]
sub ecx, eax
movzx eax, word [rbp + 0x8ce]
xor r9d, ecx
movzx ecx, word [rbp + 0x8ca]
xor ecx, r9d
rol ecx, 6
imul ecx, eax
mov eax, r9d
rol eax, 2
sub ecx, eax
mov eax, edx
xor r10d, ecx
mov ecx, r10d
xor ecx, esi
sub eax, ecx
xor r9d, eax
mov eax, r9d
mov ecx, r9d
ror ecx, 6
xor eax, r14d
imul eax, dword [rbp - 0x80]
xor ecx, eax
xor r10d, ecx
mov eax, r10d
rol eax, 2
lea ecx, [r10 + rdx]
ror ecx, 0xf
imul ecx, dword [rsp + 0x70]
add ecx, eax
xor r9d, ecx
mov ecx, r9d
sub ecx, esi
ror ecx, 0xe
movzx eax, word [rbp + 0x8ce]
imul ecx, eax
mov eax, r9d
rol eax, 8
sub ecx, eax
xor r10d, ecx
mov ecx, esi
xor ecx, r10d
mov eax, r10d
ror eax, 0xa
ror ecx, 0xc
imul ecx, r14d
xor ecx, eax
movzx eax, word [rbp + 0x8ca]
xor r9d, ecx
movzx ecx, word [rbp + 0x8ce]
xor ecx, r9d
imul ecx, eax
mov eax, r9d
shr eax, 0xa
xor ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x8ce]
mov eax, r10d
not eax
ror eax, 5
add eax, dword [rsp + 0x70]
imul eax, ecx
xor r9d, eax
mov eax, r9d
sub eax, ecx
xor eax, esi
xor r10d, eax
xor ecx, r10d
mov eax, r10d
rol ecx, 2
imul ecx, r14d
shr eax, 2
add ecx, eax
movzx eax, word [rbp + 0x8ca]
xor r9d, ecx
mov ecx, r9d
sub ecx, edx
ror ecx, 6
imul ecx, eax
mov eax, r9d
rol eax, 7
add ecx, eax
xor r10d, ecx
mov eax, r10d
mov ecx, r10d
xor eax, r14d
ror ecx, 9
imul eax, dword [rsp + 0x70]
add ecx, eax
movzx eax, word [rbp + 0x8ce]
xor r9d, ecx
movzx ecx, word [rbp + 0x8ca]
xor ecx, r9d
rol ecx, 5
imul ecx, eax
mov eax, r9d
rol eax, 7
add ecx, eax
mov eax, esi
xor r10d, ecx
movzx ecx, word [rbp + 0x8ca]
xor eax, r10d
xor r9d, eax
xor r9d, edx
mov eax, r9d
ror eax, 3
sub eax, ecx
imul eax, r14d
xor r10d, eax
mov ecx, r10d
mov eax, r10d
sub ecx, edx
ror ecx, 1
imul ecx, dword [rsp + 0x70]
ror eax, 6
sub ecx, eax
movzx eax, word [rbp + 0x8ce]
xor r9d, ecx
lea ecx, [rsi + r9]
rol ecx, 3
imul ecx, eax
mov eax, r9d
rol eax, 0xe
add ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xe
lea ecx, [rsi + r10]
rol ecx, 0xf
imul ecx, r14d
sub ecx, eax
movzx eax, word [rbp + 0x8ca]
xor r9d, ecx
mov ecx, dword [rsp + 0x70]
xor ecx, r9d
imul ecx, eax
mov eax, r9d
shr eax, 3
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor r10d, dword [rbp + 0x58]
xor ecx, edx
rol ecx, 4
imul ecx, dword [rsp + 0x70]
rol eax, 2
mov dword [rbp + 0x58], edi
xor ecx, eax
xor ecx, r15d
mov r15d, r8d
xor r9d, ecx
mov byte [rbx - 4], r9b
mov byte [rbx], r10b
lea rbx, [rbx + 8]
ror r9d, 8
mov byte [rbx - 0xd], r9b
ror r10d, 8
mov byte [rbx - 9], r10b
ror r9d, 8
mov byte [rbx - 0xe], r9b
ror r10d, 8
mov byte [rbx - 0xa], r10b
ror r9d, 8
ror r10d, 8
mov byte [rbx - 0xf], r9b
mov byte [rbx - 0xb], r10b
ror r10d, 8
ror r9d, 8
sub r11, r12
jne 0x140055537
mov dl, byte [rsp + 0x64]
mov r14d, dword [rsp + 0x60]
mov r13, qword [rbp - 0x58]
mov r15, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x48]
xor r10d, r10d
mov eax, r10d
test rbx, rbx
je 0x140055841
xor dl, byte [rax + r8]
add rax, r12
cmp rax, rbx
jb 0x140055835
mov rcx, qword [rbp - 0x70]
movzx eax, dl
cmp rax, qword [rbx + rcx]
je 0x14005585c
mov rbx, qword [rbp + 0xc8]
mov edi, 0xc004d501
jmp 0x140055878
mov r15, qword [rbp - 0x30]
mov rbx, r8
mov edi, dword [rbp - 0x38]
add r15, 0xfffffffffffffff8
mov qword [rbp + 0xc8], rbx
mov r8, r10
mov qword [rbp + 0x48], r10
test r8, r8
je 0x1400558a8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x48]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rbx, qword [rbp + 0xc8]
xor r10d, r10d
test edi, edi
js 0x1400558d2
mov rsi, rbx
mov qword [rbp + 0x30], rbx
mov rbx, r10
mov dword [rbp + 0xb8], r15d
mov qword [rbp + 0xc8], rbx
mov edi, 0x10000000
jmp 0x1400558e2
mov rbx, qword [rbp + 0xc8]
mov r15d, dword [rbp + 0xb8]
mov edi, 0xd0000001
mov rsi, qword [rbp + 0x30]
test rbx, rbx
je 0x140055918
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r15d, dword [rbp + 0xb8]
xor r10d, r10d
mov qword [rbp + 0xc8], r10
test edi, edi
js 0x140054a12
cmp r15d, 4
jae 0x140055930
mov edi, 0xc000003e
jmp 0x140055a8c
mov r9d, dword [rsi]
lea rcx, [rsi + 4]
mov dword [rsp + 0x68], r9d
cmp rcx, rsi
jb 0x140055a87
lea eax, [r15 - 4]
cmp eax, 4
jb 0x140055926
mov ebx, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x140055a87
lea eax, [r15 - 8]
cmp eax, ebx
jb 0x140055926
lea eax, [rbx + 8]
cmp eax, 8
jb 0x140055a87
mov ecx, r15d
lea rdx, [rbx + rdi]
lea rax, [rcx + rsi]
cmp rax, rdx
jb 0x140055926
sub rcx, rbx
sub rcx, rdi
add rcx, rsi
cmp rcx, 8
jae 0x140055926
mov dword [rbp - 0x80], r10d
mov rsi, r10
mov r8d, r10d
test rdi, rdi
je 0x140055a0a
mov rcx, rdi
cmp rdx, rdi
jb 0x140055a87
jbe 0x140055a05
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140055a87
cmp rax, rdx
ja 0x1400559f4
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400559fe
mov dword [rbp + 0x2f4], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x140055a87
mov rcx, r9
cmp r9, rdx
ja 0x1400559f4
add r8d, r12d
mov dword [rbp - 0x80], r8d
cmp rcx, rdx
jae 0x140055a08
jmp 0x1400559ad
mov edi, 0xc000000d
jmp 0x140055a8c
mov edi, 0xc0000095
jmp 0x140055a72
cmp rcx, rdx
jne 0x1400559f4
test ebx, ebx
je 0x140055a43
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rsi, rax
test rax, rax
jne 0x140055a43
mov edi, 0xc0000017
jmp 0x140055a72
test rdi, rdi
je 0x140055a59
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x110], eax
mov qword [rbp + 0x118], rsi
mov dword [rbp + 0x114], ebx
mov edi, r10d
test edi, edi
js 0x140055a8c
mov eax, dword [rsp + 0x68]
cmp eax, dword [rbp + 0x110]
je 0x140055a8c
jmp 0x140055926
mov edi, 0xc0000095
bts edi, 0x1c
jmp 0x140054a12
mov r15, rdi
jmp 0x140054d03
mov r13d, 0x8007007a
mov ebx, dword [rbp + 0xb4]
xor eax, eax
lock cmpxchg dword [0x1400e7fcc], r12d
jne 0x140055aa9
mov eax, dword [0x1400e7fc8]
test eax, eax
jle 0x140055b24
sub eax, r12d
mov dword [0x1400e7fc8], eax
jne 0x140055b24
lea r15, [0x1400e7b20]
mov esi, 4
mov rdi, r15
mov rcx, qword [rdi]
test rcx, rcx
je 0x140055af1
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor r10d, r10d
add rdi, 0x18
sub rsi, r12
jne 0x140055ada
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x1400b1e90]
lea rcx, [0x1400df0e0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
mov eax, r10d
lea rcx, [rbp + 0xc0]
xchg dword [0x1400e7fcc], eax
call fcn.1400872ec
xor esi, esi
test r14d, r14d
jns 0x140055b8e
cmp r14d, 0xd0000034
jne 0x140055b54
mov r14d, 0xc004f012
mov edi, r14d
jmp 0x140055ba4
cmp r14d, 0xd00000e5
je 0x140055b77
cmp r14d, 0xc004d501
je 0x140055b77
cmp r14d, 0xd000003e
jne 0x140055b7d
mov r14d, 0xc004f028
jmp 0x140055b4f
mov r14d, 0xc004f027
test r14d, r14d
jns 0x140055b8e
cmp r14d, r13d
jne 0x140055b4f
mov edi, 0xc004f01e
jmp 0x140055ba4
cmp ebx, 4
jne 0x140055b87
mov rax, qword [rbp + 0x1c8]
mov edi, esi
mov ecx, dword [rax]
mov dword [rbp + 0xe0], ecx
lea rcx, [rbp + 0x1c8]
call fcn.1400872ec
test edi, edi
jns 0x140055bc1
mov al, r12b
mov ecx, 2
jmp 0x140055c4c
cmp dword [rbp + 0xe0], esi
jne 0x140055bd1
mov al, r12b
mov ecx, r12d
jmp 0x140055c4c
lea rax, [rbp + 0x228]
mov rcx, 0xffffffff80000002
lea r9, [rbp + 0x18]
mov qword [rsp + 0x20], rax
lea r8, [0x1400bae48]
lea rdx, str.SYSTEMWaaSUpfc
call fcn.140058ae0
mov edi, eax
test eax, eax
js 0x140055c3e
cmp byte [rbp + 0x18], sil
je 0x140055c3e
call fcn.1400a8cec
lea r8, [rbp + 0x28]
mov qword [rbp + 0x328], rax
lea rdx, [rbp + 0x228]
mov byte [rbp + 0x28], sil
lea rcx, [rbp + 0x328]
call fcn.1400586d4
cmp byte [rbp + 0x28], sil
je 0x140055c47
mov al, r12b
mov ecx, 4
jmp 0x140055c4c
mov ecx, 3
mov edi, esi
jmp 0x140055c49
mov ecx, esi
mov al, sil
mov rdx, qword [rbp + 0x330]
mov byte [rdx], al
mov dword [rdx + 4], ecx
mov eax, edi
mov rcx, qword [rbp + 0x10a0]
xor rcx, rsp
call fcn.1400abb00
lea r11, [rsp + 0x11b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret