Function at 0x14007bb0c
Capabilities:
Encode data using xor
Execute anti-debugging instructions
Parse pe header
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1430]
mov eax, 0x1530
call fcn.140108950
sub rsp, rax
mov qword [rbp + 0x7c0], 0xfffffffffffffffe
mov qword [rsp + 0x1560], rbx
mov qword [rsp + 0x1568], rsi
mov qword [rsp + 0x1570], rdi
mov rax, qword [0x14014d030]
xor rax, rsp
mov qword [rbp + 0x1420], rax
xor r14d, r14d
mov qword [rbp + 0x560], r14
mov qword [rbp + 0x568], r14
mov qword [rbp + 0x570], r14
mov qword [rbp + 0x4a0], r14
lea rax, [rbp + 0x4a0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20219
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftMediaPlayerPreferences_
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea r13d, [r14 + 1]
test eax, eax
jne 0x14007bc2e
mov eax, r14d
mov rcx, qword [rbp + 0x560]
test rcx, rcx
je 0x14007bbcb
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0x560], r14
mov rcx, qword [rbp + 0x4a0]
mov qword [rbp + 0x560], rcx
test eax, eax
jne 0x14007bc2e
mov dword [rbp + 0x280], r14d
mov dword [rbp + 0x3c0], 4
lea rax, [rbp + 0x3c0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x280]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x110]
xor r8d, r8d
lea rdx, str.DisableRMESetting
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [rbp + 0x280], r13d
jne 0x14007bc2e
mov r14b, r13b
jmp 0x140086742
mov dword [rbp + 0x2f0], r14d
mov qword [rbp + 0x3f8], r14
mov dword [rbp + 0x118], r14d
mov dword [rbp + 0x2a8], r14d
mov dword [rbp + 0x188], r14d
mov qword [rbp + 0x1f0], r14
mov dword [rbp + 0x98], r14d
xor eax, eax
lock cmpxchg dword [0x14015121c], r13d
jne 0x14007bc5f
mov ebx, 0x338
or edi, 0xffffffff
mov dword [rbp + 0x114], edi
mov eax, dword [0x140151228]
test eax, eax
jne 0x14007c23d
mov dword [rsp + 0x68], r14d
mov qword [rbp + 0x310], r14
mov qword [rbp + 0x4e8], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x14007c1be
mov ecx, r14d
mov r11d, r14d
mov dword [rbp + 0x24], r14d
mov ebx, r14d
mov dword [rbp + 0x44], ebx
lea r12, [rax + 7]
lea r13, [0x14012e732]
mov esi, 0x67
mov r15d, edi
lea r14d, [rsi - 0x66]
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor ebx, r10d
xor r11d, r9d
lea r13, [r13 + 8]
xor r11d, ebx
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
mov edx, r11d
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor ebx, edx
lea eax, [rbx - 0x59c22937]
ror eax, 9
mov edx, ebx
rol edx, 2
imul eax, eax, 0xcf67
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0xcf67
rol eax, 6
mov edx, ebx
rol edx, 2
imul eax, eax, 0xa63d
sub eax, edx
xor r11d, eax
mov edx, r11d
mov r8d, 0xcf6704fb
xor edx, r8d
mov eax, 0xa63dd6c9
sub eax, edx
xor ebx, eax
mov edi, ebx
ror edi, 6
mov eax, ebx
xor eax, 0xd6c9
imul edx, eax, 0xcf67
xor edi, edx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
mov edx, r11d
rol edx, 2
imul eax, eax, 0x4fb
add edx, eax
xor ebx, edx
lea eax, [rbx + 0x3098fb05]
ror eax, 0xe
mov edx, ebx
rol edx, 8
imul eax, eax, 0xa63d
sub eax, edx
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xc
mov edx, r11d
ror edx, 0xa
imul eax, eax, 0xd6c9
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, ebx
shr eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor ebx, eax
mov edx, r11d
xor edx, r8d
mov edi, 0xa63dd6c9
mov eax, edi
sub eax, edx
xor ebx, eax
lea eax, [rbx - 0x3098fb05]
rol eax, 3
mov edx, ebx
rol edx, 6
imul eax, eax, 0xa63d
add edx, eax
xor r11d, edx
mov eax, r8d
sub eax, r11d
ror eax, 9
mov edx, r11d
ror edx, 8
imul eax, eax, 0xd6c9
sub eax, edx
xor ebx, eax
xor r11d, ebx
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, ebx
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 9
mov eax, r11d
mov ebx, 0xa63d
xor eax, ebx
imul edx, eax, 0xd6c9
sub edx, edi
xor r8d, edx
mov eax, r8d
xor eax, ebx
imul edx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 2
mov eax, r11d
xor eax, 0xcf67
imul edx, eax, 0x4fb
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
mov edx, r11d
rol edx, 0xb
imul eax, eax, 0xd6c9
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, ebx
rol eax, 2
mov edx, r8d
rol edx, 0xc
imul eax, eax, 0xcf67
add edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
mov edx, r11d
rol edx, 0xe
imul eax, eax, 0x4fb
add edx, eax
xor edx, ecx
xor r8d, edx
mov dword [rbp + 0x44], r8d
xor r11d, r15d
mov dword [rbp + 0x24], r11d
mov byte [r12 - 4], r8b
ror dword [rbp + 0x44], 8
mov al, byte [rbp + 0x24]
mov byte [r12], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x44]
mov byte [r12 - 5], al
ror dword [rbp + 0x44], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 1], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x44]
mov byte [r12 - 6], al
ror dword [rbp + 0x44], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 2], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x44]
mov byte [r12 - 7], al
mov al, byte [rbp + 0x24]
mov byte [r12 - 3], al
mov ebx, dword [rbp + 0x44]
ror ebx, 8
mov dword [rbp + 0x44], ebx
mov r11d, dword [rbp + 0x24]
ror r11d, 8
mov dword [rbp + 0x24], r11d
mov ecx, r10d
mov r15d, r9d
lea r12, [r12 + 8]
sub rsi, r14
jne 0x14007bce3
xor r14d, r14d
mov eax, r14d
mov cl, al
mov esi, eax
mov r15, qword [rbp - 0x50]
mov ebx, 0x338
lea r13d, [r14 + 1]
xor cl, byte [rax + r15]
add rax, r13
cmp rax, rbx
jb 0x14007c009
movzx eax, cl
cmp rax, qword [0x14012ea68]
je 0x14007c028
mov edi, 0xc004d501
jmp 0x14007c03b
mov qword [rbp + 0x310], r15
mov r15, r14
mov qword [rbp + 0x4e8], rbx
mov edi, esi
test r15, r15
je 0x14007c054
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14007c1be
mov rdi, qword [rbp + 0x310]
mov rax, qword [rbp + 0x4e8]
mov byte [rax + rdi - 1], r14b
xor edx, edx
lea r8d, [rdx + 0x60]
lea rbx, [0x14014f870]
mov rcx, rbx
call sub.msvcrt.dll_memset
cmp byte [rdi], r14b
je 0x14007c1c3
mov r12d, esi
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14007c097
lea rdi, [rdi + rax*2]
mov eax, r12d
lea rcx, [rax + rax*2]
lea rbx, [rbx + rcx*8]
mov r8, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14007c1be
mov esi, r14d
mov rax, qword [rbx]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14007c0ef
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14007c0ef
add rcx, qword [rbx]
cmp rcx, qword [rbx]
jb 0x14007c0ef
cmp dword [rcx], 0x4550
je 0x14007c0f6
mov esi, 0xc000007b
jmp 0x14007c124
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14007c113
mov esi, 0xc000000d
jmp 0x14007c124
mov rax, qword [rcx + 0x88]
mov qword [rbx + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rbx + 8], eax
mov r13d, dword [rdi + 2]
add rdi, 6
mov r15d, r14d
test r13d, r13d
je 0x14007c19b
mov qword [rbp + 0x4f8], r14
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x14007c142
inc rdi
add rdi, rax
test esi, esi
js 0x14007c184
lea r9, [rbp + 0x4f8]
mov r8, rbx
xor edx, edx
call fcn.140105cfc
mov esi, eax
test eax, eax
js 0x14007c1b6
mov eax, dword [rsp + 0x68]
mov rcx, qword [rbp + 0x4f8]
lea r8, [0x14014dbd0]
mov qword [r8 + rax*8], rcx
jmp 0x14007c188
mov eax, dword [rsp + 0x68]
mov ecx, 1
add eax, ecx
mov dword [rsp + 0x68], eax
add r15d, ecx
cmp r15d, r13d
jb 0x14007c134
mov r13d, 1
add r12d, r13d
cmp byte [rdi], r14b
lea rbx, [0x14014f870]
jne 0x14007c090
jmp 0x14007c1c3
mov r13d, 1
jmp 0x14007c1c3
mov esi, 0xc000007a
cmp qword [rbp + 0x310], r14
je 0x14007c1e4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x310]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
jns 0x14007c237
lea r12, [0x14014f870]
mov rdi, r12
mov ebx, 4
cmp qword [rdi], r14
je 0x14007c205
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r13
jne 0x14007c1f7
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
jmp 0x14007c246
mov eax, dword [0x140151228]
add eax, r13d
mov dword [0x140151228], eax
mov eax, r14d
xchg dword [0x14015121c], eax
lea rcx, [rbp + 0x348]
call fcn.140105f10
lea rcx, [rbp + 0x480]
call fcn.140105f10
mov r15d, r14d
mov esi, r14d
mov rax, qword gs:[0x60]
mov ebx, 0x80004005
cmp dword [rax + 0x2c0], r14d
je 0x14007c52b
mov rdi, qword [0x14014dce0]
mov rcx, rdi
call qword [fcn.140009050]
call rdi
mov r13, rax
test rax, rax
jne 0x14007c2c5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14007c532
mov esi, ebx
jmp 0x14007c532
lea rcx, [rbp + 0x158]
call fcn.140105f10
mov r12d, r14d
mov rdi, qword [rbp + 0x158]
mov rbx, qword [0x14014dd00]
mov rcx, rbx
call qword [fcn.140009050]
lea rax, [rbp + 0x240]
mov qword [rsp + 0x20], rax
mov r9d, r12d
mov r8, rdi
mov edx, 2
mov rcx, r13
call rbx
test eax, eax
jne 0x14007c390
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14007c376
cmp qword [rbp + 0x158], r14
jne 0x14007c36b
mov edi, dword [rbp + 0x240]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x158]
call fcn.140105f20
test rdi, rdi
je 0x14007c364
mov qword [rbp + 0x158], rdi
mov r12d, dword [rbp + 0x240]
jmp 0x14007c2db
mov esi, 0x8007000e
jmp 0x14007c39e
mov r12d, 0x80004005
mov esi, r12d
jmp 0x14007c3ab
mov r12d, 0x80004005
test eax, eax
je 0x14007c371
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
jmp 0x14007c3ab
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x348], rax
mov r12d, 0x80004005
mov qword [rbp + 0x158], r14
lea rcx, [rbp + 0x158]
call fcn.140105f20
test esi, esi
js 0x14007c532
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
mov rbx, qword [0x14014dcf8]
mov rcx, rbx
call qword [fcn.140009050]
mov ecx, edi
call rbx
mov r13, rax
test rax, rax
jne 0x14007c407
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14007c532
mov esi, r12d
jmp 0x14007c532
lea rcx, [rbp + 0x128]
call fcn.140105f10
mov esi, r14d
mov r12d, r14d
mov rdi, qword [rbp + 0x128]
mov rbx, qword [0x14014dd00]
mov rcx, rbx
call qword [fcn.140009050]
lea rax, [rbp + 0x248]
mov qword [rsp + 0x20], rax
mov r9d, r12d
mov r8, rdi
mov edx, 2
mov rcx, r13
call rbx
test eax, eax
jne 0x14007c4c7
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14007c4b3
cmp qword [rbp + 0x128], r14
jne 0x14007c4ac
mov edi, dword [rbp + 0x248]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x128]
call fcn.140105f20
test rdi, rdi
je 0x14007c4a5
mov qword [rbp + 0x128], rdi
mov r12d, dword [rbp + 0x248]
jmp 0x14007c420
mov esi, 0x8007000e
jmp 0x14007c4d5
mov esi, 0x80004005
jmp 0x14007c4dc
test eax, eax
je 0x14007c4ac
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
jmp 0x14007c4dc
mov rax, qword [rbp + 0x128]
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x128], r14
lea rcx, [rbp + 0x128]
call fcn.140105f20
test esi, esi
js 0x14007c532
mov rcx, qword [rbp + 0x348]
test rcx, rcx
je 0x14007c52b
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14007c52b
mov rcx, qword [rbp + 0x480]
test rcx, rcx
je 0x14007c52b
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
mov eax, 1
cmove r15d, eax
mov dword [rbp + 0x98], r15d
lea rcx, [rbp + 0x480]
call fcn.140105f20
lea rcx, [rbp + 0x348]
call fcn.140105f20
mov eax, dword [rbp + 0x98]
test esi, esi
cmovs eax, r14d
mov dword [rbp + 0x98], eax
mov dword [rbp + 0x188], r14d
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x1f0]
call fcn.140105f60
test rdi, rdi
jne 0x14007c59b
mov qword [rbp + 0x1f0], r14
mov r15d, 0x8007000e
jmp 0x14008661b
mov qword [rbp + 0x1f0], rdi
mov rsi, r14
mov rbx, r14
mov dword [rbp - 0x60], r14d
xor eax, eax
mov qword [rbp - 0x5c], rax
mov dword [rbp - 0x54], eax
mov dword [rbp + 0x29c], r14d
mov dword [rbp + 0xa8], r14d
mov qword [rbp + 0xac], rax
mov dword [rbp + 0xb4], eax
mov dword [rbp + 0xf0], r14d
lea rax, [0x14014e3a0]
mov qword [rbp + 0x698], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x508], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edi, 8
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov r15d, 0xc0000017
lea r13, [0x14014e4e8]
test rax, rax
jne 0x14007c62f
mov dword [rsp + 0x60], r15d
mov r13d, 1
jmp 0x14007f7ab
mov r8, qword [rbp + 0x508]
mov rdx, qword [rbp + 0x698]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rsi, r12
mov qword [rsp + 0x78], r12
mov ebx, dword [rbp + 0x508]
mov qword [rbp + 0x6a8], r13
mov qword [rbp + 0x518], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
jne 0x14007c682
mov rbx, r14
jmp 0x14007c61f
mov r8, qword [rbp + 0x518]
mov rdx, qword [rbp + 0x6a8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x70], r13
mov esi, dword [rbp + 0x518]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x528], rax
mov dword [rbp - 0x10], r14d
lea r8, [rbp + 0x45c]
mov edi, 4
mov edx, edi
mov ecx, edi
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x30]
test eax, eax
cmovns edx, dword [rbp + 0x45c]
mov dword [rbp + 0x30], edx
js 0x14007c80c
lea r8, [rbp - 0x10]
mov ecx, dword [rbp - 0x10]
call fcn.140105f88
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007c80c
lea r8, [rbp + 0x450]
mov edx, ebx
mov ecx, edi
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x30]
test eax, eax
cmovns edx, dword [rbp + 0x450]
mov dword [rbp + 0x30], edx
js 0x14007c80c
lea r8, [rbp - 0x10]
mov ecx, dword [rbp - 0x10]
call fcn.140105f88
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007c80c
lea r8, [rbp + 0x460]
mov edx, esi
mov ecx, edi
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x30]
test eax, eax
cmovns edx, dword [rbp + 0x460]
mov dword [rbp + 0x30], edx
js 0x14007c80c
lea r8, [rbp - 0x10]
mov ecx, dword [rbp - 0x10]
call fcn.140105f88
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007c80c
lea r8, [rbp + 0x430]
lea edx, [rdi + 4]
mov ecx, edi
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x30]
test eax, eax
cmovns edx, dword [rbp + 0x430]
mov dword [rbp + 0x30], edx
js 0x14007c80c
lea r8, [rbp - 0x10]
mov ecx, dword [rbp - 0x10]
call fcn.140105f88
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007c80c
lea r8, [rbp + 0x538]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMEAllowed
call fcn.140105fc8
test eax, eax
jns 0x14007c817
mov r15d, 0xc000003e
mov dword [rsp + 0x60], r15d
mov rsi, r12
mov rbx, r13
jmp 0x14007c624
mov rax, qword [rbp + 0x538]
inc rax
mov qword [rbp + 0x538], rax
lea edx, [rax + rax]
lea r8, [rbp + 0x48c]
mov ecx, edi
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x30]
test eax, eax
cmovns edx, dword [rbp + 0x48c]
mov dword [rbp + 0x30], edx
js 0x14007c80c
lea r8, [rbp - 0x10]
mov ecx, dword [rbp - 0x10]
call fcn.140105f88
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007c80c
lea r8, [rbp + 0x438]
mov edx, edi
mov ecx, edi
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x30]
test eax, eax
cmovns edx, dword [rbp + 0x438]
mov dword [rbp + 0x30], edx
js 0x14007c80c
lea r8, [rbp - 0x10]
mov ecx, dword [rbp - 0x10]
call fcn.140105f88
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007c80c
lea r8, [rbp + 0x468]
mov edx, edi
mov ecx, edi
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x30]
test eax, eax
cmovns edx, dword [rbp + 0x468]
mov dword [rbp + 0x30], edx
js 0x14007c80c
lea r8, [rbp - 0x10]
mov ecx, dword [rbp - 0x10]
call fcn.140105f88
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007c80c
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x5c], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14007c937
mov r15d, 0xc0000017
jmp 0x14007c807
mov qword [rbp - 0x58], rax
mov ecx, r14d
mov dword [rbp - 0x60], ecx
mov dword [rbp + 0x2c8], r14d
lea rdx, [rbp + 0x2c8]
test rdx, rdx
je 0x14007c9ca
mov qword [rbp + 0x6b8], rax
mov dword [rbp + 0x760], 4
lea r8, [rbp + 0x768]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007c9c5
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x6b8]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x14007c9a6
mov r15d, 0xc0000023
jmp 0x14007c807
mov dword [rdx], 4
mov rcx, qword [rbp + 0x768]
mov eax, dword [rbp + 0x2c8]
mov dword [rcx], eax
mov ecx, dword [rbp - 0x60]
inc ecx
mov dword [rbp - 0x60], ecx
jmp 0x14007c9d5
mov ecx, dword [rbp - 0x60]
jmp 0x14007c9d5
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14007c80c
test ebx, ebx
je 0x14007cb33
cmp qword [rbp - 0x58], r14
jne 0x14007ca50
lea r8, [rbp + 0x440]
mov edx, ebx
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1bc]
test eax, eax
cmovns edx, dword [rbp + 0x440]
mov dword [rbp + 0x1bc], edx
js 0x14007cb2e
lea r8, [rbp - 0x5c]
mov ecx, dword [rbp - 0x5c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007cb2e
mov ecx, dword [rbp - 0x60]
mov r12d, 1
add ecx, r12d
mov dword [rbp - 0x60], ecx
jmp 0x14007cb4d
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x2b0], rax
mov edi, r14d
test ecx, ecx
je 0x14007cac6
lea r8, [rbp + 0x350]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1bc]
test r15d, r15d
cmovns eax, dword [rbp + 0x350]
mov dword [rbp + 0x1bc], eax
js 0x14007cb2e
mov edx, eax
lea r8, [rbp + 0x2b0]
mov rcx, qword [rbp + 0x2b0]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007cb2e
inc edi
mov rax, qword [rbp + 0x2b0]
cmp edi, dword [rbp - 0x60]
jb 0x14007ca62
mov dword [rbp + 0x7a0], ebx
lea r8, [rbp + 0x7a8]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007cb2e
mov r8, rbx
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x2b0]
lea rax, [rdx + 4]
add rax, rbx
cmp rax, rcx
ja 0x14007c99b
mov dword [rdx], ebx
mov rdx, r12
mov rcx, qword [rbp + 0x7a8]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x60]
mov r12d, 1
add ecx, r12d
mov dword [rbp - 0x60], ecx
jmp 0x14007cb44
mov ecx, dword [rbp - 0x60]
jmp 0x14007cb3e
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
mov r12d, 1
test r15d, r15d
js 0x14007cc81
test esi, esi
je 0x14007ccb0
cmp qword [rbp - 0x58], r14
jne 0x14007cbb9
lea r8, [rbp + 0x448]
mov edx, esi
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1c4]
test eax, eax
cmovns edx, dword [rbp + 0x448]
mov dword [rbp + 0x1c4], edx
js 0x14007ccab
lea r8, [rbp - 0x5c]
mov ecx, dword [rbp - 0x5c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007ccab
mov ecx, dword [rbp - 0x60]
add ecx, r12d
mov dword [rbp - 0x60], ecx
jmp 0x14007ccc0
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x288], rax
mov edi, r14d
test ecx, ecx
je 0x14007cc34
lea r8, [rbp + 0x360]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1c4]
test r15d, r15d
cmovns eax, dword [rbp + 0x360]
mov dword [rbp + 0x1c4], eax
js 0x14007ccab
mov edx, eax
lea r8, [rbp + 0x288]
mov rcx, qword [rbp + 0x288]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007ccab
add edi, r12d
mov rax, qword [rbp + 0x288]
cmp edi, dword [rbp - 0x60]
jb 0x14007cbcb
mov dword [rbp + 0x740], esi
lea r8, [rbp + 0x748]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007ccab
mov r8, rsi
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x288]
lea rax, [rdx + 4]
add rax, rsi
cmp rax, rcx
jbe 0x14007cc8f
mov r15d, 0xc0000023
mov dword [rsp + 0x60], r15d
mov rbx, r13
mov r13d, 1
jmp 0x14007f7a6
mov dword [rdx], esi
mov rdx, r13
mov rcx, qword [rbp + 0x748]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x60]
add ecx, r12d
mov dword [rbp - 0x60], ecx
jmp 0x14007ccbb
mov ecx, dword [rbp - 0x60]
jmp 0x14007ccbb
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14007cc81
mov rax, qword [rbp + 0x528]
mov qword [rbp + 0x548], rax
lea rax, [rbp + 0x548]
test rax, rax
je 0x14007ce18
cmp qword [rbp - 0x58], r14
jne 0x14007cd3e
lea r8, [rbp + 0x470]
mov edx, 8
lea ecx, [rdx - 4]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1b4]
test eax, eax
cmovns edx, dword [rbp + 0x470]
mov dword [rbp + 0x1b4], edx
js 0x14007ce23
lea r8, [rbp - 0x5c]
mov ecx, dword [rbp - 0x5c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007ce23
add dword [rbp - 0x60], r12d
jmp 0x14007ce2c
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x2e8], rax
mov edi, r14d
test ecx, ecx
je 0x14007cdb5
lea r8, [rbp + 0x370]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1b4]
test r15d, r15d
cmovns eax, dword [rbp + 0x370]
mov dword [rbp + 0x1b4], eax
js 0x14007cc81
mov edx, eax
lea r8, [rbp + 0x2e8]
mov rcx, qword [rbp + 0x2e8]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007ce23
add edi, r12d
mov rax, qword [rbp + 0x2e8]
cmp edi, dword [rbp - 0x60]
jb 0x14007cd50
mov dword [rbp + 0x780], 8
lea r8, [rbp + 0x788]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007ce23
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x2e8]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x14007cc76
mov dword [rdx], 8
mov rax, qword [rbp + 0x788]
movsd xmm0, qword [rbp + 0x548]
movsd qword [rax], xmm0
add dword [rbp - 0x60], r12d
jmp 0x14007ce23
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14007cc81
lea r8, [rbp + 0x358]
mov edx, 0x7fffffff
lea r13, str.WMPPlayer_RMEAllowed
mov rcx, r13
call fcn.140105fc8
test eax, eax
jns 0x14007ce5b
mov r15d, 0xc000003e
mov dword [rsp + 0x60], r15d
jmp 0x14007f79b
lea r8, [rbp + 0x358]
mov rdx, r12
mov rcx, qword [rbp + 0x358]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
mov esi, 0xc0000023
test eax, eax
js 0x14007cfed
mov eax, dword [rbp + 0x358]
lea edi, [rax + rax]
test r13, r13
jne 0x14007ce9c
test edi, edi
je 0x14007cea4
jmp 0x14007cfe2
test edi, edi
je 0x14007cfe2
mov rcx, qword [rbp - 0x58]
test rcx, rcx
jne 0x14007cf0e
lea r8, [rbp + 0x404]
mov edx, edi
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1cc]
test eax, eax
cmovns edx, dword [rbp + 0x404]
mov dword [rbp + 0x1cc], edx
js 0x14007cfed
lea r8, [rbp - 0x5c]
mov ecx, dword [rbp - 0x5c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007cfed
add dword [rbp - 0x60], r12d
mov r15d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x14007cfed
mov qword [rbp + 0x220], rcx
mov ebx, r14d
cmp dword [rbp - 0x60], r14d
jbe 0x14007cf83
lea r8, [rbp + 0x380]
mov edx, dword [rcx]
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1cc]
test r15d, r15d
cmovns eax, dword [rbp + 0x380]
mov dword [rbp + 0x1cc], eax
js 0x14007f79b
mov edx, eax
lea r8, [rbp + 0x220]
mov rcx, qword [rbp + 0x220]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007cfed
add ebx, r12d
mov rcx, qword [rbp + 0x220]
cmp ebx, dword [rbp - 0x60]
jb 0x14007cf1e
mov dword [rbp + 0x710], edi
lea r8, [rbp + 0x718]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007cfed
mov r8d, edi
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x220]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x14007cfcb
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x14007cfed
mov dword [rdx], edi
mov rdx, r13
mov rcx, qword [rbp + 0x718]
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x60], r12d
jmp 0x14007cfed
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14007f79b
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x278], eax
lea rax, [rbp + 0x278]
test rax, rax
je 0x14007d14e
cmp qword [rbp - 0x58], r14
jne 0x14007d071
lea r8, [rbp + 0x40c]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1dc]
test eax, eax
cmovns edx, dword [rbp + 0x40c]
mov dword [rbp + 0x1dc], edx
js 0x14007d159
lea r8, [rbp - 0x5c]
mov ecx, dword [rbp - 0x5c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d159
add dword [rbp - 0x60], r12d
jmp 0x14007d162
mov rcx, qword [rbp - 0x58]
mov qword [rbp + 0x228], rcx
mov edi, r14d
cmp dword [rbp - 0x60], r14d
jbe 0x14007d0ea
lea r8, [rbp + 0x390]
mov edx, dword [rcx]
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1dc]
test r15d, r15d
cmovns eax, dword [rbp + 0x390]
mov dword [rbp + 0x1dc], eax
js 0x14007f79b
mov edx, eax
lea r8, [rbp + 0x228]
mov rcx, qword [rbp + 0x228]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d159
add edi, r12d
mov rcx, qword [rbp + 0x228]
cmp edi, dword [rbp - 0x60]
jb 0x14007d085
mov dword [rbp + 0x720], 4
lea r8, [rbp + 0x728]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d159
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x228]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x14007d133
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x14007f79b
mov dword [rdx], 4
mov rcx, qword [rbp + 0x728]
mov eax, dword [rbp + 0x278]
mov dword [rcx], eax
add dword [rbp - 0x60], r12d
jmp 0x14007d159
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14007f79b
mov dword [rbp + 0x230], 4
lea rax, [rbp + 0x230]
test rax, rax
je 0x14007d2b0
cmp qword [rbp - 0x58], r14
jne 0x14007d1db
lea r8, [rbp + 0x414]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x18c]
test eax, eax
cmovns edx, dword [rbp + 0x414]
mov dword [rbp + 0x18c], edx
js 0x14007d2bb
lea r8, [rbp - 0x5c]
mov ecx, dword [rbp - 0x5c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d2bb
add dword [rbp - 0x60], r12d
jmp 0x14007d2c4
mov rcx, qword [rbp - 0x58]
mov qword [rbp + 0x238], rcx
mov edi, r14d
cmp dword [rbp - 0x60], r14d
jbe 0x14007d254
lea r8, [rbp + 0x3a0]
mov edx, dword [rcx]
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x18c]
test r15d, r15d
cmovns eax, dword [rbp + 0x3a0]
mov dword [rbp + 0x18c], eax
js 0x14007f79b
mov edx, eax
lea r8, [rbp + 0x238]
mov rcx, qword [rbp + 0x238]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d2bb
add edi, r12d
mov rcx, qword [rbp + 0x238]
cmp edi, dword [rbp - 0x60]
jb 0x14007d1ef
mov dword [rbp + 0x730], 4
lea r8, [rbp + 0x738]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d2bb
mov ecx, dword [rbp - 0x5c]
add rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x238]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x14007d127
mov dword [rdx], 4
mov rcx, qword [rbp + 0x738]
mov eax, dword [rbp + 0x230]
mov dword [rcx], eax
add dword [rbp - 0x60], r12d
jmp 0x14007d2bb
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14007f79b
lea r8, [rbp + 0x41c]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x50]
test r15d, r15d
cmovns eax, dword [rbp + 0x41c]
mov dword [rbp + 0x50], eax
js 0x14007d465
mov dword [rbp + 0x4c], eax
lea r8, [rbp + 0x3b0]
mov edx, 8
lea ecx, [rdx - 4]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x50]
test eax, eax
cmovns edx, dword [rbp + 0x3b0]
mov dword [rbp + 0x50], edx
js 0x14007d465
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d465
lea r8, [rbp + 0x424]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x50]
test eax, eax
cmovns edx, dword [rbp + 0x424]
mov dword [rbp + 0x50], edx
js 0x14007d465
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d465
lea r8, [rbp + 0x3b8]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x50]
test eax, eax
cmovns edx, dword [rbp + 0x3b8]
mov dword [rbp + 0x50], edx
js 0x14007d465
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d465
lea r8, [rbp + 0x42c]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x50]
test eax, eax
cmovns edx, dword [rbp + 0x42c]
mov dword [rbp + 0x50], edx
js 0x14007d465
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007d465
lea r8, [rbp + 0x1b0]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x50]
test eax, eax
cmovns edx, dword [rbp + 0x1b0]
mov dword [rbp + 0x50], edx
js 0x14007d465
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1b0]
test r15d, r15d
cmovns eax, dword [rbp + 0x4c]
jmp 0x14007d46b
mov eax, dword [rbp + 0x1b0]
mov dword [rbp - 8], eax
test r15d, r15d
js 0x14007f79b
mov r13, r14
mov qword [rbp - 0x28], r14
mov esi, r14d
mov qword [rbp + 0x2f8], r14
mov qword [rbp + 0xc0], r14
mov r12d, r14d
mov dword [rbp - 0x68], r14d
mov qword [rbp + 0x80], r14
mov dword [rbp + 0xc8], r14d
mov qword [rbp + 8], r14
mov qword [rbp + 0x68], r14
mov dword [rbp + 0x2e0], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x530], rax
mov dword [rbp + 0xd8], 8
lea r8, [rbp + 0xd8]
mov edx, dword [rbp - 0x5c]
mov ecx, 8
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007d5e2
mov eax, dword [rbp + 0xd8]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0xd8]
jae 0x14007d50c
mov r15d, 0xc0000095
jmp 0x14007d5e2
mov dword [rbp + 0xd8], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14007d53e
mov r15d, 0xc0000017
jmp 0x14007d5e2
mov qword [rbp + 0x200], rax
mov eax, dword [rbp - 0x60]
mov dword [rdi], eax
lea r8, [rbp + 0x200]
mov ebx, 4
mov edx, ebx
mov rcx, qword [rbp + 0x200]
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007d5c9
mov rcx, qword [rbp + 0x200]
mov eax, dword [rbp - 0x5c]
mov dword [rcx], eax
lea r8, [rbp + 0x200]
mov edx, ebx
mov rcx, qword [rbp + 0x200]
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007d5c9
mov ecx, dword [rbp + 0xd8]
mov rax, qword [rbp + 0x530]
mov qword [rcx + rdi - 8], rax
mov r8d, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x200]
call sub.msvcrt.dll_memcpy
mov r13, rdi
mov qword [rbp - 0x28], rdi
mov rdi, r14
mov esi, dword [rbp + 0xd8]
test rdi, rdi
je 0x14007d5e2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007f017
mov qword [rbp + 0x578], r14
mov qword [rbp + 0x6c8], r14
mov qword [rbp + 0x5d0], r14
mov qword [rbp + 0x598], r14
mov qword [rbp + 0x368], r14
mov qword [rbp + 0x610], r14
mov rbx, r14
test r13, r13
jne 0x14007d631
mov r15d, 0xc000000d
jmp 0x14007dd80
mov qword [rbp - 0x50], rsi
test rsi, rsi
je 0x14007dcd3
lea rdi, [rsi + 8]
mov qword [rbp - 0x70], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp + 0xb8], rax
test rax, rax
je 0x14007dcd3
mov dl, r14b
mov rcx, r14
test rsi, rsi
je 0x14007d689
mov eax, 1
xor dl, byte [rcx + r13]
add rcx, rax
cmp rcx, rsi
jb 0x14007d67d
mov r9, r13
mov r10, r12
mov r8d, r14d
mov dword [rbp - 0x14], r14d
or r11d, 0xffffffff
mov dword [rbp - 0x38], r11d
mov r13d, r14d
mov dword [rsp + 0x68], r14d
mov rdi, rsi
and edi, 7
je 0x14007d786
mov r15d, r14d
mov dword [rsp + 0x68], r14d
mov r11d, r14d
test edi, edi
jle 0x14007d6ff
mov r8d, 0x38
movzx eax, byte [r9]
cmp r11d, 4
jge 0x14007d6dc
lea ecx, [r8 - 0x20]
shl eax, cl
or r15d, eax
jmp 0x14007d6e4
mov ecx, r8d
shl eax, cl
or r13d, eax
mov ecx, 1
add r9, rcx
add r11d, ecx
sub r8d, 8
cmp r11d, edi
jl 0x14007d6c7
mov dword [rsp + 0x68], r15d
jmp 0x14007d704
mov ecx, 1
mov r8d, r15d
xor r8d, 0xfd02377a
mov dword [rbp - 0x14], r8d
mov r11d, r13d
xor r11d, 0xb47589d0
mov dword [rbp - 0x38], r11d
mov eax, r14d
test edi, edi
jle 0x14007d74d
cmp eax, 4
jge 0x14007d735
rol r8d, 8
mov byte [r10], r8b
jmp 0x14007d73c
rol r11d, 8
mov byte [r10], r11b
add r10, rcx
add eax, ecx
cmp eax, edi
jl 0x14007d727
mov r8d, dword [rbp - 0x14]
mov r11d, dword [rbp - 0x38]
lea eax, [rdi - 4]
test eax, eax
jle 0x14007d76a
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x38], r11d
jmp 0x14007d786
mov r11d, r14d
mov dword [rbp - 0x38], r14d
test eax, eax
jns 0x14007d786
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x14], r8d
mov r15, rsi
shr r15, 3
test r15, r15
je 0x14007dad6
lea r12, [r10 + 7]
lea rsi, [r9 + 2]
mov ebx, dword [rsp + 0x68]
mov r14d, 1
movzx r10d, byte [rsi - 2]
shl r10d, 8
movzx eax, byte [rsi - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 1]
or r10d, eax
movzx r9d, byte [rsi + 2]
shl r9d, 8
movzx eax, byte [rsi + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 5]
or r9d, eax
xor r11d, r9d
lea rsi, [rsi + 8]
mov edi, r10d
xor edi, r11d
xor edi, r8d
xor edi, 0x2c824960
lea eax, [rdi + 0x24692674]
ror eax, 2
mov ecx, edi
ror ecx, 0x10
imul eax, eax, 0xf714
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov r8d, 0xf71490ec
xor eax, r8d
ror eax, 0xb
mov ecx, r11d
rol ecx, 4
imul eax, eax, 0xd98c
add ecx, eax
xor edi, ecx
mov eax, edi
xor eax, r8d
rol eax, 7
mov ecx, edi
rol ecx, 5
imul eax, eax, 0xdb96
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xd98c
rol eax, 6
mov ecx, r11d
rol ecx, 8
imul eax, eax, 0x90ec
sub eax, ecx
xor edi, eax
mov ecx, edi
xor ecx, 0xdb96d98c
mov eax, r8d
sub eax, ecx
xor r11d, eax
mov eax, r11d
not eax
ror eax, 4
add eax, 0xd98c
imul eax, eax, 0xdb96
xor edi, eax
lea eax, [rdi - 0x8eb6f14]
ror eax, 8
mov ecx, edi
ror ecx, 2
imul eax, eax, 0xdb96
add ecx, eax
xor r11d, ecx
lea r8d, [r11 - 0x90ec]
xor r8d, edi
mov eax, 0xdb96d98c
xor r8d, eax
sub eax, r8d
rol eax, 0xe
mov ecx, r8d
ror ecx, 2
imul eax, eax, 0xf714
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xdb96]
rol eax, 2
mov ecx, r11d
shr ecx, 0xd
imul eax, eax, 0xd98c
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xdb96
mov eax, r8d
shr eax, 0xc
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x24689588]
xor r8d, eax
lea eax, [r11 - 0xd98c]
rol eax, 3
imul ecx, eax, 0x90ec
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xf714
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, 0xf71490ec
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 0xb
imul eax, eax, 0xd98c
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8ea937e]
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0x90ec
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, 0xdb96
rol eax, 4
mov ecx, r8d
ror ecx, 0x10
imul eax, eax, 0xf714
sub eax, ecx
xor r11d, eax
mov eax, 0xf71490ec
sub eax, r11d
ror eax, 0xa
mov ecx, r11d
ror ecx, 4
imul eax, eax, 0xd98c
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8eb6f14]
ror eax, 4
mov ecx, r8d
ror ecx, 9
imul eax, eax, 0xdb96
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov edi, 0xdb96d98c
xor eax, edi
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x90ec
sub eax, ecx
xor r8d, eax
mov eax, edi
sub eax, r8d
ror eax, 0xb
mov ecx, r8d
ror ecx, 0xc
imul eax, eax, 0xf714
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r11d, 0x2c824960
xor r8d, ebx
mov dword [rbp - 0x14], r8d
xor r11d, r13d
mov dword [rbp - 0x38], r11d
mov byte [r12 - 4], r8b
ror dword [rbp - 0x14], 8
mov al, byte [rbp - 0x38]
mov byte [r12], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x14]
mov byte [r12 - 5], al
ror dword [rbp - 0x14], 8
mov al, byte [rbp - 0x38]
mov byte [r12 - 1], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x14]
mov byte [r12 - 6], al
ror dword [rbp - 0x14], 8
mov al, byte [rbp - 0x38]
mov byte [r12 - 2], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x14]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x38]
mov byte [r12 - 3], al
mov r8d, dword [rbp - 0x14]
ror r8d, 8
mov dword [rbp - 0x14], r8d
mov r11d, dword [rbp - 0x38]
ror r11d, 8
mov dword [rbp - 0x38], r11d
mov ebx, r10d
mov r13d, r9d
lea r12, [r12 + 8]
sub r15, r14
jne 0x14007d7a8
xor r14d, r14d
mov ebx, r14d
mov rsi, qword [rbp - 0x50]
mov r12, qword [rbp + 0xb8]
movzx eax, dl
mov qword [r12 + rsi], rax
mov qword [rbp + 0x368], r12
mov rsi, qword [rbp - 0x70]
mov qword [rbp + 0x610], rsi
lea rax, [0x14014e4e0]
mov qword [rbp + 0x578], rax
mov r13d, 8
mov qword [rbp + 0x6c8], r13
lea r15, [0x14014e440]
mov qword [rbp + 0x5d0], r15
mov qword [rbp + 0x598], RegisterTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [r13 + 0x28]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14007db4c
mov r15d, 0xc0000017
jmp 0x14007dcc2
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14007db75
mov r15d, 0xc0000017
jmp 0x14007dc46
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, RegisterTypeLib
mov dword [rdi + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007db6a
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r15]
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
lea edx, [rsi - 0x20]
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 rcx, rax
mov r8, r13
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007db6a
mov qword [rdi + 0x28], rax
mov r15d, r14d
movsd xmm0, qword [0x14014e4e0]
movsd qword [rax], xmm0
mov rbx, rdi
mov rdi, r14
test rdi, rdi
je 0x14007dcc2
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x14007dc6c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x14007dc8d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x14007dcae
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14007dcd9
mov qword [rbp + 0x2f8], rbx
mov rbx, r14
jmp 0x14007dcd9
mov r15d, 0xc0000001
mov rdi, qword [rbp + 0x368]
test rdi, rdi
je 0x14007dd00
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x368], r14
test rbx, rbx
je 0x14007dd7c
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14007dd26
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x14007dd47
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x14007dd68
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, dword [rbp - 0x68]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007f017
mov rbx, qword [rbp + 0x2f8]
mov esi, dword [rbx + 0x20]
mov edi, dword [rbx + 0x10]
mov edx, dword [rbx]
mov r13d, 4
mov dword [rbp + 0x5c], r13d
lea r8, [rbp + 0x5c]
mov ecx, r13d
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007de25
lea r8, [rbp + 0x5c]
mov edx, r13d
mov ecx, dword [rbp + 0x5c]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007de25
lea r8, [rbp + 0x5c]
mov edx, edi
mov ecx, dword [rbp + 0x5c]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007de25
lea r8, [rbp + 0x5c]
mov edx, r13d
mov ecx, dword [rbp + 0x5c]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007de25
lea r8, [rbp + 0x5c]
mov edx, esi
mov ecx, dword [rbp + 0x5c]
call fcn.140105f88
mov r15d, eax
mov eax, dword [rbp + 0x1b8]
test r15d, r15d
cmovns eax, dword [rbp + 0x5c]
mov dword [rbp + 0x1b8], eax
jmp 0x14007de2b
mov eax, dword [rbp + 0x1b8]
test r15d, r15d
js 0x14007dfa1
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14007de60
mov r15d, 0xc0000017
jmp 0x14007dfa1
mov qword [rbp + 0x88], rax
mov eax, dword [rbx]
mov dword [rdi], eax
lea r8, [rbp + 0x88]
mov rdx, r13
mov rcx, qword [rbp + 0x88]
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007df88
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbp + 0x88]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx]
lea r8, [rbp + 0x88]
mov rcx, qword [rbp + 0x88]
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007df88
mov ecx, dword [rbx + 0x10]
mov rax, qword [rbp + 0x88]
mov dword [rax], ecx
lea r8, [rbp + 0x88]
mov rdx, r13
mov rcx, qword [rbp + 0x88]
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007df88
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbp + 0x88]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x10]
lea r8, [rbp + 0x88]
mov rcx, qword [rbp + 0x88]
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007df88
mov ecx, dword [rbx + 0x20]
mov rax, qword [rbp + 0x88]
mov dword [rax], ecx
lea r8, [rbp + 0x88]
mov rdx, r13
mov rcx, qword [rbp + 0x88]
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007df88
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rbp + 0x88]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x20]
lea r8, [rbp + 0x88]
mov rcx, qword [rbp + 0x88]
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007df88
mov qword [rbp + 0xc0], rdi
mov rdi, r14
mov r12d, dword [rbp + 0x1b8]
test rdi, rdi
je 0x14007dfa1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, 0x10000000
or r15d, edi
mov dword [rsp + 0x60], r15d
jl 0x14007f017
mov qword [rbp + 0x608], r14
mov dword [rbp + 0x2d0], r14d
mov qword [rbp + 0x5a8], r14
mov dword [rbp + 0x2b8], r14d
mov dword [rbp + 0x1c0], 8
lea r8, [rbp + 0x1c0]
mov edx, dword [rbp - 8]
mov ecx, 8
call fcn.140105f88
mov r15d, eax
or r15d, edi
mov dword [rsp + 0x60], r15d
jl 0x14007e29c
mov eax, dword [rbp + 0x1c0]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x1c0]
jae 0x14007e021
mov r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
jmp 0x14007e057
mov dword [rbp + 0x298], eax
lea r8, [rbp + 0x298]
mov edx, 8
mov ecx, eax
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x2c0]
test r15d, r15d
cmovns eax, dword [rbp + 0x298]
mov dword [rbp + 0x2c0], eax
test r15d, r15d
js 0x14007f017
cmp qword [rbp - 0x58], r14
jne 0x14007e076
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x14007e29c
mov esi, 1
cmp dword [rbp - 0x60], esi
jbe 0x14007e066
mov rcx, qword [rbp - 0x58]
mov qword [rbp + 0x178], rcx
mov edi, r14d
mov ebx, dword [rcx]
lea r8, [rbp + 0x178]
mov rdx, r13
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e114
mov edx, ebx
lea r8, [rbp + 0x178]
mov rcx, qword [rbp + 0x178]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e114
add edi, esi
mov rcx, qword [rbp + 0x178]
cmp edi, esi
jb 0x14007e08e
mov edi, dword [rcx]
lea r8, [rbp + 0x178]
mov rdx, r13
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e114
mov dword [rbp + 0x2d0], edi
mov rax, qword [rbp + 0x178]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x608], rax
test r15d, r15d
js 0x14007f017
cmp qword [rbp - 0x58], r14
je 0x14007e066
cmp dword [rbp - 0x60], 2
jbe 0x14007e066
mov rcx, qword [rbp - 0x58]
mov qword [rbp + 0x148], rcx
mov edi, r14d
mov ebx, dword [rcx]
lea r8, [rbp + 0x148]
mov rdx, r13
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e1c8
mov edx, ebx
lea r8, [rbp + 0x148]
mov rcx, qword [rbp + 0x148]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e1c8
add edi, esi
mov rcx, qword [rbp + 0x148]
cmp edi, 2
jb 0x14007e13f
mov edi, dword [rcx]
lea r8, [rbp + 0x148]
mov rdx, r13
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e1c8
mov dword [rbp + 0x2b8], edi
mov rax, qword [rbp + 0x148]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x5a8], rax
jmp 0x14007e1ce
mov edi, dword [rbp + 0x2b8]
test r15d, r15d
js 0x14007f017
mov ebx, dword [rbp + 0x2d0]
mov dword [rbp + 0x60], r13d
lea r8, [rbp + 0x60]
mov edx, dword [rbp + 0x2c0]
mov ecx, r13d
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e275
lea r8, [rbp + 0x60]
mov edx, r13d
mov ecx, dword [rbp + 0x60]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e275
lea r8, [rbp + 0x60]
mov edx, ebx
mov ecx, dword [rbp + 0x60]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e275
lea r8, [rbp + 0x60]
mov edx, r13d
mov ecx, dword [rbp + 0x60]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007e275
lea r8, [rbp + 0x60]
mov edx, edi
mov ecx, dword [rbp + 0x60]
call fcn.140105f88
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x218]
test r15d, r15d
cmovns eax, dword [rbp + 0x60]
mov dword [rbp + 0x218], eax
jmp 0x14007e27b
mov eax, dword [rbp + 0x218]
test r15d, r15d
js 0x14007f017
cmp eax, 0x400000
jbe 0x14007e296
mov r15d, 0x8000ffff
jmp 0x14007f012
mov dword [rbp + 0xc8], eax
test r15d, r15d
js 0x14007f017
mov r15d, r14d
mov edi, dword [rbp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14007e2d5
mov r15d, 0xc0000017
mov rsi, r14
jmp 0x14007e2df
mov rsi, rax
mov qword [rbp + 0x80], rax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007f017
mov rax, qword [rbp + 0xc0]
test rax, rax
jne 0x14007e308
mov r15d, 0x80070057
jmp 0x14007f012
test rsi, rsi
je 0x14007e2fd
mov qword [rbp + 0x6d0], rax
mov dword [rbp + 0x6e0], r12d
mov qword [rbp + 0x6d8], rsi
mov eax, dword [rbp + 0xc8]
mov dword [rbp + 0x6e4], eax
mov dword [rbp + 0x6e8], r14d
lea r8, [rbp + 0x618]
lea rdx, [0x14012c7e8]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14007e37b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x14007e3d6
mov r15d, 0x80004005
jmp 0x14007e3d1
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x618]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x14007e352
mov rcx, rax
call qword [fcn.140009050]
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x6d0]
lea ecx, [r8 + 0x66]
call rdi
mov r15d, eax
or r15d, 0x10000000
mov eax, dword [rbp + 0xc8]
cmovns eax, dword [rbp + 0x6e4]
mov dword [rbp + 0xc8], eax
mov dword [rsp + 0x60], r15d
cmp r15d, 0xd0000023
jne 0x14007e3f2
mov r12d, 0x8007007a
mov r15d, r12d
mov dword [rsp + 0x60], r12d
jmp 0x14007f01d
test r15d, r15d
js 0x14007f017
mov edi, dword [rbp + 0xc8]
mov rbx, r14
mov dword [rbp - 0x30], r14d
mov qword [rbp + 0x100], rsi
cmp edi, r13d
jae 0x14007e41f
mov r15d, 0xc000003e
jmp 0x14007e7ff
mov r13d, dword [rsi]
lea r8, [rbp + 0x100]
mov edx, 4
mov rcx, rsi
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007e7ff
lea r8, [rbp - 0x30]
mov esi, 4
mov edx, esi
mov ecx, dword [rbp - 0x30]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007e7ff
mov eax, edi
sub eax, dword [rbp - 0x30]
cmp eax, r13d
jb 0x14007e414
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0xb8], rax
lea r8, [rbp + 0x100]
mov edx, r13d
mov rcx, rax
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007e7ff
lea r8, [rbp - 0x30]
mov edx, r13d
mov ecx, dword [rbp - 0x30]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007e7ff
mov eax, edi
sub eax, dword [rbp - 0x30]
cmp eax, esi
jb 0x14007e414
mov rcx, qword [rbp + 0x100]
mov r12d, dword [rcx]
lea r8, [rbp + 0x100]
mov edx, esi
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007e7ff
lea r8, [rbp - 0x30]
mov edx, esi
mov ecx, dword [rbp - 0x30]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007e7ff
mov eax, edi
sub eax, dword [rbp - 0x30]
cmp eax, r12d
jb 0x14007e414
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x70], rax
lea r8, [rbp + 0x100]
mov edx, r12d
mov rcx, rax
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007e7ff
lea r8, [rbp - 0x30]
mov edx, r12d
mov ecx, dword [rbp - 0x30]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007e7ff
mov eax, edi
sub eax, dword [rbp - 0x30]
cmp eax, esi
jb 0x14007e414
mov rcx, qword [rbp + 0x100]
mov esi, dword [rcx]
lea r8, [rbp + 0x100]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007e7ff
lea r8, [rbp - 0x30]
mov edx, 4
mov ecx, dword [rbp - 0x30]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007e7ff
mov eax, edi
mov ecx, dword [rbp - 0x30]
sub eax, ecx
cmp eax, esi
jb 0x14007e414
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x68], rax
lea r8, [rbp - 0x30]
mov edx, esi
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007e7ff
cmp edi, dword [rbp - 0x30]
jne 0x14007e414
lea ecx, [rsi + r12]
add ecx, r13d
add rcx, 0xc
cmp rcx, rdi
jne 0x14007e414
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14007e60d
mov r15d, 0xc0000017
jmp 0x14007e777
mov r15d, r14d
cmp qword [rbp + 0xb8], r14
je 0x14007e65b
mov dword [rax], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14007e643
mov r15d, 0xc0000017
jmp 0x14007e6fb
mov qword [rdi + 8], rax
mov r8, r13
mov rdx, qword [rbp + 0xb8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14007e662
mov dword [rax], r14d
mov qword [rax + 8], r14
mov r13, qword [rbp - 0x70]
test r13, r13
je 0x14007e6a2
mov dword [rdi + 0x10], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007e638
mov qword [rdi + 0x18], rax
mov r15d, r14d
mov r8, r12
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14007e6aa
mov dword [rdi + 0x10], r14d
mov qword [rdi + 0x18], r14
mov r12, qword [rbp - 0x68]
test r12, r12
je 0x14007e6ed
mov dword [rdi + 0x20], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14007e638
mov qword [rdi + 0x28], rax
mov r15d, r14d
mov r8, rsi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14007e6f5
mov dword [rdi + 0x20], r14d
mov qword [rdi + 0x28], r14
mov rbx, rdi
mov rdi, r14
test rdi, rdi
je 0x14007e777
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x14007e721
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x14007e742
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x14007e763
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14007e783
mov qword [rbp + 8], rbx
mov rbx, r14
test rbx, rbx
je 0x14007e7ff
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14007e7a9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x14007e7ca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x14007e7eb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007f017
mov rdi, r14
mov qword [rbp + 0x1e8], r14
mov qword [rbp + 0x4b0], r14
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov rax, qword [rbp + 8]
test rax, rax
jne 0x14007e83e
mov r15d, 0xc000000d
jmp 0x14007ed85
mov rbx, qword [rax + 8]
mov qword [rbp - 0x80], rbx
test rbx, rbx
je 0x14007e833
cmp dword [rax], r14d
je 0x14007e833
mov esi, dword [rax]
mov dword [rbp - 0x70], r14d
test rsi, rsi
je 0x14007ed5f
add rsi, 0xfffffffffffffff8
mov qword [rbp - 0x50], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp + 0xb8], rax
test rax, rax
je 0x14007ed58
mov dl, r14b
mov byte [rsp + 0x64], dl
mov r8, rbx
mov r9, rax
mov rdi, rsi
mov ebx, r14d
mov r11d, r14d
and edi, 7
je 0x14007e980
mov dword [rbp - 0x1c], r14d
or dword [rbp - 0x44], 0xffffffff
mov r13d, r14d
mov dword [rsp + 0x68], r14d
mov dword [rbp - 8], ebx
test edi, edi
jle 0x14007e904
mov r10d, 0x38
movzx eax, byte [r8]
cmp r11d, 4
jge 0x14007e8de
lea ecx, [r10 - 0x20]
shl eax, cl
or ebx, eax
jmp 0x14007e8e6
mov ecx, r10d
shl eax, cl
or r13d, eax
mov ecx, 1
add r8, rcx
add r11d, ecx
sub r10d, 8
cmp r11d, edi
jl 0x14007e8ca
mov dword [rbp - 8], ebx
mov dword [rsp + 0x68], r13d
jmp 0x14007e909
mov ecx, 1
xor ebx, 0x5c3fcbda
mov dword [rbp - 0x1c], ebx
mov r11d, r13d
xor r11d, 0x66fa8c2b
mov dword [rbp - 0x44], r11d
mov eax, r14d
test edi, edi
jle 0x14007e94b
cmp eax, 4
jge 0x14007e934
rol ebx, 8
mov byte [r9], bl
jmp 0x14007e93b
rol r11d, 8
mov byte [r9], r11b
add r9, rcx
add eax, ecx
cmp eax, edi
jl 0x14007e927
mov ebx, dword [rbp - 0x1c]
mov r11d, dword [rbp - 0x44]
lea eax, [rdi - 4]
test eax, eax
jle 0x14007e968
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x44], r11d
jmp 0x14007e990
mov r11d, r14d
mov dword [rbp - 0x44], r14d
test eax, eax
jns 0x14007e990
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
jmp 0x14007e98d
mov dword [rbp - 8], r14d
or dword [rsp + 0x68], 0xffffffff
mov dword [rbp - 0x44], r14d
mov dword [rbp - 0x1c], ebx
mov r13, rsi
shr r13, 3
test r13, r13
je 0x14007eccc
lea rsi, [r9 + 7]
lea r14, [r8 + 2]
mov edx, dword [rsp + 0x68]
mov r12d, dword [rbp - 8]
mov r15d, 1
movzx r10d, byte [r14 - 2]
shl r10d, 8
movzx eax, byte [r14 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 1]
or r10d, eax
movzx r9d, byte [r14 + 2]
shl r9d, 8
movzx eax, byte [r14 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r14 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r14 + 5]
or r9d, eax
xor ebx, r10d
xor r11d, r9d
lea r14, [r14 + 8]
xor r11d, ebx
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
mov ecx, r11d
rol ecx, 0xa
imul eax, eax, 0xd6c9
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x59c22937]
ror eax, 9
mov ecx, ebx
rol ecx, 2
imul eax, eax, 0xcf67
sub eax, ecx
xor r11d, eax
lea eax, [r11 - 0xd6c9]
imul ecx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0xcf67
rol eax, 6
mov ecx, ebx
rol ecx, 2
imul eax, eax, 0xa63d
sub eax, ecx
xor r11d, eax
mov ecx, r11d
mov r8d, 0xcf6704fb
xor ecx, r8d
mov eax, 0xa63dd6c9
sub eax, ecx
xor ebx, eax
mov edi, ebx
ror edi, 6
mov eax, ebx
xor eax, 0xd6c9
imul ecx, eax, 0xcf67
xor edi, ecx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4fb
add ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x3098fb05]
ror eax, 0xe
mov ecx, ebx
rol ecx, 8
imul eax, eax, 0xa63d
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xc
mov ecx, r11d
ror ecx, 0xa
imul eax, eax, 0xd6c9
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0xa63d
imul ecx, eax, 0xcf67
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor ebx, eax
mov ecx, r11d
xor ecx, r8d
mov edi, 0xa63dd6c9
mov eax, edi
sub eax, ecx
xor ebx, eax
lea eax, [rbx - 0x3098fb05]
rol eax, 3
mov ecx, ebx
rol ecx, 6
imul eax, eax, 0xa63d
add ecx, eax
xor r11d, ecx
mov eax, r8d
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 8
imul eax, eax, 0xd6c9
sub eax, ecx
xor ebx, eax
xor r11d, ebx
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, ebx
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul ecx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add ecx, eax
xor r11d, ecx
mov edi, r11d
ror edi, 9
mov eax, r11d
mov ebx, 0xa63d
xor eax, ebx
imul ecx, eax, 0xd6c9
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, ebx
imul ecx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor ecx, eax
xor r11d, ecx
mov edi, r11d
ror edi, 2
mov eax, r11d
xor eax, 0xcf67
imul ecx, eax, 0x4fb
xor edi, ecx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
mov ecx, r11d
rol ecx, 0xb
imul eax, eax, 0xd6c9
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, ebx
rol eax, 2
mov ecx, r8d
rol ecx, 0xc
imul eax, eax, 0xcf67
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
mov ecx, r11d
rol ecx, 0xe
imul eax, eax, 0x4fb
add ecx, eax
xor ecx, r12d
xor r8d, ecx
mov dword [rbp - 0x1c], r8d
xor r11d, edx
mov dword [rbp - 0x44], r11d
mov byte [rsi - 4], r8b
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [rsi], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [rsi - 5], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [rsi - 1], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [rsi - 6], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [rsi - 2], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [rsi - 7], al
mov al, byte [rbp - 0x44]
mov byte [rsi - 3], al
mov ebx, dword [rbp - 0x1c]
ror ebx, 8
mov dword [rbp - 0x1c], ebx
mov r11d, dword [rbp - 0x44]
ror r11d, 8
mov dword [rbp - 0x44], r11d
mov r12d, r10d
mov edx, r9d
lea rsi, [rsi + 8]
sub r13, r15
jne 0x14007e9b6
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
mov rsi, qword [rbp - 0x50]
mov r12, qword [rbp + 0xb8]
mov rax, r14
test rsi, rsi
je 0x14007ece6
mov r8d, 1
xor dl, byte [rax + r12]
add rax, r8
cmp rax, rsi
jb 0x14007ecda
movzx eax, dl
mov rcx, qword [rbp - 0x80]
cmp rax, qword [rsi + rcx]
je 0x14007ed01
mov ebx, 0xc004d501
mov rdi, qword [rbp + 0x1e8]
jmp 0x14007ed18
mov rdi, r12
mov qword [rbp + 0x1e8], r12
mov r12, r14
mov qword [rbp + 0x4b0], rsi
mov ebx, dword [rbp - 0x70]
test r12, r12
je 0x14007ed38
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x1e8]
test ebx, ebx
js 0x14007ed5f
mov qword [rbp + 0x68], rdi
mov rdi, r14
mov qword [rbp + 0x1e8], r14
mov eax, dword [rbp + 0x4b0]
mov dword [rbp + 0x2e0], eax
jmp 0x14007ed65
mov rdi, qword [rbp + 0x1e8]
mov r15d, 0xc0000001
test rdi, rdi
je 0x14007ed85
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1e8], r14
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x14007f017
mov ebx, dword [rbp + 0x2e0]
mov dword [rbp + 0xa0], r14d
mov r13, qword [rbp + 0x68]
mov qword [rbp + 0x330], r13
mov edi, 4
cmp ebx, edi
jb 0x14007f007
mov eax, dword [r13]
mov dword [rbp - 0x70], eax
lea r8, [rbp + 0x330]
mov edx, edi
mov rcx, r13
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007f00d
lea r8, [rbp + 0xa0]
mov edx, edi
mov ecx, dword [rbp + 0xa0]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007f00d
mov eax, ebx
sub eax, dword [rbp + 0xa0]
cmp eax, edi
jb 0x14007f007
mov rcx, qword [rbp + 0x330]
mov r12d, dword [rcx]
lea r8, [rbp + 0x330]
mov edx, edi
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007f00d
lea r8, [rbp + 0xa0]
mov edx, edi
mov ecx, dword [rbp + 0xa0]
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007f00d
mov eax, ebx
mov ecx, dword [rbp + 0xa0]
sub eax, ecx
cmp eax, r12d
jb 0x14007f007
mov rdi, qword [rbp + 0x330]
lea r8, [rbp + 0xa0]
mov edx, r12d
call fcn.140105f88
mov r15d, eax
test eax, eax
js 0x14007f00d
lea rcx, [rbx + r13]
lea rax, [rdi + r12]
cmp rcx, rax
jb 0x14007f007
mov rax, r13
sub rax, rdi
sub rax, r12
add rax, rbx
cmp rax, 8
jae 0x14007f007
mov r13, r14
mov r15d, r14d
mov ebx, r14d
mov dword [rsp + 0x68], ebx
test rdi, rdi
je 0x14007efa1
mov rbx, rdi
lea r8, [rbp + 0x378]
mov edx, r12d
mov rcx, rdi
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007eff7
mov rax, qword [rbp + 0x378]
cmp rdi, rax
jae 0x14007ef98
lea r8, [rbp + 0x5b8]
mov edx, 4
mov rcx, rbx
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007eff7
mov rax, qword [rbp + 0x378]
cmp qword [rbp + 0x5b8], rax
ja 0x14007ef90
lea r8, [rbp + 0x434]
mov edx, dword [rbx]
mov ecx, 4
call fcn.140105f88
mov r15d, eax
mov eax, dword [rbp + 0x3d0]
test r15d, r15d
cmovns eax, dword [rbp + 0x434]
mov dword [rbp + 0x3d0], eax
js 0x14007f00d
mov edx, eax
lea r8, [rbp + 0x628]
mov rcx, rbx
call fcn.140105fa8
mov r15d, eax
test eax, eax
js 0x14007eff7
mov rbx, qword [rbp + 0x628]
mov rax, qword [rbp + 0x378]
cmp rbx, rax
ja 0x14007ef90
inc dword [rsp + 0x68]
cmp rbx, rax
jb 0x14007eef1
jmp 0x14007ef98
mov r15d, 0xc000000d
jmp 0x14007f00d
cmp rbx, rax
jne 0x14007ef90
mov ebx, dword [rsp + 0x68]
test r12d, r12d
je 0x14007efd0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
jne 0x14007efcd
mov r15d, 0xc0000017
jmp 0x14007eff7
mov r15d, r14d
test rdi, rdi
je 0x14007efe3
mov r8, r12
mov rdx, rdi
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xb0], r13
mov dword [rbp + 0xac], r12d
mov dword [rbp + 0xa8], ebx
test r15d, r15d
js 0x14007f00d
mov eax, dword [rbp - 0x70]
cmp eax, dword [rbp + 0xa8]
je 0x14007f00d
mov r15d, 0xc000003e
bts r15d, 0x1c
mov dword [rsp + 0x60], r15d
mov r12d, 0x8007007a
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x14007f03a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x2f8]
test rbx, rbx
je 0x14007f0c4
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14007f067
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x14007f088
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x14007f0a9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x2f8], r14
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x14007f0e4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x80]
test rdi, rdi
je 0x14007f104
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x14007f184
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14007f12e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x14007f14f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x14007f170
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x68]
test rdi, rdi
je 0x14007f1a1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test r15d, r15d
js 0x14007f7a1
cmp dword [rbp + 0xa8], r13d
jae 0x14007f1c9
mov r15d, 0xc004d501
mov dword [rsp + 0x60], r15d
jmp 0x14007f7a1
cmp qword [rbp + 0xb0], r14
jne 0x14007f1e3
mov esi, 0xc000000d
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x14007f26d
cmp dword [rbp + 0xa8], r14d
jbe 0x14007f1d2
mov rdi, qword [rbp + 0xb0]
mov qword [rbp + 0x388], rdi
mov ebx, dword [rdi]
lea r8, [rbp + 0x388]
mov edx, 4
mov rcx, rdi
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f23e
mov dword [rbp + 0x43c], ebx
mov rax, qword [rbp + 0x388]
test ebx, ebx
cmove rax, r14
mov qword [rbp + 0x388], rax
mov qword [rbp + 0x5c8], rax
jmp 0x14007f24b
mov ebx, dword [rbp + 0x43c]
mov rax, qword [rbp + 0x5c8]
test r15d, r15d
js 0x14007f268
cmp ebx, 4
je 0x14007f260
mov r15d, 0xc0000023
jmp 0x14007f1bf
mov eax, dword [rax]
mov dword [rbp + 0xf0], eax
mov esi, 0xc000000d
test r15d, r15d
js 0x14007f7a1
mov r15d, dword [rbp + 0xf0]
cmp r15d, 0xd0000023
cmove r15d, r12d
mov dword [rsp + 0x60], r15d
mov dword [rbp + 0xf0], r15d
cmp r15d, r12d
je 0x14007f2a2
test r15d, r15d
js 0x14007f7a1
cmp dword [rbp + 0xa8], 6
jne 0x14007f1b9
cmp qword [rbp + 0xb0], r14
jne 0x14007f2c4
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x14007f38c
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x150], rcx
mov edi, r14d
mov ebx, dword [rcx]
lea r8, [rbp + 0x150]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f363
mov edx, ebx
lea r8, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f363
add edi, r13d
mov rcx, qword [rbp + 0x150]
cmp edi, r13d
jb 0x14007f2d5
mov edi, dword [rcx]
lea r8, [rbp + 0x150]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f363
mov dword [rbp + 0x3e0], edi
mov rax, qword [rbp + 0x150]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x638], rax
jmp 0x14007f370
mov edi, dword [rbp + 0x3e0]
mov rax, qword [rbp + 0x638]
test r15d, r15d
js 0x14007f7a1
cmp edi, 8
jne 0x14007f255
mov rax, qword [rax]
mov qword [rbp + 0x600], rax
test r15d, r15d
js 0x14007f7a1
cmp qword [rbp + 0xb0], r14
jne 0x14007f3aa
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x14007f479
cmp dword [rbp + 0xa8], 2
jbe 0x14007f39e
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x130], rcx
mov edi, r14d
mov ebx, dword [rcx]
lea r8, [rbp + 0x130]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f452
mov edx, ebx
lea r8, [rbp + 0x130]
mov rcx, qword [rbp + 0x130]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f452
add edi, r13d
mov rcx, qword [rbp + 0x130]
cmp edi, 2
jb 0x14007f3c4
mov edi, dword [rcx]
lea r8, [rbp + 0x130]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f452
mov dword [rbp + 0x444], edi
mov rax, qword [rbp + 0x130]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x5d8], rax
jmp 0x14007f45f
mov edi, dword [rbp + 0x444]
mov rax, qword [rbp + 0x5d8]
test r15d, r15d
js 0x14007f7a1
cmp edi, 4
jne 0x14007f255
mov eax, dword [rax]
mov dword [rbp + 0x454], eax
test r15d, r15d
js 0x14007f7a1
cmp qword [rbp + 0xb0], r14
jne 0x14007f497
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x14007f7a1
cmp dword [rbp + 0xa8], 3
jbe 0x14007f48b
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x138], rcx
mov edi, r14d
mov ebx, dword [rcx]
lea r8, [rbp + 0x138]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f53d
mov edx, ebx
lea r8, [rbp + 0x138]
mov rcx, qword [rbp + 0x138]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f53d
add edi, r13d
mov rcx, qword [rbp + 0x138]
cmp edi, 3
jb 0x14007f4b1
mov edi, dword [rcx]
lea r8, [rbp + 0x138]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f53d
mov dword [rbp + 0x294], edi
mov rax, qword [rbp + 0x138]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x5f8], rax
test r15d, r15d
js 0x14007f7a1
cmp qword [rbp + 0xb0], r14
jne 0x14007f55b
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x14007f62a
cmp dword [rbp + 0xa8], 4
jbe 0x14007f54f
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x160], rcx
mov edi, r14d
mov ebx, dword [rcx]
lea r8, [rbp + 0x160]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f603
mov edx, ebx
lea r8, [rbp + 0x160]
mov rcx, qword [rbp + 0x160]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f603
add edi, r13d
mov rcx, qword [rbp + 0x160]
cmp edi, 4
jb 0x14007f575
mov edi, dword [rcx]
lea r8, [rbp + 0x160]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f603
mov dword [rbp + 0x3f0], edi
mov rax, qword [rbp + 0x160]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x648], rax
jmp 0x14007f610
mov edi, dword [rbp + 0x3f0]
mov rax, qword [rbp + 0x648]
test r15d, r15d
js 0x14007f7a1
cmp edi, 4
jne 0x14007f255
mov eax, dword [rax]
mov dword [rbp + 0x400], eax
test r15d, r15d
js 0x14007f7a1
cmp qword [rbp + 0xb0], r14
jne 0x14007f648
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x14007f717
cmp dword [rbp + 0xa8], 5
jbe 0x14007f63c
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x170], rcx
mov edi, r14d
mov ebx, dword [rcx]
lea r8, [rbp + 0x170]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f6f0
mov edx, ebx
lea r8, [rbp + 0x170]
mov rcx, qword [rbp + 0x170]
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f6f0
add edi, r13d
mov rcx, qword [rbp + 0x170]
cmp edi, 5
jb 0x14007f662
mov edi, dword [rcx]
lea r8, [rbp + 0x170]
mov edx, 4
call fcn.140105fa8
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14007f6f0
mov dword [rbp + 0x44c], edi
mov rax, qword [rbp + 0x170]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x5e8], rax
jmp 0x14007f6fd
mov edi, dword [rbp + 0x44c]
mov rax, qword [rbp + 0x5e8]
test r15d, r15d
js 0x14007f7a1
cmp edi, 4
jne 0x14007f255
mov eax, dword [rax]
mov dword [rbp + 0x29c], eax
test r15d, r15d
js 0x14007f7a1
mov rax, qword [rbp + 0x600]
cmp qword [rbp + 0x528], rax
jne 0x14007f1b9
mov ecx, dword [rbp + 0x400]
mov dword [rbp + 0x188], ecx
mov eax, dword [rbp + 0x29c]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x454]
mov dword [rbp + 0x2a8], eax
cmp ecx, 4
jbe 0x14007f767
mov r15d, r12d
mov dword [rsp + 0x60], r12d
jmp 0x14007f7a1
cmp dword [rbp + 0x294], 4
ja 0x14007f75d
mov r8d, dword [rbp + 0x294]
mov rdx, qword [rbp + 0x5f8]
mov rcx, qword [rbp + 0x78]
call sub.msvcrt.dll_memcpy
cmp dword [rbp + 0xf0], r14d
cmovne r15d, dword [rbp + 0xf0]
jmp 0x14007f1bf
mov r13d, 1
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov qword [rbp - 0x60], 0
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x14007f7d4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x58], r14
mov qword [rbp + 0xa8], 0
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x14007f806
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0xb0], r14
test rsi, rsi
je 0x14007f81f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x14007f838
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14008661b
mov edi, dword [rbp + 0x98]
test edi, edi
je 0x1400865f2
lea rcx, [rbp + 0x680]
call fcn.140105f10
mov dword [0x14014f868], edi
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0x1210]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14008404c
cmp eax, edi
jne 0x14007f898
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14008404c
mov rdi, qword [0x14014dcc8]
mov rcx, rdi
call qword [fcn.140009050]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov qword [rbp + 0x68], rax
test rax, rax
jne 0x14007f8c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14008404c
mov rdi, qword [0x14014dc68]
mov rcx, rdi
call qword [fcn.140009050]
call rdi
mov qword [0x140151220], rax
mov edi, dword [0x14014f868]
mov dword [rbp - 0x68], edi
mov dword [rbp + 0x7e0], r14d
xor edx, edx
lea r8d, [rdx + 0x6c]
lea rcx, [rbp + 0x7e4]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc40], xmm0
mov dword [rbp + 0x2bc], r13d
mov qword [rbp + 0x80], r14
mov qword [rbp + 0xb8], r14
mov dword [rbp + 0xd00], r14d
xor edx, edx
lea r8d, [rdx + 0x28]
lea rcx, [rbp + 0xd04]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xc0], r14
xor eax, eax
lock cmpxchg dword [0x14015121c], r13d
jne 0x14007f943
mov eax, dword [0x140151228]
test eax, eax
jne 0x14007ff20
mov dword [rsp + 0x68], r14d
mov dword [rbp + 0x78], r14d
mov dword [rbp - 8], r14d
mov qword [rbp + 0x300], r14
mov qword [rbp + 0x4c0], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x14007fe9c
mov byte [rsp + 0x64], r14b
or dword [rbp - 0x80], 0xffffffff
mov ebx, r14d
mov dword [rbp + 0x20], ebx
mov r12d, r14d
mov dword [rbp + 0x48], r14d
lea rdi, [rax + 7]
lea rsi, [0x14012e732]
mov ecx, 0x67
mov r13d, ebx
mov r14d, dword [rbp - 0x80]
lea r15d, [rcx - 0x66]
movzx r11d, byte [rsi - 2]
shl r11d, 8
movzx eax, byte [rsi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rsi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rsi + 1]
or r11d, eax
movzx r10d, byte [rsi + 2]
shl r10d, 8
movzx eax, byte [rsi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 5]
or r10d, eax
xor r12d, r11d
xor ebx, r10d
lea rsi, [rsi + 8]
xor ebx, r12d
xor ebx, 0x695ad232
lea eax, [rbx + 0x3098fb05]
rol eax, 5
mov edx, ebx
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor r12d, edx
lea eax, [r12 - 0x59c22937]
ror eax, 9
mov edx, r12d
rol edx, 2
imul eax, eax, 0xcf67
sub eax, edx
xor ebx, eax
lea eax, [rbx - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, ebx
shr eax, 0xd
sub edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0xcf67
rol eax, 6
mov edx, r12d
rol edx, 2
imul eax, eax, 0xa63d
sub eax, edx
xor ebx, eax
mov edx, ebx
mov r9d, 0xcf6704fb
xor edx, r9d
mov eax, 0xa63dd6c9
sub eax, edx
xor r12d, eax
mov r8d, r12d
ror r8d, 6
mov eax, r12d
xor eax, 0xd6c9
imul edx, eax, 0xcf67
xor r8d, edx
xor ebx, r8d
lea eax, [rbx - 0x59c22937]
ror eax, 0xf
mov edx, ebx
rol edx, 2
imul eax, eax, 0x4fb
add edx, eax
xor r12d, edx
lea eax, [r12 + 0x3098fb05]
ror eax, 0xe
mov edx, r12d
rol edx, 8
imul eax, eax, 0xa63d
sub eax, edx
xor ebx, eax
mov eax, ebx
xor eax, r9d
ror eax, 0xc
mov edx, ebx
ror edx, 0xa
imul eax, eax, 0xd6c9
xor edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, r12d
shr eax, 0xa
xor edx, eax
xor ebx, edx
mov eax, ebx
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor r12d, eax
mov edx, ebx
xor edx, r9d
mov r8d, 0xa63dd6c9
mov eax, r8d
sub eax, edx
xor r12d, eax
lea eax, [r12 - 0x3098fb05]
rol eax, 3
mov edx, r12d
rol edx, 6
imul eax, eax, 0xa63d
add edx, eax
xor ebx, edx
mov eax, r9d
sub eax, ebx
ror eax, 9
mov edx, ebx
ror edx, 8
imul eax, eax, 0xd6c9
sub eax, edx
xor r12d, eax
xor ebx, r12d
xor ebx, 0x695ad232
lea r9d, [rbx - 0x4fb]
xor r9d, r12d
xor r9d, r8d
mov eax, r9d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r9d
shr eax, 8
add edx, eax
xor ebx, edx
mov r8d, ebx
ror r8d, 9
mov eax, ebx
mov r12d, 0xa63d
xor eax, r12d
imul edx, eax, 0xd6c9
sub edx, r8d
xor r9d, edx
mov eax, r9d
xor eax, r12d
imul edx, eax, 0xcf67
mov eax, r9d
shr eax, 6
xor edx, eax
xor ebx, edx
mov r8d, ebx
ror r8d, 2
mov eax, ebx
xor eax, 0xcf67
imul edx, eax, 0x4fb
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x309854c8]
xor ebx, eax
lea eax, [rbx + 0x3098fb05]
rol eax, 7
mov edx, ebx
rol edx, 0xb
imul eax, eax, 0xd6c9
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, r12d
rol eax, 2
mov edx, r9d
rol edx, 0xc
imul eax, eax, 0xcf67
add edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0xa63dd6c9
rol eax, 4
mov edx, ebx
rol edx, 0xe
imul eax, eax, 0x4fb
add edx, eax
xor edx, r13d
xor r9d, edx
mov dword [rbp + 0x48], r9d
xor ebx, r14d
mov dword [rbp + 0x20], ebx
mov byte [rdi - 4], r9b
ror dword [rbp + 0x48], 8
mov al, byte [rbp + 0x20]
mov byte [rdi], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x48]
mov byte [rdi - 5], al
ror dword [rbp + 0x48], 8
mov al, byte [rbp + 0x20]
mov byte [rdi - 1], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x48]
mov byte [rdi - 6], al
ror dword [rbp + 0x48], 8
mov al, byte [rbp + 0x20]
mov byte [rdi - 2], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x48]
mov byte [rdi - 7], al
mov al, byte [rbp + 0x20]
mov byte [rdi - 3], al
mov r12d, dword [rbp + 0x48]
ror r12d, 8
mov dword [rbp + 0x48], r12d
mov ebx, dword [rbp + 0x20]
ror ebx, 8
mov dword [rbp + 0x20], ebx
mov r13d, r11d
mov r14d, r10d
lea rdi, [rdi + 8]
sub rcx, r15
jne 0x14007f9ce
xor r14d, r14d
mov eax, r14d
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x68]
mov r15d, dword [rsp + 0x60]
mov esi, dword [rbp + 0x78]
mov r13, qword [rbp - 0x50]
mov edx, 0x338
lea r8d, [r14 + 1]
xor cl, byte [rax + r13]
add rax, r8
cmp rax, rdx
jb 0x14007fced
movzx eax, cl
cmp rax, qword [0x14012ea68]
je 0x14007fd0c
mov ebx, 0xc004d501
jmp 0x14007fd1f
mov qword [rbp + 0x300], r13
mov r13, r14
mov qword [rbp + 0x4c0], rdx
mov ebx, esi
test r13, r13
je 0x14007fd38
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x14007fe9c
mov rbx, qword [rbp + 0x300]
mov rax, qword [rbp + 0x4c0]
mov byte [rax + rbx - 1], r14b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x14014f870]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x14007fe91
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r14w
jne 0x14007fd74
lea rbx, [rbx + rax*2]
mov eax, dword [rbp - 8]
lea rcx, [rax + rax*2]
lea r12, [r12 + rcx*8]
mov r8, r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x14007fe9c
mov esi, r14d
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14007fdcf
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14007fdcf
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x14007fdcf
cmp dword [rcx], 0x4550
je 0x14007fdd6
mov esi, 0xc000007b
jmp 0x14007fe07
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14007fdf3
mov esi, 0xc000000d
jmp 0x14007fe07
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [rbx + 2]
mov dword [rbp - 0x70], eax
add rbx, 6
mov r13d, r14d
test eax, eax
je 0x14007fe82
mov qword [rbp + 0x510], r14
mov rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r14b
jne 0x14007fe26
inc rbx
add rbx, rax
test esi, esi
js 0x14007fe68
lea r9, [rbp + 0x510]
mov r8, r12
xor edx, edx
call fcn.140105cfc
mov esi, eax
test eax, eax
js 0x14007fea1
mov eax, dword [rsp + 0x68]
mov rcx, qword [rbp + 0x510]
lea r8, [0x14014dbd0]
mov qword [r8 + rax*8], rcx
jmp 0x14007fe6c
mov eax, dword [rsp + 0x68]
mov ecx, 1
add eax, ecx
mov dword [rsp + 0x68], eax
add r13d, ecx
cmp r13d, dword [rbp - 0x70]
jb 0x14007fe18
jmp 0x14007fe87
mov ecx, 1
add dword [rbp - 8], ecx
lea r12, [0x14014f870]
cmp byte [rbx], r14b
jne 0x14007fd6d
jmp 0x14007fea1
mov esi, 0xc000007a
cmp qword [rbp + 0x300], r14
je 0x14007fec2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x300]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test esi, esi
jns 0x14007ff1a
lea r12, [0x14014f870]
mov rbx, r12
lea esi, [r13 + 3]
cmp qword [rbx], r14
je 0x14007fee8
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub rsi, r13
jne 0x14007feda
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
jmp 0x14007ff29
mov eax, dword [0x140151228]
add eax, r13d
mov dword [0x140151228], eax
mov eax, r14d
xchg dword [0x14015121c], eax
xor ecx, ecx
mov dword [rbp + 0x1152], ecx
mov dword [rbp - 0x78], r14d
mov dword [rbp + 0x58], r14d
lea rcx, [rbp + 0x3a8]
call fcn.140105f10
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc50], xmm0
mov qword [rsp + 0x70], r14
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xc78], xmm1
xor eax, eax
lock cmpxchg dword [0x14015121c], r13d
jne 0x14007ff69
mov eax, dword [0x140151228]
test eax, eax
jne 0x14008056d
mov dword [rsp + 0x68], r14d
mov dword [rbp + 0x78], r14d
mov dword [rbp - 8], r14d
mov qword [rbp + 0x308], r14
mov qword [rbp + 0x4d0], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400804ee
mov byte [rsp + 0x64], r14b
or dword [rbp - 0x80], 0xffffffff
mov r13d, r14d
mov dword [rbp + 0x2c], r14d
mov r12d, r14d
mov dword [rbp + 0x38], r14d
lea rdi, [rax + 7]
lea rsi, [0x14012e732]
mov ecx, 0x67
mov ebx, r14d
mov r14d, dword [rbp - 0x80]
lea r15d, [rcx - 0x66]
movzx r11d, byte [rsi - 2]
shl r11d, 8
movzx eax, byte [rsi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rsi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rsi + 1]
or r11d, eax
movzx r10d, byte [rsi + 2]
shl r10d, 8
movzx eax, byte [rsi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 5]
or r10d, eax
xor r12d, r11d
xor r13d, r10d
lea rsi, [rsi + 8]
xor r13d, r12d
xor r13d, 0x695ad232
lea eax, [r13 + 0x3098fb05]
rol eax, 5
mov edx, r13d
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor r12d, edx
lea eax, [r12 - 0x59c22937]
ror eax, 9
mov edx, r12d
rol edx, 2
imul eax, eax, 0xcf67
sub eax, edx
xor r13d, eax
lea eax, [r13 - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, r13d
shr eax, 0xd
sub edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0xcf67
rol eax, 6
mov edx, r12d
rol edx, 2
imul eax, eax, 0xa63d
sub eax, edx
xor r13d, eax
mov edx, r13d
mov r9d, 0xcf6704fb
xor edx, r9d
mov eax, 0xa63dd6c9
sub eax, edx
xor r12d, eax
mov r8d, r12d
ror r8d, 6
mov eax, r12d
xor eax, 0xd6c9
imul edx, eax, 0xcf67
xor r8d, edx
xor r13d, r8d
lea eax, [r13 - 0x59c22937]
ror eax, 0xf
mov edx, r13d
rol edx, 2
imul eax, eax, 0x4fb
add edx, eax
xor r12d, edx
lea eax, [r12 + 0x3098fb05]
ror eax, 0xe
mov edx, r12d
rol edx, 8
imul eax, eax, 0xa63d
sub eax, edx
xor r13d, eax
mov eax, r13d
xor eax, r9d
ror eax, 0xc
mov edx, r13d
ror edx, 0xa
imul eax, eax, 0xd6c9
xor edx, eax
xor r12d, edx
mov eax, r12d
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, r12d
shr eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor r12d, eax
mov edx, r13d
xor edx, r9d
mov r8d, 0xa63dd6c9
mov eax, r8d
sub eax, edx
xor r12d, eax
lea eax, [r12 - 0x3098fb05]
rol eax, 3
mov edx, r12d
rol edx, 6
imul eax, eax, 0xa63d
add edx, eax
xor r13d, edx
mov eax, r9d
sub eax, r13d
ror eax, 9
mov edx, r13d
ror edx, 8
imul eax, eax, 0xd6c9
sub eax, edx
xor r12d, eax
xor r13d, r12d
xor r13d, 0x695ad232
lea r9d, [r13 - 0x4fb]
xor r9d, r12d
xor r9d, r8d
mov eax, r9d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r9d
shr eax, 8
add edx, eax
xor r13d, edx
mov r8d, r13d
ror r8d, 9
mov eax, r13d
mov r12d, 0xa63d
xor eax, r12d
imul edx, eax, 0xd6c9
sub edx, r8d
xor r9d, edx
mov eax, r9d
xor eax, r12d
imul edx, eax, 0xcf67
mov eax, r9d
shr eax, 6
xor edx, eax
xor r13d, edx
mov r8d, r13d
ror r8d, 2
mov eax, r13d
xor eax, 0xcf67
imul edx, eax, 0x4fb
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x309854c8]
xor r13d, eax
lea eax, [r13 + 0x3098fb05]
rol eax, 7
mov edx, r13d
rol edx, 0xb
imul eax, eax, 0xd6c9
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, r12d
rol eax, 2
mov edx, r9d
rol edx, 0xc
imul eax, eax, 0xcf67
add edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0xa63dd6c9
rol eax, 4
mov edx, r13d
rol edx, 0xe
imul eax, eax, 0x4fb
add edx, eax
xor edx, ebx
xor r9d, edx
mov dword [rbp + 0x38], r9d
xor r13d, r14d
mov dword [rbp + 0x2c], r13d
mov byte [rdi - 4], r9b
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x2c]
mov byte [rdi], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x38]
mov byte [rdi - 5], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x2c]
mov byte [rdi - 1], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x38]
mov byte [rdi - 6], al
ror dword [rbp + 0x38], 8
mov al, byte [rbp + 0x2c]
mov byte [rdi - 2], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp + 0x38]
mov byte [rdi - 7], al
mov al, byte [rbp + 0x2c]
mov byte [rdi - 3], al
mov r12d, dword [rbp + 0x38]
ror r12d, 8
mov dword [rbp + 0x38], r12d
mov r13d, dword [rbp + 0x2c]
ror r13d, 8
mov dword [rbp + 0x2c], r13d
mov ebx, r11d
mov r14d, r10d
lea rdi, [rdi + 8]
sub rcx, r15
jne 0x14007fff5
xor r14d, r14d
mov eax, r14d
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x68]
mov r15d, dword [rsp + 0x60]
mov esi, dword [rbp + 0x78]
mov rbx, qword [rbp - 0x50]
mov edx, 0x338
lea r13d, [r14 + 1]
xor cl, byte [rax + rbx]
add rax, r13
cmp rax, rdx
jb 0x140080335
movzx eax, cl
cmp rax, qword [0x14012ea68]
je 0x140080354
mov r12d, 0xc004d501
jmp 0x140080368
mov qword [rbp + 0x308], rbx
mov rbx, r14
mov qword [rbp + 0x4d0], rdx
mov r12d, esi
test rbx, rbx
je 0x140080381
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x1400804ee
mov rbx, qword [rbp + 0x308]
mov rax, qword [rbp + 0x4d0]
mov byte [rax + rbx - 1], r14b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x14014f870]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x1400804db
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1400803be
lea rbx, [rbx + rax*2]
mov eax, dword [rbp - 8]
lea rcx, [rax + rax*2]
lea r12, [r12 + rcx*8]
mov r8, r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400804ee
mov esi, r14d
mov rax, qword [r12]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140080419
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140080419
add rcx, qword [r12]
cmp rcx, qword [r12]
jb 0x140080419
cmp dword [rcx], 0x4550
je 0x140080420
mov esi, 0xc000007b
jmp 0x140080451
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14008043d
mov esi, 0xc000000d
jmp 0x140080451
mov rax, qword [rcx + 0x88]
mov qword [r12 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r12 + 8], eax
mov eax, dword [rbx + 2]
mov dword [rbp - 0x70], eax
add rbx, 6
mov r13d, r14d
test eax, eax
je 0x1400804ca
mov qword [rbp + 0x540], r14
mov rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r14b
jne 0x140080470
inc rbx
add rbx, rax
test esi, esi
js 0x1400804b2
lea r9, [rbp + 0x540]
mov r8, r12
xor edx, edx
call fcn.140105cfc
mov esi, eax
test eax, eax
js 0x1400804e6
mov eax, dword [rsp + 0x68]
mov rcx, qword [rbp + 0x540]
lea r8, [0x14014dbd0]
mov qword [r8 + rax*8], rcx
jmp 0x1400804b6
mov eax, dword [rsp + 0x68]
mov ecx, 1
add eax, ecx
mov dword [rsp + 0x68], eax
add r13d, ecx
cmp r13d, dword [rbp - 0x70]
jb 0x140080462
mov r13d, 1
add dword [rbp - 8], r13d
lea r12, [0x14014f870]
cmp byte [rbx], r14b
jne 0x1400803b7
jmp 0x1400804f3
mov r13d, 1
jmp 0x1400804f3
mov esi, 0xc000007a
cmp qword [rbp + 0x308], r14
je 0x140080514
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x308]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
jns 0x140080567
lea r12, [0x14014f870]
mov rbx, r12
mov esi, 4
cmp qword [rbx], r14
je 0x140080535
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub rsi, r13
jne 0x140080527
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
jmp 0x140080576
mov eax, dword [0x140151228]
add eax, r13d
mov dword [0x140151228], eax
mov eax, r14d
xchg dword [0x14015121c], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x7e0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xc40], rax
mov r13d, edi
lea ecx, [rax + 0xf]
and r13d, ecx
mov dword [rbp - 0x34], r13d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0x1150], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0x1152], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0x1154], di
mov rdi, qword [0x14014dcc8]
mov rcx, rdi
call qword [fcn.140009050]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov qword [rsp + 0x78], rax
mov dword [rbp + 0xd4], 0xffffff
test rax, rax
jne 0x140080628
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140081c16
mov esi, 0x80004005
jmp 0x140081c16
lea rcx, [rbp + 0x398]
call fcn.140105f10
lea rcx, [rbp + 0x318]
call fcn.140105f10
mov qword [rbp + 0x4e0], r14
lea rcx, [rbp + 0xe8]
call fcn.140105f10
lea rcx, [rbp + 0x210]
call fcn.140105f10
lea rcx, [rbp + 0x198]
call fcn.140105f10
mov esi, r14d
mov dword [rbp + 0x1c8], r14d
mov rdi, qword [0x14014dc70]
mov rcx, rdi
call qword [fcn.140009050]
lea r9, [rbp + 0x1c8]
xor r8d, r8d
lea rdx, [rbp + 0xf4]
lea ecx, [r8 + 8]
call rdi
test eax, eax
jne 0x1400806c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140080816
mov esi, 0x80004005
jmp 0x140080816
mov edi, dword [rbp + 0x1c8]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x210]
call fcn.140105f20
test rdi, rdi
jne 0x140080708
mov qword [rbp + 0x210], r14
mov esi, 0x8007000e
jmp 0x140080816
mov qword [rbp + 0x210], rdi
mov edi, dword [rbp + 0xf4]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0x198]
call fcn.140105f20
test rdi, rdi
jne 0x14008074d
mov esi, 0x8007000e
jmp 0x14008080f
mov qword [rbp + 0x198], rdi
mov rdi, qword [0x14014dc70]
mov rcx, rdi
call qword [fcn.140009050]
lea r9, [rbp + 0x1c8]
mov r8, qword [rbp + 0x210]
lea rdx, [rbp + 0xf4]
mov ecx, 8
call rdi
test eax, eax
je 0x1400806a0
mov rbx, qword [rbp + 0x210]
mov r12, qword [rbp + 0x198]
mov r13d, r14d
cmp dword [rbp + 0xf4], r14d
jbe 0x1400807ee
mov r15d, 1
mov rdi, qword [0x14014dc80]
mov rcx, rdi
call qword [fcn.140009050]
xor edx, edx
mov rcx, rbx
call rdi
mov dword [r12], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1400807c7
lea rbx, [rbx + rax*2]
add rbx, 2
add r12, 4
add r13d, r15d
cmp r13d, dword [rbp + 0xf4]
jb 0x1400807a8
mov r15d, dword [rsp + 0x60]
mov dword [r12], 0x409
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x398], rax
mov eax, dword [rbp + 0xf4]
inc eax
mov dword [rbp - 0x68], eax
mov qword [rbp + 0x198], r14
lea rcx, [rbp + 0x198]
call fcn.140105f20
lea rcx, [rbp + 0x210]
call fcn.140105f20
test esi, esi
js 0x140080f89
mov r10d, r14d
mov dword [rsp + 0x68], r14d
mov r9d, r14d
lea rsi, [0x14012e610]
cmp dword [rbp - 0x68], r14d
jbe 0x14008088c
mov r8, r14
mov rax, qword [rbp + 0x398]
mov edx, r14d
mov rdi, rsi
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x140080885
mov ecx, 1
add edx, ecx
add rdi, 4
cmp edx, 0x27
jb 0x14008085e
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x68]
jae 0x14008088c
jmp 0x140080858
mov r10d, edx
mov dword [rsp + 0x68], edx
mov ebx, r10d
mov dword [rbp - 8], r14d
mov rdi, qword [0x14014dc78]
mov rcx, rdi
call qword [fcn.140009050]
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0x1160]
mov ecx, dword [rsi + rbx*4]
call rdi
test eax, eax
je 0x1400808ff
mov rdi, qword [0x14014dc60]
mov rcx, rdi
call qword [fcn.140009050]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xf40]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0x1160]
call rdi
mov r13d, 1
test eax, eax
jle 0x140080905
mov esi, dword [rbp + 0xf4c]
shr esi, 0x1b
and esi, r13d
mov dword [rbp - 8], esi
jmp 0x140080905
mov r13d, 1
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0x10b0]
mov edi, SafeArrayAccessData
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r14w
jne 0x14008091f
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub rdi, r13
jne 0x140080918
lea rcx, [rbx + rbx*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x12e6b0]
mov rdi, qword [rbp + rax*8 + 0x10b0]
mov qword [rbp + 0x78], rdi
movzx eax, byte [rdx + rcx + 0x12e6b1]
mov rdi, qword [rbp + rax*8 + 0x10b0]
mov qword [rbp + 0xf8], rdi
movzx eax, byte [rdx + rcx + 0x12e6b2]
mov rax, qword [rbp + rax*8 + 0x10b0]
mov qword [rsp + 0x70], rax
mov dword [rbp - 0x68], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x1d18
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x1400809b3
mov esi, 0x8007000e
jmp 0x140080fa8
mov byte [rsp + 0x64], r14b
or dword [rbp - 0x80], 0xffffffff
mov r11d, r14d
mov dword [rbp + 0x34], r14d
mov r13d, r14d
mov dword [rbp + 0x3c], r14d
lea r12, [rax + 7]
lea rax, [0x14012c8f2]
mov ebx, 0x3a3
mov esi, dword [rbp - 0x80]
mov r15d, 1
movzx r10d, byte [rax - 2]
shl r10d, 8
movzx ecx, byte [rax - 1]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [rax]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [rax + 1]
or r10d, ecx
movzx r9d, byte [rax + 2]
shl r9d, 8
movzx ecx, byte [rax + 3]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [rax + 4]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [rax + 5]
or r9d, ecx
xor r13d, r10d
xor r11d, r9d
add rax, 8
xor r11d, r13d
xor r11d, 0x695ad232
lea ecx, [r11 + 0x3098fb05]
rol ecx, 5
mov edx, r11d
rol edx, 0xa
imul ecx, ecx, 0xd6c9
add edx, ecx
xor r13d, edx
lea ecx, [r13 - 0x59c22937]
ror ecx, 9
mov edx, r13d
rol edx, 2
imul ecx, ecx, 0xcf67
sub ecx, edx
xor r11d, ecx
lea ecx, [r11 - 0xd6c9]
imul edx, ecx, 0x4fb
mov ecx, r11d
shr ecx, 0xd
sub edx, ecx
xor r13d, edx
mov ecx, r13d
xor ecx, 0xcf67
rol ecx, 6
mov edx, r13d
rol edx, 2
imul ecx, ecx, 0xa63d
sub ecx, edx
xor r11d, ecx
mov edx, r11d
mov r8d, 0xcf6704fb
xor edx, r8d
mov ecx, 0xa63dd6c9
sub ecx, edx
xor r13d, ecx
mov edi, r13d
ror edi, 6
mov ecx, r13d
xor ecx, 0xd6c9
imul edx, ecx, 0xcf67
xor edi, edx
xor r11d, edi
lea ecx, [r11 - 0x59c22937]
ror ecx, 0xf
mov edx, r11d
rol edx, 2
imul ecx, ecx, 0x4fb
add edx, ecx
xor r13d, edx
lea ecx, [r13 + 0x3098fb05]
ror ecx, 0xe
mov edx, r13d
rol edx, 8
imul ecx, ecx, 0xa63d
sub ecx, edx
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
ror ecx, 0xc
mov edx, r11d
ror edx, 0xa
imul ecx, ecx, 0xd6c9
xor edx, ecx
xor r13d, edx
mov ecx, r13d
xor ecx, 0xa63d
imul edx, ecx, 0xcf67
mov ecx, r13d
shr ecx, 0xa
xor edx, ecx
xor r11d, edx
mov ecx, r11d
not ecx
ror ecx, 5
add ecx, 0x4fb
imul ecx, ecx, 0xa63d
xor r13d, ecx
mov edx, r11d
xor edx, r8d
mov edi, 0xa63dd6c9
mov ecx, edi
sub ecx, edx
xor r13d, ecx
lea ecx, [r13 - 0x3098fb05]
rol ecx, 3
mov edx, r13d
rol edx, 6
imul ecx, ecx, 0xa63d
add edx, ecx
xor r11d, edx
mov ecx, r8d
sub ecx, r11d
ror ecx, 9
mov edx, r11d
ror edx, 8
imul ecx, ecx, 0xd6c9
sub ecx, edx
xor r13d, ecx
xor r11d, r13d
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, r13d
xor r8d, edi
mov ecx, r8d
xor ecx, 0x4fb
imul edx, ecx, 0xa63d
mov ecx, r8d
shr ecx, 8
add edx, ecx
xor r11d, edx
mov edi, r11d
ror edi, 9
mov ecx, r11d
mov r13d, 0xa63d
xor ecx, r13d
imul edx, ecx, 0xd6c9
sub edx, edi
xor r8d, edx
mov ecx, r8d
xor ecx, r13d
imul edx, ecx, 0xcf67
mov ecx, r8d
shr ecx, 6
xor edx, ecx
xor r11d, edx
mov edi, r11d
ror edi, 2
mov ecx, r11d
xor ecx, 0xcf67
imul edx, ecx, 0x4fb
xor edi, edx
xor r8d, edi
lea ecx, [r8 + 0x309854c8]
xor r11d, ecx
lea ecx, [r11 + 0x3098fb05]
rol ecx, 7
mov edx, r11d
rol edx, 0xb
imul ecx, ecx, 0xd6c9
xor edx, ecx
xor r8d, edx
mov ecx, r8d
xor ecx, r13d
rol ecx, 2
mov edx, r8d
rol edx, 0xc
imul ecx, ecx, 0xcf67
add edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0xa63dd6c9
rol ecx, 4
mov edx, r11d
rol edx, 0xe
imul ecx, ecx, 0x4fb
add edx, ecx
xor edx, r14d
xor r8d, edx
mov dword [rbp + 0x3c], r8d
xor r11d, esi
mov dword [rbp + 0x34], r11d
mov byte [r12 - 4], r8b
ror dword [rbp + 0x3c], 8
mov cl, byte [rbp + 0x34]
mov byte [r12], cl
ror dword [rbp + 0x34], 8
mov cl, byte [rbp + 0x3c]
mov byte [r12 - 5], cl
ror dword [rbp + 0x3c], 8
mov cl, byte [rbp + 0x34]
mov byte [r12 - 1], cl
ror dword [rbp + 0x34], 8
mov cl, byte [rbp + 0x3c]
mov byte [r12 - 6], cl
ror dword [rbp + 0x3c], 8
mov cl, byte [rbp + 0x34]
mov byte [r12 - 2], cl
ror dword [rbp + 0x34], 8
mov cl, byte [rbp + 0x3c]
mov byte [r12 - 7], cl
mov cl, byte [rbp + 0x34]
mov byte [r12 - 3], cl
mov r13d, dword [rbp + 0x3c]
ror r13d, 8
mov dword [rbp + 0x3c], r13d
mov r11d, dword [rbp + 0x34]
ror r11d, 8
mov dword [rbp + 0x34], r11d
mov r14d, r10d
mov esi, r9d
lea r12, [r12 + 8]
sub rbx, r15
jne 0x1400809e3
xor r14d, r14d
mov ecx, r14d
mov al, byte [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov esi, dword [rbp - 0x68]
mov rbx, qword [rbp - 0x50]
mov edx, 0x1d18
lea r13d, [r14 + 1]
xor al, byte [rcx + rbx]
add rcx, r13
cmp rcx, rdx
jb 0x140080d2d
movzx ecx, al
cmp rcx, qword [0x14012e608]
je 0x140080d4b
mov esi, 0xc004d501
jmp 0x140080d5c
mov qword [rbp + 0x318], rbx
mov rbx, r14
mov qword [rbp + 0x4e0], rdx
test rbx, rbx
je 0x140080d75
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x140080fa8
mov rdx, qword [rbp + 0x318]
lea rdi, [rbp + 0x1080]
mov r8d, 6
mov r9d, dword [rsp + 0x68]
mov ecx, r14d
cmp r9d, ecx
jne 0x140080da1
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r14b
jne 0x140080da5
inc rdx
add rdx, rax
add ecx, r13d
cmp ecx, 0x27
jb 0x140080d99
add rdi, 8
sub r8, r13
jne 0x140080d96
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
lea rcx, [rbp + 0xe8]
call fcn.140105f20
test rdi, rdi
jne 0x140080dff
mov qword [rbp + 0xe8], r14
mov esi, 0x8007000e
jmp 0x140081028
mov qword [rbp + 0xe8], rdi
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, r14d
mov dword [rbp - 0x68], edx
mov r13, r14
lea rcx, [rbp + 0x1150]
mov qword [rbp + 8], rcx
lea r8d, [rax + 1]
mov eax, r14d
movzx edi, word [rcx]
lea rcx, [0x14012ed50]
cmp di, word [rcx]
je 0x140080e4e
add eax, r8d
add rcx, 2
cmp eax, 6
jb 0x140080e38
jmp 0x140080f24
mov r12, qword [rbp + rax*8 + 0x1080]
mov qword [rbp - 0x28], r12
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [r12 + rbx], r14b
jne 0x140080e5e
add ebx, r8d
mov rdi, qword [0x14014dc90]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, ebx
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
call rdi
mov dword [rbp - 0x70], eax
test eax, eax
je 0x140080f63
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbp + 0xe8]
mov qword [rcx + r13], rax
mov rdi, qword [rbp + 0xe8]
cmp qword [rdi + r13], r14
je 0x140080f82
or r12, 0xffffffffffffffff
mov rax, qword [rbp - 0x28]
inc r12
cmp byte [rax + r12], r14b
jne 0x140080edc
mov rbx, qword [0x14014dc90]
mov rcx, rbx
call qword [fcn.140009050]
mov eax, dword [rbp - 0x70]
mov dword [rsp + 0x28], eax
mov rax, qword [rdi + r13]
mov qword [rsp + 0x20], rax
lea r9d, [r12 + 1]
mov r8, qword [rbp - 0x28]
xor edx, edx
mov ecx, 0xfde9
call rbx
test eax, eax
je 0x140080f63
mov edx, dword [rbp - 0x68]
mov r8d, 1
add edx, r8d
mov dword [rbp - 0x68], edx
mov rcx, qword [rbp + 8]
add rcx, 2
mov qword [rbp + 8], rcx
add r13, 8
cmp edx, 3
jb 0x140080e2b
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xe8], r14
mov qword [rbp + 0x3a8], rax
mov eax, dword [rbp - 8]
mov dword [rbp + 0x7e0], eax
jmp 0x140080fa2
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140080fa2
mov esi, 0x80004005
jmp 0x140080fa2
mov esi, 0x8007000e
jmp 0x140080fa2
mov rax, qword [rbp + 0xc58]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xc50]
mov qword [rbp + 0x78], rax
mov r13d, 1
cmp qword [rbp + 0xe8], r14
je 0x140081028
mov rbx, r14
mov r12d, 3
mov rdi, qword [rbp + 0xe8]
cmp qword [rdi + rbx], r14
je 0x14008101f
test rdi, rdi
jne 0x140080fd4
mov rdi, r14
mov rax, r14
jmp 0x140080fde
mov rdi, qword [rbp + 0xe8]
mov rax, rdi
mov rdx, qword [rdi + rbx]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdx + rcx*2], r14w
jne 0x140080fe6
lea rcx, [rcx*2 + 2]
mov rdi, qword [rax + rbx]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0xe8]
mov rdi, qword [rax + rbx]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rbx, 8
sub r12, r13
jne 0x140080fba
mov rdi, qword [rbp + 0x318]
test rdi, rdi
je 0x14008103f
xor eax, eax
mov rcx, qword [rbp + 0x4e0]
rep stosb byte [rdi], al
lea rcx, [rbp + 0xe8]
call fcn.140105f20
lea rcx, [rbp + 0x318]
call fcn.140105f20
lea rcx, [rbp + 0x398]
call fcn.140105f20
test esi, esi
js 0x140081bf9
mov rax, qword [rbp + 0x3a8]
mov rcx, qword [rax]
mov qword [rbp + 0x7e8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x7f0], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x7f8], rcx
xor eax, eax
mov qword [rbp + 0x554], rax
mov dword [rbp + 0x55c], eax
mov ebx, r14d
mov esi, r14d
mov dword [rbp + 0x550], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rdi, qword [0x14014dd38]
mov rcx, rdi
call qword [fcn.140009050]
xor r9d, r9d
lea r8, [rbp + 0x550]
xor edx, edx
lea ecx, [rdx + 0x42]
call rdi
test eax, eax
jne 0x1400810f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400810fe
mov esi, 0x80004005
jmp 0x1400810fe
mov ebx, dword [rbp + 0x554]
and ebx, r13d
mov dword [rbp + 0x7e4], ebx
mov r13d, dword [rbp - 0x34]
test esi, esi
js 0x140081bfd
mov ecx, r13d
mov edx, reloc.WSOCK32.dll_inet_ntoa
lea eax, [rdx + 0x1f]
mov dword [rbp], eax
sub ecx, 1
je 0x140081143
sub ecx, 1
je 0x14008113a
cmp ecx, 1
jne 0x140081149
mov esi, 0xe1
mov dword [rbp - 0x78], esi
mov dword [rbp + 0x58], esi
jmp 0x140081149
mov dword [rbp - 0x78], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x140081146
mov dword [rbp - 0x78], eax
mov dword [rbp + 0x58], edx
mov esi, 0x60
mov ebx, esi
mov dword [rbp - 8], ebx
mov word [rbp + 0xf60], r14w
xor edx, edx
lea r8d, [rsi - 0x22]
lea rcx, [rbp + 0xf62]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rsi + 0x3c]
lea rcx, [rbp + 0xfa0]
call sub.msvcrt.dll_memset
lea eax, [rsi + 0x7c]
mov word [rbp + 0xfa4], ax
mov rdi, qword [0x14014dcb0]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xf60]
or edx, 0xffffffff
xor ecx, ecx
call rdi
test eax, eax
je 0x1400811dd
movzx ebx, word [rbp + 0x1006]
mov qword [rbp + 0xc78], 0
mov eax, dword [rbp + 0x100c]
mov dword [rbp + 0xc80], eax
mov eax, dword [rbp + 0x1010]
mov dword [rbp + 0xc84], eax
cmp ebx, esi
cmovl ebx, esi
mov dword [rbp - 8], ebx
mov eax, 1
cmp r13d, eax
mov rax, qword [rsp + 0x70]
cmove rax, qword [rbp + 0x78]
mov qword [rsp + 0x70], rax
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xe20]
call sub.msvcrt.dll_memset
mov esi, r14d
mov rdi, qword [0x14014dcc8]
mov rcx, rdi
call qword [fcn.140009050]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov r12, rax
test rax, rax
jne 0x140081253
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140081bfd
mov esi, 0x80004005
jmp 0x140081bfd
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, 0x48
mov edx, ebx
mov ecx, dword [rbp - 0x78]
call rdi
neg eax
mov dword [rbp + 0xe20], eax
mov dword [rbp + 0xe30], 0x190
mov byte [rbp + 0xe3a], 5
mov r8, qword [rsp + 0x70]
mov edx, 0x20
lea rcx, [rbp + 0xe3c]
call fcn.140036ea4
mov rdi, qword [0x14014dbf0]
mov rcx, rdi
call qword [fcn.140009050]
lea rcx, [rbp + 0xe20]
call rdi
test rax, rax
jne 0x1400812dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400812e3
mov esi, 0x80004005
jmp 0x1400812e3
mov qword [rbp + 0x800], rax
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, r12
xor ecx, ecx
call rdi
test esi, esi
js 0x140081bfd
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xe80]
call sub.msvcrt.dll_memset
mov esi, r14d
mov rdi, qword [0x14014dcc8]
mov rcx, rdi
call qword [fcn.140009050]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov r12, rax
test rax, rax
jne 0x14008135c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140081407
jmp 0x140081249
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, 0x48
mov edx, ebx
mov ecx, dword [rbp + 0x58]
call rdi
neg eax
mov dword [rbp + 0xe80], eax
mov dword [rbp + 0xe90], 0x190
mov byte [rbp + 0xe9a], 5
mov r8, qword [rsp + 0x70]
mov ebx, 0x20
mov edx, ebx
lea rcx, [rbp + 0xe9c]
call fcn.140036ea4
mov rdi, qword [0x14014dbf0]
mov rcx, rdi
call qword [fcn.140009050]
lea rcx, [rbp + 0xe80]
call rdi
test rax, rax
jne 0x1400813e7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400813ee
mov esi, 0x80004005
jmp 0x1400813ee
mov qword [rbp + 0x808], rax
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, r12
xor ecx, ecx
call rdi
jmp 0x14008140c
mov ebx, 0x20
test esi, esi
js 0x140081bfd
mov r12d, r14d
mov edx, r14d
mov ecx, r13d
sub ecx, 1
je 0x140081445
sub ecx, 1
je 0x14008142e
cmp ecx, 1
je 0x140081445
jmp 0x140081452
mov eax, dword [rbp + 0xc80]
cdq
and edx, 3
lea r12d, [rdx + rax]
sar r12d, 2
mov edx, r14d
jmp 0x140081452
mov r12d, dword [rbp + 0xc80]
mov edx, dword [rbp + 0xc84]
mov dword [rbp + 0xc48], r12d
mov dword [rbp + 0xc4c], edx
mov ecx, 1
cmp r13d, ecx
je 0x14008149f
lea eax, [r13 - 2]
cmp eax, ecx
ja 0x14008147e
mov eax, r14d
mov dword [rbp], r14d
mov dword [rbp - 0x78], r14d
jmp 0x1400814a7
mov eax, dword [rbp + 0x110]
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x110]
mov dword [rbp], eax
mov r13d, dword [rbp + 0x110]
mov eax, dword [rbp + 0x110]
jmp 0x1400814aa
mov eax, 0x96
mov dword [rbp - 0x78], ebx
mov r13d, r14d
mov dword [rsp + 0x68], eax
sub r12d, eax
sub r12d, r13d
mov dword [rbp + 0x834], r12d
mov dword [rbp + 0x824], r12d
mov rbx, qword [rbp + 0x7e8]
mov esi, r14d
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0x800]
mov rcx, qword [rsp + 0x78]
call rdi
mov qword [rbp - 0x50], rax
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x81c]
or r8d, 0xffffffff
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
call rdi
test eax, eax
mov eax, 0x80004005
cmove esi, eax
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x14008154d
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
call rdi
test esi, esi
js 0x140081bf9
mov rbx, qword [rbp + 0x7f0]
mov esi, r14d
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0x808]
mov rcx, qword [rsp + 0x78]
call rdi
mov qword [rbp - 0x50], rax
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x82c]
or r8d, 0xffffffff
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
call rdi
test eax, eax
mov eax, 0x80004005
cmove esi, eax
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x1400815e0
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
call rdi
test esi, esi
js 0x140081bf9
mov eax, dword [rbp - 0x34]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x824]
mov r8d, 1
cmp eax, r8d
ja 0x14008160d
mov r12d, dword [rbp + 0x834]
cmp ecx, r12d
cmovg r12d, ecx
mov rdi, qword [fcn.14005daa0]
cmp dword [rbp + 0x7e0], r14d
je 0x140081671
mov ebx, r13d
sub ebx, ecx
add ebx, r12d
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, dword [rbp]
mov edx, ebx
lea rcx, [rbp + 0x81c]
call rdi
mov ebx, dword [rbp - 0x78]
add ebx, dword [rbp + 0x828]
sub r13d, dword [rbp + 0x834]
add r13d, r12d
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, ebx
mov edx, r13d
lea rcx, [rbp + 0x82c]
call rdi
jmp 0x1400816b4
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, dword [rbp]
mov edx, dword [rsp + 0x68]
lea rcx, [rbp + 0x81c]
call rdi
mov edi, dword [rbp - 0x78]
add edi, dword [rbp + 0x828]
mov rbx, qword [fcn.14005daa0]
mov rcx, rbx
call qword [fcn.140009050]
mov r8d, edi
mov edx, dword [rsp + 0x68]
lea rcx, [rbp + 0x82c]
call rbx
mov r13d, dword [rbp - 0x34]
lea eax, [r13 - 2]
mov ebx, 1
cmp eax, ebx
jbe 0x1400819d1
cmp r13d, ebx
jne 0x1400819ee
mov dword [rbp + 0x818], 0xffffff
xor edx, edx
lea r8d, [rbx + 0x5b]
lea rcx, [rbp + 0xee0]
call sub.msvcrt.dll_memset
mov esi, r14d
mov rdi, qword [0x14014dcc8]
mov rcx, rdi
call qword [fcn.140009050]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov rbx, rax
test rax, rax
jne 0x140081736
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400817e7
jmp 0x140081249
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, 0x48
mov r13d, dword [rbp - 8]
mov edx, r13d
lea ecx, [r8 - 0x3d]
call rdi
neg eax
mov dword [rbp + 0xee0], eax
mov dword [rbp + 0xef0], 0x190
mov byte [rbp + 0xefa], 5
mov r8, qword [rbp + 0xf8]
mov edx, 0x20
lea rcx, [rbp + 0xefc]
call fcn.140036ea4
mov rdi, qword [0x14014dbf0]
mov rcx, rdi
call qword [fcn.140009050]
lea rcx, [rbp + 0xee0]
call rdi
test rax, rax
jne 0x1400817c7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400817ce
mov esi, 0x80004005
jmp 0x1400817ce
mov qword [rbp + 0x810], rax
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
xor ecx, ecx
call rdi
jmp 0x1400817eb
mov r13d, dword [rbp - 8]
test esi, esi
js 0x140081bf9
mov dword [rbp + 0x844], r12d
mov rbx, qword [rbp + 0x7f8]
mov esi, r14d
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0x810]
mov rcx, qword [rsp + 0x78]
call rdi
mov r12, rax
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x83c]
or r8d, 0xffffffff
mov rdx, rbx
mov rbx, qword [rsp + 0x78]
mov rcx, rbx
call rdi
test eax, eax
mov eax, 0x80004005
cmove esi, eax
test r12, r12
je 0x140081881
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, r12
mov rcx, rbx
call rdi
test esi, esi
js 0x140081bf9
mov eax, dword [rbp + 0x844]
add eax, 0x18
mov ecx, 0x5a
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x844], eax
mov dword [rbp + 0x848], 0x20
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov ebx, 0x60
mov r8d, ebx
mov edx, r13d
mov ecx, dword [rbp + 0x83c]
call rdi
mov dword [rbp + 0x83c], eax
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, ebx
mov edx, r13d
mov ecx, dword [rbp + 0x840]
call rdi
mov dword [rbp + 0x840], eax
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, ebx
mov edx, r13d
mov ecx, dword [rbp + 0x844]
call rdi
mov dword [rbp + 0x844], eax
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, ebx
mov edx, r13d
mov ecx, dword [rbp + 0x848]
call rdi
mov dword [rbp + 0x848], eax
cmp dword [rbp + 0x7e0], r14d
je 0x140081989
mov esi, dword [rbp + 0x82c]
cmp dword [rbp + 0x81c], esi
cmovl esi, dword [rbp + 0x81c]
mov edi, dword [rbp + 0x838]
mov rbx, qword [fcn.14005daa0]
mov rcx, rbx
call qword [fcn.140009050]
lea r8d, [rdi + 0x24]
mov edx, esi
lea rcx, [rbp + 0x83c]
call rbx
mov ebx, 1
jmp 0x1400819ee
mov ecx, dword [rbp + 0x834]
cmp dword [rbp + 0x824], ecx
cmovg ecx, dword [rbp + 0x824]
mov ebx, dword [rbp + 0x838]
mov esi, dword [rbp + 0x83c]
sub esi, dword [rbp + 0x844]
add esi, ecx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea r8d, [rbx + 0x24]
mov edx, esi
lea rcx, [rbp + 0x83c]
call rdi
jmp 0x140081982
mov dword [rbp + 0xc48], r12d
mov eax, dword [rbp + 0x838]
mov dword [rbp + 0xc4c], eax
mov dword [rbp + 0x818], 0xffa8a8a8
mov r13d, dword [rbp + 0x7e0]
mov r12d, dword [rbp + 0xc4c]
mov esi, dword [rbp + 0xc48]
mov ecx, dword [rbp - 0x34]
sub ecx, 1
je 0x140081beb
sub ecx, 1
je 0x140081ae8
cmp ecx, 1
jne 0x140081bf6
mov dword [rbp + 0xd30], r14d
xor edx, edx
lea r8d, [rcx + 0x23]
lea rcx, [rbp + 0xd34]
call sub.msvcrt.dll_memset
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, ebx
xor ecx, ecx
call rdi
mov rbx, rax
mov dword [rbp + 0xd30], 0x28
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xd30]
mov rcx, rbx
call rdi
test eax, eax
je 0x140081bf6
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xd44]
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xd4c]
xor ecx, ecx
call rdi
mov eax, dword [rbp + 0xd4c]
sub eax, esi
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 + 0xd4c]
shr rcx, 0x20
sub ecx, r12d
imul ecx, ecx, 0x32
jmp 0x140081bcc
mov dword [rbp + 0xcd8], r14d
xor edx, edx
lea r8d, [rdx + 0x24]
lea rcx, [rbp + 0xcdc]
call sub.msvcrt.dll_memset
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, ebx
xor ecx, ecx
call rdi
mov rbx, rax
mov dword [rbp + 0xcd8], 0x28
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xcd8]
mov rcx, rbx
call rdi
test eax, eax
je 0x140081bf6
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xcec]
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xcf4]
xor ecx, ecx
call rdi
mov eax, dword [rbp + 0xcf4]
test r13d, r13d
je 0x140081ba5
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 + 0xcec]
jmp 0x140081bbb
sub eax, esi
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 + 0xcf4]
shr rax, 0x20
sub eax, r12d
imul ecx, eax, 0x5f
mov dword [rbp + 0xc40], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0xc44], edx
jmp 0x140081bf6
mov qword [rbp + 0xc40], 0
mov esi, r14d
mov r13d, dword [rbp - 0x34]
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rsp + 0x78]
xor ecx, ecx
call rdi
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x14015121c], r12d
jne 0x140081c1c
mov eax, dword [0x140151228]
test eax, eax
jle 0x140081c8c
sub eax, r12d
mov dword [0x140151228], eax
jne 0x140081c8c
lea rdi, [0x14014f870]
mov ebx, 4
cmp qword [rdi], r14
je 0x140081c58
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r12
jne 0x140081c4a
xor edx, edx
lea r8d, [rbx + 0x60]
lea rcx, [0x14014f870]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x14015121c], eax
lea rcx, [rbp + 0x3a8]
call fcn.140105f20
test esi, esi
js 0x140083735
mov rdi, qword [rbp + 0xc40]
mov qword [rbp - 0x28], rdi
mov dword [rbp + 0x850], r14d
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0x854]
call sub.msvcrt.dll_memset
mov esi, r12d
mov rbx, qword [0x14014dc20]
mov rcx, rbx
call qword [fcn.140009050]
mov edx, 7
mov rcx, qword [rbp + 0x68]
call rbx
mov r12, rax
test rax, rax
je 0x140081d41
mov rbx, qword [0x14014dc38]
mov rcx, rbx
call qword [fcn.140009050]
lea r8, [rbp + 0x850]
mov edx, 0x68
mov rcx, r12
call rbx
test eax, eax
je 0x140081d41
mov eax, 0x20
cmp word [rbp + 0x862], ax
jne 0x140081d41
cmp qword [rbp + 0x868], r14
je 0x140081d41
cmp dword [rbp + 0x854], r14d
jle 0x140081d41
cmp dword [rbp + 0x858], r14d
jg 0x140081d44
mov esi, r14d
mov dword [rbp + 0x2bc], esi
test esi, esi
mov esi, 1
jne 0x140081d58
cmp r13d, esi
jne 0x140081dc8
mov rbx, qword [fcn.14005daa0]
mov rcx, rbx
call qword [fcn.140009050]
mov r8d, dword [rbp - 0x24]
mov edx, edi
lea rcx, [rbp + 0x81c]
call rbx
mov rbx, qword [fcn.14005daa0]
mov rcx, rbx
call qword [fcn.140009050]
mov r8d, dword [rbp - 0x24]
mov edx, edi
lea rcx, [rbp + 0x82c]
call rbx
cmp r13d, esi
jne 0x140081dc8
mov eax, dword [rbp + 0x7e4]
neg eax
sbb ebx, ebx
not ebx
and ebx, 0xb26720
mov rdi, qword [0x14014dbf8]
mov rcx, rdi
call qword [fcn.140009050]
mov ecx, ebx
call rdi
mov qword [rbp + 0xc0], rax
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, esi
mov rbx, qword [rbp + 0x68]
mov rcx, rbx
call rdi
mov dword [rsp + 0x78], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x7e0], r14d
cmovne eax, ecx
mov dword [rbp + 0x78], eax
cmp dword [rbp + 0x2bc], r14d
je 0x1400828c5
mov eax, dword [rbp + 0x7e4]
mov dword [rbp - 0x70], eax
mov rax, qword [rbp + 0x800]
mov qword [rbp - 0x50], rax
mov r12, qword [rbp + 0x7e8]
mov dword [rbp + 0x9a0], r14d
mov edi, 0x64
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x9a4]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa80], r14d
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xa84]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x28], r14
mov dword [rbp - 0x68], r14d
mov esi, r14d
xor edx, edx
lea r8d, [rdi - 0x38]
lea rcx, [rbp + 0xd58]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xcb8], xmm0
test r12, r12
je 0x140083714
mov rdi, qword [0x14014dc20]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 7
mov rcx, rbx
call rdi
mov rbx, rax
test rax, rax
jne 0x140081eb9
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140083714
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0x9a0]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x140081ef8
mov rax, qword [rbp + 0x9b8]
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0x9a4]
mov dword [rbp - 0x68], eax
mov esi, dword [rbp + 0x9a8]
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 0x68]
call rdi
mov qword [rbp + 8], rax
test rax, rax
je 0x140081eae
mov ebx, dword [rbp + 0x828]
sub ebx, dword [rbp + 0x820]
mov edi, dword [rbp + 0x824]
sub edi, dword [rbp + 0x81c]
mov qword [rbp + 0x668], r14
mov r13d, r14d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xd58]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xd58], 0x28
mov dword [rbp + 0xd5c], edi
neg ebx
mov dword [rbp + 0xd60], ebx
mov dword [rbp + 0xd64], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x668]
xor r8d, r8d
lea rdx, [rbp + 0xd58]
mov rbx, qword [rbp + 8]
mov rcx, rbx
call rdi
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x140081fd6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x14008234a
mov r13d, 0x80004005
jmp 0x14008234a
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xa80]
mov edx, 0x68
mov rcx, qword [rsp + 0x70]
call rdi
mov rcx, r14
test eax, eax
cmovne rcx, qword [rbp + 0xa98]
mov qword [rbp - 0x80], rcx
mov eax, dword [rbp + 0x824]
sub eax, dword [rbp + 0x81c]
mov dword [rbp + 0xcc0], eax
mov eax, dword [rbp + 0x828]
sub eax, dword [rbp + 0x820]
mov dword [rbp + 0xcc4], eax
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rsp + 0x70]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp - 0x50]
mov rcx, rbx
call rdi
mov qword [rsp + 0x68], rax
mov rdi, qword [0x14014dc40]
mov rcx, rdi
call qword [fcn.140009050]
xor ecx, ecx
call rdi
mov rdi, rax
mov rbx, qword [0x14014dcb8]
mov rcx, rbx
call qword [fcn.140009050]
mov r8, rdi
lea rdx, [rbp + 0xcb8]
mov rcx, qword [rbp + 8]
call rbx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov qword [rsp + 0x28], r14
mov eax, dword [rbp + 0x78]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xcb8]
or r8d, 0xffffffff
mov rdx, r12
mov rbx, qword [rbp + 8]
mov rcx, rbx
call rdi
mov ecx, 1
cmp dword [rbp - 0x34], ecx
jne 0x140082121
cmp dword [rbp - 0x70], r14d
je 0x140082119
mov rdi, qword [0x14014dce8]
mov rcx, rdi
call qword [fcn.140009050]
mov ecx, 8
call rdi
mov r12d, eax
mov dword [rbp - 0x78], eax
jmp 0x14008212b
mov r12d, 0xffffff
jmp 0x140082127
mov r12d, 0xffa8a8a8
mov dword [rbp - 0x78], r12d
mov edx, dword [rbp + 0x820]
mov r8d, dword [rbp + 0x81c]
mov edi, r14d
mov ecx, r14d
test r8d, r8d
jns 0x14008214b
mov edi, r8d
neg edi
mov r8d, r14d
test edx, edx
jns 0x140082156
mov ecx, edx
neg ecx
mov edx, r14d
movsxd r11, dword [rbp + 0xcc0]
mov eax, r11d
sub eax, edi
movsxd r9, dword [rbp - 0x68]
mov r10d, r9d
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xcc4]
sub eax, ecx
sub esi, edx
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x140082311
test esi, esi
jle 0x140082311
imul ecx, r11d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp - 0x80]
lea rdi, [rax + rcx*4]
mov qword [rbp + 8], rdi
imul edx, r9d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x28]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x28], rax
test esi, esi
jle 0x140082311
mov rcx, r11
shl rcx, 2
mov qword [rbp - 0x50], rcx
mov rdx, r9
shl rdx, 2
mov qword [rbp - 0x80], rdx
mov r8d, esi
mov qword [rbp - 0x70], r8
mov r15d, 1
test r10d, r10d
jle 0x1400822f1
lea r9, [rax + 2]
mov r11, rdi
sub r11, rax
mov esi, r10d
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400822d0
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rbp - 0x77]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rbp - 0x76]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
add r9, 4
sub rsi, r15
jne 0x140082206
mov rax, qword [rbp - 0x28]
mov rdi, qword [rbp + 8]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x70]
add rdi, rcx
mov qword [rbp + 8], rdi
add rax, rdx
mov qword [rbp - 0x28], rax
sub r8, r15
mov qword [rbp - 0x70], r8
jne 0x1400821f0
mov r15d, dword [rsp + 0x60]
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rsp + 0x70]
call rdi
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x14008234a
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x14014dc00]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
test r13d, r13d
js 0x140083714
mov eax, dword [rbp + 0x7e4]
mov dword [rbp - 0x70], eax
mov rax, qword [rbp + 0x808]
mov qword [rbp - 0x50], rax
mov r13, qword [rbp + 0x7f0]
mov dword [rbp + 0xa10], r14d
mov edi, 0x64
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xa14]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xaf0], r14d
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xaf4]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x28], r14
mov dword [rbp - 0x68], r14d
mov esi, r14d
xor edx, edx
lea r8d, [rdi - 0x38]
lea rcx, [rbp + 0xd88]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xca8], xmm0
test r13, r13
je 0x140083714
mov rdi, qword [0x14014dc20]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 7
mov r12, qword [rbp + 0x68]
mov rcx, r12
call rdi
mov rbx, rax
test rax, rax
je 0x140081eae
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xa10]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x140082452
mov rax, qword [rbp + 0xa28]
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0xa14]
mov dword [rbp - 0x68], eax
mov esi, dword [rbp + 0xa18]
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, r12
call rdi
mov qword [rbp + 8], rax
test rax, rax
je 0x140081eae
mov ebx, dword [rbp + 0x838]
sub ebx, dword [rbp + 0x830]
mov edi, dword [rbp + 0x834]
sub edi, dword [rbp + 0x82c]
mov qword [rbp + 0x678], r14
mov r12d, r14d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xd88]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xd88], 0x28
mov dword [rbp + 0xd8c], edi
neg ebx
mov dword [rbp + 0xd90], ebx
mov dword [rbp + 0xd94], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x678]
xor r8d, r8d
lea rdx, [rbp + 0xd88]
mov rbx, qword [rbp + 8]
mov rcx, rbx
call rdi
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x140082533
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400828a2
mov r12d, 0x80004005
jmp 0x1400828a2
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xaf0]
mov edx, 0x68
mov rcx, qword [rsp + 0x70]
call rdi
mov rcx, r14
test eax, eax
cmovne rcx, qword [rbp + 0xb08]
mov qword [rbp - 0x80], rcx
mov eax, dword [rbp + 0x834]
sub eax, dword [rbp + 0x82c]
mov dword [rbp + 0xcb0], eax
mov eax, dword [rbp + 0x838]
sub eax, dword [rbp + 0x830]
mov dword [rbp + 0xcb4], eax
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rsp + 0x70]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp - 0x50]
mov rcx, rbx
call rdi
mov qword [rsp + 0x68], rax
mov rdi, qword [0x14014dc40]
mov rcx, rdi
call qword [fcn.140009050]
xor ecx, ecx
call rdi
mov rdi, rax
mov rbx, qword [0x14014dcb8]
mov rcx, rbx
call qword [fcn.140009050]
mov r8, rdi
lea rdx, [rbp + 0xca8]
mov rcx, qword [rbp + 8]
call rbx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov qword [rsp + 0x28], r14
mov eax, dword [rbp + 0x78]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xca8]
or r8d, 0xffffffff
mov rdx, r13
mov rbx, qword [rbp + 8]
mov rcx, rbx
call rdi
mov eax, 1
cmp dword [rbp - 0x34], eax
jne 0x140082679
cmp dword [rbp - 0x70], r14d
je 0x140082670
mov rdi, qword [0x14014dce8]
mov rcx, rdi
call qword [fcn.140009050]
mov ecx, 8
call rdi
jmp 0x14008267e
mov dword [rbp - 0x78], 0xffffff
jmp 0x140082687
mov eax, 0xffa8a8a8
mov dword [rbp - 0x78], eax
mov dword [rbp + 0xd4], eax
mov edx, dword [rbp + 0x830]
mov r8d, dword [rbp + 0x82c]
mov edi, r14d
mov ecx, r14d
test r8d, r8d
jns 0x1400826a7
mov edi, r8d
neg edi
mov r8d, r14d
test edx, edx
jns 0x1400826b2
mov ecx, edx
neg ecx
mov edx, r14d
movsxd r9, dword [rbp + 0xcb0]
mov eax, r9d
sub eax, edi
movsxd r11, dword [rbp - 0x68]
mov r10d, r11d
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xcb4]
sub eax, ecx
sub esi, edx
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x140082869
test esi, esi
jle 0x140082869
imul ecx, r9d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp - 0x80]
lea rdi, [rax + rcx*4]
mov qword [rbp - 0x70], rdi
imul edx, r11d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x28]
lea r13, [rax + rcx*4]
test esi, esi
jle 0x140082869
mov rax, r9
shl rax, 2
mov qword [rbp - 0x50], rax
mov rcx, r11
shl rcx, 2
mov qword [rbp - 0x80], rcx
mov edx, esi
mov qword [rbp - 0x28], rdx
mov ebx, dword [rbp + 0xd4]
mov r15d, 1
test r10d, r10d
jle 0x140082849
lea r9, [r13 + 2]
mov r11, rdi
sub r11, r13
mov esi, r10d
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x14008282c
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rbp - 0x77]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rbp - 0x76]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
add r9, 4
sub rsi, r15
jne 0x140082763
mov rdi, qword [rbp - 0x70]
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x28]
add rdi, rax
mov qword [rbp - 0x70], rdi
add r13, rcx
sub rdx, r15
mov qword [rbp - 0x28], rdx
jne 0x14008274d
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rbp + 8]
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rsp + 0x70]
call rdi
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x1400828a2
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x14014dc00]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
test r12d, r12d
js 0x140083714
jmp 0x1400836b8
cmp dword [rbp + 0x7e4], r14d
jne 0x1400828d5
cmp r13d, esi
mov al, 0xc0
jne 0x1400828d7
mov al, 0xff
mov word [rbp - 8], 0
mov byte [rbp - 6], al
mov byte [rbp - 5], sil
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc68], xmm0
mov r12d, r14d
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov qword [rbp + 0x80], rax
test rax, rax
jne 0x14008291e
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140083714
cmp r13d, esi
jne 0x1400829d1
mov ecx, dword [rbp + 0x834]
sub ecx, dword [rbp + 0x82c]
mov eax, dword [rbp + 0x824]
mov esi, dword [rbp + 0x81c]
sub eax, esi
mov edi, eax
cmp ecx, eax
cmovg edi, ecx
mov dword [rsp + 0x68], edi
mov r8d, dword [rbp + 0x838]
mov edx, dword [rbp + 0x820]
sub r8d, edx
mov dword [rbp - 0x78], r8d
cmp dword [rbp + 0x7e0], r14d
je 0x14008298a
sub esi, dword [rbp + 0x824]
add esi, edi
mov dword [rbp + 0xc68], esi
mov r12d, dword [rbp + 0x82c]
sub r12d, dword [rbp + 0x834]
add r12d, edi
jmp 0x140082990
mov esi, dword [rbp + 0xc68]
add eax, esi
mov dword [rbp], eax
mov dword [rbp + 0xc70], eax
mov ebx, dword [rbp + 0x828]
sub ebx, edx
mov dword [rbp + 0xc74], ebx
lea eax, [r12 + rcx]
mov dword [rbp + 0x58], eax
mov r13d, dword [rbp + 0x830]
sub r13d, edx
mov eax, r13d
sub eax, dword [rbp + 0x830]
add eax, dword [rbp + 0x838]
mov dword [rbp + 0xf8], eax
jmp 0x140082a3a
mov edi, dword [rbp + 0xc48]
mov dword [rsp + 0x68], edi
mov eax, dword [rbp + 0xc4c]
mov dword [rbp - 0x78], eax
movups xmm0, xmmword [rbp + 0x81c]
movdqu xmmword [rbp + 0xc68], xmm0
movups xmm1, xmmword [rbp + 0x82c]
movdqu xmmword [rbp + 0xc50], xmm1
mov ebx, dword [rbp + 0xc74]
mov eax, dword [rbp + 0xc70]
mov dword [rbp], eax
mov esi, dword [rbp + 0xc68]
mov eax, dword [rbp + 0xc5c]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0xc58]
mov dword [rbp + 0x58], eax
mov r13d, dword [rbp + 0xc54]
mov r12d, dword [rbp + 0xc50]
mov qword [rbp + 0x658], r14
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xd00]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xd00], 0x28
mov dword [rbp + 0xd04], edi
mov eax, dword [rbp - 0x78]
neg eax
mov dword [rbp + 0xd08], eax
mov dword [rbp + 0xd0c], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x658]
xor r8d, r8d
lea rdx, [rbp + 0xd00]
mov rcx, qword [rbp + 0x80]
call rdi
mov qword [rbp + 0xb8], rax
test rax, rax
jne 0x140082ac3
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400836f3
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x80]
call rdi
mov eax, 1
cmp dword [rbp - 0x34], eax
jne 0x140082b3b
cmp qword [rbp + 0xc0], r14
je 0x140082b3b
mov qword [rbp + 0xcc8], 0
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0xcd0], eax
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0xcd4], eax
mov rdi, qword [0x14014dcb8]
mov rcx, rdi
call qword [fcn.140009050]
mov r8, qword [rbp + 0xc0]
lea rdx, [rbp + 0xcc8]
mov rcx, qword [rbp + 0x80]
call rdi
mov eax, dword [rbp + 0x7e4]
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0x800]
mov qword [rbp + 0x120], rax
mov rdi, qword [rbp + 0x7e8]
mov qword [rbp + 0xe0], rdi
mov dword [rbp + 0x8c0], r14d
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0x8c4]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xbd0], r14d
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0xbd4]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x50], r14
mov dword [rbp - 0x80], r14d
mov dword [rbp - 0x70], r14d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xde8]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc88], xmm0
test rdi, rdi
je 0x1400836d2
mov rdi, qword [0x14014dc20]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 7
mov rcx, qword [rbp + 0x80]
call rdi
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x140082bf7
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400836d2
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0x8c0]
mov edx, 0x68
mov rcx, qword [rbp - 0x28]
call rdi
test eax, eax
je 0x140082c3a
mov rax, qword [rbp + 0x8d8]
mov qword [rbp - 0x50], rax
mov eax, dword [rbp + 0x8c4]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0x8c8]
mov dword [rbp - 0x70], eax
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 0x80]
call rdi
mov qword [rbp + 8], rax
test rax, rax
je 0x140082bec
sub ebx, dword [rbp + 0xc6c]
mov edi, dword [rbp]
sub edi, esi
mov dword [rbp], edi
mov qword [rbp + 0x670], r14
mov dword [rbp - 0x68], r14d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xde8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xde8], 0x28
mov dword [rbp + 0xdec], edi
mov eax, ebx
neg eax
mov dword [rbp + 0xdf0], eax
mov dword [rbp + 0xdf4], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x670]
xor r8d, r8d
lea rdx, [rbp + 0xde8]
mov rcx, qword [rbp + 8]
call rdi
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x140082d10
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x68], ecx
test ecx, ecx
js 0x140083095
mov dword [rbp - 0x68], 0x80004005
jmp 0x140083095
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xbd0]
mov edx, 0x68
mov rcx, qword [rbp - 0x28]
call rdi
mov rcx, r14
test eax, eax
cmovne rcx, qword [rbp + 0xbe8]
mov qword [rbp + 0xc50], rcx
mov eax, dword [rbp]
mov dword [rbp + 0xc90], eax
mov dword [rbp + 0xc94], ebx
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp - 0x28]
mov rbx, qword [rbp + 8]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0x120]
mov rcx, rbx
call rdi
mov qword [rbp + 0x120], rax
mov rdi, qword [0x14014dc40]
mov rcx, rdi
call qword [fcn.140009050]
xor ecx, ecx
call rdi
mov rdi, rax
mov rbx, qword [0x14014dcb8]
mov rcx, rbx
call qword [fcn.140009050]
mov r8, rdi
lea rdx, [rbp + 0xc88]
mov rcx, qword [rbp + 8]
call rbx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov qword [rsp + 0x28], r14
mov eax, dword [rbp + 0x78]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xc88]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0xe0]
mov rbx, qword [rbp + 8]
mov rcx, rbx
call rdi
mov eax, 1
cmp dword [rbp - 0x34], eax
jne 0x140082e53
cmp dword [rsp + 0x70], r14d
je 0x140082e4a
mov rdi, qword [0x14014dce8]
mov rcx, rdi
call qword [fcn.140009050]
mov ecx, 8
call rdi
mov dword [rbp], eax
jmp 0x140082e5a
mov dword [rbp], 0xffffff
jmp 0x140082e5a
mov dword [rbp], 0xffa8a8a8
mov r8d, r14d
mov ecx, r14d
test esi, esi
jns 0x140082e6d
mov r8d, esi
neg r8d
mov esi, r14d
mov edi, dword [rbp + 0xc6c]
test edi, edi
jns 0x140082e7e
mov ecx, edi
neg ecx
mov edi, r14d
movsxd r9, dword [rbp + 0xc90]
mov eax, r9d
sub eax, r8d
movsxd r11, dword [rbp - 0x80]
mov r10d, r11d
sub r10d, esi
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xc94]
sub eax, ecx
mov edx, dword [rbp - 0x70]
sub edx, edi
cmp eax, edx
cmovl edx, eax
test r10d, r10d
jle 0x14008305b
test edx, edx
jle 0x14008305b
imul ecx, r9d
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0xc50]
lea r8, [rax + rcx*4]
mov qword [rsp + 0x70], r8
imul edi, r11d
movsxd rcx, edi
movsxd rax, esi
add rcx, rax
mov rax, qword [rbp - 0x50]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x70], rax
test edx, edx
jle 0x14008305b
mov rcx, r9
shl rcx, 2
mov qword [rbp + 0xc50], rcx
mov rdi, r11
shl rdi, 2
mov qword [rbp + 0xe0], rdi
mov qword [rbp - 0x80], rdx
mov esi, dword [rbp]
mov r15d, 1
test r10d, r10d
jle 0x14008303a
lea r9, [rax + 2]
mov r11, r8
sub r11, rax
mov edi, r10d
mov qword [rbp - 0x50], rdi
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x14008300e
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rbp + 1]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rbp + 2]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
mov rdi, qword [rbp - 0x50]
add r9, 4
sub rdi, r15
mov qword [rbp - 0x50], rdi
jne 0x140082f40
mov rax, qword [rbp - 0x70]
mov r8, qword [rsp + 0x70]
mov rcx, qword [rbp + 0xc50]
mov rdi, qword [rbp + 0xe0]
mov rdx, qword [rbp - 0x80]
add r8, rcx
mov qword [rsp + 0x70], r8
add rax, rdi
mov qword [rbp - 0x70], rax
sub rdx, r15
mov qword [rbp - 0x80], rdx
jne 0x140082f26
mov r15d, dword [rsp + 0x60]
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp - 0x28]
call rdi
mov rsi, qword [rbp + 0x120]
test rsi, rsi
je 0x140083095
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x14014dc00]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 8]
call rdi
cmp dword [rbp - 0x68], r14d
jl 0x1400836d2
mov eax, dword [rbp + 0x7e4]
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0x808]
mov qword [rbp + 0xc50], rax
mov rdi, qword [rbp + 0x7f0]
mov qword [rbp + 0xe0], rdi
mov dword [rbp + 0x930], r14d
mov ebx, 0x64
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x934]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xb60], r14d
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0xb64]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x50], r14
mov dword [rbp - 0x70], r14d
mov esi, r14d
xor edx, edx
lea r8d, [rbx - 0x38]
lea rcx, [rbp + 0xdb8]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc98], xmm0
test rdi, rdi
je 0x1400836d2
mov rdi, qword [0x14014dc20]
mov rcx, rdi
call qword [fcn.140009050]
lea edx, [rbx - 0x5d]
mov rcx, qword [rbp + 0x80]
call rdi
mov rbx, rax
test rax, rax
je 0x140082bec
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0x930]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x1400831a8
mov rax, qword [rbp + 0x948]
mov qword [rbp - 0x50], rax
mov eax, dword [rbp + 0x934]
mov dword [rbp - 0x70], eax
mov esi, dword [rbp + 0x938]
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 0x80]
call rdi
mov rbx, rax
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140082bec
mov edi, dword [rbp + 0xf8]
sub edi, r13d
mov dword [rbp + 0xf8], edi
sub dword [rbp + 0x58], r12d
mov qword [rbp + 0x630], r14
mov dword [rbp - 0x68], r14d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xdb8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xdb8], 0x28
mov eax, dword [rbp + 0x58]
mov dword [rbp + 0xdbc], eax
mov eax, edi
neg eax
mov dword [rbp + 0xdc0], eax
mov dword [rbp + 0xdc4], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x630]
xor r8d, r8d
lea rdx, [rbp + 0xdb8]
mov rcx, rbx
call rdi
mov qword [rbp + 8], rax
test rax, rax
jne 0x14008328c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x68], ecx
test ecx, ecx
js 0x1400835ea
mov dword [rbp - 0x68], 0x80004005
jmp 0x1400835ea
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xb60]
mov edx, 0x68
mov rcx, qword [rbp + 8]
call rdi
mov rcx, r14
test eax, eax
cmovne rcx, qword [rbp + 0xb78]
mov qword [rbp + 0x120], rcx
mov eax, dword [rbp + 0x58]
mov dword [rbp + 0xca0], eax
mov eax, dword [rbp + 0xf8]
mov dword [rbp + 0xca4], eax
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 8]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0xc50]
mov rcx, rbx
call rdi
mov qword [rbp - 0x80], rax
mov rdi, qword [0x14014dc40]
mov rcx, rdi
call qword [fcn.140009050]
xor ecx, ecx
call rdi
mov rdi, rax
mov rbx, qword [0x14014dcb8]
mov rcx, rbx
call qword [fcn.140009050]
mov r8, rdi
lea rdx, [rbp + 0xc98]
mov rcx, qword [rbp - 0x28]
call rbx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov qword [rsp + 0x28], r14
mov eax, dword [rbp + 0x78]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xc98]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0xe0]
mov rbx, qword [rbp - 0x28]
mov rcx, rbx
call rdi
mov eax, 1
cmp dword [rbp - 0x34], eax
jne 0x1400833cb
cmp dword [rsp + 0x70], r14d
je 0x1400833c2
mov rdi, qword [0x14014dce8]
mov rcx, rdi
call qword [fcn.140009050]
mov ecx, 8
call rdi
jmp 0x1400833d0
mov dword [rbp + 0x78], 0xffffff
jmp 0x1400833d9
mov eax, 0xffa8a8a8
mov dword [rbp + 0x78], eax
mov dword [rbp + 0xd4], eax
mov edx, r14d
mov ecx, r14d
test r12d, r12d
jns 0x1400833ec
mov edx, r12d
neg edx
mov r12d, r14d
test r13d, r13d
jns 0x1400833f9
mov ecx, r13d
neg ecx
mov r13d, r14d
movsxd rdi, dword [rbp + 0xca0]
mov eax, edi
sub eax, edx
movsxd r8, dword [rbp - 0x70]
mov r10d, r8d
sub r10d, r12d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xca4]
sub eax, ecx
sub esi, r13d
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x1400835b3
test esi, esi
jle 0x1400835b3
imul ecx, edi
movsxd rcx, ecx
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp + 0x120]
lea rdx, [rax + rcx*4]
mov qword [rsp + 0x70], rdx
imul r13d, r8d
movsxd rcx, r13d
movsxd rax, r12d
add rcx, rax
mov rax, qword [rbp - 0x50]
lea r13, [rax + rcx*4]
test esi, esi
jle 0x1400835b3
mov r12, rdi
shl r12, 2
mov rax, r8
shl rax, 2
mov qword [rbp + 0xc50], rax
mov ecx, esi
mov qword [rbp - 0x50], rcx
mov ebx, dword [rbp + 0xd4]
mov r15d, 1
test r10d, r10d
jle 0x140083592
lea r9, [r13 + 2]
mov r11, rdx
sub r11, r13
mov esi, r10d
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x140083575
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rbp + 0x79]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rbp + 0x7a]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
add r9, 4
sub rsi, r15
jne 0x1400834ac
mov rdx, qword [rsp + 0x70]
mov rax, qword [rbp + 0xc50]
mov rcx, qword [rbp - 0x50]
add rdx, r12
mov qword [rsp + 0x70], rdx
add r13, rax
sub rcx, r15
mov qword [rbp - 0x50], rcx
jne 0x140083496
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rbp - 0x28]
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 8]
call rdi
mov rsi, qword [rbp - 0x80]
test rsi, rsi
je 0x1400835ea
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x14014dc00]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
cmp dword [rbp - 0x68], r14d
jl 0x1400836d2
mov eax, 1
cmp dword [rbp - 0x34], eax
jne 0x140083662
mov rdi, qword [0x14014dbd0]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rbp + 0x820]
mov edx, dword [rbp + 0x81c]
mov rcx, qword [rbp + 0x68]
call rdi
jmp 0x1400836b8
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov eax, dword [rbp - 8]
mov dword [rsp + 0x50], eax
mov ecx, dword [rbp - 0x78]
mov dword [rsp + 0x48], ecx
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov r10, qword [rbp + 0x80]
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], ecx
mov r9d, eax
mov r8d, dword [rbp + 0xc44]
mov edx, dword [rbp + 0xc40]
mov rcx, qword [rbp + 0x68]
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, dword [rsp + 0x78]
mov rcx, qword [rbp + 0x68]
call rdi
mov rbx, qword [rbp + 0xb8]
test rbx, rbx
je 0x1400836f3
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov rbx, qword [rbp + 0x80]
test rbx, rbx
je 0x140083714
mov rdi, qword [0x14014dc00]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov rbx, qword [rbp + 0xc0]
test rbx, rbx
je 0x140083735
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov rax, qword [rbp + 0x7e8]
or rbx, 0xffffffffffffffff
test rax, rax
je 0x140083787
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140083748
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x7e8]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x7e8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x7e8], r14
mov rax, qword [rbp + 0x7f0]
test rax, rax
je 0x1400837d5
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140083796
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x7f0]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x7f0]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x7f0], r14
mov rdi, qword [rbp + 0x7f8]
test rdi, rdi
je 0x14008381c
mov rcx, rbx
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x1400837e4
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x7f8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x7f8], r14
cmp qword [rbp + 0x800], r14
je 0x140083845
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 0x800]
call rdi
mov qword [rbp + 0x800], r14
cmp qword [rbp + 0x808], r14
je 0x14008386e
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 0x808]
call rdi
mov qword [rbp + 0x808], r14
cmp qword [rbp + 0x810], r14
je 0x140083897
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 0x810]
call rdi
mov qword [rbp + 0x810], r14
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x14015121c], r13d
jne 0x14008389d
mov eax, dword [0x140151228]
test eax, eax
jle 0x14008390c
sub eax, r13d
mov dword [0x140151228], eax
jne 0x14008390c
lea rsi, [0x14014f870]
mov rdi, rsi
mov ebx, 4
cmp qword [rdi], r14
je 0x1400838dc
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r13
jne 0x1400838ce
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, rsi
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x14015121c], eax
mov eax, dword [0x14014f868]
mov dword [rbp - 0x70], eax
mov rdi, qword [0x14014dc68]
mov rcx, rdi
call qword [fcn.140009050]
call rdi
sub eax, dword [0x140151220]
mov qword [rbp + 0xe0], rax
mov dword [rbp + 0x1040], r14d
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0x1048]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x14015121c], r13d
jne 0x140083956
mov eax, dword [0x140151228]
test eax, eax
jne 0x140083f3e
mov dword [rbp - 0x68], r14d
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x68], r14d
mov qword [rbp + 0x328], r14
mov qword [rbp + 0x4f0], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0xc50], rax
test rax, rax
je 0x140083eb7
mov byte [rsp + 0x64], r14b
mov ebx, r14d
or ecx, 0xffffffff
mov r11d, r14d
mov dword [rbp + 0x28], r14d
mov esi, r14d
mov dword [rbp + 0x40], r14d
lea r12, [rax + 7]
lea r13, [0x14012e732]
mov r14d, 0x67
lea r15d, [r14 - 0x66]
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor esi, r10d
xor r11d, r9d
lea r13, [r13 + 8]
xor r11d, esi
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
mov edx, r11d
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor esi, edx
lea eax, [rsi - 0x59c22937]
ror eax, 9
mov edx, esi
rol edx, 2
imul eax, eax, 0xcf67
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xcf67
rol eax, 6
mov edx, esi
rol edx, 2
imul eax, eax, 0xa63d
sub eax, edx
xor r11d, eax
mov edx, r11d
mov r8d, 0xcf6704fb
xor edx, r8d
mov eax, 0xa63dd6c9
sub eax, edx
xor esi, eax
mov edi, esi
ror edi, 6
mov eax, esi
xor eax, 0xd6c9
imul edx, eax, 0xcf67
xor edi, edx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
mov edx, r11d
rol edx, 2
imul eax, eax, 0x4fb
add edx, eax
xor esi, edx
lea eax, [rsi + 0x3098fb05]
ror eax, 0xe
mov edx, esi
rol edx, 8
imul eax, eax, 0xa63d
sub eax, edx
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xc
mov edx, r11d
ror edx, 0xa
imul eax, eax, 0xd6c9
xor edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, esi
shr eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor esi, eax
mov edx, r11d
xor edx, r8d
mov edi, 0xa63dd6c9
mov eax, edi
sub eax, edx
xor esi, eax
lea eax, [rsi - 0x3098fb05]
rol eax, 3
mov edx, esi
rol edx, 6
imul eax, eax, 0xa63d
add edx, eax
xor r11d, edx
mov eax, r8d
sub eax, r11d
ror eax, 9
mov edx, r11d
ror edx, 8
imul eax, eax, 0xd6c9
sub eax, edx
xor esi, eax
xor r11d, esi
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, esi
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 9
mov eax, r11d
mov esi, 0xa63d
xor eax, esi
imul edx, eax, 0xd6c9
sub edx, edi
xor r8d, edx
mov eax, r8d
xor eax, esi
imul edx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 2
mov eax, r11d
xor eax, 0xcf67
imul edx, eax, 0x4fb
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
mov edx, r11d
rol edx, 0xb
imul eax, eax, 0xd6c9
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, esi
rol eax, 2
mov edx, r8d
rol edx, 0xc
imul eax, eax, 0xcf67
add edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
mov edx, r11d
rol edx, 0xe
imul eax, eax, 0x4fb
add edx, eax
xor edx, ebx
xor r8d, edx
mov dword [rbp + 0x40], r8d
xor r11d, ecx
mov dword [rbp + 0x28], r11d
mov byte [r12 - 4], r8b
ror dword [rbp + 0x40], 8
mov al, byte [rbp + 0x28]
mov byte [r12], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x40]
mov byte [r12 - 5], al
ror dword [rbp + 0x40], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 1], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x40]
mov byte [r12 - 6], al
ror dword [rbp + 0x40], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 2], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x40]
mov byte [r12 - 7], al
mov al, byte [rbp + 0x28]
mov byte [r12 - 3], al
mov esi, dword [rbp + 0x40]
ror esi, 8
mov dword [rbp + 0x40], esi
mov r11d, dword [rbp + 0x28]
ror r11d, 8
mov dword [rbp + 0x28], r11d
mov ebx, r10d
mov ecx, r9d
lea r12, [r12 + 8]
sub r14, r15
jne 0x1400839e2
mov rax, r14
mov cl, byte [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x78]
mov r13, qword [rbp + 0xc50]
mov edx, 0x338
lea r8d, [r14 + 1]
xor cl, byte [rax + r13]
add rax, r8
cmp rax, rdx
jb 0x140083d11
movzx eax, cl
cmp rax, qword [0x14012ea68]
je 0x140083d30
mov edi, 0xc004d501
jmp 0x140083d43
mov qword [rbp + 0x328], r13
mov r13, r14
mov qword [rbp + 0x4f0], rdx
mov edi, ebx
test r13, r13
je 0x140083d5c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x140083eb7
mov rdi, qword [rbp + 0x328]
mov rax, qword [rbp + 0x4f0]
mov byte [rax + rdi - 1], r14b
xor edx, edx
lea r8d, [rdx + 0x60]
lea rsi, [0x14014f870]
mov rcx, rsi
call sub.msvcrt.dll_memset
jmp 0x140083eac
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x140083d98
lea rdi, [rdi + rax*2]
mov eax, dword [rsp + 0x68]
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*8]
mov r8, rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x140083eb7
mov ebx, r14d
mov rax, qword [rsi]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140083df1
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140083df1
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x140083df1
cmp dword [rcx], 0x4550
je 0x140083df8
mov ebx, 0xc000007b
jmp 0x140083e26
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140083e15
mov ebx, 0xc000000d
jmp 0x140083e26
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]
add rdi, 6
mov r12d, r14d
test r13d, r13d
je 0x140083e9c
mov qword [rbp + 0x520], r14
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x140083e44
inc rdi
add rdi, rax
test ebx, ebx
js 0x140083e85
lea r9, [rbp + 0x520]
mov r8, rsi
xor edx, edx
call fcn.140105cfc
mov ebx, eax
test eax, eax
js 0x140083ebc
mov eax, dword [rbp - 0x68]
mov rcx, qword [rbp + 0x520]
lea r8, [0x14014dbd0]
mov qword [r8 + rax*8], rcx
jmp 0x140083e88
mov eax, dword [rbp - 0x68]
mov ecx, 1
add eax, ecx
mov dword [rbp - 0x68], eax
add r12d, ecx
cmp r12d, r13d
jb 0x140083e36
jmp 0x140083ea1
mov ecx, 1
add dword [rsp + 0x68], ecx
lea rsi, [0x14014f870]
cmp byte [rdi], r14b
jne 0x140083d91
jmp 0x140083ebc
mov ebx, 0xc000007a
cmp qword [rbp + 0x328], r14
je 0x140083edd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x328]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test ebx, ebx
jns 0x140083f38
lea rsi, [0x14014f870]
mov rdi, rsi
lea ebx, [r13 + 3]
cmp qword [rdi], r14
je 0x140083f03
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r13
jne 0x140083ef5
lea r12d, [rbx + 0x60]
mov r8d, r12d
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
jmp 0x140083f54
mov eax, dword [0x140151228]
add eax, r13d
mov dword [0x140151228], eax
lea rsi, [0x14014f870]
mov r12d, 0x60
mov eax, r14d
xchg dword [0x14015121c], eax
mov rcx, qword [rbp + 0xe0]
mov dword [rbp + 0x1048], ecx
mov dword [rbp + 0x1040], r13d
mov dword [rbp + 0x1058], 0x4e33b984
mov dword [rbp + 0x1050], r13d
mov dword [rbp + 0x1068], r13d
mov dword [rbp + 0x1060], r13d
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x1078], eax
mov dword [rbp + 0x1070], r13d
mov rdi, qword [0x14014dca0]
mov rcx, rdi
call qword [fcn.140009050]
lea r9, [rbp + 0x1040]
mov edx, 0x2021
xor ecx, ecx
lea r8d, [rcx + 4]
call rdi
xor eax, eax
lock cmpxchg dword [0x14015121c], r13d
jne 0x140083fc4
mov eax, dword [0x140151228]
test eax, eax
jle 0x14008402b
sub eax, r13d
mov dword [0x140151228], eax
jne 0x14008402b
mov rdi, rsi
mov ebx, 4
cmp qword [rdi], r14
je 0x140083ffc
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r13
jne 0x140083fee
mov r8, r12
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x14015121c], eax
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0x68]
xor ecx, ecx
call rdi
lea rcx, [rbp + 0x680]
call fcn.140004a74
cmp dword [rbp + 0x98], r14d
je 0x1400865f2
mov rsi, r14
mov rbx, r14
mov dword [rbp + 0x10], r14d
xor eax, eax
mov qword [rbp + 0x14], rax
mov dword [rbp + 0x1c], eax
mov dword [rbp + 0x1a0], r14d
mov qword [rbp + 0x1a4], rax
mov dword [rbp + 0x1ac], eax
mov dword [rbp + 0x1d4], r14d
lea rax, [0x14014e3a0]
mov qword [rbp + 0x640], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x500], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edi, 8
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x140086565
mov r8, qword [rbp + 0x500]
mov rdx, qword [rbp + 0x640]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rsi, r12
mov qword [rbp - 0x80], r12
mov ebx, dword [rbp + 0x500]
lea rax, [0x14014e4e8]
mov qword [rbp + 0x6c0], rax
mov qword [rbp + 0x4a8], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
je 0x140086562
mov r8, qword [rbp + 0x4a8]
mov rdx, qword [rbp + 0x6c0]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x68], r13
mov esi, dword [rbp + 0x4a8]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x690], rax
mov dword [rbp + 0x70], r14d
lea r8, [rbp + 0x410]
mov edi, 4
mov edx, edi
mov ecx, edi
call fcn.140105f88
test eax, eax
js 0x14008655a
mov edx, dword [rbp + 0x410]
mov dword [rbp + 0x1d0], edx
lea r8, [rbp + 0x70]
mov ecx, dword [rbp + 0x70]
call fcn.140105f88
or eax, 0x10000000
jl 0x14008655a
lea r8, [rbp + 0x494]
mov edx, ebx
mov ecx, edi
call fcn.140105f88
test eax, eax
js 0x14008655a
mov edx, dword [rbp + 0x494]
mov dword [rbp + 0x1d0], edx
lea r8, [rbp + 0x70]
mov ecx, dword [rbp + 0x70]
call fcn.140105f88
or eax, 0x10000000
jl 0x14008655a
lea r8, [rbp + 0x418]
mov edx, esi
mov ecx, edi
call fcn.140105f88
test eax, eax
js 0x14008655a
mov edx, dword [rbp + 0x418]
mov dword [rbp + 0x1d0], edx
lea r8, [rbp + 0x70]
mov ecx, dword [rbp + 0x70]
call fcn.140105f88
or eax, 0x10000000
jl 0x14008655a
lea r8, [rbp + 0x458]
lea edx, [rdi + 4]
mov ecx, edi
call fcn.140105f88
test eax, eax
js 0x14008655a
mov edx, dword [rbp + 0x458]
mov dword [rbp + 0x1d0], edx
lea r8, [rbp + 0x70]
mov ecx, dword [rbp + 0x70]
call fcn.140105f88
or eax, 0x10000000
jl 0x14008655a
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x14], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14008655a
mov qword [rbp + 0x18], rax
mov ecx, r14d
mov dword [rbp + 0x10], ecx
mov dword [rbp + 0x2d8], 4
lea rdx, [rbp + 0x2d8]
test rdx, rdx
je 0x140084305
mov qword [rbp + 0x650], rax
mov dword [rbp + 0x750], 4
lea r8, [rbp + 0x758]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
test eax, eax
js 0x14008655a
mov edx, dword [rbp + 0x14]
add rdx, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x650]
lea rcx, [rdi + 8]
cmp rcx, rdx
ja 0x14008469b
mov dword [rdi], 4
mov rdx, qword [rbp + 0x758]
mov ecx, dword [rbp + 0x2d8]
mov dword [rdx], ecx
mov ecx, dword [rbp + 0x10]
mov edi, 1
add ecx, edi
mov dword [rbp + 0x10], ecx
jmp 0x14008430f
mov eax, 0xc000000d
mov edi, 1
test eax, eax
js 0x14008655a
test ebx, ebx
je 0x140084431
cmp qword [rbp + 0x18], r14
jne 0x14008436d
lea r8, [rbp + 0x428]
mov edx, ebx
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x14008655a
mov edx, dword [rbp + 0x428]
mov dword [rbp + 0x3b4], edx
lea r8, [rbp + 0x14]
mov ecx, dword [rbp + 0x14]
call fcn.140105f88
test eax, eax
js 0x14008655a
mov ecx, dword [rbp + 0x10]
add ecx, edi
mov dword [rbp + 0x10], ecx
jmp 0x14008443e
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x250], rax
mov edi, r14d
test ecx, ecx
je 0x1400843d1
lea r8, [rbp + 0x340]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x14008655a
mov eax, dword [rbp + 0x340]
mov dword [rbp + 0x3b4], eax
mov edx, eax
lea r8, [rbp + 0x250]
mov rcx, qword [rbp + 0x250]
call fcn.140105fa8
test eax, eax
js 0x14008655a
inc edi
mov rax, qword [rbp + 0x250]
cmp edi, dword [rbp + 0x10]
jb 0x14008437f
mov dword [rbp + 0x770], ebx
lea r8, [rbp + 0x778]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov edi, eax
test eax, eax
js 0x14008655a
mov r8, rbx
mov edx, dword [rbp + 0x14]
add rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x250]
lea rcx, [rax + 4]
add rcx, rbx
cmp rcx, rdx
ja 0x14008469b
mov dword [rax], ebx
mov rdx, r12
mov rcx, qword [rbp + 0x778]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp + 0x10]
inc ecx
mov dword [rbp + 0x10], ecx
jmp 0x140084436
mov edi, 0xc000000d
test edi, edi
js 0x14008655a
test esi, esi
je 0x140084566
cmp qword [rbp + 0x18], r14
jne 0x14008449b
lea r8, [rbp + 0x3bc]
mov edx, esi
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x14008655a
mov edx, dword [rbp + 0x3bc]
mov dword [rbp + 0x474], edx
lea r8, [rbp + 0x14]
mov ecx, dword [rbp + 0x14]
call fcn.140105f88
test eax, eax
js 0x14008655a
mov ecx, dword [rbp + 0x10]
mov r13d, 1
add ecx, r13d
mov dword [rbp + 0x10], ecx
jmp 0x140084579
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x260], rax
mov edi, r14d
test ecx, ecx
je 0x1400844ff
lea r8, [rbp + 0x464]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x14008655a
mov eax, dword [rbp + 0x464]
mov dword [rbp + 0x474], eax
mov edx, eax
lea r8, [rbp + 0x260]
mov rcx, qword [rbp + 0x260]
call fcn.140105fa8
test eax, eax
js 0x14008655a
inc edi
mov rax, qword [rbp + 0x260]
cmp edi, dword [rbp + 0x10]
jb 0x1400844ad
mov dword [rbp + 0x790], esi
lea r8, [rbp + 0x798]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov edi, eax
test eax, eax
js 0x14008655a
mov r8, rsi
mov edx, dword [rbp + 0x14]
add rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x260]
lea rcx, [rax + 4]
add rcx, rsi
cmp rcx, rdx
ja 0x14008469b
mov dword [rax], esi
mov rdx, r13
mov rcx, qword [rbp + 0x798]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp + 0x10]
mov r13d, 1
add ecx, r13d
mov dword [rbp + 0x10], ecx
jmp 0x140084571
mov edi, 0xc000000d
mov r13d, 1
test edi, edi
js 0x14008469b
mov rax, qword [rbp + 0x690]
mov qword [rbp + 0x4b8], rax
lea rax, [rbp + 0x4b8]
test rax, rax
je 0x1400846a8
cmp qword [rbp + 0x18], r14
jne 0x1400845e2
lea r8, [rbp + 0x47c]
mov edx, 8
lea ecx, [rdx - 4]
call fcn.140105f88
test eax, eax
js 0x14008469b
mov edx, dword [rbp + 0x47c]
mov dword [rbp + 0x490], edx
lea r8, [rbp + 0x14]
mov ecx, dword [rbp + 0x14]
call fcn.140105f88
test eax, eax
js 0x14008469b
add dword [rbp + 0x10], r13d
jmp 0x1400846b1
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x270], rax
mov edi, r14d
test ecx, ecx
je 0x140084643
lea r8, [rbp + 0x488]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x14008469b
mov eax, dword [rbp + 0x488]
mov dword [rbp + 0x490], eax
mov edx, eax
lea r8, [rbp + 0x270]
mov rcx, qword [rbp + 0x270]
call fcn.140105fa8
test eax, eax
js 0x14008469b
add edi, r13d
mov rax, qword [rbp + 0x270]
cmp edi, dword [rbp + 0x10]
jb 0x1400845f4
mov dword [rbp + 0x7b0], 8
lea r8, [rbp + 0x7b8]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
test eax, eax
js 0x14008469b
mov edx, dword [rbp + 0x14]
add rdx, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x270]
lea rcx, [rdi + 0xc]
cmp rcx, rdx
ja 0x14008469b
mov dword [rdi], 8
mov rcx, qword [rbp + 0x7b8]
movsd xmm0, qword [rbp + 0x4b8]
movsd qword [rcx], xmm0
add dword [rbp + 0x10], r13d
jmp 0x1400846ad
mov rsi, r12
mov rbx, qword [rsp + 0x68]
jmp 0x140086565
mov eax, 0xc000000d
test eax, eax
js 0x14008469b
lea r8, [rbp + 0x498]
mov edx, 4
mov ecx, edx
call fcn.140105f88
test eax, eax
js 0x14008469b
mov eax, dword [rbp + 0x498]
mov dword [rbp + 0x46c], eax
mov dword [rbp + 0x1d8], eax
lea r8, [rbp + 0x408]
mov edx, 8
lea ecx, [rdx - 4]
call fcn.140105f88
test eax, eax
js 0x14008469b
mov edx, dword [rbp + 0x408]
mov dword [rbp + 0x46c], edx
lea r8, [rbp + 0x1d8]
mov ecx, dword [rbp + 0x1d8]
call fcn.140105f88
test eax, eax
js 0x14008469b
mov eax, dword [rbp + 0x1d8]
mov dword [rsp + 0x78], eax
mov rdi, r14
mov qword [rbp + 0x68], r14
mov r12d, r14d
mov qword [rbp + 0x320], r14
mov qword [rbp + 0xb8], r14
mov dword [rbp - 0x70], r14d
mov r13, r14
mov qword [rbp - 8], r14
mov dword [rbp + 0xcc], r14d
mov qword [rbp - 0x28], r14
mov qword [rbp + 0xc0], r14
mov dword [rbp + 0x2a0], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x4c8], rax
mov dword [rbp + 0xd0], 8
lea r8, [rbp + 0xd0]
mov edx, dword [rbp + 0x14]
mov ecx, 8
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x140084889
mov eax, dword [rbp + 0xd0]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0xd0]
jae 0x1400847b1
mov ebx, 0xc0000095
jmp 0x140084889
mov dword [rbp + 0xd0], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400847e5
mov ebx, 0xc0000017
mov rdi, r14
jmp 0x140084889
mov qword [rbp + 0x1f8], rax
mov eax, dword [rbp + 0x10]
mov dword [rdi], eax
lea r8, [rbp + 0x1f8]
mov esi, 4
mov edx, esi
mov rcx, qword [rbp + 0x1f8]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x14008486c
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [rbp + 0x14]
mov dword [rcx], eax
lea r8, [rbp + 0x1f8]
mov edx, esi
mov rcx, qword [rbp + 0x1f8]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x14008486c
mov ecx, dword [rbp + 0xd0]
mov rax, qword [rbp + 0x4c8]
mov qword [rcx + rdi - 8], rax
mov r8d, dword [rbp + 0x14]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x1f8]
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x68], rdi
mov rdi, r14
mov r12d, dword [rbp + 0xd0]
test rdi, rdi
je 0x140084885
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x68]
or ebx, 0x10000000
jl 0x14008627e
mov qword [rbp + 0x6b0], r14
mov qword [rbp + 0x588], r14
mov qword [rbp + 0x590], r14
mov qword [rbp + 0x5a0], r14
mov qword [rbp + 0x3c8], r14
mov qword [rbp + 0x660], r14
mov rsi, r14
test rdi, rdi
jne 0x1400848d1
mov ebx, 0xc000000d
jmp 0x140085036
mov ebx, r12d
mov qword [rbp + 0xc50], rbx
test r12d, r12d
je 0x140084f8e
lea rdi, [rbx + 8]
mov qword [rbp + 0x120], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x140084f8e
mov dl, r14b
mov rcx, r14
mov r10, qword [rbp + 0x68]
test rbx, rbx
je 0x140084936
mov eax, 1
xor dl, byte [rcx + r10]
add rcx, rax
cmp rcx, rbx
jb 0x14008492a
mov r9, r12
mov r8d, r14d
mov dword [rbp - 0x18], r14d
or r11d, 0xffffffff
mov dword [rbp - 0x3c], r11d
mov dword [rbp - 0x68], r14d
mov dword [rbp - 0x78], r14d
mov rdi, rbx
and edi, 7
je 0x140084a37
mov dword [rbp - 0x68], r13d
mov ecx, r14d
mov dword [rbp - 0x78], ecx
mov r11d, r14d
test edi, edi
jle 0x1400849b0
mov r8d, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x14008498d
lea ecx, [r8 - 0x20]
shl eax, cl
mov ecx, dword [rbp - 0x78]
or ecx, eax
mov dword [rbp - 0x78], ecx
jmp 0x140084998
mov ecx, r8d
shl eax, cl
or r13d, eax
mov ecx, dword [rbp - 0x78]
mov eax, 1
add r10, rax
add r11d, eax
sub r8d, 8
cmp r11d, edi
jl 0x140084973
mov dword [rbp - 0x68], r13d
mov r8d, ecx
xor r8d, 0xfd02377a
mov dword [rbp - 0x18], r8d
mov r11d, r13d
xor r11d, 0xb47589d0
mov dword [rbp - 0x3c], r11d
mov eax, r14d
test edi, edi
jle 0x1400849fe
mov ecx, 1
cmp eax, 4
jge 0x1400849e6
rol r8d, 8
mov byte [r9], r8b
jmp 0x1400849ed
rol r11d, 8
mov byte [r9], r11b
add r9, rcx
add eax, ecx
cmp eax, edi
jl 0x1400849d8
mov r8d, dword [rbp - 0x18]
mov r11d, dword [rbp - 0x3c]
lea eax, [rdi - 4]
test eax, eax
jle 0x140084a1b
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x3c], r11d
jmp 0x140084a37
mov r11d, r14d
mov dword [rbp - 0x3c], r14d
test eax, eax
jns 0x140084a37
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x18], r8d
mov r13, rbx
shr r13, 3
test r13, r13
je 0x140084d88
lea rbx, [r9 + 7]
lea r14, [r10 + 2]
mov esi, dword [rbp - 0x68]
mov r12d, dword [rbp - 0x78]
mov r15d, 1
movzx r10d, byte [r14 - 2]
shl r10d, 8
movzx eax, byte [r14 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 1]
or r10d, eax
movzx r9d, byte [r14 + 2]
shl r9d, 8
movzx eax, byte [r14 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r14 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r14 + 5]
or r9d, eax
xor r11d, r9d
lea r14, [r14 + 8]
mov edi, r10d
xor edi, r11d
xor edi, r8d
xor edi, 0x2c824960
lea eax, [rdi + 0x24692674]
ror eax, 2
mov ecx, edi
ror ecx, 0x10
imul eax, eax, 0xf714
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov r8d, 0xf71490ec
xor eax, r8d
ror eax, 0xb
mov ecx, r11d
rol ecx, 4
imul eax, eax, 0xd98c
add ecx, eax
xor edi, ecx
mov eax, edi
xor eax, r8d
rol eax, 7
mov ecx, edi
rol ecx, 5
imul eax, eax, 0xdb96
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xd98c
rol eax, 6
mov ecx, r11d
rol ecx, 8
imul eax, eax, 0x90ec
sub eax, ecx
xor edi, eax
mov ecx, edi
xor ecx, 0xdb96d98c
mov eax, r8d
sub eax, ecx
xor r11d, eax
mov eax, r11d
not eax
ror eax, 4
add eax, 0xd98c
imul eax, eax, 0xdb96
xor edi, eax
lea eax, [rdi - 0x8eb6f14]
ror eax, 8
mov ecx, edi
ror ecx, 2
imul eax, eax, 0xdb96
add ecx, eax
xor r11d, ecx
lea r8d, [r11 - 0x90ec]
xor r8d, edi
mov eax, 0xdb96d98c
xor r8d, eax
sub eax, r8d
rol eax, 0xe
mov ecx, r8d
ror ecx, 2
imul eax, eax, 0xf714
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xdb96]
rol eax, 2
mov ecx, r11d
shr ecx, 0xd
imul eax, eax, 0xd98c
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xdb96
mov eax, r8d
shr eax, 0xc
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x24689588]
xor r8d, eax
lea eax, [r11 - 0xd98c]
rol eax, 3
mov ecx, r11d
shr ecx, 0xf
imul eax, eax, 0x90ec
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xf714
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, 0xf71490ec
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 0xb
imul eax, eax, 0xd98c
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8ea937e]
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0x90ec
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, 0xdb96
rol eax, 4
mov ecx, r8d
ror ecx, 0x10
imul eax, eax, 0xf714
sub eax, ecx
xor r11d, eax
mov eax, 0xf71490ec
sub eax, r11d
ror eax, 0xa
mov ecx, r11d
ror ecx, 4
imul eax, eax, 0xd98c
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8eb6f14]
ror eax, 4
mov ecx, r8d
ror ecx, 9
imul eax, eax, 0xdb96
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov edi, 0xdb96d98c
xor eax, edi
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x90ec
sub eax, ecx
xor r8d, eax
mov eax, edi
sub eax, r8d
ror eax, 0xb
mov ecx, r8d
ror ecx, 0xc
imul eax, eax, 0xf714
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r11d, 0x2c824960
xor r8d, r12d
mov dword [rbp - 0x18], r8d
xor r11d, esi
mov dword [rbp - 0x3c], r11d
mov byte [rbx - 4], r8b
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x3c]
mov byte [rbx], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 5], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x3c]
mov byte [rbx - 1], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 6], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x3c]
mov byte [rbx - 2], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 7], al
mov al, byte [rbp - 0x3c]
mov byte [rbx - 3], al
mov r8d, dword [rbp - 0x18]
ror r8d, 8
mov dword [rbp - 0x18], r8d
mov r11d, dword [rbp - 0x3c]
ror r11d, 8
mov dword [rbp - 0x3c], r11d
mov r12d, r10d
mov esi, r9d
lea rbx, [rbx + 8]
sub r13, r15
jne 0x140084a5c
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
mov esi, r14d
mov rbx, qword [rbp + 0xc50]
mov r12, qword [rbp + 0xe0]
movzx eax, dl
mov qword [r12 + rbx], rax
mov qword [rbp + 0x3c8], r12
mov rbx, qword [rbp + 0x120]
mov qword [rbp + 0x660], rbx
lea rax, [0x14014e4e0]
mov qword [rbp + 0x6b0], rax
mov qword [rbp + 0x588], 8
lea r13, [0x14014e440]
mov qword [rbp + 0x590], r13
mov qword [rbp + 0x5a0], RegisterTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140084e00
mov ebx, 0xc0000017
jmp 0x140084f7b
mov dword [rax], ebx
mov ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140084e2a
mov ebx, 0xc0000017
jmp 0x140084eff
mov qword [rdi + 8], rax
mov r8, rbx
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov ebx, RegisterTypeLib
mov dword [rdi + 0x10], ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
mov ebx, 8
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140084e20
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r13]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r13 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r13 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r13 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r13 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r13 + 0x60]
movups xmmword [rax + 0x60], xmm0
lea ecx, [rbx + 0x78]
movups xmm1, xmmword [r13 + 0x70]
movups xmmword [rax + rcx - 0x10], xmm1
movups xmm0, xmmword [r13 + rcx]
movups xmmword [rax + rcx], xmm0
movups xmm1, xmmword [r13 + rcx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
mov dword [rdi + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140084e20
mov qword [rdi + 0x28], rax
mov ebx, r14d
movsd xmm0, qword [0x14014e4e0]
movsd qword [rax], xmm0
mov rsi, rdi
mov rdi, r14
test rdi, rdi
je 0x140084f7b
mov r12, qword [rdi + 8]
test r12, r12
je 0x140084f25
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140084f46
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x140084f67
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13, r14
test ebx, ebx
js 0x140084f93
mov qword [rbp + 0x320], rsi
mov rsi, r14
jmp 0x140084f93
mov ebx, 0xc0000001
mov rdi, qword [rbp + 0x3c8]
test rdi, rdi
je 0x140084fba
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x3c8], r14
test rsi, rsi
je 0x140085036
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x140084fe0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r14
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x140085001
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x140085022
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
or ebx, 0x10000000
jl 0x14008627e
mov rsi, qword [rbp + 0x320]
mov r12d, dword [rsi + 0x20]
mov edi, dword [rsi + 0x10]
mov edx, dword [rsi]
mov dword [rbp + 0x54], 4
lea r8, [rbp + 0x54]
mov ecx, 4
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400850d4
lea r8, [rbp + 0x54]
mov edx, 4
mov ecx, dword [rbp + 0x54]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400850d4
lea r8, [rbp + 0x54]
mov edx, edi
mov ecx, dword [rbp + 0x54]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400850d4
lea r8, [rbp + 0x54]
mov edx, 4
mov ecx, dword [rbp + 0x54]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400850d4
lea r8, [rbp + 0x54]
mov edx, r12d
mov ecx, dword [rbp + 0x54]
call fcn.140105f88
mov ebx, eax
mov eax, dword [rbp + 0x1e0]
test ebx, ebx
cmovns eax, dword [rbp + 0x54]
mov dword [rbp + 0x1e0], eax
jmp 0x1400850da
mov eax, dword [rbp + 0x1e0]
test ebx, ebx
js 0x140085252
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov r12d, 4
test rax, rax
jne 0x140085113
mov ebx, 0xc0000017
jmp 0x140085258
mov qword [rbp + 0x90], rax
mov eax, dword [rsi]
mov dword [rdi], eax
lea r8, [rbp + 0x90]
mov rdx, r12
mov rcx, qword [rbp + 0x90]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085237
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
mov rcx, qword [rbp + 0x90]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi]
lea r8, [rbp + 0x90]
mov rcx, qword [rbp + 0x90]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085237
mov ecx, dword [rsi + 0x10]
mov rax, qword [rbp + 0x90]
mov dword [rax], ecx
lea r8, [rbp + 0x90]
mov rdx, r12
mov rcx, qword [rbp + 0x90]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085237
mov r8d, dword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rbp + 0x90]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi + 0x10]
lea r8, [rbp + 0x90]
mov rcx, qword [rbp + 0x90]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085237
mov ecx, dword [rsi + 0x20]
mov rax, qword [rbp + 0x90]
mov dword [rax], ecx
lea r8, [rbp + 0x90]
mov rdx, r12
mov rcx, qword [rbp + 0x90]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085237
mov r8d, dword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
mov rcx, qword [rbp + 0x90]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi + 0x20]
lea r8, [rbp + 0x90]
mov rcx, qword [rbp + 0x90]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085237
mov qword [rbp + 0xb8], rdi
mov rdi, r14
mov eax, dword [rbp + 0x1e0]
mov dword [rbp - 0x70], eax
test rdi, rdi
je 0x140085258
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140085258
mov r12d, 4
mov edi, 0x10000000
or ebx, edi
jl 0x14008627e
mov qword [rbp + 0x5b0], r14
mov dword [rbp + 0x268], r14d
mov qword [rbp + 0x5c0], r14
mov dword [rbp + 0x2a4], r14d
mov dword [rbp + 0x190], 8
lea r8, [rbp + 0x190]
mov edx, dword [rsp + 0x78]
mov ecx, 8
call fcn.140105f88
mov ebx, eax
or ebx, edi
jl 0x14008550a
mov eax, dword [rbp + 0x190]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x190]
jae 0x1400852c6
mov ebx, 0xc0000095
jmp 0x1400852f6
mov dword [rbp + 0x258], eax
lea r8, [rbp + 0x258]
mov edx, 8
mov ecx, eax
call fcn.140105f88
mov ebx, eax
mov eax, dword [rbp + 0x244]
test ebx, ebx
cmovns eax, dword [rbp + 0x258]
mov dword [rbp + 0x244], eax
test ebx, ebx
js 0x14008550a
mov esi, 1
cmp qword [rbp + 0x18], r14
jne 0x140085313
mov ebx, 0xc000000d
jmp 0x14008550f
cmp dword [rbp + 0x10], esi
jbe 0x140085309
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x140], rcx
mov edi, r14d
mov esi, dword [rcx]
lea r8, [rbp + 0x140]
mov rdx, r12
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400853a4
mov edx, esi
lea r8, [rbp + 0x140]
mov rcx, qword [rbp + 0x140]
call fcn.140105fa8
mov ebx, eax
mov esi, 1
test eax, eax
js 0x1400853a9
add edi, esi
mov rcx, qword [rbp + 0x140]
cmp edi, esi
jb 0x140085326
mov edi, dword [rcx]
lea r8, [rbp + 0x140]
mov rdx, r12
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400853a9
mov dword [rbp + 0x268], edi
mov rax, qword [rbp + 0x140]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x5b0], rax
jmp 0x1400853a9
mov esi, 1
test ebx, ebx
js 0x14008627e
cmp qword [rbp + 0x18], r14
je 0x140085309
cmp dword [rbp + 0x10], 2
jbe 0x140085309
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x180], rcx
mov edi, r14d
mov esi, dword [rcx]
lea r8, [rbp + 0x180]
mov rdx, r12
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085452
mov edx, esi
lea r8, [rbp + 0x180]
mov rcx, qword [rbp + 0x180]
call fcn.140105fa8
mov ebx, eax
mov esi, 1
test eax, eax
js 0x140085457
add edi, esi
mov rcx, qword [rbp + 0x180]
cmp edi, 2
jb 0x1400853d3
mov edi, dword [rcx]
lea r8, [rbp + 0x180]
mov rdx, r12
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085457
mov dword [rbp + 0x2a4], edi
mov rax, qword [rbp + 0x180]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x5c0], rax
jmp 0x14008545d
mov esi, 1
mov edi, dword [rbp + 0x2a4]
test ebx, ebx
js 0x14008627e
mov esi, dword [rbp + 0x268]
mov dword [rbp + 0x64], r12d
lea r8, [rbp + 0x64]
mov edx, dword [rbp + 0x244]
mov ecx, r12d
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400854e9
lea r8, [rbp + 0x64]
mov edx, r12d
mov ecx, dword [rbp + 0x64]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400854e9
lea r8, [rbp + 0x64]
mov edx, esi
mov ecx, dword [rbp + 0x64]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400854e9
lea r8, [rbp + 0x64]
mov edx, r12d
mov ecx, dword [rbp + 0x64]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400854e9
lea r8, [rbp + 0x64]
mov edx, edi
mov ecx, dword [rbp + 0x64]
call fcn.140105f88
mov ebx, eax
mov eax, dword [rbp + 0x290]
test ebx, ebx
cmovns eax, dword [rbp + 0x64]
mov dword [rbp + 0x290], eax
jmp 0x1400854ef
mov eax, dword [rbp + 0x290]
test ebx, ebx
js 0x14008550a
cmp eax, 0x400000
jbe 0x140085504
mov ebx, 0x8000ffff
jmp 0x14008627e
mov dword [rbp + 0xcc], eax
mov esi, 1
test ebx, ebx
js 0x14008627e
mov ebx, r14d
mov edi, dword [rbp + 0xcc]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140085543
mov ebx, 0xc0000017
jmp 0x14008554a
mov r13, rax
mov qword [rbp - 8], rax
or ebx, 0x10000000
jl 0x14008627e
mov rax, qword [rbp + 0xb8]
test rax, rax
jne 0x14008556c
mov ebx, 0x80070057
jmp 0x14008627e
test r13, r13
je 0x140085562
mov qword [rbp + 0x6f0], rax
mov eax, dword [rbp - 0x70]
mov dword [rbp + 0x700], eax
mov qword [rbp + 0x6f8], r13
mov eax, dword [rbp + 0xcc]
mov dword [rbp + 0x704], eax
mov dword [rbp + 0x708], r14d
lea r8, [rbp + 0x580]
lea rdx, [0x14012c7e8]
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400855d1
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x580]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x1400855f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140085628
mov ebx, 0x80004005
jmp 0x140085628
mov rcx, rax
call qword [fcn.140009050]
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x6f0]
lea ecx, [r8 + 0x66]
call rdi
mov ebx, eax
mov eax, dword [rbp + 0xcc]
or ebx, 0x10000000
cmovns eax, dword [rbp + 0x704]
mov dword [rbp + 0xcc], eax
cmp ebx, 0xd0000023
jne 0x14008563a
mov ebx, 0x8007007a
jmp 0x14008627e
test ebx, ebx
js 0x14008627e
mov edi, dword [rbp + 0xcc]
mov rsi, r14
mov dword [rbp - 0x40], r14d
mov qword [rbp + 0x108], r13
cmp edi, r12d
jae 0x140085665
mov ebx, 0xc000003e
jmp 0x140085a54
mov r12d, dword [r13]
mov dword [rbp - 0x70], r12d
lea r8, [rbp + 0x108]
mov edx, 4
mov rcx, r13
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085a54
lea r8, [rbp - 0x40]
mov edx, 4
mov ecx, dword [rbp - 0x40]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x140085a54
mov eax, edi
sub eax, dword [rbp - 0x40]
cmp eax, r12d
jb 0x14008565b
mov rax, qword [rbp + 0x108]
mov qword [rbp + 8], rax
mov qword [rbp - 0x50], r12
lea r8, [rbp + 0x108]
mov edx, r12d
mov rcx, rax
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085a54
lea r8, [rbp - 0x40]
mov edx, r12d
mov ecx, dword [rbp - 0x40]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x140085a54
mov eax, edi
sub eax, dword [rbp - 0x40]
mov r12d, 4
cmp eax, r12d
jb 0x14008565b
mov rcx, qword [rbp + 0x108]
mov r13d, dword [rcx]
lea r8, [rbp + 0x108]
mov edx, r12d
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085a54
lea r8, [rbp - 0x40]
mov edx, r12d
mov ecx, dword [rbp - 0x40]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x140085a54
mov eax, edi
sub eax, dword [rbp - 0x40]
cmp eax, r13d
jb 0x14008565b
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x80], rax
lea r8, [rbp + 0x108]
mov edx, r13d
mov rcx, rax
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085a54
lea r8, [rbp - 0x40]
mov edx, r13d
mov ecx, dword [rbp - 0x40]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x140085a54
mov eax, edi
sub eax, dword [rbp - 0x40]
cmp eax, r12d
jb 0x14008565b
mov rcx, qword [rbp + 0x108]
mov r12d, dword [rcx]
lea r8, [rbp + 0x108]
mov edx, 4
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140085a54
lea r8, [rbp - 0x40]
mov edx, 4
mov ecx, dword [rbp - 0x40]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x140085a54
mov eax, edi
mov ecx, dword [rbp - 0x40]
sub eax, ecx
cmp eax, r12d
jb 0x14008565b
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0xe0], rax
lea r8, [rbp - 0x40]
mov edx, r12d
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x140085a54
cmp edi, dword [rbp - 0x40]
jne 0x14008565b
lea ecx, [r12 + r13]
add ecx, dword [rbp - 0x70]
add rcx, 0xc
cmp rcx, rdi
jne 0x14008565b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14008585e
mov ebx, 0xc0000017
jmp 0x1400859cd
mov ebx, r14d
cmp qword [rbp + 8], r14
je 0x1400858a9
mov eax, dword [rbp - 0x70]
mov dword [rdi], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x50]
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140085893
mov ebx, 0xc0000017
jmp 0x140085951
mov qword [rdi + 8], rax
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp + 8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400858b0
mov dword [rax], r14d
mov qword [rax + 8], r14
cmp qword [rbp + 0x80], r14
je 0x1400858f4
mov dword [rdi + 0x10], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140085889
mov qword [rdi + 0x18], rax
mov ebx, r14d
mov r8, r13
mov rdx, qword [rbp + 0x80]
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400858fc
mov dword [rdi + 0x10], r14d
mov qword [rdi + 0x18], r14
mov r13, qword [rbp + 0xe0]
test r13, r13
je 0x140085943
mov dword [rdi + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140085889
mov qword [rdi + 0x28], rax
mov ebx, r14d
mov r8, r12
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14008594b
mov dword [rdi + 0x20], r14d
mov qword [rdi + 0x28], r14
mov rsi, rdi
mov rdi, r14
test rdi, rdi
je 0x1400859cd
mov r12, qword [rdi + 8]
test r12, r12
je 0x140085977
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140085998
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x1400859b9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x1400859d8
mov qword [rbp - 0x28], rsi
mov rsi, r14
test rsi, rsi
je 0x140085a54
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400859fe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r14
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x140085a1f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x140085a40
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
or ebx, 0x10000000
jl 0x14008627e
mov rdi, r14
mov qword [rbp + 0x208], r14
mov qword [rbp + 0x4d8], r14
mov ebx, r14d
mov dword [rsp + 0x78], ebx
mov rax, qword [rbp - 0x28]
test rax, rax
jne 0x140085a8b
mov ebx, 0xc000000d
jmp 0x140085ffd
mov rsi, qword [rax + 8]
mov qword [rbp - 0x50], rsi
test rsi, rsi
je 0x140085a81
cmp dword [rax], r14d
je 0x140085a81
mov r12d, dword [rax]
mov dword [rsp + 0x70], r14d
test r12, r12
je 0x140085fd8
add r12, 0xfffffffffffffff8
mov qword [rbp + 0xe0], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
mov qword [rbp + 0x120], rax
test rax, rax
je 0x140085fd1
mov dl, r14b
mov byte [rsp + 0x64], dl
mov r9, rsi
mov r8, rax
mov rdi, r12
mov dword [rbp - 0x20], r14d
mov r11d, r14d
and edi, 7
je 0x140085be1
or esi, 0xffffffff
mov dword [rbp - 0x48], esi
mov esi, r14d
mov dword [rbp + 0x114], r14d
mov dword [rbp - 0x68], r14d
mov r10d, r14d
test edi, edi
jle 0x140085b5b
mov edx, 0x38
movzx eax, byte [r9]
cmp r10d, 4
jge 0x140085b34
lea ecx, [rdx - 0x20]
shl eax, cl
or r11d, eax
jmp 0x140085b3a
mov ecx, edx
shl eax, cl
or esi, eax
mov ecx, 1
add r9, rcx
add r10d, ecx
sub edx, 8
cmp r10d, edi
jl 0x140085b20
mov dword [rbp + 0x114], esi
mov dword [rbp - 0x68], r11d
mov dl, bl
jmp 0x140085b60
mov ecx, 1
mov esi, r11d
xor esi, 0x5c3fcbda
mov dword [rbp - 0x20], esi
mov r11d, dword [rbp + 0x114]
xor r11d, 0x66fa8c2b
mov dword [rbp - 0x48], r11d
mov eax, r14d
test edi, edi
jle 0x140085ba9
cmp eax, 4
jge 0x140085b92
rol esi, 8
mov byte [r8], sil
jmp 0x140085b99
rol r11d, 8
mov byte [r8], r11b
add r8, rcx
add eax, ecx
cmp eax, edi
jl 0x140085b85
mov esi, dword [rbp - 0x20]
mov r11d, dword [rbp - 0x48]
lea eax, [rdi - 4]
test eax, eax
jle 0x140085bc6
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x48], r11d
jmp 0x140085bec
mov r11d, r14d
mov dword [rbp - 0x48], r14d
test eax, eax
jns 0x140085bec
neg eax
shl eax, 3
mov ecx, eax
shr esi, cl
shl esi, cl
mov dword [rbp - 0x20], esi
jmp 0x140085bec
mov dword [rbp - 0x68], r14d
mov dword [rbp - 0x48], r14d
mov esi, r14d
mov rax, r12
shr rax, 3
test rax, rax
je 0x140085f42
lea r12, [r8 + 7]
lea r14, [r9 + 2]
mov edx, dword [rbp - 0x68]
mov r13, rax
mov ebx, dword [rbp + 0x114]
mov r15d, 1
movzx r10d, byte [r14 - 2]
shl r10d, 8
movzx eax, byte [r14 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 1]
or r10d, eax
movzx r9d, byte [r14 + 2]
shl r9d, 8
movzx eax, byte [r14 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r14 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r14 + 5]
or r9d, eax
xor esi, r10d
xor r11d, r9d
lea r14, [r14 + 8]
xor r11d, esi
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
mov ecx, r11d
rol ecx, 0xa
imul eax, eax, 0xd6c9
add ecx, eax
xor esi, ecx
lea eax, [rsi - 0x59c22937]
ror eax, 9
mov ecx, esi
rol ecx, 2
imul eax, eax, 0xcf67
sub eax, ecx
xor r11d, eax
lea eax, [r11 - 0xd6c9]
imul ecx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor esi, ecx
mov eax, esi
xor eax, 0xcf67
rol eax, 6
mov ecx, esi
rol ecx, 2
imul eax, eax, 0xa63d
sub eax, ecx
xor r11d, eax
mov ecx, r11d
mov r8d, 0xcf6704fb
xor ecx, r8d
mov eax, 0xa63dd6c9
sub eax, ecx
xor esi, eax
mov edi, esi
ror edi, 6
mov eax, esi
xor eax, 0xd6c9
imul ecx, eax, 0xcf67
xor edi, ecx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4fb
add ecx, eax
xor esi, ecx
lea eax, [rsi + 0x3098fb05]
ror eax, 0xe
mov ecx, esi
rol ecx, 8
imul eax, eax, 0xa63d
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xc
mov ecx, r11d
ror ecx, 0xa
imul eax, eax, 0xd6c9
xor ecx, eax
xor esi, ecx
mov eax, esi
xor eax, 0xa63d
imul ecx, eax, 0xcf67
mov eax, esi
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor esi, eax
mov ecx, r11d
xor ecx, r8d
mov edi, 0xa63dd6c9
mov eax, edi
sub eax, ecx
xor esi, eax
lea eax, [rsi - 0x3098fb05]
rol eax, 3
mov ecx, esi
rol ecx, 6
imul eax, eax, 0xa63d
add ecx, eax
xor r11d, ecx
mov eax, r8d
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 8
imul eax, eax, 0xd6c9
sub eax, ecx
xor esi, eax
xor r11d, esi
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, esi
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul ecx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add ecx, eax
xor r11d, ecx
mov edi, r11d
ror edi, 9
mov eax, r11d
mov esi, 0xa63d
xor eax, esi
imul ecx, eax, 0xd6c9
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, esi
imul ecx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor ecx, eax
xor r11d, ecx
mov edi, r11d
ror edi, 2
mov eax, r11d
xor eax, 0xcf67
imul ecx, eax, 0x4fb
xor edi, ecx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
mov ecx, r11d
rol ecx, 0xb
imul eax, eax, 0xd6c9
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, esi
rol eax, 2
mov ecx, r8d
rol ecx, 0xc
imul eax, eax, 0xcf67
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
mov ecx, r11d
rol ecx, 0xe
imul eax, eax, 0x4fb
add ecx, eax
xor ecx, edx
xor r8d, ecx
mov dword [rbp - 0x20], r8d
xor r11d, ebx
mov dword [rbp - 0x48], r11d
mov byte [r12 - 4], r8b
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [r12], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [r12 - 5], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [r12 - 1], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [r12 - 6], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [r12 - 2], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x48]
mov byte [r12 - 3], al
mov esi, dword [rbp - 0x20]
ror esi, 8
mov dword [rbp - 0x20], esi
mov r11d, dword [rbp - 0x48]
ror r11d, 8
mov dword [rbp - 0x48], r11d
mov edx, r10d
mov ebx, r9d
lea r12, [r12 + 8]
sub r13, r15
jne 0x140085c16
mov dl, byte [rsp + 0x64]
xor r14d, r14d
mov r15d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x78]
mov r12, qword [rbp + 0xe0]
mov r13, qword [rbp + 0x120]
mov rax, r14
test r12, r12
je 0x140085f5b
mov ecx, 1
xor dl, byte [rax + r13]
add rax, rcx
cmp rax, r12
jb 0x140085f4f
movzx eax, dl
mov rcx, qword [rbp - 0x50]
cmp rax, qword [r12 + rcx]
je 0x140085f76
mov esi, 0xc004d501
mov rdi, qword [rbp + 0x208]
jmp 0x140085f8e
mov rdi, r13
mov qword [rbp + 0x208], r13
mov r13, r14
mov qword [rbp + 0x4d8], r12
mov esi, dword [rsp + 0x70]
test r13, r13
je 0x140085fae
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x208]
test esi, esi
js 0x140085fd8
mov qword [rbp + 0xc0], rdi
mov rdi, r14
mov qword [rbp + 0x208], r14
mov eax, dword [rbp + 0x4d8]
mov dword [rbp + 0x2a0], eax
jmp 0x140085fdd
mov rdi, qword [rbp + 0x208]
mov ebx, 0xc0000001
test rdi, rdi
je 0x140085ffd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x208], r14
or ebx, 0x10000000
jl 0x14008627e
mov esi, dword [rbp + 0x2a0]
mov dword [rbp + 0x9c], r14d
mov r9, qword [rbp + 0xc0]
mov qword [rbp + 0x338], r9
mov edi, 4
cmp esi, edi
jb 0x140086275
mov eax, dword [r9]
mov dword [rsp + 0x78], eax
lea r8, [rbp + 0x338]
mov edx, edi
mov rcx, r9
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x14008627a
lea r8, [rbp + 0x9c]
mov edx, edi
mov ecx, dword [rbp + 0x9c]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x14008627a
mov eax, esi
sub eax, dword [rbp + 0x9c]
cmp eax, edi
jb 0x140086275
mov rcx, qword [rbp + 0x338]
mov r13d, dword [rcx]
lea r8, [rbp + 0x338]
mov edx, edi
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x14008627a
lea r8, [rbp + 0x9c]
mov edx, edi
mov ecx, dword [rbp + 0x9c]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x14008627a
mov eax, esi
mov ecx, dword [rbp + 0x9c]
sub eax, ecx
cmp eax, r13d
jb 0x140086275
mov rdi, qword [rbp + 0x338]
lea r8, [rbp + 0x9c]
mov edx, r13d
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x14008627a
mov r9, qword [rbp + 0xc0]
lea rcx, [r9 + rsi]
lea rax, [rdi + r13]
cmp rcx, rax
jb 0x140086275
mov rax, r9
sub rax, r13
sub rax, rdi
add rax, rsi
cmp rax, 8
jae 0x140086275
mov rsi, r14
mov ebx, r14d
mov dword [rbp - 0x68], r14d
test rdi, rdi
je 0x14008620d
mov rsi, rdi
lea r8, [rbp + 0x3d8]
mov edx, r13d
mov rcx, rdi
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140086265
mov rax, qword [rbp + 0x3d8]
cmp rdi, rax
jae 0x140086205
lea r8, [rbp + 0x5e0]
mov edx, 4
mov rcx, rsi
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140086265
mov rax, qword [rbp + 0x3d8]
cmp qword [rbp + 0x5e0], rax
ja 0x1400861fe
lea r8, [rbp + 0x420]
mov edx, dword [rsi]
mov ecx, 4
call fcn.140105f88
mov ebx, eax
mov eax, dword [rbp + 0x478]
test ebx, ebx
cmovns eax, dword [rbp + 0x420]
mov dword [rbp + 0x478], eax
js 0x14008627a
mov edx, eax
lea r8, [rbp + 0x5f0]
mov rcx, rsi
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x140086265
mov rsi, qword [rbp + 0x5f0]
mov rax, qword [rbp + 0x3d8]
cmp rsi, rax
ja 0x1400861fe
inc dword [rbp - 0x68]
cmp rsi, rax
jb 0x140086164
jmp 0x140086205
mov ebx, 0xc000000d
jmp 0x14008627a
cmp rsi, rax
jne 0x1400861fe
mov rsi, r14
test r13d, r13d
je 0x14008623b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x140086238
mov ebx, 0xc0000017
jmp 0x140086265
mov ebx, r14d
test rdi, rdi
je 0x14008624e
mov r8, r13
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x1a8], rsi
mov dword [rbp + 0x1a4], r13d
mov eax, dword [rbp - 0x68]
mov dword [rbp + 0x1a0], eax
test ebx, ebx
js 0x14008627a
mov eax, dword [rsp + 0x78]
cmp eax, dword [rbp + 0x1a0]
je 0x14008627a
mov ebx, 0xc000003e
bts ebx, 0x1c
mov rdi, qword [rbp + 0x68]
test rdi, rdi
je 0x14008629b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp + 0x320]
test rsi, rsi
je 0x140086325
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400862c8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r14
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x1400862e9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x14008630a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x320], r14
mov rdi, qword [rbp + 0xb8]
test rdi, rdi
je 0x140086345
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x140086362
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x1400863e2
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x14008638c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x1400863ad
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x1400863ce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x140086402
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x140086551
mov r13d, 1
cmp dword [rbp + 0x1a0], r13d
jb 0x140086551
mov rdi, qword [rbp + 0x1a8]
test rdi, rdi
je 0x140086551
cmp dword [rbp + 0x1a0], r14d
jbe 0x140086551
mov qword [rbp + 0x3e8], rdi
mov ebx, dword [rdi]
lea r8, [rbp + 0x3e8]
lea edx, [r13 + 3]
mov rcx, rdi
call fcn.140105fa8
test eax, eax
js 0x140086551
mov dword [rbp + 0x620], ebx
mov rax, qword [rbp + 0x3e8]
test ebx, ebx
cmove rax, r14
mov qword [rbp + 0x3e8], rax
mov qword [rbp + 0x7d0], rax
cmp ebx, 4
jne 0x140086551
mov eax, dword [rax]
mov dword [rbp + 0x1d4], eax
test eax, eax
js 0x140086551
mov rdi, qword [rbp + 0x1a8]
test rdi, rdi
je 0x140086551
cmp dword [rbp + 0x1a0], r13d
jbe 0x140086551
mov qword [rbp + 0x168], rdi
mov ebx, r14d
mov esi, dword [rdi]
lea r8, [rbp + 0x168]
mov edx, 4
mov rcx, rdi
call fcn.140105fa8
test eax, eax
js 0x140086551
mov edx, esi
lea r8, [rbp + 0x168]
mov rcx, qword [rbp + 0x168]
call fcn.140105fa8
test eax, eax
js 0x140086551
add ebx, r13d
cmp ebx, r13d
jae 0x140086503
mov rdi, qword [rbp + 0x168]
jmp 0x1400864bf
mov rcx, qword [rbp + 0x168]
mov edi, dword [rcx]
lea r8, [rbp + 0x168]
mov edx, 4
call fcn.140105fa8
test eax, eax
js 0x140086551
mov dword [rbp + 0x6a0], edi
mov rax, qword [rbp + 0x168]
test edi, edi
cmove rax, r14
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x7c8], rax
cmp edi, 8
jne 0x140086551
mov rax, qword [rax]
mov qword [rbp + 0x7d8], rax
mov rsi, qword [rbp - 0x80]
jmp 0x14008469e
mov rsi, r12
mov rbx, r13
jmp 0x140086565
mov rbx, r14
mov qword [rbp + 0x10], 0
mov rdi, qword [rbp + 0x18]
test rdi, rdi
je 0x14008658e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x1a0], 0
mov rdi, qword [rbp + 0x1a8]
test rdi, rdi
je 0x1400865c0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1a8], r14
test rsi, rsi
je 0x1400865d9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x1400865f2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0x188]
mov dword [rbp + 0x688], eax
mov ebx, dword [rbp + 0x2a8]
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1f0], r14
mov qword [rbp + 0x3f8], rax
jmp 0x140086621
mov ebx, dword [rbp + 0x1d4]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x14015121c], r12d
jne 0x140086627
mov eax, dword [0x140151228]
test eax, eax
jle 0x140086696
sub eax, r12d
mov dword [0x140151228], eax
jne 0x140086696
lea r13, [0x14014f870]
mov rdi, r13
mov esi, 4
cmp qword [rdi], r14
je 0x140086666
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r12
jne 0x140086658
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
mov eax, r14d
xchg dword [0x14015121c], eax
lea rcx, [rbp + 0x1f0]
call fcn.140105f60
test r15d, r15d
jns 0x14008670d
cmp r15d, 0xd0000034
jne 0x1400866c1
mov r15d, 0xc004f012
jmp 0x140086704
cmp r15d, 0xd00000e5
je 0x1400866e4
cmp r15d, 0xc004d501
je 0x1400866e4
cmp r15d, 0xd000003e
jne 0x1400866ea
mov r15d, 0xc004f028
jmp 0x140086704
mov r15d, 0xc004f027
test r15d, r15d
jns 0x14008670d
cmp r15d, 0x8007007a
jne 0x140086704
mov dword [rbp + 0x118], 0xc004f01e
jmp 0x140086721
mov dword [rbp + 0x118], r15d
jmp 0x140086721
cmp ebx, 4
jne 0x1400866f8
mov rax, qword [rbp + 0x3f8]
mov ecx, dword [rax]
mov dword [rbp + 0x2f0], ecx
lea rcx, [rbp + 0x3f8]
call fcn.140105f60
cmp dword [rbp + 0x118], r14d
jl 0x14008673f
cmp dword [rbp + 0x2f0], r14d
jne 0x140086742
mov r14b, r12b
lea rcx, [rbp + 0x560]
call fcn.140009270
mov al, r14b
mov rcx, qword [rbp + 0x1420]
xor rcx, rsp
call fcn.140106ed0
lea r11, [rsp + 0x1530]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret