Function at 0x14001a4b0
Capabilities:
Encode data using xor
Execute anti-debugging instructions
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1120]
mov eax, 0x1220
call fcn.1400663f0
sub rsp, rax
mov rax, qword [0x1400c1270]
xor rax, rsp
mov qword [rbp + 0x1110], rax
xor ebx, ebx
mov qword [rbp + 0x468], r8
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x208], rbx
test rdx, rdx
jne 0x14001a509
mov ebx, 0x80070057
jmp 0x1400242de
test r8, r8
je 0x14001a4ff
mov dword [rbp + 0x17c], ebx
mov r13d, 1
mov dword [rbp + 0xd8], ebx
mov qword [rbp + 0x140], rbx
mov dword [rbp + 0x78], ebx
xor eax, eax
lock cmpxchg dword [0x1400c2668], r13d
jne 0x14001a52a
mov eax, dword [0x1400c2664]
or edi, 0xffffffff
mov dword [rbp + 0x90], edi
mov esi, 0x338
test eax, eax
jne 0x14001ab0a
mov dword [rbp - 0x80], ebx
mov qword [rbp + 0x188], rbx
mov qword [rbp + 0x2d0], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
mov r15, rax
test rax, rax
je 0x14001aa89
mov r14d, 0x67
mov dword [rbp - 8], ebx
mov eax, ebx
mov dword [rbp + 0x18], ebx
mov esi, ebx
lea r12, [r15 + 7]
mov r11d, ebx
lea r13, [0x140092832]
lea ebx, [r14 - 0x66]
mov r15d, edi
movzx ecx, byte [r13 - 1]
movzx r10d, byte [r13 - 2]
movzx r9d, byte [r13 + 2]
shl r10d, 8
or r10d, ecx
shl r9d, 8
movzx ecx, byte [r13]
lea r13, [r13 + 8]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r13 - 7]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r13 - 5]
or r9d, ecx
xor r11d, r10d
movzx ecx, byte [r13 - 4]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r13 - 3]
shl r9d, 8
or r9d, ecx
xor esi, r9d
xor esi, r11d
xor esi, 0xac987321
lea ecx, [rsi + 0x54969fa2]
rol ecx, 5
imul edx, ecx, 0x137f
mov ecx, esi
rol ecx, 0xa
add edx, ecx
xor r11d, edx
lea ecx, [r11 + 0x7f1137f]
ror ecx, 9
imul edx, ecx, 0xab69
mov ecx, r11d
rol ecx, 2
sub edx, ecx
xor esi, edx
lea ecx, [rsi - 0x137f]
imul edx, ecx, 0x605e
mov ecx, esi
shr ecx, 0xd
sub edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0xab69
rol ecx, 6
imul edx, ecx, 0x7f1
mov ecx, r11d
rol ecx, 2
sub edx, ecx
mov ecx, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub ecx, edx
xor r11d, ecx
mov ecx, r11d
mov edi, r11d
xor ecx, 0x137f
ror edi, 6
imul edx, ecx, 0xab69
xor edi, edx
xor esi, edi
mov edi, 0xab69605e
lea ecx, [rsi + 0x7f1137f]
ror ecx, 0xf
imul edx, ecx, 0x605e
mov ecx, esi
rol ecx, 2
add edx, ecx
xor r11d, edx
lea ecx, [r11 + 0x54969fa2]
ror ecx, 0xe
imul edx, ecx, 0x7f1
mov ecx, r11d
rol ecx, 8
sub edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, edi
ror ecx, 0xc
imul edx, ecx, 0x137f
mov ecx, esi
ror ecx, 0xa
xor edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0x7f1
imul edx, ecx, 0xab69
mov ecx, r11d
shr ecx, 0xa
xor edx, ecx
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 5
add ecx, 0x605e
imul ecx, ecx, 0x7f1
xor r11d, ecx
lea r8d, [r11 - 0x7f1]
xor r8d, esi
mov esi, 0xab69
xor r8d, edi
mov ecx, r8d
xor ecx, 0x7f1
rol ecx, 2
imul edx, ecx, 0x137f
mov ecx, r8d
shr ecx, 2
add edx, ecx
xor r11d, edx
lea ecx, [r11 - 0x7f1137f]
ror ecx, 6
imul edx, ecx, 0xab69
mov ecx, r11d
rol ecx, 7
add edx, ecx
xor r8d, edx
mov ecx, r8d
mov edi, r8d
xor ecx, 0x137f
ror edi, 9
imul edx, ecx, 0x605e
add edi, edx
xor r11d, edi
mov ecx, r11d
xor ecx, esi
rol ecx, 5
imul edx, ecx, 0x7f1
mov ecx, r11d
rol ecx, 7
add edx, ecx
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov ecx, edi
ror ecx, 3
sub ecx, esi
imul ecx, ecx, 0x137f
xor r8d, ecx
lea ecx, [r8 - 0x7f1137f]
ror ecx, 1
imul edx, ecx, 0x605e
mov ecx, r8d
ror ecx, 6
sub edx, ecx
xor edi, edx
lea ecx, [rdi - 0x54969fa2]
rol ecx, 3
imul edx, ecx, 0x7f1
mov ecx, edi
rol ecx, 0xe
add edx, ecx
xor r8d, edx
lea ecx, [r8 - 0x54969fa2]
rol ecx, 0xf
imul edx, ecx, 0x137f
mov ecx, r8d
ror ecx, 0xe
sub edx, ecx
xor edi, edx
mov ecx, edi
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, edi
shr ecx, 3
xor edx, ecx
xor r8d, edx
mov ecx, r8d
xor ecx, 0x7f1137f
rol ecx, 4
imul edx, ecx, 0x605e
mov ecx, r8d
rol ecx, 2
xor r8d, r15d
mov dword [rbp - 8], r8d
mov r15d, r9d
xor edx, ecx
xor edx, eax
mov eax, r10d
xor edi, edx
mov dword [rbp + 0x18], edi
mov byte [r12 - 4], dil
mov cl, byte [rbp - 8]
ror dword [rbp + 0x18], 8
mov byte [r12], cl
lea r12, [r12 + 8]
ror dword [rbp - 8], 8
mov cl, byte [rbp + 0x18]
mov byte [r12 - 0xd], cl
mov cl, byte [rbp - 8]
ror dword [rbp + 0x18], 8
mov byte [r12 - 9], cl
ror dword [rbp - 8], 8
mov cl, byte [rbp + 0x18]
mov byte [r12 - 0xe], cl
ror dword [rbp + 0x18], 8
mov cl, byte [rbp - 8]
mov byte [r12 - 0xa], cl
ror dword [rbp - 8], 8
mov cl, byte [rbp + 0x18]
mov byte [r12 - 0xf], cl
mov cl, byte [rbp - 8]
mov byte [r12 - 0xb], cl
mov r11d, dword [rbp + 0x18]
mov esi, dword [rbp - 8]
ror r11d, 8
ror esi, 8
mov dword [rbp + 0x18], r11d
mov dword [rbp - 8], esi
sub r14, rbx
jne 0x14001a5ad
mov r15, qword [rbp + 0x50]
xor ebx, ebx
mov ecx, ebx
mov al, bl
mov r14d, ebx
mov esi, 0x338
lea r13d, [rbx + 1]
xor al, byte [rcx + r15]
add rcx, r13
cmp rcx, rsi
jb 0x14001a8d8
movzx ecx, al
cmp rcx, qword [0x140092b68]
je 0x14001a8f7
mov edi, 0xc004d501
jmp 0x14001a90a
mov qword [rbp + 0x188], r15
mov edi, ebx
mov r15, rbx
mov qword [rbp + 0x2d0], rsi
test r15, r15
je 0x14001a923
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14001aa89
mov rax, qword [rbp + 0x2d0]
lea rsi, [0x1400c2370]
mov rdi, qword [rbp + 0x188]
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x60]
mov byte [rax + rdi - 1], bl
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
cmp byte [rdi], bl
je 0x14001aa8f
mov r12d, ebx
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x14001a964
lea rdi, [rdi + rax*2]
mov eax, r12d
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14001aa89
mov rax, qword [rsi]
mov ecx, 0x5a4d
mov r14d, ebx
cmp word [rax], cx
je 0x14001a9a7
mov r14d, 0xc000007b
jmp 0x14001a9f2
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001a99f
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x14001a99f
cmp dword [rcx], 0x4550
jne 0x14001a99f
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001a9e1
mov r14d, 0xc000000d
jmp 0x14001a9f2
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov r13d, dword [rdi + 2]
mov r15d, ebx
add rdi, 6
test r13d, r13d
je 0x14001aa67
mov qword [rbp + 0x2d8], rbx
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x14001aa10
inc rdi
add rdi, rax
test r14d, r14d
js 0x14001aa52
lea r9, [rbp + 0x2d8]
mov r8, rsi
xor edx, edx
call fcn.140045e64
mov r14d, eax
test eax, eax
js 0x14001aa81
mov eax, dword [rbp - 0x80]
lea r8, [0x1400bb090]
mov rcx, qword [rbp + 0x2d8]
mov qword [r8 + rax*8], rcx
jmp 0x14001aa55
mov eax, dword [rbp - 0x80]
mov ecx, 1
add eax, ecx
add r15d, ecx
mov dword [rbp - 0x80], eax
cmp r15d, r13d
jb 0x14001aa02
mov r13d, 1
lea rsi, [0x1400c2370]
add r12d, r13d
cmp byte [rdi], bl
jne 0x14001a95d
jmp 0x14001aa8f
mov r13d, 1
jmp 0x14001aa8f
mov r14d, 0xc000007a
cmp qword [rbp + 0x188], rbx
je 0x14001aab0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x188]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
jns 0x14001ab04
lea r15, [0x1400c2370]
mov esi, 4
mov rdi, r15
cmp qword [rdi], rbx
je 0x14001aad2
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r13
jne 0x14001aac4
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400758b0]
lea rcx, [0x1400bb090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001ab13
mov eax, dword [0x1400c2664]
add eax, r13d
mov dword [0x1400c2664], eax
mov eax, ebx
mov r14d, ebx
xchg dword [0x1400c2668], eax
mov qword [rbp + 0x230], rbx
mov esi, ebx
mov qword [rbp + 0x228], rbx
mov edi, 0x80004005
mov rax, qword gs:[0x60]
mov r12d, 0x80070000
cmp dword [rax + 0x2c0], ebx
je 0x14001ad86
mov rax, qword [0x1400bb1a0]
call qword [0x140077040]
mov r15, rax
test rax, rax
jne 0x14001ab83
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14001ad8a
mov esi, edi
jmp 0x14001ad8a
mov rdi, rbx
mov qword [rbp + 0xe8], rbx
mov r9d, ebx
lea rax, [rbp + 0x180]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400bb1c0]
mov rcx, r15
call qword [0x140077040]
test eax, eax
jne 0x14001ac30
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001ac1a
cmp qword [rbp + 0xe8], rbx
jne 0x14001ac11
mov edi, dword [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xe8]
mov rdi, rax
call fcn.140046110
test rdi, rdi
je 0x14001ac0a
mov r9d, dword [rbp + 0x180]
mov qword [rbp + 0xe8], rdi
jmp 0x14001ab90
mov esi, 0x8007000e
jmp 0x14001ac3e
mov edi, 0x80004005
mov esi, edi
jmp 0x14001ac4a
mov edi, 0x80004005
test eax, eax
je 0x14001ac16
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
jmp 0x14001ac4a
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x230], rax
mov edi, 0x80004005
mov qword [rbp + 0xe8], rbx
lea rcx, [rbp + 0xe8]
call fcn.140046110
test esi, esi
js 0x14001ad8a
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x1400bb1b8]
call qword [0x140077040]
mov r15, rax
test rax, rax
je 0x14001ab63
mov rdi, rbx
mov qword [rbp + 0xf0], rbx
mov esi, ebx
mov r9d, ebx
lea rax, [rbp + 0x160]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400bb1c0]
mov rcx, r15
call qword [0x140077040]
test eax, eax
jne 0x14001ad27
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001ad16
cmp qword [rbp + 0xf0], rbx
jne 0x14001ad0f
mov edi, dword [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xf0]
mov rdi, rax
call fcn.140046110
test rdi, rdi
je 0x14001ad08
mov r9d, dword [rbp + 0x160]
mov qword [rbp + 0xf0], rdi
jmp 0x14001ac8e
mov esi, 0x8007000e
jmp 0x14001ad35
mov esi, 0x80004005
jmp 0x14001ad3c
test eax, eax
je 0x14001ad0f
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
jmp 0x14001ad3c
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x228], rax
mov qword [rbp + 0xf0], rbx
lea rcx, [rbp + 0xf0]
call fcn.140046110
test esi, esi
js 0x14001ad8a
mov rcx, qword [rbp + 0x230]
test rcx, rcx
je 0x14001ad86
lea rdx, str.WinSta0
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001ad86
mov rcx, qword [rbp + 0x228]
test rcx, rcx
je 0x14001ad86
lea rdx, str.Default
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
cmove r14d, r13d
mov dword [rbp + 0x78], r14d
lea rcx, [rbp + 0x228]
call fcn.140046110
lea rcx, [rbp + 0x230]
call fcn.140046110
mov eax, dword [rbp + 0x78]
test esi, esi
cmovs eax, ebx
mov dword [rbp + 0x78], eax
mov edx, 4
mov dword [rbp + 0xd8], ebx
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
lea rcx, [rbp + 0x140]
mov qword [rbp + 0x40], rax
mov rdi, rax
call fcn.1400460ec
test rdi, rdi
jne 0x14001ae9a
mov qword [rbp + 0x140], rbx
mov esi, 0x8007000e
xor eax, eax
mov qword [rbp + 0x140], rdi
mov qword [rbp - 0x60], rax
mov edi, LoadRegTypeLib
mov qword [rbp - 0x58], rax
mov r14, rbx
mov qword [rbp + 0xb8], rax
mov r15, rbx
mov qword [rbp + 0xc0], rax
lea rax, [0x1400c1390]
mov qword [rbp + 0x340], rax
mov dword [rbp + 0x150], ebx
mov dword [rbp + 0xa0], ebx
mov qword [rbp + 0x2e0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov esi, 8
mov r8d, edi
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x50], rax
mov rdi, rax
mov r12d, 0xc0000017
test rax, rax
jne 0x14001af1d
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x14001b0b8
mov r8, qword [rbp + 0x2e0]
mov rcx, rdi
mov rdx, qword [rbp + 0x340]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, dword [rbp + 0x2e0]
mov r14, rdi
mov qword [rsp + 0x78], rdi
lea rax, [0x1400c12d0]
mov qword [rbp + 0x300], rsi
mov qword [rbp + 0x348], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
mov edx, esi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x40], rax
mov rdi, rax
test rax, rax
je 0x14001af10
mov r8, qword [rbp + 0x300]
mov rcx, rax
mov rdx, qword [rbp + 0x348]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15, rdi
mov qword [rsp + 0x70], rdi
mov rdi, qword [rbp + 0x300]
mov qword [rbp + 0x70], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x258], rax
lea r14d, [r13 + 4]
or r10d, 0xffffffff
cmp r14d, 4
mov eax, r10d
mov r11d, 0xc0000095
mov ecx, 8
cmovae eax, r14d
sbb r12d, r12d
and r12d, r11d
cmp r14d, 4
mov dword [rsp + 0x60], r12d
mov esi, r12d
cmovae ecx, eax
mov dword [rbp + 0x8c], ecx
test r12d, r12d
js 0x14001b0b3
lea edx, [rcx + 8]
cmp edx, 8
jb 0x14001affe
mov esi, ebx
jmp 0x14001b004
mov edx, r10d
mov esi, r11d
mov r8d, 0x10000000
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b0b3
lea r15d, [rdi + 4]
mov eax, r10d
cmp r15d, 4
cmovae eax, r15d
sbb esi, esi
and esi, r11d
cmp r15d, 4
mov dword [rsp + 0x60], esi
mov dword [rbp - 0x70], esi
cmovae ecx, eax
mov dword [rbp + 0x8c], ecx
test esi, esi
js 0x14001b0ae
lea eax, [rcx + rdx]
cmp eax, edx
jb 0x14001b04e
mov esi, ebx
jmp 0x14001b054
mov eax, r10d
mov esi, r11d
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b0ae
mov dword [rbp + 0x8c], SafeArrayGetDim
lea edi, [rax + 0xc]
cmp edi, eax
jb 0x14001b072
mov esi, ebx
jmp 0x14001b078
mov edi, r10d
mov esi, r11d
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b0ae
mov rcx, qword [rbp + 0x30]
lea r8, [rbp + 0x210]
mov edx, 0x7fffffff
call fcn.140046148
test eax, eax
jns 0x14001b1cb
mov qword [rbp + 0x210], rbx
mov esi, 0xc000003e
mov dword [rsp + 0x60], esi
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r13d, 1
and qword [rbp - 0x60], 0
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x14001b0e4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x58], rbx
and qword [rbp + 0xb8], 0
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je fcn.14001b113
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0xc0], rbx
mov rax, qword [rbp + 0x210]
or r10d, 0xffffffff
mov edx, dword [rbp + 0x8c]
inc rax
mov qword [rbp + 0x210], rax
mov r11d, 0xc0000095
lea ecx, [rax*2 + 4]
mov eax, r10d
cmp ecx, 4
cmovae eax, ecx
sbb esi, esi
and esi, r11d
cmp ecx, 4
mov dword [rsp + 0x60], esi
cmovae edx, eax
mov dword [rbp + 0x8c], edx
test esi, esi
js 0x14001b0ae
lea ecx, [rdx + rdi]
cmp ecx, edi
jb 0x14001b224
mov esi, ebx
jmp 0x14001b22a
mov ecx, r10d
mov esi, r11d
mov r8d, 0x10000000
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b0ae
mov dword [rbp + 0x8c], 8
lea eax, [rcx + 8]
cmp eax, ecx
jb 0x14001b252
mov esi, ebx
jmp 0x14001b258
mov eax, r10d
mov esi, r11d
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b0ae
mov dword [rbp + 0x8c], 8
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x14001b27a
mov esi, ebx
jmp 0x14001b280
mov ecx, r10d
mov esi, r11d
or esi, r8d
mov dword [rsp + 0x60], esi
jl 0x14001b0ae
mov dword [rbp - 0x5c], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
test rax, rax
jne 0x14001b2bb
mov esi, 0xc0000017
jmp 0x14001b0aa
mov qword [rbp - 0x58], rdx
mov r8d, ebx
mov dword [rbp - 0x60], ebx
mov dword [rbp + 0x1d0], ebx
add rax, 4
or rdi, 0xffffffffffffffff
cmp rax, rdx
mov r11d, 0xc0000095
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001b320
mov ecx, dword [rbp - 0x5c]
lea rax, [rdx + 8]
add rcx, rdx
cmp rax, rcx
jbe 0x14001b307
mov esi, 0xc0000023
jmp 0x14001b0aa
mov dword [rdx], 4
mov eax, dword [rbp + 0x1d0]
mov dword [rdi], eax
mov r8d, dword [rbp - 0x60]
inc r8d
mov dword [rbp - 0x60], r8d
test esi, esi
js 0x14001b0ae
test r13d, r13d
je 0x14001b471
cmp qword [rbp - 0x58], rbx
jne 0x14001b39c
mov edx, dword [rbp + 0x100]
or r10d, 0xffffffff
cmp r14d, 4
mov dword [rsp + 0x60], r12d
mov eax, r10d
mov esi, r12d
cmovae eax, r14d
cmovae edx, eax
mov dword [rbp + 0x100], edx
test r12d, r12d
js 0x14001b47a
mov ecx, dword [rbp - 0x5c]
mov r9d, r10d
mov r12d, 1
lea eax, [rcx + rdx]
cmp eax, ecx
cmovae r9d, eax
sbb esi, esi
and esi, r11d
mov dword [rbp - 0x5c], r9d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x14001b484
add r8d, r12d
mov dword [rbp - 0x60], r8d
jmp 0x14001b496
mov rdi, qword [rbp - 0x58]
mov r10d, ebx
mov r12d, 1
test r8d, r8d
je 0x14001b41e
mov r9d, dword [rbp + 0x100]
mov r14d, r11d
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r11, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r14d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r9d, ecx
mov dword [rbp + 0x100], r9d
test esi, esi
js 0x14001b47a
or rax, 0xffffffffffffffff
mov edx, r9d
add rdx, rdi
mov rcx, rdi
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r14d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001b47a
add r10d, r12d
cmp r10d, r8d
jb 0x14001b3b8
mov r11d, 0xc0000095
lea rax, [rdi + 4]
or r9, 0xffffffffffffffff
cmp rax, rdi
cmovae r9, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001b47a
mov ecx, dword [rbp - 0x5c]
lea rax, [r13 + 4]
add rcx, qword [rbp - 0x58]
add rax, rdi
mov r8, r13
cmp rax, rcx
ja 0x14001b2fd
mov rdx, qword [rbp + 0x50]
mov rcx, r9
mov dword [rdi], r13d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp - 0x60]
add r8d, r12d
mov dword [rbp - 0x60], r8d
jmp 0x14001b480
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r12d, 1
mov r9d, dword [rbp - 0x5c]
test esi, esi
js 0x14001b0ae
or r10d, 0xffffffff
mov r11d, 0xc0000095
mov rdx, qword [rbp + 0x70]
test edx, edx
je 0x14001b5f7
cmp qword [rbp - 0x58], rbx
jne 0x14001b516
mov edx, dword [rbp + 0x104]
cmp r15d, 4
mov esi, dword [rbp - 0x70]
mov eax, r10d
cmovae eax, r15d
mov dword [rsp + 0x60], esi
cmovae edx, eax
mov dword [rbp + 0x104], edx
test esi, esi
js 0x14001b0ae
add edx, r9d
mov ecx, r9d
cmp edx, r9d
mov eax, r10d
mov edi, r9d
cmovae eax, edx
cmp edx, ecx
mov r9d, eax
mov dword [rbp - 0x5c], eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp edx, ecx
jb 0x14001b605
mov rax, qword [rbp + 0x258]
add r8d, r12d
mov dword [rbp - 0x60], r8d
mov qword [rbp + 0x308], rax
jmp 0x14001b625
mov rdi, qword [rbp - 0x58]
or r13, 0xffffffffffffffff
mov r11d, ebx
test r8d, r8d
je 0x14001b596
mov r10d, dword [rbp + 0x104]
mov r15d, 0xc0000095
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r14, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r15d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r10d, ecx
mov dword [rbp + 0x104], r10d
test esi, esi
js 0x14001b602
mov rcx, rdi
mov edx, r10d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001b602
add r11d, r12d
cmp r11d, r8d
jb 0x14001b533
mov rdx, qword [rbp + 0x70]
lea rax, [rdi + 4]
mov r10, r13
cmp rax, rdi
mov r11d, 0xc0000095
cmovae r10, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001b605
mov r8d, edx
mov ecx, r9d
add rcx, qword [rbp - 0x58]
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rcx
ja 0x14001b2fd
mov dword [rdi], edx
mov rcx, r10
mov rdx, qword [rbp - 0x40]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp - 0x60]
mov r11d, 0xc0000095
mov r9d, dword [rbp - 0x5c]
add r8d, r12d
mov dword [rbp - 0x60], r8d
jmp 0x14001b605
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001b605
mov r11d, r15d
test esi, esi
js 0x14001b0ae
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x308], rax
cmp qword [rbp - 0x58], rbx
jne 0x14001b65d
or r10d, 0xffffffff
mov dword [rbp + 0x154], SafeArrayGetDim
lea ecx, [r9 + 0xc]
mov eax, r10d
cmp ecx, r9d
cmovae eax, ecx
sbb esi, esi
and esi, r11d
mov dword [rbp - 0x5c], eax
mov dword [rsp + 0x60], esi
cmp ecx, r9d
jb 0x14001b71f
add r8d, r12d
mov dword [rbp - 0x60], r8d
jmp 0x14001b727
mov rdi, qword [rbp - 0x58]
or r13, 0xffffffffffffffff
mov r11d, ebx
mov r15d, 0xc0000095
test r8d, r8d
je 0x14001b6d9
mov r10d, dword [rbp + 0x154]
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r14, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r15d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r10d, ecx
mov dword [rbp + 0x154], r10d
test esi, esi
js 0x14001b0ae
mov rcx, rdi
mov edx, r10d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001b71f
add r11d, r12d
cmp r11d, r8d
jb 0x14001b67a
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001b71f
mov ecx, r9d
lea rax, [rdi + 0xc]
add rcx, qword [rbp - 0x58]
cmp rax, rcx
ja 0x14001b2fd
mov dword [rdi], 8
movsd xmm0, qword [rbp + 0x308]
movsd qword [rdx], xmm0
add dword [rbp - 0x60], r12d
test esi, esi
js 0x14001b0ae
mov r14, qword [rbp + 0x30]
lea r8, [rbp + 0x1c0]
mov rcx, r14
mov edx, 0x7fffffff
call fcn.140046148
test eax, eax
jns 0x14001b74f
mov qword [rbp + 0x1c0], rbx
jmp 0x14001b0a5
mov rcx, qword [rbp + 0x1c0]
or r13, 0xffffffffffffffff
mov r11d, 0xc0000095
mov rdx, r13
lea rax, [rcx + 1]
cmp rax, rcx
lea r15d, [r11 - 0x72]
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov qword [rbp + 0x1c0], rdx
mov dword [rsp + 0x60], esi
cmp rax, rcx
jb 0x14001b8ee
lea r9d, [rdx + rdx]
test r9d, r9d
je 0x14001b8d9
cmp qword [rbp - 0x58], rbx
jne 0x14001b803
mov edx, dword [rbp + 0x108]
lea eax, [r9 + 4]
or edi, 0xffffffff
cmp eax, 4
mov ecx, edi
cmovae ecx, eax
sbb esi, esi
and esi, r11d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae edx, ecx
mov dword [rbp + 0x108], edx
test esi, esi
js 0x14001b8e2
mov ecx, dword [rbp - 0x5c]
mov r8d, edi
lea eax, [rcx + rdx]
cmp eax, ecx
cmovae r8d, eax
sbb esi, esi
and esi, r11d
mov dword [rbp - 0x5c], r8d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x14001b8e6
add dword [rbp - 0x60], r12d
mov esi, ebx
mov dword [rsp + 0x60], ebx
jmp 0x14001b8e6
mov r10d, ebx
mov rdi, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001b882
mov r8d, dword [rbp + 0x108]
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r11, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r8d, ecx
mov dword [rbp + 0x108], r8d
test esi, esi
js 0x14001b8e2
mov rcx, rdi
mov edx, r8d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, 0xc0000095
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001b8e2
add r10d, r12d
cmp r10d, dword [rbp - 0x60]
jb 0x14001b816
mov r11d, 0xc0000095
lea rax, [rdi + 4]
mov r10, r13
cmp rax, rdi
cmovae r10, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001b8e2
mov r8d, dword [rbp - 0x5c]
lea rax, [r9 + 4]
mov ecx, r8d
mov edx, r9d
add rcx, qword [rbp - 0x58]
add rax, rdi
cmp rax, rcx
jbe 0x14001b8c2
mov esi, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14001b8e6
mov r8, rdx
mov dword [rdi], r9d
mov rdx, r14
mov rcx, r10
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add dword [rbp - 0x60], r12d
jmp 0x14001b8e2
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r8d, dword [rbp - 0x5c]
mov r11d, 0xc0000095
jmp 0x14001b8f2
mov r8d, dword [rbp - 0x5c]
test esi, esi
js 0x14001b0ae
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x1d8], eax
cmp qword [rbp - 0x58], rbx
jne 0x14001b956
mov dword [rbp + 0x14c], 8
lea edx, [r8 + 8]
or r10d, 0xffffffff
cmp edx, r8d
mov ecx, r8d
mov eax, r10d
mov edi, r8d
cmovae eax, edx
cmp edx, ecx
mov r8d, eax
mov dword [rbp - 0x5c], eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp edx, ecx
jb 0x14001ba2a
add dword [rbp - 0x60], r12d
mov dword [rbp + 0x170], 4
jmp 0x14001ba42
mov r10d, ebx
mov rdi, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001b9d2
mov r9d, dword [rbp + 0x14c]
mov r14d, 0xc0000095
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r11, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r14d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r9d, ecx
mov dword [rbp + 0x14c], r9d
test esi, esi
js 0x14001ba23
mov rcx, rdi
mov edx, r9d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r14d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001ba23
add r10d, r12d
cmp r10d, dword [rbp - 0x60]
jb 0x14001b96f
mov r11d, r14d
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001ba26
mov ecx, r8d
lea rax, [rdi + 8]
add rcx, qword [rbp - 0x58]
cmp rax, rcx
jbe 0x14001ba0b
mov esi, r15d
mov dword [rsp + 0x60], r15d
jmp 0x14001b0ae
mov dword [rdi], 4
mov eax, dword [rbp + 0x1d8]
mov dword [rdx], eax
add dword [rbp - 0x60], r12d
mov r8d, dword [rbp - 0x5c]
jmp 0x14001ba26
mov r11d, r14d
or r10d, 0xffffffff
test esi, esi
js 0x14001b0ae
mov dword [rbp + 0x170], 4
cmp qword [rbp - 0x58], rbx
jne 0x14001ba81
mov dword [rbp + 0x168], 8
lea edx, [r8 + 8]
mov ecx, r8d
cmp edx, r8d
mov eax, r10d
mov edi, r8d
cmovae eax, edx
cmp edx, ecx
mov r8d, eax
mov dword [rbp - 0x5c], eax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp edx, ecx
jb 0x14001bb48
add dword [rbp - 0x60], r12d
jmp 0x14001bb50
mov r10d, ebx
mov rdi, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001baf9
mov r9d, dword [rbp + 0x168]
mov r14d, 0xc0000095
mov eax, dword [rdi]
or ecx, 0xffffffff
add eax, 4
mov r11, rdi
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r14d
cmp eax, 4
mov dword [rsp + 0x60], esi
cmovae r9d, ecx
mov dword [rbp + 0x168], r9d
test esi, esi
js 0x14001bb41
mov rcx, rdi
mov edx, r9d
add rdx, rdi
mov rax, r13
cmp rdx, rdi
cmovae rax, rdx
cmp rdx, rcx
mov rdi, rax
sbb esi, esi
and esi, r14d
mov dword [rsp + 0x60], esi
cmp rdx, rcx
jb 0x14001bb41
add r10d, r12d
cmp r10d, dword [rbp - 0x60]
jb 0x14001ba9a
mov r11d, r14d
lea rax, [rdi + 4]
mov rdx, r13
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001bb44
mov ecx, r8d
lea rax, [rdi + 8]
add rcx, qword [rbp - 0x58]
cmp rax, rcx
ja 0x14001b9fe
mov dword [rdi], 4
mov eax, dword [rbp + 0x170]
mov dword [rdx], eax
add dword [rbp - 0x60], r12d
mov r8d, dword [rbp - 0x5c]
jmp 0x14001bb44
mov r11d, r14d
or r10d, 0xffffffff
test esi, esi
js 0x14001db1b
mov dword [rbp + 0x3ec], 8
mov r9, rbx
mov qword [rbp + 0x30], rbx
mov r15d, ebx
mov qword [rbp + 0x190], rbx
mov qword [rbp - 0x68], rbx
mov r12d, ebx
mov dword [rsp + 0x68], ebx
mov qword [rbp + 0x80], rbx
mov dword [rbp + 0x4c], ebx
mov qword [rbp + 0x60], rbx
mov qword [rbp - 0x78], rbx
mov dword [rbp + 0xa4], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x310], rax
lea eax, [r8 + 8]
mov ecx, r10d
cmp eax, 8
cmovae ecx, eax
sbb esi, esi
and esi, r11d
mov dword [rbp + 0x10c], ecx
cmp eax, 8
jb 0x14001bc9a
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14001bbd4
mov esi, r11d
jmp 0x14001bc9a
mov dword [rbp + 0x10c], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001bc08
mov esi, 0xc0000017
mov r9, rbx
jmp 0x14001bc9a
mov eax, dword [rbp - 0x60]
mov rdx, r13
mov dword [rdi], eax
mov r11d, 0xc0000095
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
cmp rax, rdi
jb 0x14001bc7a
mov eax, dword [rbp - 0x5c]
mov rcx, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae rcx, rax
sbb esi, esi
and esi, r11d
cmp rax, rdx
jb 0x14001bc7a
mov edx, dword [rbp + 0x10c]
mov rax, qword [rbp + 0x310]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x58]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15d, dword [rbp + 0x10c]
mov r9, rdi
mov qword [rbp + 0x30], rdi
mov rdi, rbx
jmp 0x14001bc7d
mov r9, rbx
test rdi, rdi
je 0x14001bc9a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9, qword [rbp + 0x30]
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d482
mov qword [rbp + 0x358], rbx
mov r14, rbx
mov qword [rbp + 0x360], rbx
mov qword [rbp + 0x368], rbx
mov qword [rbp + 0x370], rbx
mov qword [rbp + 0x238], rbx
mov qword [rbp + 0x350], rbx
test r9, r9
jne 0x14001bce6
mov esi, 0xc000000d
jmp 0x14001c421
mov esi, r15d
mov qword [rbp + 0x50], rsi
test r15d, r15d
je 0x14001c375
lea rdi, [rsi + 8]
mov qword [rbp + 0x38], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x40], rax
mov r13, rax
test rax, rax
je 0x14001c375
mov r10, qword [rbp + 0x30]
mov dl, bl
mov rcx, rbx
test r15d, r15d
je 0x14001bd41
mov eax, 1
xor dl, byte [r10 + rcx]
add rcx, rax
cmp rcx, rsi
jb 0x14001bd35
or r11d, 0xffffffff
mov dword [rbp - 0x24], ebx
mov r8, rsi
mov dword [rbp - 0x38], r11d
mov dword [rbp - 0x80], ebx
mov r15, r13
mov dword [rbp + 0x10], ebx
mov edi, ebx
and r8d, 7
je 0x14001be31
mov dword [rbp - 0x80], ebx
mov r11d, ebx
mov dword [rbp + 0x10], r12d
mov r9d, ebx
test r8d, r8d
jle 0x14001bdb3
mov edi, 0x38
movzx eax, byte [r10]
cmp r9d, 4
jge 0x14001bd8f
lea ecx, [rdi - 0x20]
shl eax, cl
or r12d, eax
jmp 0x14001bd96
mov ecx, edi
shl eax, cl
or r11d, eax
mov ecx, 1
sub edi, 8
add r9d, ecx
add r10, rcx
cmp r9d, r8d
jl 0x14001bd7b
mov dword [rbp + 0x10], r12d
mov dword [rbp - 0x80], r11d
jmp 0x14001bdb8
mov ecx, 1
xor r11d, 0x42f6b18d
mov edi, r12d
xor edi, 0xb17a307a
mov dword [rbp - 0x38], r11d
mov dword [rbp - 0x24], edi
mov eax, ebx
test r8d, r8d
jle 0x14001bdfb
cmp eax, 4
jge 0x14001bde3
rol edi, 8
mov byte [r15], dil
jmp 0x14001bdea
rol r11d, 8
mov byte [r15], r11b
add eax, ecx
add r15, rcx
cmp eax, r8d
jl 0x14001bdd6
mov edi, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x38]
lea eax, [r8 - 4]
test eax, eax
jle 0x14001be19
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x38], r11d
jmp 0x14001be31
mov dword [rbp - 0x38], ebx
mov r11d, ebx
test eax, eax
jns 0x14001be31
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x24], edi
mov r12, rsi
shr r12, 3
test r12, r12
je 0x14001c176
mov r14d, dword [rbp - 0x80]
lea rsi, [r10 + 2]
mov r13d, dword [rbp + 0x10]
add r15, 7
mov ebx, 1
movzx eax, byte [rsi - 1]
movzx r10d, byte [rsi - 2]
movzx r9d, byte [rsi + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 5]
or r9d, eax
movzx eax, byte [rsi - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
mov edi, 0xc81ecb17
xor r8d, edi
mov eax, r8d
xor eax, edi
ror eax, 0xf
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 7
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x4e4ab5a8]
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 0xa
sub ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, 0xcb17
rol eax, 4
imul ecx, eax, 0xc81e
mov eax, r8d
rol eax, 5
add ecx, eax
mov eax, edi
xor r11d, ecx
mov ecx, r11d
xor ecx, 0xb1b54a58
sub eax, ecx
xor r8d, eax
lea eax, [r8 - 0x4a58]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov ecx, 0xc81e
mov eax, r11d
ror eax, 0xf
xor eax, 0xcb17
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, ecx
imul eax, eax, 0xcb17
xor r11d, eax
lea eax, [r11 + 0x37e0ea91]
xor r8d, eax
mov eax, r8d
mov edi, r8d
xor eax, ecx
ror edi, 0xa
imul ecx, eax, 0xb1b5
xor edi, ecx
xor r11d, edi
mov eax, r11d
xor eax, 0x4a58
rol eax, 6
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 3
xor ecx, eax
xor r8d, ecx
mov ecx, 0xc81e
mov eax, r8d
ror eax, 0xf
sub eax, ecx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, ecx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
lea eax, [r11 - 0xcb17]
rol eax, 3
xor r8d, ecx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xcb17]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 0xd
sub ecx, eax
mov eax, 0xb1b54a58
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e49ed8a]
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0xb1b5
ror edi, 7
imul ecx, eax, 0x4a58
sub ecx, edi
mov edi, 0xc81ecb17
xor r8d, ecx
mov eax, r8d
xor eax, 0xc81e
rol eax, 4
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 0x10
sub ecx, eax
mov eax, 0xb1b54a58
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0xcb17
mov eax, r11d
ror eax, 4
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e4ab5a8]
ror eax, 4
imul ecx, eax, 0xc81e
mov eax, r8d
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, edi
rol eax, 8
imul ecx, eax, 0x4a58
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, edi
xor r8d, ecx
sub eax, r8d
ror eax, 0xb
imul ecx, eax, 0xb1b5
mov eax, r8d
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xb1b5
imul ecx, eax, 0xcb17
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r8d, r13d
mov dword [rbp - 0x24], r8d
xor r11d, 0x79ab814f
xor r11d, r14d
mov r13d, r10d
mov dword [rbp - 0x38], r11d
mov r14d, r9d
mov byte [r15 - 4], r8b
mov al, byte [rbp - 0x38]
ror dword [rbp - 0x24], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 0xd], al
mov al, byte [rbp - 0x38]
ror dword [rbp - 0x24], 8
mov byte [r15 - 9], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 0xe], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x38]
mov byte [r15 - 0xa], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 0xf], al
mov al, byte [rbp - 0x38]
mov byte [r15 - 0xb], al
mov edi, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x38]
ror edi, 8
ror r11d, 8
mov dword [rbp - 0x24], edi
mov dword [rbp - 0x38], r11d
sub r12, rbx
jne 0x14001be56
mov rsi, qword [rbp + 0x50]
xor ebx, ebx
mov r13, qword [rbp - 0x40]
mov r14d, ebx
movzx eax, dl
mov qword [rsi + r13], rax
mov rsi, qword [rbp + 0x38]
mov qword [rbp + 0x350], rsi
mov qword [rbp + 0x238], r13
lea rax, [0x1400c1380]
mov r12d, 8
mov qword [rbp + 0x358], rax
mov qword [rbp + 0x360], r12
lea r15, [0x1400c12e0]
mov qword [rbp + 0x370], LoadRegTypeLib
mov qword [rbp + 0x368], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [r12 + 0x28]
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001c1ec
mov esi, 0xc0000017
jmp 0x14001c360
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14001c214
mov esi, 0xc0000017
jmp 0x14001c2e4
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov esi, LoadRegTypeLib
mov dword [rdi + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001c20a
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r15]
lea edx, [rsi - 0x20]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r15 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r15 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r15 + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [r15 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r15 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r15 + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001c20a
mov qword [rdi + 0x28], rax
movsd xmm0, qword [0x1400c1380]
mov r14, rdi
movsd qword [rax], xmm0
mov esi, ebx
mov rdi, rbx
test rdi, rdi
je 0x14001c360
mov r15, qword [rdi + 8]
test r15, r15
je 0x14001c30a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x14001c32b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x14001c34c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, dword [rsp + 0x68]
test esi, esi
js 0x14001c37a
mov qword [rbp + 0x190], r14
mov r14, rbx
jmp 0x14001c37a
mov esi, 0xc0000001
mov rdi, qword [rbp + 0x238]
test rdi, rdi
je 0x14001c3a1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x238], rbx
test r14, r14
je 0x14001c41d
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001c3c7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14001c3e8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14001c409
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r13, 0xffffffffffffffff
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d482
mov r14, qword [rbp + 0x190]
or r11d, 0xffffffff
mov ecx, r11d
mov r15d, 0xc0000095
mov eax, dword [r14]
mov r8d, dword [r14 + 0x20]
add eax, 4
mov edi, dword [r14 + 0x10]
cmp eax, 4
cmovae ecx, eax
sbb esi, esi
and esi, r15d
cmp eax, 4
jb 0x14001c4c3
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb esi, esi
and esi, r15d
cmp eax, ecx
jb 0x14001c4c3
lea eax, [rdx + rdi]
mov ecx, r11d
cmp eax, edx
cmovae ecx, eax
sbb esi, esi
and esi, r15d
cmp eax, edx
jb 0x14001c4c3
lea eax, [rcx + 4]
mov edx, r11d
cmp eax, ecx
cmovae edx, eax
sbb esi, esi
and esi, r15d
cmp eax, ecx
jb 0x14001c4c3
mov edi, dword [rbp + 0x110]
lea ecx, [rdx + r8]
cmp ecx, edx
mov eax, r11d
cmovae eax, ecx
sbb esi, esi
and esi, r15d
cmp ecx, edx
cmovae edi, eax
mov dword [rbp + 0x110], edi
jmp 0x14001c4c9
mov edi, dword [rbp + 0x110]
test esi, esi
js 0x14001c61a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001c4fa
mov esi, 0xc0000017
jmp 0x14001c616
mov eax, dword [r14]
mov r15, r13
mov dword [rdi], eax
lea rax, [rdi + 4]
cmp rax, rdi
cmovae r15, rax
sbb esi, esi
and esi, 0xc0000095
cmp rax, rdi
jb 0x14001c5f7
mov r8d, dword [r14]
mov rcx, r15
mov rdx, qword [r14 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r14]
mov rdx, r13
add rcx, r15
mov r8d, 0xc0000095
cmp rcx, r15
cmovae rdx, rcx
sbb esi, esi
and esi, r8d
cmp rcx, r15
jb 0x14001c5f7
mov eax, dword [r14 + 0x10]
mov r15, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r15, rax
sbb esi, esi
and esi, r8d
cmp rax, rdx
jb 0x14001c5f7
mov r8d, dword [r14 + 0x10]
mov rcx, r15
mov rdx, qword [r14 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r14 + 0x10]
mov rdx, r13
add rcx, r15
mov r8d, 0xc0000095
cmp rcx, r15
cmovae rdx, rcx
sbb esi, esi
and esi, r8d
cmp rcx, r15
jb 0x14001c5f7
mov eax, dword [r14 + 0x20]
mov r15, r13
mov dword [rdx], eax
lea rax, [rdx + 4]
cmp rax, rdx
cmovae r15, rax
sbb esi, esi
and esi, r8d
cmp rax, rdx
jb 0x14001c5f7
mov r8d, dword [r14 + 0x20]
mov rcx, r15
mov rdx, qword [r14 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r14 + 0x20]
add rcx, r15
cmp rcx, r15
sbb esi, esi
and esi, 0xc0000095
cmp rcx, r15
jb 0x14001c5f7
mov r12d, dword [rbp + 0x110]
mov qword [rbp - 0x68], rdi
mov rdi, rbx
test rdi, rdi
je 0x14001c610
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15d, 0xc0000095
or r11d, 0xffffffff
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d482
mov qword [rbp + 0x378], rbx
mov r9d, ebx
mov dword [rbp + 0x240], ebx
mov r10d, ebx
mov qword [rbp + 0x380], rbx
mov dword [rbp + 0x244], ebx
mov dword [rbp + 0x3e8], 0x3c
mov eax, 0x48
mov dword [rbp + 0x470], eax
mov dword [rbp + 0x478], eax
lea r14d, [rax - 0x47]
cmp qword [rbp - 0x58], rbx
jne 0x14001c67d
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001c820
cmp dword [rbp - 0x60], r14d
jbe 0x14001c66f
mov rdx, qword [rbp - 0x58]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001c697
mov esi, ebx
jmp 0x14001c69d
mov rdi, r13
mov esi, r15d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d482
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001c705
add r8d, r14d
cmp r8d, r14d
jb 0x14001c68a
mov edi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001c705
test edi, edi
mov dword [rbp + 0x240], edi
mov rax, rbx
mov r9d, edi
cmovne rax, rcx
mov qword [rbp + 0x378], rax
test esi, esi
js 0x14001d482
cmp dword [rbp - 0x60], 2
jbe 0x14001c66f
mov rdx, qword [rbp - 0x58]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001c72b
mov esi, ebx
jmp 0x14001c731
mov rdi, r13
mov esi, r15d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d482
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001c79a
add r8d, r14d
cmp r8d, 2
jb 0x14001c71e
mov edi, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001c79a
test edi, edi
mov dword [rbp + 0x244], edi
mov rax, rbx
mov r10d, edi
cmovne rax, rcx
mov qword [rbp + 0x380], rax
test esi, esi
js 0x14001d482
lea eax, [r9 + 0x50]
mov ecx, r11d
cmp eax, 0x50
cmovae ecx, eax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp eax, 0x50
jb 0x14001c7fd
lea eax, [rcx + 4]
mov edi, r11d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp eax, ecx
jb 0x14001c7fd
mov edx, dword [rbp + 0x164]
lea ecx, [rdi + r10]
cmp ecx, edi
mov eax, r11d
cmovae eax, ecx
sbb esi, esi
and esi, r15d
cmp ecx, edi
mov dword [rsp + 0x60], esi
cmovae edx, eax
mov dword [rbp + 0x164], edx
jmp 0x14001c803
mov edx, dword [rbp + 0x164]
test esi, esi
js 0x14001d482
cmp edx, 0x400000
jbe 0x14001c81d
mov esi, 0x8000ffff
jmp 0x14001d47e
mov dword [rbp + 0x4c], edx
test esi, esi
js 0x14001d482
mov edi, dword [rbp + 0x4c]
mov esi, ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14001c853
mov esi, 0xc0000017
mov rdi, rbx
jmp 0x14001c85d
mov rdi, rax
mov qword [rbp + 0x80], rax
mov r15d, 0x10000000
or esi, r15d
mov dword [rsp + 0x60], esi
jl 0x14001d482
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x14001c883
mov esi, 0x80070057
jmp 0x14001d47e
test rdi, rdi
je 0x14001c879
mov qword [rbp + 0x488], rax
lea r8, [rbp + 0x388]
mov eax, dword [rbp + 0x4c]
lea rdx, [0x14008c9c8]
mov ecx, r14d
mov dword [rbp + 0x49c], eax
mov dword [rbp + 0x498], r12d
mov qword [rbp + 0x490], rdi
mov dword [rbp + 0x4a0], ebx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14001c8ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [rbp + 0x4c]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001c934
mov esi, 0x80004005
jmp 0x14001c930
mov rcx, qword [rbp + 0x388]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001c8c7
xor r9d, r9d
lea rdx, [rbp + 0x488]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x140077040]
mov edx, dword [rbp + 0x4c]
mov esi, eax
or esi, r15d
cmovge edx, dword [rbp + 0x49c]
mov dword [rbp + 0x4c], edx
mov dword [rsp + 0x60], esi
cmp esi, 0xd0000023
jne 0x14001c94f
mov r12d, 0x8007007a
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x14001d488
test esi, esi
js 0x14001d482
mov r14, rbx
cmp edx, 4
jae 0x14001c969
mov esi, 0xc000003e
jmp 0x14001cd1b
mov r9d, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
mov dword [rbp - 0x70], r9d
mov r15, r13
mov r8d, 0xc0000095
cmovae r15, rax
sbb esi, esi
and esi, r8d
cmp rax, rdi
jb 0x14001cd1b
lea eax, [rdx - 4]
cmp eax, r9d
jb 0x14001c95f
mov eax, r9d
mov rdi, r13
mov qword [rbp + 0x70], rax
add rax, r15
cmp rax, r15
cmovae rdi, rax
sbb esi, esi
and esi, r8d
cmp rax, r15
jb 0x14001cd1b
lea eax, [r9 + 4]
or r11d, 0xffffffff
cmp eax, 4
mov ecx, r11d
cmovae ecx, eax
sbb esi, esi
and esi, r8d
cmp eax, 4
jb 0x14001cd1b
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14001c95f
mov r10d, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
mov dword [rsp + 0x68], r10d
mov r12, r13
cmovae r12, rax
sbb esi, esi
and esi, r8d
cmp rax, rdi
jb 0x14001cd1b
lea eax, [rcx + 4]
mov edi, r11d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, r8d
cmp eax, ecx
jb 0x14001cd1b
mov eax, edx
sub eax, edi
cmp eax, r10d
jb 0x14001c95f
mov eax, r10d
mov rcx, r13
mov qword [rbp + 0x50], rax
add rax, r12
cmp rax, r12
cmovae rcx, rax
sbb esi, esi
and esi, r8d
cmp rax, r12
jb 0x14001cd1b
lea eax, [r10 + rdi]
mov r8d, r11d
cmp eax, edi
cmovae r8d, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, edi
jb 0x14001cd1b
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14001c95f
mov r13d, dword [rcx]
lea rax, [rcx + 4]
or rdi, 0xffffffffffffffff
cmp rax, rcx
cmovae rdi, rax
sbb esi, esi
mov qword [rbp - 0x40], rdi
mov edi, 0xc0000095
and esi, edi
cmp rax, rcx
jb 0x14001cd1b
lea eax, [r8 + 4]
mov ecx, r11d
cmp eax, r8d
cmovae ecx, eax
sbb esi, esi
and esi, edi
cmp eax, r8d
jb 0x14001cd1b
mov eax, edx
sub eax, ecx
cmp eax, r13d
jb 0x14001c95f
lea eax, [rcx + r13]
mov edi, r11d
cmp eax, ecx
cmovae edi, eax
sbb esi, esi
and esi, 0xc0000095
cmp eax, ecx
jb 0x14001cd1b
cmp edx, edi
jne 0x14001c95f
lea ecx, [r10 + r13]
mov eax, edx
add ecx, r9d
add rcx, 0xc
cmp rcx, rax
jne 0x14001c95f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001cb31
mov esi, 0xc0000017
jmp 0x14001cc94
mov esi, ebx
test r15, r15
je 0x14001cb79
mov eax, dword [rbp - 0x70]
mov dword [rdi], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x70]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14001cb64
mov esi, 0xc0000017
jmp 0x14001cc18
mov qword [rdi + 8], rax
mov r8, qword [rbp + 0x70]
mov rdx, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001cb7f
mov dword [rax], ebx
mov qword [rax + 8], rbx
test r12, r12
je 0x14001cbc1
mov eax, dword [rsp + 0x68]
mov dword [rdi + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r15, qword [rbp + 0x50]
mov edx, 8
mov rcx, rax
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001cb5a
mov qword [rdi + 0x18], rax
mov r8, r15
mov rdx, r12
mov rcx, rax
mov esi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001cbc8
mov dword [rdi + 0x10], ebx
mov qword [rdi + 0x18], rbx
mov r15, qword [rbp - 0x40]
test r15, r15
je 0x14001cc0b
mov dword [rdi + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001cb5a
mov qword [rdi + 0x28], rax
mov r8, r13
mov rdx, r15
mov rcx, rax
mov esi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001cc12
mov dword [rdi + 0x20], ebx
mov qword [rdi + 0x28], rbx
mov r14, rdi
mov rdi, rbx
test rdi, rdi
je 0x14001cc94
mov r15, qword [rdi + 8]
test r15, r15
je 0x14001cc3e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x14001cc5f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x14001cc80
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x14001cc9f
mov qword [rbp + 0x60], r14
mov r14, rbx
test r14, r14
je 0x14001cd1b
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001ccc5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14001cce6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14001cd07
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d482
mov rax, qword [rbp + 0x60]
mov rdi, rbx
mov qword [rbp + 0x128], rbx
mov esi, ebx
mov qword [rbp + 0x318], rbx
mov dword [rsp + 0x60], ebx
test rax, rax
jne 0x14001cd55
mov esi, 0xc000000d
jmp 0x14001d2a8
mov r14, qword [rax + 8]
mov qword [rbp + 0x70], r14
test r14, r14
je 0x14001cd4b
cmp dword [rax], ebx
je 0x14001cd4b
mov r15d, dword [rax]
mov dword [rbp - 0x70], ebx
test r15, r15
je 0x14001d283
add r15, 0xfffffffffffffff8
mov qword [rbp - 0x40], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x38], rax
mov r12, rax
test rax, rax
je 0x14001d27c
mov rdi, r15
mov byte [rsp + 0x64], bl
mov dword [rbp - 0x30], ebx
mov r10, r14
mov dl, bl
mov r13, rax
mov r14d, ebx
mov r11d, ebx
and edi, 7
je 0x14001ce97
or dword [rbp - 0x48], 0xffffffff
mov r9d, ebx
mov dword [rbp - 0x80], ebx
mov dword [rbp + 0x10], ebx
test edi, edi
jle 0x14001ce14
mov r8d, 0x38
movzx eax, byte [r10]
cmp r9d, 4
jge 0x14001cdee
lea ecx, [r8 - 0x20]
shl eax, cl
or r11d, eax
jmp 0x14001cdf6
mov ecx, r8d
shl eax, cl
or r14d, eax
mov ecx, 1
sub r8d, 8
add r9d, ecx
add r10, rcx
cmp r9d, edi
jl 0x14001cdd9
mov dword [rbp + 0x10], r11d
mov dword [rbp - 0x80], r14d
jmp 0x14001ce19
mov ecx, 1
xor r11d, 0x92f65a5
xor r14d, 0x699a899c
mov dword [rbp - 0x30], r11d
mov eax, ebx
mov dword [rbp - 0x48], r14d
test edi, edi
jle 0x14001ce5d
cmp eax, 4
jge 0x14001ce44
rol r11d, 8
mov byte [r13], r11b
jmp 0x14001ce4c
rol r14d, 8
mov byte [r13], r14b
add eax, ecx
add r13, rcx
cmp eax, edi
jl 0x14001ce35
mov r11d, dword [rbp - 0x30]
mov r14d, dword [rbp - 0x48]
lea eax, [rdi - 4]
test eax, eax
jle 0x14001ce7a
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r14d, cl
shl r14d, cl
mov dword [rbp - 0x48], r14d
jmp 0x14001cea1
mov dword [rbp - 0x48], ebx
mov r14d, ebx
test eax, eax
jns 0x14001cea1
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x30], r11d
jmp 0x14001cea1
or dword [rbp - 0x80], 0xffffffff
mov dword [rbp + 0x10], ebx
mov dword [rbp - 0x48], ebx
mov rax, r15
shr rax, 3
test rax, rax
je 0x14001d1ee
mov edx, dword [rbp - 0x80]
lea r15, [r13 + 7]
mov r12d, dword [rbp + 0x10]
lea rbx, [r10 + 2]
mov r13, rax
mov esi, 1
movzx eax, byte [rbx - 1]
movzx r10d, byte [rbx - 2]
movzx r9d, byte [rbx + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [rbx - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rbx - 3]
shl r9d, 8
or r9d, eax
xor r14d, r9d
xor r14d, r11d
xor r14d, 0xac987321
lea eax, [r14 + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, r14d
rol eax, 0xa
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub ecx, eax
xor r14d, ecx
lea eax, [r14 - 0x137f]
imul ecx, eax, 0x605e
mov eax, r14d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor r14d, ecx
mov ecx, r14d
xor ecx, 0xab69605e
sub eax, ecx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul ecx, eax, 0xab69
xor edi, ecx
xor r14d, edi
mov edi, 0xab69605e
lea eax, [r14 + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, r14d
rol eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub ecx, eax
xor r14d, ecx
mov eax, r14d
xor eax, edi
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, r14d
ror eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor r14d, ecx
mov eax, r14d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, r14d
mov r14d, 0xab69
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
mov eax, r8d
mov edi, r8d
xor eax, 0x137f
ror edi, 9
imul ecx, eax, 0x605e
add edi, ecx
xor r11d, edi
mov eax, r11d
xor eax, r14d
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add ecx, eax
xor r8d, ecx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, r14d
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, edi
rol eax, 0xe
add ecx, eax
xor r8d, ecx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, r8d
ror eax, 0xe
sub ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, r8d
rol eax, 2
xor r8d, edx
mov dword [rbp - 0x48], r8d
mov edx, r9d
xor ecx, eax
xor ecx, r12d
mov r12d, r10d
xor edi, ecx
mov dword [rbp - 0x30], edi
mov byte [r15 - 4], dil
mov al, byte [rbp - 0x48]
ror dword [rbp - 0x30], 8
mov byte [r15], al
lea r15, [r15 + 8]
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 0xd], al
mov al, byte [rbp - 0x48]
ror dword [rbp - 0x30], 8
mov byte [r15 - 9], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 0xe], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x48]
mov byte [r15 - 0xa], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 0xf], al
mov al, byte [rbp - 0x48]
mov byte [r15 - 0xb], al
mov r11d, dword [rbp - 0x30]
mov r14d, dword [rbp - 0x48]
ror r11d, 8
ror r14d, 8
mov dword [rbp - 0x30], r11d
mov dword [rbp - 0x48], r14d
sub r13, rsi
jne 0x14001cec8
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov esi, dword [rsp + 0x60]
mov r15, qword [rbp - 0x40]
mov r12, qword [rbp + 0x38]
mov rax, rbx
test r15, r15
je 0x14001d207
mov ecx, 1
xor dl, byte [rax + r12]
add rax, rcx
cmp rax, r15
jb 0x14001d1fb
mov rcx, qword [rbp + 0x70]
movzx eax, dl
cmp rax, qword [r15 + rcx]
je 0x14001d223
mov rdi, qword [rbp + 0x128]
mov r14d, 0xc004d501
jmp 0x14001d23b
mov r14d, dword [rbp - 0x70]
mov rdi, r12
mov qword [rbp + 0x128], r12
mov r12, rbx
mov qword [rbp + 0x318], r15
test r12, r12
je 0x14001d25b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x128]
test r14d, r14d
js 0x14001d283
mov eax, dword [rbp + 0x318]
mov qword [rbp - 0x78], rdi
mov rdi, rbx
mov dword [rbp + 0xa4], eax
mov qword [rbp + 0x128], rbx
jmp 0x14001d288
mov rdi, qword [rbp + 0x128]
mov esi, 0xc0000001
test rdi, rdi
je 0x14001d2a8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x128], rbx
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001d482
cmp dword [rbp + 0xa4], 4
jb 0x14001d475
mov r8, qword [rbp - 0x78]
or r10, 0xffffffffffffffff
mov rcx, r10
mov r11d, 0xc0000095
mov r9d, dword [r8]
lea rax, [r8 + 4]
cmp rax, r8
mov dword [rsp + 0x68], r9d
cmovae rcx, rax
sbb esi, esi
and esi, r11d
cmp rax, r8
jb 0x14001d47a
mov eax, dword [rbp + 0xa4]
add eax, 0xfffffffc
cmp eax, 4
jb 0x14001d475
mov r14d, dword [rcx]
lea rax, [rcx + 4]
cmp rax, rcx
mov rdi, r10
cmovae rdi, rax
sbb esi, esi
and esi, r11d
cmp rax, rcx
jb 0x14001d47a
mov eax, dword [rbp + 0xa4]
add eax, 0xfffffff8
cmp eax, r14d
jb 0x14001d475
lea eax, [r14 + 8]
cmp eax, 8
sbb esi, esi
and esi, r11d
cmp eax, 8
jb 0x14001d47a
mov edx, dword [rbp + 0xa4]
lea rcx, [rdi + r14]
lea rax, [r8 + rdx]
cmp rax, rcx
jb 0x14001d475
mov rax, r8
sub rax, rdi
sub rax, r14
add rax, rdx
cmp rax, 8
jae 0x14001d475
mov r15, rbx
mov esi, ebx
mov r13d, ebx
test rdi, rdi
je 0x14001d40e
cmp rcx, rdi
mov r8, r10
mov rdx, rdi
cmovae r8, rcx
sbb esi, esi
and esi, r11d
cmp rcx, rdi
jb 0x14001d468
cmp rdi, r8
jae 0x14001d409
lea rax, [rdx + 4]
cmp rax, rdx
jb 0x14001d404
cmp rax, r8
ja 0x14001d3fd
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001d3f8
mov dword [rbp + 0xc8], eax
mov ecx, eax
mov rax, r10
add rcx, rdx
cmp rcx, rdx
cmovae rax, rcx
sbb esi, esi
and esi, r11d
cmp rcx, rdx
jb 0x14001d468
cmp rax, r8
ja 0x14001d3fd
inc r13d
mov rdx, rax
cmp rax, r8
jmp 0x14001d3ab
mov esi, r11d
jmp 0x14001d468
mov esi, 0xc000000d
jmp 0x14001d47a
mov esi, r11d
jmp 0x14001d47a
cmp rdx, r8
jne 0x14001d3fd
test r14d, r14d
je 0x14001d43b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
test rax, rax
jne 0x14001d439
mov esi, 0xc0000017
jmp 0x14001d463
mov esi, ebx
test rdi, rdi
je 0x14001d44e
mov r8, r14
mov rdx, rdi
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 0xc0], r15
mov dword [rbp + 0xbc], r14d
mov dword [rbp + 0xb8], r13d
mov r9d, dword [rsp + 0x68]
test esi, esi
js 0x14001d47a
cmp r9d, dword [rbp + 0xb8]
je 0x14001d47a
mov esi, 0xc000003e
bts esi, 0x1c
mov dword [rsp + 0x60], esi
mov r12d, 0x8007007a
mov rdi, qword [rbp + 0x30]
test rdi, rdi
je 0x14001d4a5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x190]
test r14, r14
je 0x14001d52f
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001d4d2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14001d4f3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14001d514
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x190], rbx
mov rdi, qword [rbp - 0x68]
test rdi, rdi
je 0x14001d54c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x80]
test rdi, rdi
je 0x14001d56c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x60]
test r14, r14
je 0x14001d5ec
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001d596
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], rbx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14001d5b7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], rbx
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x14001d5d8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x14001d609
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test esi, esi
js 0x14001db21
cmp dword [rbp + 0xb8], r13d
jae 0x14001d638
mov r14, qword [rsp + 0x78]
mov esi, 0xc004d501
mov r15, qword [rsp + 0x70]
mov dword [rsp + 0x60], esi
jmp 0x14001b0be
or r13, 0xffffffffffffffff
mov r11d, 0xc0000095
cmp qword [rbp + 0xc0], rbx
jne 0x14001d656
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001d6c1
cmp dword [rbp + 0xb8], ebx
jbe 0x14001d64b
mov rdi, qword [rbp + 0xc0]
mov rdx, r13
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
cmovae rdx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdi
jb 0x14001d69b
test ecx, ecx
mov dword [rbp + 0x248], ecx
mov rax, rbx
cmovne rax, rdx
mov qword [rbp + 0x390], rax
jmp 0x14001d6a8
mov ecx, dword [rbp + 0x248]
mov rax, qword [rbp + 0x390]
test esi, esi
js 0x14001b0ae
cmp ecx, 4
jne 0x14001b2fd
mov eax, dword [rax]
mov dword [rbp + 0xa0], eax
test esi, esi
js 0x14001b0ae
mov esi, dword [rbp + 0xa0]
cmp esi, 0xd0000023
cmove esi, r12d
mov dword [rsp + 0x60], esi
mov dword [rbp + 0xa0], esi
cmp esi, r12d
je 0x14001d6f0
test esi, esi
js 0x14001b0ae
cmp dword [rbp + 0xb8], 6
je 0x14001d703
mov esi, 0xc004d501
jmp 0x14001b0aa
cmp qword [rbp + 0xc0], rbx
jne 0x14001d71a
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001d7c7
mov rdx, qword [rbp + 0xc0]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001d731
mov esi, ebx
jmp 0x14001d737
mov rdi, r13
mov esi, r11d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d79f
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001d79f
mov eax, 1
add r8d, eax
cmp r8d, eax
jb 0x14001d724
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001d79f
test ecx, ecx
mov dword [rbp + 0x24c], ecx
mov rax, rbx
cmovne rax, rdi
mov qword [rbp + 0x398], rax
jmp 0x14001d7ac
mov ecx, dword [rbp + 0x24c]
mov rax, qword [rbp + 0x398]
test esi, esi
js 0x14001b0ae
cmp ecx, 8
jne 0x14001b2fd
mov rax, qword [rax]
mov qword [rbp + 0x3c0], rax
test esi, esi
js 0x14001b0ae
cmp qword [rbp + 0xc0], rbx
jne 0x14001d7e6
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001d88d
mov rdx, qword [rbp + 0xc0]
mov r8d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001d7fd
mov esi, ebx
jmp 0x14001d803
mov rdi, r13
mov esi, r11d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d867
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001d867
inc r8d
cmp r8d, 2
jb 0x14001d7f0
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001d867
test ecx, ecx
mov dword [rbp + 0x250], ecx
mov rax, rbx
cmovne rax, rdi
mov qword [rbp + 0x3a0], rax
jmp 0x14001d874
mov ecx, dword [rbp + 0x250]
mov rax, qword [rbp + 0x3a0]
test esi, esi
js 0x14001b0ae
cmp ecx, 4
jne 0x14001b2fd
mov eax, dword [rax]
mov dword [rbp + 0x1e4], eax
test esi, esi
js 0x14001b0ae
cmp qword [rbp + 0xc0], rbx
jne 0x14001d8a8
mov esi, 0xc000000d
jmp 0x14001b0aa
mov rdx, qword [rbp + 0xc0]
mov r8d, ebx
mov r14d, 1
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001d8c5
mov esi, ebx
jmp 0x14001d8cb
mov rdi, r13
mov esi, r11d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d932
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001d932
add r8d, r14d
cmp r8d, 3
jb 0x14001d8b8
mov r10d, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rcx, r13
cmovae rcx, rax
sbb esi, esi
and esi, r11d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001d932
test r10d, r10d
mov dword [rbp + 0x254], r10d
mov r11, rbx
cmovne r11, rcx
mov qword [rbp + 0x3a8], r11
jmp 0x14001d940
mov r10d, dword [rbp + 0x254]
mov r11, qword [rbp + 0x3a8]
test esi, esi
js 0x14001b0ae
mov rdx, qword [rbp + 0xc0]
mov r8d, ebx
mov r15d, 0xc0000095
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001d965
mov esi, ebx
jmp 0x14001d96b
mov rdi, r13
mov esi, r15d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d9cf
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001d9cf
add r8d, r14d
cmp r8d, 4
jb 0x14001d958
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001d9cf
test ecx, ecx
mov dword [rbp + 0x1c8], ecx
mov rax, rbx
cmovne rax, rdi
mov qword [rbp + 0x3b0], rax
jmp 0x14001d9dc
mov ecx, dword [rbp + 0x1c8]
mov rax, qword [rbp + 0x3b0]
test esi, esi
js 0x14001d9f5
cmp ecx, 4
jne 0x14001b2fd
mov r8d, dword [rax]
mov dword [rbp + 0x1cc], r8d
jmp 0x14001d9fc
mov r8d, dword [rbp + 0x1cc]
test esi, esi
js 0x14001b0ae
mov rdx, qword [rbp + 0xc0]
mov r9d, ebx
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001da1b
mov esi, ebx
jmp 0x14001da21
mov rdi, r13
mov esi, r15d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001da85
mov ecx, dword [rdx]
mov rdx, r13
add rcx, rdi
cmp rcx, rdi
cmovae rdx, rcx
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rcx, rdi
jb 0x14001da85
add r9d, r14d
cmp r9d, 5
jb 0x14001da0e
mov ecx, dword [rdx]
lea rax, [rdx + 4]
cmp rax, rdx
mov rdi, r13
cmovae rdi, rax
sbb esi, esi
and esi, r15d
mov dword [rsp + 0x60], esi
cmp rax, rdx
jb 0x14001da85
test ecx, ecx
mov dword [rbp + 0x1e0], ecx
mov rax, rbx
cmovne rax, rdi
mov qword [rbp + 0x3b8], rax
jmp 0x14001da92
mov ecx, dword [rbp + 0x1e0]
mov rax, qword [rbp + 0x3b8]
test esi, esi
js 0x14001daa9
cmp ecx, 4
jne 0x14001b2fd
mov ecx, dword [rax]
mov dword [rbp + 0x150], ecx
jmp 0x14001daaf
mov ecx, dword [rbp + 0x150]
test esi, esi
js 0x14001b0ae
mov rax, qword [rbp + 0x3c0]
cmp qword [rbp + 0x258], rax
jne 0x14001d6f9
mov eax, dword [rbp + 0x1e4]
mov dword [rbp + 0x17c], eax
mov dword [rbp + 0xd8], r8d
mov dword [rbp + 0x78], ecx
cmp r8d, 4
jbe 0x14001daf4
mov esi, r12d
mov dword [rsp + 0x60], r12d
jmp 0x14001b0ae
cmp r10d, 4
ja 0x14001dae7
mov rcx, qword [rbp + 0x40]
mov rdx, r11
mov r8d, r10d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
cmp dword [rbp + 0xa0], ebx
cmovne esi, dword [rbp + 0xa0]
jmp 0x14001b0aa
mov r13d, 1
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x14001b0be