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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1410]
mov eax, 0x1510
call fcn.140108950
sub rsp, rax
mov qword [rbp + 0x798], 0xfffffffffffffffe
mov qword [rsp + 0x1548], rbx
mov qword [rsp + 0x1550], rsi
mov qword [rsp + 0x1558], rdi
mov rax, qword [0x14014d030]
xor rax, rsp
mov qword [rbp + 0x1400], rax
mov qword [rbp + 0x570], rcx
xor eax, eax
mov dword [rbp + 0x230], eax
mov qword [rbp + 0x438], rax
mov dword [rbp + 0x58], eax
mov dword [rbp + 0x258], eax
mov dword [rbp + 0x17c], eax
lea rcx, [rbp + 0x1f0]
call fcn.140105f10
xor eax, eax
mov dword [rbp + 0x84], eax
lea r12d, [rax + 1]
xor eax, eax
lock cmpxchg dword [0x140151218], r12d
jne 0x1400aaab4
mov ebx, 0x338
or edi, 0xffffffff
mov dword [rbp + 0x88], edi
mov eax, dword [0x140151228]
test eax, eax
jne 0x1400ab08e
xor eax, eax
mov dword [rbp - 0x60], eax
mov qword [rbp + 0x2d8], rax
mov qword [rbp + 0x478], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
mov qword [rbp - 0x68], rax
xor eax, eax
test r14, r14
je 0x1400ab009
mov esi, eax
mov eax, edi
xor ecx, ecx
mov r11d, ecx
mov dword [rbp], ecx
mov ebx, ecx
mov dword [rbp + 0x1c], ecx
lea r15, [r14 + 7]
lea r12, [0x14012e742]
lea r13d, [rcx + 0x67]
lea r14d, [rcx + 1]
movzx r10d, byte [r12 - 2]
shl r10d, 8
movzx ecx, byte [r12 - 1]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r12]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r12 + 1]
or r10d, ecx
movzx r9d, byte [r12 + 2]
shl r9d, 8
movzx ecx, byte [r12 + 3]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r12 + 4]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r12 + 5]
or r9d, ecx
xor ebx, r10d
xor r11d, r9d
lea r12, [r12 + 8]
xor r11d, ebx
xor r11d, 0x695ad232
lea ecx, [r11 + 0x3098fb05]
rol ecx, 5
mov edx, r11d
rol edx, 0xa
imul ecx, ecx, 0xd6c9
add edx, ecx
xor ebx, edx
lea ecx, [rbx - 0x59c22937]
ror ecx, 9
mov edx, ebx
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 ebx, edx
mov ecx, ebx
xor ecx, 0xcf67
rol ecx, 6
mov edx, ebx
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 ebx, ecx
mov edi, ebx
ror edi, 6
mov ecx, ebx
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 ebx, edx
lea ecx, [rbx + 0x3098fb05]
ror ecx, 0xe
mov edx, ebx
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 ebx, edx
mov ecx, ebx
xor ecx, 0xa63d
imul edx, ecx, 0xcf67
mov ecx, ebx
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 ebx, ecx
mov edx, r11d
xor edx, r8d
mov edi, 0xa63dd6c9
mov ecx, edi
sub ecx, edx
xor ebx, ecx
lea ecx, [rbx - 0x3098fb05]
rol ecx, 3
mov edx, ebx
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 ebx, ecx
xor r11d, ebx
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, ebx
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 ebx, 0xa63d
xor ecx, ebx
imul edx, ecx, 0xd6c9
sub edx, edi
xor r8d, edx
mov ecx, r8d
xor ecx, ebx
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, ebx
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, esi
xor r8d, edx
mov dword [rbp + 0x1c], r8d
xor r11d, eax
mov dword [rbp], r11d
mov byte [r15 - 4], r8b
ror dword [rbp + 0x1c], 8
mov cl, byte [rbp]
mov byte [r15], cl
ror dword [rbp], 8
mov cl, byte [rbp + 0x1c]
mov byte [r15 - 5], cl
ror dword [rbp + 0x1c], 8
mov cl, byte [rbp]
mov byte [r15 - 1], cl
ror dword [rbp], 8
mov cl, byte [rbp + 0x1c]
mov byte [r15 - 6], cl
ror dword [rbp + 0x1c], 8
mov cl, byte [rbp]
mov byte [r15 - 2], cl
ror dword [rbp], 8
mov cl, byte [rbp + 0x1c]
mov byte [r15 - 7], cl
mov cl, byte [rbp]
mov byte [r15 - 3], cl
mov ebx, dword [rbp + 0x1c]
ror ebx, 8
mov dword [rbp + 0x1c], ebx
mov r11d, dword [rbp]
ror r11d, 8
mov dword [rbp], r11d
mov esi, r10d
mov eax, r9d
lea r15, [r15 + 8]
sub r13, r14
jne 0x1400aab3a
xor eax, eax
mov ecx, eax
mov esi, ecx
mov r14, qword [rbp - 0x68]
mov r13d, ecx
mov ebx, 0x338
lea r12d, [rcx + 1]
xor al, byte [rcx + r14]
add rcx, r12
cmp rcx, rbx
jb 0x1400aae65
movzx ecx, al
cmp rcx, qword [0x14012ea78]
je 0x1400aae84
mov edi, 0xc004d501
jmp 0x1400aae99
mov qword [rbp + 0x2d8], r14
xor eax, eax
mov r14d, eax
mov qword [rbp + 0x478], rbx
mov edi, eax
test r14, r14
je 0x1400aaeb2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x1400ab009
mov rdi, qword [rbp + 0x2d8]
mov rax, qword [rbp + 0x478]
xor edx, edx
mov byte [rax + rdi - 1], dl
lea r8d, [rdx + 0x60]
lea rbx, [0x14014f870]
mov rcx, rbx
call sub.msvcrt.dll_memset
xor eax, eax
cmp byte [rdi], al
je 0x1400ab00e
mov rdx, rdi
or rax, 0xffffffffffffffff
xor esi, esi
inc rax
cmp word [rdi + rax*2], si
jne 0x1400aaef4
lea rdi, [rdi + rax*2]
mov eax, r13d
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 0x1400ab009
xor eax, eax
mov rax, qword [rbx]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400aaf4a
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400aaf4a
add rcx, qword [rbx]
cmp rcx, qword [rbx]
jb 0x1400aaf4a
cmp dword [rcx], 0x4550
je 0x1400aaf51
mov esi, 0xc000007b
jmp 0x1400aaf7f
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400aaf6e
mov esi, 0xc000000d
jmp 0x1400aaf7f
mov rax, qword [rcx + 0x88]
mov qword [rbx + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rbx + 8], eax
mov r15d, dword [rdi + 2]
add rdi, 6
xor eax, eax
mov r14d, eax
test r15d, r15d
je 0x1400aaff5
mov qword [rbp + 0x510], rax
mov rcx, rdi
or rax, 0xffffffffffffffff
xor edx, edx
inc rax
cmp byte [rdi + rax], dl
jne 0x1400aafa1
inc rdi
add rdi, rax
test esi, esi
js 0x1400aafdf
lea r9, [rbp + 0x510]
mov r8, rbx
call fcn.140105cfc
mov esi, eax
test eax, eax
js 0x1400ab00e
mov eax, dword [rbp - 0x60]
mov rcx, qword [rbp + 0x510]
lea r8, [0x14014dbd0]
mov qword [r8 + rax*8], rcx
jmp 0x1400aafe2
mov eax, dword [rbp - 0x60]
add eax, r12d
mov dword [rbp - 0x60], eax
add r14d, r12d
cmp r14d, r15d
mov eax, 0
jb 0x1400aaf91
add r13d, r12d
cmp byte [rdi], al
lea rbx, [0x14014f870]
jne 0x1400aaeeb
jmp 0x1400ab010
mov esi, 0xc000007a
xor eax, eax
cmp qword [rbp + 0x2d8], rax
je 0x1400ab033
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x2d8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test esi, esi
jns 0x1400ab088
lea r15, [0x14014f870]
mov rdi, r15
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400ab056
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
add rdi, 0x18
sub rbx, r12
jne 0x1400ab046
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1401190e0]
lea rcx, [0x14014dbd0]
call sub.msvcrt.dll_memcpy
jmp 0x1400ab097
mov eax, dword [0x140151228]
add eax, r12d
mov dword [0x140151228], eax
xor eax, eax
xchg dword [0x140151218], eax
lea rcx, [rbp + 0x388]
call fcn.140105f10
lea rcx, [rbp + 0x378]
call fcn.140105f10
xor eax, eax
mov r14d, eax
mov esi, eax
mov rax, qword gs:[0x60]
mov ebx, 0x80004005
xor edx, edx
mov r13d, 0x80070000
cmp dword [rax + 0x2c0], edx
je 0x1400ab394
mov rdi, qword [0x14014dce0]
mov rcx, rdi
call qword [fcn.140009050]
call rdi
mov r12, rax
test rax, rax
jne 0x1400ab11a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r13d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400ab39b
mov esi, ebx
jmp 0x1400ab39b
lea rcx, [rbp + 0x160]
call fcn.140105f10
xor eax, eax
mov r15d, eax
mov rdi, qword [rbp + 0x160]
mov rbx, qword [0x14014dd00]
mov rcx, rbx
call qword [fcn.140009050]
lea rax, [rbp + 0x2a0]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8, rdi
mov edx, 2
mov rcx, r12
call rbx
xor edi, edi
test eax, eax
jne 0x1400ab1f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400ab1da
xor eax, eax
cmp qword [rbp + 0x160], rax
jne 0x1400ab1cf
mov edi, dword [rbp + 0x2a0]
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 + 0x160]
call fcn.140105f20
xor eax, eax
test rdi, rdi
je 0x1400ab1c1
mov qword [rbp + 0x160], rdi
mov r15d, dword [rbp + 0x2a0]
jmp 0x1400ab132
mov qword [rbp + 0x160], rax
mov esi, 0x8007000e
jmp 0x1400ab206
mov r15d, 0x80004005
mov esi, r15d
jmp 0x1400ab20c
mov r15d, 0x80004005
test eax, eax
je 0x1400ab1d5
movzx esi, ax
or esi, r13d
test eax, eax
cmovle esi, eax
jmp 0x1400ab20c
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x160], rdi
mov qword [rbp + 0x388], rax
mov r15d, 0x80004005
lea rcx, [rbp + 0x160]
call fcn.140105f20
test esi, esi
js 0x1400ab39b
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 r12, rax
test rax, rax
jne 0x1400ab265
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r13d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400ab39b
mov esi, r15d
jmp 0x1400ab39b
lea rcx, [rbp + 0x130]
call fcn.140105f10
xor eax, eax
mov esi, eax
mov r15d, eax
mov rdi, qword [rbp + 0x130]
mov rbx, qword [0x14014dd00]
mov rcx, rbx
call qword [fcn.140009050]
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8, rdi
mov edx, 2
mov rcx, r12
call rbx
xor edi, edi
test eax, eax
jne 0x1400ab330
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400ab31f
xor eax, eax
cmp qword [rbp + 0x130], rax
jne 0x1400ab318
mov edi, dword [rbp + 0x2b0]
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 + 0x130]
call fcn.140105f20
xor eax, eax
test rdi, rdi
je 0x1400ab30a
mov qword [rbp + 0x130], rdi
mov r15d, dword [rbp + 0x2b0]
jmp 0x1400ab27f
mov qword [rbp + 0x130], rax
mov esi, 0x8007000e
jmp 0x1400ab345
mov esi, 0x80004005
jmp 0x1400ab345
test eax, eax
je 0x1400ab318
movzx esi, ax
or esi, r13d
test eax, eax
cmovle esi, eax
jmp 0x1400ab345
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x130], rdi
mov qword [rbp + 0x378], rax
lea rcx, [rbp + 0x130]
call fcn.140105f20
test esi, esi
js 0x1400ab39b
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1400ab394
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1400ab394
mov rcx, qword [rbp + 0x378]
test rcx, rcx
je 0x1400ab394
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
mov eax, 1
cmove r14d, eax
mov dword [rbp + 0x84], r14d
lea rcx, [rbp + 0x378]
call fcn.140105f20
lea rcx, [rbp + 0x388]
call fcn.140105f20
mov eax, dword [rbp + 0x84]
xor ecx, ecx
test esi, esi
cmovs eax, ecx
mov dword [rbp + 0x84], eax
xor eax, eax
mov dword [rbp + 0x17c], eax
lea edx, [rcx + 4]
lea ecx, [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x1f0]
call fcn.140105f60
xor eax, eax
test rdi, rdi
jne 0x1400ab406
mov qword [rbp + 0x1f0], rax
mov r14d, 0x8007000e
jmp 0x1400b54aa
mov qword [rbp + 0x1f0], rdi
mov rsi, rax
mov r13, rax
mov dword [rbp - 0x80], eax
mov qword [rbp - 0x7c], rax
mov dword [rbp - 0x74], eax
mov dword [rbp + 0x28c], eax
mov dword [rbp + 0xa8], eax
mov qword [rbp + 0xac], rax
mov dword [rbp + 0xb4], eax
mov dword [rbp + 0x108], eax
lea rax, [0x14014e3a0]
mov qword [rbp + 0x660], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x520], 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 r15, rax
mov r14d, 0xc0000017
lea r12, [0x14014e4e8]
test rax, rax
jne 0x1400ab494
mov dword [rsp + 0x60], r14d
mov r12d, 1
jmp 0x1400ae641
mov r8, qword [rbp + 0x520]
mov rdx, qword [rbp + 0x660]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov rsi, r15
mov qword [rsp + 0x70], r15
mov ebx, dword [rbp + 0x520]
mov qword [rbp + 0x670], r12
mov qword [rbp + 0x530], 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 r12, rax
test rax, rax
je 0x1400ab484
mov r8, qword [rbp + 0x530]
mov rdx, qword [rbp + 0x670]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r13, r12
mov qword [rsp + 0x68], r12
mov esi, dword [rbp + 0x530]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x4b8], rax
xor eax, eax
mov dword [rbp - 0x2c], eax
lea r8, [rbp + 0x45c]
lea edi, [rax + 4]
mov edx, edi
mov ecx, edi
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x10]
test eax, eax
cmovns edx, dword [rbp + 0x45c]
mov dword [rbp + 0x10], edx
js 0x1400ab66e
lea r8, [rbp - 0x2c]
mov ecx, dword [rbp - 0x2c]
call fcn.140105f88
mov r14d, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ab66e
lea r8, [rbp + 0x464]
mov edx, ebx
mov ecx, edi
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x10]
test eax, eax
cmovns edx, dword [rbp + 0x464]
mov dword [rbp + 0x10], edx
js 0x1400ab66e
lea r8, [rbp - 0x2c]
mov ecx, dword [rbp - 0x2c]
call fcn.140105f88
mov r14d, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ab66e
lea r8, [rbp + 0x474]
mov edx, esi
mov ecx, edi
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x10]
test eax, eax
cmovns edx, dword [rbp + 0x474]
mov dword [rbp + 0x10], edx
js 0x1400ab66e
lea r8, [rbp - 0x2c]
mov ecx, dword [rbp - 0x2c]
call fcn.140105f88
mov r14d, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ab66e
lea r8, [rbp + 0x430]
lea edx, [rdi + 4]
mov ecx, edi
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x10]
test eax, eax
cmovns edx, dword [rbp + 0x430]
mov dword [rbp + 0x10], edx
js 0x1400ab66e
lea r8, [rbp - 0x2c]
mov ecx, dword [rbp - 0x2c]
call fcn.140105f88
mov r14d, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ab66e
lea r8, [rbp + 0x500]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMESecurityGroupAllowed
call fcn.140105fc8
test eax, eax
jns 0x1400ab676
mov r14d, 0xc000003e
mov dword [rsp + 0x60], r14d
mov rsi, r15
jmp 0x1400ab489
mov rax, qword [rbp + 0x500]
inc rax
mov qword [rbp + 0x500], rax
lea edx, [rax + rax]
lea r8, [rbp + 0x440]
mov ecx, edi
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x10]
test eax, eax
cmovns edx, dword [rbp + 0x440]
mov dword [rbp + 0x10], edx
js 0x1400ab66e
lea r8, [rbp - 0x2c]
mov ecx, dword [rbp - 0x2c]
call fcn.140105f88
mov r14d, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ab66e
lea r8, [rbp + 0x468]
mov edx, edi
mov ecx, edi
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x10]
test eax, eax
cmovns edx, dword [rbp + 0x468]
mov dword [rbp + 0x10], edx
js 0x1400ab66e
lea r8, [rbp - 0x2c]
mov ecx, dword [rbp - 0x2c]
call fcn.140105f88
mov r14d, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ab66e
lea r8, [rbp + 0x35c]
mov edx, edi
mov ecx, edi
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x10]
test eax, eax
cmovns edx, dword [rbp + 0x35c]
mov dword [rbp + 0x10], edx
js 0x1400ab66e
lea r8, [rbp - 0x2c]
mov ecx, dword [rbp - 0x2c]
call fcn.140105f88
mov r14d, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ab66e
mov eax, dword [rbp - 0x2c]
mov dword [rbp - 0x7c], 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]
xor edi, edi
test rax, rax
jne 0x1400ab798
mov r14d, 0xc0000017
jmp 0x1400ab669
mov qword [rbp - 0x78], rax
mov ecx, edi
mov dword [rbp - 0x80], ecx
mov dword [rbp + 0x2c0], edi
lea rdx, [rbp + 0x2c0]
test rdx, rdx
je 0x1400ab82c
mov qword [rbp + 0x680], rax
mov dword [rbp + 0x768], 4
lea r8, [rbp + 0x770]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400ab827
mov ecx, dword [rbp - 0x7c]
add rcx, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x680]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x1400ab808
mov r14d, 0xc0000023
jmp 0x1400ab669
mov dword [rdx], 4
mov rcx, qword [rbp + 0x770]
mov eax, dword [rbp + 0x2c0]
mov dword [rcx], eax
mov ecx, dword [rbp - 0x80]
inc ecx
mov dword [rbp - 0x80], ecx
jmp 0x1400ab837
mov ecx, dword [rbp - 0x80]
jmp 0x1400ab839
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
xor eax, eax
test r14d, r14d
js 0x1400ab66e
test ebx, ebx
je 0x1400ab99b
cmp qword [rbp - 0x78], rax
jne 0x1400ab8b5
lea r8, [rbp + 0x36c]
mov edx, ebx
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x170]
test eax, eax
cmovns edx, dword [rbp + 0x36c]
mov dword [rbp + 0x170], edx
js 0x1400ab994
lea r8, [rbp - 0x7c]
mov ecx, dword [rbp - 0x7c]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400ab994
mov ecx, dword [rbp - 0x80]
lea r15d, [rax + 1]
add ecx, r15d
mov dword [rbp - 0x80], ecx
jmp 0x1400ab9b5
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x298], rax
xor edx, edx
test ecx, ecx
je 0x1400ab92a
lea r8, [rbp + 0x400]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x170]
test r14d, r14d
cmovns eax, dword [rbp + 0x400]
mov dword [rbp + 0x170], eax
js 0x1400ab994
mov edx, eax
lea r8, [rbp + 0x298]
mov rcx, qword [rbp + 0x298]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ab994
inc edi
mov rax, qword [rbp + 0x298]
cmp edi, dword [rbp - 0x80]
jb 0x1400ab8c6
mov dword [rbp + 0x738], ebx
lea r8, [rbp + 0x740]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ab994
mov r8, rbx
mov ecx, dword [rbp - 0x7c]
add rcx, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x298]
lea rax, [rdx + 4]
add rax, rbx
cmp rax, rcx
ja 0x1400ab7fd
mov dword [rdx], ebx
mov rdx, r15
mov rcx, qword [rbp + 0x740]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x80]
mov r15d, 1
add ecx, r15d
mov dword [rbp - 0x80], ecx
xor eax, eax
jmp 0x1400ab9ac
mov ecx, dword [rbp - 0x80]
xor eax, eax
jmp 0x1400ab9a6
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
mov r15d, 1
test r14d, r14d
js 0x1400abaea
test esi, esi
je 0x1400abb16
cmp qword [rbp - 0x78], rax
jne 0x1400aba21
lea r8, [rbp + 0x358]
mov edx, esi
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x18c]
test eax, eax
cmovns edx, dword [rbp + 0x358]
mov dword [rbp + 0x18c], edx
js 0x1400abb11
lea r8, [rbp - 0x7c]
mov ecx, dword [rbp - 0x7c]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abb11
mov ecx, dword [rbp - 0x80]
add ecx, r15d
mov dword [rbp - 0x80], ecx
jmp 0x1400abb26
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x270], rax
xor ebx, ebx
mov edi, ebx
test ecx, ecx
je 0x1400aba9d
lea r8, [rbp + 0x3fc]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x18c]
test r14d, r14d
cmovns eax, dword [rbp + 0x3fc]
mov dword [rbp + 0x18c], eax
js 0x1400abb11
mov edx, eax
lea r8, [rbp + 0x270]
mov rcx, qword [rbp + 0x270]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abb11
add edi, r15d
mov rax, qword [rbp + 0x270]
cmp edi, dword [rbp - 0x80]
jb 0x1400aba34
mov dword [rbp + 0x788], esi
lea r8, [rbp + 0x790]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abb11
mov r8, rsi
mov ecx, dword [rbp - 0x7c]
add rcx, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x270]
lea rax, [rdx + 4]
add rax, rsi
cmp rax, rcx
jbe 0x1400abaf5
mov r14d, 0xc0000023
mov dword [rsp + 0x60], r14d
mov r12d, 1
jmp 0x1400ae63c
mov dword [rdx], esi
mov rdx, r12
mov rcx, qword [rbp + 0x790]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x80]
add ecx, r15d
mov dword [rbp - 0x80], ecx
jmp 0x1400abb21
mov ecx, dword [rbp - 0x80]
jmp 0x1400abb21
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400abaea
mov rax, qword [rbp + 0x4b8]
mov qword [rbp + 0x518], rax
lea rax, [rbp + 0x518]
test rax, rax
je 0x1400abc87
xor eax, eax
cmp qword [rbp - 0x78], rax
jne 0x1400abba4
lea r8, [rbp + 0x3e0]
lea edx, [rax + 8]
lea ecx, [rax + 4]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x188]
test eax, eax
cmovns edx, dword [rbp + 0x3e0]
mov dword [rbp + 0x188], edx
js 0x1400abaea
lea r8, [rbp - 0x7c]
mov ecx, dword [rbp - 0x7c]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
add dword [rbp - 0x80], r15d
jmp 0x1400abc9b
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x2b8], rax
xor ebx, ebx
mov edi, ebx
test ecx, ecx
je 0x1400abc20
lea r8, [rbp + 0x3f8]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x188]
test r14d, r14d
cmovns eax, dword [rbp + 0x3f8]
mov dword [rbp + 0x188], eax
js 0x1400abaea
mov edx, eax
lea r8, [rbp + 0x2b8]
mov rcx, qword [rbp + 0x2b8]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
add edi, r15d
mov rax, qword [rbp + 0x2b8]
cmp edi, dword [rbp - 0x80]
jb 0x1400abbb7
mov dword [rbp + 0x778], 8
lea r8, [rbp + 0x780]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
mov ecx, dword [rbp - 0x7c]
add rcx, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x2b8]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x1400abadf
mov dword [rdx], 8
mov rax, qword [rbp + 0x780]
movsd xmm0, qword [rbp + 0x518]
movsd qword [rax], xmm0
add dword [rbp - 0x80], r15d
jmp 0x1400abc92
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400abaea
lea r8, [rbp + 0x398]
mov edx, 0x7fffffff
lea r12, str.WMPPlayer_RMESecurityGroupAllowed
mov rcx, r12
call fcn.140105fc8
test eax, eax
jns 0x1400abcc5
mov r14d, 0xc000003e
jmp 0x1400abae5
lea r8, [rbp + 0x398]
mov rdx, r15
mov rcx, qword [rbp + 0x398]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
mov esi, 0xc0000023
test eax, eax
js 0x1400abaea
mov eax, dword [rbp + 0x398]
lea edi, [rax + rax]
xor eax, eax
test r12, r12
jne 0x1400abd08
test edi, edi
je 0x1400abd10
jmp 0x1400abe56
test edi, edi
je 0x1400abe56
mov rcx, qword [rbp - 0x78]
test rcx, rcx
jne 0x1400abd7c
lea r8, [rbp + 0x364]
mov edx, edi
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1a8]
test eax, eax
cmovns edx, dword [rbp + 0x364]
mov dword [rbp + 0x1a8], edx
js 0x1400abaea
lea r8, [rbp - 0x7c]
mov ecx, dword [rbp - 0x7c]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400abaea
add dword [rbp - 0x80], r15d
mov r14d, eax
mov dword [rsp + 0x60], eax
jmp 0x1400abe61
mov qword [rbp + 0x280], rcx
mov ebx, eax
cmp dword [rbp - 0x80], eax
jbe 0x1400abdf3
lea r8, [rbp + 0x448]
mov edx, dword [rcx]
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1a8]
test r14d, r14d
cmovns eax, dword [rbp + 0x448]
mov dword [rbp + 0x1a8], eax
js 0x1400abaea
mov edx, eax
lea r8, [rbp + 0x280]
mov rcx, qword [rbp + 0x280]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
add ebx, r15d
mov rcx, qword [rbp + 0x280]
cmp ebx, dword [rbp - 0x80]
jb 0x1400abd8a
mov dword [rbp + 0x718], edi
lea r8, [rbp + 0x720]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
mov r8d, edi
mov ecx, dword [rbp - 0x7c]
add rcx, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x280]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x1400abe3f
mov r14d, esi
mov dword [rsp + 0x60], esi
jmp 0x1400abe61
mov dword [rdx], edi
mov rdx, r12
mov rcx, qword [rbp + 0x720]
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x80], r15d
jmp 0x1400abe61
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400abaea
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x2d0], eax
lea rax, [rbp + 0x2d0]
test rax, rax
je 0x1400abfc8
xor eax, eax
cmp qword [rbp - 0x78], rax
jne 0x1400abee5
lea r8, [rbp + 0x374]
lea edx, [rax + 4]
mov ecx, edx
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x190]
test eax, eax
cmovns edx, dword [rbp + 0x374]
mov dword [rbp + 0x190], edx
js 0x1400abaea
lea r8, [rbp - 0x7c]
mov ecx, dword [rbp - 0x7c]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
add dword [rbp - 0x80], r15d
jmp 0x1400abfdc
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x248], rcx
mov edi, eax
cmp dword [rbp - 0x80], eax
jbe 0x1400abf60
lea r8, [rbp + 0x460]
mov edx, dword [rcx]
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x190]
test r14d, r14d
cmovns eax, dword [rbp + 0x460]
mov dword [rbp + 0x190], eax
js 0x1400abaea
mov edx, eax
lea r8, [rbp + 0x248]
mov rcx, qword [rbp + 0x248]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
add edi, r15d
mov rcx, qword [rbp + 0x248]
cmp edi, dword [rbp - 0x80]
jb 0x1400abef7
mov dword [rbp + 0x758], 4
lea r8, [rbp + 0x760]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
mov ecx, dword [rbp - 0x7c]
add rcx, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x248]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x1400abfad
mov r14d, esi
mov dword [rsp + 0x60], esi
jmp 0x1400abaea
mov dword [rdx], 4
mov rcx, qword [rbp + 0x760]
mov eax, dword [rbp + 0x2d0]
mov dword [rcx], eax
add dword [rbp - 0x80], r15d
jmp 0x1400abfd3
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400abaea
mov dword [rbp + 0x2a8], 4
lea rax, [rbp + 0x2a8]
test rax, rax
je 0x1400ac130
xor eax, eax
cmp qword [rbp - 0x78], rax
jne 0x1400ac055
lea r8, [rbp + 0x380]
lea edx, [rax + 4]
mov ecx, edx
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1b8]
test eax, eax
cmovns edx, dword [rbp + 0x380]
mov dword [rbp + 0x1b8], edx
js 0x1400abaea
lea r8, [rbp - 0x7c]
mov ecx, dword [rbp - 0x7c]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
add dword [rbp - 0x80], r15d
jmp 0x1400ac144
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x208], rcx
mov edi, eax
cmp dword [rbp - 0x80], eax
jbe 0x1400ac0d0
lea r8, [rbp + 0x320]
mov edx, dword [rcx]
mov ecx, 4
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1b8]
test r14d, r14d
cmovns eax, dword [rbp + 0x320]
mov dword [rbp + 0x1b8], eax
js 0x1400abaea
mov edx, eax
lea r8, [rbp + 0x208]
mov rcx, qword [rbp + 0x208]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
add edi, r15d
mov rcx, qword [rbp + 0x208]
cmp edi, dword [rbp - 0x80]
jb 0x1400ac067
mov dword [rbp + 0x6e8], 4
lea r8, [rbp + 0x6f0]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400abaea
mov ecx, dword [rbp - 0x7c]
add rcx, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x208]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x1400abfa1
mov dword [rdx], 4
mov rcx, qword [rbp + 0x6f0]
mov eax, dword [rbp + 0x2a8]
mov dword [rcx], eax
add dword [rbp - 0x80], r15d
jmp 0x1400ac13b
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400abaea
lea r8, [rbp + 0x3f0]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x40]
test r14d, r14d
cmovns eax, dword [rbp + 0x3f0]
mov dword [rbp + 0x40], eax
js 0x1400ac2e5
mov dword [rbp + 0x44], eax
lea r8, [rbp + 0x46c]
mov edx, 8
lea ecx, [rdx - 4]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x40]
test eax, eax
cmovns edx, dword [rbp + 0x46c]
mov dword [rbp + 0x40], edx
js 0x1400ac2e5
lea r8, [rbp + 0x44]
mov ecx, dword [rbp + 0x44]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ac2e5
lea r8, [rbp + 0x390]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x40]
test eax, eax
cmovns edx, dword [rbp + 0x390]
mov dword [rbp + 0x40], edx
js 0x1400ac2e5
lea r8, [rbp + 0x44]
mov ecx, dword [rbp + 0x44]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ac2e5
lea r8, [rbp + 0x44c]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x40]
test eax, eax
cmovns edx, dword [rbp + 0x44c]
mov dword [rbp + 0x40], edx
js 0x1400ac2e5
lea r8, [rbp + 0x44]
mov ecx, dword [rbp + 0x44]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ac2e5
lea r8, [rbp + 0x454]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x40]
test eax, eax
cmovns edx, dword [rbp + 0x454]
mov dword [rbp + 0x40], edx
js 0x1400ac2e5
lea r8, [rbp + 0x44]
mov ecx, dword [rbp + 0x44]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ac2e5
lea r8, [rbp + 0x1b0]
mov edx, 4
mov ecx, edx
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x40]
test eax, eax
cmovns edx, dword [rbp + 0x1b0]
mov dword [rbp + 0x40], edx
js 0x1400ac2e5
lea r8, [rbp + 0x44]
mov ecx, dword [rbp + 0x44]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1b0]
test r14d, r14d
cmovns eax, dword [rbp + 0x44]
jmp 0x1400ac2eb
mov eax, dword [rbp + 0x1b0]
mov dword [rbp - 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400abaea
mov r12d, eax
mov qword [rbp - 0x40], rax
mov esi, eax
mov qword [rbp + 0x310], rax
mov qword [rbp + 0xc8], rax
mov r15d, eax
mov dword [rbp - 0x70], eax
mov r13d, eax
mov qword [rbp + 0xa0], rax
mov dword [rbp + 0xd4], eax
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x38], rax
mov dword [rbp + 0x254], eax
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x4a8], rax
mov dword [rbp + 0xc0], 8
lea r8, [rbp + 0xc0]
mov edx, dword [rbp - 0x7c]
lea ecx, [r13 + 8]
call fcn.140105f88
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400ac46a
mov eax, dword [rbp + 0xc0]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0xc0]
jae 0x1400ac38f
mov r14d, 0xc0000095
jmp 0x1400ac468
mov dword [rbp + 0xc0], 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
xor eax, eax
test rdi, rdi
jne 0x1400ac3c3
mov r14d, 0xc0000017
jmp 0x1400ac46a
mov qword [rbp + 0x1e0], rdi
mov eax, dword [rbp - 0x80]
mov dword [rdi], eax
lea r8, [rbp + 0x1e0]
mov ebx, 4
mov edx, ebx
mov rcx, qword [rbp + 0x1e0]
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ac44f
mov rcx, qword [rbp + 0x1e0]
mov eax, dword [rbp - 0x7c]
mov dword [rcx], eax
lea r8, [rbp + 0x1e0]
mov edx, ebx
mov rcx, qword [rbp + 0x1e0]
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ac44f
mov ecx, dword [rbp + 0xc0]
mov rax, qword [rbp + 0x4a8]
mov qword [rcx + rdi - 8], rax
mov r8d, dword [rbp - 0x7c]
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x1e0]
call sub.msvcrt.dll_memcpy
mov r12, rdi
mov qword [rbp - 0x40], rdi
xor eax, eax
mov edi, eax
mov esi, dword [rbp + 0xc0]
test rdi, rdi
je 0x1400ac468
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ade94
mov qword [rbp + 0x590], rax
mov qword [rbp + 0x690], rax
mov qword [rbp + 0x568], rax
mov qword [rbp + 0x628], rax
mov qword [rbp + 0x3a8], rax
mov qword [rbp + 0x6a0], rax
mov rbx, rax
mov qword [rbp - 0x68], rax
test r12, r12
jne 0x1400ac4bd
mov r14d, 0xc000000d
jmp 0x1400acbfe
mov qword [rbp + 0xb8], rsi
test rsi, rsi
je 0x1400acb49
lea rdi, [rsi + 8]
mov qword [rbp + 0x48], 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 r15, rax
mov qword [rsp + 0x78], rax
xor eax, eax
test r15, r15
je 0x1400acb49
mov dl, al
mov ecx, eax
lea r14d, [rax + 1]
test rsi, rsi
je 0x1400ac515
xor dl, byte [rcx + r12]
add rcx, r14
cmp rcx, rsi
jb 0x1400ac509
mov r9, r12
mov r10, r15
mov r8d, eax
mov dword [rbp - 0x30], eax
or r11d, 0xffffffff
mov dword [rbp - 0x44], r11d
mov r12d, eax
mov rdi, rsi
and edi, 7
je 0x1400ac5f4
mov r11d, eax
test edi, edi
jle 0x1400ac573
mov r8d, 0x38
movzx eax, byte [r9]
cmp r11d, 4
jge 0x1400ac55a
lea ecx, [r8 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400ac562
mov ecx, r8d
shl eax, cl
or r12d, eax
add r9, r14
add r11d, r14d
sub r8d, 8
cmp r11d, edi
jl 0x1400ac545
xor eax, eax
mov r8d, r13d
xor r8d, 0xfd02377a
mov dword [rbp - 0x30], r8d
mov r11d, r12d
xor r11d, 0xb47589d0
mov dword [rbp - 0x44], r11d
xor ecx, ecx
test edi, edi
jle 0x1400ac5bc
cmp eax, 4
jge 0x1400ac5a3
rol r8d, 8
mov byte [r10], r8b
jmp 0x1400ac5aa
rol r11d, 8
mov byte [r10], r11b
add r10, r14
add eax, r14d
cmp eax, edi
jl 0x1400ac595
mov r8d, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x44]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400ac5d9
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x44], r11d
jmp 0x1400ac5f4
mov r11d, ecx
mov dword [rbp - 0x44], ecx
test eax, eax
jns 0x1400ac5f4
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x30], r8d
mov r14, rsi
shr r14, 3
test r14, r14
je 0x1400ac934
lea rbx, [r10 + 7]
lea r15, [r9 + 2]
mov esi, 1
movzx r10d, byte [r15 - 2]
shl r10d, 8
movzx eax, byte [r15 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 1]
or r10d, eax
movzx r9d, byte [r15 + 2]
shl r9d, 8
movzx eax, byte [r15 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 5]
or r9d, eax
xor r11d, r9d
lea r15, [r15 + 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, r13d
mov dword [rbp - 0x30], r8d
xor r11d, r12d
mov dword [rbp - 0x44], r11d
mov byte [rbx - 4], r8b
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x44]
mov byte [rbx], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x30]
mov byte [rbx - 5], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x44]
mov byte [rbx - 1], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x30]
mov byte [rbx - 6], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x44]
mov byte [rbx - 2], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x30]
mov byte [rbx - 7], al
mov al, byte [rbp - 0x44]
mov byte [rbx - 3], al
mov r8d, dword [rbp - 0x30]
ror r8d, 8
mov dword [rbp - 0x30], r8d
mov r11d, dword [rbp - 0x44]
ror r11d, 8
mov dword [rbp - 0x44], r11d
mov r13d, r10d
mov r12d, r9d
lea rbx, [rbx + 8]
sub r14, rsi
jne 0x1400ac611
mov rbx, qword [rbp - 0x68]
mov rsi, qword [rbp + 0xb8]
mov r15, qword [rsp + 0x78]
movzx eax, dl
mov qword [r15 + rsi], rax
mov qword [rbp + 0x3a8], r15
mov rsi, qword [rbp + 0x48]
mov qword [rbp + 0x6a0], rsi
lea rax, [0x14014e4e0]
mov qword [rbp + 0x590], rax
mov r13d, 8
mov qword [rbp + 0x690], r13
lea r14, [0x14014e440]
mov qword [rbp + 0x568], r14
mov qword [rbp + 0x628], 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
xor eax, eax
test rdi, rdi
jne 0x1400ac9ac
mov r14d, 0xc0000017
jmp 0x1400acb31
mov dword [rdi], 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 0x1400ac9d5
mov r14d, 0xc0000017
jmp 0x1400acaad
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, r15
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 0x1400ac9ca
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r14]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r14 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r14 + 0x60]
movups xmmword [rax + 0x60], xmm0
lea edx, [rsi - 0x20]
movups xmm1, xmmword [r14 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r14 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r14 + 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 0x1400ac9ca
mov qword [rdi + 0x28], rax
xor eax, eax
mov r14d, eax
mov rax, qword [rdi + 0x28]
movsd xmm0, qword [0x14014e4e0]
movsd qword [rax], xmm0
mov rbx, rdi
xor eax, eax
mov edi, eax
test rdi, rdi
je 0x1400acb2f
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x1400acad5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 8], rax
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x1400acaf8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x18], rax
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x1400acb1b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov r13, qword [rbp + 0xa0]
test r14d, r14d
js 0x1400acb4f
mov qword [rbp + 0x310], rbx
mov rbx, rax
jmp 0x1400acb4f
mov r14d, 0xc0000001
mov rdi, qword [rbp + 0x3a8]
test rdi, rdi
je 0x1400acb78
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbp + 0x3a8], rax
test rbx, rbx
je 0x1400acbfa
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400acba0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 8], rax
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400acbc3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x18], rax
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400acbe6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15d, dword [rbp - 0x70]
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ade94
mov rbx, qword [rbp + 0x310]
mov esi, dword [rbx + 0x20]
mov edi, dword [rbx + 0x10]
mov edx, dword [rbx]
mov r12d, 4
mov dword [rbp + 0x50], r12d
lea r8, [rbp + 0x50]
mov ecx, r12d
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400acca3
lea r8, [rbp + 0x50]
mov edx, r12d
mov ecx, dword [rbp + 0x50]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400acca3
lea r8, [rbp + 0x50]
mov edx, edi
mov ecx, dword [rbp + 0x50]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400acca3
lea r8, [rbp + 0x50]
mov edx, r12d
mov ecx, dword [rbp + 0x50]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400acca3
lea r8, [rbp + 0x50]
mov edx, esi
mov ecx, dword [rbp + 0x50]
call fcn.140105f88
mov r14d, eax
mov eax, dword [rbp + 0x198]
test r14d, r14d
cmovns eax, dword [rbp + 0x50]
mov dword [rbp + 0x198], eax
jmp 0x1400acca9
mov eax, dword [rbp + 0x198]
test r14d, r14d
js 0x1400acded
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
xor eax, eax
test rdi, rdi
jne 0x1400acce0
mov r14d, 0xc0000017
jmp 0x1400acdef
mov qword [rbp + 0x78], rdi
mov eax, dword [rbx]
mov dword [rdi], eax
lea r8, [rbp + 0x78]
mov rdx, r12
mov rcx, qword [rbp + 0x78]
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400acdd4
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbp + 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx]
lea r8, [rbp + 0x78]
mov rcx, qword [rbp + 0x78]
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400acdd4
mov ecx, dword [rbx + 0x10]
mov rax, qword [rbp + 0x78]
mov dword [rax], ecx
lea r8, [rbp + 0x78]
mov rdx, r12
mov rcx, qword [rbp + 0x78]
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400acdd4
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbp + 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x10]
lea r8, [rbp + 0x78]
mov rcx, qword [rbp + 0x78]
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400acdd4
mov ecx, dword [rbx + 0x20]
mov rax, qword [rbp + 0x78]
mov dword [rax], ecx
lea r8, [rbp + 0x78]
mov rdx, r12
mov rcx, qword [rbp + 0x78]
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400acdd4
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rbp + 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x20]
lea r8, [rbp + 0x78]
mov rcx, qword [rbp + 0x78]
call fcn.140105fa8
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400acdd4
mov qword [rbp + 0xc8], rdi
mov edi, eax
mov r15d, dword [rbp + 0x198]
test rdi, rdi
je 0x1400acded
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov edi, 0x10000000
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400ade94
mov qword [rbp + 0x578], rax
mov dword [rbp + 0x240], eax
mov qword [rbp + 0x638], rax
mov dword [rbp + 0x288], eax
mov dword [rbp + 0x174], 8
lea r8, [rbp + 0x174]
mov edx, dword [rbp - 0x60]
mov ecx, 8
call fcn.140105f88
mov r14d, eax
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400ad10b
mov eax, dword [rbp + 0x174]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x174]
jae 0x1400ace6d
mov r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
jmp 0x1400acea3
mov dword [rbp + 0x210], eax
lea r8, [rbp + 0x210]
mov edx, 8
mov ecx, eax
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x268]
test r14d, r14d
cmovns eax, dword [rbp + 0x210]
mov dword [rbp + 0x268], eax
xor eax, eax
test r14d, r14d
js 0x1400ad10d
lea esi, [rax + 1]
cmp qword [rbp - 0x78], rax
jne 0x1400acec7
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400ad112
cmp dword [rbp - 0x80], esi
jbe 0x1400aceb7
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x150], rcx
mov edi, eax
mov ebx, dword [rcx]
lea r8, [rbp + 0x150]
mov rdx, r12
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400acf86
mov edx, ebx
lea r8, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400acf86
add edi, esi
mov rcx, qword [rbp + 0x150]
cmp edi, esi
jb 0x1400aced9
mov edi, dword [rcx]
lea r8, [rbp + 0x150]
mov rdx, r12
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400acf86
mov dword [rbp + 0x240], edi
mov rax, qword [rbp + 0x150]
xor ecx, ecx
test edi, edi
cmove rax, rcx
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x578], rax
xor eax, eax
test r14d, r14d
js 0x1400acf86
cmp qword [rbp - 0x78], rax
jne 0x1400acf8d
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
xor eax, eax
jmp 0x1400ad112
cmp dword [rbp - 0x80], 2
jbe 0x1400acf7b
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x140], rcx
mov edi, eax
mov ebx, dword [rcx]
lea r8, [rbp + 0x140]
mov rdx, r12
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ad02b
mov edx, ebx
lea r8, [rbp + 0x140]
mov rcx, qword [rbp + 0x140]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ad02b
add edi, esi
mov rcx, qword [rbp + 0x140]
cmp edi, 2
jb 0x1400acfa0
mov edi, dword [rcx]
lea r8, [rbp + 0x140]
mov rdx, r12
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ad02b
mov dword [rbp + 0x288], edi
mov rax, qword [rbp + 0x140]
xor ecx, ecx
test edi, edi
cmove rax, rcx
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x638], rax
jmp 0x1400ad031
mov edi, dword [rbp + 0x288]
xor eax, eax
test r14d, r14d
js 0x1400ade96
mov ebx, dword [rbp + 0x240]
mov dword [rbp + 0x54], r12d
lea r8, [rbp + 0x54]
mov edx, dword [rbp + 0x268]
mov ecx, r12d
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ad0da
lea r8, [rbp + 0x54]
mov edx, r12d
mov ecx, dword [rbp + 0x54]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ad0da
lea r8, [rbp + 0x54]
mov edx, ebx
mov ecx, dword [rbp + 0x54]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ad0da
lea r8, [rbp + 0x54]
mov edx, r12d
mov ecx, dword [rbp + 0x54]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ad0da
lea r8, [rbp + 0x54]
mov edx, edi
mov ecx, dword [rbp + 0x54]
call fcn.140105f88
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x278]
test r14d, r14d
cmovns eax, dword [rbp + 0x54]
mov dword [rbp + 0x278], eax
jmp 0x1400ad0e0
mov eax, dword [rbp + 0x278]
test r14d, r14d
js 0x1400acf86
cmp eax, 0x400000
jbe 0x1400ad100
mov r14d, 0x8000ffff
mov dword [rsp + 0x60], r14d
jmp 0x1400ade94
mov dword [rbp + 0xd4], eax
jmp 0x1400acf86
xor eax, eax
mov esi, 1
test r14d, r14d
js 0x1400ade96
mov r14d, eax
mov edi, dword [rbp + 0xd4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor edi, edi
test rax, rax
jne 0x1400ad14a
mov r14d, 0xc0000017
jmp 0x1400ad154
mov r13, rax
mov qword [rbp + 0xa0], rax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ade94
mov rax, qword [rbp + 0xc8]
test rax, rax
jne 0x1400ad17d
mov r14d, 0x80070057
jmp 0x1400ad0f6
test r13, r13
je 0x1400ad172
mov qword [rbp + 0x6c8], rax
mov dword [rbp + 0x6d8], r15d
mov qword [rbp + 0x6d0], r13
mov eax, dword [rbp + 0xd4]
mov dword [rbp + 0x6dc], eax
mov dword [rbp + 0x6e0], edi
lea r8, [rbp + 0x648]
lea rdx, [0x14012c838]
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400ad1ec
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400ad247
mov r14d, 0x80004005
jmp 0x1400ad242
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x648]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x1400ad1c3
mov rcx, rax
call qword [fcn.140009050]
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x6c8]
lea ecx, [r8 + 0x66]
call rdi
mov r14d, eax
or r14d, 0x10000000
mov eax, dword [rbp + 0xd4]
cmovns eax, dword [rbp + 0x6dc]
mov dword [rbp + 0xd4], eax
mov dword [rsp + 0x60], r14d
xor eax, eax
cmp r14d, 0xd0000023
jne 0x1400ad265
mov r13d, 0x8007007a
mov r14d, r13d
mov dword [rsp + 0x60], r13d
jmp 0x1400ade9c
test r14d, r14d
js 0x1400ade96
mov edi, dword [rbp + 0xd4]
mov rbx, rax
mov dword [rbp - 0x4c], eax
mov qword [rbp + 0xf8], r13
cmp edi, r12d
jae 0x1400ad291
mov r14d, 0xc000003e
jmp 0x1400ad694
mov r12d, dword [r13]
lea r8, [rbp + 0xf8]
mov edx, 4
mov rcx, r13
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ad692
lea r8, [rbp - 0x4c]
mov r13d, 4
mov edx, r13d
mov ecx, dword [rbp - 0x4c]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400ad692
mov eax, edi
sub eax, dword [rbp - 0x4c]
cmp eax, r12d
jae 0x1400ad2e9
mov r14d, 0xc000003e
jmp 0x1400ad692
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xb8], rax
lea r8, [rbp + 0xf8]
mov rdx, r12
mov rcx, rax
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ad692
lea r8, [rbp - 0x4c]
mov edx, r12d
mov ecx, dword [rbp - 0x4c]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400ad692
mov eax, edi
sub eax, dword [rbp - 0x4c]
cmp eax, r13d
jb 0x1400ad2de
mov rcx, qword [rbp + 0xf8]
mov r15d, dword [rcx]
lea r8, [rbp + 0xf8]
mov rdx, r13
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ad692
lea r8, [rbp - 0x4c]
mov edx, r13d
mov ecx, dword [rbp - 0x4c]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400ad692
mov eax, edi
sub eax, dword [rbp - 0x4c]
cmp eax, r15d
jb 0x1400ad2de
mov r13, qword [rbp + 0xf8]
lea r8, [rbp + 0xf8]
mov edx, r15d
mov rcx, r13
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ad692
lea r8, [rbp - 0x4c]
mov edx, r15d
mov ecx, dword [rbp - 0x4c]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400ad692
mov eax, edi
sub eax, dword [rbp - 0x4c]
cmp eax, 4
jb 0x1400ad2de
mov rcx, qword [rbp + 0xf8]
mov esi, dword [rcx]
lea r8, [rbp + 0xf8]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400ad694
lea r8, [rbp - 0x4c]
lea edx, [rax + 4]
mov ecx, dword [rbp - 0x4c]
call fcn.140105f88
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400ad694
mov eax, edi
mov ecx, dword [rbp - 0x4c]
sub eax, ecx
cmp eax, esi
jb 0x1400ad2de
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x70], rax
lea r8, [rbp - 0x4c]
mov edx, esi
call fcn.140105f88
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400ad694
cmp edi, dword [rbp - 0x4c]
jne 0x1400ad286
lea ecx, [rsi + r15]
add ecx, r12d
add rcx, 0xc
cmp rcx, rdi
jne 0x1400ad286
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
xor eax, eax
test rdi, rdi
jne 0x1400ad495
mov r14d, 0xc0000017
xor r12d, r12d
jmp 0x1400ad60a
mov r14d, eax
cmp qword [rbp + 0xb8], rax
je 0x1400ad4eb
mov dword [rdi], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
test rax, rax
jne 0x1400ad4d0
mov r14d, 0xc0000017
xor r12d, r12d
jmp 0x1400ad58e
mov qword [rdi + 8], rax
mov r8, r12
mov rdx, qword [rbp + 0xb8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r12d, r12d
jmp 0x1400ad4f5
xor r12d, r12d
mov dword [rdi], r12d
mov qword [rdi + 8], r12
test r13, r13
je 0x1400ad539
mov dword [rdi + 0x10], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400ad522
mov r14d, 0xc0000017
jmp 0x1400ad58e
mov qword [rdi + 0x18], rax
mov r14d, r12d
mov r8, r15
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400ad541
mov dword [rdi + 0x10], r12d
mov qword [rdi + 0x18], r12
mov r15, qword [rbp - 0x70]
test r15, r15
je 0x1400ad580
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 0x1400ad51a
mov qword [rdi + 0x28], rax
mov r14d, r12d
mov r8, rsi
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400ad588
mov dword [rdi + 0x20], r12d
mov qword [rdi + 0x28], r12
mov rbx, rdi
mov rdi, r12
test rdi, rdi
je 0x1400ad60a
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x1400ad5b4
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], r12
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x1400ad5d5
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], r12
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x1400ad5f6
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], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x1400ad616
mov qword [rbp - 0x20], rbx
mov rbx, r12
test rbx, rbx
je 0x1400ad692
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400ad63c
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], r12
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400ad65d
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], r12
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400ad67e
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], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ade94
mov rdi, rax
mov qword [rbp + 0x1d0], rax
mov qword [rbp + 0x4f8], rax
mov r14d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x20]
xor r12d, r12d
test rax, rax
jne 0x1400ad6d5
mov r14d, 0xc000000d
jmp 0x1400adc07
mov rbx, qword [rax + 8]
mov qword [rbp - 0x70], rbx
test rbx, rbx
je 0x1400ad6ca
cmp dword [rax], r12d
je 0x1400ad6ca
mov esi, dword [rax]
test rsi, rsi
je 0x1400adbe1
add rsi, 0xfffffffffffffff8
mov qword [rbp - 0x68], 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 r15, rax
mov qword [rbp + 0xb8], rax
test rax, rax
je 0x1400adbda
mov dl, r12b
mov byte [rsp + 0x64], dl
mov r8, rbx
mov r9, rax
mov rdi, rsi
mov ebx, r12d
mov r11d, r12d
and edi, 7
je 0x1400ad809
mov dword [rbp - 0x38], r12d
or dword [rbp - 0x58], 0xffffffff
mov r13d, r12d
mov dword [rbp - 0x60], ebx
test edi, edi
jle 0x1400ad78d
mov r10d, 0x38
movzx eax, byte [r8]
cmp r11d, 4
jge 0x1400ad76c
lea ecx, [r10 - 0x20]
shl eax, cl
or ebx, eax
jmp 0x1400ad774
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 0x1400ad758
mov dword [rbp - 0x60], ebx
jmp 0x1400ad792
mov ecx, 1
xor ebx, 0x5c3fcbda
mov dword [rbp - 0x38], ebx
mov r11d, r13d
xor r11d, 0x66fa8c2b
mov dword [rbp - 0x58], r11d
mov eax, r12d
test edi, edi
jle 0x1400ad7d4
cmp eax, 4
jge 0x1400ad7bd
rol ebx, 8
mov byte [r9], bl
jmp 0x1400ad7c4
rol r11d, 8
mov byte [r9], r11b
add r9, rcx
add eax, ecx
cmp eax, edi
jl 0x1400ad7b0
mov ebx, dword [rbp - 0x38]
mov r11d, dword [rbp - 0x58]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400ad7f1
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x58], r11d
jmp 0x1400ad818
mov r11d, r12d
mov dword [rbp - 0x58], r12d
test eax, eax
jns 0x1400ad818
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
jmp 0x1400ad815
mov dword [rbp - 0x60], r12d
or r13d, 0xffffffff
mov dword [rbp - 0x58], r12d
mov dword [rbp - 0x38], ebx
mov r12, rsi
shr r12, 3
test r12, r12
je 0x1400adb4c
lea r15, [r9 + 7]
lea rsi, [r8 + 2]
mov edx, dword [rbp - 0x60]
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 ebx, r10d
xor r11d, r9d
lea rsi, [rsi + 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, edx
xor r8d, ecx
mov dword [rbp - 0x38], r8d
xor r11d, r13d
mov dword [rbp - 0x58], r11d
mov byte [r15 - 4], r8b
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x58]
mov byte [r15], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x38]
mov byte [r15 - 5], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x58]
mov byte [r15 - 1], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x38]
mov byte [r15 - 6], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x58]
mov byte [r15 - 2], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x38]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x58]
mov byte [r15 - 3], al
mov ebx, dword [rbp - 0x38]
ror ebx, 8
mov dword [rbp - 0x38], ebx
mov r11d, dword [rbp - 0x58]
ror r11d, 8
mov dword [rbp - 0x58], r11d
mov edx, r10d
mov r13d, r9d
lea r15, [r15 + 8]
sub r12, r14
jne 0x1400ad839
mov dl, byte [rsp + 0x64]
mov r14d, dword [rsp + 0x60]
mov rsi, qword [rbp - 0x68]
mov r15, qword [rbp + 0xb8]
xor r12d, r12d
mov eax, r12d
test rsi, rsi
je 0x1400adb68
lea ecx, [r12 + 1]
xor dl, byte [rax + r15]
add rax, rcx
cmp rax, rsi
jb 0x1400adb5c
movzx eax, dl
mov rcx, qword [rbp - 0x70]
cmp rax, qword [rsi + rcx]
je 0x1400adb83
mov ebx, 0xc004d501
mov rdi, qword [rbp + 0x1d0]
jmp 0x1400adb9a
mov rdi, r15
mov qword [rbp + 0x1d0], r15
mov r15, r12
mov qword [rbp + 0x4f8], rsi
mov ebx, r12d
test r15, r15
je 0x1400adbba
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x1d0]
test ebx, ebx
js 0x1400adbe1
mov qword [rbp + 0x38], rdi
mov rdi, r12
mov qword [rbp + 0x1d0], r12
mov eax, dword [rbp + 0x4f8]
mov dword [rbp + 0x254], eax
jmp 0x1400adbe7
mov rdi, qword [rbp + 0x1d0]
mov r14d, 0xc0000001
test rdi, rdi
je 0x1400adc07
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 + 0x1d0], r12
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400ade94
mov ebx, dword [rbp + 0x254]
mov dword [rbp + 0x98], r12d
mov r12, qword [rbp + 0x38]
mov qword [rbp + 0x2f0], r12
mov esi, 4
cmp ebx, esi
jb 0x1400ade84
mov eax, dword [r12]
mov dword [rsp + 0x78], eax
lea r8, [rbp + 0x2f0]
mov edx, esi
mov rcx, r12
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ade8a
lea r8, [rbp + 0x98]
mov edx, esi
mov ecx, dword [rbp + 0x98]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400ade8a
mov eax, ebx
sub eax, dword [rbp + 0x98]
cmp eax, esi
jb 0x1400ade84
mov rcx, qword [rbp + 0x2f0]
mov r15d, dword [rcx]
lea r8, [rbp + 0x2f0]
mov edx, esi
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ade8a
lea r8, [rbp + 0x98]
mov edx, esi
mov ecx, dword [rbp + 0x98]
call fcn.140105f88
mov r14d, eax
test eax, eax
js 0x1400ade8a
mov eax, ebx
mov ecx, dword [rbp + 0x98]
sub eax, ecx
cmp eax, r15d
jb 0x1400ade84
mov rdi, qword [rbp + 0x2f0]
lea r8, [rbp + 0x98]
mov edx, r15d
call fcn.140105f88
mov r14d, eax
xor r8d, r8d
test eax, eax
js 0x1400ade8a
lea rcx, [r12 + rbx]
lea rax, [r15 + rdi]
cmp rcx, rax
jb 0x1400ade84
mov rax, r12
sub rax, r15
sub rax, rdi
add rax, rbx
cmp rax, 8
jae 0x1400ade84
mov r12d, r8d
mov r14d, r8d
mov r13d, r8d
test rdi, rdi
je 0x1400ade19
mov rbx, rdi
lea r8, [rbp + 0x3b8]
mov edx, r15d
mov rcx, rdi
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ade73
mov rax, qword [rbp + 0x3b8]
cmp rdi, rax
jae 0x1400ade14
lea r8, [rbp + 0x5e8]
mov rdx, rsi
mov rcx, rbx
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ade73
mov rax, qword [rbp + 0x3b8]
cmp qword [rbp + 0x5e8], rax
ja 0x1400ade0c
lea r8, [rbp + 0x32c]
mov edx, dword [rbx]
mov ecx, esi
call fcn.140105f88
mov r14d, eax
mov eax, dword [rbp + 0x3d0]
test r14d, r14d
cmovns eax, dword [rbp + 0x32c]
mov dword [rbp + 0x3d0], eax
js 0x1400ade8a
mov edx, eax
lea r8, [rbp + 0x620]
mov rcx, rbx
call fcn.140105fa8
mov r14d, eax
test eax, eax
js 0x1400ade73
mov rbx, qword [rbp + 0x620]
mov rax, qword [rbp + 0x3b8]
cmp rbx, rax
ja 0x1400ade0c
inc r13d
cmp rbx, rax
jb 0x1400add73
jmp 0x1400ade14
mov r14d, 0xc000000d
jmp 0x1400ade8a
cmp rbx, rax
jne 0x1400ade0c
test r15d, r15d
je 0x1400ade4b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
xor r8d, r8d
test rax, rax
jne 0x1400ade48
mov r14d, 0xc0000017
jmp 0x1400ade73
mov r14d, r8d
test rdi, rdi
je 0x1400ade5e
mov r8, r15
mov rdx, rdi
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xb0], r12
mov dword [rbp + 0xac], r15d
mov dword [rbp + 0xa8], r13d
test r14d, r14d
js 0x1400ade8a
mov eax, dword [rsp + 0x78]
cmp eax, dword [rbp + 0xa8]
je 0x1400ade8a
mov r14d, 0xc000003e
bts r14d, 0x1c
jmp 0x1400ad0f6
xor eax, eax
mov r13d, 0x8007007a
mov rdi, qword [rbp - 0x40]
test rdi, rdi
je 0x1400adebb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rbx, qword [rbp + 0x310]
test rbx, rbx
je 0x1400adf51
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400adeee
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 8], rax
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400adf11
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x18], rax
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400adf34
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbp + 0x310], rax
mov rdi, qword [rbp + 0xc8]
test rdi, rdi
je 0x1400adf73
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rdi, qword [rbp + 0xa0]
test rdi, rdi
je 0x1400adf95
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x1400ae01d
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400adfc1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 8], rax
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400adfe4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x18], rax
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400ae007
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rdi, qword [rbp + 0x38]
test rdi, rdi
je 0x1400ae03c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov r12d, 1
test r14d, r14d
js 0x1400ae637
cmp dword [rbp + 0xa8], r12d
jae 0x1400ae064
mov r14d, 0xc004d501
mov dword [rsp + 0x60], r14d
jmp 0x1400ae637
cmp qword [rbp + 0xb0], rax
jne 0x1400ae080
mov r15d, 0xc000000d
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400ae10e
cmp dword [rbp + 0xa8], eax
jbe 0x1400ae06d
mov rdi, qword [rbp + 0xb0]
mov qword [rbp + 0x3c8], rdi
mov ebx, dword [rdi]
lea r8, [rbp + 0x3c8]
mov edx, 4
mov rcx, rdi
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
xor ecx, ecx
test eax, eax
js 0x1400ae0dc
mov dword [rbp + 0x334], ebx
mov rax, qword [rbp + 0x3c8]
test ebx, ebx
cmove rax, rcx
mov qword [rbp + 0x3c8], rax
mov qword [rbp + 0x5a0], rax
jmp 0x1400ae0e9
mov ebx, dword [rbp + 0x334]
mov rax, qword [rbp + 0x5a0]
test r14d, r14d
js 0x1400ae106
cmp ebx, 4
je 0x1400ae0fe
mov r14d, 0xc0000023
jmp 0x1400ae05a
mov eax, dword [rax]
mov dword [rbp + 0x108], eax
mov r15d, 0xc000000d
xor eax, eax
test r14d, r14d
js 0x1400ae637
mov r14d, dword [rbp + 0x108]
cmp r14d, 0xd0000023
cmove r14d, r13d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0x108], r14d
cmp r14d, r13d
je 0x1400ae143
test r14d, r14d
js 0x1400ae637
cmp dword [rbp + 0xa8], 6
jne 0x1400ae054
cmp qword [rbp + 0xb0], rax
jne 0x1400ae166
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400ae22d
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x118], rcx
mov edi, eax
xor esi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x118]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae206
mov edx, ebx
lea r8, [rbp + 0x118]
mov rcx, qword [rbp + 0x118]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae206
add edi, r12d
mov rcx, qword [rbp + 0x118]
cmp edi, r12d
jb 0x1400ae178
mov edi, dword [rcx]
lea r8, [rbp + 0x118]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae206
mov dword [rbp + 0x458], edi
mov rax, qword [rbp + 0x118]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x698], rax
jmp 0x1400ae213
mov edi, dword [rbp + 0x458]
mov rax, qword [rbp + 0x698]
test r14d, r14d
js 0x1400ae22b
cmp edi, 8
jne 0x1400ae0f3
mov rax, qword [rax]
mov qword [rbp + 0x668], rax
xor eax, eax
test r14d, r14d
js 0x1400ae637
cmp qword [rbp + 0xb0], rax
jne 0x1400ae24c
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400ae31a
cmp dword [rbp + 0xa8], 2
jbe 0x1400ae23f
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x128], rcx
mov edi, eax
xor esi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x128]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae2f5
mov edx, ebx
lea r8, [rbp + 0x128]
mov rcx, qword [rbp + 0x128]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae2f5
add edi, r12d
mov rcx, qword [rbp + 0x128]
cmp edi, 2
jb 0x1400ae267
mov edi, dword [rcx]
lea r8, [rbp + 0x128]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae2f5
mov dword [rbp + 0x33c], edi
mov rax, qword [rbp + 0x128]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x5b0], rax
jmp 0x1400ae302
mov edi, dword [rbp + 0x33c]
mov rax, qword [rbp + 0x5b0]
test r14d, r14d
js 0x1400ae318
cmp edi, 4
jne 0x1400ae0f3
mov eax, dword [rax]
mov dword [rbp + 0x410], eax
xor eax, eax
test r14d, r14d
js 0x1400ae637
cmp qword [rbp + 0xb0], rax
jne 0x1400ae339
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400ae637
cmp dword [rbp + 0xa8], 3
jbe 0x1400ae32c
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x138], rcx
mov edi, eax
xor esi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x138]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae3e0
mov edx, ebx
lea r8, [rbp + 0x138]
mov rcx, qword [rbp + 0x138]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae3e0
add edi, r12d
mov rcx, qword [rbp + 0x138]
cmp edi, 3
jb 0x1400ae354
mov edi, dword [rcx]
lea r8, [rbp + 0x138]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae3e0
mov dword [rbp + 0x200], edi
mov rax, qword [rbp + 0x138]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x5d0], rax
test r14d, r14d
js 0x1400ae637
cmp qword [rbp + 0xb0], rsi
jne 0x1400ae3ff
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400ae4cd
cmp dword [rbp + 0xa8], 4
jbe 0x1400ae3f2
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x148], rcx
mov edi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x148]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae4a6
mov edx, ebx
lea r8, [rbp + 0x148]
mov rcx, qword [rbp + 0x148]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae4a6
add edi, r12d
mov rcx, qword [rbp + 0x148]
cmp edi, 4
jb 0x1400ae418
mov edi, dword [rcx]
lea r8, [rbp + 0x148]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae4a6
mov dword [rbp + 0x344], edi
mov rax, qword [rbp + 0x148]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x630], rax
jmp 0x1400ae4b3
mov edi, dword [rbp + 0x344]
mov rax, qword [rbp + 0x630]
test r14d, r14d
js 0x1400ae637
cmp edi, 4
jne 0x1400ae0f3
mov eax, dword [rax]
mov dword [rbp + 0x354], eax
test r14d, r14d
js 0x1400ae637
cmp qword [rbp + 0xb0], rsi
jne 0x1400ae4ec
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400ae5ba
cmp dword [rbp + 0xa8], 5
jbe 0x1400ae4df
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x158], rcx
mov edi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x158]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae593
mov edx, ebx
lea r8, [rbp + 0x158]
mov rcx, qword [rbp + 0x158]
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae593
add edi, r12d
mov rcx, qword [rbp + 0x158]
cmp edi, 5
jb 0x1400ae505
mov edi, dword [rcx]
lea r8, [rbp + 0x158]
mov edx, 4
call fcn.140105fa8
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400ae593
mov dword [rbp + 0x34c], edi
mov rax, qword [rbp + 0x158]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x5c0], rax
jmp 0x1400ae5a0
mov edi, dword [rbp + 0x34c]
mov rax, qword [rbp + 0x5c0]
test r14d, r14d
js 0x1400ae637
cmp edi, 4
jne 0x1400ae0f3
mov eax, dword [rax]
mov dword [rbp + 0x28c], eax
test r14d, r14d
js 0x1400ae637
mov rax, qword [rbp + 0x668]
cmp qword [rbp + 0x4b8], rax
jne 0x1400ae054
mov ecx, dword [rbp + 0x354]
mov dword [rbp + 0x17c], ecx
mov eax, dword [rbp + 0x28c]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x410]
mov dword [rbp + 0x258], eax
cmp ecx, 4
jbe 0x1400ae606
mov r14d, r13d
mov dword [rsp + 0x60], r13d
jmp 0x1400ae637
cmp dword [rbp + 0x200], 4
ja 0x1400ae5fc
mov r8d, dword [rbp + 0x200]
mov rdx, qword [rbp + 0x5d0]
mov rcx, qword [rbp + 0x68]
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0x108]
test eax, eax
cmovne r14d, eax
jmp 0x1400ae05a
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov qword [rbp - 0x80], 0
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x1400ae66c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp + 0xa8], 0
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x1400ae6a0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbp + 0xb0], rax
test rsi, rsi
je 0x1400ae6b9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x1400ae6d2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x1400b54aa
mov edi, dword [rbp + 0x84]
test edi, edi
je 0x1400b547e
lea rcx, [rbp + 0x678]
call fcn.140105f10
mov dword [0x14014f868], edi
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0x11f0]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r15d, r15d
test eax, eax
je 0x1400b2edc
cmp eax, edi
jne 0x1400ae735
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400b2edc
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 + 0xa0], rax
test rax, rax
jne 0x1400ae768
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400b2edc
mov rdi, qword [0x14014dc68]
mov rcx, rdi
call qword [fcn.140009050]
call rdi
mov qword [0x140151220], rax
mov edi, dword [0x14014f868]
mov dword [rbp - 0x70], edi
mov dword [rbp + 0x7c0], r15d
xor edx, edx
lea r8d, [rdx + 0x6c]
lea rcx, [rbp + 0x7c4]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc20], xmm0
mov dword [rbp + 0x25c], r12d
mov qword [rbp + 0x38], r15
mov qword [rbp + 0xb8], r15
mov dword [rbp + 0xce0], r15d
xor edx, edx
lea r8d, [rdx + 0x28]
lea rcx, [rbp + 0xce4]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xc8], r15
xor eax, eax
lock cmpxchg dword [0x140151218], r12d
jne 0x1400ae7e0
mov eax, dword [0x140151228]
test eax, eax
jne 0x1400aedb8
mov dword [rbp - 0x60], r15d
mov dword [rsp + 0x68], r15d
mov qword [rbp + 0x2e0], r15
mov qword [rbp + 0x538], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
mov qword [rbp - 0x68], rax
xor eax, eax
test r15, r15
je 0x1400aed30
mov ecx, eax
or dword [rsp + 0x78], 0xffffffff
mov ebx, eax
mov dword [rbp + 0xc], eax
mov r13d, eax
mov dword [rbp + 0x18], eax
lea rdi, [r15 + 7]
lea rsi, [0x14012e742]
lea r12d, [rax + 0x67]
mov r15d, dword [rsp + 0x78]
lea r14d, [rax + 1]
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 r13d, r11d
xor ebx, r10d
lea rsi, [rsi + 8]
xor ebx, r13d
xor ebx, 0x695ad232
lea eax, [rbx + 0x3098fb05]
rol eax, 5
mov edx, ebx
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x59c22937]
ror eax, 9
mov edx, r13d
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 r13d, edx
mov eax, r13d
xor eax, 0xcf67
rol eax, 6
mov edx, r13d
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 r13d, eax
mov r8d, r13d
ror r8d, 6
mov eax, r13d
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 r13d, edx
lea eax, [r13 + 0x3098fb05]
ror eax, 0xe
mov edx, r13d
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 r13d, edx
mov eax, r13d
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, r13d
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 r13d, eax
mov edx, ebx
xor edx, r9d
mov r8d, 0xa63dd6c9
mov eax, r8d
sub eax, edx
xor r13d, eax
lea eax, [r13 - 0x3098fb05]
rol eax, 3
mov edx, r13d
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 r13d, eax
xor ebx, r13d
xor ebx, 0x695ad232
lea r9d, [rbx - 0x4fb]
xor r9d, r13d
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 r13d, 0xa63d
xor eax, r13d
imul edx, eax, 0xd6c9
sub edx, r8d
xor r9d, edx
mov eax, r9d
xor eax, r13d
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, r13d
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, ecx
xor r9d, edx
mov dword [rbp + 0x18], r9d
xor ebx, r15d
mov dword [rbp + 0xc], ebx
mov byte [rdi - 4], r9b
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0xc]
mov byte [rdi], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x18]
mov byte [rdi - 5], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0xc]
mov byte [rdi - 1], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x18]
mov byte [rdi - 6], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp + 0xc]
mov byte [rdi - 2], al
ror dword [rbp + 0xc], 8
mov al, byte [rbp + 0x18]
mov byte [rdi - 7], al
mov al, byte [rbp + 0xc]
mov byte [rdi - 3], al
mov r13d, dword [rbp + 0x18]
ror r13d, 8
mov dword [rbp + 0x18], r13d
mov ebx, dword [rbp + 0xc]
ror ebx, 8
mov dword [rbp + 0xc], ebx
mov ecx, r11d
mov r15d, r10d
lea rdi, [rdi + 8]
sub r12, r14
jne 0x1400ae865
xor r13d, r13d
mov eax, r13d
mov cl, al
mov edi, dword [rbp - 0x70]
mov r14d, dword [rsp + 0x60]
mov esi, eax
mov r15, qword [rbp - 0x68]
mov r12d, eax
mov edx, 0x338
lea r8d, [r13 + 1]
xor cl, byte [rax + r15]
add rax, r8
cmp rax, rdx
jb 0x1400aeb80
movzx eax, cl
cmp rax, qword [0x14012ea78]
je 0x1400aeba0
mov r12d, 0xc004d501
jmp 0x1400aebb1
mov qword [rbp + 0x2e0], r15
mov r15, r13
mov qword [rbp + 0x538], rdx
test r15, r15
je 0x1400aebca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x1400aed30
mov rbx, qword [rbp + 0x2e0]
mov rax, qword [rbp + 0x538]
mov byte [rax + rbx - 1], r13b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r15, [0x14014f870]
mov rcx, r15
call sub.msvcrt.dll_memset
xor r8d, r8d
jmp 0x1400aed25
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r8w
jne 0x1400aec0a
lea rbx, [rbx + rax*2]
mov eax, dword [rsp + 0x68]
lea rcx, [rax + rax*2]
lea r15, [r15 + rcx*8]
mov r8, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
xor r8d, r8d
test eax, eax
je 0x1400aed30
mov esi, r8d
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400aec66
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400aec66
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x1400aec66
cmp dword [rcx], 0x4550
je 0x1400aec6d
mov esi, 0xc000007b
jmp 0x1400aec9c
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400aec8a
mov esi, 0xc000000d
jmp 0x1400aec9c
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov r13d, dword [rbx + 2]
add rbx, 6
mov r12d, r8d
test r13d, r13d
je 0x1400aed15
mov qword [rbp + 0x4c8], r8
mov rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r8b
jne 0x1400aecba
inc rbx
add rbx, rax
test esi, esi
js 0x1400aecfe
lea r9, [rbp + 0x4c8]
mov r8, r15
xor edx, edx
call fcn.140105cfc
mov esi, eax
xor r8d, r8d
test eax, eax
js 0x1400aed35
mov eax, dword [rbp - 0x60]
mov rcx, qword [rbp + 0x4c8]
lea r9, [0x14014dbd0]
mov qword [r9 + rax*8], rcx
jmp 0x1400aed01
mov eax, dword [rbp - 0x60]
mov ecx, 1
add eax, ecx
mov dword [rbp - 0x60], eax
add r12d, ecx
cmp r12d, r13d
jb 0x1400aecac
jmp 0x1400aed1a
mov ecx, 1
add dword [rsp + 0x68], ecx
lea r15, [0x14014f870]
cmp byte [rbx], r8b
jne 0x1400aec03
jmp 0x1400aed35
mov esi, 0xc000007a
xor r15d, r15d
cmp qword [rbp + 0x2e0], r15
je 0x1400aed59
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x2e0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, 1
test esi, esi
jns 0x1400aedb2
lea r13, [0x14014f870]
mov rbx, r13
lea esi, [r12 + 3]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400aed80
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub rsi, r12
jne 0x1400aed72
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
jmp 0x1400aedc1
mov eax, dword [0x140151228]
add eax, r12d
mov dword [0x140151228], eax
mov eax, r15d
xchg dword [0x140151218], eax
xor ecx, ecx
mov dword [rbp + 0x1132], ecx
mov dword [rbp - 0x28], r15d
mov dword [rbp + 0x14], r15d
lea rcx, [rbp + 0x3e8]
call fcn.140105f10
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc30], xmm0
mov qword [rbp - 0x20], r15
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xc58], xmm1
xor eax, eax
lock cmpxchg dword [0x140151218], r12d
jne 0x1400aee00
mov eax, dword [0x140151228]
test eax, eax
jne 0x1400af40b
mov dword [rbp - 0x60], r15d
mov dword [rbp + 0x48], r15d
mov dword [rsp + 0x68], r15d
mov qword [rbp + 0x2e8], r15
mov qword [rbp + 0x508], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x1400af386
mov byte [rsp + 0x64], r15b
mov ecx, r15d
or dword [rsp + 0x78], 0xffffffff
mov dword [rbp + 4], r15d
xor eax, eax
mov r13d, eax
mov dword [rbp + 0x20], eax
lea rdi, [rbx + 7]
lea rsi, [0x14012e742]
lea r12d, [rax + 0x67]
mov ebx, dword [rsp + 0x78]
lea r14d, [rax + 1]
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 r13d, r11d
xor r15d, r10d
lea rsi, [rsi + 8]
xor r15d, r13d
xor r15d, 0x695ad232
lea eax, [r15 + 0x3098fb05]
rol eax, 5
mov edx, r15d
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x59c22937]
ror eax, 9
mov edx, r13d
rol edx, 2
imul eax, eax, 0xcf67
sub eax, edx
xor r15d, eax
lea eax, [r15 - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, r15d
shr eax, 0xd
sub edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0xcf67
rol eax, 6
mov edx, r13d
rol edx, 2
imul eax, eax, 0xa63d
sub eax, edx
xor r15d, eax
mov edx, r15d
mov r9d, 0xcf6704fb
xor edx, r9d
mov eax, 0xa63dd6c9
sub eax, edx
xor r13d, eax
mov r8d, r13d
ror r8d, 6
mov eax, r13d
xor eax, 0xd6c9
imul edx, eax, 0xcf67
xor r8d, edx
xor r15d, r8d
lea eax, [r15 - 0x59c22937]
ror eax, 0xf
mov edx, r15d
rol edx, 2
imul eax, eax, 0x4fb
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x3098fb05]
ror eax, 0xe
mov edx, r13d
rol edx, 8
imul eax, eax, 0xa63d
sub eax, edx
xor r15d, eax
mov eax, r15d
xor eax, r9d
ror eax, 0xc
mov edx, r15d
ror edx, 0xa
imul eax, eax, 0xd6c9
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor r15d, edx
mov eax, r15d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor r13d, eax
mov edx, r15d
xor edx, r9d
mov r8d, 0xa63dd6c9
mov eax, r8d
sub eax, edx
xor r13d, eax
lea eax, [r13 - 0x3098fb05]
rol eax, 3
mov edx, r13d
rol edx, 6
imul eax, eax, 0xa63d
add edx, eax
xor r15d, edx
mov eax, r9d
sub eax, r15d
ror eax, 9
mov edx, r15d
ror edx, 8
imul eax, eax, 0xd6c9
sub eax, edx
xor r13d, eax
xor r15d, r13d
xor r15d, 0x695ad232
lea r9d, [r15 - 0x4fb]
xor r9d, r13d
xor r9d, r8d
mov eax, r9d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r9d
shr eax, 8
add edx, eax
xor r15d, edx
mov r8d, r15d
ror r8d, 9
mov eax, r15d
mov r13d, 0xa63d
xor eax, r13d
imul edx, eax, 0xd6c9
sub edx, r8d
xor r9d, edx
mov eax, r9d
xor eax, r13d
imul edx, eax, 0xcf67
mov eax, r9d
shr eax, 6
xor edx, eax
xor r15d, edx
mov r8d, r15d
ror r8d, 2
mov eax, r15d
xor eax, 0xcf67
imul edx, eax, 0x4fb
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x309854c8]
xor r15d, eax
lea eax, [r15 + 0x3098fb05]
rol eax, 7
mov edx, r15d
rol edx, 0xb
imul eax, eax, 0xd6c9
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, r13d
rol eax, 2
mov edx, r9d
rol edx, 0xc
imul eax, eax, 0xcf67
add edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0xa63dd6c9
rol eax, 4
mov edx, r15d
rol edx, 0xe
imul eax, eax, 0x4fb
add edx, eax
xor edx, ecx
xor r9d, edx
mov dword [rbp + 0x20], r9d
xor r15d, ebx
mov dword [rbp + 4], r15d
mov byte [rdi - 4], r9b
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 4]
mov byte [rdi], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x20]
mov byte [rdi - 5], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 4]
mov byte [rdi - 1], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x20]
mov byte [rdi - 6], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 4]
mov byte [rdi - 2], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x20]
mov byte [rdi - 7], al
mov al, byte [rbp + 4]
mov byte [rdi - 3], al
mov r13d, dword [rbp + 0x20]
ror r13d, 8
mov dword [rbp + 0x20], r13d
mov r15d, dword [rbp + 4]
ror r15d, 8
mov dword [rbp + 4], r15d
mov ecx, r11d
mov ebx, r10d
lea rdi, [rdi + 8]
sub r12, r14
jne 0x1400aee8d
xor r15d, r15d
mov eax, r15d
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x70]
mov r14d, dword [rsp + 0x60]
mov esi, dword [rbp + 0x48]
mov rbx, qword [rbp - 0x68]
mov r12d, esi
mov edx, 0x338
lea r8d, [r15 + 1]
xor cl, byte [rax + rbx]
add rax, r8
cmp rax, rdx
jb 0x1400af1cd
movzx eax, cl
cmp rax, qword [0x14012ea78]
je 0x1400af1ec
mov r12d, 0xc004d501
jmp 0x1400af1fd
mov qword [rbp + 0x2e8], rbx
mov rbx, r15
mov qword [rbp + 0x508], rdx
test rbx, rbx
je 0x1400af216
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 0x1400af386
mov rbx, qword [rbp + 0x2e8]
mov rax, qword [rbp + 0x508]
mov byte [rax + rbx - 1], r15b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x14014f870]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x1400af371
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r15w
jne 0x1400af253
lea rbx, [rbx + rax*2]
mov eax, dword [rsp + 0x68]
lea rcx, [rax + rax*2]
lea r15, [r12 + rcx*8]
mov r8, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
xor edx, edx
test eax, eax
je 0x1400af37c
mov esi, edx
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400af2ad
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400af2ad
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x1400af2ad
cmp dword [rcx], 0x4550
je 0x1400af2b4
mov esi, 0xc000007b
jmp 0x1400af2e7
movzx eax, word [rcx + 0x18]
mov r8d, 0x10b
sub ax, r8w
mov r8d, 0xfeff
test r8w, ax
je 0x1400af2d5
mov esi, 0xc000000d
jmp 0x1400af2e7
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov r13d, dword [rbx + 2]
add rbx, 6
mov r12d, edx
test r13d, r13d
je 0x1400af35e
mov qword [rbp + 0x4d8], rdx
mov rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], dl
jne 0x1400af305
inc rbx
add rbx, rax
test esi, esi
js 0x1400af347
lea r9, [rbp + 0x4d8]
mov r8, r15
xor edx, edx
call fcn.140105cfc
mov esi, eax
test eax, eax
js 0x1400af381
mov eax, dword [rbp - 0x60]
mov rcx, qword [rbp + 0x4d8]
lea r8, [0x14014dbd0]
mov qword [r8 + rax*8], rcx
xor edx, edx
jmp 0x1400af34a
mov eax, dword [rbp - 0x60]
mov ecx, 1
add eax, ecx
mov dword [rbp - 0x60], eax
add r12d, ecx
cmp r12d, r13d
jb 0x1400af2f7
jmp 0x1400af363
mov ecx, 1
add dword [rsp + 0x68], ecx
xor r15d, r15d
lea r12, [0x14014f870]
cmp byte [rbx], r15b
jne 0x1400af24c
jmp 0x1400af38b
xor r15d, r15d
jmp 0x1400af386
xor r15d, r15d
jmp 0x1400af38b
mov esi, 0xc000007a
cmp qword [rbp + 0x2e8], r15
je 0x1400af3ac
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x2e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, 1
test esi, esi
jns 0x1400af405
lea r13, [0x14014f870]
mov rbx, r13
lea esi, [r12 + 3]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400af3d3
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub rsi, r12
jne 0x1400af3c5
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
jmp 0x1400af414
mov eax, dword [0x140151228]
add eax, r12d
mov dword [0x140151228], eax
mov eax, r15d
xchg dword [0x140151218], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x7c0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xc20], rax
mov r13d, edi
lea ecx, [rax + 0xf]
and r13d, ecx
mov dword [rbp - 4], r13d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0x1130], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0x1132], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0x1134], 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 + 0x70], rax
mov dword [rbp + 0xc4], 0xffffff
test rax, rax
jne 0x1400af4c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400b0ab2
mov esi, 0x80004005
jmp 0x1400b0ab2
lea rcx, [rbp + 0x3d8]
call fcn.140105f10
lea rcx, [rbp + 0x2f8]
call fcn.140105f10
mov qword [rbp + 0x528], r15
lea rcx, [rbp + 0xe0]
call fcn.140105f10
lea rcx, [rbp + 0x1d8]
call fcn.140105f10
lea rcx, [rbp + 0x1a0]
call fcn.140105f10
mov esi, r15d
mov dword [rbp + 0x178], r15d
mov rdi, qword [0x14014dc70]
mov rcx, rdi
call qword [fcn.140009050]
lea r9, [rbp + 0x178]
xor r8d, r8d
lea rdx, [rbp + 0xe8]
lea ecx, [r8 + 8]
call rdi
test eax, eax
jne 0x1400af564
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400af6b6
mov esi, 0x80004005
jmp 0x1400af6b6
mov edi, dword [rbp + 0x178]
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 + 0x1d8]
call fcn.140105f20
test rdi, rdi
jne 0x1400af5a6
mov qword [rbp + 0x1d8], r15
mov esi, 0x8007000e
jmp 0x1400af6b6
mov qword [rbp + 0x1d8], rdi
mov edi, dword [rbp + 0xe8]
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 + 0x1a0]
call fcn.140105f20
test rdi, rdi
jne 0x1400af5eb
mov esi, 0x8007000e
jmp 0x1400af6af
mov qword [rbp + 0x1a0], rdi
mov rdi, qword [0x14014dc70]
mov rcx, rdi
call qword [fcn.140009050]
lea r9, [rbp + 0x178]
mov r8, qword [rbp + 0x1d8]
lea rdx, [rbp + 0xe8]
mov ecx, 8
call rdi
test eax, eax
je 0x1400af53e
mov rbx, qword [rbp + 0x1d8]
mov r15, qword [rbp + 0x1a0]
xor r13d, r13d
mov r12d, r13d
cmp dword [rbp + 0xe8], r13d
jbe 0x1400af68c
lea r14d, [r13 + 1]
mov rdi, qword [0x14014dc80]
mov rcx, rdi
call qword [fcn.140009050]
xor edx, edx
mov rcx, rbx
call rdi
mov dword [r15], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r13w
jne 0x1400af665
lea rbx, [rbx + rax*2]
add rbx, 2
add r15, 4
add r12d, r14d
cmp r12d, dword [rbp + 0xe8]
jb 0x1400af647
mov r14d, dword [rsp + 0x60]
mov dword [r15], 0x409
mov rax, qword [rbp + 0x1a0]
xor r15d, r15d
mov qword [rbp + 0x3d8], rax
mov eax, dword [rbp + 0xe8]
inc eax
mov dword [rbp - 0x70], eax
mov qword [rbp + 0x1a0], r15
lea rcx, [rbp + 0x1a0]
call fcn.140105f20
lea rcx, [rbp + 0x1d8]
call fcn.140105f20
test esi, esi
js 0x1400afe25
mov r10d, r15d
mov dword [rbp - 0x60], r15d
mov r9d, r15d
lea rsi, [0x14012e620]
cmp dword [rbp - 0x70], r15d
jbe 0x1400af72a
mov r8, r15
mov rax, qword [rbp + 0x3d8]
mov edx, r15d
mov rdi, rsi
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x1400af724
mov ecx, 1
add edx, ecx
add rdi, 4
cmp edx, 0x27
jb 0x1400af6fd
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x70]
jae 0x1400af72a
jmp 0x1400af6f7
mov r10d, edx
mov dword [rbp - 0x60], edx
mov ebx, r10d
mov dword [rsp + 0x68], r15d
mov rdi, qword [0x14014dc78]
mov rcx, rdi
call qword [fcn.140009050]
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0x1140]
mov ecx, dword [rsi + rbx*4]
call rdi
test eax, eax
je 0x1400af79f
mov rdi, qword [0x14014dc60]
mov rcx, rdi
call qword [fcn.140009050]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xf20]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0x1140]
call rdi
mov r13d, 1
test eax, eax
jle 0x1400af7a5
mov esi, dword [rbp + 0xf2c]
shr esi, 0x1b
and esi, r13d
mov dword [rsp + 0x68], esi
jmp 0x1400af7a5
mov r13d, 1
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0x1090]
mov edi, SafeArrayAccessData
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r15w
jne 0x1400af7bf
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub rdi, r13
jne 0x1400af7b8
lea rcx, [rbx + rbx*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x12e6c0]
mov rdi, qword [rbp + rax*8 + 0x1090]
mov qword [rbp + 0x68], rdi
movzx eax, byte [rdx + rcx + 0x12e6c1]
mov rdi, qword [rbp + rax*8 + 0x1090]
mov qword [rbp + 0x180], rdi
movzx eax, byte [rdx + rcx + 0x12e6c2]
mov rax, qword [rbp + rax*8 + 0x1090]
mov qword [rbp - 0x20], rax
mov dword [rbp + 0x48], r15d
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 - 0x68], rax
test rax, rax
jne 0x1400af852
mov esi, 0x8007000e
jmp 0x1400afe44
mov byte [rsp + 0x64], r15b
or dword [rbp - 0x70], 0xffffffff
mov r11d, r15d
mov dword [rbp + 8], r15d
mov dword [rbp + 0x28], r15d
lea r12, [rax + 7]
lea r13, [0x14012c902]
mov eax, 0x3a3
mov ebx, r15d
mov esi, dword [rbp - 0x70]
mov r14d, 1
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx ecx, byte [r13 - 1]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r13]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r13 + 1]
or r10d, ecx
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx ecx, byte [r13 + 3]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r13 + 4]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r13 + 5]
or r9d, ecx
xor r15d, r10d
xor r11d, r9d
lea r13, [r13 + 8]
xor r11d, r15d
xor r11d, 0x695ad232
lea ecx, [r11 + 0x3098fb05]
rol ecx, 5
mov edx, r11d
rol edx, 0xa
imul ecx, ecx, 0xd6c9
add edx, ecx
xor r15d, edx
lea ecx, [r15 - 0x59c22937]
ror ecx, 9
mov edx, r15d
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 r15d, edx
mov ecx, r15d
xor ecx, 0xcf67
rol ecx, 6
mov edx, r15d
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 r15d, ecx
mov edi, r15d
ror edi, 6
mov ecx, r15d
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 r15d, edx
lea ecx, [r15 + 0x3098fb05]
ror ecx, 0xe
mov edx, r15d
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 r15d, edx
mov ecx, r15d
xor ecx, 0xa63d
imul edx, ecx, 0xcf67
mov ecx, r15d
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 r15d, ecx
mov edx, r11d
xor edx, r8d
mov edi, 0xa63dd6c9
mov ecx, edi
sub ecx, edx
xor r15d, ecx
lea ecx, [r15 - 0x3098fb05]
rol ecx, 3
mov edx, r15d
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 r15d, ecx
xor r11d, r15d
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, r15d
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 r15d, 0xa63d
xor ecx, r15d
imul edx, ecx, 0xd6c9
sub edx, edi
xor r8d, edx
mov ecx, r8d
xor ecx, r15d
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, r15d
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, ebx
xor r8d, edx
mov dword [rbp + 0x28], r8d
xor r11d, esi
mov dword [rbp + 8], r11d
mov byte [r12 - 4], r8b
ror dword [rbp + 0x28], 8
mov cl, byte [rbp + 8]
mov byte [r12], cl
ror dword [rbp + 8], 8
mov cl, byte [rbp + 0x28]
mov byte [r12 - 5], cl
ror dword [rbp + 0x28], 8
mov cl, byte [rbp + 8]
mov byte [r12 - 1], cl
ror dword [rbp + 8], 8
mov cl, byte [rbp + 0x28]
mov byte [r12 - 6], cl
ror dword [rbp + 0x28], 8
mov cl, byte [rbp + 8]
mov byte [r12 - 2], cl
ror dword [rbp + 8], 8
mov cl, byte [rbp + 0x28]
mov byte [r12 - 7], cl
mov cl, byte [rbp + 8]
mov byte [r12 - 3], cl
mov r15d, dword [rbp + 0x28]
ror r15d, 8
mov dword [rbp + 0x28], r15d
mov r11d, dword [rbp + 8]
ror r11d, 8
mov dword [rbp + 8], r11d
mov ebx, r10d
mov esi, r9d
lea r12, [r12 + 8]
sub rax, r14
jne 0x1400af882
xor r15d, r15d
mov ecx, r15d
mov al, byte [rsp + 0x64]
mov r14d, dword [rsp + 0x60]
mov esi, dword [rbp + 0x48]
mov rbx, qword [rbp - 0x68]
mov edx, 0x1d18
lea r13d, [r15 + 1]
xor al, byte [rcx + rbx]
add rcx, r13
cmp rcx, rdx
jb 0x1400afbd2
movzx ecx, al
cmp rcx, qword [0x14012e618]
je 0x1400afbf0
mov esi, 0xc004d501
jmp 0x1400afc01
mov qword [rbp + 0x2f8], rbx
mov rbx, r15
mov qword [rbp + 0x528], rdx
test rbx, rbx
je 0x1400afc1a
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 0x1400afe44
mov rdx, qword [rbp + 0x2f8]
lea rdi, [rbp + 0x1060]
mov r8d, 6
mov r9d, dword [rbp - 0x60]
mov ecx, r15d
cmp r9d, ecx
jne 0x1400afc45
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r15b
jne 0x1400afc49
inc rdx
add rdx, rax
add ecx, r13d
cmp ecx, 0x27
jb 0x1400afc3d
add rdi, 8
sub r8, r13
jne 0x1400afc3a
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 + 0xe0]
call fcn.140105f20
test rdi, rdi
jne 0x1400afca3
mov qword [rbp + 0xe0], r15
mov esi, 0x8007000e
jmp 0x1400afeca
mov qword [rbp + 0xe0], rdi
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, r15d
mov dword [rbp - 0x70], edx
mov r12, r15
lea rcx, [rbp + 0x1130]
mov qword [rbp - 0x40], rcx
mov eax, r15d
movzx edi, word [rcx]
lea rcx, [0x14012ed60]
cmp di, word [rcx]
je 0x1400afcee
add eax, r13d
add rcx, 2
cmp eax, 6
jb 0x1400afcd8
jmp 0x1400afdbf
mov r13, qword [rbp + rax*8 + 0x1060]
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [r13 + rbx], r15b
jne 0x1400afcfa
mov rdi, qword [0x14014dc90]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
lea r9d, [rbx + 1]
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
call rdi
mov dword [rsp + 0x78], eax
test eax, eax
je 0x1400afdff
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 + 0xe0]
mov qword [r12 + rcx], rax
mov rdi, qword [rbp + 0xe0]
cmp qword [r12 + rdi], r15
je 0x1400afe1e
or r15, 0xffffffffffffffff
xor eax, eax
inc r15
cmp byte [r13 + r15], al
jne 0x1400afd76
mov rbx, qword [0x14014dc90]
mov rcx, rbx
call qword [fcn.140009050]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], eax
mov rax, qword [r12 + rdi]
mov qword [rsp + 0x20], rax
lea r9d, [r15 + 1]
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
call rbx
xor r15d, r15d
test eax, eax
je 0x1400afdff
mov edx, dword [rbp - 0x70]
lea r13d, [r15 + 1]
add edx, r13d
mov dword [rbp - 0x70], edx
mov rcx, qword [rbp - 0x40]
add rcx, 2
mov qword [rbp - 0x40], rcx
add r12, 8
cmp edx, 3
jb 0x1400afccb
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0xe0], r15
mov qword [rbp + 0x3e8], rax
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x7c0], eax
jmp 0x1400afe44
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400afe3e
mov esi, 0x80004005
jmp 0x1400afe3e
mov esi, 0x8007000e
jmp 0x1400afe3e
mov rax, qword [rbp + 0xc38]
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0xc30]
mov qword [rbp + 0x68], rax
mov r13d, 1
cmp qword [rbp + 0xe0], r15
je 0x1400afeca
mov rbx, r15
mov r15d, 3
xor r8d, r8d
mov rdi, qword [rbp + 0xe0]
cmp qword [rdi + rbx], r8
je 0x1400afec1
test rdi, rdi
jne 0x1400afe73
mov rdi, r8
mov rax, r8
jmp 0x1400afe7d
mov rdi, qword [rbp + 0xe0]
mov rax, rdi
mov rdx, qword [rdi + rbx]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdx + rcx*2], r8w
jne 0x1400afe85
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbx + rax]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0xe0]
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]
xor r8d, r8d
add rbx, 8
sub r15, r13
jne 0x1400afe59
mov rdi, qword [rbp + 0x2f8]
test rdi, rdi
je 0x1400afee1
xor eax, eax
mov rcx, qword [rbp + 0x528]
rep stosb byte [rdi], al
lea rcx, [rbp + 0xe0]
call fcn.140105f20
lea rcx, [rbp + 0x2f8]
call fcn.140105f20
lea rcx, [rbp + 0x3d8]
call fcn.140105f20
test esi, esi
js 0x1400b0a90
mov rax, qword [rbp + 0x3e8]
mov rcx, qword [rax]
mov qword [rbp + 0x7c8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x7d0], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x7d8], rcx
xor eax, eax
mov qword [rbp + 0x544], rax
mov dword [rbp + 0x54c], eax
mov ebx, r15d
mov esi, r15d
mov dword [rbp + 0x540], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rdi, qword [0x14014dd38]
mov rcx, rdi
call qword [fcn.140009050]
xor r9d, r9d
lea r8, [rbp + 0x540]
xor edx, edx
lea ecx, [rdx + 0x42]
call rdi
test eax, eax
jne 0x1400aff97
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400affa0
mov esi, 0x80004005
jmp 0x1400affa0
mov ebx, dword [rbp + 0x544]
and ebx, r13d
mov dword [rbp + 0x7c4], ebx
mov r13d, dword [rbp - 4]
test esi, esi
js 0x1400b0a99
mov ecx, r13d
mov edx, reloc.WSOCK32.dll_inet_ntoa
lea eax, [rdx + 0x1f]
mov dword [rbp + 0x30], eax
sub ecx, 1
je 0x1400affe5
sub ecx, 1
je 0x1400affdc
cmp ecx, 1
jne 0x1400affeb
mov ebx, 0xe1
mov dword [rbp - 0x28], ebx
mov dword [rbp + 0x14], ebx
jmp 0x1400affeb
mov dword [rbp - 0x28], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x1400affe8
mov dword [rbp - 0x28], eax
mov dword [rbp + 0x14], edx
mov ebx, 0x60
mov r12d, ebx
mov word [rbp + 0xf40], r15w
xor edx, edx
lea r8d, [rbx - 0x22]
lea rcx, [rbp + 0xf42]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rbx + 0x3c]
lea rcx, [rbp + 0xf80]
call sub.msvcrt.dll_memset
lea eax, [rbx + 0x7c]
mov word [rbp + 0xf84], ax
mov rdi, qword [0x14014dcb0]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xf40]
or edx, 0xffffffff
xor ecx, ecx
call rdi
test eax, eax
je 0x1400b007d
movzx r12d, word [rbp + 0xfe6]
mov qword [rbp + 0xc58], 0
mov eax, dword [rbp + 0xfec]
mov dword [rbp + 0xc60], eax
mov eax, dword [rbp + 0xff0]
mov dword [rbp + 0xc64], eax
cmp r12d, ebx
cmovl r12d, ebx
mov eax, 1
cmp r13d, eax
mov r15, qword [rbp - 0x20]
cmove r15, qword [rbp + 0x68]
xor edx, edx
lea r8d, [rax + 0x5b]
lea rcx, [rbp + 0xe00]
call sub.msvcrt.dll_memset
xor eax, eax
mov esi, eax
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
xor edi, edi
test rax, rax
jne 0x1400b00f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400b0a96
mov esi, 0x80004005
jmp 0x1400b0a96
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, 0x48
mov edx, r12d
mov ecx, dword [rbp - 0x28]
call rdi
neg eax
mov dword [rbp + 0xe00], eax
mov dword [rbp + 0xe10], 0x190
mov byte [rbp + 0xe1a], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xe1c]
call fcn.140036ea4
mov rdi, qword [0x14014dbf0]
mov rcx, rdi
call qword [fcn.140009050]
lea rcx, [rbp + 0xe00]
call rdi
test rax, rax
jne 0x1400b0178
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400b017f
mov esi, 0x80004005
jmp 0x1400b017f
mov qword [rbp + 0x7e0], rax
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
xor ecx, ecx
call rdi
xor edi, edi
test esi, esi
js 0x1400b0a96
xor edx, edx
lea r8d, [rdi + 0x5c]
lea rcx, [rbp + 0xe60]
call sub.msvcrt.dll_memset
mov esi, edi
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 0x1400b0201
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
xor r15d, r15d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400b0a99
mov esi, 0x80004005
jmp 0x1400b0a99
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, 0x48
mov edx, r12d
mov ecx, dword [rbp + 0x14]
call rdi
neg eax
mov dword [rbp + 0xe60], eax
mov dword [rbp + 0xe70], 0x190
mov byte [rbp + 0xe7a], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xe7c]
call fcn.140036ea4
mov rdi, qword [0x14014dbf0]
mov rcx, rdi
call qword [fcn.140009050]
lea rcx, [rbp + 0xe60]
call rdi
xor r15d, r15d
test rax, rax
jne 0x1400b028c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400b0293
mov esi, 0x80004005
jmp 0x1400b0293
mov qword [rbp + 0x7e8], rax
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
xor ecx, ecx
call rdi
test esi, esi
js 0x1400b0a99
xor edi, edi
mov edx, edi
mov ecx, r13d
sub ecx, 1
je 0x1400b02e0
sub ecx, 1
je 0x1400b02ca
cmp ecx, 1
je 0x1400b02e0
jmp 0x1400b02ed
mov eax, dword [rbp + 0xc60]
cdq
and edx, 3
lea r15d, [rdx + rax]
sar r15d, 2
mov edx, edi
jmp 0x1400b02ed
mov r15d, dword [rbp + 0xc60]
mov edx, dword [rbp + 0xc64]
mov dword [rbp + 0xc28], r15d
mov dword [rbp + 0xc2c], edx
mov ecx, 1
cmp r13d, ecx
je 0x1400b0338
lea eax, [r13 - 2]
cmp eax, ecx
ja 0x1400b0317
mov r13d, edi
mov dword [rbp + 0x30], edi
mov dword [rbp - 0x28], edi
jmp 0x1400b0345
mov eax, dword [rbp + 0x9c]
mov dword [rbp - 0x28], eax
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x9c]
mov r13d, dword [rbp + 0x9c]
jmp 0x1400b0347
mov r13d, 0x96
mov dword [rbp - 0x28], 0x20
mov eax, edi
mov dword [rbp - 0x60], eax
sub r15d, r13d
sub r15d, eax
mov dword [rbp + 0x814], r15d
mov dword [rbp + 0x804], r15d
mov rbx, qword [rbp + 0x7c8]
mov esi, edi
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0x7e0]
mov rcx, qword [rsp + 0x70]
call rdi
mov qword [rbp - 0x68], rax
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x7fc]
or r8d, 0xffffffff
mov rdx, rbx
mov rcx, qword [rsp + 0x70]
call rdi
xor ecx, ecx
test eax, eax
mov eax, 0x80004005
cmove esi, eax
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400b03ee
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
mov rcx, qword [rsp + 0x70]
call rdi
xor ecx, ecx
test esi, esi
js 0x1400b0a8a
mov rbx, qword [rbp + 0x7d0]
mov esi, ecx
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0x7e8]
mov rcx, qword [rsp + 0x70]
call rdi
mov qword [rbp - 0x68], rax
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x80c]
or r8d, 0xffffffff
mov rdx, rbx
mov rcx, qword [rsp + 0x70]
call rdi
xor edx, edx
test eax, eax
mov eax, 0x80004005
cmove esi, eax
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400b0486
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
mov rcx, qword [rsp + 0x70]
call rdi
xor edx, edx
test esi, esi
js 0x1400b0a8a
mov eax, dword [rbp - 4]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x804]
mov r8d, 1
cmp eax, r8d
ja 0x1400b04b3
mov r15d, dword [rbp + 0x814]
cmp ecx, r15d
cmovg r15d, ecx
mov rdi, qword [fcn.14005daa0]
cmp dword [rbp + 0x7c0], edx
je 0x1400b0517
mov ebx, r15d
sub ebx, ecx
add ebx, dword [rbp - 0x60]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, dword [rbp + 0x30]
mov edx, ebx
lea rcx, [rbp + 0x7fc]
call rdi
mov ebx, dword [rbp + 0x808]
add ebx, dword [rbp - 0x28]
mov esi, r15d
sub esi, dword [rbp + 0x814]
add esi, dword [rbp - 0x60]
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, ebx
mov edx, esi
lea rcx, [rbp + 0x80c]
call rdi
jmp 0x1400b0558
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, dword [rbp + 0x30]
mov edx, r13d
lea rcx, [rbp + 0x7fc]
call rdi
mov edi, dword [rbp + 0x808]
add edi, dword [rbp - 0x28]
mov rbx, qword [fcn.14005daa0]
mov rcx, rbx
call qword [fcn.140009050]
mov r8d, edi
mov edx, r13d
lea rcx, [rbp + 0x80c]
call rbx
mov r13d, dword [rbp - 4]
lea eax, [r13 - 2]
mov ebx, 1
cmp eax, ebx
jbe 0x1400b0855
cmp r13d, ebx
jne 0x1400b0872
mov dword [rbp + 0x7f8], 0xffffff
xor edx, edx
lea r8d, [rbx + 0x5b]
lea rcx, [rbp + 0xec0]
call sub.msvcrt.dll_memset
xor eax, eax
mov esi, eax
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
xor edi, edi
test rax, rax
je 0x1400b00ca
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, 0x48
mov edx, r12d
lea ecx, [r8 - 0x3d]
call rdi
neg eax
mov dword [rbp + 0xec0], eax
mov dword [rbp + 0xed0], 0x190
mov byte [rbp + 0xeda], 5
mov r8, qword [rbp + 0x180]
mov edx, 0x20
lea rcx, [rbp + 0xedc]
call fcn.140036ea4
mov rdi, qword [0x14014dbf0]
mov rcx, rdi
call qword [fcn.140009050]
lea rcx, [rbp + 0xec0]
call rdi
test rax, rax
jne 0x1400b064d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400b0654
mov esi, 0x80004005
jmp 0x1400b0654
mov qword [rbp + 0x7f0], rax
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
xor ecx, ecx
call rdi
xor edi, edi
test esi, esi
js 0x1400b0a96
mov dword [rbp + 0x824], r15d
mov rbx, qword [rbp + 0x7d8]
mov esi, edi
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0x7f0]
mov rcx, qword [rsp + 0x70]
call rdi
mov r15, rax
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x81c]
or r8d, 0xffffffff
mov rdx, rbx
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call rdi
test eax, eax
mov eax, 0x80004005
cmove esi, eax
test r15, r15
je 0x1400b0704
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, r15
mov rcx, rbx
call rdi
xor r15d, r15d
test esi, esi
js 0x1400b0a99
mov eax, dword [rbp + 0x824]
add eax, 0x18
lea ecx, [r15 + 0x5a]
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x824], eax
mov dword [rbp + 0x828], 0x20
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
lea ebx, [r15 + 0x60]
mov r8d, ebx
mov edx, r12d
mov ecx, dword [rbp + 0x81c]
call rdi
mov dword [rbp + 0x81c], eax
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, ebx
mov edx, r12d
mov ecx, dword [rbp + 0x820]
call rdi
mov dword [rbp + 0x820], eax
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, ebx
mov edx, r12d
mov ecx, dword [rbp + 0x824]
call rdi
mov dword [rbp + 0x824], eax
mov rdi, qword [0x14014dc88]
mov rcx, rdi
call qword [fcn.140009050]
mov r8d, ebx
mov edx, r12d
mov ecx, dword [rbp + 0x828]
call rdi
mov dword [rbp + 0x828], eax
cmp dword [rbp + 0x7c0], r15d
je 0x1400b080d
mov esi, dword [rbp + 0x80c]
cmp dword [rbp + 0x7fc], esi
cmovl esi, dword [rbp + 0x7fc]
mov edi, dword [rbp + 0x818]
mov rbx, qword [fcn.14005daa0]
mov rcx, rbx
call qword [fcn.140009050]
lea r8d, [rdi + 0x24]
mov edx, esi
lea rcx, [rbp + 0x81c]
call rbx
mov ebx, 1
jmp 0x1400b0872
mov ecx, dword [rbp + 0x814]
cmp dword [rbp + 0x804], ecx
cmovg ecx, dword [rbp + 0x804]
mov ebx, dword [rbp + 0x818]
mov esi, dword [rbp + 0x81c]
sub esi, dword [rbp + 0x824]
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 + 0x81c]
call rdi
jmp 0x1400b0806
mov dword [rbp + 0xc28], r15d
mov eax, dword [rbp + 0x818]
mov dword [rbp + 0xc2c], eax
mov dword [rbp + 0x7f8], 0xffa8a8a8
mov r12d, dword [rbp + 0x7c0]
mov r15d, dword [rbp + 0xc2c]
mov esi, dword [rbp + 0xc28]
mov ecx, r13d
sub ecx, 1
je 0x1400b0a76
sub ecx, 1
je 0x1400b098c
cmp ecx, 1
jne 0x1400b0a82
xor r12d, r12d
mov dword [rbp + 0xd10], r12d
xor edx, edx
lea r8d, [rcx + 0x23]
lea rcx, [rbp + 0xd14]
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 + 0xd10], 0x28
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xd10]
mov rcx, rbx
call rdi
test eax, eax
je 0x1400b0a82
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xd24]
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xd2c]
xor ecx, ecx
call rdi
mov eax, dword [rbp + 0xd2c]
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 + 0xd2c]
shr rcx, 0x20
sub ecx, r15d
imul ecx, ecx, 0x32
mov dword [rbp + 0xc20], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0xc24], edx
jmp 0x1400b0a82
xor eax, eax
mov dword [rbp + 0xcb8], eax
xor edx, edx
lea r8d, [rax + 0x24]
lea rcx, [rbp + 0xcbc]
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 + 0xcb8], 0x28
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xcb8]
mov rcx, rbx
call rdi
test eax, eax
je 0x1400b0a82
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xccc]
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
lea rdx, [rbp + 0xcd4]
xor ecx, ecx
call rdi
mov eax, dword [rbp + 0xcd4]
test r12d, r12d
je 0x1400b0a4a
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 + 0xccc]
jmp 0x1400b0a60
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 + 0xcd4]
shr rax, 0x20
sub eax, r15d
imul ecx, eax, 0x5f
jmp 0x1400b096a
xor r15d, r15d
mov qword [rbp + 0xc20], r15
jmp 0x1400b0a85
xor r15d, r15d
mov esi, r15d
jmp 0x1400b0a99
mov r13d, dword [rbp - 4]
jmp 0x1400b0a96
mov r13d, dword [rbp - 4]
jmp 0x1400b0a99
xor r15d, r15d
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
call rdi
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x140151218], r12d
jne 0x1400b0ab8
mov eax, dword [0x140151228]
test eax, eax
jle 0x1400b0b28
sub eax, r12d
mov dword [0x140151228], eax
jne 0x1400b0b28
lea rdi, [0x14014f870]
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400b0af4
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r12
jne 0x1400b0ae6
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, r15d
xchg dword [0x140151218], eax
lea rcx, [rbp + 0x3e8]
call fcn.140105f20
test esi, esi
js 0x1400b25c9
mov rdi, qword [rbp + 0xc20]
mov qword [rbp - 0x40], rdi
mov dword [rbp + 0x830], r15d
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0x834]
call sub.msvcrt.dll_memset
mov esi, r12d
mov rbx, qword [0x14014dc20]
mov rcx, rbx
call qword [fcn.140009050]
mov edx, 7
mov r12, qword [rbp + 0xa0]
mov rcx, r12
call rbx
mov r15, rax
xor ebx, ebx
test rax, rax
je 0x1400b0be3
mov rbx, qword [0x14014dc38]
mov rcx, rbx
call qword [fcn.140009050]
lea r8, [rbp + 0x830]
mov edx, 0x68
mov rcx, r15
call rbx
xor ebx, ebx
test eax, eax
je 0x1400b0be3
lea eax, [rbx + 0x20]
cmp word [rbp + 0x842], ax
jne 0x1400b0be3
cmp qword [rbp + 0x848], rbx
je 0x1400b0be3
cmp dword [rbp + 0x834], ebx
jle 0x1400b0be3
cmp dword [rbp + 0x838], ebx
jg 0x1400b0be5
mov esi, ebx
mov dword [rbp + 0x25c], esi
test esi, esi
mov esi, 1
jne 0x1400b0bf9
cmp r13d, esi
jne 0x1400b0c6b
mov rbx, qword [fcn.14005daa0]
mov rcx, rbx
call qword [fcn.140009050]
mov r8d, dword [rbp - 0x3c]
mov edx, edi
lea rcx, [rbp + 0x7fc]
call rbx
mov rbx, qword [fcn.14005daa0]
mov rcx, rbx
call qword [fcn.140009050]
mov r8d, dword [rbp - 0x3c]
mov edx, edi
lea rcx, [rbp + 0x80c]
call rbx
cmp r13d, esi
jne 0x1400b0c69
mov eax, dword [rbp + 0x7c4]
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 + 0xc8], rax
xor ebx, ebx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, esi
mov rcx, r12
call rdi
mov dword [rsp + 0x70], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x7c0], ebx
cmovne eax, ecx
mov dword [rbp + 0x68], eax
cmp dword [rbp + 0x25c], ebx
je 0x1400b174d
mov eax, dword [rbp + 0x7c4]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x7e0]
mov qword [rbp - 0x68], rax
mov r15, qword [rbp + 0x7c8]
mov dword [rbp + 0x8a0], ebx
mov edi, 0x64
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x8a4]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xad0], ebx
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xad4]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x40], rbx
mov dword [rbp - 0x70], ebx
mov esi, ebx
xor edx, edx
lea r8d, [rdi - 0x38]
lea rcx, [rbp + 0xd98]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc68], xmm0
test r15, r15
je 0x1400b0d4a
mov rdi, qword [0x14014dc20]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 7
mov rcx, r12
call rdi
mov rbx, rax
test rax, rax
jne 0x1400b0d52
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r15d, r15d
jmp 0x1400b25a2
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0x8a0]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x1400b0d91
mov rax, qword [rbp + 0x8b8]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp + 0x8a4]
mov dword [rbp - 0x70], eax
mov esi, dword [rbp + 0x8a8]
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, r12
call rdi
mov r13, rax
xor eax, eax
test r13, r13
je 0x1400b0d44
mov ebx, dword [rbp + 0x808]
sub ebx, dword [rbp + 0x800]
mov edi, dword [rbp + 0x804]
sub edi, dword [rbp + 0x7fc]
mov qword [rbp + 0x640], rax
mov r12d, eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xd98]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xd98], 0x28
mov dword [rbp + 0xd9c], edi
neg ebx
mov dword [rbp + 0xda0], ebx
mov dword [rbp + 0xda4], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x640]
xor r8d, r8d
lea rdx, [rbp + 0xd98]
mov rcx, r13
call rdi
mov rbx, rax
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x1400b0e71
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
xor r15d, r15d
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400b11d8
mov r12d, 0x80004005
jmp 0x1400b11d8
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xad0]
mov edx, 0x68
mov rcx, rbx
call rdi
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0xae8]
mov qword [rbp - 0x20], rcx
mov eax, dword [rbp + 0x804]
sub eax, dword [rbp + 0x7fc]
mov dword [rbp + 0xc70], eax
mov eax, dword [rbp + 0x808]
sub eax, dword [rbp + 0x800]
mov dword [rbp + 0xc74], eax
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
mov rcx, r13
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 1
mov rcx, r13
call rdi
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp - 0x68]
mov rcx, r13
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 + 0xc68]
mov rcx, r13
call rbx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xc68]
or r8d, 0xffffffff
mov rdx, r15
mov rcx, r13
call rdi
mov ecx, 1
xor r15d, r15d
cmp dword [rbp - 4], ecx
jne 0x1400b0fb7
cmp dword [rsp + 0x78], r15d
je 0x1400b0fb0
mov rdi, qword [0x14014dce8]
mov rcx, rdi
call qword [fcn.140009050]
lea ecx, [r15 + 8]
call rdi
mov ebx, eax
mov dword [rbp + 0x30], eax
jmp 0x1400b0fbf
mov ebx, 0xffffff
jmp 0x1400b0fbc
mov ebx, 0xffa8a8a8
mov dword [rbp + 0x30], ebx
mov edx, dword [rbp + 0x800]
mov r8d, dword [rbp + 0x7fc]
mov edi, r15d
mov ecx, r15d
test r8d, r8d
jns 0x1400b0fdf
mov edi, r8d
neg edi
mov r8d, r15d
test edx, edx
jns 0x1400b0fea
mov ecx, edx
neg ecx
mov edx, r15d
movsxd r11, dword [rbp + 0xc70]
mov eax, r11d
sub eax, edi
movsxd r9, dword [rbp - 0x70]
mov r10d, r9d
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xc74]
sub eax, ecx
sub esi, edx
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x1400b11a0
test esi, esi
jle 0x1400b11a0
imul ecx, r11d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp - 0x20]
lea rdi, [rax + rcx*4]
mov qword [rbp - 0x20], rdi
imul edx, r9d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x40]
lea r15, [rax + rcx*4]
xor r8d, r8d
test esi, esi
jle 0x1400b119d
mov rax, r11
shl rax, 2
mov qword [rbp - 0x68], rax
mov rcx, r9
shl rcx, 2
mov qword [rsp + 0x78], rcx
mov edx, esi
mov qword [rbp - 0x40], rdx
lea r14d, [r8 + 1]
test r10d, r10d
jle 0x1400b1181
lea r9, [r15 + 2]
mov r11, rdi
sub r11, r15
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 0x1400b1163
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 + 0x31]
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 + 0x32]
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
xor r8d, r8d
add r9, 4
sub rsi, r14
jne 0x1400b1097
mov rdi, qword [rbp - 0x20]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x40]
add rdi, rax
mov qword [rbp - 0x20], rdi
add r15, rcx
sub rdx, r14
mov qword [rbp - 0x40], rdx
jne 0x1400b1081
mov r14d, dword [rsp + 0x60]
xor r15d, r15d
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp - 0x60]
call rdi
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400b11d8
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
mov rcx, r13
call rdi
mov rdi, qword [0x14014dc00]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, r13
call rdi
test r12d, r12d
js 0x1400b25a2
mov eax, dword [rbp + 0x7c4]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x7e8]
mov qword [rbp - 0x68], rax
mov r13, qword [rbp + 0x7d0]
mov dword [rbp + 0x9f0], r15d
mov edi, 0x64
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x9f4]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xbb0], r15d
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xbb4]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x40], r15
mov dword [rbp - 0x70], r15d
mov esi, r15d
xor edx, edx
lea r8d, [rdi - 0x38]
lea rcx, [rbp + 0xd68]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc78], xmm0
test r13, r13
je 0x1400b25a2
mov rdi, qword [0x14014dc20]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 7
mov r12, qword [rbp + 0xa0]
mov rcx, r12
call rdi
mov rbx, rax
test rax, rax
jne 0x1400b12ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400b25a2
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0x9f0]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x1400b12eb
mov rax, qword [rbp + 0xa08]
mov qword [rbp - 0x40], rax
mov eax, dword [rbp + 0x9f4]
mov dword [rbp - 0x70], eax
mov esi, dword [rbp + 0x9f8]
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, r12
call rdi
mov r12, rax
test rax, rax
je 0x1400b12a1
mov ebx, dword [rbp + 0x818]
sub ebx, dword [rbp + 0x810]
mov edi, dword [rbp + 0x814]
sub edi, dword [rbp + 0x80c]
mov qword [rbp + 0x5e0], r15
mov dword [rbp - 0x60], r15d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xd68]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xd68], 0x28
mov dword [rbp + 0xd6c], edi
neg ebx
mov dword [rbp + 0xd70], ebx
mov dword [rbp + 0xd74], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x5e0]
xor r8d, r8d
lea rdx, [rbp + 0xd68]
mov rcx, r12
call rdi
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x1400b13c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400b1720
mov r15d, 0x80004005
jmp 0x1400b1720
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xbb0]
mov edx, 0x68
mov rcx, rbx
call rdi
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0xbc8]
mov qword [rbp - 0x20], rcx
mov eax, dword [rbp + 0x814]
sub eax, dword [rbp + 0x80c]
mov dword [rbp + 0xc80], eax
mov eax, dword [rbp + 0x818]
sub eax, dword [rbp + 0x810]
mov dword [rbp + 0xc84], eax
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
mov rcx, r12
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, 1
mov rcx, r12
call rdi
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp - 0x68]
mov rcx, r12
call rdi
mov qword [rbp + 0x48], 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 + 0xc78]
mov rcx, r12
call rbx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xc78]
or r8d, 0xffffffff
mov rdx, r13
mov rcx, r12
call rdi
lea eax, [rbx + 1]
cmp dword [rbp - 4], eax
jne 0x1400b1503
cmp dword [rsp + 0x78], ebx
je 0x1400b14fa
mov rdi, qword [0x14014dce8]
mov rcx, rdi
call qword [fcn.140009050]
lea ecx, [rbx + 8]
call rdi
jmp 0x1400b1508
mov dword [rbp + 0x30], 0xffffff
jmp 0x1400b1511
mov eax, 0xffa8a8a8
mov dword [rbp + 0x30], eax
mov dword [rbp + 0xc4], eax
mov edx, dword [rbp + 0x810]
mov r8d, dword [rbp + 0x80c]
mov edi, ebx
mov ecx, ebx
test r8d, r8d
jns 0x1400b152f
mov edi, r8d
neg edi
mov r8d, ebx
test edx, edx
jns 0x1400b1539
mov ecx, edx
neg ecx
mov edx, ebx
movsxd r9, dword [rbp + 0xc80]
mov eax, r9d
sub eax, edi
movsxd r11, dword [rbp - 0x70]
mov r10d, r11d
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xc84]
sub eax, ecx
sub esi, edx
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x1400b16e8
test esi, esi
jle 0x1400b16e8
imul ecx, r9d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp - 0x20]
lea r13, [rax + rcx*4]
imul edx, r11d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x40]
lea rbx, [rax + rcx*4]
xor edi, edi
test esi, esi
jle 0x1400b16e8
mov rax, r9
shl rax, 2
mov qword [rbp - 0x68], rax
mov rcx, r11
shl rcx, 2
mov qword [rbp - 0x20], rcx
mov edx, esi
mov qword [rbp - 0x40], rdx
mov r15d, dword [rbp + 0xc4]
lea r14d, [rdi + 1]
test r10d, r10d
jle 0x1400b16cc
lea r9, [rbx + 2]
mov r11, r13
sub r11, rbx
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 0x1400b16b3
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r15b
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 + 0x31]
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 + 0x32]
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
xor edi, edi
add r9, 4
sub rsi, r14
jne 0x1400b15e7
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x40]
add r13, rax
add rbx, rcx
sub rdx, r14
mov qword [rbp - 0x40], rdx
jne 0x1400b15d1
mov r14d, dword [rsp + 0x60]
mov r15d, dword [rbp - 0x60]
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rsp + 0x68]
call rdi
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x1400b1720
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, rbx
mov rcx, r12
call rdi
mov rdi, qword [0x14014dc00]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, r12
call rdi
test r15d, r15d
js 0x1400b0d4a
mov rbx, qword [rbp + 0xa0]
xor r15d, r15d
jmp 0x1400b2545
cmp dword [rbp + 0x7c4], ebx
jne 0x1400b175c
cmp r13d, esi
mov al, 0xc0
jne 0x1400b175e
mov al, 0xff
mov word [rbp + 0x48], 0
mov byte [rbp + 0x4a], al
mov byte [rbp + 0x4b], sil
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc48], xmm0
mov r15d, ebx
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, r12
call rdi
mov qword [rbp + 0x38], rax
test rax, rax
jne 0x1400b17a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400b0d4a
cmp r13d, esi
jne 0x1400b185b
mov ecx, dword [rbp + 0x814]
sub ecx, dword [rbp + 0x80c]
mov eax, dword [rbp + 0x804]
mov esi, dword [rbp + 0x7fc]
sub eax, esi
mov edi, eax
cmp ecx, eax
cmovg edi, ecx
mov dword [rbp - 0x60], edi
mov r8d, dword [rbp + 0x818]
mov edx, dword [rbp + 0x800]
sub r8d, edx
mov dword [rsp + 0x68], r8d
cmp dword [rbp + 0x7c0], ebx
je 0x1400b180d
sub esi, dword [rbp + 0x804]
add esi, edi
mov dword [rbp + 0xc48], esi
mov r15d, dword [rbp + 0x80c]
sub r15d, dword [rbp + 0x814]
add r15d, edi
jmp 0x1400b1813
mov esi, dword [rbp + 0xc48]
lea r13d, [rsi + rax]
mov dword [rbp + 0x30], r13d
mov dword [rbp + 0xc50], r13d
mov ebx, dword [rbp + 0x808]
sub ebx, edx
mov dword [rbp + 0xc54], ebx
lea eax, [r15 + rcx]
mov r12d, dword [rbp + 0x810]
sub r12d, edx
mov r13d, r12d
sub r13d, dword [rbp + 0x810]
add r13d, dword [rbp + 0x818]
mov dword [rbp + 0x180], r13d
mov r13d, r8d
jmp 0x1400b18c3
mov edi, dword [rbp + 0xc28]
mov dword [rbp - 0x60], edi
mov r13d, dword [rbp + 0xc2c]
mov dword [rsp + 0x68], r13d
movups xmm0, xmmword [rbp + 0x7fc]
movdqu xmmword [rbp + 0xc48], xmm0
movups xmm1, xmmword [rbp + 0x80c]
movdqu xmmword [rbp + 0xc30], xmm1
mov ebx, dword [rbp + 0xc54]
mov eax, dword [rbp + 0xc50]
mov dword [rbp + 0x30], eax
mov esi, dword [rbp + 0xc48]
mov eax, dword [rbp + 0xc3c]
mov dword [rbp + 0x180], eax
mov eax, dword [rbp + 0xc38]
mov r12d, dword [rbp + 0xc34]
mov r15d, dword [rbp + 0xc30]
mov dword [rbp - 0x28], eax
xor eax, eax
mov qword [rbp + 0x688], rax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xce0]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xce0], 0x28
mov dword [rbp + 0xce4], edi
mov eax, r13d
neg eax
mov dword [rbp + 0xce8], eax
mov dword [rbp + 0xcec], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x688]
xor r8d, r8d
lea rdx, [rbp + 0xce0]
mov rcx, qword [rbp + 0x38]
call rdi
mov qword [rbp + 0xb8], rax
test rax, rax
jne 0x1400b1952
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r15d, r15d
jmp 0x1400b2584
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x38]
call rdi
mov eax, 1
cmp dword [rbp - 4], eax
jne 0x1400b19bf
xor eax, eax
cmp qword [rbp + 0xc8], rax
je 0x1400b19bf
mov qword [rbp + 0xca8], rax
mov eax, dword [rbp - 0x60]
mov dword [rbp + 0xcb0], eax
mov dword [rbp + 0xcb4], r13d
mov rdi, qword [0x14014dcb8]
mov rcx, rdi
call qword [fcn.140009050]
mov r8, qword [rbp + 0xc8]
lea rdx, [rbp + 0xca8]
mov rcx, qword [rbp + 0x38]
call rdi
mov eax, dword [rbp + 0x7c4]
mov dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x7e0]
mov qword [rbp + 0xf0], rax
mov rdi, qword [rbp + 0x7c8]
mov qword [rbp + 0x90], rdi
xor r13d, r13d
mov dword [rbp + 0x980], r13d
xor edx, edx
lea r8d, [r13 + 0x64]
lea rcx, [rbp + 0x984]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xb40], r13d
xor edx, edx
lea r8d, [r13 + 0x64]
lea rcx, [rbp + 0xb44]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x68], r13
mov dword [rsp + 0x78], r13d
xor edx, edx
lea r8d, [r13 + 0x2c]
lea rcx, [rbp + 0xd38]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc88], xmm0
test rdi, rdi
je 0x1400b2560
mov rdi, qword [0x14014dc20]
mov rcx, rdi
call qword [fcn.140009050]
lea edx, [r13 + 7]
mov rcx, qword [rbp + 0x38]
call rdi
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x1400b1a76
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400b2560
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0x980]
mov edx, 0x68
mov rcx, qword [rbp - 0x40]
call rdi
test eax, eax
je 0x1400b1ab8
mov rax, qword [rbp + 0x998]
mov qword [rbp - 0x68], rax
mov eax, dword [rbp + 0x984]
mov dword [rsp + 0x78], eax
mov r13d, dword [rbp + 0x988]
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 0x38]
call rdi
mov qword [rbp - 0x20], rax
xor ecx, ecx
test rax, rax
je 0x1400b1a6b
sub ebx, dword [rbp + 0xc4c]
mov edi, dword [rbp + 0x30]
sub edi, esi
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x5f0], rcx
mov dword [rbp - 0x70], ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xd38]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xd38], 0x28
mov dword [rbp + 0xd3c], edi
mov eax, ebx
neg eax
mov dword [rbp + 0xd40], eax
mov dword [rbp + 0xd44], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x5f0]
xor r8d, r8d
lea rdx, [rbp + 0xd38]
mov rcx, qword [rbp - 0x20]
call rdi
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x1400b1b8d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x70], ecx
test ecx, ecx
js 0x1400b1f18
mov dword [rbp - 0x70], 0x80004005
jmp 0x1400b1f18
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xb40]
mov edx, 0x68
mov rcx, qword [rbp - 0x40]
call rdi
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0xb58]
mov qword [rbp + 0xc30], rcx
mov eax, dword [rbp + 0x30]
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 - 0x40]
mov rbx, qword [rbp - 0x20]
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 + 0xf0]
mov rcx, rbx
call rdi
mov qword [rbp + 0xf0], 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 - 0x20]
call rbx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xc88]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x90]
mov rbx, qword [rbp - 0x20]
mov rcx, rbx
call rdi
mov eax, 1
xor r11d, r11d
cmp dword [rbp - 4], eax
jne 0x1400b1cd8
cmp dword [rbp + 0x14], r11d
je 0x1400b1ccf
mov rdi, qword [0x14014dce8]
mov rcx, rdi
call qword [fcn.140009050]
mov ecx, 8
call rdi
mov dword [rbp + 0x14], eax
xor r11d, r11d
jmp 0x1400b1cdf
mov dword [rbp + 0x14], 0xffffff
jmp 0x1400b1cdf
mov dword [rbp + 0x14], 0xffa8a8a8
mov edi, r11d
mov ecx, r11d
test esi, esi
jns 0x1400b1cf0
mov edi, esi
neg edi
mov esi, r11d
mov edx, dword [rbp + 0xc4c]
test edx, edx
jns 0x1400b1d01
mov ecx, edx
neg ecx
mov edx, r11d
movsxd r8, dword [rbp + 0xc90]
mov eax, r8d
sub eax, edi
movsxd r9, dword [rsp + 0x78]
mov r10d, r9d
sub r10d, esi
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xc94]
sub eax, ecx
sub r13d, edx
cmp eax, r13d
cmovl r13d, eax
test r10d, r10d
jle 0x1400b1ede
test r13d, r13d
jle 0x1400b1ede
imul ecx, r8d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp + 0xc30]
lea rdi, [rax + rcx*4]
mov qword [rsp + 0x78], rdi
imul edx, r9d
movsxd rcx, edx
movsxd rax, esi
add rcx, rax
mov rax, qword [rbp - 0x68]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x68], rax
test r13d, r13d
jle 0x1400b1ede
mov rcx, r8
shl rcx, 2
mov qword [rbp + 0xc30], rcx
mov rdx, r9
shl rdx, 2
mov qword [rbp + 0x90], rdx
mov r8d, r13d
mov qword [rbp + 0x30], r8
mov esi, dword [rbp + 0x14]
mov r14d, 1
test r10d, r10d
jle 0x1400b1eb9
lea r9, [rax + 2]
mov r11, rdi
sub r11, rax
mov r13d, 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 0x1400b1e8e
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 + 0x15]
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 + 0x16]
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 r13, r14
jne 0x1400b1dc4
mov rax, qword [rbp - 0x68]
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rbp + 0xc30]
mov rdx, qword [rbp + 0x90]
mov r8, qword [rbp + 0x30]
xor r11d, r11d
add rdi, rcx
mov qword [rsp + 0x78], rdi
add rax, rdx
mov qword [rbp - 0x68], rax
sub r8, r14
mov qword [rbp + 0x30], r8
jne 0x1400b1dae
mov r14d, dword [rsp + 0x60]
mov rbx, qword [rbp - 0x20]
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp - 0x40]
call rdi
mov rsi, qword [rbp + 0xf0]
test rsi, rsi
je 0x1400b1f18
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 - 0x20]
call rdi
xor edi, edi
cmp dword [rbp - 0x70], edi
jl 0x1400b2560
mov eax, dword [rbp + 0x7c4]
mov dword [rbp + 0x30], eax
mov rax, qword [rbp + 0x7e8]
mov qword [rbp + 0xc30], rax
mov r13, qword [rbp + 0x7d0]
mov dword [rbp + 0x910], edi
lea ebx, [rdi + 0x64]
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x914]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa60], edi
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0xa64]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x68], rdi
mov dword [rsp + 0x78], edi
mov esi, edi
xor edx, edx
lea r8d, [rdi + 0x2c]
lea rcx, [rbp + 0xdc8]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc98], xmm0
test r13, r13
je 0x1400b2560
mov rdi, qword [0x14014dc20]
mov rcx, rdi
call qword [fcn.140009050]
lea edx, [rbx - 0x5d]
mov rcx, qword [rbp + 0x38]
call rdi
mov rbx, rax
test rax, rax
je 0x1400b1a6b
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0x910]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x1400b201d
mov rax, qword [rbp + 0x928]
mov qword [rbp - 0x68], rax
mov eax, dword [rbp + 0x914]
mov dword [rsp + 0x78], eax
mov esi, dword [rbp + 0x918]
mov rdi, qword [0x14014dbe0]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp + 0x38]
call rdi
mov rbx, rax
mov qword [rbp - 0x40], rax
xor eax, eax
test rbx, rbx
je 0x1400b1a6b
mov edi, dword [rbp + 0x180]
sub edi, r12d
mov dword [rbp + 0x180], edi
sub dword [rbp - 0x28], r15d
mov qword [rbp + 0x600], rax
mov dword [rbp - 0x70], eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xdc8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xdc8], 0x28
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0xdcc], eax
mov eax, edi
neg eax
mov dword [rbp + 0xdd0], eax
mov dword [rbp + 0xdd4], 0x200001
mov rdi, qword [0x14014dbe8]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x600]
xor r8d, r8d
lea rdx, [rbp + 0xdc8]
mov rcx, rbx
call rdi
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x1400b2103
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
xor r15d, r15d
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x70], ecx
test ecx, ecx
js 0x1400b2471
mov dword [rbp - 0x70], 0x80004005
jmp 0x1400b2471
mov rdi, qword [0x14014dc38]
mov rcx, rdi
call qword [fcn.140009050]
lea r8, [rbp + 0xa60]
mov edx, 0x68
mov rcx, qword [rbp - 0x20]
call rdi
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0xa78]
mov qword [rbp + 0x90], rcx
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0xca0], eax
mov eax, dword [rbp + 0x180]
mov dword [rbp + 0xca4], eax
mov rdi, qword [0x14014dc48]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp - 0x20]
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 + 0xc30]
mov rcx, rbx
call rdi
mov qword [rbp + 0xf0], 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 - 0x40]
call rbx
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xc98]
or r8d, 0xffffffff
mov rdx, r13
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call rdi
mov eax, 1
xor r9d, r9d
cmp dword [rbp - 4], eax
jne 0x1400b2249
cmp dword [rbp + 0x30], r9d
je 0x1400b2240
mov rdi, qword [0x14014dce8]
mov rcx, rdi
call qword [fcn.140009050]
mov ecx, 8
call rdi
xor r9d, r9d
jmp 0x1400b224e
mov dword [rbp + 0x68], 0xffffff
jmp 0x1400b2257
mov eax, 0xffa8a8a8
mov dword [rbp + 0x68], eax
mov dword [rbp + 0xc4], eax
mov edx, r9d
mov ecx, r9d
test r15d, r15d
jns 0x1400b226a
mov edx, r15d
neg edx
mov r15d, r9d
test r12d, r12d
jns 0x1400b2277
mov ecx, r12d
neg ecx
mov r12d, r9d
movsxd rdi, dword [rbp + 0xca0]
mov eax, edi
sub eax, edx
movsxd r8, dword [rsp + 0x78]
mov r10d, r8d
sub r10d, r15d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xca4]
sub eax, ecx
sub esi, r12d
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x1400b2434
test esi, esi
jle 0x1400b2434
imul ecx, edi
movsxd rcx, ecx
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp + 0x90]
lea r13, [rax + rcx*4]
imul r12d, r8d
movsxd rcx, r12d
movsxd rax, r15d
add rcx, rax
mov rax, qword [rbp - 0x68]
lea r15, [rax + rcx*4]
test esi, esi
jle 0x1400b2434
mov r12, rdi
shl r12, 2
mov qword [rbp + 0xc30], r12
mov rax, r8
shl rax, 2
mov qword [rbp + 0x90], rax
mov ecx, esi
mov qword [rbp - 0x68], rcx
mov ebx, dword [rbp + 0xc4]
mov r14d, 1
test r10d, r10d
jle 0x1400b2418
lea r9, [r15 + 2]
mov r11, r13
sub r11, r15
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 0x1400b23f6
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 + 0x69]
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 + 0x6a]
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, r14
jne 0x1400b232d
mov r12, qword [rbp + 0xc30]
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp - 0x68]
xor r9d, r9d
add r13, r12
add r15, rax
sub rcx, r14
mov qword [rbp - 0x68], rcx
jne 0x1400b2317
mov r14d, dword [rsp + 0x60]
mov rbx, qword [rbp - 0x40]
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, qword [rbp - 0x20]
call rdi
mov rsi, qword [rbp + 0xf0]
xor r15d, r15d
test rsi, rsi
je 0x1400b2471
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 - 0x70], r15d
jl 0x1400b2563
mov eax, 1
cmp dword [rbp - 4], eax
jne 0x1400b24ec
mov rdi, qword [0x14014dbd0]
mov rcx, rdi
call qword [fcn.140009050]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x20], ecx
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rbp + 0x800]
mov edx, dword [rbp + 0x7fc]
mov rbx, qword [rbp + 0xa0]
mov rcx, rbx
call rdi
jmp 0x1400b2545
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x48], ecx
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov r10, qword [rbp + 0x38]
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], ecx
mov r9d, eax
mov r8d, dword [rbp + 0xc24]
mov edx, dword [rbp + 0xc20]
mov rbx, qword [rbp + 0xa0]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14005daa0]
mov rcx, rdi
call qword [fcn.140009050]
mov edx, dword [rsp + 0x70]
mov rcx, rbx
call rdi
jmp 0x1400b2563
xor r15d, r15d
mov rbx, qword [rbp + 0xb8]
test rbx, rbx
je 0x1400b2584
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov rbx, qword [rbp + 0x38]
test rbx, rbx
je 0x1400b25a2
mov rdi, qword [0x14014dc00]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov rbx, qword [rbp + 0xc8]
test rbx, rbx
je 0x1400b25c3
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov r12d, 1
mov rax, qword [rbp + 0x7c8]
or rbx, 0xffffffffffffffff
test rax, rax
je 0x1400b261b
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], r15w
jne 0x1400b25dc
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x7c8]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x7c8]
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 + 0x7c8], r15
mov r13, qword [rbp + 0x7d0]
test r13, r13
je 0x1400b266a
mov rcx, rbx
inc rcx
cmp word [r13 + rcx*2], r15w
jne 0x1400b262a
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x7d0]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x7d0]
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 + 0x7d0], r15
mov rdi, qword [rbp + 0x7d8]
test rdi, rdi
je 0x1400b26b1
mov rcx, rbx
inc rcx
cmp word [rdi + rcx*2], r15w
jne 0x1400b2679
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x7d8]
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 + 0x7d8], r15
mov rbx, qword [rbp + 0x7e0]
test rbx, rbx
je 0x1400b26d9
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov qword [rbp + 0x7e0], r15
mov rbx, qword [rbp + 0x7e8]
test rbx, rbx
je 0x1400b2701
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov qword [rbp + 0x7e8], r15
mov rbx, qword [rbp + 0x7f0]
test rbx, rbx
je 0x1400b2729
mov rdi, qword [0x14014dc08]
mov rcx, rdi
call qword [fcn.140009050]
mov rcx, rbx
call rdi
mov qword [rbp + 0x7f0], r15
xor eax, eax
lock cmpxchg dword [0x140151218], r12d
jne 0x1400b2729
mov eax, dword [0x140151228]
test eax, eax
jle 0x1400b2798
sub eax, r12d
mov dword [0x140151228], eax
jne 0x1400b2798
lea rsi, [0x14014f870]
mov rdi, rsi
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400b2768
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r12
jne 0x1400b275a
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, r15d
xchg dword [0x140151218], eax
mov eax, dword [0x14014f868]
mov dword [rsp + 0x68], eax
mov rdi, qword [0x14014dc68]
mov rcx, rdi
call qword [fcn.140009050]
call rdi
sub eax, dword [0x140151220]
mov qword [rbp + 0x90], rax
mov dword [rbp + 0x1020], r15d
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0x1028]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x140151218], r12d
jne 0x1400b27e3
mov eax, dword [0x140151228]
test eax, eax
jne 0x1400b2dca
mov dword [rbp - 0x70], r15d
mov dword [rsp + 0x70], r15d
mov qword [rbp + 0x308], r15
mov qword [rbp + 0x4e8], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
mov qword [rbp + 0xc30], rax
xor eax, eax
test r15, r15
je 0x1400b2d48
mov ebx, eax
or r13d, 0xffffffff
mov r11d, eax
mov dword [rbp - 8], eax
mov esi, eax
mov dword [rbp + 0x24], eax
lea r12, [r15 + 7]
lea rcx, [0x14012e742]
lea r15d, [rax + 0x67]
lea r14d, [rax + 1]
movzx r10d, byte [rcx - 2]
shl r10d, 8
movzx eax, byte [rcx - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rcx]
or r10d, eax
shl r10d, 8
movzx eax, byte [rcx + 1]
or r10d, eax
movzx r9d, byte [rcx + 2]
shl r9d, 8
movzx eax, byte [rcx + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rcx + 5]
or r9d, eax
xor esi, r10d
xor r11d, r9d
add rcx, 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 + 0x24], r8d
xor r11d, r13d
mov dword [rbp - 8], r11d
mov byte [r12 - 4], r8b
ror dword [rbp + 0x24], 8
mov al, byte [rbp - 8]
mov byte [r12], al
ror dword [rbp - 8], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 5], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp - 8]
mov byte [r12 - 1], al
ror dword [rbp - 8], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 6], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp - 8]
mov byte [r12 - 2], al
ror dword [rbp - 8], 8
mov al, byte [rbp + 0x24]
mov byte [r12 - 7], al
mov al, byte [rbp - 8]
mov byte [r12 - 3], al
mov esi, dword [rbp + 0x24]
ror esi, 8
mov dword [rbp + 0x24], esi
mov r11d, dword [rbp - 8]
ror r11d, 8
mov dword [rbp - 8], r11d
mov ebx, r10d
mov r13d, r9d
lea r12, [r12 + 8]
sub r15, r14
jne 0x1400b2865
xor edx, edx
mov eax, edx
mov cl, al
mov r14d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x70]
mov r15, qword [rbp + 0xc30]
mov r13d, ebx
mov edi, 0x338
lea r12d, [rdx + 1]
xor cl, byte [rax + r15]
add rax, r12
cmp rax, rdi
jb 0x1400b2b8f
movzx eax, cl
cmp rax, qword [0x14012ea78]
je 0x1400b2baf
mov r13d, 0xc004d501
jmp 0x1400b2bc0
mov qword [rbp + 0x308], r15
mov r15, rdx
mov qword [rbp + 0x4e8], rdi
test r15, r15
je 0x1400b2bd9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r15d, r15d
test r13d, r13d
js 0x1400b2d48
mov rdi, qword [rbp + 0x308]
mov rax, qword [rbp + 0x4e8]
mov byte [rax + rdi - 1], r15b
xor edx, edx
lea r8d, [r15 + 0x60]
lea rsi, [0x14014f870]
mov rcx, rsi
call sub.msvcrt.dll_memset
cmp byte [rdi], r15b
je 0x1400b2d4d
mov r13d, ebx
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r15w
jne 0x1400b2c20
lea rdi, [rdi + rax*2]
mov eax, r13d
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 0x1400b2d48
mov ebx, r15d
mov rax, qword [rsi]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400b2c78
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400b2c78
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x1400b2c78
cmp dword [rcx], 0x4550
je 0x1400b2c7f
mov ebx, 0xc000007b
jmp 0x1400b2cad
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400b2c9c
mov ebx, 0xc000000d
jmp 0x1400b2cad
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov r12d, dword [rdi + 2]
add rdi, 6
xor edx, edx
test r12d, r12d
je 0x1400b2d21
mov qword [rbp + 0x480], rdx
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], dl
jne 0x1400b2cca
inc rdi
add rdi, rax
test ebx, ebx
js 0x1400b2d0c
lea r9, [rbp + 0x480]
mov r8, rsi
xor edx, edx
call fcn.140105cfc
mov ebx, eax
test eax, eax
js 0x1400b2d3f
mov eax, dword [rbp - 0x70]
mov rcx, qword [rbp + 0x480]
lea r8, [0x14014dbd0]
mov qword [r8 + rax*8], rcx
xor edx, edx
jmp 0x1400b2d0f
mov eax, dword [rbp - 0x70]
mov ecx, 1
add eax, ecx
mov dword [rbp - 0x70], eax
add r15d, ecx
cmp r15d, r12d
jb 0x1400b2cbc
mov r12d, 1
add r13d, r12d
xor r15d, r15d
cmp byte [rdi], r15b
lea rsi, [0x14014f870]
jne 0x1400b2c19
jmp 0x1400b2d4d
xor r15d, r15d
lea r12d, [r15 + 1]
jmp 0x1400b2d4d
mov ebx, 0xc000007a
cmp qword [rbp + 0x308], r15
je 0x1400b2d6e
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 ebx, ebx
jns 0x1400b2dc4
lea rsi, [0x14014f870]
mov rdi, rsi
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400b2d8f
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r12
jne 0x1400b2d81
lea r13d, [rbx + 0x60]
mov r8d, r13d
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 0x1400b2de0
mov eax, dword [0x140151228]
add eax, r12d
mov dword [0x140151228], eax
lea rsi, [0x14014f870]
mov r13d, 0x60
mov eax, r15d
xchg dword [0x140151218], eax
mov rcx, qword [rbp + 0x90]
mov dword [rbp + 0x1028], ecx
mov dword [rbp + 0x1020], r12d
mov dword [rbp + 0x1038], 0x4e33b984
mov dword [rbp + 0x1030], r12d
mov dword [rbp + 0x1048], r12d
mov dword [rbp + 0x1040], r12d
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x1058], eax
mov dword [rbp + 0x1050], r12d
mov rdi, qword [0x14014dca0]
mov rcx, rdi
call qword [fcn.140009050]
lea r9, [rbp + 0x1020]
mov edx, 0x2021
xor ecx, ecx
lea r8d, [rcx + 4]
call rdi
xor eax, eax
lock cmpxchg dword [0x140151218], r12d
jne 0x1400b2e51
mov eax, dword [0x140151228]
test eax, eax
jle 0x1400b2eb8
sub eax, r12d
mov dword [0x140151228], eax
jne 0x1400b2eb8
mov rdi, rsi
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400b2e89
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r12
jne 0x1400b2e7b
mov r8, r13
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, r15d
xchg dword [0x140151218], eax
mov rdi, qword [0x14014dd30]
mov rcx, rdi
call qword [fcn.140009050]
mov rdx, qword [rbp + 0xa0]
xor ecx, ecx
call rdi
lea rcx, [rbp + 0x678]
call fcn.140004a74
cmp dword [rbp + 0x84], r15d
je 0x1400b5481
mov rsi, r15
mov r13, r15
mov dword [rbp - 0x18], r15d
xor eax, eax
mov qword [rbp - 0x14], rax
mov dword [rbp - 0xc], eax
mov dword [rbp + 0x1c0], r15d
mov qword [rbp + 0x1c4], rax
mov dword [rbp + 0x1cc], eax
mov dword [rbp + 0x9c], r15d
lea rax, [0x14014e3a0]
mov qword [rbp + 0x610], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x4a0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov r12d, 8
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
xor edi, edi
test rax, rax
je 0x1400b53ec
mov r8, qword [rbp + 0x4a0]
mov rdx, qword [rbp + 0x610]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rsi, r15
mov qword [rsp + 0x68], r15
mov ebx, dword [rbp + 0x4a0]
lea rax, [0x14014e4e8]
mov qword [rbp + 0x658], rax
mov qword [rbp + 0x4b0], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r12d
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x1400b53ec
mov r8, qword [rbp + 0x4b0]
mov rdx, qword [rbp + 0x658]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r13, r12
mov qword [rbp + 0x38], r12
mov esi, dword [rbp + 0x4b0]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x598], rax
mov dword [rbp + 0x64], edi
lea r8, [rbp + 0x450]
lea edx, [rdi + 4]
mov ecx, edx
call fcn.140105f88
test eax, eax
js 0x1400b53e9
mov edx, dword [rbp + 0x450]
mov dword [rbp + 0x194], edx
lea r8, [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
call fcn.140105f88
or eax, 0x10000000
jl 0x1400b53e9
lea r8, [rbp + 0x3a0]
mov edx, ebx
lea ecx, [rdi + 4]
call fcn.140105f88
test eax, eax
js 0x1400b53e9
mov edx, dword [rbp + 0x3a0]
mov dword [rbp + 0x194], edx
lea r8, [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
call fcn.140105f88
or eax, 0x10000000
jl 0x1400b53e9
lea r8, [rbp + 0x420]
mov edx, esi
lea ecx, [rdi + 4]
call fcn.140105f88
test eax, eax
js 0x1400b53e9
mov edx, dword [rbp + 0x420]
mov dword [rbp + 0x194], edx
lea r8, [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
call fcn.140105f88
or eax, 0x10000000
jl 0x1400b53e9
lea r8, [rbp + 0x3b0]
lea edx, [rdi + 8]
lea ecx, [rdi + 4]
call fcn.140105f88
test eax, eax
js 0x1400b53e9
mov edx, dword [rbp + 0x3b0]
mov dword [rbp + 0x194], edx
lea r8, [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
call fcn.140105f88
or eax, 0x10000000
jl 0x1400b53e9
mov eax, dword [rbp + 0x64]
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]
xor edi, edi
test rax, rax
je 0x1400b53e9
mov qword [rbp - 0x10], rax
mov ecx, edi
mov dword [rbp - 0x18], ecx
mov dword [rbp + 0x2c8], 4
lea rdx, [rbp + 0x2c8]
test rdx, rdx
je 0x1400b3197
mov qword [rbp + 0x588], rax
mov dword [rbp + 0x6f8], 4
lea r8, [rbp + 0x700]
lea edx, [rdi + 4]
mov rcx, rax
call fcn.140105fa8
test eax, eax
js 0x1400b53e9
mov edx, dword [rbp - 0x14]
add rdx, qword [rbp - 0x10]
mov rdi, qword [rbp + 0x588]
lea rcx, [rdi + 8]
cmp rcx, rdx
ja 0x1400b353a
mov dword [rdi], 4
mov rdx, qword [rbp + 0x700]
mov ecx, dword [rbp + 0x2c8]
mov dword [rdx], ecx
mov ecx, dword [rbp - 0x18]
inc ecx
mov dword [rbp - 0x18], ecx
xor edi, edi
jmp 0x1400b319c
mov eax, 0xc000000d
test eax, eax
js 0x1400b53e9
test ebx, ebx
je 0x1400b32c9
cmp qword [rbp - 0x10], rdi
jne 0x1400b3201
lea r8, [rbp + 0x470]
mov edx, ebx
mov ecx, 4
call fcn.140105f88
xor ebx, ebx
test eax, eax
js 0x1400b53e9
mov edx, dword [rbp + 0x470]
mov dword [rbp + 0x324], edx
lea r8, [rbp - 0x14]
mov ecx, dword [rbp - 0x14]
call fcn.140105f88
test eax, eax
js 0x1400b53e9
mov ecx, dword [rbp - 0x18]
lea r15d, [rbx + 1]
add ecx, r15d
mov dword [rbp - 0x18], ecx
jmp 0x1400b32de
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x218], rax
test ecx, ecx
je 0x1400b3262
lea r8, [rbp + 0x3c0]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x1400b53e9
mov eax, dword [rbp + 0x3c0]
mov dword [rbp + 0x324], eax
mov edx, eax
lea r8, [rbp + 0x218]
mov rcx, qword [rbp + 0x218]
call fcn.140105fa8
test eax, eax
js 0x1400b53e9
inc edi
mov rax, qword [rbp + 0x218]
cmp edi, dword [rbp - 0x18]
jb 0x1400b3210
mov dword [rbp + 0x708], ebx
lea r8, [rbp + 0x710]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov edi, eax
test eax, eax
js 0x1400b53e9
mov r8, rbx
mov edx, dword [rbp - 0x14]
add rdx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x218]
lea rcx, [rax + 4]
add rcx, rbx
cmp rcx, rdx
ja 0x1400b353a
mov dword [rax], ebx
mov rdx, r15
mov rcx, qword [rbp + 0x710]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x18]
mov r15d, 1
add ecx, r15d
mov dword [rbp - 0x18], ecx
jmp 0x1400b32d4
mov edi, 0xc000000d
mov r15d, 1
xor ebx, ebx
test edi, edi
js 0x1400b353a
test esi, esi
je 0x1400b3406
cmp qword [rbp - 0x10], rbx
jne 0x1400b333b
lea r8, [rbp + 0x328]
mov edx, esi
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x1400b353a
mov edx, dword [rbp + 0x328]
mov dword [rbp + 0x338], edx
lea r8, [rbp - 0x14]
mov ecx, dword [rbp - 0x14]
call fcn.140105f88
test eax, eax
js 0x1400b353a
mov ecx, dword [rbp - 0x18]
mov r12d, 1
add ecx, r12d
mov dword [rbp - 0x18], ecx
jmp 0x1400b3419
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x228], rax
mov edi, ebx
test ecx, ecx
je 0x1400b339f
lea r8, [rbp + 0x330]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x1400b353a
mov eax, dword [rbp + 0x330]
mov dword [rbp + 0x338], eax
mov edx, eax
lea r8, [rbp + 0x228]
mov rcx, qword [rbp + 0x228]
call fcn.140105fa8
test eax, eax
js 0x1400b353a
add edi, r15d
mov rax, qword [rbp + 0x228]
cmp edi, dword [rbp - 0x18]
jb 0x1400b334c
mov dword [rbp + 0x728], esi
lea r8, [rbp + 0x730]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
mov edi, eax
test eax, eax
js 0x1400b353a
mov r8, rsi
mov edx, dword [rbp - 0x14]
add rdx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x228]
lea rcx, [rax + 4]
add rcx, rsi
cmp rcx, rdx
ja 0x1400b353a
mov dword [rax], esi
mov rdx, r12
mov rcx, qword [rbp + 0x730]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x18]
mov r12d, 1
add ecx, r12d
mov dword [rbp - 0x18], ecx
jmp 0x1400b3411
mov edi, 0xc000000d
mov r12d, 1
test edi, edi
js 0x1400b353a
mov rax, qword [rbp + 0x598]
mov qword [rbp + 0x4c0], rax
lea rax, [rbp + 0x4c0]
test rax, rax
je 0x1400b3544
cmp qword [rbp - 0x10], rbx
jne 0x1400b3482
lea r8, [rbp + 0x340]
mov edx, 8
lea ecx, [rdx - 4]
call fcn.140105f88
test eax, eax
js 0x1400b353a
mov edx, dword [rbp + 0x340]
mov dword [rbp + 0x350], edx
lea r8, [rbp - 0x14]
mov ecx, dword [rbp - 0x14]
call fcn.140105f88
test eax, eax
js 0x1400b353a
add dword [rbp - 0x18], r12d
jmp 0x1400b354d
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x238], rax
mov edi, ebx
test ecx, ecx
je 0x1400b34e2
lea r8, [rbp + 0x348]
mov edx, dword [rax]
mov ecx, 4
call fcn.140105f88
test eax, eax
js 0x1400b353a
mov eax, dword [rbp + 0x348]
mov dword [rbp + 0x350], eax
mov edx, eax
lea r8, [rbp + 0x238]
mov rcx, qword [rbp + 0x238]
call fcn.140105fa8
test eax, eax
js 0x1400b353a
add edi, r12d
mov rax, qword [rbp + 0x238]
cmp edi, dword [rbp - 0x18]
jb 0x1400b3493
mov dword [rbp + 0x748], 8
lea r8, [rbp + 0x750]
mov edx, 4
mov rcx, rax
call fcn.140105fa8
test eax, eax
js 0x1400b353a
mov edx, dword [rbp - 0x14]
add rdx, qword [rbp - 0x10]
mov rdi, qword [rbp + 0x238]
lea rcx, [rdi + 0xc]
cmp rcx, rdx
ja 0x1400b353a
mov dword [rdi], 8
mov rcx, qword [rbp + 0x750]
movsd xmm0, qword [rbp + 0x4c0]
movsd qword [rcx], xmm0
add dword [rbp - 0x18], r12d
jmp 0x1400b3549
mov rsi, qword [rsp + 0x68]
jmp 0x1400b53ec
mov eax, 0xc000000d
test eax, eax
js 0x1400b353a
lea r8, [rbp + 0x360]
mov edx, 4
mov ecx, edx
call fcn.140105f88
test eax, eax
js 0x1400b353a
mov eax, dword [rbp + 0x360]
mov dword [rbp + 0x370], eax
mov dword [rbp + 0x1ac], eax
lea r8, [rbp + 0x368]
mov edx, 8
lea ecx, [rdx - 4]
call fcn.140105f88
test eax, eax
js 0x1400b353a
mov edx, dword [rbp + 0x368]
mov dword [rbp + 0x370], edx
lea r8, [rbp + 0x1ac]
mov ecx, dword [rbp + 0x1ac]
call fcn.140105f88
test eax, eax
js 0x1400b353a
mov r13d, dword [rbp + 0x1ac]
mov dword [rsp + 0x78], r13d
mov rdi, rbx
mov qword [rbp + 0x48], rbx
mov r15d, ebx
mov qword [rbp + 0x300], rbx
mov qword [rbp + 0xb8], rbx
mov dword [rbp - 0x60], ebx
mov r12, rbx
mov qword [rbp + 0xc8], rbx
mov dword [rbp + 0xd0], ebx
mov qword [rbp - 0x40], rbx
mov qword [rbp + 0xa0], rbx
mov dword [rbp + 0x220], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x4d0], rax
mov dword [rbp + 0xd8], 8
lea r8, [rbp + 0xd8]
mov edx, dword [rbp - 0x14]
mov ecx, 8
call fcn.140105f88
mov ebx, eax
xor eax, eax
test ebx, ebx
js 0x1400b3734
mov eax, dword [rbp + 0xd8]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0xd8]
jae 0x1400b3653
mov ebx, 0xc0000095
xor eax, eax
jmp 0x1400b3734
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
xor eax, eax
test rdi, rdi
jne 0x1400b3689
mov ebx, 0xc0000017
mov rdi, r12
jmp 0x1400b3734
mov qword [rbp + 0x1e8], rdi
mov eax, dword [rbp - 0x18]
mov dword [rdi], eax
lea r8, [rbp + 0x1e8]
mov esi, 4
mov edx, esi
mov rcx, qword [rbp + 0x1e8]
call fcn.140105fa8
mov ebx, eax
xor eax, eax
test ebx, ebx
js 0x1400b3715
mov rcx, qword [rbp + 0x1e8]
mov eax, dword [rbp - 0x14]
mov dword [rcx], eax
lea r8, [rbp + 0x1e8]
mov edx, esi
mov rcx, qword [rbp + 0x1e8]
call fcn.140105fa8
mov ebx, eax
xor eax, eax
test ebx, ebx
js 0x1400b3715
mov ecx, dword [rbp + 0xd8]
mov rax, qword [rbp + 0x4d0]
mov qword [rcx + rdi - 8], rax
mov r8d, dword [rbp - 0x14]
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x1e8]
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x48], rdi
xor eax, eax
mov edi, eax
mov r15d, dword [rbp + 0xd8]
test rdi, rdi
je 0x1400b3730
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rdi, qword [rbp + 0x48]
or ebx, 0x10000000
jl 0x1400b5107
mov qword [rbp + 0x5b8], rax
mov qword [rbp + 0x5c8], rax
mov qword [rbp + 0x5d8], rax
mov qword [rbp + 0x580], rax
mov qword [rbp + 0x408], rax
mov qword [rbp + 0x5a8], rax
mov rsi, rax
mov qword [rbp + 0xc30], rax
test rdi, rdi
jne 0x1400b3783
mov ebx, 0xc000000d
jmp 0x1400b3ef5
mov ebx, r15d
mov qword [rbp + 0x90], rbx
test r15d, r15d
je 0x1400b3e45
lea rdi, [rbx + 8]
mov qword [rbp - 0x68], 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 r15, rax
mov qword [rbp + 0xf0], rax
xor eax, eax
test r15, r15
je 0x1400b3e45
mov dl, al
mov ecx, eax
mov r10, qword [rbp + 0x48]
test rbx, rbx
je 0x1400b37e4
lea r8d, [rax + 1]
xor dl, byte [rcx + r10]
add rcx, r8
cmp rcx, rbx
jb 0x1400b37d8
mov r9, r15
mov r8d, eax
mov dword [rbp - 0x24], eax
or r11d, 0xffffffff
mov dword [rbp - 0x48], r11d
mov r13d, eax
mov dword [rbp - 0x70], eax
mov rdi, rbx
and edi, 7
je 0x1400b38d6
mov r12d, eax
mov dword [rbp - 0x70], eax
mov r11d, eax
test edi, edi
jle 0x1400b3851
mov r8d, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x1400b382f
lea ecx, [r8 - 0x20]
shl eax, cl
or r12d, eax
jmp 0x1400b3837
mov ecx, r8d
shl eax, cl
or r13d, eax
mov eax, 1
add r10, rax
add r11d, eax
sub r8d, 8
cmp r11d, edi
jl 0x1400b381a
mov dword [rbp - 0x70], r12d
xor eax, eax
mov r8d, r12d
xor r8d, 0xfd02377a
mov dword [rbp - 0x24], r8d
mov r11d, r13d
xor r11d, 0xb47589d0
mov dword [rbp - 0x48], r11d
xor ecx, ecx
test edi, edi
jle 0x1400b389e
lea r12d, [rcx + 1]
cmp eax, 4
jge 0x1400b3885
rol r8d, 8
mov byte [r9], r8b
jmp 0x1400b388c
rol r11d, 8
mov byte [r9], r11b
add r9, r12
add eax, r12d
cmp eax, edi
jl 0x1400b3877
mov r8d, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x48]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400b38bb
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x48], r11d
jmp 0x1400b38d6
mov r11d, ecx
mov dword [rbp - 0x48], ecx
test eax, eax
jns 0x1400b38d6
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x24], r8d
mov r12, rbx
shr r12, 3
test r12, r12
je 0x1400b3c25
lea r15, [r9 + 7]
lea rbx, [r10 + 2]
mov esi, dword [rbp - 0x70]
mov r14d, 1
movzx r10d, byte [rbx - 2]
shl r10d, 8
movzx eax, byte [rbx - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 1]
or r10d, eax
movzx r9d, byte [rbx + 2]
shl r9d, 8
movzx eax, byte [rbx + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 5]
or r9d, eax
xor r11d, r9d
lea rbx, [rbx + 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, esi
mov dword [rbp - 0x24], r8d
xor r11d, r13d
mov dword [rbp - 0x48], r11d
mov byte [r15 - 4], r8b
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x48]
mov byte [r15], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 5], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x48]
mov byte [r15 - 1], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 6], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x48]
mov byte [r15 - 2], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x48]
mov byte [r15 - 3], al
mov r8d, dword [rbp - 0x24]
ror r8d, 8
mov dword [rbp - 0x24], r8d
mov r11d, dword [rbp - 0x48]
ror r11d, 8
mov dword [rbp - 0x48], r11d
mov esi, r10d
mov r13d, r9d
lea r15, [r15 + 8]
sub r12, r14
jne 0x1400b38f7
mov r14d, dword [rsp + 0x60]
mov rsi, qword [rbp + 0xc30]
mov rbx, qword [rbp + 0x90]
mov r15, qword [rbp + 0xf0]
movzx eax, dl
mov qword [r15 + rbx], rax
mov qword [rbp + 0x408], r15
mov rbx, qword [rbp - 0x68]
mov qword [rbp + 0x5a8], rbx
lea rax, [0x14014e4e0]
mov qword [rbp + 0x5b8], rax
mov r13d, 8
mov qword [rbp + 0x5c8], r13
lea r12, [0x14014e440]
mov qword [rbp + 0x5d8], r12
mov qword [rbp + 0x580], 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
xor eax, eax
test rdi, rdi
jne 0x1400b3c9c
mov ebx, 0xc0000017
jmp 0x1400b3e29
mov dword [rdi], ebx
mov ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r13d, r13d
test rax, rax
jne 0x1400b3cc9
mov ebx, 0xc0000017
xor eax, eax
jmp 0x1400b3da5
mov qword [rdi + 8], rax
mov r8, rbx
mov rdx, r15
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 0x1400b3cbd
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r12]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [rax + 0x60], xmm0
lea ecx, [rbx + 0x78]
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [rax + rcx - 0x10], xmm1
movups xmm0, xmmword [r12 + rcx]
movups xmmword [rax + rcx], xmm0
movups xmm1, xmmword [r12 + rcx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
mov dword [rdi + 0x20], 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 0x1400b3cbd
mov qword [rdi + 0x28], rax
mov ebx, r13d
movsd xmm0, qword [0x14014e4e0]
movsd qword [rax], xmm0
mov rsi, rdi
xor eax, eax
mov edi, eax
test rdi, rdi
je 0x1400b3e29
mov r15, qword [rdi + 8]
test r15, r15
je 0x1400b3dcd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 8], rax
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400b3df0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x18], rax
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x1400b3e13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov r12, qword [rbp + 0xc8]
mov r13d, dword [rsp + 0x78]
test ebx, ebx
js 0x1400b3e4a
mov qword [rbp + 0x300], rsi
mov rsi, rax
jmp 0x1400b3e4a
mov ebx, 0xc0000001
mov rdi, qword [rbp + 0x408]
test rdi, rdi
je 0x1400b3e73
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbp + 0x408], rax
test rsi, rsi
je 0x1400b3ef5
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400b3e9b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rsi + 8], rax
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x1400b3ebe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rsi + 0x18], rax
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x1400b3ee1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rsi + 0x28], rax
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 0x1400b5107
mov rsi, qword [rbp + 0x300]
mov r15d, dword [rsi + 0x20]
mov edi, dword [rsi + 0x10]
mov edx, dword [rsi]
mov dword [rbp + 0x5c], 4
lea r8, [rbp + 0x5c]
mov ecx, 4
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b3f96
lea r8, [rbp + 0x5c]
mov edx, 4
mov ecx, dword [rbp + 0x5c]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b3f96
lea r8, [rbp + 0x5c]
mov edx, edi
mov ecx, dword [rbp + 0x5c]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b3f96
lea r8, [rbp + 0x5c]
mov edx, 4
mov ecx, dword [rbp + 0x5c]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b3f96
lea r8, [rbp + 0x5c]
mov edx, r15d
mov ecx, dword [rbp + 0x5c]
call fcn.140105f88
mov ebx, eax
mov eax, dword [rbp + 0x1b4]
xor r15d, r15d
test ebx, ebx
cmovns eax, dword [rbp + 0x5c]
mov dword [rbp + 0x1b4], eax
jmp 0x1400b3f9f
mov eax, dword [rbp + 0x1b4]
xor r15d, r15d
test ebx, ebx
js 0x1400b40df
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 0x1400b3fd2
mov ebx, 0xc0000017
jmp 0x1400b40df
mov qword [rbp + 0x70], rax
mov eax, dword [rsi]
mov dword [rdi], eax
lea r8, [rbp + 0x70]
mov edx, 4
mov rcx, qword [rbp + 0x70]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b40c6
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
mov rcx, qword [rbp + 0x70]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi]
lea r8, [rbp + 0x70]
mov rcx, qword [rbp + 0x70]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b40c6
mov ecx, dword [rsi + 0x10]
mov rax, qword [rbp + 0x70]
mov dword [rax], ecx
lea r8, [rbp + 0x70]
mov edx, 4
mov rcx, qword [rbp + 0x70]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b40c6
mov r8d, dword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rbp + 0x70]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi + 0x10]
lea r8, [rbp + 0x70]
mov rcx, qword [rbp + 0x70]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b40c6
mov ecx, dword [rsi + 0x20]
mov rax, qword [rbp + 0x70]
mov dword [rax], ecx
lea r8, [rbp + 0x70]
mov edx, 4
mov rcx, qword [rbp + 0x70]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b40c6
mov r8d, dword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
mov rcx, qword [rbp + 0x70]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi + 0x20]
lea r8, [rbp + 0x70]
mov rcx, qword [rbp + 0x70]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b40c6
mov qword [rbp + 0xb8], rdi
mov rdi, r15
mov eax, dword [rbp + 0x1b4]
mov dword [rbp - 0x60], eax
test rdi, rdi
je 0x1400b40df
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
or ebx, 0x10000000
jl 0x1400b5107
mov qword [rbp + 0x5f8], r15
mov dword [rbp + 0x290], r15d
mov qword [rbp + 0x608], r15
mov dword [rbp + 0x264], r15d
mov dword [rbp + 0x1bc], 8
lea r8, [rbp + 0x1bc]
mov edx, r13d
mov ecx, 8
call fcn.140105f88
mov ebx, eax
or ebx, 0x10000000
jl 0x1400b4399
mov eax, dword [rbp + 0x1bc]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x1bc]
jae 0x1400b414f
mov ebx, 0xc0000095
jmp 0x1400b417f
mov dword [rbp + 0x204], eax
lea r8, [rbp + 0x204]
mov edx, 8
mov ecx, eax
call fcn.140105f88
mov ebx, eax
mov eax, dword [rbp + 0x260]
test ebx, ebx
cmovns eax, dword [rbp + 0x204]
mov dword [rbp + 0x260], eax
test ebx, ebx
js 0x1400b4399
mov r13d, 1
cmp qword [rbp - 0x10], r15
jne 0x1400b419d
mov ebx, 0xc000000d
jmp 0x1400b439f
cmp dword [rbp - 0x18], r13d
jbe 0x1400b4193
mov rcx, qword [rbp - 0x10]
mov qword [rbp + 0x168], rcx
mov edi, r15d
mov esi, dword [rcx]
lea r8, [rbp + 0x168]
mov edx, 4
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b422e
mov edx, esi
lea r8, [rbp + 0x168]
mov rcx, qword [rbp + 0x168]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b422e
add edi, r13d
mov rcx, qword [rbp + 0x168]
cmp edi, r13d
jb 0x1400b41b1
mov edi, dword [rcx]
lea r8, [rbp + 0x168]
mov edx, 4
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b422e
mov dword [rbp + 0x290], edi
mov rax, qword [rbp + 0x168]
test edi, edi
cmove rax, r15
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x5f8], rax
test ebx, ebx
js 0x1400b5107
cmp qword [rbp - 0x10], r15
je 0x1400b4193
cmp dword [rbp - 0x18], 2
jbe 0x1400b4193
mov rcx, qword [rbp - 0x10]
mov qword [rbp + 0x120], rcx
mov edi, r15d
mov esi, dword [rcx]
lea r8, [rbp + 0x120]
mov edx, 4
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b42d7
mov edx, esi
lea r8, [rbp + 0x120]
mov rcx, qword [rbp + 0x120]
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b42d7
add edi, r13d
mov rcx, qword [rbp + 0x120]
cmp edi, 2
jb 0x1400b4258
mov edi, dword [rcx]
lea r8, [rbp + 0x120]
mov edx, 4
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b42d7
mov dword [rbp + 0x264], edi
mov rax, qword [rbp + 0x120]
test edi, edi
cmove rax, r15
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x608], rax
jmp 0x1400b42dd
mov edi, dword [rbp + 0x264]
test ebx, ebx
js 0x1400b5107
mov esi, dword [rbp + 0x290]
mov dword [rbp + 0x60], 4
lea r8, [rbp + 0x60]
mov edx, dword [rbp + 0x260]
mov ecx, 4
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b4372
lea r8, [rbp + 0x60]
mov edx, 4
mov ecx, dword [rbp + 0x60]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b4372
lea r8, [rbp + 0x60]
mov edx, esi
mov ecx, dword [rbp + 0x60]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b4372
lea r8, [rbp + 0x60]
mov edx, 4
mov ecx, dword [rbp + 0x60]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b4372
lea r8, [rbp + 0x60]
mov edx, edi
mov ecx, dword [rbp + 0x60]
call fcn.140105f88
mov ebx, eax
mov eax, dword [rbp + 0x250]
test ebx, ebx
cmovns eax, dword [rbp + 0x60]
mov dword [rbp + 0x250], eax
jmp 0x1400b4378
mov eax, dword [rbp + 0x250]
test ebx, ebx
js 0x1400b5107
cmp eax, 0x400000
jbe 0x1400b4391
mov ebx, 0x8000ffff
jmp 0x1400b5107
mov dword [rbp + 0xd0], eax
jmp 0x1400b439f
mov r13d, 1
test ebx, ebx
js 0x1400b5107
mov ebx, r15d
mov edi, dword [rbp + 0xd0]
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 0x1400b43d3
mov ebx, 0xc0000017
jmp 0x1400b43dd
mov r12, rax
mov qword [rbp + 0xc8], rax
or ebx, 0x10000000
jl 0x1400b5107
mov rax, qword [rbp + 0xb8]
test rax, rax
jne 0x1400b43ff
mov ebx, 0x80070057
jmp 0x1400b5107
test r12, r12
je 0x1400b43f5
mov qword [rbp + 0x6a8], rax
mov eax, dword [rbp - 0x60]
mov dword [rbp + 0x6b8], eax
mov qword [rbp + 0x6b0], r12
mov eax, dword [rbp + 0xd0]
mov dword [rbp + 0x6bc], eax
mov dword [rbp + 0x6c0], r15d
lea r8, [rbp + 0x618]
lea rdx, [0x14012c838]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400b4465
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x618]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x1400b4484
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400b44bc
mov ebx, 0x80004005
jmp 0x1400b44bc
mov rcx, rax
call qword [fcn.140009050]
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x6a8]
lea ecx, [r8 + 0x66]
call rdi
mov ebx, eax
mov eax, dword [rbp + 0xd0]
or ebx, 0x10000000
cmovns eax, dword [rbp + 0x6bc]
mov dword [rbp + 0xd0], eax
cmp ebx, 0xd0000023
jne 0x1400b44ce
mov ebx, 0x8007007a
jmp 0x1400b5107
test ebx, ebx
js 0x1400b5107
mov edi, dword [rbp + 0xd0]
mov rsi, r15
mov dword [rbp - 0x50], r15d
mov qword [rbp + 0x100], r12
cmp edi, 4
jae 0x1400b44f9
mov ebx, 0xc000003e
jmp 0x1400b48ed
mov r13d, dword [r12]
lea r8, [rbp + 0x100]
mov edx, 4
mov rcx, r12
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b48ed
lea r8, [rbp - 0x50]
mov edx, 4
mov ecx, dword [rbp - 0x50]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b48ed
mov eax, edi
sub eax, dword [rbp - 0x50]
cmp eax, r13d
jb 0x1400b44ef
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x68], rax
lea r8, [rbp + 0x100]
mov edx, r13d
mov rcx, rax
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b48ed
lea r8, [rbp - 0x50]
mov edx, r13d
mov ecx, dword [rbp - 0x50]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b48ed
mov eax, edi
sub eax, dword [rbp - 0x50]
cmp eax, 4
jb 0x1400b44ef
mov rcx, qword [rbp + 0x100]
mov r12d, dword [rcx]
lea r8, [rbp + 0x100]
mov edx, 4
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b48ed
lea r8, [rbp - 0x50]
mov edx, 4
mov ecx, dword [rbp - 0x50]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b48ed
mov eax, edi
sub eax, dword [rbp - 0x50]
cmp eax, r12d
jb 0x1400b44ef
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x90], rax
lea r8, [rbp + 0x100]
mov edx, r12d
mov rcx, rax
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b48ed
lea r8, [rbp - 0x50]
mov edx, r12d
mov ecx, dword [rbp - 0x50]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b48ed
mov eax, edi
sub eax, dword [rbp - 0x50]
cmp eax, 4
jb 0x1400b44ef
mov rcx, qword [rbp + 0x100]
mov r15d, dword [rcx]
lea r8, [rbp + 0x100]
mov edx, 4
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b48ea
lea r8, [rbp - 0x50]
mov edx, 4
mov ecx, dword [rbp - 0x50]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b48ea
mov eax, edi
mov ecx, dword [rbp - 0x50]
sub eax, ecx
cmp eax, r15d
jae 0x1400b4683
mov ebx, 0xc000003e
jmp 0x1400b48ea
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x20], rax
lea r8, [rbp - 0x50]
mov edx, r15d
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b48ea
cmp edi, dword [rbp - 0x50]
jne 0x1400b4679
lea ecx, [r15 + r12]
add ecx, r13d
add rcx, 0xc
cmp rcx, rdi
jne 0x1400b4679
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
xor eax, eax
test rdi, rdi
jne 0x1400b46e8
mov ebx, 0xc0000017
xor r15d, r15d
jmp 0x1400b4861
mov ebx, eax
cmp qword [rbp - 0x68], rax
je 0x1400b4735
mov dword [rdi], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
test rax, rax
jne 0x1400b471e
mov ebx, 0xc0000017
xor r15d, r15d
jmp 0x1400b47df
mov qword [rdi + 8], rax
mov r8, r13
mov rdx, qword [rbp - 0x68]
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor eax, eax
jmp 0x1400b473b
mov dword [rdi], eax
mov qword [rdi + 8], rax
mov r13, qword [rbp + 0x90]
test r13, r13
je 0x1400b477f
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]
xor ecx, ecx
test rax, rax
je 0x1400b4711
mov qword [rdi + 0x18], rax
mov ebx, ecx
mov r8, r12
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400b4786
mov dword [rdi + 0x10], eax
mov qword [rdi + 0x18], rax
mov r12, qword [rbp - 0x20]
test r12, r12
je 0x1400b47ce
mov dword [rdi + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
test rax, rax
je 0x1400b4711
mov qword [rdi + 0x28], rax
mov ebx, ecx
mov r8, r15
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r15d, r15d
jmp 0x1400b47d9
xor r15d, r15d
mov dword [rdi + 0x20], r15d
mov qword [rdi + 0x28], r15
mov rsi, rdi
mov rdi, r15
test rdi, rdi
je 0x1400b4861
mov r15, qword [rdi + 8]
xor r12d, r12d
test r15, r15
je 0x1400b4808
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r12
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400b4829
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r12
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x1400b484d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r15d, r15d
mov qword [rdi + 0x28], r15
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 0x1400b486c
mov qword [rbp - 0x40], rsi
mov rsi, r15
test rsi, rsi
je 0x1400b48ed
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400b4892
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], r15
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x1400b48b3
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], r15
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x1400b48d4
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], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400b48ed
xor r15d, r15d
or ebx, 0x10000000
jl 0x1400b5107
mov rdi, r15
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x4e0], r15
mov ebx, r15d
mov dword [rsp + 0x70], ebx
mov rax, qword [rbp - 0x40]
test rax, rax
jne 0x1400b4924
mov ebx, 0xc000000d
jmp 0x1400b4e83
mov rsi, qword [rax + 8]
mov qword [rbp - 0x68], rsi
test rsi, rsi
je 0x1400b491a
cmp dword [rax], r15d
je 0x1400b491a
mov r15d, dword [rax]
test r15, r15
je 0x1400b4e5b
add r15, 0xfffffffffffffff8
mov qword [rbp + 0x90], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp + 0xf0], rax
xor ecx, ecx
test rax, rax
je 0x1400b4e54
mov dl, cl
mov byte [rsp + 0x64], cl
mov r9, rsi
mov r8, rax
mov rdi, r15
mov dword [rbp - 0x34], ecx
mov r13d, ecx
and edi, 7
je 0x1400b4a67
or r11d, 0xffffffff
mov dword [rbp - 0x54], r11d
mov r11d, ecx
mov dword [rbp + 0x88], ecx
mov r10d, ecx
test edi, edi
jle 0x1400b49e6
lea esi, [rcx + 0x38]
movzx eax, byte [r9]
cmp r10d, 4
jge 0x1400b49c3
lea ecx, [rsi - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400b49ca
mov ecx, esi
shl eax, cl
or r11d, eax
mov eax, 1
add r9, rax
add r10d, eax
sub esi, 8
cmp r10d, edi
jl 0x1400b49af
mov dword [rbp + 0x88], r11d
xor ecx, ecx
mov esi, r13d
xor esi, 0x5c3fcbda
mov dword [rbp - 0x34], esi
xor r11d, 0x66fa8c2b
mov dword [rbp - 0x54], r11d
mov eax, ecx
test edi, edi
jle 0x1400b4a2e
mov r10d, 1
cmp eax, 4
jge 0x1400b4a16
rol esi, 8
mov byte [r8], sil
jmp 0x1400b4a1d
rol r11d, 8
mov byte [r8], r11b
add r8, r10
add eax, r10d
cmp eax, edi
jl 0x1400b4a09
mov esi, dword [rbp - 0x34]
mov r11d, dword [rbp - 0x54]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400b4a4b
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x54], r11d
jmp 0x1400b4a63
mov r11d, ecx
mov dword [rbp - 0x54], ecx
test eax, eax
jns 0x1400b4a6f
neg eax
shl eax, 3
mov ecx, eax
shr esi, cl
shl esi, cl
mov dword [rbp - 0x34], esi
xor ecx, ecx
jmp 0x1400b4a6f
mov r11d, ecx
mov dword [rbp - 0x54], ecx
mov esi, ecx
mov rax, r15
shr rax, 3
test rax, rax
je 0x1400b4dc2
lea r12, [r8 + 7]
lea r15, [r9 + 2]
mov rdx, rax
mov ebx, dword [rbp + 0x88]
mov r14d, 1
movzx r10d, byte [r15 - 2]
shl r10d, 8
movzx eax, byte [r15 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 1]
or r10d, eax
movzx r9d, byte [r15 + 2]
shl r9d, 8
movzx eax, byte [r15 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 5]
or r9d, eax
xor esi, r10d
xor r11d, r9d
lea r15, [r15 + 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, r13d
xor r8d, ecx
mov dword [rbp - 0x34], r8d
xor r11d, ebx
mov dword [rbp - 0x54], r11d
mov byte [r12 - 4], r8b
ror dword [rbp - 0x34], 8
mov al, byte [rbp - 0x54]
mov byte [r12], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x34]
mov byte [r12 - 5], al
ror dword [rbp - 0x34], 8
mov al, byte [rbp - 0x54]
mov byte [r12 - 1], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x34]
mov byte [r12 - 6], al
ror dword [rbp - 0x34], 8
mov al, byte [rbp - 0x54]
mov byte [r12 - 2], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x34]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x54]
mov byte [r12 - 3], al
mov esi, dword [rbp - 0x34]
ror esi, 8
mov dword [rbp - 0x34], esi
mov r11d, dword [rbp - 0x54]
ror r11d, 8
mov dword [rbp - 0x54], r11d
mov r13d, r10d
mov ebx, r9d
lea r12, [r12 + 8]
sub rdx, r14
jne 0x1400b4a96
mov dl, byte [rsp + 0x64]
mov r14d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x70]
mov r15, qword [rbp + 0x90]
mov r12, qword [rbp + 0xf0]
xor ecx, ecx
mov rax, rcx
test r15, r15
je 0x1400b4ddb
mov ecx, 1
xor dl, byte [rax + r12]
add rax, rcx
cmp rax, r15
jb 0x1400b4dcf
movzx eax, dl
mov rcx, qword [rbp - 0x68]
cmp rax, qword [r15 + rcx]
je 0x1400b4df6
mov esi, 0xc004d501
mov rdi, qword [rbp + 0x1f8]
jmp 0x1400b4e0e
mov rdi, r12
mov qword [rbp + 0x1f8], r12
xor eax, eax
mov r12d, eax
mov qword [rbp + 0x4e0], r15
mov esi, eax
xor r15d, r15d
test r12, r12
je 0x1400b4e31
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 + 0x1f8]
test esi, esi
js 0x1400b4e5e
mov qword [rbp + 0xa0], rdi
mov rdi, r15
mov qword [rbp + 0x1f8], r15
mov eax, dword [rbp + 0x4e0]
mov dword [rbp + 0x220], eax
jmp 0x1400b4e63
mov rdi, qword [rbp + 0x1f8]
xor r15d, r15d
mov ebx, 0xc0000001
test rdi, rdi
je 0x1400b4e83
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 + 0x1f8], r15
or ebx, 0x10000000
jl 0x1400b5107
mov esi, dword [rbp + 0x220]
mov dword [rbp + 0x80], r15d
mov r13, qword [rbp + 0xa0]
mov qword [rbp + 0x318], r13
mov edi, 4
cmp esi, edi
jb 0x1400b50fe
mov eax, dword [r13]
mov dword [rsp + 0x70], eax
lea r8, [rbp + 0x318]
mov edx, edi
mov rcx, r13
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b5103
lea r8, [rbp + 0x80]
mov edx, edi
mov ecx, dword [rbp + 0x80]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b5103
mov eax, esi
sub eax, dword [rbp + 0x80]
cmp eax, edi
jb 0x1400b50fe
mov rcx, qword [rbp + 0x318]
mov r12d, dword [rcx]
lea r8, [rbp + 0x318]
mov edx, edi
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b5103
lea r8, [rbp + 0x80]
mov edx, edi
mov ecx, dword [rbp + 0x80]
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b5103
mov eax, esi
mov ecx, dword [rbp + 0x80]
sub eax, ecx
cmp eax, r12d
jb 0x1400b50fe
mov rdi, qword [rbp + 0x318]
lea r8, [rbp + 0x80]
mov edx, r12d
call fcn.140105f88
mov ebx, eax
test eax, eax
js 0x1400b5103
lea rcx, [r12 + rdi]
lea rax, [rsi + r13]
cmp rax, rcx
jb 0x1400b50fe
mov rax, r13
sub rax, r12
sub rax, rdi
add rax, rsi
cmp rax, 8
jae 0x1400b50fe
xor ecx, ecx
mov r13d, ecx
mov ebx, ecx
mov esi, ecx
mov dword [rbp + 0x88], ecx
test rdi, rdi
je 0x1400b5098
mov rsi, rdi
lea r8, [rbp + 0x418]
mov edx, r12d
mov rcx, rdi
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b50ee
mov rax, qword [rbp + 0x418]
cmp rdi, rax
jae 0x1400b508d
lea r8, [rbp + 0x550]
mov edx, 4
mov rcx, rsi
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b50ee
mov rax, qword [rbp + 0x418]
cmp qword [rbp + 0x550], rax
ja 0x1400b5086
lea r8, [rbp + 0x3f4]
mov edx, dword [rsi]
mov ecx, 4
call fcn.140105f88
mov ebx, eax
mov eax, dword [rbp + 0x444]
test ebx, ebx
cmovns eax, dword [rbp + 0x3f4]
mov dword [rbp + 0x444], eax
js 0x1400b5103
mov edx, eax
lea r8, [rbp + 0x560]
mov rcx, rsi
call fcn.140105fa8
mov ebx, eax
test eax, eax
js 0x1400b50ee
mov rsi, qword [rbp + 0x560]
mov rax, qword [rbp + 0x418]
cmp rsi, rax
ja 0x1400b5086
inc dword [rbp + 0x88]
cmp rsi, rax
jb 0x1400b4fe9
jmp 0x1400b508d
mov ebx, 0xc000000d
jmp 0x1400b5103
cmp rsi, rax
jne 0x1400b5086
mov esi, dword [rbp + 0x88]
test r12d, r12d
je 0x1400b50c7
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
xor ecx, ecx
test rax, rax
jne 0x1400b50c5
mov ebx, 0xc0000017
jmp 0x1400b50ee
mov ebx, ecx
test rdi, rdi
je 0x1400b50da
mov r8, r12
mov rdx, rdi
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x1c8], r13
mov dword [rbp + 0x1c4], r12d
mov dword [rbp + 0x1c0], esi
test ebx, ebx
js 0x1400b5103
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbp + 0x1c0]
je 0x1400b5103
mov ebx, 0xc000003e
bts ebx, 0x1c
mov rdi, qword [rbp + 0x48]
xor r15d, r15d
test rdi, rdi
je 0x1400b5127
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 + 0x300]
test rsi, rsi
je 0x1400b51b1
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400b5154
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], r15
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x1400b5175
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], r15
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x1400b5196
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], r15
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 + 0x300], r15
mov rdi, qword [rbp + 0xb8]
test rdi, rdi
je 0x1400b51d1
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 + 0xc8]
test rdi, rdi
je 0x1400b51f1
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 - 0x40]
test rsi, rsi
je 0x1400b5271
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400b521b
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], r15
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x1400b523c
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], r15
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x1400b525d
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], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0xa0]
test rdi, rdi
je 0x1400b5291
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 0x1400b53de
mov eax, dword [rbp + 0x1c0]
mov r12d, 1
cmp eax, r12d
jb 0x1400b53de
mov rdi, qword [rbp + 0x1c8]
test rdi, rdi
je 0x1400b53de
test eax, eax
je 0x1400b53de
mov qword [rbp + 0x428], rdi
mov ebx, dword [rdi]
lea r8, [rbp + 0x428]
lea edx, [r12 + 3]
mov rcx, rdi
call fcn.140105fa8
test eax, eax
js 0x1400b53de
mov dword [rbp + 0x654], ebx
mov rax, qword [rbp + 0x428]
test ebx, ebx
cmove rax, r15
mov qword [rbp + 0x428], rax
mov qword [rbp + 0x7b0], rax
cmp ebx, 4
jne 0x1400b53de
mov eax, dword [rax]
mov dword [rbp + 0x9c], eax
test eax, eax
js 0x1400b53de
mov rdi, qword [rbp + 0x1c8]
test rdi, rdi
je 0x1400b53de
cmp dword [rbp + 0x1c0], r12d
jbe 0x1400b53de
mov qword [rbp + 0x110], rdi
mov ebx, r15d
mov esi, dword [rdi]
lea r8, [rbp + 0x110]
mov edx, 4
mov rcx, rdi
call fcn.140105fa8
test eax, eax
js 0x1400b53de
mov edx, esi
lea r8, [rbp + 0x110]
mov rcx, qword [rbp + 0x110]
call fcn.140105fa8
test eax, eax
js 0x1400b53de
add ebx, r12d
cmp ebx, r12d
jae 0x1400b5390
mov rdi, qword [rbp + 0x110]
jmp 0x1400b534c
mov rcx, qword [rbp + 0x110]
mov edi, dword [rcx]
lea r8, [rbp + 0x110]
mov edx, 4
call fcn.140105fa8
test eax, eax
js 0x1400b53de
mov dword [rbp + 0x558], edi
mov rax, qword [rbp + 0x110]
test edi, edi
cmove rax, r15
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x7a8], rax
cmp edi, 8
jne 0x1400b53de
mov rax, qword [rax]
mov qword [rbp + 0x7a0], rax
mov rsi, qword [rsp + 0x68]
mov r13, qword [rbp + 0x38]
jmp 0x1400b53ef
mov rsi, r15
xor r15d, r15d
mov qword [rbp - 0x18], 0
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x1400b5418
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 - 0x10], r15
mov qword [rbp + 0x1c0], 0
mov rdi, qword [rbp + 0x1c8]
test rdi, rdi
je 0x1400b544a
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 + 0x1c8], r15
test rsi, rsi
je 0x1400b5463
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x1400b5481
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400b5481
xor r15d, r15d
mov eax, dword [rbp + 0x17c]
mov dword [rbp + 0x650], eax
mov ebx, dword [rbp + 0x258]
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1f0], r15
mov qword [rbp + 0x438], rax
jmp 0x1400b54b3
xor r15d, r15d
mov ebx, dword [rbp + 0x9c]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x140151218], r12d
jne 0x1400b54b9
mov eax, dword [0x140151228]
test eax, eax
jle 0x1400b5528
sub eax, r12d
mov dword [0x140151228], eax
jne 0x1400b5528
lea r13, [0x14014f870]
mov rdi, r13
mov esi, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400b54f8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r12
jne 0x1400b54ea
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, r15d
xchg dword [0x140151218], eax
lea rcx, [rbp + 0x1f0]
call fcn.140105f60
test r14d, r14d
jns 0x1400b5599
cmp r14d, 0xd0000034
jne 0x1400b5553
mov r14d, 0xc004f012
jmp 0x1400b5594
cmp r14d, 0xd00000e5
je 0x1400b5576
cmp r14d, 0xc004d501
je 0x1400b5576
cmp r14d, 0xd000003e
jne 0x1400b557c
mov r14d, 0xc004f028
jmp 0x1400b5594
mov r14d, 0xc004f027
test r14d, r14d
jns 0x1400b5599
cmp r14d, 0x8007007a
jne 0x1400b5594
mov ebx, 0xc004f01e
mov dword [rbp + 0x58], ebx
jmp 0x1400b55b0
mov ebx, r14d
jmp 0x1400b558f
cmp ebx, 4
jne 0x1400b558a
mov rax, qword [rbp + 0x438]
mov ecx, dword [rax]
mov dword [rbp + 0x230], ecx
mov ebx, dword [rbp + 0x58]
lea rcx, [rbp + 0x438]
call fcn.140105f60
test ebx, ebx
jns 0x1400b5608
lea rax, [0x14014dd40]
mov rcx, qword [0x14014dd40]
cmp rcx, rax
je 0x1400b5770
test byte [rcx + 0x1c], 2
je 0x1400b5770
cmp byte [rcx + 0x19], 2
jb 0x1400b5770
mov edx, 0x3f
mov r9d, ebx
lea r8, [0x140127178]
mov rcx, qword [rcx + 0x10]
call fcn.1400036d4
jmp 0x1400b5770
cmp dword [rbp + 0x230], r15d
jne 0x1400b561b
mov edi, 0x80004005
jmp 0x1400b5773
mov qword [rbp + 0x488], r15
mov qword [rbp + 0x490], r15
mov qword [rbp + 0x498], r15
mov qword [rbp + 0x4f0], r15
lea rax, [rbp + 0x4f0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindows_Media_Player_NSS3.0
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ecx, eax
test eax, eax
jne 0x1400b5695
mov ecx, r15d
mov rax, qword [rbp + 0x488]
test rax, rax
je 0x1400b5687
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, eax
mov qword [rbp + 0x488], r15
mov rax, qword [rbp + 0x4f0]
mov qword [rbp + 0x488], rax
test ecx, ecx
je 0x1400b56f0
movzx edi, cx
or edi, 0x80070000
test ecx, ecx
cmovle edi, ecx
lea rax, [0x14014dd40]
mov rcx, qword [0x14014dd40]
cmp rcx, rax
je 0x1400b56df
test byte [rcx + 0x1c], 2
je 0x1400b56df
cmp byte [rcx + 0x19], 2
jb 0x1400b56df
mov edx, 0x40
mov r9d, edi
lea r8, [0x140127178]
mov rcx, qword [rcx + 0x10]
call fcn.1400036d4
nop
lea rcx, [rbp + 0x488]
call fcn.140009270
jmp 0x1400b5773
mov rbx, qword [rbp + 0x570]
mov r8, rbx
lea rdx, str.InternetSharingSecurityGroup
lea rcx, [rbp + 0x488]
call fcn.1400bdba4
mov edi, eax
test eax, eax
je 0x1400b5764
mov rcx, rbx
call fcn.140004f24
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov dword [rbp + 0x58], ebx
lea rax, [0x14014dd40]
mov rcx, qword [0x14014dd40]
cmp rcx, rax
je 0x1400b5764
test byte [rcx + 0x1c], 2
je 0x1400b5764
cmp byte [rcx + 0x19], 2
jb 0x1400b5764
mov edx, 0x41
mov r9d, ebx
lea r8, [0x140127178]
mov rcx, qword [rcx + 0x10]
call fcn.1400036d4
nop
lea rcx, [rbp + 0x488]
call fcn.140009270
mov edi, dword [rbp + 0x58]
mov eax, edi
mov rcx, qword [rbp + 0x1400]
xor rcx, rsp
call fcn.140106ed0
lea r11, [rsp + 0x1510]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret