Function at 0x14001b1a0
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 - 0x1110]
mov eax, 0x1210
call fcn.140062990
sub rsp, rax
mov rax, qword [0x1400bc178]
xor rax, rsp
mov qword [rbp + 0x1100], rax
xor ebx, ebx
mov qword [rbp + 0x428], r8
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x1b0], rbx
test rdx, rdx
jne 0x14001b1fc
mov ebx, 0x80070057
jmp 0x14002436f
test r8, r8
je 0x14001b1f2
mov dword [rbp + 0x150], ebx
mov r13d, 1
mov dword [rbp + 0xd0], ebx
mov qword [rbp + 0xf8], rbx
mov dword [rbp + 0x64], ebx
xor eax, eax
lock cmpxchg dword [0x1400bd3e8], r13d
jne 0x14001b21d
mov eax, dword [0x1400bd3e4]
or edi, 0xffffffff
mov dword [rbp + 0xcc], edi
mov esi, 0x338
test eax, eax
jne 0x14001b7fd
mov dword [rbp - 0x80], ebx
mov qword [rbp + 0x178], rbx
mov qword [rbp + 0x268], 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 0x14001b77c
mov r14d, 0x67
mov dword [rbp], ebx
mov eax, ebx
mov dword [rbp + 0x1c], ebx
mov esi, ebx
lea r12, [r15 + 7]
mov r11d, ebx
lea r13, [0x14008dc42]
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], r8d
mov r15d, r9d
xor edx, ecx
xor edx, eax
mov eax, r10d
xor edi, edx
mov dword [rbp + 0x1c], edi
mov byte [r12 - 4], dil
mov cl, byte [rbp]
ror dword [rbp + 0x1c], 8
mov byte [r12], cl
lea r12, [r12 + 8]
ror dword [rbp], 8
mov cl, byte [rbp + 0x1c]
mov byte [r12 - 0xd], cl
mov cl, byte [rbp]
ror dword [rbp + 0x1c], 8
mov byte [r12 - 9], cl
ror dword [rbp], 8
mov cl, byte [rbp + 0x1c]
mov byte [r12 - 0xe], cl
ror dword [rbp + 0x1c], 8
mov cl, byte [rbp]
mov byte [r12 - 0xa], cl
ror dword [rbp], 8
mov cl, byte [rbp + 0x1c]
mov byte [r12 - 0xf], cl
mov cl, byte [rbp]
mov byte [r12 - 0xb], cl
mov r11d, dword [rbp + 0x1c]
mov esi, dword [rbp]
ror r11d, 8
ror esi, 8
mov dword [rbp + 0x1c], r11d
mov dword [rbp], esi
sub r14, rbx
jne 0x14001b2a0
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 0x14001b5cb
movzx ecx, al
cmp rcx, qword [0x14008df78]
je 0x14001b5ea
mov edi, 0xc004d501
jmp 0x14001b5fd
mov qword [rbp + 0x178], r15
mov edi, ebx
mov r15, rbx
mov qword [rbp + 0x268], rsi
test r15, r15
je 0x14001b616
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 0x14001b77c
mov rax, qword [rbp + 0x268]
lea rsi, [0x1400bd130]
mov rdi, qword [rbp + 0x178]
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 0x14001b782
mov r12d, ebx
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x14001b657
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 0x14001b77c
mov rax, qword [rsi]
mov ecx, 0x5a4d
mov r14d, ebx
cmp word [rax], cx
je 0x14001b69a
mov r14d, 0xc000007b
jmp 0x14001b6e5
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001b692
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x14001b692
cmp dword [rcx], 0x4550
jne 0x14001b692
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001b6d4
mov r14d, 0xc000000d
jmp 0x14001b6e5
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 0x14001b75a
mov qword [rbp + 0x270], rbx
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x14001b703
inc rdi
add rdi, rax
test r14d, r14d
js 0x14001b745
lea r9, [rbp + 0x270]
mov r8, rsi
xor edx, edx
call fcn.140042dbc
mov r14d, eax
test eax, eax
js 0x14001b774
mov eax, dword [rbp - 0x80]
lea r8, [0x1400b6090]
mov rcx, qword [rbp + 0x270]
mov qword [r8 + rax*8], rcx
jmp 0x14001b748
mov eax, dword [rbp - 0x80]
mov ecx, 1
add eax, ecx
add r15d, ecx
mov dword [rbp - 0x80], eax
cmp r15d, r13d
jb 0x14001b6f5
mov r13d, 1
lea rsi, [0x1400bd130]
add r12d, r13d
cmp byte [rdi], bl
jne 0x14001b650
jmp 0x14001b782
mov r13d, 1
jmp 0x14001b782
mov r14d, 0xc000007a
cmp qword [rbp + 0x178], rbx
je 0x14001b7a3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x178]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
jns 0x14001b7f7
lea r15, [0x1400bd130]
mov esi, 4
mov rdi, r15
cmp qword [rdi], rbx
je 0x14001b7c5
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r13
jne 0x14001b7b7
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, [0x1400718c0]
lea rcx, [0x1400b6090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001b806
mov eax, dword [0x1400bd3e4]
add eax, r13d
mov dword [0x1400bd3e4], eax
mov eax, ebx
mov r14d, ebx
xchg dword [0x1400bd3e8], eax
mov qword [rbp + 0x1a8], rbx
mov esi, ebx
mov qword [rbp + 0x220], rbx
mov edi, 0x80004005
mov rax, qword gs:[0x60]
mov r12d, 0x80070000
cmp dword [rax + 0x2c0], ebx
je 0x14001ba79
mov rax, qword [0x1400b61a0]
call qword [0x140073008]
mov r15, rax
test rax, rax
jne 0x14001b876
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14001ba7d
mov esi, edi
jmp 0x14001ba7d
mov rdi, rbx
mov qword [rbp + 0xd8], rbx
mov r9d, ebx
lea rax, [rbp + 0x128]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400b61c0]
mov rcx, r15
call qword [0x140073008]
test eax, eax
jne 0x14001b923
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001b90d
cmp qword [rbp + 0xd8], rbx
jne 0x14001b904
mov edi, dword [rbp + 0x128]
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 + 0xd8]
mov rdi, rax
call fcn.140042ff8
test rdi, rdi
je 0x14001b8fd
mov r9d, dword [rbp + 0x128]
mov qword [rbp + 0xd8], rdi
jmp 0x14001b883
mov esi, 0x8007000e
jmp 0x14001b931
mov edi, 0x80004005
mov esi, edi
jmp 0x14001b93d
mov edi, 0x80004005
test eax, eax
je 0x14001b909
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
jmp 0x14001b93d
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x1a8], rax
mov edi, 0x80004005
mov qword [rbp + 0xd8], rbx
lea rcx, [rbp + 0xd8]
call fcn.140042ff8
test esi, esi
js 0x14001ba7d
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x1400b61b8]
call qword [0x140073008]
mov r15, rax
test rax, rax
je 0x14001b856
mov rdi, rbx
mov qword [rbp + 0xf0], rbx
mov esi, ebx
mov r9d, ebx
lea rax, [rbp + 0x12c]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x1400b61c0]
mov rcx, r15
call qword [0x140073008]
test eax, eax
jne 0x14001ba1a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001ba09
cmp qword [rbp + 0xf0], rbx
jne 0x14001ba02
mov edi, dword [rbp + 0x12c]
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.140042ff8
test rdi, rdi
je 0x14001b9fb
mov r9d, dword [rbp + 0x12c]
mov qword [rbp + 0xf0], rdi
jmp 0x14001b981
mov esi, 0x8007000e
jmp 0x14001ba28
mov esi, 0x80004005
jmp 0x14001ba2f
test eax, eax
je 0x14001ba02
movzx esi, ax
or esi, r12d
test eax, eax
cmovle esi, eax
jmp 0x14001ba2f
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0xf0], rbx
lea rcx, [rbp + 0xf0]
call fcn.140042ff8
test esi, esi
js 0x14001ba7d
mov rcx, qword [rbp + 0x1a8]
test rcx, rcx
je 0x14001ba79
lea rdx, str.WinSta0
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14001ba79
mov rcx, qword [rbp + 0x220]
test rcx, rcx
je 0x14001ba79
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 + 0x64], r14d
lea rcx, [rbp + 0x220]
call fcn.140042ff8
lea rcx, [rbp + 0x1a8]
call fcn.140042ff8
mov eax, dword [rbp + 0x64]
test esi, esi
cmovs eax, ebx
mov dword [rbp + 0x64], eax
mov edx, 4
mov dword [rbp + 0xd0], ebx
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
lea rcx, [rbp + 0xf8]
mov qword [rbp + 0x78], rax
mov rdi, rax
call fcn.140042fd0
test rdi, rdi
jne 0x14001bb8d
mov qword [rbp + 0xf8], rbx
mov esi, 0x8007000e
mov r14d, dword [rbp + 0xe0]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400bd3e8], r12d
jne 0x14001bae9
mov eax, dword [0x1400bd3e4]
test eax, eax
jle 0x14001bb59
sub eax, r12d
mov dword [0x1400bd3e4], eax
jne 0x14001bb59
lea r13, [0x1400bd130]
mov r15d, 4
mov rdi, r13
cmp qword [rdi], rbx
je 0x14001bb29
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r12
jne 0x14001bb1b
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400718c0]
lea rcx, [0x1400b6090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
lea rcx, [rbp + 0xf8]
xchg dword [0x1400bd3e8], eax
call fcn.140042fd0
test esi, esi
jns 0x140024357
cmp esi, 0xd0000034
jne 0x140024319
mov esi, 0xc004f012
mov ebx, esi
jmp 0x14002436f
xor eax, eax
mov qword [rbp + 0xf8], rdi
mov qword [rbp - 0x5c], rax
mov edi, LoadRegTypeLib
mov dword [rbp - 0x54], eax
mov r14, rbx
mov qword [rbp + 0xac], rax
mov r15, rbx
mov dword [rbp + 0xb4], eax
lea rax, [0x1400bc290]
mov qword [rbp + 0x338], rax
mov dword [rbp - 0x60], ebx
mov dword [rbp + 0x160], ebx
mov dword [rbp + 0xa8], ebx
mov dword [rbp + 0x94], ebx
mov qword [rbp + 0x278], 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]
lea rdi, [0x1400bc1d0]
mov r12, rax
test rax, rax
jne 0x14001bc11
mov esi, 0xc0000017
jmp 0x14001beb1
mov r8, qword [rbp + 0x278]
mov rcx, rax
mov rdx, qword [rbp + 0x338]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, dword [rbp + 0x278]
mov r14, r12
mov qword [rsp + 0x78], r12
mov qword [rbp + 0x340], rdi
mov qword [rbp + 0x280], rsi
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 - 0x38], rax
mov rdi, rax
test rax, rax
je 0x14001bc07
mov r8, qword [rbp + 0x280]
mov rcx, rax
mov rdx, qword [rbp + 0x340]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15, rdi
mov qword [rsp + 0x70], rdi
mov rdi, qword [rbp + 0x280]
mov qword [rbp + 0x50], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2a0], rax
mov dword [rbp + 0x60], esi
lea r14d, [r13 + 4]
cmp r14d, 4
jb 0x14001bea9
mov dword [rbp + 0x60], r14d
lea ecx, [r14 + 8]
or edx, 0xffffffff
mov r10d, 0xc0000095
cmp ecx, esi
jb 0x14001bcc7
mov esi, ebx
jmp 0x14001bccc
mov ecx, edx
mov esi, r10d
mov r9d, 0x10000000
or esi, r9d
mov dword [rsp + 0x60], esi
jl 0x14001e0c4
lea r15d, [rdi + 4]
cmp r15d, 4
jb 0x14001e0b2
mov dword [rbp + 0x60], r15d
lea eax, [r15 + rcx]
cmp eax, ecx
jb 0x14001bcfd
mov esi, ebx
jmp 0x14001bd02
mov eax, edx
mov esi, r10d
or esi, r9d
mov dword [rsp + 0x60], esi
jl 0x14001e0bf
mov dword [rbp + 0x60], SafeArrayGetDim
lea edi, [rax + 0xc]
cmp edi, eax
jb 0x14001bd21
mov esi, ebx
jmp 0x14001bd26
mov edi, edx
mov esi, r10d
or esi, r9d
mov dword [rsp + 0x60], esi
jl 0x14001e0bf
mov rcx, qword [rbp + 0x80]
lea r8, [rbp + 0x1e0]
mov edx, 0x7fffffff
call fcn.140043038
test eax, eax
jns 0x14001bd65
mov qword [rbp + 0x1e0], rbx
mov esi, 0xc000003e
mov r15, qword [rsp + 0x70]
jmp 0x14001beae
mov rax, qword [rbp + 0x1e0]
mov r8d, 0xc0000095
inc rax
mov qword [rbp + 0x1e0], rax
add eax, eax
add eax, 4
cmp eax, 4
jb 0x14001bd8d
mov esi, ebx
mov dword [rbp + 0x60], eax
jmp 0x14001bd93
mov eax, dword [rbp + 0x60]
mov esi, r8d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001e0bf
lea ecx, [rax + rdi]
or edx, 0xffffffff
cmp ecx, edi
jb 0x14001bdad
mov esi, ebx
jmp 0x14001bdb2
mov ecx, edx
mov esi, r8d
mov r9d, 0x10000000
or esi, r9d
mov dword [rsp + 0x60], esi
jl 0x14001e0bf
mov dword [rbp + 0x60], 8
lea eax, [rcx + 8]
cmp eax, ecx
jb 0x14001bdd7
mov esi, ebx
jmp 0x14001bddc
mov eax, edx
mov esi, r8d
or esi, r9d
mov dword [rsp + 0x60], esi
jl 0x14001e0bf
mov dword [rbp + 0x60], 8
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x14001bdfb
mov esi, ebx
jmp 0x14001be00
mov ecx, edx
mov esi, r8d
or esi, r9d
mov dword [rsp + 0x60], esi
jl 0x14001e0bf
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 0x14001be3b
mov esi, 0xc0000017
jmp 0x14001bd5b
mov qword [rbp - 0x58], rax
mov ecx, ebx
mov dword [rbp - 0x60], ebx
lea rax, [rbp + 0x130]
mov dword [rbp + 0x130], ebx
test rax, rax
je 0x14001bfc2
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001bea4
mov ecx, dword [rbp - 0x5c]
lea rax, [rdx + 8]
add rcx, rdx
mov dword [rsp + 0x60], ebx
mov esi, ebx
cmp rax, rcx
jbe 0x14001be82
mov esi, 0xc0000023
jmp 0x14001bd5b
mov dword [rdx], 4
mov r9d, 1
mov eax, dword [rbp + 0x130]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x60]
add ecx, r9d
mov dword [rbp - 0x60], ecx
jmp 0x14001bfd1
mov r15, qword [rsp + 0x70]
mov esi, 0xc0000095
mov r14, r12
mov dword [rsp + 0x60], esi
and qword [rbp - 0x60], 0
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x14001bedb
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 + 0xa8], 0
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x14001bf0a
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 + 0xb0], rbx
test r14, r14
je 0x14001bf23
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x14001bf3c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x14001badc
mov eax, dword [rbp + 0x64]
test eax, eax
je 0x1400242ec
mov edi, 0x104
mov qword [rbp + 0x3c8], rbx
mov r8d, edi
mov dword [0x1400bd120], eax
lea rdx, [rbp + 0xef0]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140022442
cmp eax, edi
jne 0x14001bf93
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140022442
mov rax, qword [0x1400b6188]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x140073008]
mov qword [rbp + 0x48], rax
test rax, rax
jne 0x14001e0cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140022442
mov esi, 0xc000000d
mov r9d, 1
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001e075
test r13d, r13d
je 0x14001c098
cmp qword [rbp - 0x58], rbx
jne 0x14001c012
mov dword [rbp + 0x214], r14d
mov eax, dword [rbp - 0x5c]
lea edx, [rax + r14]
cmp edx, eax
jb 0x14001bea4
mov r12d, 1
mov dword [rbp - 0x5c], edx
add ecx, r12d
mov dword [rbp - 0x60], ecx
jmp 0x14001c0b2
mov rdx, qword [rbp - 0x58]
mov edi, ebx
test ecx, ecx
je 0x14001c045
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001c091
mov dword [rbp + 0x214], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14001bea4
add edi, r9d
mov rdx, r8
cmp edi, ecx
jb 0x14001c01c
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001bea4
mov ecx, dword [rbp - 0x5c]
lea rax, [r13 + 4]
add rcx, qword [rbp - 0x58]
add rax, rdx
mov dword [rsp + 0x60], ebx
mov esi, ebx
mov r8, r13
cmp rax, rcx
ja 0x14001be78
mov dword [rdx], r13d
mov rcx, rdi
mov rdx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp - 0x60]
mov r12d, 1
add ecx, r12d
mov dword [rbp - 0x60], ecx
jmp 0x14001c0a7
mov esi, 0xc0000095
jmp 0x14001c09d
mov esi, 0xc000000d
mov r12d, 1
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001e075
mov edx, dword [rbp - 0x5c]
mov r10, qword [rbp + 0x50]
test r10d, r10d
je 0x14001c178
cmp qword [rbp - 0x58], rbx
jne 0x14001c0f8
mov dword [rbp + 0x204], r15d
lea eax, [rdx + r15]
cmp eax, edx
jb 0x14001c0e4
add ecx, r12d
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x60], ecx
mov edx, eax
jmp 0x14001c189
mov esi, 0xc0000095
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
jmp 0x14001beb1
mov rdi, qword [rbp - 0x58]
mov r8d, ebx
test ecx, ecx
je 0x14001c129
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14001c154
mov dword [rbp + 0x204], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x14001c0e4
add r8d, r12d
mov rdi, r9
cmp r8d, ecx
jb 0x14001c103
lea r9, [rdi + 4]
cmp r9, rdi
jb 0x14001c0e4
mov r8d, r10d
mov esi, ebx
mov ecx, edx
add rcx, qword [rbp - 0x58]
mov dword [rsp + 0x60], ebx
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rcx
jbe 0x14001c15b
mov esi, 0xc0000023
jmp 0x14001c0e9
mov esi, 0xc0000095
jmp 0x14001c17d
mov rdx, qword [rbp - 0x38]
mov rcx, r9
mov dword [rdi], r10d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp - 0x60]
mov edx, dword [rbp - 0x5c]
add ecx, r12d
mov dword [rbp - 0x60], ecx
jmp 0x14001c181
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001e075
mov rax, qword [rbp + 0x2a0]
mov qword [rbp + 0x288], rax
lea rax, [rbp + 0x288]
test rax, rax
je 0x14001c24b
cmp qword [rbp - 0x58], rbx
jne 0x14001c1d0
mov dword [rbp + 0x1f0], SafeArrayGetDim
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x14001c0e4
add ecx, r12d
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x60], ecx
jmp 0x14001c25c
mov rdi, qword [rbp - 0x58]
mov r8d, ebx
test ecx, ecx
je 0x14001c205
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14001c244
mov dword [rbp + 0x1f0], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x14001c0e4
add r8d, r12d
mov rdi, r9
cmp r8d, ecx
jb 0x14001c1db
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x14001c0e4
mov ecx, edx
lea rax, [rdi + 0xc]
add rcx, qword [rbp - 0x58]
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp rax, rcx
ja 0x14001c14d
mov dword [rdi], 8
movsd xmm0, qword [rbp + 0x288]
movsd qword [r8], xmm0
add dword [rbp - 0x60], r12d
jmp 0x14001c254
mov esi, 0xc0000095
jmp 0x14001c250
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001e075
mov r14, qword [rbp + 0x80]
lea r8, [rbp + 0x190]
mov rcx, r14
mov edx, 0x7fffffff
call fcn.140043038
test eax, eax
jns 0x14001c28c
mov qword [rbp + 0x190], rbx
mov esi, 0xc000003e
jmp 0x14001c0e9
mov rax, qword [rbp + 0x190]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x14001e0a5
lea edi, [rcx + rcx]
mov qword [rbp + 0x190], rcx
test edi, edi
je 0x14001c374
cmp qword [rbp - 0x58], rbx
jne 0x14001c2f9
add edi, 4
mov r10d, 0xc0000095
cmp edi, 4
jb 0x14001c2ec
mov dword [rbp + 0x228], edi
mov eax, dword [rbp - 0x5c]
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x14001c2e8
add dword [rbp - 0x60], r12d
mov esi, ebx
mov dword [rbp - 0x5c], ecx
mov dword [rsp + 0x60], ebx
jmp 0x14001c383
or dword [rbp - 0x5c], 0xffffffff
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001c383
mov ecx, ebx
mov rdx, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001c32a
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001c369
mov dword [rbp + 0x228], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14001c369
add ecx, r12d
mov rdx, r8
cmp ecx, dword [rbp - 0x60]
jb 0x14001c304
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x14001c369
mov ecx, dword [rbp - 0x5c]
lea rax, [rdi + 4]
add rcx, qword [rbp - 0x58]
add rax, rdx
mov dword [rsp + 0x60], ebx
mov esi, ebx
mov r8d, edi
cmp rax, rcx
jbe 0x14001c356
mov esi, 0xc0000023
jmp 0x14001c379
mov dword [rdx], edi
mov rcx, r9
mov rdx, r14
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add dword [rbp - 0x60], r12d
jmp 0x14001c37d
mov r10d, 0xc0000095
jmp 0x14001c2ec
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r10d, 0xc0000095
test esi, esi
js 0x14001e075
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0x138], eax
lea rax, [rbp + 0x138]
test rax, rax
je 0x14001c446
cmp qword [rbp - 0x58], rbx
jne 0x14001c3d7
mov dword [rbp + 0x1ec], 8
mov eax, dword [rbp - 0x5c]
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x14001c3ca
add dword [rbp - 0x60], r12d
mov dword [rbp - 0x5c], ecx
jmp 0x14001c457
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001e075
mov ecx, ebx
mov rdx, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001c405
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001c43c
mov dword [rbp + 0x1ec], eax
add rax, rdx
cmp rax, rdx
jb 0x14001c3ca
add ecx, r12d
mov rdx, rax
cmp ecx, dword [rbp - 0x60]
jb 0x14001c3e2
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001c3ca
mov ecx, dword [rbp - 0x5c]
lea rax, [rdx + 8]
add rcx, qword [rbp - 0x58]
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp rax, rcx
ja 0x14001c14d
mov dword [rdx], 4
mov eax, dword [rbp + 0x138]
mov dword [rdi], eax
add dword [rbp - 0x60], r12d
jmp 0x14001c44f
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001c44f
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001e075
lea rax, [rbp + 0x148]
mov dword [rbp + 0x148], 4
test rax, rax
je 0x14001c512
cmp qword [rbp - 0x58], rbx
jne 0x14001c49b
mov dword [rbp + 0x230], 8
mov eax, dword [rbp - 0x5c]
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x14001c3ca
add dword [rbp - 0x60], r12d
mov dword [rbp - 0x5c], ecx
jmp 0x14001c523
mov ecx, ebx
mov rdx, qword [rbp - 0x58]
cmp dword [rbp - 0x60], ebx
jbe 0x14001c4cd
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001c508
mov dword [rbp + 0x230], eax
add rax, rdx
cmp rax, rdx
jb 0x14001c3ca
add ecx, r12d
mov rdx, rax
cmp ecx, dword [rbp - 0x60]
jb 0x14001c4a6
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001c3ca
mov ecx, dword [rbp - 0x5c]
lea rax, [rdx + 8]
add rcx, qword [rbp - 0x58]
mov esi, ebx
mov dword [rsp + 0x60], ebx
cmp rax, rcx
ja 0x14001c14d
mov dword [rdx], 4
mov eax, dword [rbp + 0x148]
mov dword [rdi], eax
add dword [rbp - 0x60], r12d
jmp 0x14001c51b
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x14001c51b
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001e075
mov dword [rbp + 0x43c], 8
mov r13, rbx
mov qword [rbp + 0x80], rbx
mov r15d, ebx
mov qword [rbp + 0x188], rbx
mov qword [rbp - 0x68], rbx
mov r12d, ebx
mov dword [rsp + 0x68], ebx
mov qword [rbp + 0x48], rbx
mov dword [rbp + 0x38], ebx
mov qword [rbp + 0x40], rbx
mov qword [rbp - 0x78], rbx
mov dword [rbp + 0x90], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x290], rax
mov ecx, dword [rbp - 0x5c]
add ecx, 8
cmp ecx, 8
jb 0x14001c638
mov eax, ecx
add rax, 7
mov dword [rbp + 0xb8], ecx
and eax, 0xfffffff8
cmp eax, ecx
jb 0x14001c63f
mov dword [rbp + 0xb8], 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 0x14001c5c5
mov esi, 0xc0000017
jmp 0x14001c642
mov eax, dword [rbp - 0x60]
lea rdx, [rdi + 4]
mov dword [rdi], eax
cmp rdx, rdi
jb 0x14001c618
mov eax, dword [rbp - 0x5c]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x14001c618
mov edx, dword [rbp + 0xb8]
mov esi, ebx
mov rax, qword [rbp + 0x290]
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 + 0xb8]
mov r13, rdi
mov qword [rbp + 0x80], rdi
mov rdi, rbx
jmp 0x14001c61d
mov esi, 0xc0000095
test rdi, rdi
je 0x14001c642
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14001c642
or dword [rbp + 0xb8], 0xffffffff
mov esi, r10d
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001dbaa
mov qword [rbp + 0x350], rbx
mov r14, rbx
mov qword [rbp + 0x358], rbx
mov qword [rbp + 0x360], rbx
mov qword [rbp + 0x368], rbx
mov qword [rbp + 0x1d8], rbx
mov qword [rbp + 0x348], rbx
test r13, r13
jne 0x14001c68e
mov esi, 0xc000000d
jmp 0x14001cdc4
mov esi, r15d
mov qword [rbp + 0x50], rsi
test r15d, r15d
je 0x14001cd17
lea rdi, [rsi + 8]
mov qword [rbp + 0x30], 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 - 0x38], rax
mov r12, rax
test rax, rax
je 0x14001cd17
mov dl, bl
mov rcx, rbx
test r15d, r15d
je 0x14001c6e5
mov eax, 1
xor dl, byte [rcx + r13]
add rcx, rax
cmp rcx, rsi
jb 0x14001c6d9
or r11d, 0xffffffff
mov dword [rbp - 0x24], ebx
mov r8, rsi
mov dword [rbp - 0x40], r11d
mov dword [rbp - 0x80], ebx
mov r9, r13
mov r10, r12
mov edi, ebx
mov r13d, ebx
and r8d, 7
je 0x14001c7d3
mov dword [rbp - 0x80], ebx
mov r15d, ebx
mov r11d, ebx
test r8d, r8d
jle 0x14001c752
mov edi, 0x38
movzx eax, byte [r9]
cmp r11d, 4
jge 0x14001c732
lea ecx, [rdi - 0x20]
shl eax, cl
or r15d, eax
jmp 0x14001c739
mov ecx, edi
shl eax, cl
or r13d, eax
mov ecx, 1
sub edi, 8
add r9, rcx
add r11d, ecx
cmp r11d, r8d
jl 0x14001c71e
mov dword [rbp - 0x80], r15d
jmp 0x14001c757
mov ecx, 1
mov edi, r15d
mov r11d, r13d
xor edi, 0xb17a307a
xor r11d, 0x42f6b18d
mov dword [rbp - 0x24], edi
mov eax, ebx
mov dword [rbp - 0x40], r11d
test r8d, r8d
jle 0x14001c79d
cmp eax, 4
jge 0x14001c785
rol edi, 8
mov byte [r10], dil
jmp 0x14001c78c
rol r11d, 8
mov byte [r10], r11b
add r10, rcx
add eax, ecx
cmp eax, r8d
jl 0x14001c778
mov edi, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x40]
lea eax, [r8 - 4]
test eax, eax
jle 0x14001c7bb
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x40], r11d
jmp 0x14001c7d3
mov dword [rbp - 0x40], ebx
mov r11d, ebx
test eax, eax
jns 0x14001c7d3
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x24], edi
mov r15, rsi
shr r15, 3
test r15, r15
je 0x14001cb1e
mov r14d, dword [rbp - 0x80]
lea r12, [r10 + 7]
lea rsi, [r9 + 2]
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
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, 0xc81ecb17
rol eax, 8
imul ecx, eax, 0x4a58
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, 0xc81ecb17
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, r14d
mov dword [rbp - 0x24], r8d
xor r11d, 0x79ab814f
xor r11d, r13d
mov r14d, r10d
mov dword [rbp - 0x40], r11d
mov r13d, r9d
mov byte [r12 - 4], r8b
mov al, byte [rbp - 0x40]
ror dword [rbp - 0x24], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x24]
mov byte [r12 - 0xd], al
mov al, byte [rbp - 0x40]
ror dword [rbp - 0x24], 8
mov byte [r12 - 9], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x24]
mov byte [r12 - 0xe], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x40]
mov byte [r12 - 0xa], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x24]
mov byte [r12 - 0xf], al
mov al, byte [rbp - 0x40]
mov byte [r12 - 0xb], al
mov edi, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x40]
ror edi, 8
ror r11d, 8
mov dword [rbp - 0x24], edi
mov dword [rbp - 0x40], r11d
sub r15, rbx
jne 0x14001c7f4
mov rsi, qword [rbp + 0x50]
xor ebx, ebx
mov r12, qword [rbp - 0x38]
mov r14d, ebx
movzx eax, dl
mov qword [r12 + rsi], rax
mov rsi, qword [rbp + 0x30]
mov qword [rbp + 0x348], rsi
mov qword [rbp + 0x1d8], r12
lea rax, [0x1400bc280]
mov r13d, 8
mov qword [rbp + 0x350], rax
mov qword [rbp + 0x358], r13
lea r15, [0x1400bc1e0]
mov qword [rbp + 0x368], LoadRegTypeLib
mov qword [rbp + 0x360], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [r13 + 0x28]
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14001cb93
mov esi, 0xc0000017
jmp 0x14001cd07
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14001cbbb
mov esi, 0xc0000017
jmp 0x14001cc8b
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, r12
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, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001cbb1
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], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001cbb1
mov qword [rdi + 0x28], rax
movsd xmm0, qword [0x1400bc280]
mov r14, rdi
movsd qword [rax], xmm0
mov esi, ebx
mov rdi, rbx
test rdi, rdi
je 0x14001cd07
mov r15, qword [rdi + 8]
test r15, r15
je 0x14001ccb1
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 0x14001ccd2
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 0x14001ccf3
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 0x14001cd1c
mov qword [rbp + 0x188], r14
mov r14, rbx
jmp 0x14001cd1c
mov esi, 0xc0000001
mov rdi, qword [rbp + 0x1d8]
test rdi, rdi
je 0x14001cd43
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 + 0x1d8], rbx
test r14, r14
je 0x14001cdbf
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001cd69
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 0x14001cd8a
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 0x14001cdab
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 r12d, dword [rsp + 0x68]
mov r13d, 0x10000000
or esi, r13d
mov dword [rsp + 0x60], esi
jl 0x14001dbaa
mov r14, qword [rbp + 0x188]
mov ecx, dword [r14]
mov edi, dword [r14 + 0x20]
add ecx, 4
mov edx, dword [r14 + 0x10]
cmp ecx, 4
jb 0x14001cf13
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14001cf13
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x14001cf13
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14001cf13
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x14001cf13
mov dword [rbp + 0x200], 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 rdi, rax
test rax, rax
jne 0x14001ce58
mov esi, 0xc0000017
mov r15d, 0xc0000095
jmp 0x14001cf1c
mov eax, dword [r14]
lea rsi, [rdi + 4]
mov dword [rdi], eax
cmp rsi, rdi
jb 0x14001ceec
mov r8d, dword [r14]
mov rcx, rsi
mov rdx, qword [r14 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r14]
add rcx, rsi
cmp rcx, rsi
jb 0x14001ceec
mov eax, dword [r14 + 0x10]
lea rsi, [rcx + 4]
mov dword [rcx], eax
cmp rsi, rcx
jb 0x14001ceec
mov r8d, dword [r14 + 0x10]
mov rcx, rsi
mov rdx, qword [r14 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r14 + 0x10]
add rcx, rsi
cmp rcx, rsi
jb 0x14001ceec
mov eax, dword [r14 + 0x20]
lea rsi, [rcx + 4]
mov dword [rcx], eax
cmp rsi, rcx
jb 0x14001ceec
mov r8d, dword [r14 + 0x20]
mov rcx, rsi
mov rdx, qword [r14 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r14 + 0x20]
add rax, rsi
cmp rax, rsi
jb 0x14001ceec
mov r12d, dword [rbp + 0x200]
mov esi, ebx
mov qword [rbp - 0x68], rdi
mov rdi, rbx
jmp 0x14001cef1
mov esi, 0xc0000095
test rdi, rdi
je 0x14001ce4d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14001ce4d
mov r15d, 0xc0000095
mov esi, r15d
or esi, r13d
mov dword [rsp + 0x60], esi
jl 0x14001dbaa
mov qword [rbp + 0x370], rbx
mov dword [rbp + 0x208], ebx
mov qword [rbp + 0x378], rbx
mov dword [rbp + 0x218], ebx
mov dword [rbp + 0x308], 0x3c
mov eax, 0x48
mov dword [rbp + 0x30c], eax
mov dword [rbp + 0x438], eax
lea r14d, [rax - 0x47]
cmp qword [rbp - 0x58], rbx
jne 0x14001cf76
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001d04c
cmp dword [rbp - 0x60], r14d
jbe 0x14001cf68
mov rax, qword [rbp - 0x58]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001d044
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001d044
add edx, r14d
cmp edx, r14d
jb 0x14001cf82
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001d044
test edi, edi
mov dword [rbp + 0x208], edi
cmove rcx, rbx
mov qword [rbp + 0x370], rcx
cmp dword [rbp - 0x60], 2
jbe 0x14001cf68
mov rax, qword [rbp - 0x58]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001d044
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001d044
add edx, r14d
cmp edx, 2
jb 0x14001cfd3
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001d044
test edx, edx
mov dword [rbp + 0x218], edx
cmove rcx, rbx
mov qword [rbp + 0x378], rcx
lea eax, [rdi + 0x50]
cmp eax, 0x50
jb 0x14001d044
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x14001d044
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x14001d044
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov dword [rbp + 0x434], eax
cmp eax, 0x400000
jbe 0x14001d03f
mov esi, 0x8000ffff
jmp 0x14001dba6
mov dword [rbp + 0x38], eax
jmp 0x14001d04c
mov esi, r15d
mov dword [rsp + 0x60], r15d
test esi, esi
js 0x14001dbaa
mov edi, dword [rbp + 0x38]
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 0x14001d07f
mov esi, 0xc0000017
mov rdi, rbx
jmp 0x14001d086
mov rdi, rax
mov qword [rbp + 0x48], rax
or esi, r13d
mov dword [rsp + 0x60], esi
jl 0x14001dbaa
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x14001d0a6
mov esi, 0x80070057
jmp 0x14001dba6
test rdi, rdi
je 0x14001d09c
mov qword [rbp + 0x448], rax
lea r8, [rbp + 0x380]
mov eax, dword [rbp + 0x38]
lea rdx, [0x140088238]
mov ecx, r14d
mov dword [rbp + 0x45c], eax
mov dword [rbp + 0x458], r12d
mov qword [rbp + 0x450], rdi
mov dword [rbp + 0x460], ebx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14001d110
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [rbp + 0x38]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001d157
mov esi, 0x80004005
jmp 0x14001d153
mov rcx, qword [rbp + 0x380]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001d0ea
xor r9d, r9d
lea rdx, [rbp + 0x448]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x140073008]
mov edx, dword [rbp + 0x38]
mov esi, eax
or esi, r13d
cmovge edx, dword [rbp + 0x45c]
mov dword [rbp + 0x38], edx
mov dword [rsp + 0x60], esi
cmp esi, 0xd0000023
jne 0x14001d172
mov r13d, 0x8007007a
mov esi, r13d
mov dword [rsp + 0x60], r13d
jmp 0x14001dbb0
test esi, esi
js 0x14001dbaa
mov r14, rbx
cmp edx, 4
jae 0x14001d18c
mov esi, 0xc000003e
jmp 0x14001d496
mov r13d, dword [rdi]
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x14001d493
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x14001d182
lea rdi, [rcx + r13]
cmp rdi, rcx
jb 0x14001d493
lea ecx, [r13 + 4]
cmp ecx, 4
jb 0x14001d493
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14001d182
mov r12d, dword [rdi]
lea r8, [rdi + 4]
mov qword [rbp - 0x38], r8
cmp r8, rdi
jb 0x14001d493
lea edi, [rcx + 4]
cmp edi, ecx
jb 0x14001d493
mov eax, edx
sub eax, edi
cmp eax, r12d
jb 0x14001d182
lea rcx, [r12 + r8]
cmp rcx, r8
jb 0x14001d493
lea r8d, [r12 + rdi]
cmp r8d, edi
jb 0x14001d493
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14001d182
mov r15d, dword [rcx]
lea rax, [rcx + 4]
mov qword [rbp - 0x70], rax
cmp rax, rcx
jb 0x14001d48c
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x14001d48c
mov eax, edx
sub eax, ecx
cmp eax, r15d
jb 0x14001d182
lea edi, [r15 + rcx]
cmp edi, ecx
jb 0x14001d48c
cmp edx, edi
jne 0x14001d182
lea ecx, [r15 + r12]
mov eax, edx
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x14001d182
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 0x14001d299
mov esi, 0xc0000017
jmp 0x14001d3ff
mov rax, qword [rbp + 0x48]
mov esi, ebx
add rax, 4
je 0x14001d2e7
mov dword [rdi], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, rax
test rax, rax
jne 0x14001d2d1
mov esi, 0xc0000017
jmp 0x14001d383
mov qword [rdi + 8], rax
mov rdx, qword [rbp + 0x48]
mov r8, r13
add rdx, 4
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001d2ed
mov dword [rdi], ebx
mov qword [rdi + 8], rbx
mov r13, qword [rbp - 0x38]
test r13, r13
je 0x14001d32c
mov dword [rdi + 0x10], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001d2c7
mov qword [rdi + 0x18], rax
mov r8, r12
mov rdx, r13
mov rcx, rax
mov esi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001d333
mov dword [rdi + 0x10], ebx
mov qword [rdi + 0x18], rbx
mov r12, qword [rbp - 0x70]
test r12, r12
je 0x14001d376
mov dword [rdi + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14001d2c7
mov qword [rdi + 0x28], 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 0x14001d37d
mov dword [rdi + 0x20], ebx
mov qword [rdi + 0x28], rbx
mov r14, rdi
mov rdi, rbx
test rdi, rdi
je 0x14001d3ff
mov r15, qword [rdi + 8]
test r15, r15
je 0x14001d3a9
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 0x14001d3ca
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 0x14001d3eb
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 0x14001d40a
mov qword [rbp + 0x40], r14
mov r14, rbx
test r14, r14
je 0x14001d496
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001d434
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 0x14001d455
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 0x14001d476
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]
jmp 0x14001d496
mov esi, 0xc0000095
jmp 0x14001d496
mov esi, r15d
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001dbaa
mov rax, qword [rbp + 0x40]
mov rdi, rbx
mov qword [rbp + 0x110], rbx
mov esi, ebx
mov qword [rbp + 0x298], rbx
mov dword [rsp + 0x60], ebx
test rax, rax
jne 0x14001d4d0
mov esi, 0xc000000d
jmp 0x14001da21
mov r14, qword [rax + 8]
mov qword [rbp + 0x30], r14
test r14, r14
je 0x14001d4c6
cmp dword [rax], ebx
je 0x14001d4c6
mov r15d, dword [rax]
mov dword [rbp - 0x70], ebx
test r15, r15
je 0x14001d9fc
add r15, 0xfffffffffffffff8
mov qword [rbp + 0x50], 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 0x14001d9f5
mov rdi, r15
mov byte [rsp + 0x64], bl
mov dword [rbp - 0x30], ebx
mov r8, r14
mov dl, bl
mov r9, rax
mov r14d, ebx
mov r11d, ebx
and edi, 7
je 0x14001d613
or dword [rbp - 0x48], 0xffffffff
mov r13d, ebx
mov dword [rbp - 0x80], ebx
mov dword [rbp - 8], ebx
test edi, edi
jle 0x14001d58f
mov r10d, 0x38
movzx eax, byte [r8]
cmp r11d, 4
jge 0x14001d569
lea ecx, [r10 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x14001d571
mov ecx, r10d
shl eax, cl
or r14d, eax
mov ecx, 1
sub r10d, 8
add r8, rcx
add r11d, ecx
cmp r11d, edi
jl 0x14001d554
mov dword [rbp - 8], r13d
mov dword [rbp - 0x80], r14d
jmp 0x14001d594
mov ecx, 1
xor r14d, 0x699a899c
mov r11d, r13d
xor r11d, 0x92f65a5
mov dword [rbp - 0x48], r14d
mov dword [rbp - 0x30], r11d
mov eax, ebx
test edi, edi
jle 0x14001d5d9
cmp eax, 4
jge 0x14001d5c1
rol r11d, 8
mov byte [r9], r11b
jmp 0x14001d5c8
rol r14d, 8
mov byte [r9], r14b
add r9, rcx
add eax, ecx
cmp eax, edi
jl 0x14001d5b3
mov r11d, dword [rbp - 0x30]
mov r14d, dword [rbp - 0x48]
lea eax, [rdi - 4]
test eax, eax
jle 0x14001d5f6
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r14d, cl
shl r14d, cl
mov dword [rbp - 0x48], r14d
jmp 0x14001d61d
mov dword [rbp - 0x48], ebx
mov r14d, ebx
test eax, eax
jns 0x14001d61d
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x30], r11d
jmp 0x14001d61d
or dword [rbp - 0x80], 0xffffffff
mov dword [rbp - 8], ebx
mov dword [rbp - 0x48], ebx
mov r13, r15
shr r13, 3
test r13, r13
je 0x14001d967
mov edx, dword [rbp - 0x80]
lea r15, [r9 + 7]
mov r12d, dword [rbp - 8]
lea rbx, [r8 + 2]
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 0x14001d641
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov esi, dword [rsp + 0x60]
mov r15, qword [rbp + 0x50]
mov r12, qword [rbp - 0x38]
mov rax, rbx
test r15, r15
je 0x14001d980
mov ecx, 1
xor dl, byte [rax + r12]
add rax, rcx
cmp rax, r15
jb 0x14001d974
mov rcx, qword [rbp + 0x30]
movzx eax, dl
cmp rax, qword [r15 + rcx]
je 0x14001d99c
mov rdi, qword [rbp + 0x110]
mov r14d, 0xc004d501
jmp 0x14001d9b4
mov r14d, dword [rbp - 0x70]
mov rdi, r12
mov qword [rbp + 0x110], r12
mov r12, rbx
mov qword [rbp + 0x298], r15
test r12, r12
je 0x14001d9d4
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 + 0x110]
test r14d, r14d
js 0x14001d9fc
mov eax, dword [rbp + 0x298]
mov qword [rbp - 0x78], rdi
mov rdi, rbx
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x110], rbx
jmp 0x14001da01
mov rdi, qword [rbp + 0x110]
mov esi, 0xc0000001
test rdi, rdi
je 0x14001da21
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 + 0x110], rbx
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x14001dbaa
cmp dword [rbp + 0x90], 4
jae 0x14001da44
mov esi, 0xc000003e
jmp 0x14001dba2
mov r9, qword [rbp - 0x78]
mov r8d, dword [r9]
lea rcx, [r9 + 4]
mov dword [rbp - 0x70], r8d
cmp rcx, r9
jb 0x14001db9d
mov eax, dword [rbp + 0x90]
add eax, 0xfffffffc
cmp eax, 4
jb 0x14001da3a
mov r15d, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x14001db9d
mov eax, dword [rbp + 0x90]
add eax, 0xfffffff8
cmp eax, r15d
jb 0x14001da3a
lea eax, [r15 + 8]
cmp eax, 8
jb 0x14001db9d
mov edx, dword [rbp + 0x90]
lea rcx, [rdi + r15]
lea rax, [r9 + rdx]
cmp rax, rcx
jb 0x14001da3a
mov rax, r9
sub rax, rdi
sub rax, r15
add rax, rdx
cmp rax, 8
jae 0x14001da3a
mov r12, rbx
mov esi, ebx
mov r13d, ebx
test rdi, rdi
je 0x14001db34
lea rdx, [r15 + rdi]
mov rcx, rdi
cmp rdx, rdi
jb 0x14001db9d
cmp rdi, rdx
jae 0x14001db2f
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x14001db9d
cmp rax, rdx
ja 0x14001db21
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x14001db28
mov dword [rbp + 0x430], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x14001db9d
mov rcx, r8
mov esi, ebx
cmp r8, rdx
ja 0x14001db21
inc r13d
cmp rcx, rdx
jae 0x14001db32
jmp 0x14001dadc
mov esi, 0xc000000d
jmp 0x14001dba2
mov esi, 0xc0000095
jmp 0x14001db89
cmp rcx, rdx
jne 0x14001db21
test r15d, r15d
je 0x14001db61
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x14001db5f
mov esi, 0xc0000017
jmp 0x14001db89
mov esi, ebx
test rdi, rdi
je 0x14001db74
mov r8, r15
mov rdx, rdi
mov rcx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 0xb0], r12
mov dword [rbp + 0xac], r15d
mov dword [rbp + 0xa8], r13d
test esi, esi
js 0x14001dba2
mov eax, dword [rbp - 0x70]
cmp eax, dword [rbp + 0xa8]
je 0x14001dba2
jmp 0x14001da3a
mov esi, 0xc0000095
bts esi, 0x1c
mov dword [rsp + 0x60], esi
mov r13d, 0x8007007a
mov rdi, qword [rbp + 0x80]
test rdi, rdi
je 0x14001dbd0
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 + 0x188]
test r14, r14
je 0x14001dc5a
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001dbfd
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 0x14001dc1e
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 0x14001dc3f
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 + 0x188], rbx
mov rdi, qword [rbp - 0x68]
test rdi, rdi
je 0x14001dc77
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 + 0x48]
test rdi, rdi
je 0x14001dc94
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 + 0x40]
test r14, r14
je 0x14001dd14
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x14001dcbe
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 0x14001dcdf
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 0x14001dd00
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 0x14001dd31
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 0x14001e075
mov r9d, 1
cmp dword [rbp + 0xa8], r9d
jae 0x14001dd52
mov esi, 0xc004d501
jmp 0x14001c0e9
cmp qword [rbp + 0xb0], rbx
jne 0x14001dd68
mov esi, 0xc000000d
mov r10d, 0xc0000095
jmp 0x14001ddbd
cmp dword [rbp + 0xa8], ebx
jbe 0x14001dd5b
mov rdi, qword [rbp + 0xb0]
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
jb 0x14001ddb4
test ecx, ecx
mov dword [rsp + 0x60], ebx
mov esi, ebx
mov dword [rbp + 0x31c], ecx
cmove rax, rbx
mov qword [rbp + 0x498], rax
cmp ecx, 4
jne 0x14001c14d
mov eax, dword [rax]
mov r10d, 0xc0000095
mov dword [rbp + 0x94], eax
jmp 0x14001ddc1
mov r10d, 0xc0000095
mov esi, r10d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x14001e075
mov esi, dword [rbp + 0x94]
cmp esi, 0xd0000023
cmove esi, r13d
mov dword [rsp + 0x60], esi
mov dword [rbp + 0x94], esi
cmp esi, r13d
je 0x14001ddf0
test esi, esi
js 0x14001e075
cmp dword [rbp + 0xa8], 6
jne 0x14001dd48
cmp qword [rbp + 0xb0], rbx
jne 0x14001de11
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001de76
mov rax, qword [rbp + 0xb0]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001de6e
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001de6e
add edx, r9d
cmp edx, r9d
jb 0x14001de1a
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001de6e
test edx, edx
mov dword [rsp + 0x60], ebx
mov esi, ebx
mov dword [rbp + 0x3b8], edx
cmove rcx, rbx
mov qword [rbp + 0x4a0], rcx
cmp edx, 8
jne 0x14001c14d
mov rax, qword [rcx]
mov qword [rbp + 0x388], rax
jmp 0x14001de76
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x14001e075
cmp qword [rbp + 0xb0], rbx
jne 0x14001de92
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x14001def5
mov rax, qword [rbp + 0xb0]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001deed
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001deed
add edx, r9d
cmp edx, 2
jb 0x14001de9b
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001deed
test edx, edx
mov dword [rsp + 0x60], ebx
mov esi, ebx
mov dword [rbp + 0x3b4], edx
cmove rcx, rbx
mov qword [rbp + 0x4a8], rcx
cmp edx, 4
jne 0x14001c14d
mov eax, dword [rcx]
mov dword [rbp + 0x20c], eax
jmp 0x14001def5
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x14001e075
cmp qword [rbp + 0xb0], rbx
jne 0x14001df10
mov esi, 0xc000000d
jmp 0x14001c0e9
mov rax, qword [rbp + 0xb0]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001c3ca
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001c3ca
add edx, r9d
cmp edx, 3
jb 0x14001df19
mov r8d, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14001c3ca
test r8d, r8d
mov dword [rbp + 0x3b0], r8d
cmove rdx, rbx
mov qword [rbp + 0x4b0], rdx
mov rax, qword [rbp + 0xb0]
mov edi, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001dfbc
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001dfbc
add edi, r9d
cmp edi, 4
jb 0x14001df6a
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001dfbc
test edi, edi
mov dword [rsp + 0x60], ebx
mov esi, ebx
mov dword [rbp + 0x318], edi
cmove rcx, rbx
mov qword [rbp + 0x4b8], rcx
cmp edi, 4
jne 0x14001c14d
mov eax, dword [rcx]
mov dword [rbp + 0x210], eax
jmp 0x14001dfc4
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x14001e075
mov rax, qword [rbp + 0xb0]
mov edi, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001e027
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001e027
add edi, r9d
cmp edi, 5
jb 0x14001dfd5
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001e027
test edi, edi
mov dword [rsp + 0x60], ebx
mov esi, ebx
mov dword [rbp + 0xc0], edi
cmove rcx, rbx
mov qword [rbp + 0x4c0], rcx
cmp edi, 4
jne 0x14001c14d
mov eax, dword [rcx]
mov dword [rbp + 0x160], eax
jmp 0x14001e02f
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x14001e075
mov rax, qword [rbp + 0x388]
cmp qword [rbp + 0x2a0], rax
jne 0x14001dd48
mov eax, dword [rbp + 0x160]
mov ecx, dword [rbp + 0x210]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x20c]
mov dword [rbp + 0x150], eax
mov dword [rbp + 0xd0], ecx
cmp ecx, 4
jbe 0x14001e084
mov esi, r13d
mov dword [rsp + 0x60], r13d
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
jmp 0x14001beb5
cmp r8d, 4
ja 0x14001e06d
mov rcx, qword [rbp + 0x78]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
cmp dword [rbp + 0x94], ebx
cmovne esi, dword [rbp + 0x94]
jmp 0x14001c0e9
or qword [rbp + 0x190], 0xffffffffffffffff
jmp 0x14001c0e4
mov esi, r10d
mov dword [rsp + 0x60], r10d
mov r14, r12
jmp 0x14001e07a
mov r15, qword [rsp + 0x70]
mov r14, r12
jmp 0x14001beb5
mov rax, qword [0x1400b6128]
call qword [0x140073008]
mov edi, dword [0x1400bd120]
lea rcx, [rbp + 0x4d0]
xor edx, edx
mov qword [0x1400bd110], rax
mov dword [rsp + 0x68], edi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r13d, 1
mov qword [rbp + 0x40], rbx
xorps xmm0, xmm0
mov dword [rbp + 0x140], r13d
xor edx, edx
mov qword [rbp + 0x50], rbx
lea rcx, [rbp + 0xa48]
lea r8d, [r13 + 0x2b]
movdqu xmmword [rbp + 0x930], xmm0
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov qword [rbp + 0x80], rbx
xor eax, eax
lock cmpxchg dword [0x1400bd3e8], r13d
jne 0x14001e135
mov eax, dword [0x1400bd3e4]
test eax, eax
jne 0x14001e73d
mov dword [rbp - 0x80], ebx
mov dword [rbp + 0x78], ebx
mov dword [rbp - 8], ebx
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x2a8], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14001e6bb
or dword [rbp - 0x78], 0xffffffff
lea rdi, [rax + 7]
mov ecx, 0x67
mov byte [rsp + 0x64], bl
mov r12d, ebx
mov dword [rbp + 4], ebx
mov r13d, ebx
mov dword [rbp + 0x18], ebx
mov r14d, ebx
lea r15, [0x14008dc42]
mov ebx, dword [rbp - 0x78]
lea esi, [rcx - 0x66]
movzx eax, byte [r15 - 1]
movzx r11d, byte [r15 - 2]
movzx r10d, byte [r15 + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 5]
or r10d, eax
xor r13d, r11d
movzx eax, byte [r15 - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 3]
shl r10d, 8
or r10d, eax
xor r12d, r10d
xor r12d, r13d
xor r12d, 0xac987321
lea eax, [r12 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r12d
rol eax, 0xa
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 2
sub edx, eax
xor r12d, edx
lea eax, [r12 - 0x137f]
imul edx, eax, 0x605e
mov eax, r12d
shr eax, 0xd
sub edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r12d, edx
mov edx, r12d
xor edx, 0xab69605e
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r12d, r8d
mov r8d, 0xab69605e
lea eax, [r12 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r12d
rol eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 8
sub edx, eax
xor r12d, edx
mov eax, r12d
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r12d
ror eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea r9d, [r13 - 0x7f1]
xor r9d, r12d
mov r12d, 0xab69
xor r9d, r8d
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 7
add edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, r9d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r13d, r8d
mov eax, r13d
xor eax, r12d
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 7
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r13d
xor r8d, 0xac987321
mov eax, r8d
ror eax, 3
sub eax, r12d
imul eax, eax, 0x137f
xor r9d, eax
lea eax, [r9 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r9d
ror eax, 6
sub edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r8d
rol eax, 0xe
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xe
sub edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
xor r9d, ebx
mov dword [rbp + 4], r9d
mov ebx, r10d
xor edx, eax
xor edx, r14d
mov r14d, r11d
xor r8d, edx
mov dword [rbp + 0x18], r8d
mov byte [rdi - 4], r8b
mov al, byte [rbp + 4]
ror dword [rbp + 0x18], 8
mov byte [rdi], al
lea rdi, [rdi + 8]
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x18]
mov byte [rdi - 0xd], al
mov al, byte [rbp + 4]
ror dword [rbp + 0x18], 8
mov byte [rdi - 9], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x18]
mov byte [rdi - 0xe], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 4]
mov byte [rdi - 0xa], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x18]
mov byte [rdi - 0xf], al
mov al, byte [rbp + 4]
mov byte [rdi - 0xb], al
mov r13d, dword [rbp + 0x18]
mov r12d, dword [rbp + 4]
ror r13d, 8
ror r12d, 8
mov dword [rbp + 0x18], r13d
mov dword [rbp + 4], r12d
sub rcx, rsi
jne 0x14001e1b8
mov cl, byte [rsp + 0x64]
xor ebx, ebx
mov edi, dword [rsp + 0x68]
mov eax, ebx
mov esi, dword [rsp + 0x60]
mov edx, 0x338
mov r15d, dword [rbp + 0x78]
mov r14, qword [rbp - 0x38]
lea r13d, [rbx + 1]
xor cl, byte [rax + r14]
add rax, r13
cmp rax, rdx
jb 0x14001e4ff
movzx eax, cl
cmp rax, qword [0x14008df78]
je 0x14001e51f
mov r12d, 0xc004d501
jmp 0x14001e533
mov qword [rbp + 0x198], r14
mov r12d, r15d
mov r14, rbx
mov qword [rbp + 0x2a8], rdx
test r14, r14
je 0x14001e54c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x14001e6bb
mov rax, qword [rbp + 0x2a8]
lea r12, [0x1400bd130]
mov r14, qword [rbp + 0x198]
xor edx, edx
mov rcx, r12
lea r8d, [rdx + 0x60]
mov byte [rax + r14 - 1], bl
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
jmp 0x14001e6a8
mov rdx, r14
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], bx
jne 0x14001e589
lea r14, [r14 + rax*2]
mov eax, dword [rbp - 8]
lea rcx, [rax + rax*2]
lea r12, [r12 + rcx*8]
xor ecx, ecx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14001e6bb
mov rax, qword [r12]
mov ecx, 0x5a4d
mov r15d, ebx
cmp word [rax], cx
je 0x14001e5ce
mov r15d, 0xc000007b
jmp 0x14001e61e
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001e5c6
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14001e5c6
cmp dword [rcx], 0x4550
jne 0x14001e5c6
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001e60a
mov r15d, 0xc000000d
jmp 0x14001e61e
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [r14 + 2]
mov r13d, ebx
add r14, 6
mov dword [rbp - 0x70], eax
test eax, eax
je 0x14001e697
mov qword [rbp + 0x2b0], rbx
mov rcx, r14
or rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], bl
jne 0x14001e63e
inc r14
add r14, rax
test r15d, r15d
js 0x14001e681
lea r9, [rbp + 0x2b0]
mov r8, r12
xor edx, edx
call fcn.140042dbc
mov r15d, eax
test eax, eax
js 0x14001e6b3
mov eax, dword [rbp - 0x80]
lea r8, [0x1400b6090]
mov rcx, qword [rbp + 0x2b0]
mov qword [r8 + rax*8], rcx
jmp 0x14001e684
mov eax, dword [rbp - 0x80]
mov ecx, 1
add eax, ecx
add r13d, ecx
mov dword [rbp - 0x80], eax
cmp r13d, dword [rbp - 0x70]
jb 0x14001e630
mov r13d, 1
lea r12, [0x1400bd130]
add dword [rbp - 8], r13d
cmp byte [r14], bl
jne 0x14001e582
jmp 0x14001e6c1
mov r13d, 1
jmp 0x14001e6c1
mov r15d, 0xc000007a
cmp qword [rbp + 0x198], rbx
je 0x14001e6e2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x198]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x14001e737
lea r12, [0x1400bd130]
mov r15d, 4
mov r14, r12
cmp qword [r14], rbx
je 0x14001e705
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add r14, 0x18
sub r15, r13
jne 0x14001e6f7
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400718c0]
lea rcx, [0x1400b6090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001e746
mov eax, dword [0x1400bd3e4]
add eax, r13d
mov dword [0x1400bd3e4], eax
mov eax, ebx
mov dword [rbp - 0x50], ebx
xchg dword [0x1400bd3e8], eax
xor ecx, ecx
mov dword [rbp - 0x1c], ebx
xor eax, eax
mov dword [rbp + 0xe32], ecx
xorps xmm0, xmm0
mov qword [rbp + 0x250], rax
mov qword [rbp + 0x258], rax
mov qword [rbp + 0x1c8], rbx
mov qword [rbp + 0x248], rbx
movdqu xmmword [rbp + 0x960], xmm0
xor eax, eax
lock cmpxchg dword [0x1400bd3e8], r13d
jne 0x14001e785
mov eax, dword [0x1400bd3e4]
test eax, eax
jne 0x14001ed8d
mov dword [rbp - 0x80], ebx
mov dword [rbp + 0x78], ebx
mov dword [rbp - 8], ebx
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x2b8], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14001ed0b
or dword [rbp - 0x78], 0xffffffff
lea rdi, [rax + 7]
mov ecx, 0x67
mov byte [rsp + 0x64], bl
mov r12d, ebx
mov dword [rbp + 8], ebx
mov r13d, ebx
mov dword [rbp + 0x28], ebx
mov r14d, ebx
lea r15, [0x14008dc42]
mov ebx, dword [rbp - 0x78]
lea esi, [rcx - 0x66]
movzx eax, byte [r15 - 1]
movzx r11d, byte [r15 - 2]
movzx r10d, byte [r15 + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 5]
or r10d, eax
xor r13d, r11d
movzx eax, byte [r15 - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 3]
shl r10d, 8
or r10d, eax
xor r12d, r10d
xor r12d, r13d
xor r12d, 0xac987321
lea eax, [r12 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r12d
rol eax, 0xa
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 2
sub edx, eax
xor r12d, edx
lea eax, [r12 - 0x137f]
imul edx, eax, 0x605e
mov eax, r12d
shr eax, 0xd
sub edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r12d, edx
mov edx, r12d
xor edx, 0xab69605e
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r12d, r8d
mov r8d, 0xab69605e
lea eax, [r12 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r12d
rol eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 8
sub edx, eax
xor r12d, edx
mov eax, r12d
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r12d
ror eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor r12d, edx
mov eax, r12d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r13d, eax
lea r9d, [r13 - 0x7f1]
xor r9d, r12d
mov r12d, 0xab69
xor r9d, r8d
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r13d
rol eax, 7
add edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, r9d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r13d, r8d
mov eax, r13d
xor eax, r12d
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r13d
rol eax, 7
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r13d
xor r8d, 0xac987321
mov eax, r8d
ror eax, 3
sub eax, r12d
imul eax, eax, 0x137f
xor r9d, eax
lea eax, [r9 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r9d
ror eax, 6
sub edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r8d
rol eax, 0xe
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xe
sub edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
xor r9d, ebx
mov dword [rbp + 8], r9d
mov ebx, r10d
xor edx, eax
xor edx, r14d
mov r14d, r11d
xor r8d, edx
mov dword [rbp + 0x28], r8d
mov byte [rdi - 4], r8b
mov al, byte [rbp + 8]
ror dword [rbp + 0x28], 8
mov byte [rdi], al
lea rdi, [rdi + 8]
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [rdi - 0xd], al
mov al, byte [rbp + 8]
ror dword [rbp + 0x28], 8
mov byte [rdi - 9], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [rdi - 0xe], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 8]
mov byte [rdi - 0xa], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [rdi - 0xf], al
mov al, byte [rbp + 8]
mov byte [rdi - 0xb], al
mov r13d, dword [rbp + 0x28]
mov r12d, dword [rbp + 8]
ror r13d, 8
ror r12d, 8
mov dword [rbp + 0x28], r13d
mov dword [rbp + 8], r12d
sub rcx, rsi
jne 0x14001e808
mov cl, byte [rsp + 0x64]
xor ebx, ebx
mov edi, dword [rsp + 0x68]
mov eax, ebx
mov esi, dword [rsp + 0x60]
mov edx, 0x338
mov r15d, dword [rbp + 0x78]
mov r14, qword [rbp - 0x38]
lea r13d, [rbx + 1]
xor cl, byte [rax + r14]
add rax, r13
cmp rax, rdx
jb 0x14001eb4f
movzx eax, cl
cmp rax, qword [0x14008df78]
je 0x14001eb6f
mov r12d, 0xc004d501
jmp 0x14001eb83
mov qword [rbp + 0x1a0], r14
mov r12d, r15d
mov r14, rbx
mov qword [rbp + 0x2b8], rdx
test r14, r14
je 0x14001eb9c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x14001ed0b
mov rax, qword [rbp + 0x2b8]
lea r12, [0x1400bd130]
mov r14, qword [rbp + 0x1a0]
xor edx, edx
mov rcx, r12
lea r8d, [rdx + 0x60]
mov byte [rax + r14 - 1], bl
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
jmp 0x14001ecf8
mov rdx, r14
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], bx
jne 0x14001ebd9
lea r14, [r14 + rax*2]
mov eax, dword [rbp - 8]
lea rcx, [rax + rax*2]
lea r12, [r12 + rcx*8]
xor ecx, ecx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14001ed0b
mov rax, qword [r12]
mov ecx, 0x5a4d
mov r15d, ebx
cmp word [rax], cx
je 0x14001ec1e
mov r15d, 0xc000007b
jmp 0x14001ec6e
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001ec16
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14001ec16
cmp dword [rcx], 0x4550
jne 0x14001ec16
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001ec5a
mov r15d, 0xc000000d
jmp 0x14001ec6e
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [r14 + 2]
mov r13d, ebx
add r14, 6
mov dword [rbp - 0x70], eax
test eax, eax
je 0x14001ece7
mov qword [rbp + 0x2c0], rbx
mov rcx, r14
or rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], bl
jne 0x14001ec8e
inc r14
add r14, rax
test r15d, r15d
js 0x14001ecd1
lea r9, [rbp + 0x2c0]
mov r8, r12
xor edx, edx
call fcn.140042dbc
mov r15d, eax
test eax, eax
js 0x14001ed03
mov eax, dword [rbp - 0x80]
lea r8, [0x1400b6090]
mov rcx, qword [rbp + 0x2c0]
mov qword [r8 + rax*8], rcx
jmp 0x14001ecd4
mov eax, dword [rbp - 0x80]
mov ecx, 1
add eax, ecx
add r13d, ecx
mov dword [rbp - 0x80], eax
cmp r13d, dword [rbp - 0x70]
jb 0x14001ec80
mov r13d, 1
lea r12, [0x1400bd130]
add dword [rbp - 8], r13d
cmp byte [r14], bl
jne 0x14001ebd2
jmp 0x14001ed11
mov r13d, 1
jmp 0x14001ed11
mov r15d, 0xc000007a
cmp qword [rbp + 0x1a0], rbx
je 0x14001ed32
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1a0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
jns 0x14001ed87
lea r12, [0x1400bd130]
mov r15d, 4
mov r14, r12
cmp qword [r14], rbx
je 0x14001ed55
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add r14, 0x18
sub r15, r13
jne 0x14001ed47
xor edx, edx
lea r8d, [r15 + 0x60]
mov rcx, r12
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400718c0]
lea rcx, [0x1400b6090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001ed96
mov eax, dword [0x1400bd3e4]
add eax, r13d
mov dword [0x1400bd3e4], eax
xor edx, edx
lea rcx, [rbp + 0x4d0]
mov eax, ebx
xchg dword [0x1400bd3e8], eax
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
mov r12d, edi
mov qword [rbp + 0x930], rax
xor edx, edx
mov r8d, 0x403
lea ecx, [rax + 0xf]
mov eax, edi
shr eax, 4
and r12d, ecx
and ax, cx
mov dword [rbp - 0x2c], r12d
mov word [rbp + 0xe30], ax
mov eax, edi
shr eax, 8
and ax, cx
shr edi, 0xc
and di, cx
mov word [rbp + 0xe32], ax
mov rax, qword [0x1400b6188]
xor ecx, ecx
mov word [rbp + 0xe34], di
call qword [0x140073008]
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x70], 0xffffff
test rax, rax
jne 0x14001ee43
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140020277
mov r14d, 0x80004005
jmp 0x140020277
mov rax, qword [0x1400b6130]
lea r9, [rbp + 0xc4]
xor r8d, r8d
mov qword [rbp + 0x1d0], rbx
lea rdx, [rbp + 0x98]
mov qword [rbp + 0x180], rbx
mov qword [rbp + 0x2c8], rbx
mov r14d, ebx
mov qword [rbp + 0x88], rbx
lea ecx, [r8 + 8]
mov qword [rbp + 0x108], rbx
mov qword [rbp + 0xe8], rbx
mov dword [rbp + 0xc4], ebx
call qword [0x140073008]
test eax, eax
jne 0x14001eec7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001f001
mov r14d, 0x80004005
jmp 0x14001f001
mov edi, dword [rbp + 0xc4]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0x108]
mov rdi, rax
call fcn.140042ff8
test rdi, rdi
jne 0x14001ef0a
mov qword [rbp + 0x108], rbx
mov r14d, 0x8007000e
jmp 0x14001f001
mov qword [rbp + 0x108], rdi
mov edi, dword [rbp + 0x98]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xe8]
mov rdi, rax
call fcn.140042ff8
test rdi, rdi
jne 0x14001ef50
mov r14d, 0x8007000e
jmp 0x14001effa
mov r8, qword [rbp + 0x108]
lea r9, [rbp + 0xc4]
mov rax, qword [0x1400b6130]
lea rdx, [rbp + 0x98]
mov ecx, 8
mov qword [rbp + 0xe8], rdi
call qword [0x140073008]
test eax, eax
je 0x14001ee9c
mov r12d, ebx
mov rdi, qword [rbp + 0x108]
mov r15, qword [rbp + 0xe8]
cmp dword [rbp + 0x98], ebx
jbe 0x14001efd9
mov rax, qword [0x1400b6140]
xor edx, edx
mov rcx, rdi
call qword [0x140073008]
mov dword [r15], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x14001efb8
lea rdi, [rdi + rax*2]
add r15, 4
add rdi, 2
add r12d, r13d
cmp r12d, dword [rbp + 0x98]
jb 0x14001ef9f
mov dword [r15], 0x409
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x1d0], rax
mov eax, dword [rbp + 0x98]
inc eax
mov dword [rsp + 0x68], eax
mov qword [rbp + 0xe8], rbx
lea rcx, [rbp + 0xe8]
call fcn.140042ff8
lea rcx, [rbp + 0x108]
call fcn.140042ff8
test r14d, r14d
js 0x14001f76b
lea r11, [0x14008dba0]
mov r10d, ebx
mov r9d, ebx
mov dword [rbp - 0x78], ebx
cmp dword [rsp + 0x68], ebx
jbe 0x14001f071
mov rax, qword [rbp + 0x1d0]
mov r8, rbx
mov edx, ebx
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [rax + r8], ecx
je 0x14001f06b
add edx, r13d
add rdi, 4
cmp edx, 0x26
jb 0x14001f047
add r9d, r13d
add r8, 4
cmp r9d, dword [rsp + 0x68]
jae 0x14001f071
jmp 0x14001f042
mov r10d, edx
mov dword [rbp - 0x78], edx
mov rax, qword [0x1400b6138]
lea rdx, [rbp + 0xe40]
mov edi, r10d
xor r9d, r9d
mov dword [rbp - 0x80], ebx
mov ecx, dword [r11 + rdi*4]
lea r8d, [r9 + 0x55]
call qword [0x140073008]
test eax, eax
je 0x14001f0d5
mov rax, qword [0x1400b6120]
lea r8, [rbp + 0xc20]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0xe40]
lea edx, [r9 + 0x48]
call qword [0x140073008]
test eax, eax
jle 0x14001f0d5
mov r14d, dword [rbp + 0xc2c]
shr r14d, 0x1b
and r14d, r13d
mov dword [rbp - 0x80], r14d
lea rcx, str.Segoe_UI_Light
mov r8d, SafeArrayUnaccessData
lea rdx, [rbp + 0xd90]
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], bx
jne 0x14001f0f0
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub r8, r13
jne 0x14001f0e9
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x8db20]
mov r12, qword [rbp + rax*8 + 0xd90]
movzx eax, byte [rcx + rdx + 0x8db21]
mov qword [rbp - 8], r12
mov qword [rbp + 0x248], r12
mov r12, qword [rbp + rax*8 + 0xd90]
movzx eax, byte [rcx + rdx + 0x8db22]
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x250], r12
mov rdi, qword [rbp + rax*8 + 0xd90]
mov qword [rsp + 0x78], rdi
mov qword [rbp + 0x258], rdi
mov dword [rsp + 0x68], ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x1c90
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x14001f196
mov r14d, 0x8007000e
jmp 0x14001f78d
or r14d, 0xffffffff
mov dword [rbp + 0xc], ebx
mov r11d, ebx
mov dword [rbp + 0x20], ebx
mov r10d, ebx
lea r12, [rax + 7]
lea r13, [0x14008bba2]
mov esi, 1
mov r15d, 0x392
movzx eax, byte [r13 - 1]
movzx r9d, byte [r13 - 2]
movzx r8d, byte [r13 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r13]
lea r13, [r13 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r13 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r13 - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [r13 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r13 - 3]
shl r8d, 8
or r8d, eax
xor r11d, r8d
xor r11d, r10d
xor r11d, 0xac987321
lea eax, [r11 + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, r11d
rol eax, 0xa
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 2
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x137f]
imul ecx, eax, 0x605e
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor r11d, ecx
mov ecx, r11d
xor ecx, 0xab69605e
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov edx, r10d
xor eax, 0x137f
ror edx, 6
imul ecx, eax, 0xab69
xor edx, ecx
xor r11d, edx
mov edx, 0xab69605e
lea eax, [r11 + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, r11d
rol eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 8
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, r11d
ror eax, 0xa
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea edi, [r10 - 0x7f1]
xor edi, r11d
mov r11d, 0xab69
xor edi, edx
mov eax, edi
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, edi
shr eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 7
add ecx, eax
xor edi, ecx
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 9
imul ecx, eax, 0x605e
add edx, ecx
xor r10d, edx
mov eax, r10d
xor eax, r11d
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 7
add ecx, eax
xor edi, ecx
mov edx, edi
xor edx, r10d
xor edx, 0xac987321
mov eax, edx
ror eax, 3
sub eax, r11d
imul eax, eax, 0x137f
xor edi, eax
lea eax, [rdi - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, edi
ror eax, 6
sub ecx, eax
xor edx, ecx
lea eax, [rdx - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, edx
rol eax, 0xe
add ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xe
sub ecx, eax
xor edx, ecx
mov eax, edx
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edx
shr eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, edi
rol eax, 2
xor edi, r14d
mov dword [rbp + 0xc], edi
mov r14d, r8d
xor ecx, eax
xor ecx, ebx
mov ebx, r9d
xor edx, ecx
mov dword [rbp + 0x20], edx
mov byte [r12 - 4], dl
mov al, byte [rbp + 0xc]
ror dword [rbp + 0x20], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x20]
mov byte [r12 - 0xd], al
mov al, byte [rbp + 0xc]
ror dword [rbp + 0x20], 8
mov byte [r12 - 9], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x20]
mov byte [r12 - 0xe], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0xc]
mov byte [r12 - 0xa], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x20]
mov byte [r12 - 0xf], al
mov al, byte [rbp + 0xc]
mov byte [r12 - 0xb], al
mov r10d, dword [rbp + 0x20]
mov r11d, dword [rbp + 0xc]
ror r10d, 8
ror r11d, 8
mov dword [rbp + 0x20], r10d
mov dword [rbp + 0xc], r11d
sub r15, rsi
jne 0x14001f1bc
mov esi, dword [rsp + 0x60]
xor ebx, ebx
mov r14d, dword [rsp + 0x68]
mov eax, ebx
mov r15, qword [rbp - 0x38]
xorps xmm1, xmm1
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r15]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rcx
jb 0x14001f4e6
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 [0x14008d830]
je 0x14001f545
mov r14d, 0xc004d501
jmp 0x14001f556
mov qword [rbp + 0x180], r15
mov r15, rbx
mov qword [rbp + 0x2c8], rcx
test r15, r15
je 0x14001f56f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test r14d, r14d
js 0x14001f793
mov rdx, qword [rbp + 0x180]
lea rdi, [rbp + 0xd60]
mov r9d, dword [rbp - 0x78]
lea r8d, [r13 + 5]
mov ecx, ebx
cmp r9d, ecx
jne 0x14001f59e
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], bl
jne 0x14001f5a2
inc rdx
add ecx, r13d
add rdx, rax
cmp ecx, 0x26
jb 0x14001f596
add rdi, 8
sub r8, r13
jne 0x14001f594
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0x88]
mov rdi, rax
call fcn.140042ff8
test rdi, rdi
jne 0x14001f5fc
mov qword [rbp + 0x88], rbx
mov r14d, 0x8007000e
jmp 0x14001f812
xor eax, eax
mov qword [rbp + 0x88], rdi
mov qword [rdi], rax
lea rcx, [rbp + 0xe30]
mov qword [rdi + 8], rax
mov edx, ebx
mov qword [rdi + 0x10], rax
mov r15, rbx
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x70], rcx
movzx edi, word [rcx]
lea rcx, [0x14008df80]
mov eax, ebx
cmp di, word [rcx]
je 0x14001f647
add eax, r13d
add rcx, 2
cmp eax, 6
jb 0x14001f631
jmp 0x14001f705
mov r12, qword [rbp + rax*8 + 0xd60]
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], bl
jne 0x14001f653
lea r9d, [rax + r13]
mov dword [rsp + 0x28], ebx
mov rax, qword [0x1400b6150]
mov r8, r12
xor edx, edx
mov qword [rsp + 0x20], rbx
mov ecx, 0xfde9
call qword [0x140073008]
movsxd r13, eax
test eax, eax
je 0x14001f747
mov rdi, r13
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbp + 0x88]
mov qword [rcx + r15], rax
mov rcx, qword [rbp + 0x88]
cmp qword [rcx + r15], rbx
je 0x14001f18b
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], bl
jne 0x14001f6c5
mov rdx, qword [rcx + r15]
lea r9d, [rax + 1]
mov rax, qword [0x1400b6150]
mov r8, r12
mov dword [rsp + 0x28], r13d
mov ecx, 0xfde9
mov qword [rsp + 0x20], rdx
xor edx, edx
call qword [0x140073008]
test eax, eax
je 0x14001f747
mov edx, dword [rsp + 0x68]
mov r13d, 1
mov rcx, qword [rsp + 0x70]
add edx, r13d
add rcx, 2
mov dword [rsp + 0x68], edx
add r15, 8
mov qword [rsp + 0x70], rcx
cmp edx, 3
jb 0x14001f625
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x1c8], rax
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x4d0], eax
mov qword [rbp + 0x88], rbx
jmp 0x14001f793
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001f78d
mov r14d, 0x80004005
jmp 0x14001f78d
mov rax, qword [rbp + 0x258]
mov qword [rsp + 0x78], rax
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x248]
mov qword [rbp - 8], rax
mov r13d, 1
cmp qword [rbp + 0x88], rbx
je 0x14001f812
mov r15, rbx
mov r12d, 3
mov rcx, qword [rbp + 0x88]
cmp qword [rcx + r15], rbx
je 0x14001f809
test rcx, rcx
jne 0x14001f7bf
mov rcx, rbx
mov rdi, rbx
jmp 0x14001f7c9
mov rcx, qword [rbp + 0x88]
mov rdi, rcx
mov rax, qword [rcx + r15]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], bx
jne 0x14001f7d1
mov rdi, qword [rdi + r15]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x88]
mov rdi, qword [rax + r15]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
add r15, 8
sub r12, r13
jne 0x14001f7a5
mov rdi, qword [rbp + 0x180]
test rdi, rdi
je 0x14001f829
mov rcx, qword [rbp + 0x2c8]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0x88]
call fcn.140042ff8
lea rcx, [rbp + 0x180]
call fcn.140042ff8
lea rcx, [rbp + 0x1d0]
call fcn.140042ff8
test r14d, r14d
js 0x140020260
mov rax, qword [rbp + 0x1c8]
lea r8, [rbp + 0x2f8]
xor r9d, r9d
xor edx, edx
mov edi, ebx
mov r14d, ebx
mov rcx, qword [rax]
mov qword [rbp + 0x4d8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x4e0], rcx
mov rcx, qword [rax + 0x10]
xor eax, eax
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x2fc], rax
mov dword [rbp + 0x304], eax
lea ecx, [rax + 0x42]
mov dword [rbp + 0x2f8], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rax, qword [0x1400b61f8]
call qword [0x140073008]
test eax, eax
jne 0x14001f8df
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001f8e8
mov r14d, 0x80004005
jmp 0x14001f8e8
mov edi, dword [rbp + 0x2fc]
and edi, r13d
mov r12d, dword [rbp - 0x2c]
mov dword [rbp + 0x4d4], edi
test r14d, r14d
js 0x140020264
mov edx, 0xb
mov ecx, r12d
lea eax, [rdx + 0x1f]
mov dword [rbp - 0x4c], eax
sub ecx, 1
je 0x14001f92e
sub ecx, 1
je 0x14001f925
cmp ecx, 1
jne 0x14001f934
mov edi, 0xe1
mov dword [rbp - 0x50], edi
mov dword [rbp - 0x1c], edi
jmp 0x14001f934
mov dword [rbp - 0x50], SafeArrayGetDim
jmp 0x14001f931
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x1c], edx
mov r14d, 0x60
lea rcx, [rbp + 0xc40]
xor edx, edx
mov r13d, r14d
lea edi, [r14 + 0x7c]
mov r8d, edi
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [0x1400b6170]
lea r8, [rbp + 0xc40]
or edx, 0xffffffff
mov word [rbp + 0xc84], di
xor ecx, ecx
call qword [0x140073008]
test eax, eax
je 0x14001f9a5
movzx r13d, word [rbp + 0xce6]
mov eax, dword [rbp + 0xcec]
and qword [rbp + 0x960], 0
cmp r13d, r14d
mov dword [rbp + 0x968], eax
mov eax, dword [rbp + 0xcf0]
cmovl r13d, r14d
mov dword [rbp + 0x96c], eax
mov r15, qword [rsp + 0x78]
lea rcx, [rbp + 0xb00]
mov eax, 1
cmp r12d, eax
cmove r15, qword [rbp - 8]
xor edx, edx
lea r8d, [rax + 0x5b]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [0x1400b6188]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r14d, ebx
call qword [0x140073008]
mov rdi, rax
test rax, rax
jne 0x14001fa16
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140020264
mov r14d, 0x80004005
jmp 0x140020264
mov ecx, dword [rbp - 0x50]
mov r8d, 0x48
mov rax, qword [0x1400b6148]
mov edx, r13d
call qword [0x140073008]
mov r8, r15
mov dword [rbp + 0xb10], 0x190
neg eax
mov byte [rbp + 0xb1a], 5
mov edx, 0x20
mov dword [rbp + 0xb00], eax
lea rcx, [rbp + 0xb1c]
call fcn.1400248d0
mov rax, qword [0x1400b60b0]
lea rcx, [rbp + 0xb00]
call qword [0x140073008]
test rax, rax
jne 0x14001fa99
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001faa0
mov r14d, 0x80004005
jmp 0x14001faa0
mov qword [rbp + 0x4f0], rax
mov rax, qword [0x1400b61f0]
mov rdx, rdi
xor ecx, ecx
call qword [0x140073008]
test r14d, r14d
js 0x140020264
xor edx, edx
lea rcx, [rbp + 0xb60]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [0x1400b6188]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r14d, ebx
call qword [0x140073008]
mov rdi, rax
test rax, rax
je 0x14001f9eb
mov ecx, dword [rbp - 0x1c]
mov r8d, 0x48
mov rax, qword [0x1400b6148]
mov edx, r13d
call qword [0x140073008]
mov r8, r15
mov dword [rbp + 0xb70], 0x190
neg eax
mov byte [rbp + 0xb7a], 5
mov edx, 0x20
mov dword [rbp + 0xb60], eax
lea rcx, [rbp + 0xb7c]
call fcn.1400248d0
mov rax, qword [0x1400b60b0]
lea rcx, [rbp + 0xb60]
call qword [0x140073008]
test rax, rax
jne 0x14001fb76
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001fb7d
mov r14d, 0x80004005
jmp 0x14001fb7d
mov qword [rbp + 0x4f8], rax
mov rax, qword [0x1400b61f0]
mov rdx, rdi
xor ecx, ecx
call qword [0x140073008]
test r14d, r14d
js 0x140020264
mov ecx, r12d
mov r15d, ebx
mov edx, ebx
sub ecx, 1
je 0x14001fbaf
sub ecx, 1
je 0x14001fbe9
cmp ecx, 1
jne 0x14001fbbc
mov r15d, dword [rbp + 0x968]
mov edx, dword [rbp + 0x96c]
mov dword [rbp + 0x938], r15d
mov dword [rbp + 0x93c], edx
mov ecx, 1
cmp r12d, ecx
je 0x14001fc23
lea eax, [r12 - 2]
cmp eax, ecx
ja 0x14001fbff
mov eax, ebx
mov dword [rbp - 0x80], ebx
mov dword [rbp - 0x4c], ebx
mov dword [rbp - 0x1c], ebx
jmp 0x14001fc32
mov eax, dword [rbp + 0x968]
cdq
and edx, 3
lea r15d, [rdx + rax]
mov edx, ebx
sar r15d, 2
jmp 0x14001fbbc
mov eax, dword [rbp + 0xc0]
mov r12d, dword [rbp + 0xc0]
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp + 0xc0]
mov dword [rbp - 0x4c], eax
mov eax, dword [rbp + 0xc0]
mov dword [rbp - 0x80], eax
jmp 0x14001fc35
mov eax, reloc.OLEAUT32.dll_DllRegisterServer
mov dword [rbp - 0x1c], 0x20
mov dword [rbp - 0x80], eax
mov r12d, ebx
mov rdx, qword [rbp + 0x4f0]
sub r15d, eax
mov rcx, qword [rbp - 0x68]
sub r15d, r12d
mov rax, qword [0x1400b6108]
mov r14d, ebx
mov rdi, qword [rbp + 0x4d8]
mov dword [rbp + 0x524], r15d
mov dword [rbp + 0x514], r15d
call qword [0x140073008]
mov rdx, rdi
mov qword [rsp + 0x28], rbx
mov rdi, qword [rbp - 0x68]
lea r9, [rbp + 0x50c]
mov qword [rbp - 0x38], rax
mov rcx, rdi
mov rax, qword [fcn.140006b70]
or r8d, 0xffffffff
mov dword [rsp + 0x20], 0xc50
call qword [0x140073008]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14001fcc5
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b6108]
call qword [0x140073008]
test r14d, r14d
js 0x140020260
mov rdx, qword [rbp + 0x4f8]
mov r14d, ebx
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400b6108]
mov rdi, qword [rbp + 0x4e0]
call qword [0x140073008]
mov rdx, rdi
mov qword [rsp + 0x28], rbx
mov rdi, qword [rbp - 0x68]
lea r9, [rbp + 0x51c]
mov qword [rbp - 0x38], rax
mov rcx, rdi
mov rax, qword [fcn.140006b70]
or r8d, 0xffffffff
mov dword [rsp + 0x20], 0xc50
call qword [0x140073008]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14001fd4a
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400b6108]
call qword [0x140073008]
test r14d, r14d
js 0x140020260
mov eax, dword [rbp - 0x2c]
mov r14d, 1
mov ecx, dword [rbp + 0x514]
add eax, 0xfffffffe
cmp eax, r14d
ja 0x14001fd78
mov r15d, dword [rbp + 0x524]
cmp ecx, r15d
cmovg r15d, ecx
mov r8d, dword [rbp - 0x4c]
mov rax, qword [fcn.140006b70]
cmp dword [rbp + 0x4d0], ebx
je 0x14001fdad
mov edx, r12d
sub edx, ecx
lea rcx, [rbp + 0x50c]
add edx, r15d
call qword [0x140073008]
sub r12d, dword [rbp + 0x524]
lea edx, [r15 + r12]
jmp 0x14001fdc0
mov edx, dword [rbp - 0x80]
lea rcx, [rbp + 0x50c]
call qword [0x140073008]
mov edx, dword [rbp - 0x80]
mov r8d, dword [rbp - 0x1c]
lea rcx, [rbp + 0x51c]
add r8d, dword [rbp + 0x518]
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
mov r12d, dword [rbp - 0x2c]
lea eax, [r12 - 2]
cmp eax, r14d
jbe 0x14002006f
cmp r12d, r14d
jne 0x14002008c
xor edx, edx
mov dword [rbp + 0x508], 0xffffff
lea rcx, [rbp + 0xbc0]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [0x1400b6188]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r14d, ebx
call qword [0x140073008]
mov rdi, rax
test rax, rax
je 0x14001f9eb
mov rax, qword [0x1400b6148]
mov r8d, 0x48
mov edx, r13d
lea ecx, [r8 - 0x3d]
call qword [0x140073008]
mov r8, qword [rbp + 0x78]
lea rcx, [rbp + 0xbdc]
neg eax
mov dword [rbp + 0xbd0], 0x190
mov edx, 0x20
mov dword [rbp + 0xbc0], eax
mov byte [rbp + 0xbda], 5
call fcn.1400248d0
mov rax, qword [0x1400b60b0]
lea rcx, [rbp + 0xbc0]
call qword [0x140073008]
test rax, rax
jne 0x14001fec1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x14001fec8
mov r14d, 0x80004005
jmp 0x14001fec8
mov qword [rbp + 0x500], rax
mov rax, qword [0x1400b61f0]
mov rdx, rdi
xor ecx, ecx
call qword [0x140073008]
test r14d, r14d
js 0x140020264
mov r12, qword [rbp - 0x68]
mov r14d, ebx
mov rdx, qword [rbp + 0x500]
mov rcx, r12
mov rax, qword [0x1400b6108]
mov rdi, qword [rbp + 0x4e8]
mov dword [rbp + 0x534], r15d
call qword [0x140073008]
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x52c]
mov r15, rax
mov dword [rsp + 0x20], 0x460
mov rax, qword [fcn.140006b70]
or r8d, 0xffffffff
mov rdx, rdi
mov rcx, r12
call qword [0x140073008]
test eax, eax
mov eax, 0x80004005
cmove r14d, eax
test r15, r15
je 0x14001ff60
mov rax, qword [0x1400b6108]
mov rdx, r15
mov rcx, r12
call qword [0x140073008]
test r14d, r14d
js 0x140020260
mov eax, dword [rbp + 0x534]
mov ecx, 0x5a
add eax, 0x18
mov edx, r13d
cmp eax, ecx
cmovl eax, ecx
lea edi, [rcx + 6]
mov dword [rbp + 0x534], eax
mov r8d, edi
lea eax, [rcx - 0x3a]
mov ecx, dword [rbp + 0x52c]
mov dword [rbp + 0x538], eax
mov rax, qword [0x1400b6148]
call qword [0x140073008]
mov ecx, dword [rbp + 0x530]
mov r8d, edi
mov dword [rbp + 0x52c], eax
mov edx, r13d
mov rax, qword [0x1400b6148]
call qword [0x140073008]
mov ecx, dword [rbp + 0x534]
mov r8d, edi
mov dword [rbp + 0x530], eax
mov edx, r13d
mov rax, qword [0x1400b6148]
call qword [0x140073008]
mov ecx, dword [rbp + 0x538]
mov r8d, edi
mov dword [rbp + 0x534], eax
mov edx, r13d
mov rax, qword [0x1400b6148]
call qword [0x140073008]
lea rcx, [rbp + 0x52c]
mov r8d, dword [rbp + 0x528]
mov dword [rbp + 0x538], eax
mov rax, qword [fcn.140006b70]
cmp dword [rbp + 0x4d0], ebx
je 0x14002004a
mov edx, dword [rbp + 0x51c]
cmp dword [rbp + 0x50c], edx
cmovl edx, dword [rbp + 0x50c]
add r8d, 0x24
call qword [0x140073008]
mov r12d, dword [rbp - 0x2c]
jmp 0x14002008c
mov edx, dword [rbp + 0x524]
cmp dword [rbp + 0x514], edx
cmovg edx, dword [rbp + 0x514]
add r8d, 0x24
sub edx, dword [rbp + 0x534]
add edx, dword [rbp + 0x52c]
jmp 0x14002003e
mov eax, dword [rbp + 0x528]
mov dword [rbp + 0x93c], eax
mov dword [rbp + 0x938], r15d
mov dword [rbp + 0x508], 0xffa8a8a8
mov r15d, dword [rbp + 0x4d0]
mov ecx, r12d
mov r14d, dword [rbp + 0x93c]
mov edi, dword [rbp + 0x938]
sub ecx, 1
je 0x140020253
sub ecx, 1
je 0x14002016a
cmp ecx, 1
jne 0x14002025b
lea r13d, [rcx + 0x27]
xor edx, edx
mov r8d, r13d
lea rcx, [rbp + 0xad8]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [fcn.140006b70]
lea edx, [r13 - 0x27]
xor ecx, ecx
call qword [0x140073008]
lea rdx, [rbp + 0xad8]
mov dword [rbp + 0xad8], r13d
mov rcx, rax
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
test eax, eax
je 0x14002025b
mov rax, qword [fcn.140006b70]
lea rdx, [rbp + 0xaec]
xor ecx, ecx
call qword [0x140073008]
mov rax, qword [fcn.140006b70]
lea rdx, [rbp + 0xaf4]
xor ecx, ecx
call qword [0x140073008]
mov eax, dword [rbp + 0xaf4]
sub eax, edi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov rcx, qword [rbp + 0xaf4]
shr rcx, 0x20
sub ecx, r14d
imul ecx, ecx, 0x32
jmp 0x140020234
mov r13d, SafeArrayCreateVectorEx
lea rcx, [rbp + 0x9c0]
mov r8d, r13d
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [fcn.140006b70]
lea edx, [r13 - 0x27]
xor ecx, ecx
call qword [0x140073008]
lea rdx, [rbp + 0x9c0]
mov dword [rbp + 0x9c0], r13d
mov rcx, rax
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
test eax, eax
je 0x14002025b
mov rax, qword [fcn.140006b70]
lea rdx, [rbp + 0x9d4]
xor ecx, ecx
call qword [0x140073008]
mov rax, qword [fcn.140006b70]
lea rdx, [rbp + 0x9dc]
xor ecx, ecx
call qword [0x140073008]
mov eax, dword [rbp + 0x9dc]
test r15d, r15d
je 0x14002020d
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 + 0x9d4]
jmp 0x140020223
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 + 0x9dc]
shr rax, 0x20
sub eax, r14d
imul ecx, eax, 0x5f
mov dword [rbp + 0x930], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x934], edx
jmp 0x14002025b
and qword [rbp + 0x930], 0
mov r14d, ebx
jmp 0x140020264
mov r12d, dword [rbp - 0x2c]
mov rdx, qword [rbp - 0x68]
xor ecx, ecx
mov rax, qword [0x1400b61f0]
call qword [0x140073008]
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x1400bd3e8], r13d
jne 0x14002027d
mov eax, dword [0x1400bd3e4]
test eax, eax
jle 0x1400202ee
sub eax, r13d
mov dword [0x1400bd3e4], eax
jne 0x1400202ee
lea rdi, [0x1400bd130]
mov r15d, 4
cmp qword [rdi], rbx
je 0x1400202ba
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r15, r13
jne 0x1400202ac
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x1400bd130]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400718c0]
lea rcx, [0x1400b6090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
lea rcx, [rbp + 0x1c8]
xchg dword [0x1400bd3e8], eax
call fcn.140042ff8
test r14d, r14d
js 0x140021b57
mov rdi, qword [rbp + 0x930]
lea rcx, [rbp + 0x540]
xor edx, edx
mov qword [rbp + 0x2d0], rdi
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r15, qword [rbp + 0x48]
mov edx, 7
mov rax, qword [0x1400b60e0]
mov rcx, r15
mov r14d, r13d
call qword [0x140073008]
test rax, rax
je 0x140020393
mov rcx, rax
lea r8, [rbp + 0x540]
mov rax, qword [0x1400b60f8]
mov edx, 0x68
call qword [0x140073008]
test eax, eax
je 0x140020393
mov eax, 0x20
cmp word [rbp + 0x552], ax
jne 0x140020393
cmp qword [rbp + 0x558], rbx
je 0x140020393
cmp dword [rbp + 0x544], ebx
jle 0x140020393
cmp dword [rbp + 0x548], ebx
jg 0x140020396
mov r14d, ebx
mov dword [rbp + 0x140], r14d
test r14d, r14d
jne 0x1400203a7
cmp r12d, r13d
jne 0x14002040c
mov r8d, dword [rbp + 0x2d4]
lea rcx, [rbp + 0x50c]
mov rax, qword [fcn.140006b70]
mov edx, edi
call qword [0x140073008]
mov r8d, dword [rbp + 0x2d4]
lea rcx, [rbp + 0x51c]
mov rax, qword [fcn.140006b70]
mov edx, edi
call qword [0x140073008]
cmp r12d, r13d
jne 0x14002040c
mov eax, dword [rbp + 0x4d4]
neg eax
mov rax, qword [0x1400b60b8]
sbb ecx, ecx
not ecx
and ecx, 0xb26720
call qword [0x140073008]
mov qword [rbp + 0x80], rax
mov rax, qword [fcn.140006b70]
mov edx, r13d
mov rcx, r15
call qword [0x140073008]
cmp dword [rbp + 0x4d0], ebx
mov ecx, 0x20812
mov dword [rsp + 0x70], eax
mov eax, 0x810
cmovne eax, ecx
mov dword [rbp + 0x10], eax
cmp dword [rbp + 0x140], ebx
je 0x140020e18
mov eax, dword [rbp + 0x4d4]
lea rcx, [rbp + 0x5b0]
mov r14, qword [rbp + 0x4d8]
mov r12d, 0x68
mov dword [rbp - 0x70], eax
mov r8d, r12d
mov rax, qword [rbp + 0x4f0]
xor edx, edx
mov qword [rbp - 0x38], rax
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, r12d
lea rcx, [rbp + 0x770]
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor edx, edx
mov qword [rbp - 0x68], rbx
lea r8d, [r12 - 0x3c]
mov dword [rsp + 0x68], ebx
lea rcx, [rbp + 0x9e8]
mov r13d, ebx
mov edi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x970], xmm0
test r14, r14
je 0x140021b35
mov rax, qword [0x1400b60e0]
lea edx, [r12 - 0x61]
mov rcx, r15
call qword [0x140073008]
test rax, rax
jne 0x1400204e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140021b35
mov rcx, rax
lea r8, [rbp + 0x5b0]
mov rax, qword [0x1400b60f8]
mov edx, r12d
call qword [0x140073008]
test eax, eax
je 0x14002051c
mov rax, qword [rbp + 0x5c8]
mov r13d, dword [rbp + 0x5b4]
mov edi, dword [rbp + 0x5b8]
mov qword [rbp - 0x68], rax
mov dword [rsp + 0x68], r13d
mov rax, qword [0x1400b60a0]
mov rcx, r15
call qword [0x140073008]
mov r12, rax
test rax, rax
je 0x1400204d6
xor edx, edx
mov qword [rbp + 0x390], rbx
lea rcx, [rbp + 0x9e8]
mov r15d, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov eax, dword [rbp + 0x514]
lea r9, [rbp + 0x390]
sub eax, dword [rbp + 0x50c]
lea rdx, [rbp + 0x9e8]
mov dword [rbp + 0x9ec], eax
xor r8d, r8d
mov eax, dword [rbp + 0x510]
mov rcx, r12
sub eax, dword [rbp + 0x518]
mov dword [rbp + 0x9f0], eax
mov rax, qword [0x1400b60a8]
mov dword [rsp + 0x28], ebx
mov dword [rbp + 0x9e8], SafeArrayCreateVectorEx
mov dword [rbp + 0x9f4], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140073008]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x1400205e6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140020917
mov r15d, 0x80004005
jmp 0x140020917
mov rcx, rax
lea r8, [rbp + 0x770]
mov rax, qword [0x1400b60f8]
mov edx, 0x68
call qword [0x140073008]
mov rdx, qword [rbp - 0x78]
mov rcx, rbx
test eax, eax
mov eax, dword [rbp + 0x514]
cmovne rcx, qword [rbp + 0x788]
sub eax, dword [rbp + 0x50c]
mov dword [rbp + 0x978], eax
mov eax, dword [rbp + 0x518]
sub eax, dword [rbp + 0x510]
mov dword [rbp + 0x97c], eax
mov rax, qword [0x1400b6108]
mov qword [rbp + 0x30], rcx
mov rcx, r12
call qword [0x140073008]
mov rax, qword [fcn.140006b70]
mov edx, 1
mov rcx, r12
call qword [0x140073008]
mov rdx, qword [rbp - 0x38]
mov rcx, r12
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov qword [rbp - 0x80], rax
xor ecx, ecx
mov rax, qword [0x1400b6100]
call qword [0x140073008]
lea rdx, [rbp + 0x970]
mov rcx, r12
mov r8, rax
mov rax, qword [0x1400b6178]
call qword [0x140073008]
mov eax, dword [rbp + 0x10]
lea r9, [rbp + 0x970]
mov qword [rsp + 0x28], rbx
or r8d, 0xffffffff
mov dword [rsp + 0x20], eax
mov rdx, r14
mov rax, qword [fcn.140006b70]
mov rcx, r12
call qword [0x140073008]
mov ecx, 1
cmp dword [rbp - 0x2c], ecx
jne 0x1400206fc
cmp dword [rbp - 0x70], ebx
je 0x1400206f4
mov rax, qword [0x1400b61a8]
mov ecx, 8
call qword [0x140073008]
mov r14d, eax
mov dword [rbp - 0x4c], eax
jmp 0x140020706
mov r14d, 0xffffff
jmp 0x140020702
mov r14d, 0xffa8a8a8
mov dword [rbp - 0x4c], r14d
mov r9d, dword [rbp + 0x50c]
mov r8d, ebx
mov edx, dword [rbp + 0x510]
mov ecx, ebx
test r9d, r9d
jns 0x140020726
mov r8d, r9d
mov r9d, ebx
neg r8d
test edx, edx
jns 0x140020730
mov ecx, edx
mov edx, ebx
neg ecx
movsxd r11, dword [rbp + 0x978]
mov r10d, r13d
sub r10d, r9d
mov eax, r11d
sub eax, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x97c]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r10d, r10d
jle 0x1400208ea
test edi, edi
jle 0x1400208ea
imul ecx, r11d
movsxd rax, r8d
imul edx, r13d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x30]
lea r8, [rax + rcx*4]
movsxd rax, r9d
movsxd rcx, edx
add rcx, rax
mov qword [rsp + 0x78], r8
mov rax, qword [rbp - 0x68]
lea r13, [rax + rcx*4]
test edi, edi
jle 0x1400208ea
movsxd rcx, dword [rsp + 0x68]
mov rax, r11
shl rax, 2
mov esi, 1
shl rcx, 2
mov edx, edi
mov qword [rbp + 0x30], rcx
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x70], rdx
test r10d, r10d
jle 0x1400208ce
mov r11, r8
mov edi, r10d
sub r11, r13
mov qword [rbp - 0x68], rdi
lea r9, [r13 + 2]
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400208ac
movzx edi, byte [r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4b]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4a]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [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 [r9 - 2], dl
movzx edi, byte [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 - 0x68]
mov byte [r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x68], rdi
jne 0x1400207de
mov r8, qword [rsp + 0x78]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp - 0x70]
add r8, rax
add r13, rcx
sub rdx, rsi
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x70], rdx
jne 0x1400207c4
mov esi, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140020917
mov rdx, rax
mov rcx, r12
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov rax, qword [0x1400b60c0]
mov rcx, r12
call qword [0x140073008]
test r15d, r15d
js 0x140021b35
mov eax, dword [rbp + 0x4d4]
lea rcx, [rbp + 0x620]
mov r12, qword [rbp + 0x4e0]
mov r14d, 0x68
mov dword [rbp - 0x70], eax
mov r8d, r14d
mov rax, qword [rbp + 0x4f8]
xor edx, edx
mov qword [rbp - 0x38], rax
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, r14d
lea rcx, [rbp + 0x7e0]
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor edx, edx
mov qword [rbp - 0x68], rbx
lea r8d, [r14 - 0x3c]
mov dword [rsp + 0x68], ebx
lea rcx, [rbp + 0xa18]
mov r13d, ebx
mov edi, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x980], xmm0
test r12, r12
je 0x140021b35
mov r15, qword [rbp + 0x48]
lea edx, [r14 - 0x61]
mov rax, qword [0x1400b60e0]
mov rcx, r15
call qword [0x140073008]
test rax, rax
je 0x1400204d6
mov rcx, rax
lea r8, [rbp + 0x620]
mov rax, qword [0x1400b60f8]
mov edx, r14d
call qword [0x140073008]
test eax, eax
je 0x140020a02
mov rax, qword [rbp + 0x638]
mov r13d, dword [rbp + 0x624]
mov edi, dword [rbp + 0x628]
mov qword [rbp - 0x68], rax
mov dword [rsp + 0x68], r13d
mov rax, qword [0x1400b60a0]
mov rcx, r15
call qword [0x140073008]
mov r15, rax
test rax, rax
je 0x1400204d6
xor edx, edx
mov qword [rbp + 0x398], rbx
lea rcx, [rbp + 0xa18]
mov r14d, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov eax, dword [rbp + 0x524]
lea r9, [rbp + 0x398]
sub eax, dword [rbp + 0x51c]
lea rdx, [rbp + 0xa18]
mov dword [rbp + 0xa1c], eax
xor r8d, r8d
mov eax, dword [rbp + 0x520]
mov rcx, r15
sub eax, dword [rbp + 0x528]
mov dword [rbp + 0xa20], eax
mov rax, qword [0x1400b60a8]
mov dword [rsp + 0x28], ebx
mov dword [rbp + 0xa18], SafeArrayCreateVectorEx
mov dword [rbp + 0xa24], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140073008]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x140020ad0
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140020df6
mov r14d, 0x80004005
jmp 0x140020df6
mov rcx, rax
lea r8, [rbp + 0x7e0]
mov rax, qword [0x1400b60f8]
mov edx, 0x68
call qword [0x140073008]
mov rdx, qword [rbp - 0x80]
mov rcx, rbx
test eax, eax
mov eax, dword [rbp + 0x524]
cmovne rcx, qword [rbp + 0x7f8]
sub eax, dword [rbp + 0x51c]
mov dword [rbp + 0x988], eax
mov eax, dword [rbp + 0x528]
sub eax, dword [rbp + 0x520]
mov dword [rbp + 0x98c], eax
mov rax, qword [0x1400b6108]
mov qword [rbp + 0x30], rcx
mov rcx, r15
call qword [0x140073008]
mov rax, qword [fcn.140006b70]
mov edx, 1
mov rcx, r15
call qword [0x140073008]
mov rdx, qword [rbp - 0x38]
mov rcx, r15
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov qword [rbp - 8], rax
xor ecx, ecx
mov rax, qword [0x1400b6100]
call qword [0x140073008]
lea rdx, [rbp + 0x980]
mov rcx, r15
mov r8, rax
mov rax, qword [0x1400b6178]
call qword [0x140073008]
mov eax, dword [rbp + 0x10]
lea r9, [rbp + 0x980]
mov qword [rsp + 0x28], rbx
or r8d, 0xffffffff
mov dword [rsp + 0x20], eax
mov rdx, r12
mov rax, qword [fcn.140006b70]
mov rcx, r15
call qword [0x140073008]
mov eax, 1
cmp dword [rbp - 0x2c], eax
jne 0x140020bdf
cmp dword [rbp - 0x70], ebx
je 0x140020bd6
lea ecx, [rax + 7]
mov rax, qword [0x1400b61a8]
call qword [0x140073008]
jmp 0x140020be4
mov dword [rbp - 0x4c], 0xffffff
jmp 0x140020bea
mov eax, 0xffa8a8a8
mov dword [rbp - 0x4c], eax
mov dword [rbp + 0x70], eax
mov r9d, dword [rbp + 0x51c]
mov r8d, ebx
mov edx, dword [rbp + 0x520]
mov ecx, ebx
test r9d, r9d
jns 0x140020c0a
mov r8d, r9d
mov r9d, ebx
neg r8d
test edx, edx
jns 0x140020c14
mov ecx, edx
mov edx, ebx
neg ecx
movsxd r11, dword [rbp + 0x988]
mov r10d, r13d
sub r10d, r9d
mov eax, r11d
sub eax, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x98c]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r10d, r10d
jle 0x140020dc9
test edi, edi
jle 0x140020dc9
imul ecx, r11d
imul edx, r13d
movsxd rax, r8d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x30]
lea r12, [rax + rcx*4]
movsxd rax, r9d
movsxd rcx, edx
add rcx, rax
mov rax, qword [rbp - 0x68]
lea r13, [rax + rcx*4]
test edi, edi
jle 0x140020dc9
movsxd rcx, dword [rsp + 0x68]
mov rax, r11
mov r14d, dword [rbp + 0x70]
mov esi, 1
shl rax, 2
shl rcx, 2
mov edx, edi
mov qword [rbp + 0x30], rcx
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x78], rdx
test r10d, r10d
jle 0x140020dae
mov r11, r12
mov edi, r10d
sub r11, r13
mov qword [rbp - 0x68], rdi
lea r9, [r13 + 2]
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x140020d90
movzx edi, byte [r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4b]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4a]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [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 [r9 - 2], dl
movzx edi, byte [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 - 0x68]
mov byte [r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x68], rdi
jne 0x140020cc2
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rsp + 0x78]
add r12, rax
add r13, rcx
sub rdx, rsi
mov qword [rsp + 0x78], rdx
jne 0x140020ca8
mov esi, dword [rsp + 0x60]
mov r14d, ebx
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov rax, qword [rbp - 8]
test rax, rax
je 0x140020df6
mov rdx, rax
mov rcx, r15
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov rax, qword [0x1400b60c0]
mov rcx, r15
call qword [0x140073008]
test r14d, r14d
js 0x140021b35
mov rdi, qword [rbp + 0x48]
jmp 0x140021aef
cmp dword [rbp + 0x4d4], ebx
jne 0x140020e27
mov al, 0xc0
cmp r12d, r13d
jne 0x140020e29
mov al, 0xff
and word [rbp + 0x78], 0
xorps xmm0, xmm0
mov byte [rbp + 0x7a], al
xorps xmm1, xmm1
mov rax, qword [0x1400b60a0]
mov rcx, r15
movdqu xmmword [rbp + 0x950], xmm0
mov byte [rbp + 0x7b], r13b
movdqu xmmword [rbp + 0x940], xmm1
call qword [0x140073008]
mov qword [rbp + 0x40], rax
test rax, rax
jne 0x140020e6f
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140021b3b
cmp r12d, r13d
jne 0x140020f4f
mov ecx, dword [rbp + 0x524]
mov eax, dword [rbp + 0x514]
mov r14d, dword [rbp + 0x51c]
sub ecx, r14d
mov edi, dword [rbp + 0x50c]
sub eax, edi
mov r9d, dword [rbp + 0x528]
cmp ecx, eax
mov r8d, dword [rbp + 0x510]
mov edx, eax
cmovg edx, ecx
sub r9d, r8d
mov dword [rbp - 0x80], edx
mov dword [rbp - 8], r9d
cmp dword [rbp + 0x4d0], ebx
je 0x140020ede
sub edi, dword [rbp + 0x514]
sub r14d, dword [rbp + 0x524]
add edi, edx
add r14d, edx
mov dword [rbp + 0x950], edi
mov dword [rbp + 0x940], r14d
jmp 0x140020eeb
mov edi, dword [rbp + 0x950]
mov r14d, dword [rbp + 0x940]
mov r12d, dword [rbp + 0x518]
lea r13d, [rdi + rax]
mov r15d, dword [rbp + 0x520]
lea eax, [rcx + r14]
sub r12d, r8d
mov dword [rbp - 0x4c], r13d
mov dword [rbp - 0x50], r12d
sub r15d, r8d
mov dword [rbp + 0x95c], r12d
mov r12d, r15d
sub r12d, dword [rbp + 0x520]
add r12d, dword [rbp + 0x528]
mov dword [rsp + 0x68], r12d
mov dword [rbp + 0x94c], r12d
mov r12d, edx
mov dword [rbp + 0x958], r13d
mov r13d, r9d
mov dword [rbp + 0x948], eax
mov dword [rbp + 0x944], r15d
jmp 0x140020fb9
movups xmm0, xmmword [rbp + 0x50c]
mov r12d, dword [rbp + 0x938]
movups xmm1, xmmword [rbp + 0x51c]
mov r13d, dword [rbp + 0x93c]
movdqu xmmword [rbp + 0x950], xmm0
mov eax, dword [rbp + 0x95c]
mov ecx, dword [rbp + 0x958]
mov edi, dword [rbp + 0x950]
movdqu xmmword [rbp + 0x940], xmm1
mov r15d, dword [rbp + 0x944]
mov r14d, dword [rbp + 0x940]
mov dword [rbp - 0x50], eax
mov eax, dword [rbp + 0x94c]
mov dword [rsp + 0x68], eax
mov eax, dword [rbp + 0x948]
mov dword [rbp - 0x80], r12d
mov dword [rbp - 8], r13d
mov dword [rbp - 0x4c], ecx
xor edx, edx
mov dword [rbp - 0x1c], eax
lea rcx, [rbp + 0xa48]
mov qword [rbp + 0x3a0], rbx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rcx, qword [rbp + 0x40]
lea r9, [rbp + 0x3a0]
mov eax, r13d
mov dword [rsp + 0x28], ebx
neg eax
mov dword [rbp + 0xa48], SafeArrayCreateVectorEx
mov dword [rbp + 0xa50], eax
lea rdx, [rbp + 0xa48]
mov rax, qword [0x1400b60a8]
xor r8d, r8d
mov dword [rbp + 0xa4c], r12d
mov dword [rbp + 0xa54], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140073008]
mov qword [rbp + 0x50], rax
test rax, rax
jne 0x14002103a
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140021b1c
mov rcx, qword [rbp + 0x40]
mov rdx, rax
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov eax, 1
cmp dword [rbp - 0x2c], eax
jne 0x14002109d
mov rax, qword [rbp + 0x80]
test rax, rax
je 0x14002109d
xor ecx, ecx
mov dword [rbp + 0x99c], r13d
mov qword [rbp + 0x994], rcx
lea rdx, [rbp + 0x990]
mov qword [rbp + 0x990], rcx
mov r8, rax
mov rcx, qword [rbp + 0x40]
mov rax, qword [0x1400b6178]
mov dword [rbp + 0x998], r12d
call qword [0x140073008]
mov eax, dword [rbp + 0x4d4]
lea rcx, [rbp + 0x690]
mov r12, qword [rbp + 0x4d8]
mov r13d, 0x68
mov dword [rsp + 0x78], eax
mov r8d, r13d
mov rax, qword [rbp + 0x4f0]
xor edx, edx
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x68], r12
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, r13d
lea rcx, [rbp + 0x850]
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor edx, edx
mov qword [rbp + 0x30], rbx
lea rcx, [rbp + 0xa78]
mov dword [rbp - 0x70], ebx
mov r13d, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9a0], xmm0
test r12, r12
je 0x140021b03
mov r12, qword [rbp + 0x40]
mov edx, 7
mov rax, qword [0x1400b60e0]
mov rcx, r12
call qword [0x140073008]
test rax, rax
jne 0x140021141
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140021b03
mov rcx, rax
lea r8, [rbp + 0x690]
mov rax, qword [0x1400b60f8]
mov edx, 0x68
call qword [0x140073008]
test eax, eax
je 0x14002117c
mov rax, qword [rbp + 0x6a8]
mov r13d, dword [rbp + 0x698]
mov qword [rbp + 0x30], rax
mov eax, dword [rbp + 0x694]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1400b60a0]
mov rcx, r12
call qword [0x140073008]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140021136
xor edx, edx
mov qword [rbp + 0x3a8], rbx
lea rcx, [rbp + 0xa78]
mov dword [rbp - 0x78], ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov eax, dword [rbp - 0x4c]
lea r9, [rbp + 0x3a8]
mov r12d, dword [rbp + 0x954]
lea rdx, [rbp + 0xa78]
mov rcx, qword [rbp - 0x68]
sub eax, edi
mov dword [rbp - 0x4c], eax
xor r8d, r8d
mov dword [rbp + 0xa7c], eax
mov eax, r12d
sub eax, dword [rbp - 0x50]
mov dword [rbp + 0xa80], eax
mov rax, qword [0x1400b60a8]
mov dword [rsp + 0x28], ebx
mov dword [rbp + 0xa78], SafeArrayCreateVectorEx
mov dword [rbp + 0xa84], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140073008]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x140021245
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x78], ecx
test ecx, ecx
js 0x14002156d
mov dword [rbp - 0x78], 0x80004005
jmp 0x14002156d
mov rcx, rax
lea r8, [rbp + 0x850]
mov rax, qword [0x1400b60f8]
mov edx, 0x68
call qword [0x140073008]
mov rdx, qword [rbp - 0x38]
mov rcx, rbx
test eax, eax
mov eax, dword [rbp - 0x50]
cmovne rcx, qword [rbp + 0x868]
sub eax, r12d
mov qword [rbp + 0x58], rcx
mov ecx, dword [rbp - 0x4c]
mov dword [rbp + 0x9a8], ecx
mov rcx, qword [rbp - 0x68]
mov dword [rbp + 0x9ac], eax
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov rcx, qword [rbp - 0x68]
mov edx, 1
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
mov rdx, qword [rbp + 0xa0]
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov qword [rbp + 0xa0], rax
xor ecx, ecx
mov rax, qword [0x1400b6100]
call qword [0x140073008]
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp + 0x9a0]
mov r8, rax
mov rax, qword [0x1400b6178]
call qword [0x140073008]
mov eax, dword [rbp + 0x10]
lea r9, [rbp + 0x9a0]
mov rdx, qword [rbp + 0x68]
or r8d, 0xffffffff
mov rcx, qword [rbp - 0x68]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
mov eax, 1
cmp dword [rbp - 0x2c], eax
jne 0x140021355
cmp dword [rsp + 0x78], ebx
je 0x14002134c
lea ecx, [rax + 7]
mov rax, qword [0x1400b61a8]
call qword [0x140073008]
mov dword [rbp - 0x50], eax
jmp 0x14002135c
mov dword [rbp - 0x50], 0xffffff
jmp 0x14002135c
mov dword [rbp - 0x50], 0xffa8a8a8
mov edx, ebx
mov ecx, ebx
test edi, edi
jns 0x14002136a
mov edx, edi
mov edi, ebx
neg edx
test r12d, r12d
jns 0x140021377
mov ecx, r12d
mov r12d, ebx
neg ecx
movsxd r8, dword [rbp + 0x9a8]
movsxd r9, dword [rbp - 0x70]
mov eax, r8d
sub eax, edx
mov r10d, r9d
sub r10d, edi
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x9ac]
sub eax, ecx
sub r13d, r12d
cmp eax, r13d
cmovl r13d, eax
test r10d, r10d
jle 0x14002153c
test r13d, r13d
jle 0x14002153c
imul ecx, r8d
movsxd rax, edx
imul r12d, r9d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x58]
lea rdx, [rax + rcx*4]
movsxd rax, edi
movsxd rcx, r12d
add rcx, rax
mov qword [rsp + 0x78], rdx
mov rax, qword [rbp + 0x30]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x30], rax
test r13d, r13d
jle 0x14002153c
mov r12d, dword [rbp - 0x50]
mov rcx, r8
shl rcx, 2
mov rdi, r9
shl rdi, 2
mov esi, 1
mov r8d, r13d
mov qword [rbp + 0x68], rdi
mov qword [rbp + 0x58], rcx
mov qword [rbp - 0x70], r8
test r10d, r10d
jle 0x14002151c
mov r11, rdx
mov r13d, r10d
sub r11, rax
lea r9, [rax + 2]
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400214fa
movzx edi, byte [r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x4e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [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 [r9 - 2], dl
movzx edi, byte [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 byte [r9 + 1], dl
add r9, 4
sub r13, rsi
jne 0x140021430
mov rax, qword [rbp + 0x30]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rbp + 0x58]
mov rdi, qword [rbp + 0x68]
mov r8, qword [rbp - 0x70]
add rdx, rcx
add rax, rdi
sub r8, rsi
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x70], r8
mov qword [rbp + 0x30], rax
jne 0x14002141a
mov esi, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov rax, qword [rbp + 0xa0]
test rax, rax
je 0x14002156d
mov rcx, qword [rbp - 0x68]
mov rdx, rax
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400b60c0]
call qword [0x140073008]
cmp dword [rbp - 0x78], ebx
jl 0x140021b03
mov eax, dword [rbp + 0x4d4]
lea rcx, [rbp + 0x700]
mov r12, qword [rbp + 0x4e0]
mov edi, 0x68
mov dword [rsp + 0x78], eax
mov r8d, edi
mov rax, qword [rbp + 0x4f8]
xor edx, edx
mov qword [rbp + 0x58], rax
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, edi
lea rcx, [rbp + 0x8c0]
xor edx, edx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor edx, edx
mov qword [rbp - 0x38], rbx
lea rcx, [rbp + 0xaa8]
mov dword [rbp - 0x70], ebx
mov edi, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9b0], xmm0
test r12, r12
je 0x140021b03
mov r13, qword [rbp + 0x40]
mov edx, 7
mov rax, qword [0x1400b60e0]
mov rcx, r13
call qword [0x140073008]
test rax, rax
je 0x140021136
mov rcx, rax
lea r8, [rbp + 0x700]
mov rax, qword [0x1400b60f8]
mov edx, 0x68
call qword [0x140073008]
test eax, eax
je 0x140021655
mov rax, qword [rbp + 0x718]
mov edi, dword [rbp + 0x708]
mov qword [rbp - 0x38], rax
mov eax, dword [rbp + 0x704]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1400b60a0]
mov rcx, r13
call qword [0x140073008]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140021136
xor edx, edx
mov qword [rbp + 0x3c0], rbx
lea rcx, [rbp + 0xaa8]
mov r13d, ebx
lea r8d, [rdx + 0x2c]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov eax, dword [rbp - 0x1c]
lea r9, [rbp + 0x3c0]
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp + 0xaa8]
sub eax, r14d
mov dword [rsp + 0x28], ebx
mov dword [rbp - 0x1c], eax
xor r8d, r8d
mov dword [rbp + 0xaac], eax
mov eax, r15d
sub eax, dword [rsp + 0x68]
mov dword [rbp + 0xab0], eax
mov rax, qword [0x1400b60a8]
mov dword [rbp + 0xaa8], SafeArrayCreateVectorEx
mov dword [rbp + 0xab4], 0x200001
mov qword [rsp + 0x20], rbx
call qword [0x140073008]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x14002171d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x140021a3f
mov r13d, 0x80004005
jmp 0x140021a3f
mov rcx, rax
lea r8, [rbp + 0x8c0]
mov rax, qword [0x1400b60f8]
mov edx, 0x68
call qword [0x140073008]
mov rdx, qword [rbp - 0x78]
mov rcx, rbx
test eax, eax
mov eax, dword [rbp - 0x1c]
mov dword [rbp + 0x9b8], eax
cmovne rcx, qword [rbp + 0x8d8]
mov eax, dword [rsp + 0x68]
sub eax, r15d
mov qword [rbp + 0x68], rcx
mov rcx, qword [rbp - 0x68]
mov dword [rbp + 0x9bc], eax
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov rcx, qword [rbp - 0x68]
mov edx, 1
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov qword [rbp + 0xa0], rax
xor ecx, ecx
mov rax, qword [0x1400b6100]
call qword [0x140073008]
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp + 0x9b0]
mov r8, rax
mov rax, qword [0x1400b6178]
call qword [0x140073008]
mov eax, dword [rbp + 0x10]
lea r9, [rbp + 0x9b0]
mov rdx, r12
mov qword [rsp + 0x28], rbx
mov r12, qword [rbp - 0x68]
or r8d, 0xffffffff
mov dword [rsp + 0x20], eax
mov rcx, r12
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
mov eax, 1
cmp dword [rbp - 0x2c], eax
jne 0x14002182a
cmp dword [rsp + 0x78], ebx
je 0x140021821
lea ecx, [rax + 7]
mov rax, qword [0x1400b61a8]
call qword [0x140073008]
jmp 0x14002182f
mov dword [rbp + 0x10], 0xffffff
jmp 0x140021835
mov eax, 0xffa8a8a8
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x70], eax
mov edx, ebx
mov ecx, ebx
test r14d, r14d
jns 0x140021846
mov edx, r14d
mov r14d, ebx
neg edx
test r15d, r15d
jns 0x140021853
mov ecx, r15d
mov r15d, ebx
neg ecx
movsxd r8, dword [rbp + 0x9b8]
movsxd r9, dword [rbp - 0x70]
mov eax, r8d
sub eax, edx
mov r10d, r9d
sub r10d, r14d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x9bc]
sub eax, ecx
sub edi, r15d
cmp eax, edi
cmovl edi, eax
test r10d, r10d
jle 0x140021a0f
test edi, edi
jle 0x140021a0f
imul ecx, r8d
movsxd rax, edx
imul r15d, r9d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x68]
lea rdx, [rax + rcx*4]
movsxd rax, r14d
movsxd rcx, r15d
add rcx, rax
mov qword [rbp + 0x30], rdx
mov rax, qword [rbp - 0x38]
lea r14, [rax + rcx*4]
test edi, edi
jle 0x140021a0f
mov r12d, dword [rbp + 0x70]
mov r15, r8
shl r15, 2
mov rax, r9
shl rax, 2
mov esi, 1
mov ecx, edi
mov qword [rbp + 0x58], rax
mov qword [rsp + 0x78], rcx
test r10d, r10d
jle 0x1400219ef
mov r11, rdx
mov edi, r10d
sub r11, r14
mov qword [rbp - 0x38], rdi
lea r9, [r14 + 2]
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400219d1
movzx edi, byte [r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x11]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x12]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [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 [r9 - 2], dl
movzx edi, byte [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 - 0x38]
mov byte [r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x38], rdi
jne 0x140021903
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x58]
mov rcx, qword [rsp + 0x78]
add rdx, r15
add r14, rax
sub rcx, rsi
mov qword [rbp + 0x30], rdx
mov qword [rsp + 0x78], rcx
jne 0x1400218e9
mov esi, dword [rsp + 0x60]
mov r12, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x78]
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov rax, qword [rbp + 0xa0]
test rax, rax
je 0x140021a3f
mov rdx, rax
mov rcx, r12
mov rax, qword [0x1400b6108]
call qword [0x140073008]
mov rcx, qword [rbp - 0x68]
mov rax, qword [0x1400b60c0]
call qword [0x140073008]
test r13d, r13d
js 0x140021b03
mov r9d, dword [rbp - 0x80]
mov eax, 1
mov rdi, qword [rbp + 0x48]
cmp dword [rbp - 0x2c], eax
jne 0x140021aaa
mov rax, qword [rbp + 0x40]
mov rcx, rdi
mov r8d, dword [rbp + 0x510]
mov edx, dword [rbp + 0x50c]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 8]
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400b6090]
call qword [0x140073008]
jmp 0x140021aef
mov eax, dword [rbp - 8]
mov ecx, dword [rbp + 0x78]
mov r8d, dword [rbp + 0x934]
mov edx, dword [rbp + 0x930]
mov dword [rsp + 0x50], ecx
mov rcx, qword [rbp + 0x40]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rcx
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
mov edx, dword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140006b70]
call qword [0x140073008]
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x140021b1c
mov rcx, rax
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov rax, qword [rbp + 0x40]
test rax, rax
je 0x140021b35
mov rcx, rax
mov rax, qword [0x1400b60c0]
call qword [0x140073008]
mov r13d, 1
mov rax, qword [rbp + 0x80]
test rax, rax
je 0x140021b57
mov rcx, rax
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov rax, qword [rbp + 0x4d8]
or r14, 0xffffffffffffffff
test rax, rax
je 0x140021ba8
mov rcx, r14
inc rcx
cmp word [rax + rcx*2], bx
jne 0x140021b6a
mov rdi, qword [rbp + 0x4d8]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4d8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x4d8], rbx
mov r12, qword [rbp + 0x4e0]
test r12, r12
je 0x140021bf6
mov rcx, r14
inc rcx
cmp word [r12 + rcx*2], bx
jne 0x140021bb7
mov rdi, qword [rbp + 0x4e0]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4e0]
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 + 0x4e0], rbx
mov rdi, qword [rbp + 0x4e8]
test rdi, rdi
je 0x140021c3c
mov rcx, r14
inc rcx
cmp word [rdi + rcx*2], bx
jne 0x140021c05
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4e8]
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 + 0x4e8], rbx
mov rcx, qword [rbp + 0x4f0]
test rcx, rcx
je 0x140021c5c
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov qword [rbp + 0x4f0], rbx
mov rcx, qword [rbp + 0x4f8]
test rcx, rcx
je 0x140021c7c
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov qword [rbp + 0x4f8], rbx
mov rcx, qword [rbp + 0x500]
test rcx, rcx
je 0x140021c9c
mov rax, qword [0x1400b60c8]
call qword [0x140073008]
mov qword [rbp + 0x500], rbx
xor eax, eax
lock cmpxchg dword [0x1400bd3e8], r13d
jne 0x140021c9c
mov eax, dword [0x1400bd3e4]
test eax, eax
jle 0x140021d0c
sub eax, r13d
mov dword [0x1400bd3e4], eax
jne 0x140021d0c
lea r15, [0x1400bd130]
mov r14d, 4
mov rdi, r15
cmp qword [rdi], rbx
je 0x140021cdc
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x140021cce
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400718c0]
lea rcx, [0x1400b6090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
xchg dword [0x1400bd3e8], eax
mov eax, dword [0x1400bd120]
mov dword [rbp - 0x70], eax
mov rax, qword [0x1400b6128]
call qword [0x140073008]
xor edx, edx
mov dword [rbp + 0xd20], ebx
sub eax, dword [0x1400bd110]
lea rcx, [rbp + 0xd28]
mov qword [rbp + 0x68], rax
lea r8d, [rdx + 0x38]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xor eax, eax
lock cmpxchg dword [0x1400bd3e8], r13d
jne 0x140021d4c
mov eax, dword [0x1400bd3e4]
test eax, eax
jne 0x140022343
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x70], ebx
mov dword [rbp - 0x78], ebx
mov qword [rbp + 0x170], rbx
mov qword [rbp + 0x2d8], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x58], rax
test rax, rax
je 0x1400222be
mov byte [rsp + 0x64], bl
lea r12, [rax + 7]
mov r14d, ebx
mov dword [rbp + 0x14], ebx
mov r13d, ebx
mov dword [rbp + 0x24], ebx
mov r11d, ebx
lea r15, [0x14008dc42]
mov ebx, 0x67
or ecx, 0xffffffff
lea esi, [rbx - 0x66]
movzx eax, byte [r15 - 1]
movzx r10d, byte [r15 - 2]
movzx r9d, byte [r15 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r15 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 3]
shl r9d, 8
or r9d, eax
xor r13d, r9d
xor r13d, r11d
xor r13d, 0xac987321
lea eax, [r13 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r13d
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 r13d, edx
lea eax, [r13 - 0x137f]
imul edx, eax, 0x605e
mov eax, r13d
shr eax, 0xd
sub edx, eax
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 r13d, edx
mov edx, r13d
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 r13d, edi
mov edi, 0xab69605e
lea eax, [r13 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r13d
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 r13d, edx
mov eax, r13d
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r13d
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 r13d, edx
mov eax, r13d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, r13d
mov r13d, 0xab69
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
mov eax, r8d
mov edi, r8d
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, r13d
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add edx, eax
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, r13d
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r8d
ror eax, 6
sub edx, eax
xor edi, edx
lea eax, [rdi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, edi
rol eax, 0xe
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xe
sub edx, eax
xor edi, edx
mov eax, edi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, edi
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
xor r8d, ecx
mov dword [rbp + 0x14], r8d
mov ecx, r9d
xor edx, eax
xor edx, r14d
mov r14d, r10d
xor edi, edx
mov dword [rbp + 0x24], edi
mov byte [r12 - 4], dil
mov al, byte [rbp + 0x14]
ror dword [rbp + 0x24], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 0xd], al
mov al, byte [rbp + 0x14]
ror dword [rbp + 0x24], 8
mov byte [r12 - 9], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 0xe], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x14]
mov byte [r12 - 0xa], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 0xf], al
mov al, byte [rbp + 0x14]
mov byte [r12 - 0xb], al
mov r11d, dword [rbp + 0x24]
mov r13d, dword [rbp + 0x14]
ror r11d, 8
ror r13d, 8
mov dword [rbp + 0x24], r11d
mov dword [rbp + 0x14], r13d
sub rbx, rsi
jne 0x140021dcd
mov cl, byte [rsp + 0x64]
lea r13d, [rbx + 1]
mov esi, dword [rsp + 0x60]
mov rax, rbx
mov r14d, dword [rsp + 0x70]
mov edx, 0x338
mov r15, qword [rbp + 0x58]
xor cl, byte [rax + r15]
add rax, r13
cmp rax, rdx
jb 0x14002210d
movzx eax, cl
cmp rax, qword [0x14008df78]
je 0x14002212c
mov edi, 0xc004d501
jmp 0x140022140
mov qword [rbp + 0x170], r15
mov edi, r14d
mov r15, rbx
mov qword [rbp + 0x2d8], rdx
test r15, r15
je 0x140022159
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 0x1400222be
mov rax, qword [rbp + 0x2d8]
lea r15, [0x1400bd130]
mov rdi, qword [rbp + 0x170]
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 0x60]
mov byte [rax + rdi - 1], bl
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
jmp 0x1400222ac
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x140022194
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x78]
lea rcx, [rax + rax*2]
lea r15, [r15 + rcx*8]
xor ecx, ecx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400222be
mov rax, qword [r15]
mov ecx, 0x5a4d
mov r14d, ebx
cmp word [rax], cx
je 0x1400221d7
mov r14d, 0xc000007b
jmp 0x140022223
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400221cf
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x1400221cf
cmp dword [rcx], 0x4550
jne 0x1400221cf
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140022211
mov r14d, 0xc000000d
jmp 0x140022223
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov r13d, dword [rdi + 2]
mov r12d, ebx
add rdi, 6
test r13d, r13d
je 0x14002229b
mov qword [rbp + 0x2e0], rbx
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x140022241
inc rdi
add rdi, rax
test r14d, r14d
js 0x140022284
lea r9, [rbp + 0x2e0]
mov r8, r15
xor edx, edx
call fcn.140042dbc
mov r14d, eax
test eax, eax
js 0x1400222b6
mov eax, dword [rsp + 0x68]
lea r8, [0x1400b6090]
mov rcx, qword [rbp + 0x2e0]
mov qword [r8 + rax*8], rcx
jmp 0x140022288
mov eax, dword [rsp + 0x68]
mov ecx, 1
add eax, ecx
add r12d, ecx
mov dword [rsp + 0x68], eax
cmp r12d, r13d
jb 0x140022233
mov r13d, 1
lea r15, [0x1400bd130]
add dword [rbp - 0x78], r13d
cmp byte [rdi], bl
jne 0x14002218d
jmp 0x1400222c4
mov r13d, 1
jmp 0x1400222c4
mov r14d, 0xc000007a
cmp qword [rbp + 0x170], rbx
je 0x1400222e5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x170]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
jns 0x14002233d
lea r15, [0x1400bd130]
mov r14d, 4
mov rdi, r15
cmp qword [rdi], rbx
je 0x140022308
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x1400222fa
lea r12d, [r14 + 0x60]
xor edx, edx
mov r8d, r12d
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400718c0]
lea rcx, [0x1400b6090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140022359
mov eax, dword [0x1400bd3e4]
add eax, r13d
lea r15, [0x1400bd130]
mov dword [0x1400bd3e4], eax
mov r12d, 0x60
mov rcx, qword [rbp + 0x68]
lea r9, [rbp + 0xd20]
mov eax, ebx
mov r14d, 4
xchg dword [0x1400bd3e8], eax
mov eax, dword [rbp - 0x70]
mov r8d, r14d
mov dword [rbp + 0xd58], eax
mov edx, 0x2021
mov rax, qword [0x1400b6160]
mov dword [rbp + 0xd28], ecx
xor ecx, ecx
mov dword [rbp + 0xd20], r13d
mov dword [rbp + 0xd38], 0x9966f291
mov dword [rbp + 0xd30], r13d
mov dword [rbp + 0xd48], r13d
mov dword [rbp + 0xd40], r13d
mov dword [rbp + 0xd50], r13d
call qword [0x140073008]
xor eax, eax
lock cmpxchg dword [0x1400bd3e8], r13d
jne 0x1400223c5
mov eax, dword [0x1400bd3e4]
test eax, eax
jle 0x140022427
sub eax, r13d
mov dword [0x1400bd3e4], eax
jne 0x140022427
mov rdi, r15
cmp qword [rdi], rbx
je 0x1400223f8
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r13
jne 0x1400223ea
mov r8, r12
xor edx, edx
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov r8d, 0x170
lea rdx, [0x1400718c0]
lea rcx, [0x1400b6090]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
xchg dword [0x1400bd3e8], eax
mov rdx, qword [rbp + 0x48]
xor ecx, ecx
mov rax, qword [0x1400b61f0]
call qword [0x140073008]
lea rcx, [rbp + 0x3c8]
call fcn.14000f9e0
cmp dword [rbp + 0x64], ebx
je 0x1400242ec
xor eax, eax
mov dword [rbp - 0x18], ebx
mov qword [rbp - 0x14], rax
mov edi, LoadRegTypeLib
mov dword [rbp - 0xc], eax
mov r14, rbx
mov qword [rbp + 0x11c], rax
mov r15, rbx
mov dword [rbp + 0x124], eax
lea rax, [0x1400bc290]
mov qword [rbp + 0x3d0], rax
mov dword [rbp + 0x118], ebx
mov dword [rbp + 0xe0], ebx
mov qword [rbp + 0x2e8], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edi, 8
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x140024265
mov r8, qword [rbp + 0x2e8]
mov rcx, rax
mov rdx, qword [rbp + 0x3d0]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13d, dword [rbp + 0x2e8]
mov r14, r12
mov qword [rbp - 0x78], r12
lea rax, [0x1400bc1d0]
mov qword [rbp + 0x2f0], rdi
mov qword [rbp + 0x3d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x68], rax
mov rdi, rax
test rax, rax
je 0x140024265
mov r8, qword [rbp + 0x2f0]
mov rcx, rax
mov rdx, qword [rbp + 0x3d8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15, rdi
mov qword [rbp - 0x80], rdi
mov rdi, qword [rbp + 0x2f0]
mov qword [rbp + 0x58], rdi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x3e0], rax
mov dword [rbp + 0xc8], 8
lea r14d, [r13 + 4]
cmp r14d, 4
jb 0x140024259
mov dword [rbp + 0xc8], r14d
lea ecx, [r14 + 8]
or edx, 0xffffffff
cmp ecx, 8
jb 0x140022585
mov eax, ebx
jmp 0x14002258c
mov ecx, edx
mov eax, 0xc0000095
mov r8d, 0x10000000
or eax, r8d
jl 0x140024259
lea r15d, [rdi + 4]
cmp r15d, 4
jb 0x14002425e
mov dword [rbp + 0xc8], r15d
lea eax, [r15 + rcx]
cmp eax, ecx
jb 0x1400225bc
mov ecx, ebx
jmp 0x1400225c3
mov eax, edx
mov ecx, 0xc0000095
or ecx, r8d
jl 0x14002425e
mov dword [rbp + SafeArrayGetDim8], 0xc
lea ecx, [rax + 0xc]
cmp ecx, eax
jb 0x1400225e1
mov eax, ebx
jmp 0x1400225e8
mov ecx, edx
mov eax, 0xc0000095
or eax, r8d
jl 0x14002425e
mov dword [rbp - 0x14], 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
je 0x14002425e
mov qword [rbp - 0x10], rax
mov ecx, ebx
mov dword [rbp - 0x18], ebx
lea rax, [rbp + 0x158]
mov dword [rbp + 0x158], 4
test rax, rax
je 0x14002267a
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14002425e
mov ecx, dword [rbp - 0x14]
lea rax, [rdx + 8]
add rcx, rdx
mov r8d, ebx
cmp rax, rcx
ja 0x14002425e
mov dword [rdx], 4
mov r11d, 1
mov eax, dword [rbp + 0x158]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x18]
add ecx, r11d
mov dword [rbp - 0x18], ecx
jmp 0x140022686
mov r8d, 0xc000000d
mov r11d, 1
test r8d, r8d
js 0x14002425e
test r13d, r13d
je 0x14002273f
cmp qword [rbp - 0x10], rbx
jne 0x1400226c2
mov dword [rbp + 0x1fc], r14d
mov eax, dword [rbp - 0x14]
lea edi, [rax + r14]
cmp edi, eax
jb 0x14002425e
add ecx, r11d
mov dword [rbp - 0x14], edi
mov dword [rbp - 0x18], ecx
jmp 0x140022751
mov rdi, qword [rbp - 0x10]
mov edx, ebx
test ecx, ecx
je 0x1400226f9
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14002425e
mov dword [rbp + 0x1fc], eax
mov r8d, eax
add r8, rdi
cmp r8, rdi
jb 0x14002425e
add edx, r11d
mov rdi, r8
cmp edx, ecx
jb 0x1400226cc
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x14002425e
mov edx, dword [rbp - 0x14]
lea rax, [r13 + 4]
add rdx, qword [rbp - 0x10]
add rax, rdi
mov r14d, ebx
mov r8, r13
cmp rax, rdx
ja 0x14002425e
mov rdx, r12
mov dword [rdi], r13d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp - 0x18]
mov r11d, 1
add ecx, r11d
mov dword [rbp - 0x18], ecx
jmp 0x140022745
mov r14d, 0xc000000d
test r14d, r14d
js 0x14002425e
mov edi, dword [rbp - 0x14]
mov r10, qword [rbp + 0x58]
test r10d, r10d
je 0x14002280b
cmp qword [rbp - 0x10], rbx
jne 0x140022787
mov dword [rbp + 0x1f8], r15d
lea eax, [rdi + r15]
cmp eax, edi
jb 0x14002425e
add ecx, r11d
mov dword [rbp - 0x14], eax
mov dword [rbp - 0x18], ecx
mov edi, eax
jmp 0x14002281a
mov r8, qword [rbp - 0x10]
mov edx, ebx
test ecx, ecx
je 0x1400227bf
mov eax, dword [r8]
add eax, 4
cmp eax, 4
jb 0x14002425e
mov dword [rbp + 0x1f8], eax
mov r9d, eax
add r9, r8
cmp r9, r8
jb 0x14002425e
add edx, r11d
mov r8, r9
cmp edx, ecx
jb 0x140022791
lea rcx, [r8 + 4]
cmp rcx, r8
jb 0x14002425e
mov r9d, r10d
mov r14d, ebx
mov edx, edi
add rdx, qword [rbp - 0x10]
lea rax, [r9 + 4]
add rax, r8
cmp rax, rdx
ja 0x14002425e
mov rdx, qword [rbp + 0x68]
mov dword [r8], r10d
mov r8d, r9d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbp - 0x18]
mov r11d, 1
mov edi, dword [rbp - 0x14]
add ecx, r11d
mov dword [rbp - 0x18], ecx
jmp 0x140022811
mov r14d, 0xc000000d
test r14d, r14d
js 0x140024255
mov rax, qword [rbp + 0x3e0]
mov qword [rbp + 0x260], rax
lea rax, [rbp + 0x260]
test rax, rax
je 0x1400228e0
cmp qword [rbp - 0x10], rbx
jne 0x140022863
mov dword [rbp + 0x22c], SafeArrayGetDim
lea eax, [rdi + 0xc]
cmp eax, edi
jb 0x14002425e
add ecx, r11d
mov dword [rbp - 0x14], eax
mov dword [rbp - 0x18], ecx
mov edi, eax
jmp 0x1400228ef
mov rdx, qword [rbp - 0x10]
mov r8d, ebx
test ecx, ecx
je 0x14002289c
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14002425e
mov dword [rbp + 0x22c], eax
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x14002425e
add r8d, r11d
mov rdx, r9
cmp r8d, ecx
jb 0x14002286e
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x14002425e
mov ecx, edi
lea rax, [rdx + 0xc]
add rcx, qword [rbp - 0x10]
mov r9d, ebx
cmp rax, rcx
ja 0x14002425e
mov dword [rdx], 8
movsd xmm0, qword [rbp + 0x260]
movsd qword [r8], xmm0
mov ecx, dword [rbp - 0x18]
mov edi, dword [rbp - 0x14]
add ecx, r11d
mov dword [rbp - 0x18], ecx
jmp 0x1400228e6
mov r9d, 0xc000000d
test r9d, r9d
js 0x14002425e
mov dword [rbp + 0x314], SafeArrayGetDim
mov r8, rbx
mov qword [rbp + 0x48], rbx
mov r12d, ebx
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x80], rbx
mov r13d, ebx
mov dword [rbp - 0x70], ebx
mov qword [rbp - 0x68], rbx
mov dword [rbp + 0x3c], ebx
mov qword [rbp + 0x40], rbx
mov qword [rbp - 8], rbx
mov dword [rbp + 0x9c], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x238], rax
add edi, 8
cmp edi, 8
jb 0x140022a18
mov eax, edi
add rax, 7
mov dword [rbp + 0xbc], edi
and eax, 0xfffffff8
cmp eax, edi
jb 0x140022a1f
mov dword [rbp + 0xbc], 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 0x140022997
mov ecx, dword [rbp - 0x18]
mov r14d, 0xc0000017
mov r8, rbx
jmp 0x140022a25
mov eax, dword [rbp - 0x18]
lea rdx, [rdi + 4]
mov dword [rdi], eax
cmp rdx, rdi
jb 0x1400229e8
mov eax, dword [rbp - 0x14]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x1400229e8
mov edx, dword [rbp + 0xbc]
mov r14d, ebx
mov rax, qword [rbp + 0x238]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp - 0x14]
mov rdx, qword [rbp - 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12d, dword [rbp + 0xbc]
mov r8, rdi
mov qword [rbp + 0x48], rdi
mov rdi, rbx
jmp 0x1400229f1
mov r8, rbx
mov r14d, 0xc0000095
test rdi, rdi
je 0x140022a13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp - 0x18]
mov r8, qword [rbp + 0x48]
jmp 0x140022a25
mov ecx, dword [rbp - 0x18]
jmp 0x140022a25
or dword [rbp + 0xbc], 0xffffffff
mov r14d, 0xc0000095
or r14d, 0x10000000
jl 0x14002401e
mov qword [rbp + 0x3f0], rbx
mov r15, rbx
mov qword [rbp + 0x3f8], rbx
mov qword [rbp + 0x440], rbx
mov qword [rbp + 0x408], rbx
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x3e8], rbx
test r8, r8
jne 0x140022a6f
mov r14d, 0xc000000d
jmp 0x1400231dc
mov r14d, r12d
mov qword [rbp + 0x58], r14
test r12d, r12d
je 0x140023129
lea rdi, [r14 + 8]
mov qword [rbp + 0xa0], 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 + 0x68], rax
mov r13, rax
test rax, rax
je 0x140023126
mov r10, qword [rbp + 0x48]
mov dl, bl
mov rcx, rbx
test r12d, r12d
je 0x140022acd
mov eax, 1
xor dl, byte [rcx + r10]
add rcx, rax
cmp rcx, r14
jb 0x140022ac1
or r11d, 0xffffffff
mov dword [rbp - 0x20], ebx
mov r8, r14
mov dword [rbp - 0x3c], r11d
mov dword [rsp + 0x68], ebx
mov r9, r13
mov dword [rbp - 0x50], ebx
mov edi, ebx
and r8d, 7
je 0x140022bc5
mov dword [rsp + 0x68], ebx
mov r12d, ebx
mov dword [rbp - 0x50], ebx
mov ecx, ebx
mov r11d, ebx
test r8d, r8d
jle 0x140022b45
mov edi, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x140022b23
lea ecx, [rdi - 0x20]
shl eax, cl
mov ecx, dword [rbp - 0x50]
or ecx, eax
mov dword [rbp - 0x50], ecx
jmp 0x140022b2d
mov ecx, edi
shl eax, cl
mov ecx, dword [rbp - 0x50]
or r12d, eax
mov eax, 1
sub edi, 8
add r10, rax
add r11d, eax
cmp r11d, r8d
jl 0x140022b0a
mov dword [rsp + 0x68], r12d
mov edi, ecx
mov r11d, r12d
xor edi, 0xb17a307a
xor r11d, 0x42f6b18d
mov dword [rbp - 0x20], edi
mov eax, ebx
mov dword [rbp - 0x3c], r11d
test r8d, r8d
jle 0x140022b8f
mov ecx, 1
cmp eax, 4
jge 0x140022b77
rol edi, 8
mov byte [r9], dil
jmp 0x140022b7e
rol r11d, 8
mov byte [r9], r11b
add r9, rcx
add eax, ecx
cmp eax, r8d
jl 0x140022b6a
mov edi, dword [rbp - 0x20]
mov r11d, dword [rbp - 0x3c]
lea eax, [r8 - 4]
test eax, eax
jle 0x140022bad
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x3c], r11d
jmp 0x140022bc5
mov dword [rbp - 0x3c], ebx
mov r11d, ebx
test eax, eax
jns 0x140022bc5
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x20], edi
mov r12, r14
shr r12, 3
test r12, r12
je 0x140022f10
mov r15d, dword [rsp + 0x68]
lea r14, [r9 + 7]
mov r13d, dword [rbp - 0x50]
lea rbx, [r10 + 2]
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
movzx eax, byte [rbx - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [rbx - 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
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, 0xc81ecb17
rol eax, 8
imul ecx, eax, 0x4a58
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, 0xc81ecb17
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 - 0x20], r8d
xor r11d, 0x79ab814f
xor r11d, r15d
mov r13d, r10d
mov dword [rbp - 0x3c], r11d
mov r15d, r9d
mov byte [r14 - 4], r8b
mov al, byte [rbp - 0x3c]
ror dword [rbp - 0x20], 8
mov byte [r14], al
lea r14, [r14 + 8]
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 0xd], al
mov al, byte [rbp - 0x3c]
ror dword [rbp - 0x20], 8
mov byte [r14 - 9], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 0xe], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x3c]
mov byte [r14 - 0xa], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x20]
mov byte [r14 - 0xf], al
mov al, byte [rbp - 0x3c]
mov byte [r14 - 0xb], al
mov edi, dword [rbp - 0x20]
mov r11d, dword [rbp - 0x3c]
ror edi, 8
ror r11d, 8
mov dword [rbp - 0x20], edi
mov dword [rbp - 0x3c], r11d
sub r12, rsi
jne 0x140022beb
mov esi, dword [rsp + 0x60]
xor ebx, ebx
mov r14, qword [rbp + 0x58]
mov r15d, ebx
mov r13, qword [rbp + 0x68]
movzx eax, dl
mov qword [r14 + r13], rax
mov r14, qword [rbp + 0xa0]
mov qword [rbp + 0x3e8], r14
mov qword [rbp + 0x1b8], r13
lea rax, [0x1400bc280]
mov edi, 8
mov qword [rbp + 0x3f0], rax
mov qword [rbp + 0x3f8], rdi
lea r12, [0x1400bc1e0]
mov qword [rbp + 0x408], LoadRegTypeLib
mov qword [rbp + 0x440], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8d, [rdi + 0x28]
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140022f87
mov r14d, 0xc0000017
jmp 0x140023112
mov dword [rax], r14d
mov r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r14d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140022fb4
mov r14d, 0xc0000017
jmp 0x140023096
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, LoadRegTypeLib
mov dword [rdi + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r14d
mov r14d, 8
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140022fa9
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r12]
lea ecx, [r14 + 0x78]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [rax + rcx - 0x10], xmm1
movups xmm0, xmmword [r12 + rcx]
movups xmmword [rax + rcx], xmm0
movups xmm1, xmmword [r12 + rcx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
mov dword [rdi + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r14d
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140022fa9
mov qword [rdi + 0x28], rax
movsd xmm0, qword [0x1400bc280]
mov r15, rdi
movsd qword [rax], xmm0
mov r14d, ebx
mov rdi, rbx
test rdi, rdi
je 0x140023112
mov r12, qword [rdi + 8]
test r12, r12
je 0x1400230bc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x1400230dd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x1400230fe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], 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 ecx, dword [rbp - 0x18]
test r14d, r14d
js 0x14002312f
mov qword [rbp + 0x168], r15
mov r15, rbx
jmp 0x14002312f
mov ecx, dword [rbp - 0x18]
mov r14d, 0xc0000001
mov rdi, qword [rbp + 0x1b8]
test rdi, rdi
je 0x140023159
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp - 0x18]
mov qword [rbp + 0x1b8], rbx
test r15, r15
je 0x1400231d8
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x14002317f
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 [r15 + 8], rbx
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x1400231a0
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 [r15 + 0x18], rbx
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x1400231c1
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 [r15 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp - 0x18]
mov r13d, dword [rbp - 0x70]
or r14d, 0x10000000
jl 0x14002401e
mov r15, qword [rbp + 0x168]
mov edx, dword [r15]
mov r8d, dword [r15 + 0x20]
add edx, 4
mov edi, dword [r15 + 0x10]
cmp edx, 4
jb 0x14002332f
lea eax, [rdx + 4]
cmp eax, edx
jb 0x14002332f
lea edx, [rax + rdi]
cmp edx, eax
jb 0x14002332f
lea eax, [rdx + 4]
cmp eax, edx
jb 0x14002332f
lea edx, [rax + r8]
cmp edx, eax
jb 0x14002332f
mov dword [rbp + 0x1f4], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14002326f
mov r14d, 0xc0000017
mov ecx, dword [rbp - 0x18]
mov r12d, 0xc0000095
jmp 0x140023338
mov eax, dword [r15]
lea r14, [rdi + 4]
mov dword [rdi], eax
cmp r14, rdi
jb 0x140023307
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 0x140023307
mov eax, dword [r15 + 0x10]
lea r14, [rcx + 4]
mov dword [rcx], eax
cmp r14, rcx
jb 0x140023307
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 0x140023307
mov eax, dword [r15 + 0x20]
lea r14, [rcx + 4]
mov dword [rcx], eax
cmp r14, rcx
jb 0x140023307
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 0x140023307
mov r13d, dword [rbp + 0x1f4]
mov r14d, ebx
mov qword [rbp + 0x80], rdi
mov rdi, rbx
jmp 0x14002330d
mov r14d, 0xc0000095
test rdi, rdi
je 0x140023261
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140023261
mov r12d, 0xc0000095
mov r14d, r12d
or r14d, 0x10000000
jl 0x14002401e
mov qword [rbp + 0x410], rbx
mov dword [rbp + 0x1e8], ebx
mov qword [rbp + 0x418], rbx
mov dword [rbp + 0x1c0], ebx
mov dword [rbp + 0x32c], 0x1c
mov dword [rbp + 0x310], SafeArrayCreateVectorEx
mov dword [rbp + 0x400], SafeArrayCreateVectorEx
mov r15d, 1
cmp qword [rbp - 0x10], rbx
jne 0x140023394
mov r14d, 0xc000000d
jmp 0x140023461
cmp ecx, r15d
jbe 0x140023389
mov rax, qword [rbp - 0x10]
mov edi, ebx
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14002345e
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x14002345e
add edi, r15d
cmp edi, r15d
jb 0x14002339f
mov edi, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14002345e
test edi, edi
mov dword [rbp + 0x1e8], edi
cmove rdx, rbx
mov qword [rbp + 0x410], rdx
cmp ecx, 2
jbe 0x140023389
mov rax, qword [rbp - 0x10]
mov edx, ebx
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14002345e
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14002345e
add edx, r15d
cmp edx, 2
jb 0x1400233ef
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14002345e
test edx, edx
mov dword [rbp + 0x1c0], edx
cmove rcx, rbx
mov qword [rbp + 0x418], rcx
lea eax, [rdi + 0x30]
cmp eax, 0x30
jb 0x14002345e
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x14002345e
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x14002345e
mov r14d, ebx
mov dword [rbp + 0x334], eax
cmp eax, 0x400000
jbe 0x140023459
mov r14d, 0x8000ffff
jmp 0x14002401e
mov dword [rbp + 0x3c], eax
jmp 0x140023461
mov r14d, r12d
test r14d, r14d
js 0x14002401e
mov edi, dword [rbp + 0x3c]
mov r14d, 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 0x140023497
mov r14d, 0xc0000017
mov rdi, rbx
jmp 0x14002349e
mov rdi, rax
mov qword [rbp - 0x68], rax
or r14d, 0x10000000
jl 0x14002401e
mov rax, qword [rbp + 0x80]
test rax, rax
jne 0x1400234c2
mov r14d, 0x80070057
jmp 0x14002401e
test rdi, rdi
je 0x1400234b7
mov qword [rbp + 0x468], rax
lea r8, [rbp + 0x420]
mov eax, dword [rbp + 0x3c]
lea rdx, [0x140088238]
mov ecx, r15d
mov dword [rbp + 0x47c], eax
mov dword [rbp + 0x478], r13d
mov qword [rbp + 0x470], rdi
mov dword [rbp + 0x480], ebx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14002352d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
test r14d, r14d
js 0x140023528
mov r14d, 0x80004005
mov edx, dword [rbp + 0x3c]
jmp 0x140023575
mov rcx, qword [rbp + 0x420]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140023506
xor r9d, r9d
lea rdx, [rbp + 0x468]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x140073008]
mov edx, dword [rbp + 0x3c]
mov r14d, eax
or r14d, 0x10000000
cmovge edx, dword [rbp + 0x47c]
mov dword [rbp + 0x3c], edx
cmp r14d, 0xd0000023
jne 0x140023589
mov r14d, 0x8007007a
jmp 0x14002401e
test r14d, r14d
js 0x14002401e
mov r15, rbx
cmp edx, 4
jae 0x1400235a5
mov r14d, 0xc000003e
jmp 0x1400238cf
mov r13d, dword [rdi]
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x1400238cc
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x14002359a
lea r9, [rcx + r13]
mov qword [rbp + 0x68], r9
cmp r9, rcx
jb 0x1400238cc
lea r8d, [r13 + 4]
cmp r8d, 4
jb 0x1400238cc
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14002359a
mov ecx, dword [r9]
lea rdi, [r9 + 4]
mov dword [rsp + 0x70], ecx
cmp rdi, r9
jb 0x1400238cc
lea r9d, [r8 + 4]
cmp r9d, r8d
jb 0x1400238cc
mov eax, edx
sub eax, r9d
cmp eax, ecx
jb 0x14002359a
lea r10, [rcx + rdi]
mov qword [rbp + 0x50], rcx
cmp r10, rdi
jb 0x1400238cc
lea r8d, [rcx + r9]
cmp r8d, r9d
jb 0x1400238cc
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14002359a
mov r12d, dword [r10]
lea rax, [r10 + 4]
mov qword [rbp + 0xa0], rax
cmp rax, r10
jb 0x1400238c4
lea edi, [r8 + 4]
cmp edi, r8d
jb 0x1400238c4
mov eax, edx
sub eax, edi
cmp eax, r12d
jb 0x14002359a
lea r8d, [r12 + rdi]
cmp r8d, edi
jb 0x1400238c4
cmp edx, r8d
jne 0x14002359a
add ecx, r12d
mov eax, edx
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x14002359a
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 0x1400236c3
mov r14d, 0xc0000017
jmp 0x140023836
mov rax, qword [rbp - 0x68]
mov r14d, ebx
add rax, 4
je 0x140023713
mov dword [rdi], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, rax
test rax, rax
jne 0x1400236fd
mov r14d, 0xc0000017
jmp 0x1400237ba
mov qword [rdi + 8], rax
mov rdx, qword [rbp - 0x68]
mov r8, r13
add rdx, 4
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140023719
mov dword [rdi], ebx
mov qword [rdi + 8], rbx
mov r13, qword [rbp + 0x68]
add r13, 4
je 0x14002375f
mov eax, dword [rsp + 0x70]
mov dword [rdi + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x50]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400236f2
mov qword [rdi + 0x18], rax
mov r8, qword [rbp + 0x50]
mov rdx, r13
mov rcx, rax
mov r14d, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140023766
mov dword [rdi + 0x10], ebx
mov qword [rdi + 0x18], rbx
mov r13, qword [rbp + 0xa0]
test r13, r13
je 0x1400237ad
mov dword [rdi + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400236f2
mov qword [rdi + 0x28], rax
mov r8, r12
mov rdx, r13
mov rcx, rax
mov r14d, ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x1400237b4
mov dword [rdi + 0x20], ebx
mov qword [rdi + 0x28], rbx
mov r15, rdi
mov rdi, rbx
test rdi, rdi
je 0x140023836
mov r12, qword [rdi + 8]
test r12, r12
je 0x1400237e0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], rbx
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140023801
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], rbx
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x140023822
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], 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 r14d, r14d
js 0x140023842
mov qword [rbp + 0x40], r15
mov r15, rbx
test r15, r15
je 0x1400238cf
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x14002386c
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 [r15 + 8], rbx
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x14002388d
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 [r15 + 0x18], rbx
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x1400238ae
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 [r15 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400238cf
mov r14d, 0xc0000095
jmp 0x1400238cf
mov r14d, r12d
or r14d, 0x10000000
jl 0x14002401e
mov rax, qword [rbp + 0x40]
mov rdi, rbx
mov qword [rbp + 0x100], rbx
mov r14d, ebx
mov qword [rbp + 0x240], rbx
mov dword [rsp + 0x70], ebx
test rax, rax
jne 0x140023908
mov r14d, 0xc000000d
jmp 0x140023e80
mov r15, qword [rax + 8]
mov qword [rbp + 0x50], r15
test r15, r15
je 0x1400238fd
cmp dword [rax], ebx
je 0x1400238fd
mov r12d, dword [rax]
mov dword [rsp + 0x78], ebx
test r12, r12
je 0x140023e5a
add r12, 0xfffffffffffffff8
mov qword [rbp + 0x68], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0xa0], rax
mov r13, rax
test rax, rax
je 0x140023e53
mov rdi, r12
mov byte [rsp + 0x64], bl
mov dword [rbp - 0x28], ebx
mov dl, bl
mov r9, r15
mov r8, rax
mov r11d, ebx
and edi, 7
je 0x140023a59
or r15d, 0xffffffff
mov dword [rbp + 0xcc], ebx
mov dword [rbp - 0x44], r15d
mov r15d, ebx
mov dword [rsp + 0x68], ebx
mov r10d, ebx
test edi, edi
jle 0x1400239d5
mov edx, 0x38
movzx eax, byte [r9]
cmp r11d, 4
jge 0x1400239ab
lea ecx, [rdx - 0x20]
shl eax, cl
or r10d, eax
jmp 0x1400239b2
mov ecx, edx
shl eax, cl
or r15d, eax
mov ecx, 1
sub edx, 8
add r9, rcx
add r11d, ecx
cmp r11d, edi
jl 0x140023997
mov dword [rbp + 0xcc], r15d
mov dl, bl
mov dword [rsp + 0x68], r10d
jmp 0x1400239da
mov ecx, 1
xor r15d, 0x699a899c
mov r11d, r10d
xor r11d, 0x92f65a5
mov dword [rbp - 0x44], r15d
mov dword [rbp - 0x28], r11d
mov eax, ebx
test edi, edi
jle 0x140023a1f
cmp eax, 4
jge 0x140023a07
rol r11d, 8
mov byte [r8], r11b
jmp 0x140023a0e
rol r15d, 8
mov byte [r8], r15b
add r8, rcx
add eax, ecx
cmp eax, edi
jl 0x1400239f9
mov r11d, dword [rbp - 0x28]
mov r15d, dword [rbp - 0x44]
lea eax, [rdi - 4]
test eax, eax
jle 0x140023a3c
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r15d, cl
shl r15d, cl
mov dword [rbp - 0x44], r15d
jmp 0x140023a63
mov dword [rbp - 0x44], ebx
mov r15d, ebx
test eax, eax
jns 0x140023a63
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x28], r11d
jmp 0x140023a63
mov dword [rsp + 0x68], ebx
mov r15d, ebx
mov dword [rbp - 0x44], ebx
mov rax, r12
shr rax, 3
test rax, rax
je 0x140023dc4
mov edx, dword [rsp + 0x68]
lea r12, [r8 + 7]
mov r14d, dword [rbp + 0xcc]
lea rbx, [r9 + 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 r15d, r9d
xor r15d, r11d
xor r15d, 0xac987321
lea eax, [r15 + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, r15d
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 r15d, ecx
lea eax, [r15 - 0x137f]
imul ecx, eax, 0x605e
mov eax, r15d
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 r15d, ecx
mov ecx, r15d
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 r15d, edi
mov edi, 0xab69605e
lea eax, [r15 + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, r15d
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 r15d, ecx
mov eax, r15d
xor eax, edi
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, r15d
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 r15d, ecx
mov eax, r15d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, r15d
mov r15d, 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, r15d
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, r15d
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, r14d
mov dword [rbp - 0x44], r8d
mov r14d, r9d
xor ecx, eax
xor ecx, edx
mov edx, r10d
xor edi, ecx
mov dword [rbp - 0x28], edi
mov byte [r12 - 4], dil
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x28], 8
mov byte [r12], al
lea r12, [r12 + 8]
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x28]
mov byte [r12 - 0xd], al
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x28], 8
mov byte [r12 - 9], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x28]
mov byte [r12 - 0xe], al
ror dword [rbp - 0x28], 8
mov al, byte [rbp - 0x44]
mov byte [r12 - 0xa], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x28]
mov byte [r12 - 0xf], al
mov al, byte [rbp - 0x44]
mov byte [r12 - 0xb], al
mov r11d, dword [rbp - 0x28]
mov r15d, dword [rbp - 0x44]
ror r11d, 8
ror r15d, 8
mov dword [rbp - 0x28], r11d
mov dword [rbp - 0x44], r15d
sub r13, rsi
jne 0x140023a8e
mov dl, byte [rsp + 0x64]
xor ebx, ebx
mov esi, dword [rsp + 0x60]
mov r14d, dword [rsp + 0x70]
mov r12, qword [rbp + 0x68]
mov r13, qword [rbp + 0xa0]
mov rax, rbx
test r12, r12
je 0x140023ddd
mov ecx, 1
xor dl, byte [rax + r13]
add rax, rcx
cmp rax, r12
jb 0x140023dd1
mov rcx, qword [rbp + 0x50]
movzx eax, dl
cmp rax, qword [r12 + rcx]
je 0x140023df9
mov rdi, qword [rbp + 0x100]
mov r15d, 0xc004d501
jmp 0x140023e12
mov r15d, dword [rsp + 0x78]
mov rdi, r13
mov qword [rbp + 0x100], r13
mov r13, rbx
mov qword [rbp + 0x240], r12
test r13, r13
je 0x140023e32
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x100]
test r15d, r15d
js 0x140023e5a
mov eax, dword [rbp + 0x240]
mov qword [rbp - 8], rdi
mov rdi, rbx
mov dword [rbp + 0x9c], eax
mov qword [rbp + 0x100], rbx
jmp 0x140023e60
mov rdi, qword [rbp + 0x100]
mov r14d, 0xc0000001
test rdi, rdi
je 0x140023e80
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 + 0x100], rbx
or r14d, 0x10000000
jl 0x14002401e
cmp dword [rbp + 0x9c], 4
jae 0x140023ea1
mov r14d, 0xc000003e
jmp 0x140024019
mov r8, qword [rbp - 8]
mov r9d, dword [r8]
lea rcx, [r8 + 4]
mov dword [rsp + 0x70], r9d
cmp rcx, r8
jb 0x140024013
mov eax, dword [rbp + 0x9c]
add eax, 0xfffffffc
cmp eax, 4
jb 0x140023e96
mov r15d, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x140024013
mov eax, dword [rbp + 0x9c]
add eax, 0xfffffff8
cmp eax, r15d
jb 0x140023e96
lea eax, [r15 + 8]
cmp eax, 8
jb 0x140024013
mov edx, dword [rbp + 0x9c]
lea rcx, [r15 + rdi]
lea rax, [r8 + rdx]
cmp rax, rcx
jb 0x140023e96
mov rax, r8
sub rax, r15
sub rax, rdi
add rax, rdx
cmp rax, 8
jae 0x140023e96
mov dword [rbp - 0x70], ebx
mov r13, rbx
mov r14d, ebx
mov r8d, ebx
test rdi, rdi
je 0x140023fa4
lea rdx, [r15 + rdi]
mov rcx, rdi
cmp rdx, rdi
jb 0x140024013
cmp rdi, rdx
jae 0x140023f9f
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140024013
cmp rax, rdx
ja 0x140023f8c
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x140023f97
mov dword [rbp + 0x330], eax
mov r9d, eax
add r9, rcx
cmp r9, rcx
jb 0x140024013
mov rcx, r9
mov r14d, ebx
cmp r9, rdx
ja 0x140023f8c
inc r8d
mov dword [rbp - 0x70], r8d
cmp rcx, rdx
jae 0x140023fa2
jmp 0x140023f42
mov r14d, 0xc000000d
jmp 0x140024019
mov r14d, 0xc0000095
jmp 0x140023ffd
cmp rcx, rdx
jne 0x140023f8c
test r15d, r15d
je 0x140023fd3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
jne 0x140023fd0
mov r14d, 0xc0000017
jmp 0x140023ffd
mov r14d, ebx
test rdi, rdi
je 0x140023fe6
mov r8, r15
mov rdx, rdi
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x118], eax
mov qword [rbp + 0x120], r13
mov dword [rbp + 0x11c], r15d
test r14d, r14d
js 0x140024019
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp + 0x118]
je 0x140024019
jmp 0x140023e96
mov r14d, 0xc0000095
bts r14d, 0x1c
mov rdi, qword [rbp + 0x48]
test rdi, rdi
je 0x14002403b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [rbp + 0x168]
test r15, r15
je 0x1400240c5
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140024068
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 [r15 + 8], rbx
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140024089
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 [r15 + 0x18], rbx
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x1400240aa
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 [r15 + 0x28], rbx
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 [rbp + 0x168], rbx
mov rdi, qword [rbp + 0x80]
test rdi, rdi
je 0x1400240e5
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 - 0x68]
test rdi, rdi
je 0x140024102
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [rbp + 0x40]
test r15, r15
je 0x140024182
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x14002412c
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 [r15 + 8], rbx
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x14002414d
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 [r15 + 0x18], rbx
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x14002416e
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 [r15 + 0x28], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x14002419f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x14002424f
mov ecx, dword [rbp + 0x118]
mov r8d, 1
cmp ecx, r8d
jb 0x14002424f
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x14002424f
test ecx, ecx
je 0x14002424f
mov edx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
jb 0x14002424f
test edx, edx
mov dword [rbp + 0x328], edx
cmove rax, rbx
mov qword [rbp + 0x4c8], rax
cmp edx, 4
jne 0x14002424f
mov eax, dword [rax]
mov dword [rbp + 0xe0], eax
test eax, eax
js 0x14002424f
cmp ecx, r8d
jbe 0x14002424f
mov ecx, ebx
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14002424f
mov edi, dword [rdi]
add rdi, rdx
cmp rdi, rdx
jb 0x14002424f
add ecx, r8d
cmp ecx, r8d
jb 0x140024207
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
jb 0x14002424f
test ecx, ecx
mov dword [rbp + 0x324], ecx
cmove rax, rbx
mov qword [rbp + 0x488], rax
cmp ecx, 8
jne 0x14002424f
mov rax, qword [rax]
mov qword [rbp + 0x490], rax
mov r14, qword [rbp - 0x78]
jmp 0x140024261
mov r15, qword [rbp - 0x80]
mov r14, r12
jmp 0x140024265
mov r14, r12
mov r15, qword [rbp - 0x80]
and qword [rbp - 0x18], 0
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x14002428b
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 - 0x10], rbx
and qword [rbp + 0x118], 0
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x1400242ba
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 + 0x120], rbx
test r14, r14
je 0x1400242d3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x1400242ec
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0xd0]
mov r14d, dword [rbp + 0x150]
mov dword [rbp + 0x320], eax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0xf8], rbx
jmp 0x14001bae3
cmp esi, 0xd00000e5
je 0x14002433b
cmp esi, 0xc004d501
je 0x14002433b
cmp esi, 0xd000003e
jne 0x140024340
mov esi, 0xc004f028
jmp 0x14001bb86
mov esi, 0xc004f027
test esi, esi
jns 0x140024357
cmp esi, 0x8007007a
jne 0x14001bb86
mov ebx, 0xc004f01e
jmp 0x14002436f
cmp r14d, 4
jne 0x140024350
mov rcx, qword [rbp + 0x1b0]
mov rax, qword [rbp + 0x428]
mov edx, dword [rcx]
mov dword [rax], edx
lea rcx, [rbp + 0x1b0]
call fcn.140042fd0
mov eax, ebx
mov rcx, qword [rbp + 0x1100]
xor rcx, rsp
call fcn.140061880
mov rbx, qword [rsp + 0x1250]
add rsp, 0x1210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret