Function at 0x1400a2764
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 - 0x1150]
mov eax, 0x1250
call fcn.1400cdc20
sub rsp, rax
mov qword [rbp + 0x4d0], 0xfffffffffffffffe
mov qword [rsp + 0x1288], rbx
mov qword [rsp + 0x1290], rsi
mov qword [rsp + 0x1298], rdi
mov rax, qword [0x140109328]
xor rax, rsp
mov qword [rbp + 0x1140], rax
mov qword [rbp + 0x458], rcx
xor eax, eax
mov dword [rbp + 0x148], eax
mov qword [rbp + 0x1c0], rax
mov dword [rbp + 0x38], eax
mov dword [rbp + 0x138], eax
mov dword [rbp + 0x100], eax
mov qword [rbp + 0x110], rax
mov dword [rbp + 0x68], eax
lea r12d, [rax + 1]
xor eax, eax
lock cmpxchg dword [0x14010bde4], r12d
jne 0x1400a27ea
mov esi, 0x338
or edi, 0xffffffff
mov dword [rbp + 0x104], edi
mov eax, dword [0x14010bde0]
test eax, eax
jne 0x1400a2dc3
xor eax, eax
mov dword [rbp - 0x78], eax
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x290], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
mov qword [rbp + 0x58], rax
xor eax, eax
test r14, r14
je 0x1400a2d3e
mov ebx, eax
mov eax, edi
xor ecx, ecx
mov esi, ecx
mov dword [rbp], ecx
mov r11d, ecx
mov dword [rbp + 0x18], ecx
lea r15, [r14 + 7]
lea r12, [0x1400eb132]
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 r11d, r10d
xor esi, r9d
lea r12, [r12 + 8]
xor esi, r11d
xor esi, 0xac987321
lea ecx, [rsi + 0x54969fa2]
rol ecx, 5
mov edx, esi
rol edx, 0xa
imul ecx, ecx, 0x137f
add edx, ecx
xor r11d, edx
lea ecx, [r11 + 0x7f1137f]
ror ecx, 9
mov edx, r11d
rol edx, 2
imul ecx, ecx, 0xab69
sub ecx, edx
xor esi, ecx
lea ecx, [rsi - 0x137f]
imul edx, ecx, 0x605e
mov ecx, esi
shr ecx, 0xd
sub edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0xab69
rol ecx, 6
mov edx, r11d
rol edx, 2
imul ecx, ecx, 0x7f1
sub ecx, edx
xor esi, ecx
mov edx, esi
xor edx, 0xab69605e
mov ecx, 0x7f1137f
sub ecx, edx
xor r11d, ecx
mov edi, r11d
ror edi, 6
mov ecx, r11d
xor ecx, 0x137f
imul edx, ecx, 0xab69
xor edi, edx
xor esi, edi
lea ecx, [rsi + 0x7f1137f]
ror ecx, 0xf
mov edx, esi
rol edx, 2
imul ecx, ecx, 0x605e
add edx, ecx
xor r11d, edx
lea ecx, [r11 + 0x54969fa2]
ror ecx, 0xe
mov edx, r11d
rol edx, 8
imul ecx, ecx, 0x7f1
sub ecx, edx
xor esi, ecx
mov ecx, esi
mov edi, 0xab69605e
xor ecx, edi
ror ecx, 0xc
mov edx, esi
ror edx, 0xa
imul ecx, ecx, 0x137f
xor edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0x7f1
imul edx, ecx, 0xab69
mov ecx, r11d
shr ecx, 0xa
xor edx, ecx
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 5
add ecx, 0x605e
imul ecx, ecx, 0x7f1
xor r11d, ecx
lea r8d, [r11 - 0x7f1]
xor r8d, esi
xor r8d, edi
mov ecx, r8d
xor ecx, 0x7f1
rol ecx, 2
imul edx, ecx, 0x137f
mov ecx, r8d
shr ecx, 2
add edx, ecx
xor r11d, edx
lea ecx, [r11 - 0x7f1137f]
ror ecx, 6
mov edx, r11d
rol edx, 7
imul ecx, ecx, 0xab69
add edx, ecx
xor r8d, edx
mov edi, r8d
ror edi, 9
mov ecx, r8d
xor ecx, 0x137f
imul edx, ecx, 0x605e
add edi, edx
xor r11d, edi
mov ecx, r11d
mov esi, 0xab69
xor ecx, esi
rol ecx, 5
mov edx, r11d
rol edx, 7
imul ecx, ecx, 0x7f1
add edx, ecx
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov ecx, edi
ror ecx, 3
sub ecx, esi
imul ecx, ecx, 0x137f
xor r8d, ecx
lea ecx, [r8 - 0x7f1137f]
ror ecx, 1
mov edx, r8d
ror edx, 6
imul ecx, ecx, 0x605e
sub ecx, edx
xor edi, ecx
lea ecx, [rdi - 0x54969fa2]
rol ecx, 3
mov edx, edi
rol edx, 0xe
imul ecx, ecx, 0x7f1
add edx, ecx
xor r8d, edx
lea ecx, [r8 - 0x54969fa2]
rol ecx, 0xf
mov edx, r8d
ror edx, 0xe
imul ecx, ecx, 0x137f
sub ecx, edx
xor edi, ecx
mov ecx, edi
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, edi
shr ecx, 3
xor edx, ecx
xor r8d, edx
mov ecx, r8d
xor ecx, 0x7f1137f
rol ecx, 4
mov edx, r8d
rol edx, 2
imul ecx, ecx, 0x605e
xor edx, ecx
xor edx, ebx
xor edi, edx
mov dword [rbp + 0x18], edi
xor r8d, eax
mov dword [rbp], r8d
mov byte [r15 - 4], dil
ror dword [rbp + 0x18], 8
mov cl, byte [rbp]
mov byte [r15], cl
ror dword [rbp], 8
mov cl, byte [rbp + 0x18]
mov byte [r15 - 5], cl
ror dword [rbp + 0x18], 8
mov cl, byte [rbp]
mov byte [r15 - 1], cl
ror dword [rbp], 8
mov cl, byte [rbp + 0x18]
mov byte [r15 - 6], cl
ror dword [rbp + 0x18], 8
mov cl, byte [rbp]
mov byte [r15 - 2], cl
ror dword [rbp], 8
mov cl, byte [rbp + 0x18]
mov byte [r15 - 7], cl
mov cl, byte [rbp]
mov byte [r15 - 3], cl
mov r11d, dword [rbp + 0x18]
ror r11d, 8
mov dword [rbp + 0x18], r11d
mov esi, dword [rbp]
ror esi, 8
mov dword [rbp], esi
mov ebx, r10d
mov eax, r9d
lea r15, [r15 + 8]
sub r13, r14
jne 0x1400a2870
xor eax, eax
mov ecx, eax
mov ebx, eax
mov r14, qword [rbp + 0x58]
mov r13d, eax
mov esi, 0x338
lea r12d, [rax + 1]
xor al, byte [rcx + r14]
add rcx, r12
cmp rcx, rsi
jb 0x1400a2b9a
movzx ecx, al
cmp rcx, qword [0x1400eb468]
je 0x1400a2bb9
mov edi, 0xc004d501
jmp 0x1400a2bce
mov qword [rbp + 0x188], r14
xor eax, eax
mov r14d, eax
mov qword [rbp + 0x290], rsi
mov edi, eax
test r14, r14
je 0x1400a2be7
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 0x1400a2d3e
mov rdi, qword [rbp + 0x188]
mov rax, qword [rbp + 0x290]
xor edx, edx
mov byte [rax + rdi - 1], dl
lea r8d, [rdx + 0x60]
lea rsi, [0x14010a6d0]
mov rcx, rsi
call sub.msvcrt.dll_memset
xor eax, eax
cmp byte [rdi], al
je 0x1400a2d43
mov rdx, rdi
or rax, 0xffffffffffffffff
xor ebx, ebx
inc rax
cmp word [rdi + rax*2], bx
jne 0x1400a2c29
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 0x1400a2d3e
xor eax, eax
mov rax, qword [rsi]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400a2c6a
mov ebx, 0xc000007b
jmp 0x1400a2cb4
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400a2c63
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x1400a2c63
cmp dword [rcx], 0x4550
jne 0x1400a2c63
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400a2ca3
mov ebx, 0xc000000d
jmp 0x1400a2cb4
mov rax, qword [rcx + 0x88]
mov qword [rsi + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rsi + 8], eax
mov r15d, dword [rdi + 2]
add rdi, 6
xor eax, eax
mov r14d, eax
test r15d, r15d
je 0x1400a2d2a
mov qword [rbp + 0x298], rax
mov rcx, rdi
or rax, 0xffffffffffffffff
xor edx, edx
inc rax
cmp byte [rdi + rax], dl
jne 0x1400a2cd6
inc rax
add rdi, rax
test ebx, ebx
js 0x1400a2d14
lea r9, [rbp + 0x298]
mov r8, rsi
call fcn.1400cb5ac
mov ebx, eax
test eax, eax
js 0x1400a2d43
mov eax, dword [rbp - 0x78]
mov rcx, qword [rbp + 0x298]
lea r8, [0x140106020]
mov qword [r8 + rax*8], rcx
jmp 0x1400a2d17
mov eax, dword [rbp - 0x78]
add eax, r12d
mov dword [rbp - 0x78], eax
add r14d, r12d
cmp r14d, r15d
mov eax, 0
jb 0x1400a2cc6
add r13d, r12d
cmp byte [rdi], al
lea rsi, [0x14010a6d0]
jne 0x1400a2c20
jmp 0x1400a2d45
mov ebx, 0xc000007a
xor eax, eax
cmp qword [rbp + 0x188], rax
je 0x1400a2d68
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x188]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test ebx, ebx
jns 0x1400a2dbd
lea r14, [0x14010a6d0]
mov rdi, r14
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a2d8b
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
add rdi, 0x18
sub rbx, r12
jne 0x1400a2d7b
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r14
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d8440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x1400a2dcc
mov eax, dword [0x14010bde0]
add eax, r12d
mov dword [0x14010bde0], eax
xor eax, eax
xchg dword [0x14010bde4], eax
xor eax, eax
mov qword [rbp + 0x1d0], rax
mov qword [rbp + 0x1f8], rax
mov esi, eax
mov ebx, eax
mov rax, qword gs:[0x60]
mov edi, 0x80004005
xor edx, edx
mov r13d, 0x8007000e
lea r15d, [r13 - 0xe]
cmp dword [rax + 0x2c0], edx
je 0x1400a3066
mov rax, qword [0x140106130]
call qword [case.0x14006e230.0]
mov r14, rax
xor eax, eax
test r14, r14
jne 0x1400a2e45
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a3069
mov ebx, edi
jmp 0x1400a3069
mov rdi, rax
mov qword [rbp + 0xf8], rax
mov r9d, eax
lea rax, [rbp + 0x168]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r14
mov rax, qword [0x140106150]
call qword [case.0x14006e230.0]
xor edi, edi
test eax, eax
jne 0x1400a2f04
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400a2eee
xor eax, eax
cmp qword [rbp + 0xf8], rax
jne 0x1400a2ee5
mov edi, dword [rbp + 0x168]
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 + 0xf8]
call fcn.1400cb7e8
xor eax, eax
test rdi, rdi
je 0x1400a2ed9
mov qword [rbp + 0xf8], rdi
mov r9d, dword [rbp + 0x168]
jmp 0x1400a2e52
mov qword [rbp + 0xf8], rax
mov ebx, r13d
jmp 0x1400a2f19
mov edi, 0x80004005
mov ebx, edi
jmp 0x1400a2f1e
mov edi, 0x80004005
test eax, eax
je 0x1400a2eea
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x1400a2f1e
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xf8], rdi
mov qword [rbp + 0x1d0], rax
mov edi, 0x80004005
lea rcx, [rbp + 0xf8]
call fcn.1400cb7e8
test ebx, ebx
js 0x1400a3069
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x140106148]
call qword [case.0x14006e230.0]
mov r14, rax
xor eax, eax
test r14, r14
je 0x1400a2e25
mov edi, eax
mov qword [rbp + 0xe8], rax
mov ebx, eax
mov r9d, eax
lea rax, [rbp + 0x16c]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r14
mov rax, qword [0x140106150]
call qword [case.0x14006e230.0]
xor edi, edi
test eax, eax
jne 0x1400a3007
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400a2ff6
xor eax, eax
cmp qword [rbp + 0xe8], rax
jne 0x1400a2fef
mov edi, dword [rbp + 0x16c]
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 + 0xe8]
call fcn.1400cb7e8
xor eax, eax
test rdi, rdi
je 0x1400a2fe3
mov qword [rbp + 0xe8], rdi
mov r9d, dword [rbp + 0x16c]
jmp 0x1400a2f63
mov qword [rbp + 0xe8], rax
mov ebx, r13d
jmp 0x1400a301c
mov ebx, 0x80004005
jmp 0x1400a301c
test eax, eax
je 0x1400a2fef
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x1400a301c
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xe8], rdi
mov qword [rbp + 0x1f8], rax
lea rcx, [rbp + 0xe8]
call fcn.1400cb7e8
test ebx, ebx
js 0x1400a3069
mov rcx, qword [rbp + 0x1d0]
test rcx, rcx
je 0x1400a3066
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1400a3066
mov rcx, qword [rbp + 0x1f8]
test rcx, rcx
je 0x1400a3066
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
cmove esi, r12d
mov dword [rbp + 0x68], esi
lea rcx, [rbp + 0x1f8]
call fcn.1400cb7e8
lea rcx, [rbp + 0x1d0]
call fcn.1400cb7e8
mov eax, dword [rbp + 0x68]
xor ecx, ecx
test ebx, ebx
cmovs eax, ecx
mov dword [rbp + 0x68], eax
xor eax, eax
mov dword [rbp + 0x100], eax
lea edx, [rcx + 4]
lea ecx, [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x110]
call fcn.1400cb7c0
xor eax, eax
test rdi, rdi
jne 0x1400a30cb
mov qword [rbp + 0x110], rax
mov esi, r13d
jmp 0x1400ab953
mov qword [rbp + 0x110], rdi
mov rbx, rax
mov r14, rax
mov dword [rbp - 0x70], eax
mov qword [rbp - 0x6c], rax
mov dword [rbp - 0x64], eax
mov dword [rbp + 0x14c], eax
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0xa4], rax
mov dword [rbp + 0xac], eax
mov dword [rbp + 0xcc], eax
lea rax, [0x140109410]
mov qword [rbp + 0x368], rax
mov edi, QueryPathOfRegTypeLib
mov qword [rbp + 0x2a0], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov esi, 8
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov r13d, 0xc0000017
lea rdi, [0x140109358]
test rax, rax
jne 0x1400a3156
mov esi, r13d
mov dword [rsp + 0x60], r13d
jmp 0x1400a551a
mov r8, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x368]
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov rbx, r12
mov qword [rsp + 0x70], rbx
mov r15d, dword [rbp + 0x2a0]
mov qword [rbp + 0x370], rdi
mov qword [rbp + 0x2a8], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x58], rax
test rax, rax
je 0x1400a3149
mov r8, qword [rbp + 0x2a8]
mov rdx, qword [rbp + 0x370]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r14, rdi
mov qword [rsp + 0x68], rdi
mov r13, qword [rbp + 0x2a8]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2c8], rax
mov dword [rbp + 0x6c], esi
lea ebx, [r15 + 4]
cmp ebx, 4
jb 0x1400a550e
mov dword [rbp + 0x6c], ebx
lea ecx, [rbx + 8]
mov r10d, 0xc0000095
cmp ecx, esi
jb 0x1400a3207
xor eax, eax
mov esi, eax
or edx, 0xffffffff
jmp 0x1400a320f
or edx, 0xffffffff
mov ecx, edx
mov esi, r10d
mov r11d, 0x10000000
or esi, r11d
mov dword [rsp + 0x60], esi
jl 0x1400a5517
lea r14d, [r13 + 4]
cmp r14d, 4
jb 0x1400a5501
mov dword [rbp + 0x6c], r14d
lea eax, [r14 + rcx]
cmp eax, ecx
jb 0x1400a3242
xor ecx, ecx
mov esi, ecx
jmp 0x1400a3249
mov eax, edx
mov esi, r10d
xor ecx, ecx
or esi, r11d
mov dword [rsp + 0x60], esi
jl 0x1400a5509
mov dword [rbp + 0x6c], SafeArrayDestroy
lea edi, [rax + 0xc]
cmp edi, eax
jb 0x1400a3268
mov esi, ecx
jmp 0x1400a326d
mov edi, edx
mov esi, r10d
or esi, r11d
mov dword [rsp + 0x60], esi
jl 0x1400a37f7
lea r8, [rbp + 0x220]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMESecurityGroupAllowed
call fcn.1400cb828
xor r8d, r8d
test eax, eax
jns 0x1400a32af
mov qword [rbp + 0x220], r8
mov esi, 0xc000003e
mov r14, qword [rsp + 0x68]
jmp 0x1400a5513
mov rax, qword [rbp + 0x220]
inc rax
mov qword [rbp + 0x220], rax
add eax, eax
add eax, 4
mov r9d, 0xc0000095
cmp eax, 4
jb 0x1400a32d8
mov esi, r8d
mov dword [rbp + 0x6c], eax
jmp 0x1400a32de
mov esi, r9d
mov eax, dword [rbp + 0x6c]
mov dword [rsp + 0x60], esi
test esi, esi
js 0x1400a37f7
lea ecx, [rax + rdi]
or edx, 0xffffffff
cmp ecx, edi
jb 0x1400a32f9
mov esi, r8d
jmp 0x1400a32fe
mov ecx, edx
mov esi, r9d
mov r11d, 0x10000000
or esi, r11d
mov dword [rsp + 0x60], esi
jl 0x1400a37f7
mov dword [rbp + 0x6c], 8
lea eax, [rcx + 8]
cmp eax, ecx
jb 0x1400a3324
mov esi, r8d
jmp 0x1400a3329
mov eax, edx
mov esi, r9d
or esi, r11d
mov dword [rsp + 0x60], esi
jl 0x1400a37f7
mov dword [rbp + 0x6c], 8
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x1400a3349
mov esi, r8d
jmp 0x1400a334e
mov ecx, edx
mov esi, r9d
or esi, r11d
mov dword [rsp + 0x60], esi
jl 0x1400a37f7
mov dword [rbp - 0x6c], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
xor r8d, r8d
test rax, rax
jne 0x1400a338c
mov esi, 0xc0000017
jmp 0x1400a32a5
mov qword [rbp - 0x68], rax
mov ecx, r8d
mov dword [rbp - 0x70], ecx
mov dword [rbp + 0x160], r8d
lea rax, [rbp + 0x160]
test rax, rax
je 0x1400a33fc
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400a33f2
mov esi, r8d
mov dword [rsp + 0x60], r8d
mov ecx, dword [rbp - 0x6c]
add rcx, rdx
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x1400a33d3
mov esi, 0xc0000023
jmp 0x1400a32a5
mov dword [rdx], 4
mov eax, dword [rbp + 0x160]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x70]
mov r9d, 1
add ecx, r9d
mov dword [rbp - 0x70], ecx
jmp 0x1400a340b
mov r14, qword [rsp + 0x68]
jmp 0x1400a550e
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r9d, 1
test esi, esi
js 0x1400a37f7
test r15d, r15d
je 0x1400a34ce
cmp qword [rbp - 0x68], r8
jne 0x1400a3448
mov dword [rbp + 0x1b8], ebx
mov eax, dword [rbp - 0x6c]
lea edx, [rax + rbx]
cmp edx, eax
jb 0x1400a33f2
mov dword [rbp - 0x6c], edx
mov r15d, 1
add ecx, r15d
mov dword [rbp - 0x70], ecx
xor ebx, ebx
jmp 0x1400a34ea
mov rdx, qword [rbp - 0x68]
xor ebx, ebx
mov edi, ebx
test ecx, ecx
je 0x1400a3482
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400a347b
mov dword [rbp + 0x1b8], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400a33f2
mov rdx, r8
add edi, r9d
cmp edi, ecx
jae 0x1400a3482
jmp 0x1400a3454
mov esi, 0xc0000095
jmp 0x1400a34d5
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400a33f2
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov r8, r15
mov ecx, dword [rbp - 0x6c]
add rcx, qword [rbp - 0x68]
lea rax, [r15 + 4]
add rax, rdx
cmp rax, rcx
ja 0x1400a33c9
mov dword [rdx], r15d
mov rdx, r12
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x70]
mov r15d, 1
add ecx, r15d
mov dword [rbp - 0x70], ecx
jmp 0x1400a34df
mov esi, 0xc000000d
xor ebx, ebx
mov r15d, 1
mov dword [rsp + 0x60], esi
test esi, esi
js 0x1400a37f7
mov edx, dword [rbp - 0x6c]
test r13d, r13d
je 0x1400a35a3
cmp qword [rbp - 0x68], rbx
jne 0x1400a351c
mov dword [rbp + 0x240], r14d
lea eax, [rdx + r14]
cmp eax, edx
jb 0x1400a33f2
mov edx, eax
mov dword [rbp - 0x6c], eax
add ecx, r15d
mov dword [rbp - 0x70], ecx
jmp 0x1400a35b4
mov rdi, qword [rbp - 0x68]
mov r8d, ebx
test ecx, ecx
je 0x1400a355a
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x1400a3553
mov dword [rbp + 0x240], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x1400a33f2
mov rdi, r9
add r8d, r15d
cmp r8d, ecx
jae 0x1400a355a
jmp 0x1400a3527
mov esi, 0xc0000095
jmp 0x1400a35a8
lea r9, [rdi + 4]
cmp r9, rdi
jb 0x1400a33f2
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov r8d, r13d
mov ecx, edx
add rcx, qword [rbp - 0x68]
lea rax, [r8 + 4]
add rax, rdi
cmp rax, rcx
ja 0x1400a33c9
mov dword [rdi], r13d
mov rdx, qword [rbp + 0x58]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x70]
add ecx, r15d
mov dword [rbp - 0x70], ecx
mov edx, dword [rbp - 0x6c]
jmp 0x1400a35ac
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x1400a37f7
mov rax, qword [rbp + 0x2c8]
mov qword [rbp + 0x2b0], rax
lea rax, [rbp + 0x2b0]
test rax, rax
je 0x1400a3678
cmp qword [rbp - 0x68], rbx
jne 0x1400a35fb
mov dword [rbp + 0x1f0], SafeArrayDestroy
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x1400a33f2
mov dword [rbp - 0x6c], eax
add ecx, r15d
mov dword [rbp - 0x70], ecx
jmp 0x1400a3689
mov rdi, qword [rbp - 0x68]
mov r8d, ebx
test ecx, ecx
je 0x1400a3639
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x1400a3632
mov dword [rbp + 0x1f0], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x1400a33f2
mov rdi, r9
add r8d, r15d
cmp r8d, ecx
jae 0x1400a3639
jmp 0x1400a3606
mov esi, 0xc0000095
jmp 0x1400a367d
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x1400a33f2
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov ecx, edx
add rcx, qword [rbp - 0x68]
lea rax, [rdi + 0xc]
cmp rax, rcx
ja 0x1400a33c9
mov dword [rdi], 8
movsd xmm0, qword [rbp + 0x2b0]
movsd qword [r8], xmm0
add dword [rbp - 0x70], r15d
jmp 0x1400a3681
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x1400a37f7
lea r8, [rbp + 0x198]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMESecurityGroupAllowed
call fcn.1400cb828
test eax, eax
jns 0x1400a36b1
mov qword [rbp + 0x198], rbx
jmp 0x1400a32a0
mov rax, qword [rbp + 0x198]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x1400a54f4
mov qword [rbp + 0x198], rcx
lea edi, [rcx + rcx]
test edi, edi
je 0x1400a379d
cmp qword [rbp - 0x68], rbx
jne 0x1400a371e
add edi, 4
mov r10d, 0xc0000095
cmp edi, 4
jb 0x1400a3711
mov dword [rbp + 0x200], edi
mov eax, dword [rbp - 0x6c]
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x1400a370d
mov dword [rbp - 0x6c], ecx
add dword [rbp - 0x70], r15d
mov esi, ebx
mov dword [rsp + 0x60], ebx
jmp 0x1400a37ac
or dword [rbp - 0x6c], 0xffffffff
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x1400a37ac
mov rdx, qword [rbp - 0x68]
mov ecx, ebx
cmp dword [rbp - 0x70], ebx
jbe 0x1400a374f
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400a3792
mov dword [rbp + 0x200], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400a3792
mov rdx, r8
add ecx, r15d
cmp ecx, dword [rbp - 0x70]
jb 0x1400a3729
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400a3792
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov r8d, edi
mov ecx, dword [rbp - 0x6c]
add rcx, qword [rbp - 0x68]
lea rax, [rdi + 4]
add rax, rdx
cmp rax, rcx
jbe 0x1400a377b
mov esi, 0xc0000023
jmp 0x1400a37a2
mov dword [rdx], edi
lea rdx, str.WMPPlayer_RMESecurityGroupAllowed
mov rcx, r9
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x70], r15d
jmp 0x1400a37a6
mov r10d, 0xc0000095
jmp 0x1400a3711
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
mov r10d, 0xc0000095
test esi, esi
js 0x1400a37f7
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x158], eax
lea rax, [rbp + 0x158]
test rax, rax
je 0x1400a3872
cmp qword [rbp - 0x68], rbx
jne 0x1400a3801
mov dword [rbp + 0x228], 8
mov eax, dword [rbp - 0x6c]
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x1400a37ef
mov dword [rbp - 0x6c], ecx
add dword [rbp - 0x70], r15d
jmp 0x1400a3883
mov esi, r10d
mov dword [rsp + 0x60], r10d
mov r14, qword [rsp + 0x68]
jmp 0x1400a5517
mov rdx, qword [rbp - 0x68]
mov ecx, ebx
cmp dword [rbp - 0x70], ebx
jbe 0x1400a383b
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400a3831
mov dword [rbp + 0x228], eax
add rax, rdx
cmp rax, rdx
jb 0x1400a37ef
mov rdx, rax
add ecx, r15d
cmp ecx, dword [rbp - 0x70]
jae 0x1400a383b
jmp 0x1400a380c
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x1400a387b
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400a37ef
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov ecx, dword [rbp - 0x6c]
add rcx, qword [rbp - 0x68]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x1400a33c9
mov dword [rdx], 4
mov eax, dword [rbp + 0x158]
mov dword [rdi], eax
add dword [rbp - 0x70], r15d
jmp 0x1400a387b
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x1400a37f7
mov dword [rbp + 0x150], 4
lea rax, [rbp + 0x150]
test rax, rax
je 0x1400a3940
cmp qword [rbp - 0x68], rbx
jne 0x1400a38c7
mov dword [rbp + 0x1bc], 8
mov eax, dword [rbp - 0x6c]
lea ecx, [rax + 8]
cmp ecx, eax
jb 0x1400a37ef
mov dword [rbp - 0x6c], ecx
add dword [rbp - 0x70], r15d
jmp 0x1400a3951
mov rdx, qword [rbp - 0x68]
mov ecx, ebx
cmp dword [rbp - 0x70], ebx
jbe 0x1400a3905
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400a38fb
mov dword [rbp + 0x1bc], eax
add rax, rdx
cmp rax, rdx
jb 0x1400a37ef
mov rdx, rax
add ecx, r15d
cmp ecx, dword [rbp - 0x70]
jae 0x1400a3905
jmp 0x1400a38d2
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x1400a3949
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400a37ef
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov ecx, dword [rbp - 0x6c]
add rcx, qword [rbp - 0x68]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x1400a33c9
mov dword [rdx], 4
mov eax, dword [rbp + 0x150]
mov dword [rdi], eax
add dword [rbp - 0x70], r15d
jmp 0x1400a3949
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x1400a37f7
mov dword [rbp + 0x46c], 8
mov r13, rbx
mov qword [rbp + 0xc0], rbx
mov r14d, ebx
mov qword [rbp + 0x190], rbx
mov qword [rbp - 0x38], rbx
mov r15d, ebx
mov dword [rbp - 0x60], ebx
mov r12, rbx
mov qword [rbp + 0x50], rbx
mov dword [rbp + 0x64], ebx
mov qword [rbp + 0x30], rbx
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov dword [rbp + 0x90], ebx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2b8], rax
mov ecx, dword [rbp - 0x6c]
add ecx, 8
cmp ecx, 8
jb 0x1400a3a6e
mov dword [rbp + 0xc8], ecx
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jb 0x1400a3a75
mov dword [rbp + 0xc8], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
lea edx, [rbx + 8]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400a39f8
mov esi, 0xc0000017
jmp 0x1400a3a78
mov eax, dword [rbp - 0x70]
mov dword [rdi], eax
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x1400a3a4e
mov eax, dword [rbp - 0x6c]
mov dword [rcx], eax
lea r9, [rcx + 4]
cmp r9, rcx
jb 0x1400a3a4e
mov esi, ebx
mov ecx, dword [rbp + 0xc8]
mov rax, qword [rbp + 0x2b8]
mov qword [rcx + rdi - 8], rax
mov r8d, dword [rbp - 0x6c]
mov rdx, qword [rbp - 0x68]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r13, rdi
mov qword [rbp + 0xc0], rdi
mov rdi, rbx
mov r14d, dword [rbp + 0xc8]
jmp 0x1400a3a53
mov esi, 0xc0000095
test rdi, rdi
je 0x1400a3a78
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400a3a78
or dword [rbp + 0xc8], 0xffffffff
mov esi, r10d
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a4fd4
mov qword [rbp + 0x380], rbx
mov qword [rbp + 0x388], rbx
mov qword [rbp + 0x390], rbx
mov qword [rbp + 0x398], rbx
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x378], rbx
mov qword [rbp + 0x58], rbx
test r13, r13
jne 0x1400a3ac5
mov esi, 0xc000000d
jmp 0x1400a41f4
mov esi, r14d
mov qword [rbp - 0x28], rsi
xor r14d, r14d
test rsi, rsi
je 0x1400a4145
lea rdi, [rsi + 8]
mov qword [rbp - 0x50], 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 + 0x48], rax
test rax, rax
je 0x1400a4145
mov dl, r14b
mov ecx, r14d
test rsi, rsi
je 0x1400a3b1f
lea eax, [r14 + 1]
xor dl, byte [rcx + r13]
add rcx, rax
cmp rcx, rsi
jb 0x1400a3b13
mov r9, r13
mov r10, r15
mov edi, r14d
mov dword [rbp - 0x20], r14d
or r11d, 0xffffffff
mov dword [rbp - 0x48], r11d
mov r12d, r14d
mov r13d, r14d
mov r8, rsi
and r8d, 7
je 0x1400a3c07
mov r11d, r14d
test r8d, r8d
jle 0x1400a3b84
mov edi, 0x38
movzx eax, byte [r9]
cmp r11d, 4
jge 0x1400a3b68
lea ecx, [rdi - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400a3b6f
mov ecx, edi
shl eax, cl
or r12d, eax
mov ecx, 1
add r9, rcx
add r11d, ecx
sub edi, 8
cmp r11d, r8d
jl 0x1400a3b54
jmp 0x1400a3b89
mov ecx, 1
mov edi, r13d
xor edi, 0xb17a307a
mov dword [rbp - 0x20], edi
mov r11d, r12d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x48], r11d
mov eax, r14d
test r8d, r8d
jle 0x1400a3bd0
cmp eax, 4
jge 0x1400a3bb8
rol edi, 8
mov byte [r10], dil
jmp 0x1400a3bbf
rol r11d, 8
mov byte [r10], r11b
add r10, rcx
add eax, ecx
cmp eax, r8d
jl 0x1400a3bab
mov edi, dword [rbp - 0x20]
mov r11d, dword [rbp - 0x48]
lea eax, [r8 - 4]
test eax, eax
jle 0x1400a3bee
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x48], r11d
jmp 0x1400a3c07
mov r11d, r14d
mov dword [rbp - 0x48], r14d
test eax, eax
jns 0x1400a3c07
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x20], edi
mov r14, rsi
shr r14, 3
test r14, r14
je 0x1400a3f43
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]
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
mov edi, 0xc81ecb17
xor r8d, edi
mov eax, r8d
xor eax, edi
ror eax, 0xf
mov ecx, r8d
ror ecx, 7
imul eax, eax, 0xb1b5
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x4e4ab5a8]
ror eax, 9
mov ecx, r11d
ror ecx, 0xa
imul eax, eax, 0xcb17
sub eax, ecx
xor r8d, eax
mov eax, r8d
xor eax, 0xcb17
rol eax, 4
mov ecx, r8d
rol ecx, 5
imul eax, eax, 0xc81e
add ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, edi
sub eax, ecx
xor r8d, eax
lea eax, [r8 - 0x4a58]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, 0xcb17
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
mov ecx, 0xc81e
add eax, ecx
imul eax, eax, 0xcb17
xor r11d, eax
lea eax, [r11 + 0x37e0ea91]
xor r8d, eax
mov edi, r8d
ror edi, 0xa
mov eax, r8d
xor eax, ecx
imul ecx, eax, 0xb1b5
xor edi, ecx
xor r11d, edi
mov eax, r11d
xor eax, 0x4a58
rol eax, 6
mov ecx, r11d
ror ecx, 3
imul eax, eax, 0xcb17
xor ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xf
mov ecx, 0xc81e
sub eax, ecx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, ecx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r8d, ecx
lea eax, [r11 - 0xcb17]
rol eax, 3
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xcb17]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, 0xb1b54a58
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 0xb
imul eax, eax, 0xcb17
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e49ed8a]
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
xor eax, 0xb1b5
imul ecx, eax, 0x4a58
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, 0xc81e
rol eax, 4
mov ecx, r8d
ror ecx, 0x10
imul eax, eax, 0xb1b5
sub eax, ecx
xor r11d, eax
mov eax, 0xb1b54a58
sub eax, r11d
ror eax, 0xa
mov ecx, r11d
ror ecx, 4
imul eax, eax, 0xcb17
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e4ab5a8]
ror eax, 4
mov ecx, r8d
ror ecx, 9
imul eax, eax, 0xc81e
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xc81ecb17
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r8d, eax
mov eax, 0xc81ecb17
sub eax, r8d
ror eax, 0xb
mov ecx, r8d
ror ecx, 0xc
imul eax, eax, 0xb1b5
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xb1b5
imul ecx, eax, 0xcb17
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r11d, 0x79ab814f
xor r8d, r13d
mov dword [rbp - 0x20], r8d
xor r11d, r12d
mov dword [rbp - 0x48], r11d
mov byte [rbx - 4], r8b
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [rbx], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [rbx - 5], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [rbx - 1], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [rbx - 6], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp - 0x48]
mov byte [rbx - 2], al
ror dword [rbp - 0x48], 8
mov al, byte [rbp - 0x20]
mov byte [rbx - 7], al
mov al, byte [rbp - 0x48]
mov byte [rbx - 3], al
mov edi, dword [rbp - 0x20]
ror edi, 8
mov dword [rbp - 0x20], edi
mov r11d, dword [rbp - 0x48]
ror r11d, 8
mov dword [rbp - 0x48], r11d
mov r13d, r10d
mov r12d, r9d
lea rbx, [rbx + 8]
sub r14, rsi
jne 0x1400a3c24
mov rbx, qword [rbp + 0x58]
mov rsi, qword [rbp - 0x28]
mov r15, qword [rbp + 0x48]
movzx eax, dl
mov qword [r15 + rsi], rax
mov qword [rbp + 0x1e8], r15
mov rsi, qword [rbp - 0x50]
mov qword [rbp + 0x378], rsi
lea rax, [0x140109400]
mov qword [rbp + 0x380], rax
mov r12d, 8
mov qword [rbp + 0x388], r12
lea r14, [0x140109360]
mov qword [rbp + 0x390], r14
mov qword [rbp + 0x398], QueryPathOfRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [r12 + 0x28]
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
xor r13d, r13d
test rax, rax
jne 0x1400a3fbc
mov esi, 0xc0000017
jmp 0x1400a4131
mov dword [rax], esi
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400a3fe4
mov esi, 0xc0000017
jmp 0x1400a40b5
mov qword [rdi + 8], rax
mov r8, rsi
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, QueryPathOfRegTypeLib
mov dword [rdi + 0x10], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400a3fda
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], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400a3fda
mov qword [rdi + 0x28], rax
mov esi, r13d
movsd xmm0, qword [0x140109400]
movsd qword [rax], xmm0
mov rbx, rdi
mov rdi, r13
test rdi, rdi
je 0x1400a4131
mov r14, qword [rdi + 8]
test r14, r14
je 0x1400a40db
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r13
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x1400a40fc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r13
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x1400a411d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp + 0x50]
test esi, esi
js 0x1400a414d
mov qword [rbp + 0x190], rbx
mov rbx, r13
jmp 0x1400a414d
mov esi, 0xc0000001
xor r13d, r13d
mov rdi, qword [rbp + 0x1e8]
test rdi, rdi
je 0x1400a4174
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1e8], r13
test rbx, rbx
je 0x1400a41f0
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400a419a
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], r13
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400a41bb
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], r13
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400a41dc
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], r13
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 - 0x60]
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a4fd4
mov rbx, qword [rbp + 0x190]
mov edi, dword [rbx + 0x20]
mov edx, dword [rbx + 0x10]
mov ecx, dword [rbx]
add ecx, 4
cmp ecx, 4
jb 0x1400a4334
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400a4334
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x1400a4334
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400a4334
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x1400a4334
mov dword [rbp + 0x22c], ecx
mov edi, ecx
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 0x1400a4282
mov esi, 0xc0000017
mov r14d, 0xc0000095
jmp 0x1400a433d
mov eax, dword [rbx]
mov dword [rdi], eax
lea rsi, [rdi + 4]
cmp rsi, rdi
jb 0x1400a430d
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx]
add rcx, rsi
cmp rcx, rsi
jb 0x1400a430d
mov eax, dword [rbx + 0x10]
mov dword [rcx], eax
lea rsi, [rcx + 4]
cmp rsi, rcx
jb 0x1400a430d
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x10]
add rcx, rsi
cmp rcx, rsi
jb 0x1400a430d
mov eax, dword [rbx + 0x20]
mov dword [rcx], eax
lea rsi, [rcx + 4]
cmp rsi, rcx
jb 0x1400a430d
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbx + 0x20]
add rcx, rsi
cmp rcx, rsi
jb 0x1400a430d
mov esi, r13d
mov qword [rbp - 0x38], rdi
mov rdi, r13
mov r15d, dword [rbp + 0x22c]
jmp 0x1400a4312
mov esi, 0xc0000095
test rdi, rdi
je 0x1400a4277
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400a4277
mov r14d, 0xc0000095
mov esi, r14d
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a4fd4
mov qword [rbp + 0x3a0], r13
mov dword [rbp + 0x230], r13d
mov qword [rbp + 0x3a8], r13
mov dword [rbp + 0x234], r13d
mov dword [rbp + 0x338], 0x3c
mov eax, 0x48
mov dword [rbp + 0x33c], eax
mov dword [rbp + 0x340], eax
lea ebx, [rax - 0x47]
cmp qword [rbp - 0x68], r13
jne 0x1400a439b
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400a4471
cmp dword [rbp - 0x70], ebx
jbe 0x1400a438d
mov rax, qword [rbp - 0x68]
mov edx, r13d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a4469
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a4469
add edx, ebx
cmp edx, ebx
jb 0x1400a43a7
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a4469
mov dword [rbp + 0x230], edi
test edi, edi
cmove rcx, r13
mov qword [rbp + 0x3a0], rcx
cmp dword [rbp - 0x70], 2
jbe 0x1400a438d
mov rax, qword [rbp - 0x68]
mov edx, r13d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a4469
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a4469
add edx, ebx
cmp edx, 2
jb 0x1400a43f7
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a4469
mov dword [rbp + 0x234], edx
test edx, edx
cmove rcx, r13
mov qword [rbp + 0x3a8], rcx
lea eax, [rdi + 0x50]
cmp eax, 0x50
jb 0x1400a4469
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x1400a4469
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x1400a4469
mov esi, r13d
mov dword [rsp + 0x60], r13d
mov dword [rbp + 0x468], eax
cmp eax, 0x400000
jbe 0x1400a4464
mov esi, 0x8000ffff
jmp 0x1400a4fd0
mov dword [rbp + 0x64], eax
jmp 0x1400a4471
mov esi, r14d
mov dword [rsp + 0x60], r14d
test esi, esi
js 0x1400a4fd4
mov esi, r13d
mov edi, dword [rbp + 0x64]
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 0x1400a44a2
mov esi, 0xc0000017
jmp 0x1400a44a9
mov r12, rax
mov qword [rbp + 0x50], rax
mov edi, 0x10000000
or esi, edi
mov dword [rsp + 0x60], esi
jl 0x1400a4fd4
mov rax, qword [rbp - 0x38]
test rax, rax
jne 0x1400a44cd
mov esi, 0x80070057
jmp 0x1400a4fd0
test r12, r12
je 0x1400a44c3
mov qword [rbp + 0x480], rax
mov dword [rbp + 0x490], r15d
mov qword [rbp + 0x488], r12
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0x494], eax
mov dword [rbp + 0x498], r13d
lea r8, [rbp + 0x3b0]
lea rdx, [0x1400e9320]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400a4537
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov dword [rsp + 0x60], esi
mov edx, dword [rbp + 0x64]
test esi, esi
js 0x1400a457d
mov esi, 0x80004005
jmp 0x1400a4579
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400a4511
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x480]
lea ecx, [r8 + 0x66]
call qword [case.0x14006e230.0]
mov esi, eax
or esi, edi
mov edx, dword [rbp + 0x64]
cmovge edx, dword [rbp + 0x494]
mov dword [rbp + 0x64], edx
mov dword [rsp + 0x60], esi
cmp esi, 0xd0000023
jne 0x1400a4598
mov r15d, 0x8007007a
mov esi, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400a4fda
test esi, esi
js 0x1400a4fd4
mov rbx, r13
cmp edx, 4
jae 0x1400a45b2
mov esi, 0xc000003e
jmp 0x1400a48d2
mov r15d, dword [r12]
lea r13, [r12 + 4]
cmp r13, r12
jb 0x1400a48cc
lea eax, [rdx - 4]
cmp eax, r15d
jae 0x1400a45d6
mov esi, 0xc000003e
jmp 0x1400a48cf
lea rdi, [r15 + r13]
cmp rdi, r13
jb 0x1400a48cc
lea ecx, [r15 + 4]
cmp ecx, 4
jb 0x1400a48cc
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x1400a45cc
mov r12d, dword [rdi]
lea r8, [rdi + 4]
mov qword [rbp - 0x28], r8
cmp r8, rdi
jb 0x1400a48cc
lea edi, [rcx + 4]
cmp edi, ecx
jb 0x1400a48cc
mov eax, edx
sub eax, edi
cmp eax, r12d
jb 0x1400a45cc
lea rcx, [r12 + r8]
cmp rcx, r8
jb 0x1400a48cc
lea r8d, [r12 + rdi]
cmp r8d, edi
jb 0x1400a48cc
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x1400a45cc
mov r14d, dword [rcx]
lea rax, [rcx + 4]
mov qword [rbp - 0x50], rax
cmp rax, rcx
jb 0x1400a48c5
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x1400a48c5
mov eax, edx
sub eax, ecx
cmp eax, r14d
jb 0x1400a45cc
lea edi, [r14 + rcx]
cmp edi, ecx
jb 0x1400a48c5
cmp edx, edi
jne 0x1400a45cc
lea ecx, [r14 + r12]
add ecx, r15d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x1400a45cc
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 0x1400a46cc
mov esi, 0xc0000017
xor r13d, r13d
jmp 0x1400a4838
mov esi, eax
test r13, r13
je 0x1400a4718
mov dword [rdi], 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
jne 0x1400a4701
mov esi, 0xc0000017
xor r13d, r13d
jmp 0x1400a47bc
mov qword [rdi + 8], rax
mov r8, r15
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r13d, r13d
jmp 0x1400a471f
mov dword [rdi], r13d
mov qword [rdi + 8], r13
mov r15, qword [rbp - 0x28]
test r15, r15
je 0x1400a4766
mov dword [rdi + 0x10], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400a474f
mov esi, 0xc0000017
jmp 0x1400a47bc
mov qword [rdi + 0x18], rax
mov esi, r13d
mov r8, r12
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400a476e
mov dword [rdi + 0x10], r13d
mov qword [rdi + 0x18], r13
mov r15, qword [rbp - 0x50]
test r15, r15
je 0x1400a47ae
mov dword [rdi + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400a4748
mov qword [rdi + 0x28], rax
mov esi, r13d
mov r8, r14
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400a47b6
mov dword [rdi + 0x20], r13d
mov qword [rdi + 0x28], r13
mov rbx, rdi
mov rdi, r13
test rdi, rdi
je 0x1400a4838
mov r14, qword [rdi + 8]
test r14, r14
je 0x1400a47e2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r13
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x1400a4803
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r13
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x1400a4824
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400a4843
mov qword [rbp + 0x30], rbx
mov rbx, r13
test rbx, rbx
je 0x1400a48d2
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400a486d
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], r13
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400a488e
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], r13
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400a48af
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], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400a48d2
mov esi, 0xc0000095
jmp 0x1400a48cf
mov esi, r14d
xor r13d, r13d
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a4fd4
mov rdi, r13
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x2c0], r13
mov esi, r13d
mov dword [rsp + 0x60], r13d
mov rax, qword [rbp + 0x30]
test rax, rax
jne 0x1400a490e
mov esi, 0xc000000d
jmp 0x1400a4e45
mov rbx, qword [rax + 8]
mov qword [rbp + 0x48], rbx
test rbx, rbx
je 0x1400a4904
cmp dword [rax], r13d
je 0x1400a4904
mov r14d, dword [rax]
mov dword [rbp - 0x50], r13d
test r14, r14
je 0x1400a4e20
add r14, 0xfffffffffffffff8
mov qword [rbp + 0x58], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1400a4e19
mov dl, r13b
mov byte [rsp + 0x64], dl
mov r8, rbx
mov r9, rax
mov rdi, r14
and edi, 7
je 0x1400a4a41
mov dword [rbp - 0x30], r13d
or dword [rbp - 0x58], 0xffffffff
xor r10d, r10d
mov ebx, r10d
mov dword [rbp - 0x78], ebx
mov r11d, r10d
lea r12d, [r10 + 1]
test edi, edi
jle 0x1400a49c7
lea r10d, [r12 + 0x37]
movzx eax, byte [r8]
cmp r11d, 4
jge 0x1400a49aa
lea ecx, [r10 - 0x20]
shl eax, cl
or ebx, eax
jmp 0x1400a49b2
mov ecx, r10d
shl eax, cl
or r13d, eax
add r8, r12
add r11d, r12d
sub r10d, 8
cmp r11d, edi
jl 0x1400a4996
mov dword [rbp - 0x78], ebx
xor r10d, r10d
mov r11d, ebx
xor r11d, 0x92f65a5
mov dword [rbp - 0x30], r11d
mov ebx, r13d
xor ebx, 0x699a899c
mov dword [rbp - 0x58], ebx
mov eax, r10d
test edi, edi
jle 0x1400a4a0d
cmp eax, 4
jge 0x1400a49f6
rol r11d, 8
mov byte [r9], r11b
jmp 0x1400a49fc
rol ebx, 8
mov byte [r9], bl
add r9, r12
add eax, r12d
cmp eax, edi
jl 0x1400a49e8
mov r11d, dword [rbp - 0x30]
mov ebx, dword [rbp - 0x58]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400a4a24
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr ebx, cl
shl ebx, cl
jmp 0x1400a4a56
mov ebx, r10d
mov dword [rbp - 0x58], ebx
test eax, eax
jns 0x1400a4a59
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x30], r11d
jmp 0x1400a4a59
mov dword [rbp - 0x78], r13d
or r13d, 0xffffffff
xor r10d, r10d
mov ebx, r10d
mov r11d, r10d
mov dword [rbp - 0x30], r10d
mov dword [rbp - 0x58], ebx
mov r12, r14
shr r12, 3
test r12, r12
je 0x1400a4d8c
lea r15, [r9 + 7]
lea r14, [r8 + 2]
mov edx, dword [rbp - 0x78]
mov esi, 1
movzx r10d, byte [r14 - 2]
shl r10d, 8
movzx eax, byte [r14 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 1]
or r10d, eax
movzx r9d, byte [r14 + 2]
shl r9d, 8
movzx eax, byte [r14 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r14 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r14 + 5]
or r9d, eax
xor r11d, r10d
xor ebx, r9d
lea r14, [r14 + 8]
xor ebx, r11d
xor ebx, 0xac987321
lea eax, [rbx + 0x54969fa2]
rol eax, 5
mov ecx, ebx
rol ecx, 0xa
imul eax, eax, 0x137f
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0xab69
sub eax, ecx
xor ebx, eax
lea eax, [rbx - 0x137f]
imul ecx, eax, 0x605e
mov eax, ebx
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor ebx, eax
mov ecx, ebx
xor ecx, 0xab69605e
mov eax, 0x7f1137f
sub eax, ecx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edi, ecx
xor ebx, edi
lea eax, [rbx + 0x7f1137f]
ror eax, 0xf
mov ecx, ebx
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov ecx, r11d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor ebx, eax
mov eax, ebx
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
mov ecx, ebx
ror ecx, 0xa
imul eax, eax, 0x137f
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, ebx
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
mov ecx, r8d
shr ecx, 2
imul eax, eax, 0x137f
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov ecx, r11d
rol ecx, 7
imul eax, eax, 0xab69
add ecx, eax
xor r8d, ecx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul ecx, eax, 0x605e
add edi, ecx
xor r11d, edi
mov eax, r11d
mov ebx, 0xab69
xor eax, ebx
rol eax, 5
mov ecx, r11d
rol ecx, 7
imul eax, eax, 0x7f1
add ecx, eax
xor r8d, ecx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, ebx
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
mov ecx, r8d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edi, eax
lea eax, [rdi - 0x54969fa2]
rol eax, 3
mov ecx, edi
rol ecx, 0xe
imul eax, eax, 0x7f1
add ecx, eax
xor r8d, ecx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
mov ecx, r8d
ror ecx, 0xe
imul eax, eax, 0x137f
sub eax, ecx
xor edi, eax
mov eax, edi
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, edx
xor edi, ecx
mov dword [rbp - 0x30], edi
xor r8d, r13d
mov dword [rbp - 0x58], r8d
mov byte [r15 - 4], dil
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x58]
mov byte [r15], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 5], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x58]
mov byte [r15 - 1], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 6], al
ror dword [rbp - 0x30], 8
mov al, byte [rbp - 0x58]
mov byte [r15 - 2], al
ror dword [rbp - 0x58], 8
mov al, byte [rbp - 0x30]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x58]
mov byte [r15 - 3], al
mov r11d, dword [rbp - 0x30]
ror r11d, 8
mov dword [rbp - 0x30], r11d
mov ebx, dword [rbp - 0x58]
ror ebx, 8
mov dword [rbp - 0x58], ebx
mov edx, r10d
mov r13d, r9d
lea r15, [r15 + 8]
sub r12, rsi
jne 0x1400a4a79
mov dl, byte [rsp + 0x64]
mov esi, dword [rsp + 0x60]
mov r14, qword [rbp + 0x58]
mov r15, qword [rbp - 0x28]
xor r13d, r13d
mov eax, r13d
test r14, r14
je 0x1400a4da7
lea ecx, [r13 + 1]
xor dl, byte [rax + r15]
add rax, rcx
cmp rax, r14
jb 0x1400a4d9b
movzx eax, dl
mov rcx, qword [rbp + 0x48]
cmp rax, qword [r14 + rcx]
je 0x1400a4dc2
mov ebx, 0xc004d501
mov rdi, qword [rbp + 0x108]
jmp 0x1400a4dd9
mov rdi, r15
mov qword [rbp + 0x108], r15
mov r15, r13
mov qword [rbp + 0x2c0], r14
mov ebx, dword [rbp - 0x50]
test r15, r15
je 0x1400a4df9
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 + 0x108]
test ebx, ebx
js 0x1400a4e20
mov qword [rbp - 0x80], rdi
mov rdi, r13
mov qword [rbp + 0x108], r13
mov eax, dword [rbp + 0x2c0]
mov dword [rbp + 0x90], eax
jmp 0x1400a4e25
mov rdi, qword [rbp + 0x108]
mov esi, 0xc0000001
test rdi, rdi
je 0x1400a4e45
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 + 0x108], r13
or esi, 0x10000000
mov dword [rsp + 0x60], esi
jl 0x1400a4fd4
cmp dword [rbp + 0x90], 4
jae 0x1400a4e68
mov esi, 0xc000003e
jmp 0x1400a4fcc
mov r8, qword [rbp - 0x80]
mov r13d, dword [r8]
lea rcx, [r8 + 4]
cmp rcx, r8
jb 0x1400a4fc7
mov eax, dword [rbp + 0x90]
add eax, 0xfffffffc
cmp eax, 4
jb 0x1400a4e5e
mov r14d, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x1400a4fc7
mov eax, dword [rbp + 0x90]
add eax, 0xfffffff8
cmp eax, r14d
jb 0x1400a4e5e
lea eax, [r14 + 8]
cmp eax, 8
jb 0x1400a4fc7
mov ebx, r14d
mov edx, dword [rbp + 0x90]
lea rcx, [r8 + rdx]
lea rax, [rdi + r14]
cmp rcx, rax
jb 0x1400a4e5e
mov rax, r8
sub rax, rdi
sub rax, rbx
add rax, rdx
cmp rax, 8
jae 0x1400a4e5e
xor r9d, r9d
mov r15d, r9d
mov esi, r9d
mov r12d, r9d
test rdi, rdi
je 0x1400a4f5c
mov rcx, rdi
lea rdx, [rdi + r14]
cmp rdx, rdi
jb 0x1400a4fc7
cmp rdi, rdx
jae 0x1400a4f57
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x1400a4fc7
cmp rax, rdx
ja 0x1400a4f49
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400a4f50
mov dword [rbp + 0x464], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x1400a4fc7
mov rcx, r8
mov esi, r9d
cmp r8, rdx
ja 0x1400a4f49
inc r12d
cmp rcx, rdx
jae 0x1400a4f5a
jmp 0x1400a4f03
mov esi, 0xc000000d
jmp 0x1400a4fcc
mov esi, 0xc0000095
jmp 0x1400a4fb5
cmp rcx, rdx
jne 0x1400a4f49
test r14d, r14d
je 0x1400a4f8d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
xor r9d, r9d
test rax, rax
jne 0x1400a4f8a
mov esi, 0xc0000017
jmp 0x1400a4fb5
mov esi, r9d
test rdi, rdi
je 0x1400a4fa0
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xa8], r15
mov dword [rbp + 0xa4], r14d
mov dword [rbp + 0xa0], r12d
test esi, esi
js 0x1400a4fcc
cmp r13d, dword [rbp + 0xa0]
je 0x1400a4fcc
jmp 0x1400a4e5e
mov esi, 0xc0000095
bts esi, 0x1c
mov dword [rsp + 0x60], esi
mov r15d, 0x8007007a
mov rdi, qword [rbp + 0xc0]
xor r14d, r14d
test rdi, rdi
je 0x1400a4ffd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x190]
test rbx, rbx
je 0x1400a5087
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400a502a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400a504b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400a506c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x190], r14
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x1400a50a4
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 + 0x50]
test rdi, rdi
je 0x1400a50c1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x1400a5141
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400a50eb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400a510c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400a512d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x80]
test rdi, rdi
je 0x1400a515e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400a517a
mov r9d, 1
cmp dword [rbp + 0xa0], r9d
jae 0x1400a5189
mov esi, 0xc004d501
mov dword [rsp + 0x60], esi
mov rbx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
jmp 0x1400a551a
cmp qword [rbp + 0xa8], r14
jne 0x1400a519f
mov esi, 0xc000000d
mov r10d, 0xc0000095
jmp 0x1400a51fa
cmp dword [rbp + 0xa0], r14d
jbe 0x1400a5192
mov rdi, qword [rbp + 0xa8]
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
jb 0x1400a51f1
mov esi, r14d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0x460], ecx
test ecx, ecx
cmove rax, r14
mov qword [rbp + 0x4d8], rax
cmp ecx, 4
je 0x1400a51e1
mov esi, 0xc0000023
jmp 0x1400a5176
mov eax, dword [rax]
mov dword [rbp + 0xcc], eax
mov r10d, 0xc0000095
jmp 0x1400a51fe
mov r10d, 0xc0000095
mov esi, r10d
mov dword [rsp + 0x60], esi
test esi, esi
js 0x1400a517a
mov esi, dword [rbp + 0xcc]
cmp esi, 0xd0000023
cmove esi, r15d
mov dword [rsp + 0x60], esi
mov dword [rbp + 0xcc], esi
cmp esi, r15d
je 0x1400a522d
test esi, esi
js 0x1400a517a
cmp dword [rbp + 0xa0], 6
jne 0x1400a5171
cmp qword [rbp + 0xa8], r14
jne 0x1400a524e
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400a52b6
mov rax, qword [rbp + 0xa8]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a52ae
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a52ae
add edx, r9d
cmp edx, r9d
jb 0x1400a5258
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a52ae
mov esi, r14d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0x354], edx
test edx, edx
cmove rcx, r14
mov qword [rbp + 0x4e0], rcx
cmp edx, 8
jne 0x1400a51da
mov rax, qword [rcx]
mov qword [rbp + 0x3b8], rax
jmp 0x1400a52b6
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x1400a517a
cmp qword [rbp + 0xa8], r14
jne 0x1400a52d2
mov esi, 0xc000000d
mov dword [rsp + 0x60], esi
jmp 0x1400a5338
mov rax, qword [rbp + 0xa8]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a5330
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a5330
add edx, r9d
cmp edx, 2
jb 0x1400a52dc
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a5330
mov esi, r14d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0x3e8], edx
test edx, edx
cmove rcx, r14
mov qword [rbp + 0x4e8], rcx
cmp edx, 4
jne 0x1400a51da
mov eax, dword [rcx]
mov dword [rbp + 0x23c], eax
jmp 0x1400a5338
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x1400a517a
cmp qword [rbp + 0xa8], r14
jne 0x1400a5353
mov esi, 0xc000000d
jmp 0x1400a5176
mov rax, qword [rbp + 0xa8]
mov edx, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a54e7
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a54e7
add edx, r9d
cmp edx, 3
jb 0x1400a535d
mov r8d, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400a54e7
mov dword [rbp + 0x3e4], r8d
test r8d, r8d
cmove rdx, r14
mov qword [rbp + 0x4f0], rdx
mov rax, qword [rbp + 0xa8]
mov edi, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a5403
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a5403
add edi, r9d
cmp edi, 4
jb 0x1400a53af
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a5403
mov esi, r14d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0x3e0], edi
test edi, edi
cmove rcx, r14
mov qword [rbp + 0x4f8], rcx
cmp edi, 4
jne 0x1400a51da
mov eax, dword [rcx]
mov dword [rbp + 0x238], eax
jmp 0x1400a540b
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x1400a517a
mov rax, qword [rbp + 0xa8]
mov edi, r14d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a5471
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a5471
add edi, r9d
cmp edi, 5
jb 0x1400a541d
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a5471
mov esi, r14d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0xd4], edi
test edi, edi
cmove rcx, r14
mov qword [rbp + 0x500], rcx
cmp edi, 4
jne 0x1400a51da
mov eax, dword [rcx]
mov dword [rbp + 0x14c], eax
jmp 0x1400a5479
mov esi, r10d
mov dword [rsp + 0x60], r10d
test esi, esi
js 0x1400a517a
mov rax, qword [rbp + 0x3b8]
cmp qword [rbp + 0x2c8], rax
jne 0x1400a5171
mov ecx, dword [rbp + 0x238]
mov dword [rbp + 0x100], ecx
mov eax, dword [rbp + 0x14c]
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x23c]
mov dword [rbp + 0x138], eax
cmp ecx, 4
jbe 0x1400a54c8
mov esi, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400a517a
cmp r8d, 4
ja 0x1400a54bb
mov rcx, qword [rbp + 0x40]
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0xcc]
test eax, eax
cmovne esi, eax
jmp 0x1400a5176
mov esi, r10d
mov dword [rsp + 0x60], r10d
jmp 0x1400a517a
or qword [rbp + 0x198], 0xffffffffffffffff
jmp 0x1400a33f2
mov esi, r10d
mov dword [rsp + 0x60], r10d
mov r14, rdi
jmp 0x1400a5517
mov esi, 0xc0000095
mov dword [rsp + 0x60], esi
mov rbx, r12
and qword [rbp - 0x70], 0
mov rdi, qword [rbp - 0x68]
test rdi, rdi
je 0x1400a5542
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 - 0x68], rax
and qword [rbp + 0xa0], 0
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x1400a5573
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 + 0xa8], rax
test rbx, rbx
je 0x1400a558c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x1400a55a5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
js 0x1400ab953
mov eax, dword [rbp + 0x68]
xor r12d, r12d
test eax, eax
je 0x1400ab92a
mov qword [rbp + 0x3f8], r12
mov dword [0x140109ff8], eax
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0xf30]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1400a9a73
cmp eax, edi
jne 0x1400a55ff
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400a9a73
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006e230.0]
mov qword [rbp + 0x50], rax
test rax, rax
jne 0x1400a562a
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a9a73
mov rax, qword [0x1401060b8]
call qword [case.0x14006e230.0]
mov qword [0x14010bdd8], rax
mov edi, dword [0x140109ff8]
mov dword [rbp - 0x60], edi
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x510]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x970], xmm0
mov r13d, 1
mov dword [rbp + 0x170], r13d
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x58], r12
xor edx, edx
lea r8d, [r13 + 0x2b]
lea rcx, [rbp + 0xa88]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xc0], r12
xor eax, eax
lock cmpxchg dword [0x14010bde4], r13d
jne 0x1400a5692
mov eax, dword [0x14010bde0]
test eax, eax
jne 0x1400a5c96
mov dword [rbp - 0x78], r12d
mov dword [rbp + 0x40], r12d
mov qword [rbp + 0x1a0], r12
mov qword [rbp + 0x2d0], r12
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 - 0x28], rax
xor eax, eax
test rbx, rbx
je 0x1400a5c11
mov ecx, eax
or dword [rbp - 0x50], 0xffffffff
mov r13d, eax
mov dword [rbp + 4], eax
mov r15d, eax
mov dword [rbp + 0x24], eax
lea rdi, [rbx + 7]
lea r14, [0x1400eb132]
lea r12d, [rax + 0x67]
mov ebx, dword [rbp - 0x50]
lea esi, [rax + 1]
movzx r11d, byte [r14 - 2]
shl r11d, 8
movzx eax, byte [r14 - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [r14]
or r11d, eax
shl r11d, 8
movzx eax, byte [r14 + 1]
or r11d, eax
movzx r10d, byte [r14 + 2]
shl r10d, 8
movzx eax, byte [r14 + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 5]
or r10d, eax
xor r15d, r11d
xor r13d, r10d
lea r14, [r14 + 8]
xor r13d, r15d
xor r13d, 0xac987321
lea eax, [r13 + 0x54969fa2]
rol eax, 5
mov edx, r13d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x7f1137f]
ror eax, 9
mov edx, r15d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r13d, eax
lea eax, [r13 - 0x137f]
imul edx, eax, 0x605e
mov eax, r13d
shr eax, 0xd
sub edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0xab69
rol eax, 6
mov edx, r15d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r13d, eax
mov edx, r13d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r15d, eax
mov r8d, r15d
ror r8d, 6
mov eax, r15d
xor eax, 0x137f
imul edx, eax, 0xab69
xor r8d, edx
xor r13d, r8d
lea eax, [r13 + 0x7f1137f]
ror eax, 0xf
mov edx, r13d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x54969fa2]
ror eax, 0xe
mov edx, r15d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
mov edx, r13d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r15d, eax
lea r9d, [r15 - 0x7f1]
xor r9d, r13d
xor r9d, r8d
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r9d
shr eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 - 0x7f1137f]
ror eax, 6
mov edx, r15d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r9d, edx
mov r8d, r9d
ror r8d, 9
mov eax, r9d
xor eax, 0x137f
imul edx, eax, 0x605e
add r8d, edx
xor r15d, r8d
mov eax, r15d
mov r13d, 0xab69
xor eax, r13d
rol eax, 5
mov edx, r15d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r15d
xor r8d, 0xac987321
mov eax, r8d
ror eax, 3
sub eax, r13d
imul eax, eax, 0x137f
xor r9d, eax
lea eax, [r9 - 0x7f1137f]
ror eax, 1
mov edx, r9d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r8d, eax
lea eax, [r8 - 0x54969fa2]
rol eax, 3
mov edx, r8d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
mov edx, r9d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r8d, eax
mov eax, r8d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r9d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, ecx
xor r8d, edx
mov dword [rbp + 0x24], r8d
xor r9d, ebx
mov dword [rbp + 4], r9d
mov byte [rdi - 4], r8b
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 4]
mov byte [rdi], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x24]
mov byte [rdi - 5], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 4]
mov byte [rdi - 1], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x24]
mov byte [rdi - 6], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 4]
mov byte [rdi - 2], al
ror dword [rbp + 4], 8
mov al, byte [rbp + 0x24]
mov byte [rdi - 7], al
mov al, byte [rbp + 4]
mov byte [rdi - 3], al
mov r15d, dword [rbp + 0x24]
ror r15d, 8
mov dword [rbp + 0x24], r15d
mov r13d, dword [rbp + 4]
ror r13d, 8
mov dword [rbp + 4], r13d
mov ecx, r11d
mov ebx, r10d
lea rdi, [rdi + 8]
sub r12, rsi
jne 0x1400a5713
xor r15d, r15d
mov eax, r15d
mov cl, r15b
mov edi, dword [rbp - 0x60]
mov esi, dword [rsp + 0x60]
mov r14d, r15d
mov rbx, qword [rbp - 0x28]
mov r12d, r15d
mov edx, 0x338
lea r13d, [r15 + 1]
xor cl, byte [rax + rbx]
add rax, r13
cmp rax, rdx
jb 0x1400a5a58
movzx eax, cl
cmp rax, qword [0x1400eb468]
je 0x1400a5a77
mov r12d, 0xc004d501
jmp 0x1400a5a88
mov qword [rbp + 0x1a0], rbx
mov rbx, r15
mov qword [rbp + 0x2d0], rdx
test rbx, rbx
je 0x1400a5aa1
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 0x1400a5c11
mov rbx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x2d0]
mov byte [rax + rbx - 1], r15b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r15, [0x14010a6d0]
mov rcx, r15
call sub.msvcrt.dll_memset
xor r8d, r8d
jmp 0x1400a5bfe
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r8w
jne 0x1400a5ae1
lea rbx, [rbx + rax*2]
mov eax, dword [rbp + 0x40]
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 0x1400a5c11
mov r14d, r8d
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400a5b28
mov r14d, 0xc000007b
jmp 0x1400a5b74
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400a5b20
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x1400a5b20
cmp dword [rcx], 0x4550
jne 0x1400a5b20
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400a5b62
mov r14d, 0xc000000d
jmp 0x1400a5b74
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 0x1400a5bed
mov qword [rbp + 0x2d8], r8
mov rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r8b
jne 0x1400a5b92
inc rbx
add rbx, rax
test r14d, r14d
js 0x1400a5bd8
lea r9, [rbp + 0x2d8]
mov r8, r15
xor edx, edx
call fcn.1400cb5ac
mov r14d, eax
xor r8d, r8d
test eax, eax
js 0x1400a5c09
mov eax, dword [rbp - 0x78]
mov rcx, qword [rbp + 0x2d8]
lea r9, [0x140106020]
mov qword [r9 + rax*8], rcx
jmp 0x1400a5bdb
mov eax, dword [rbp - 0x78]
mov ecx, 1
add eax, ecx
mov dword [rbp - 0x78], eax
add r12d, ecx
cmp r12d, r13d
jb 0x1400a5b84
mov r13d, 1
add dword [rbp + 0x40], r13d
lea r15, [0x14010a6d0]
cmp byte [rbx], r8b
jne 0x1400a5ada
jmp 0x1400a5c17
mov r13d, 1
jmp 0x1400a5c17
mov r14d, 0xc000007a
xor r12d, r12d
cmp qword [rbp + 0x1a0], r12
je 0x1400a5c3b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1a0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
jns 0x1400a5c90
lea r15, [0x14010a6d0]
mov rbx, r15
mov r14d, 4
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a5c5e
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub r14, r13
jne 0x1400a5c50
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d8440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x1400a5c9f
mov eax, dword [0x14010bde0]
add eax, r13d
mov dword [0x14010bde0], eax
mov eax, r12d
xchg dword [0x14010bde4], eax
xor ecx, ecx
mov dword [rbp + 0xe72], ecx
mov dword [rbp + 0x2c], r12d
mov dword [rsp + 0x78], r12d
mov qword [rbp + 0x1d8], r12
mov qword [rbp + 0x270], r12
xor eax, eax
mov qword [rbp + 0x278], rax
mov qword [rbp + 0x280], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9a0], xmm0
xor eax, eax
lock cmpxchg dword [0x14010bde4], r13d
jne 0x1400a5ce2
mov eax, dword [0x14010bde0]
test eax, eax
jne 0x1400a62e9
mov dword [rbp - 0x78], r12d
mov dword [rbp - 0x80], r12d
mov dword [rbp + 0x40], r12d
mov qword [rbp + 0x1a8], r12
mov qword [rbp + 0x2e0], r12
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 - 0x28], rax
xor eax, eax
test rbx, rbx
je 0x1400a6264
mov ecx, eax
or dword [rbp - 0x50], 0xffffffff
mov r13d, eax
mov dword [rbp + 8], eax
mov r15d, eax
mov dword [rbp + 0x28], eax
lea rdi, [rbx + 7]
lea r14, [0x1400eb132]
lea r12d, [rax + 0x67]
mov ebx, dword [rbp - 0x50]
lea esi, [rax + 1]
movzx r11d, byte [r14 - 2]
shl r11d, 8
movzx eax, byte [r14 - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [r14]
or r11d, eax
shl r11d, 8
movzx eax, byte [r14 + 1]
or r11d, eax
movzx r10d, byte [r14 + 2]
shl r10d, 8
movzx eax, byte [r14 + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 5]
or r10d, eax
xor r15d, r11d
xor r13d, r10d
lea r14, [r14 + 8]
xor r13d, r15d
xor r13d, 0xac987321
lea eax, [r13 + 0x54969fa2]
rol eax, 5
mov edx, r13d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x7f1137f]
ror eax, 9
mov edx, r15d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r13d, eax
lea eax, [r13 - 0x137f]
imul edx, eax, 0x605e
mov eax, r13d
shr eax, 0xd
sub edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0xab69
rol eax, 6
mov edx, r15d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r13d, eax
mov edx, r13d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r15d, eax
mov r8d, r15d
ror r8d, 6
mov eax, r15d
xor eax, 0x137f
imul edx, eax, 0xab69
xor r8d, edx
xor r13d, r8d
lea eax, [r13 + 0x7f1137f]
ror eax, 0xf
mov edx, r13d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x54969fa2]
ror eax, 0xe
mov edx, r15d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
mov edx, r13d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r15d, eax
lea r9d, [r15 - 0x7f1]
xor r9d, r13d
xor r9d, r8d
mov eax, r9d
xor eax, 0x7f1
rol eax, 2
mov edx, r9d
shr edx, 2
imul eax, eax, 0x137f
add edx, eax
xor r15d, edx
lea eax, [r15 - 0x7f1137f]
ror eax, 6
mov edx, r15d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r9d, edx
mov r8d, r9d
ror r8d, 9
mov eax, r9d
xor eax, 0x137f
imul edx, eax, 0x605e
add r8d, edx
xor r15d, r8d
mov eax, r15d
mov r13d, 0xab69
xor eax, r13d
rol eax, 5
mov edx, r15d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
mov r8d, r9d
xor r8d, r15d
xor r8d, 0xac987321
mov eax, r8d
ror eax, 3
sub eax, r13d
imul eax, eax, 0x137f
xor r9d, eax
lea eax, [r9 - 0x7f1137f]
ror eax, 1
mov edx, r9d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r8d, eax
lea eax, [r8 - 0x54969fa2]
rol eax, 3
mov edx, r8d
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
lea eax, [r9 - 0x54969fa2]
rol eax, 0xf
mov edx, r9d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor r8d, eax
mov eax, r8d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r8d
shr eax, 3
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r9d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, r8d
xor edx, ecx
mov dword [rbp + 0x28], edx
xor r9d, ebx
mov dword [rbp + 8], r9d
mov byte [rdi - 4], dl
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 8]
mov byte [rdi], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [rdi - 5], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 8]
mov byte [rdi - 1], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [rdi - 6], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 8]
mov byte [rdi - 2], al
ror dword [rbp + 8], 8
mov al, byte [rbp + 0x28]
mov byte [rdi - 7], al
mov al, byte [rbp + 8]
mov byte [rdi - 3], al
mov r15d, dword [rbp + 0x28]
ror r15d, 8
mov dword [rbp + 0x28], r15d
mov r13d, dword [rbp + 8]
ror r13d, 8
mov dword [rbp + 8], r13d
mov ecx, r11d
mov ebx, r10d
lea rdi, [rdi + 8]
sub r12, rsi
jne 0x1400a5d67
xor r15d, r15d
mov eax, r15d
mov cl, r15b
mov edi, dword [rbp - 0x60]
mov esi, dword [rsp + 0x60]
mov r14d, dword [rbp - 0x80]
mov rbx, qword [rbp - 0x28]
mov r12d, r14d
mov edx, 0x338
lea r13d, [r15 + 1]
xor cl, byte [rax + rbx]
add rax, r13
cmp rax, rdx
jb 0x1400a60ab
movzx eax, cl
cmp rax, qword [0x1400eb468]
je 0x1400a60ca
mov r12d, 0xc004d501
jmp 0x1400a60db
mov qword [rbp + 0x1a8], rbx
mov rbx, r15
mov qword [rbp + 0x2e0], rdx
test rbx, rbx
je 0x1400a60f4
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 0x1400a6264
mov rbx, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x2e0]
mov byte [rax + rbx - 1], r15b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r15, [0x14010a6d0]
mov rcx, r15
call sub.msvcrt.dll_memset
xor r8d, r8d
jmp 0x1400a6251
mov rdx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r8w
jne 0x1400a6134
lea rbx, [rbx + rax*2]
mov eax, dword [rbp + 0x40]
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 0x1400a6264
mov r14d, r8d
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400a617b
mov r14d, 0xc000007b
jmp 0x1400a61c7
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400a6173
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x1400a6173
cmp dword [rcx], 0x4550
jne 0x1400a6173
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400a61b5
mov r14d, 0xc000000d
jmp 0x1400a61c7
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 0x1400a6240
mov qword [rbp + 0x2e8], r8
mov rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r8b
jne 0x1400a61e5
inc rbx
add rbx, rax
test r14d, r14d
js 0x1400a622b
lea r9, [rbp + 0x2e8]
mov r8, r15
xor edx, edx
call fcn.1400cb5ac
mov r14d, eax
xor r8d, r8d
test eax, eax
js 0x1400a625c
mov eax, dword [rbp - 0x78]
mov rcx, qword [rbp + 0x2e8]
lea r9, [0x140106020]
mov qword [r9 + rax*8], rcx
jmp 0x1400a622e
mov eax, dword [rbp - 0x78]
mov ecx, 1
add eax, ecx
mov dword [rbp - 0x78], eax
add r12d, ecx
cmp r12d, r13d
jb 0x1400a61d7
mov r13d, 1
add dword [rbp + 0x40], r13d
lea r15, [0x14010a6d0]
cmp byte [rbx], r8b
jne 0x1400a612d
jmp 0x1400a626a
mov r13d, 1
jmp 0x1400a626a
mov r14d, 0xc000007a
xor r12d, r12d
cmp qword [rbp + 0x1a8], r12
je 0x1400a628e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1a8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
jns 0x1400a62e3
lea r15, [0x14010a6d0]
mov rbx, r15
mov r14d, 4
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a62b1
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rbx, 0x18
sub r14, r13
jne 0x1400a62a3
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d8440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x1400a62f2
mov eax, dword [0x14010bde0]
add eax, r13d
mov dword [0x14010bde0], eax
mov eax, r12d
xchg dword [0x14010bde4], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x510]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x970], rax
mov r15d, edi
lea ecx, [rax + 0xf]
and r15d, ecx
mov dword [rbp + 0x10], r15d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xe70], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0xe72], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0xe74], di
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006e230.0]
mov qword [rsp + 0x70], rax
mov dword [rbp + 0x78], 0xffffff
test rax, rax
jne 0x1400a639c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a7834
mov ebx, 0x80004005
jmp 0x1400a7834
mov qword [rbp + 0x1e0], r12
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x2f0], r12
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x120], r12
mov qword [rbp + 0xe0], r12
mov ebx, r12d
mov dword [rbp + 0xd8], r12d
lea r9, [rbp + 0xd8]
xor r8d, r8d
lea rdx, [rbp + 0x94]
lea ecx, [r8 + 8]
mov rax, qword [0x1401060c0]
call qword [case.0x14006e230.0]
test eax, eax
jne 0x1400a641c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a6555
mov ebx, 0x80004005
jmp 0x1400a6555
mov edi, dword [rbp + 0xd8]
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 + 0x120]
call fcn.1400cb7e8
test rdi, rdi
jne 0x1400a645e
mov qword [rbp + 0x120], r12
mov ebx, 0x8007000e
jmp 0x1400a6555
mov qword [rbp + 0x120], rdi
mov edi, dword [rbp + 0x94]
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 + 0xe0]
call fcn.1400cb7e8
test rdi, rdi
jne 0x1400a64a3
mov ebx, 0x8007000e
jmp 0x1400a654e
mov qword [rbp + 0xe0], rdi
lea r9, [rbp + 0xd8]
mov r8, qword [rbp + 0x120]
lea rdx, [rbp + 0x94]
mov ecx, 8
mov rax, qword [0x1401060c0]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a63f6
mov rdi, qword [rbp + 0x120]
mov r14, qword [rbp + 0xe0]
mov r15d, r12d
cmp dword [rbp + 0x94], r12d
jbe 0x1400a652e
xor edx, edx
mov rcx, rdi
mov rax, qword [0x1401060d0]
call qword [case.0x14006e230.0]
mov dword [r14], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r12w
jne 0x1400a650c
lea rdi, [rdi + rax*2]
add rdi, 2
add r14, 4
add r15d, r13d
cmp r15d, dword [rbp + 0x94]
jb 0x1400a64f3
mov dword [r14], 0x409
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x1e0], rax
mov eax, dword [rbp + 0x94]
inc eax
mov dword [rbp - 0x60], eax
mov qword [rbp + 0xe0], r12
lea rcx, [rbp + 0xe0]
call fcn.1400cb7e8
lea rcx, [rbp + 0x120]
call fcn.1400cb7e8
test ebx, ebx
js 0x1400a6cef
mov r10d, r12d
mov dword [rbp - 0x78], r12d
mov r9d, r12d
lea r11, [0x1400eb000]
cmp dword [rbp - 0x60], r12d
jbe 0x1400a65c5
mov r8, r12
mov rax, qword [rbp + 0x1e0]
mov edx, r12d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x1400a65bf
add edx, r13d
add rdi, 4
cmp edx, 0x26
jb 0x1400a659c
add r9d, r13d
add r8, 4
cmp r9d, dword [rbp - 0x60]
jae 0x1400a65c5
jmp 0x1400a6596
mov r10d, edx
mov dword [rbp - 0x78], edx
mov edi, r10d
mov dword [rbp + 0x40], r12d
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0xe80]
mov ecx, dword [r11 + rdi*4]
mov rax, qword [0x1401060c8]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a6627
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xc60]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0xe80]
mov rax, qword [0x1401060b0]
call qword [case.0x14006e230.0]
test eax, eax
jle 0x1400a6627
mov ebx, dword [rbp + 0xc6c]
shr ebx, 0x1b
and ebx, r13d
mov dword [rbp + 0x40], ebx
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0xdd0]
mov r8d, SafeArrayAccessData
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x1400a6642
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub r8, r13
jne 0x1400a663b
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xeb0a0]
mov r15, qword [rbp + rax*8 + 0xdd0]
mov qword [rbp - 0x38], r15
mov qword [rbp + 0x270], r15
movzx eax, byte [rcx + rdx + 0xeb0a1]
mov r15, qword [rbp + rax*8 + 0xdd0]
mov qword [rbp + 0xb8], r15
mov qword [rbp + 0x278], r15
movzx eax, byte [rcx + rdx + 0xeb0a2]
mov rdi, qword [rbp + rax*8 + 0xdd0]
mov qword [rsp + 0x68], rdi
mov qword [rbp + 0x280], rdi
mov dword [rbp - 0x60], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x1c90
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x1400a66ee
mov ebx, 0x8007000e
mov r13, rdi
jmp 0x1400a6d0f
mov byte [rsp + 0x64], r12b
or dword [rbp - 0x80], 0xffffffff
mov r15d, r12d
mov dword [rbp + 0xc], r12d
mov r11d, r12d
mov dword [rbp + 0x20], r12d
lea r12, [rax + 7]
lea r13, [0x1400e9362]
mov eax, 0x392
mov r14d, r11d
mov ebx, dword [rbp - 0x80]
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 r11d, r10d
xor r15d, r9d
lea r13, [r13 + 8]
xor r15d, r11d
xor r15d, 0xac987321
lea ecx, [r15 + 0x54969fa2]
rol ecx, 5
mov edx, r15d
rol edx, 0xa
imul ecx, ecx, 0x137f
add edx, ecx
xor r11d, edx
lea ecx, [r11 + 0x7f1137f]
ror ecx, 9
mov edx, r11d
rol edx, 2
imul ecx, ecx, 0xab69
sub ecx, edx
xor r15d, ecx
lea ecx, [r15 - 0x137f]
imul edx, ecx, 0x605e
mov ecx, r15d
shr ecx, 0xd
sub edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0xab69
rol ecx, 6
mov edx, r11d
rol edx, 2
imul ecx, ecx, 0x7f1
sub ecx, edx
xor r15d, ecx
mov edx, r15d
xor edx, 0xab69605e
mov ecx, 0x7f1137f
sub ecx, edx
xor r11d, ecx
mov edi, r11d
ror edi, 6
mov ecx, r11d
xor ecx, 0x137f
imul edx, ecx, 0xab69
xor edi, edx
xor r15d, edi
lea ecx, [r15 + 0x7f1137f]
ror ecx, 0xf
mov edx, r15d
rol edx, 2
imul ecx, ecx, 0x605e
add edx, ecx
xor r11d, edx
lea ecx, [r11 + 0x54969fa2]
ror ecx, 0xe
mov edx, r11d
rol edx, 8
imul ecx, ecx, 0x7f1
sub ecx, edx
xor r15d, ecx
mov ecx, r15d
mov edi, 0xab69605e
xor ecx, edi
ror ecx, 0xc
mov edx, r15d
ror edx, 0xa
imul ecx, ecx, 0x137f
xor edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0x7f1
imul edx, ecx, 0xab69
mov ecx, r11d
shr ecx, 0xa
xor edx, ecx
xor r15d, edx
mov ecx, r15d
not ecx
ror ecx, 5
add ecx, 0x605e
imul ecx, ecx, 0x7f1
xor r11d, ecx
lea r8d, [r11 - 0x7f1]
xor r8d, r15d
xor r8d, edi
mov ecx, r8d
xor ecx, 0x7f1
rol ecx, 2
imul edx, ecx, 0x137f
mov ecx, r8d
shr ecx, 2
add edx, ecx
xor r11d, edx
lea ecx, [r11 - 0x7f1137f]
ror ecx, 6
mov edx, r11d
rol edx, 7
imul ecx, ecx, 0xab69
add edx, ecx
xor r8d, edx
mov edi, r8d
ror edi, 9
mov ecx, r8d
xor ecx, 0x137f
imul edx, ecx, 0x605e
add edi, edx
xor r11d, edi
mov ecx, r11d
mov r15d, 0xab69
xor ecx, r15d
rol ecx, 5
mov edx, r11d
rol edx, 7
imul ecx, ecx, 0x7f1
add edx, ecx
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov ecx, edi
ror ecx, 3
sub ecx, r15d
imul ecx, ecx, 0x137f
xor r8d, ecx
lea ecx, [r8 - 0x7f1137f]
ror ecx, 1
mov edx, r8d
ror edx, 6
imul ecx, ecx, 0x605e
sub ecx, edx
xor edi, ecx
lea ecx, [rdi - 0x54969fa2]
rol ecx, 3
mov edx, edi
rol edx, 0xe
imul ecx, ecx, 0x7f1
add edx, ecx
xor r8d, edx
lea ecx, [r8 - 0x54969fa2]
rol ecx, 0xf
mov edx, r8d
ror edx, 0xe
imul ecx, ecx, 0x137f
sub ecx, edx
xor edi, ecx
mov ecx, edi
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, edi
shr ecx, 3
xor edx, ecx
xor r8d, edx
mov ecx, r8d
xor ecx, 0x7f1137f
rol ecx, 4
mov edx, r8d
rol edx, 2
imul ecx, ecx, 0x605e
xor edx, ecx
xor edx, r14d
xor edi, edx
mov dword [rbp + 0x20], edi
xor r8d, ebx
mov dword [rbp + 0xc], r8d
mov byte [r12 - 4], dil
ror dword [rbp + 0x20], 8
mov cl, byte [rbp + 0xc]
mov byte [r12], cl
ror dword [rbp + 0xc], 8
mov cl, byte [rbp + 0x20]
mov byte [r12 - 5], cl
ror dword [rbp + 0x20], 8
mov cl, byte [rbp + 0xc]
mov byte [r12 - 1], cl
ror dword [rbp + 0xc], 8
mov cl, byte [rbp + 0x20]
mov byte [r12 - 6], cl
ror dword [rbp + 0x20], 8
mov cl, byte [rbp + 0xc]
mov byte [r12 - 2], cl
ror dword [rbp + 0xc], 8
mov cl, byte [rbp + 0x20]
mov byte [r12 - 7], cl
mov cl, byte [rbp + 0xc]
mov byte [r12 - 3], cl
mov r11d, dword [rbp + 0x20]
ror r11d, 8
mov dword [rbp + 0x20], r11d
mov r15d, dword [rbp + 0xc]
ror r15d, 8
mov dword [rbp + 0xc], r15d
mov r14d, r10d
mov ebx, r9d
lea r12, [r12 + 8]
mov r10d, 1
sub rax, r10
jne 0x1400a671b
xor r12d, r12d
mov ecx, r12d
mov al, byte [rsp + 0x64]
mov ebx, dword [rbp - 0x60]
mov r14, qword [rbp - 0x28]
mov edx, 0x1c90
xor al, byte [rcx + r14]
add rcx, r10
cmp rcx, rdx
jb 0x1400a6a63
movzx ecx, al
cmp rcx, qword [0x1400eaff0]
je 0x1400a6a82
mov ebx, 0xc004d501
jmp 0x1400a6a93
mov qword [rbp + 0x1b0], r14
mov r14, r12
mov qword [rbp + 0x2f0], rdx
test r14, r14
je 0x1400a6ab2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r10d, 1
test ebx, ebx
js 0x1400a6ce8
mov rdx, qword [rbp + 0x1b0]
lea rdi, [rbp + 0xda0]
mov r8d, 6
mov r9d, dword [rbp - 0x78]
mov ecx, r12d
cmp r9d, ecx
jne 0x1400a6add
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r12b
jne 0x1400a6ae1
inc rdx
add rdx, rax
add ecx, r10d
cmp ecx, 0x26
jb 0x1400a6ad5
add rdi, 8
sub r8, r10
jne 0x1400a6ad2
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 + 0x88]
call fcn.1400cb7e8
test rdi, rdi
jne 0x1400a6b40
mov qword [rbp + 0x88], r12
mov ebx, 0x8007000e
mov r13, qword [rsp + 0x68]
jmp 0x1400a6d9b
mov qword [rbp + 0x88], rdi
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, r12d
mov dword [rbp - 0x60], edx
mov r14, r12
lea r13, [rbp + 0xe70]
lea r8d, [rax + 1]
mov eax, r12d
movzx edi, word [r13]
lea rcx, [0x1400eb118]
cmp di, word [rcx]
je 0x1400a6b8d
add eax, r8d
add rcx, 2
cmp eax, 6
jb 0x1400a6b77
jmp 0x1400a6c53
mov r15, qword [rbp + rax*8 + 0xda0]
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], r12b
jne 0x1400a6b99
lea r9d, [r8 + rax]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r8, r15
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1401060e0]
call qword [case.0x14006e230.0]
movsxd r12, eax
test r12d, r12d
je 0x1400a6cc8
mov rdi, r12
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 + 0x88]
mov qword [r14 + rcx], rax
mov rcx, qword [rbp + 0x88]
xor edx, edx
cmp qword [r14 + rcx], rdx
je 0x1400a6cb9
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], dl
jne 0x1400a6c0f
mov edi, 1
lea r9d, [rdi + rax]
mov dword [rsp + 0x28], r12d
mov rdx, qword [r14 + rcx]
mov qword [rsp + 0x20], rdx
mov r8, r15
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1401060e0]
call qword [case.0x14006e230.0]
xor r12d, r12d
test eax, eax
je 0x1400a6c92
mov edx, dword [rbp - 0x60]
mov r8d, edi
add edx, r8d
mov dword [rbp - 0x60], edx
add r13, 2
add r14, 8
cmp edx, 3
jb 0x1400a6b68
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x1d8], rax
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x510], eax
mov r13, qword [rsp + 0x68]
jmp 0x1400a6d15
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a6ce8
mov ebx, 0x80004005
mov r13, qword [rsp + 0x68]
mov r8, rdi
jmp 0x1400a6d15
mov ebx, 0x8007000e
mov r13, qword [rsp + 0x68]
xor r12d, r12d
jmp 0x1400a6d0f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
xor r12d, r12d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a6ce8
mov ebx, 0x80004005
mov r13, qword [rsp + 0x68]
jmp 0x1400a6d0f
mov r13, qword [rbp + 0x280]
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x270]
mov qword [rbp - 0x38], rax
mov r8d, 1
cmp qword [rbp + 0x88], r12
je 0x1400a6d9b
mov r14, r12
mov r15d, 3
mov rcx, qword [rbp + 0x88]
cmp qword [rcx + r14], r12
je 0x1400a6d92
test rcx, rcx
jne 0x1400a6d41
mov rcx, r12
mov rdi, r12
jmp 0x1400a6d4b
mov rcx, qword [rbp + 0x88]
mov rdi, rcx
mov rax, qword [rcx + r14]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x1400a6d53
lea rcx, [rcx*2 + 2]
mov rdi, qword [rdi + r14]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x88]
mov rdi, qword [rax + r14]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, 1
add r14, 8
sub r15, r8
jne 0x1400a6d27
mov rdi, qword [rbp + 0x1b0]
test rdi, rdi
je 0x1400a6db2
xor eax, eax
mov rcx, qword [rbp + 0x2f0]
rep stosb byte [rdi], al
lea rcx, [rbp + 0x88]
call fcn.1400cb7e8
lea rcx, [rbp + 0x1b0]
call fcn.1400cb7e8
lea rcx, [rbp + 0x1e0]
call fcn.1400cb7e8
test ebx, ebx
js 0x1400a7817
mov rax, qword [rbp + 0x1d8]
mov rcx, qword [rax]
mov qword [rbp + 0x518], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x520], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x528], rcx
xor eax, eax
mov qword [rbp + 0x32c], rax
mov dword [rbp + 0x334], eax
mov edi, r12d
mov ebx, r12d
mov dword [rbp + 0x328], reloc.OLEAUT32.dll_SafeArrayGetDim
xor r9d, r9d
lea r8, [rbp + 0x328]
xor edx, edx
lea ecx, [rax + 0x42]
mov rax, qword [0x140106188]
call qword [case.0x14006e230.0]
test eax, eax
jne 0x1400a6e63
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a6e6c
mov ebx, 0x80004005
jmp 0x1400a6e6c
mov edi, dword [rbp + 0x32c]
and edi, 1
mov dword [rbp + 0x514], edi
mov r15d, dword [rbp + 0x10]
test ebx, ebx
js 0x1400a7820
mov ecx, r15d
mov edx, reloc.WSOCK32.dll_inet_ntoa
lea eax, [rdx + 0x1f]
mov dword [rbp - 0x18], eax
sub ecx, 1
je 0x1400a6eb4
sub ecx, 1
je 0x1400a6ea8
cmp ecx, 1
jne 0x1400a6eb9
mov r14d, 0xe1
mov dword [rsp + 0x78], r14d
jmp 0x1400a6ebd
mov r14d, reloc.OLEAUT32.dll_SafeArrayDestroy
mov dword [rsp + 0x78], edx
jmp 0x1400a6ebd
mov r14d, eax
jmp 0x1400a6eae
mov r14d, dword [rbp + 0x2c]
mov ebx, 0x60
mov r12d, ebx
lea edi, [rbx + 0x7c]
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xc80]
call sub.msvcrt.dll_memset
mov word [rbp + 0xcc4], di
lea r8, [rbp + 0xc80]
or edx, 0xffffffff
xor ecx, ecx
mov rax, qword [0x140106100]
call qword [case.0x14006e230.0]
xor edi, edi
test eax, eax
je 0x1400a6f2d
movzx r12d, word [rbp + 0xd26]
mov qword [rbp + 0x9a0], rdi
mov eax, dword [rbp + 0xd2c]
mov dword [rbp + 0x9a8], eax
mov eax, dword [rbp + 0xd30]
mov dword [rbp + 0x9ac], eax
cmp r12d, ebx
cmovl r12d, ebx
mov eax, 1
cmp r15d, eax
cmove r13, qword [rbp - 0x38]
xor edx, edx
lea r8d, [rax + 0x5b]
lea rcx, [rbp + 0xb40]
call sub.msvcrt.dll_memset
mov ebx, edi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006e230.0]
mov rdi, rax
test rax, rax
jne 0x1400a6f96
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov r14d, 0x80070000
or ebx, r14d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a781d
mov ebx, 0x80004005
jmp 0x1400a781d
mov r8d, 0x48
mov edx, r12d
mov ecx, r14d
mov rax, qword [0x1401060d8]
call qword [case.0x14006e230.0]
neg eax
mov dword [rbp + 0xb40], eax
mov dword [rbp + 0xb50], 0x190
mov byte [rbp + 0xb5a], 5
mov r8, r13
mov edx, 0x20
lea rcx, [rbp + 0xb5c]
call fcn.140034ecc
lea rcx, [rbp + 0xb40]
mov rax, qword [0x140106040]
call qword [case.0x14006e230.0]
test rax, rax
jne 0x1400a7017
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov r14d, 0x80070000
or ebx, r14d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a7024
mov ebx, 0x80004005
jmp 0x1400a7024
mov qword [rbp + 0x530], rax
mov r14d, 0x80070000
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006e230.0]
xor edi, edi
test ebx, ebx
js 0x1400a781d
xor edx, edx
lea r8d, [rdi + 0x5c]
lea rcx, [rbp + 0xba0]
call sub.msvcrt.dll_memset
mov ebx, edi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006e230.0]
mov rdi, rax
test rax, rax
jne 0x1400a7087
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r14d
xor r8d, r8d
jmp 0x1400a6f7f
mov r8d, 0x48
mov edx, r12d
mov ecx, dword [rsp + 0x78]
mov rax, qword [0x1401060d8]
call qword [case.0x14006e230.0]
neg eax
mov dword [rbp + 0xba0], eax
mov dword [rbp + 0xbb0], 0x190
mov byte [rbp + 0xbba], 5
mov r8, r13
mov edx, 0x20
lea rcx, [rbp + 0xbbc]
call fcn.140034ecc
lea rcx, [rbp + 0xba0]
mov rax, qword [0x140106040]
call qword [case.0x14006e230.0]
test rax, rax
jne 0x1400a7103
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r14d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a710a
mov ebx, 0x80004005
jmp 0x1400a710a
mov qword [rbp + 0x538], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006e230.0]
xor r8d, r8d
test ebx, ebx
js 0x1400a781d
mov r14d, r8d
mov edx, r8d
mov ecx, r15d
sub ecx, 1
je 0x1400a7158
sub ecx, 1
je 0x1400a7141
cmp ecx, 1
je 0x1400a7158
jmp 0x1400a7165
mov eax, dword [rbp + 0x9a8]
cdq
and edx, 3
lea r14d, [rdx + rax]
sar r14d, 2
mov edx, r8d
jmp 0x1400a7165
mov r14d, dword [rbp + 0x9a8]
mov edx, dword [rbp + 0x9ac]
mov dword [rbp + 0x978], r14d
mov dword [rbp + 0x97c], edx
mov ecx, 1
cmp r15d, ecx
je 0x1400a71b5
lea eax, [r15 - 2]
cmp eax, ecx
ja 0x1400a7192
mov r13d, r8d
mov dword [rbp - 0x18], r8d
mov dword [rsp + 0x78], r8d
jmp 0x1400a71c3
mov eax, dword [rbp + 0xd4]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0xd4]
mov dword [rbp - 0x18], eax
mov r15d, dword [rbp + 0xd4]
mov r13d, dword [rbp + 0xd4]
jmp 0x1400a71c6
mov r13d, 0x96
mov dword [rsp + 0x78], 0x20
mov r15d, r8d
sub r14d, r13d
sub r14d, r15d
mov dword [rbp + 0x564], r14d
mov dword [rbp + 0x554], r14d
mov rdi, qword [rbp + 0x518]
mov ebx, r8d
mov rdx, qword [rbp + 0x530]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x54c]
or r8d, 0xffffffff
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
xor ecx, ecx
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x1400a725d
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
xor ecx, ecx
test ebx, ebx
js 0x1400a7811
mov rdi, qword [rbp + 0x520]
mov ebx, ecx
mov rdx, qword [rbp + 0x538]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x55c]
or r8d, 0xffffffff
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
xor edx, edx
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x1400a72e7
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
xor edx, edx
test ebx, ebx
js 0x1400a7811
mov eax, dword [rbp + 0x10]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x554]
mov edi, 1
cmp eax, edi
ja 0x1400a7312
mov r14d, dword [rbp + 0x564]
cmp ecx, r14d
cmovg r14d, ecx
mov r8d, dword [rbp - 0x18]
mov rax, qword [fcn.14005a750]
cmp dword [rbp + 0x510], edx
je 0x1400a7347
mov edx, r15d
sub edx, ecx
add edx, r14d
lea rcx, [rbp + 0x54c]
call qword [case.0x14006e230.0]
sub r15d, dword [rbp + 0x564]
lea edx, [r14 + r15]
jmp 0x1400a735a
mov edx, r13d
lea rcx, [rbp + 0x54c]
call qword [case.0x14006e230.0]
mov edx, r13d
mov r8d, dword [rsp + 0x78]
add r8d, dword [rbp + 0x558]
lea rcx, [rbp + 0x55c]
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov r15d, dword [rbp + 0x10]
lea eax, [r15 - 2]
mov r13, rdi
cmp eax, edi
jbe 0x1400a7624
cmp r15d, edi
jne 0x1400a7641
mov dword [rbp + 0x548], 0xffffff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xc00]
call sub.msvcrt.dll_memset
xor r13d, r13d
mov ebx, r13d
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x140106118]
call qword [case.0x14006e230.0]
mov rdi, rax
test rax, rax
jne 0x1400a73eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
jmp 0x1400a6f7f
mov r8d, 0x48
mov edx, r12d
lea ecx, [r8 - 0x3d]
mov rax, qword [0x1401060d8]
call qword [case.0x14006e230.0]
neg eax
mov dword [rbp + 0xc00], eax
mov dword [rbp + 0xc10], 0x190
mov byte [rbp + 0xc1a], 5
mov r8, qword [rbp + 0xb8]
mov edx, 0x20
lea rcx, [rbp + 0xc1c]
call fcn.140034ecc
lea rcx, [rbp + 0xc00]
mov rax, qword [0x140106040]
call qword [case.0x14006e230.0]
test rax, rax
jne 0x1400a746e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400a7475
mov ebx, 0x80004005
jmp 0x1400a7475
mov qword [rbp + 0x540], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006e230.0]
test ebx, ebx
js 0x1400a781d
mov dword [rbp + 0x574], r14d
mov rdi, qword [rbp + 0x528]
mov ebx, r13d
mov rdx, qword [rbp + 0x540]
mov r13, qword [rsp + 0x70]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov r14, rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x56c]
or r8d, 0xffffffff
mov rdx, rdi
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
test eax, eax
mov eax, 0x80004005
cmove ebx, eax
test r14, r14
je 0x1400a750e
mov rdx, r14
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
test ebx, ebx
js 0x1400a781d
mov eax, dword [rbp + 0x574]
add eax, 0x18
mov ecx, 0x5a
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x574], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x578], eax
lea edi, [rcx + 6]
mov r8d, edi
mov edx, r12d
mov ecx, dword [rbp + 0x56c]
mov rax, qword [0x1401060d8]
call qword [case.0x14006e230.0]
mov dword [rbp + 0x56c], eax
mov r8d, edi
mov edx, r12d
mov ecx, dword [rbp + 0x570]
mov rax, qword [0x1401060d8]
call qword [case.0x14006e230.0]
mov dword [rbp + 0x570], eax
mov r8d, edi
mov edx, r12d
mov ecx, dword [rbp + 0x574]
mov rax, qword [0x1401060d8]
call qword [case.0x14006e230.0]
mov dword [rbp + 0x574], eax
mov r8d, edi
mov edx, r12d
mov ecx, dword [rbp + 0x578]
mov rax, qword [0x1401060d8]
call qword [case.0x14006e230.0]
mov dword [rbp + 0x578], eax
xor r12d, r12d
mov r8d, dword [rbp + 0x568]
lea rcx, [rbp + 0x56c]
cmp dword [rbp + 0x510], r12d
je 0x1400a75fd
mov edx, dword [rbp + 0x55c]
cmp dword [rbp + 0x54c], edx
cmovl edx, dword [rbp + 0x54c]
add r8d, 0x24
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov r13d, 1
jmp 0x1400a7644
mov eax, dword [rbp + 0x564]
cmp dword [rbp + 0x554], eax
cmovg eax, dword [rbp + 0x554]
add r8d, 0x24
mov edx, dword [rbp + 0x56c]
sub edx, dword [rbp + 0x574]
add edx, eax
jmp 0x1400a75e8
mov dword [rbp + 0x978], r14d
mov eax, dword [rbp + 0x568]
mov dword [rbp + 0x97c], eax
mov dword [rbp + 0x548], 0xffa8a8a8
xor r12d, r12d
mov r14d, dword [rbp + 0x510]
mov ebx, dword [rbp + 0x97c]
mov edi, dword [rbp + 0x978]
mov ecx, r15d
sub ecx, 1
je 0x1400a7804
sub ecx, 1
je 0x1400a771f
cmp ecx, 1
jne 0x1400a780c
lea r14d, [rcx + 0x27]
mov r8d, r14d
xor edx, edx
lea rcx, [rbp + 0xb18]
call sub.msvcrt.dll_memset
mov edx, r13d
xor ecx, ecx
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov dword [rbp + 0xb18], r14d
lea rdx, [rbp + 0xb18]
mov rcx, rax
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a780c
lea rdx, [rbp + 0xb2c]
xor ecx, ecx
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
lea rdx, [rbp + 0xb34]
xor ecx, ecx
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov eax, dword [rbp + 0xb34]
sub eax, edi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov rcx, qword [rbp + 0xb34]
shr rcx, 0x20
sub ecx, ebx
imul ecx, ecx, 0x32
jmp 0x1400a77e5
xor edx, edx
lea r8d, [rdx + 0x28]
lea rcx, [rbp + 0xa00]
call sub.msvcrt.dll_memset
mov edx, r13d
xor ecx, ecx
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov dword [rbp + 0xa00], 0x28
lea rdx, [rbp + 0xa00]
mov rcx, rax
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a780c
lea rdx, [rbp + 0xa14]
xor ecx, ecx
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
lea rdx, [rbp + 0xa1c]
xor ecx, ecx
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov eax, dword [rbp + 0xa1c]
test r14d, r14d
je 0x1400a77bf
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 + 0xa14]
jmp 0x1400a77d5
sub eax, edi
imul ecx, eax, 0x5f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rbp + 0xa1c]
shr rax, 0x20
sub eax, ebx
imul ecx, eax, 0x5f
mov dword [rbp + 0x970], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x974], edx
jmp 0x1400a780c
and qword [rbp + 0x970], 0
mov ebx, r12d
jmp 0x1400a7820
mov r15d, dword [rbp + 0x10]
jmp 0x1400a781d
mov r15d, dword [rbp + 0x10]
jmp 0x1400a7820
xor r12d, r12d
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006e230.0]
mov r14d, 1
xor eax, eax
lock cmpxchg dword [0x14010bde4], r14d
jne 0x1400a783a
mov eax, dword [0x14010bde0]
test eax, eax
jle 0x1400a78b8
sub eax, r14d
mov dword [0x14010bde0], eax
jne 0x1400a78b8
lea r13, [0x14010a6d0]
mov rdi, r13
mov rax, r14
mov r14d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a7882
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add rdi, 0x18
sub r14, rax
jne 0x1400a786f
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d8440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov r14d, 1
mov eax, r12d
xchg dword [0x14010bde4], eax
lea rcx, [rbp + 0x1d8]
call fcn.1400cb7e8
test ebx, ebx
js 0x1400a9168
mov rdi, qword [rbp + 0x970]
mov qword [rbp + 0x2f8], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x580]
call sub.msvcrt.dll_memset
mov ebx, r14d
mov edx, 7
mov r13, qword [rbp + 0x50]
mov rcx, r13
mov rax, qword [0x140106070]
call qword [case.0x14006e230.0]
test rax, rax
je 0x1400a795f
lea r8, [rbp + 0x580]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a795f
mov eax, 0x20
cmp word [rbp + 0x592], ax
jne 0x1400a795f
cmp qword [rbp + 0x598], r12
je 0x1400a795f
cmp dword [rbp + 0x584], r12d
jle 0x1400a795f
cmp dword [rbp + 0x588], r12d
jg 0x1400a7962
mov ebx, r12d
mov dword [rbp + 0x170], ebx
test ebx, ebx
jne 0x1400a7971
cmp r15d, r14d
jne 0x1400a79d6
mov r8d, dword [rbp + 0x2fc]
mov edx, edi
lea rcx, [rbp + 0x54c]
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov r8d, dword [rbp + 0x2fc]
mov edx, edi
lea rcx, [rbp + 0x55c]
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
cmp r15d, r14d
jne 0x1400a79d6
mov eax, dword [rbp + 0x514]
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xb26720
mov rax, qword [0x140106048]
call qword [case.0x14006e230.0]
mov qword [rbp + 0xc0], rax
mov edx, r14d
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov dword [rsp + 0x68], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x510], r12d
cmovne eax, ecx
mov dword [rbp + 0x2c], eax
cmp dword [rbp + 0x170], r12d
je 0x1400a83e1
mov eax, dword [rbp + 0x514]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp + 0x530]
mov qword [rbp - 0x28], rax
mov r12, qword [rbp + 0x518]
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x5f0]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x7b0]
call sub.msvcrt.dll_memset
xor r15d, r15d
mov qword [rbp - 0x38], r15
mov dword [rbp - 0x60], r15d
mov r14d, r15d
xor edx, edx
lea r8d, [rdi - 0x3c]
lea rcx, [rbp + 0xa28]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9b0], xmm0
test r12, r12
je 0x1400a9146
lea edx, [rdi - 0x61]
mov rcx, r13
mov rax, qword [0x140106070]
call qword [case.0x14006e230.0]
test rax, rax
jne 0x1400a7aaa
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a9146
lea r8, [rbp + 0x5f0]
mov edx, edi
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a7ae2
mov rax, qword [rbp + 0x608]
mov qword [rbp - 0x38], rax
mov eax, dword [rbp + 0x5f4]
mov dword [rbp - 0x60], eax
mov r14d, dword [rbp + 0x5f8]
mov rcx, r13
mov rax, qword [0x140106030]
call qword [case.0x14006e230.0]
mov r13, rax
test rax, rax
je 0x1400a7a9f
mov ebx, dword [rbp + 0x558]
sub ebx, dword [rbp + 0x550]
mov edi, dword [rbp + 0x554]
sub edi, dword [rbp + 0x54c]
mov qword [rbp + 0x3c0], r15
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa28]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa28], 0x28
mov dword [rbp + 0xa2c], edi
neg ebx
mov dword [rbp + 0xa30], ebx
mov dword [rbp + 0xa34], 0x200001
xor ebx, ebx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x3c0]
xor r8d, r8d
lea rdx, [rbp + 0xa28]
mov rcx, r13
mov rax, qword [0x140106038]
call qword [case.0x14006e230.0]
mov rdi, rax
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x1400a7bb3
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
xor r12d, r12d
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400a7ee6
mov r15d, 0x80004005
jmp 0x1400a7ee6
lea r8, [rbp + 0x7b0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
mov rcx, rbx
test eax, eax
cmovne rcx, qword [rbp + 0x7c8]
mov qword [rbp + 0x48], rcx
mov eax, dword [rbp + 0x554]
sub eax, dword [rbp + 0x54c]
mov dword [rbp + 0x9b8], eax
mov eax, dword [rbp + 0x558]
sub eax, dword [rbp + 0x550]
mov dword [rbp + 0x9bc], eax
mov rdx, rdi
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov edi, 1
mov edx, edi
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov rdx, qword [rbp - 0x28]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov qword [rbp - 0x78], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006e230.0]
mov r8, rax
lea rdx, [rbp + 0x9b0]
mov rcx, r13
mov rax, qword [0x140106108]
call qword [case.0x14006e230.0]
mov qword [rsp + 0x28], rbx
mov eax, dword [rbp + 0x2c]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9b0]
or r8d, 0xffffffff
mov rdx, r12
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
xor r12d, r12d
cmp dword [rbp + 0x10], edi
jne 0x1400a7cc6
cmp dword [rbp - 0x50], r12d
je 0x1400a7cbf
lea ecx, [rdi + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006e230.0]
mov ebx, eax
mov dword [rsp + 0x78], eax
jmp 0x1400a7ccf
mov ebx, 0xffffff
jmp 0x1400a7ccb
mov ebx, 0xffa8a8a8
mov dword [rsp + 0x78], ebx
mov edx, dword [rbp + 0x550]
mov r8d, dword [rbp + 0x54c]
mov edi, r12d
mov ecx, r12d
test r8d, r8d
jns 0x1400a7cef
mov edi, r8d
neg edi
mov r8d, r12d
test edx, edx
jns 0x1400a7cfa
mov ecx, edx
neg ecx
mov edx, r12d
movsxd r11, dword [rbp + 0x9b8]
mov eax, r11d
sub eax, edi
movsxd r9, dword [rbp - 0x60]
mov r10d, r9d
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x9bc]
sub eax, ecx
sub r14d, edx
cmp eax, r14d
cmovl r14d, eax
test r10d, r10d
jle 0x1400a7eb9
test r14d, r14d
jle 0x1400a7eb9
imul ecx, r11d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp + 0x48]
lea rdi, [rax + rcx*4]
mov qword [rsp + 0x70], rdi
imul edx, r9d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x38]
lea r12, [rax + rcx*4]
xor r8d, r8d
test r14d, r14d
jle 0x1400a7eb6
mov rax, r11
shl rax, 2
mov qword [rbp - 0x28], rax
mov rcx, r9
shl rcx, 2
mov qword [rbp + 0x48], rcx
mov edx, r14d
mov qword [rbp - 0x38], rdx
lea esi, [r8 + 1]
test r10d, r10d
jle 0x1400a7e9a
lea r9, [r12 + 2]
mov r11, rdi
sub r11, r12
mov r14d, 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 0x1400a7e7c
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 [rsp + 0x79]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rsp + 0x7a]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
xor r8d, r8d
add r9, 4
sub r14, rsi
jne 0x1400a7dae
mov rdi, qword [rsp + 0x70]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp - 0x38]
add rdi, rax
mov qword [rsp + 0x70], rdi
add r12, rcx
sub rdx, rsi
mov qword [rbp - 0x38], rdx
jne 0x1400a7d97
mov esi, dword [rsp + 0x60]
xor r12d, r12d
mov rcx, qword [rbp - 0x80]
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1400a7ee6
mov rdx, rax
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov rcx, r13
mov rax, qword [0x140106050]
call qword [case.0x14006e230.0]
test r15d, r15d
js 0x1400a9146
mov eax, dword [rbp + 0x514]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp + 0x538]
mov qword [rbp - 0x28], rax
mov r15, qword [rbp + 0x520]
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x660]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x820]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x38], r12
mov dword [rbp - 0x60], r12d
mov r14d, r12d
xor edx, edx
lea r8d, [rdi - 0x3c]
lea rcx, [rbp + 0xa58]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9c0], xmm0
test r15, r15
je 0x1400a9146
lea edx, [rdi - 0x61]
mov r13, qword [rbp + 0x50]
mov rcx, r13
mov rax, qword [0x140106070]
call qword [case.0x14006e230.0]
test rax, rax
je 0x1400a7a9f
lea r8, [rbp + 0x660]
mov edx, edi
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a7fca
mov rax, qword [rbp + 0x678]
mov qword [rbp - 0x38], rax
mov eax, dword [rbp + 0x664]
mov dword [rbp - 0x60], eax
mov r14d, dword [rbp + 0x668]
mov rcx, r13
mov rax, qword [0x140106030]
call qword [case.0x14006e230.0]
mov r13, rax
test rax, rax
je 0x1400a7a9f
mov ebx, dword [rbp + 0x568]
sub ebx, dword [rbp + 0x560]
mov edi, dword [rbp + 0x564]
sub edi, dword [rbp + 0x55c]
mov qword [rbp + 0x3c8], r12
mov dword [rbp - 0x80], r12d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa58]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa58], 0x28
mov dword [rbp + 0xa5c], edi
neg ebx
mov dword [rbp + 0xa60], ebx
mov dword [rbp + 0xa64], 0x200001
xor ebx, ebx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x3c8]
xor r8d, r8d
lea rdx, [rbp + 0xa58]
mov rcx, r13
mov rax, qword [0x140106038]
call qword [case.0x14006e230.0]
mov rdi, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400a80a1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400a83bf
mov r12d, 0x80004005
jmp 0x1400a83bf
lea r8, [rbp + 0x820]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
test eax, eax
cmovne rbx, qword [rbp + 0x838]
mov eax, dword [rbp + 0x564]
sub eax, dword [rbp + 0x55c]
mov dword [rbp + 0x9c8], eax
mov eax, dword [rbp + 0x568]
sub eax, dword [rbp + 0x560]
mov dword [rbp + 0x9cc], eax
mov rdx, rdi
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov edi, 1
mov edx, edi
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov rdx, qword [rbp - 0x28]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov qword [rbp - 0x78], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006e230.0]
mov r8, rax
lea rdx, [rbp + 0x9c0]
mov rcx, r13
mov rax, qword [0x140106108]
call qword [case.0x14006e230.0]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x2c]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9c0]
or r8d, 0xffffffff
mov rdx, r15
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
xor r15d, r15d
cmp dword [rbp + 0x10], edi
jne 0x1400a81ac
cmp dword [rbp - 0x50], r15d
je 0x1400a81a2
lea ecx, [rdi + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006e230.0]
jmp 0x1400a81b1
mov dword [rsp + 0x78], 0xffffff
jmp 0x1400a81b8
mov eax, 0xffa8a8a8
mov dword [rsp + 0x78], eax
mov dword [rbp + 0x78], eax
mov edx, dword [rbp + 0x560]
mov r8d, dword [rbp + 0x55c]
mov edi, r15d
mov ecx, r15d
test r8d, r8d
jns 0x1400a81d8
mov edi, r8d
neg edi
mov r8d, r15d
test edx, edx
jns 0x1400a81e3
mov ecx, edx
neg ecx
mov edx, r15d
movsxd r11, dword [rbp + 0x9c8]
mov eax, r11d
sub eax, edi
movsxd r9, dword [rbp - 0x60]
mov r10d, r9d
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x9cc]
sub eax, ecx
sub r14d, edx
cmp eax, r14d
cmovl r14d, eax
test r10d, r10d
jle 0x1400a8391
test r14d, r14d
jle 0x1400a8391
imul ecx, r11d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
lea r15, [rbx + rcx*4]
imul edx, r9d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x38]
lea rbx, [rax + rcx*4]
xor edi, edi
test r14d, r14d
jle 0x1400a8391
mov rax, r11
shl rax, 2
mov qword [rbp - 0x28], rax
mov rcx, r9
shl rcx, 2
mov qword [rbp + 0x48], rcx
mov edx, r14d
mov qword [rbp - 0x38], rdx
mov r12d, dword [rbp + 0x78]
lea esi, [rdi + 1]
test r10d, r10d
jle 0x1400a8376
lea r9, [rbx + 2]
mov r11, r15
sub r11, rbx
mov r14d, 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 0x1400a835d
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rsp + 0x79]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rsp + 0x7a]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
xor edi, edi
add r9, 4
sub r14, rsi
jne 0x1400a828f
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp - 0x38]
add r15, rax
add rbx, rcx
sub rdx, rsi
mov qword [rbp - 0x38], rdx
jne 0x1400a8279
mov esi, dword [rsp + 0x60]
mov r12d, dword [rbp - 0x80]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1400a83bf
mov rdx, rax
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov rcx, r13
mov rax, qword [0x140106050]
call qword [case.0x14006e230.0]
test r12d, r12d
js 0x1400a9146
mov rdi, qword [rbp + 0x50]
jmp 0x1400a9100
cmp dword [rbp + 0x514], r12d
jne 0x1400a83f1
cmp r15d, r14d
mov al, 0xc0
jne 0x1400a83f3
mov al, 0xff
and word [rbp + 0xb8], 0
mov byte [rbp + 0xba], al
mov byte [rbp + 0xbb], r14b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x990], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x980], xmm1
mov rcx, r13
mov rax, qword [0x140106030]
call qword [case.0x14006e230.0]
mov qword [rbp + 0x30], rax
test rax, rax
jne 0x1400a8442
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a914c
cmp r15d, r14d
jne 0x1400a8517
mov ecx, dword [rbp + 0x564]
mov ebx, dword [rbp + 0x55c]
sub ecx, ebx
mov eax, dword [rbp + 0x554]
mov edi, dword [rbp + 0x54c]
sub eax, edi
mov edx, eax
cmp ecx, eax
cmovg edx, ecx
mov dword [rbp - 0x78], edx
mov r9d, dword [rbp + 0x568]
mov r8d, dword [rbp + 0x550]
sub r9d, r8d
mov dword [rbp + 0x40], r9d
cmp dword [rbp + 0x510], r12d
je 0x1400a84ad
sub edi, dword [rbp + 0x554]
add edi, edx
mov dword [rbp + 0x990], edi
sub ebx, dword [rbp + 0x564]
add ebx, edx
mov dword [rbp + 0x980], ebx
jmp 0x1400a84b9
mov edi, dword [rbp + 0x990]
mov ebx, dword [rbp + 0x980]
lea r12d, [rax + rdi]
mov dword [rbp - 0x18], r12d
mov dword [rbp + 0x998], r12d
mov r13d, dword [rbp + 0x558]
sub r13d, r8d
mov dword [rbp + 0x99c], r13d
lea eax, [rcx + rbx]
mov dword [rbp + 0x988], eax
mov r14d, dword [rbp + 0x560]
sub r14d, r8d
mov dword [rbp + 0x984], r14d
mov r15d, r14d
sub r15d, dword [rbp + 0x560]
add r15d, dword [rbp + 0x568]
mov dword [rbp - 0x50], r15d
mov dword [rbp + 0x98c], r15d
mov r15d, edx
mov r12d, r9d
jmp 0x1400a857d
mov r15d, dword [rbp + 0x978]
mov dword [rbp - 0x78], r15d
mov r12d, dword [rbp + 0x97c]
mov dword [rbp + 0x40], r12d
movups xmm0, xmmword [rbp + 0x54c]
movdqu xmmword [rbp + 0x990], xmm0
movups xmm1, xmmword [rbp + 0x55c]
movdqu xmmword [rbp + 0x980], xmm1
mov r13d, dword [rbp + 0x99c]
mov eax, dword [rbp + 0x998]
mov dword [rbp - 0x18], eax
mov edi, dword [rbp + 0x990]
mov eax, dword [rbp + 0x98c]
mov dword [rbp - 0x50], eax
mov eax, dword [rbp + 0x988]
mov r14d, dword [rbp + 0x984]
mov ebx, dword [rbp + 0x980]
mov dword [rsp + 0x78], eax
xor eax, eax
mov qword [rbp + 0x3d0], rax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xa88]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xa88], 0x28
mov dword [rbp + 0xa8c], r15d
mov eax, r12d
neg eax
mov dword [rbp + 0xa90], eax
mov dword [rbp + 0xa94], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3d0]
xor r8d, r8d
lea rdx, [rbp + 0xa88]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x140106038]
call qword [case.0x14006e230.0]
mov qword [rbp + 0x58], rax
test rax, rax
jne 0x1400a8603
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a912d
mov rdx, rax
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov eax, 1
cmp dword [rbp + 0x10], eax
jne 0x1400a8668
mov rax, qword [rbp + 0xc0]
xor edx, edx
test rax, rax
je 0x1400a8668
xor ecx, ecx
mov qword [rbp + 0x9d4], rcx
mov qword [rbp + 0x9d0], rdx
mov dword [rbp + 0x9d8], r15d
mov dword [rbp + 0x9dc], r12d
mov r8, rax
lea rdx, [rbp + 0x9d0]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x140106108]
call qword [case.0x14006e230.0]
mov eax, dword [rbp + 0x514]
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0x530]
mov qword [rbp + 0xb0], rax
mov r12, qword [rbp + 0x518]
mov r15d, 0x68
mov r8d, r15d
xor edx, edx
lea rcx, [rbp + 0x6d0]
call sub.msvcrt.dll_memset
mov r8d, r15d
xor edx, edx
lea rcx, [rbp + 0x890]
call sub.msvcrt.dll_memset
xor ecx, ecx
mov qword [rbp + 0x48], rcx
mov dword [rbp - 0x80], ecx
mov r15d, ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xab8]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9e0], xmm0
test r12, r12
je 0x1400a9114
mov edx, 7
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x140106070]
call qword [case.0x14006e230.0]
test rax, rax
jne 0x1400a8707
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a9114
lea r8, [rbp + 0x6d0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a8742
mov rax, qword [rbp + 0x6e8]
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x6d4]
mov dword [rbp - 0x80], eax
mov r15d, dword [rbp + 0x6d8]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x140106030]
call qword [case.0x14006e230.0]
mov qword [rbp - 0x38], rax
xor ecx, ecx
test rax, rax
je 0x1400a86fc
sub r13d, dword [rbp + 0x994]
sub dword [rbp - 0x18], edi
mov qword [rbp + 0x3d8], rcx
mov dword [rbp - 0x60], ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xab8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xab8], 0x28
mov eax, dword [rbp - 0x18]
mov dword [rbp + 0xabc], eax
mov eax, r13d
neg eax
mov dword [rbp + 0xac0], eax
mov dword [rbp + 0xac4], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3d8]
xor r8d, r8d
lea rdx, [rbp + 0xab8]
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x140106038]
call qword [case.0x14006e230.0]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x1400a8814
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
xor r12d, r12d
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x60], ecx
mov r13, qword [rbp - 0x38]
test ecx, ecx
js 0x1400a8b65
mov dword [rbp - 0x60], 0x80004005
jmp 0x1400a8b65
lea r8, [rbp + 0x890]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x8a8]
mov qword [rbp + 0x80], rcx
mov eax, dword [rbp - 0x18]
mov dword [rbp + 0x9e8], eax
mov dword [rbp + 0x9ec], r13d
mov rdx, qword [rbp - 0x28]
mov r13, qword [rbp - 0x38]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov edx, 1
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov rdx, qword [rbp + 0xb0]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov qword [rbp + 0x70], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006e230.0]
mov r8, rax
lea rdx, [rbp + 0x9e0]
mov rcx, r13
mov rax, qword [0x140106108]
call qword [case.0x14006e230.0]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x2c]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9e0]
or r8d, 0xffffffff
mov rdx, r12
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov eax, 1
cmp dword [rbp + 0x10], eax
jne 0x1400a8928
xor eax, eax
cmp dword [rsp + 0x70], eax
je 0x1400a891c
lea ecx, [rax + 8]
mov rax, qword [0x140106138]
call qword [case.0x14006e230.0]
mov r12d, eax
mov dword [rbp - 0x18], eax
jmp 0x1400a8932
mov r12d, 0xffffff
mov dword [rbp - 0x18], r12d
jmp 0x1400a8934
mov r12d, 0xffa8a8a8
mov dword [rbp - 0x18], r12d
xor eax, eax
mov r8d, eax
mov ecx, eax
test edi, edi
jns 0x1400a8945
mov r8d, edi
neg r8d
mov edi, eax
mov edx, dword [rbp + 0x994]
test edx, edx
jns 0x1400a8955
mov ecx, edx
neg ecx
mov edx, eax
movsxd r9, dword [rbp + 0x9e8]
mov eax, r9d
sub eax, r8d
movsxd r11, dword [rbp - 0x80]
mov r10d, r11d
sub r10d, edi
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x9ec]
sub eax, ecx
sub r15d, edx
cmp eax, r15d
cmovl r15d, eax
test r10d, r10d
jle 0x1400a8b35
test r15d, r15d
jle 0x1400a8b35
imul ecx, r9d
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x80]
lea r8, [rax + rcx*4]
mov qword [rbp - 0x38], r8
imul edx, r11d
movsxd rcx, edx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp + 0x48]
lea rax, [rax + rcx*4]
mov qword [rsp + 0x70], rax
test r15d, r15d
jle 0x1400a8b35
mov rcx, r9
shl rcx, 2
mov qword [rbp + 0x80], rcx
mov rdx, r11
shl rdx, 2
mov qword [rbp + 0xb0], rdx
mov edi, r15d
mov qword [rbp - 0x80], rdi
xor r15d, r15d
lea esi, [r15 + 1]
test r10d, r10d
jle 0x1400a8b15
lea r9, [rax + 2]
mov r11, r8
sub r11, rax
mov edi, r10d
mov qword [rbp + 0x48], rdi
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400a8ae9
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
imul ecx, r8d
mov r15d, 0x80808081
mov eax, r15d
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 - 0x17]
sub ecx, edi
imul ecx, r8d
mov eax, r15d
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, r15d
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, r15d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
mov rdi, qword [rbp + 0x48]
xor r15d, r15d
add r9, 4
sub rdi, rsi
mov qword [rbp + 0x48], rdi
jne 0x1400a8a1a
mov rax, qword [rsp + 0x70]
mov r8, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0xb0]
mov rdi, qword [rbp - 0x80]
add r8, rcx
mov qword [rbp - 0x38], r8
add rax, rdx
mov qword [rsp + 0x70], rax
sub rdi, rsi
mov qword [rbp - 0x80], rdi
jne 0x1400a8a00
mov esi, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov rax, qword [rbp + 0x70]
xor r12d, r12d
test rax, rax
je 0x1400a8b65
mov rdx, rax
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov rcx, r13
mov rax, qword [0x140106050]
call qword [case.0x14006e230.0]
cmp dword [rbp - 0x60], r12d
jl 0x1400a9114
mov eax, dword [rbp + 0x514]
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0x538]
mov qword [rbp + 0x70], rax
mov r15, qword [rbp + 0x520]
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x740]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x900]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x28], r12
mov dword [rbp - 0x80], r12d
mov edi, r12d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xae8]
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x9f0], xmm0
test r15, r15
je 0x1400a9114
mov edx, 7
mov r12, qword [rbp + 0x30]
mov rcx, r12
mov rax, qword [0x140106070]
call qword [case.0x14006e230.0]
test rax, rax
je 0x1400a86fc
lea r8, [rbp + 0x740]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
test eax, eax
je 0x1400a8c4f
mov rax, qword [rbp + 0x758]
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0x744]
mov dword [rbp - 0x80], eax
mov edi, dword [rbp + 0x748]
mov rcx, r12
mov rax, qword [0x140106030]
call qword [case.0x14006e230.0]
mov qword [rbp - 0x60], rax
xor r12d, r12d
test rax, rax
je 0x1400a86fc
mov r13d, dword [rbp - 0x50]
sub r13d, r14d
sub dword [rsp + 0x78], ebx
mov qword [rbp + 0x3f0], r12
mov dword [rbp - 0x50], r12d
xor edx, edx
lea r8d, [r12 + 0x2c]
lea rcx, [rbp + 0xae8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xae8], 0x28
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0xaec], eax
mov eax, r13d
neg eax
mov dword [rbp + 0xaf0], eax
mov dword [rbp + 0xaf4], 0x200001
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x3f0]
xor r8d, r8d
lea rdx, [rbp + 0xae8]
mov rcx, qword [rbp - 0x60]
mov rax, qword [0x140106038]
call qword [case.0x14006e230.0]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x1400a8d26
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
mov r13, qword [rbp - 0x60]
test r12d, r12d
js 0x1400a9047
mov r12d, 0x80004005
jmp 0x1400a9047
lea r8, [rbp + 0x900]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x140106088]
call qword [case.0x14006e230.0]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x918]
mov qword [rbp + 0x80], rcx
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0x9f8], eax
mov dword [rbp + 0x9fc], r13d
mov rdx, qword [rbp - 0x38]
mov r13, qword [rbp - 0x60]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov edx, 1
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov rdx, qword [rbp + 0x70]
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov qword [rbp + 0xb0], rax
xor ecx, ecx
mov rax, qword [0x140106090]
call qword [case.0x14006e230.0]
mov r8, rax
lea rdx, [rbp + 0x9f0]
mov rcx, r13
mov rax, qword [0x140106108]
call qword [case.0x14006e230.0]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x2c]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9f0]
or r8d, 0xffffffff
mov rdx, r15
mov rcx, r13
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov eax, 1
xor r11d, r11d
cmp dword [rbp + 0x10], eax
jne 0x1400a8e37
cmp dword [rsp + 0x70], r11d
je 0x1400a8e2e
lea ecx, [rax + 7]
mov rax, qword [0x140106138]
call qword [case.0x14006e230.0]
xor r11d, r11d
jmp 0x1400a8e3c
mov dword [rbp + 0x2c], 0xffffff
jmp 0x1400a8e42
mov eax, 0xffa8a8a8
mov dword [rbp + 0x2c], eax
mov dword [rbp + 0x78], eax
mov edx, r11d
mov ecx, r11d
test ebx, ebx
jns 0x1400a8e53
mov edx, ebx
neg edx
mov ebx, r11d
test r14d, r14d
jns 0x1400a8e60
mov ecx, r14d
neg ecx
mov r14d, r11d
movsxd r8, dword [rbp + 0x9f8]
mov eax, r8d
sub eax, edx
movsxd r9, dword [rbp - 0x80]
mov r10d, r9d
sub r10d, ebx
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0x9fc]
sub eax, ecx
sub edi, r14d
cmp eax, edi
cmovl edi, eax
test r10d, r10d
jle 0x1400a9017
test edi, edi
jle 0x1400a9017
imul ecx, r8d
movsxd rcx, ecx
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp + 0x80]
lea r15, [rax + rcx*4]
imul r14d, r9d
movsxd rcx, r14d
movsxd rax, ebx
add rcx, rax
mov rax, qword [rbp - 0x28]
lea rbx, [rax + rcx*4]
test edi, edi
jle 0x1400a9017
mov r14, r8
shl r14, 2
mov rax, r9
shl rax, 2
mov qword [rbp + 0x70], rax
mov ecx, edi
mov qword [rbp + 0x48], rcx
mov r13d, dword [rbp + 0x78]
mov esi, 1
test r10d, r10d
jle 0x1400a8ff8
lea r9, [rbx + 2]
mov r11, r15
sub r11, rbx
mov edi, r10d
mov qword [rbp - 0x28], rdi
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400a8fdc
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r13b
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 + 0x2d]
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 + 0x2e]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
mov rdi, qword [rbp - 0x28]
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x28], rdi
jne 0x1400a8f0e
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x48]
xor r11d, r11d
add r15, r14
add rbx, rax
sub rcx, rsi
mov qword [rbp + 0x48], rcx
jne 0x1400a8ef4
mov esi, dword [rsp + 0x60]
mov r12d, dword [rbp - 0x50]
mov r13, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x38]
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x1400a9047
mov rdx, rax
mov rcx, r13
mov rax, qword [0x140106098]
call qword [case.0x14006e230.0]
mov rcx, r13
mov rax, qword [0x140106050]
call qword [case.0x14006e230.0]
test r12d, r12d
js 0x1400a9114
mov eax, 1
xor r12d, r12d
mov r9d, dword [rbp - 0x78]
mov rdi, qword [rbp + 0x50]
cmp dword [rbp + 0x10], eax
jne 0x1400a90b6
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r12d
mov rax, qword [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x550]
mov edx, dword [rbp + 0x54c]
mov rcx, rdi
mov rax, qword [0x140106020]
call qword [case.0x14006e230.0]
jmp 0x1400a9100
mov ecx, dword [rbp + 0xb8]
mov dword [rsp + 0x50], ecx
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r12d
mov rcx, qword [rbp + 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x974]
mov edx, dword [rbp + 0x970]
mov rcx, rdi
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov edx, dword [rsp + 0x68]
mov rcx, rdi
mov rax, qword [fcn.14005a750]
call qword [case.0x14006e230.0]
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x1400a912d
mov rcx, rax
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x1400a9146
mov rcx, rax
mov rax, qword [0x140106050]
call qword [case.0x14006e230.0]
mov r14d, 1
mov rax, qword [rbp + 0xc0]
test rax, rax
je 0x1400a9168
mov rcx, rax
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov r12, qword [rbp + 0x518]
xor eax, eax
test r12, r12
je 0x1400a91bf
or rbx, 0xffffffffffffffff
mov rcx, rbx
inc rcx
cmp word [r12 + rcx*2], ax
jne 0x1400a917d
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x518]
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x518]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r12d, r12d
mov qword [rbp + 0x518], r12
jmp 0x1400a91c3
or rbx, 0xffffffffffffffff
mov r15, qword [rbp + 0x520]
test r15, r15
je 0x1400a9211
mov rcx, rbx
inc rcx
cmp word [r15 + rcx*2], r12w
jne 0x1400a91d2
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x520]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x520]
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 + 0x520], r12
mov rdi, qword [rbp + 0x528]
test rdi, rdi
je 0x1400a9258
mov rcx, rbx
inc rcx
cmp word [rdi + rcx*2], r12w
jne 0x1400a9220
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x528]
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 + 0x528], r12
mov rcx, qword [rbp + 0x530]
test rcx, rcx
je 0x1400a9278
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov qword [rbp + 0x530], r12
mov rcx, qword [rbp + 0x538]
test rcx, rcx
je 0x1400a9298
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov qword [rbp + 0x538], r12
mov rcx, qword [rbp + 0x540]
test rcx, rcx
je 0x1400a92b8
mov rax, qword [0x140106058]
call qword [case.0x14006e230.0]
mov qword [rbp + 0x540], r12
xor eax, eax
lock cmpxchg dword [0x14010bde4], r14d
jne 0x1400a92b8
mov eax, dword [0x14010bde0]
test eax, eax
jle 0x1400a9327
sub eax, r14d
mov dword [0x14010bde0], eax
jne 0x1400a9327
lea r15, [0x14010a6d0]
mov rdi, r15
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a92f7
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r14
jne 0x1400a92e9
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d8440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, r12d
xchg dword [0x14010bde4], eax
mov eax, dword [0x140109ff8]
mov dword [rbp - 0x80], eax
mov rax, qword [0x1401060b8]
call qword [case.0x14006e230.0]
sub eax, dword [0x14010bdd8]
mov qword [rbp + 0x80], rax
mov dword [rbp + 0xd60], r12d
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0xd68]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x14010bde4], r14d
jne 0x1400a936c
mov eax, dword [0x14010bde0]
test eax, eax
jne 0x1400a996f
mov dword [rbp - 0x60], r12d
mov dword [rsp + 0x68], r12d
mov qword [rbp + 0x180], r12
mov qword [rbp + 0x300], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x70], rax
test rax, rax
je 0x1400a98e7
mov byte [rsp + 0x64], r12b
mov ebx, r12d
or r13d, 0xffffffff
mov r15d, r12d
mov dword [rbp + 0x14], r12d
mov r11d, r12d
mov dword [rbp + 0x1c], r12d
lea r12, [rax + 7]
lea rcx, [0x1400eb132]
mov esi, 1
lea r14d, [rsi + 0x66]
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 r11d, r10d
xor r15d, r9d
add rcx, 8
xor r15d, r11d
xor r15d, 0xac987321
lea eax, [r15 + 0x54969fa2]
rol eax, 5
mov edx, r15d
rol edx, 0xa
imul eax, eax, 0x137f
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov edx, r11d
rol edx, 2
imul eax, eax, 0xab69
sub eax, edx
xor r15d, eax
lea eax, [r15 - 0x137f]
imul edx, eax, 0x605e
mov eax, r15d
shr eax, 0xd
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov edx, r11d
rol edx, 2
imul eax, eax, 0x7f1
sub eax, edx
xor r15d, eax
mov edx, r15d
xor edx, 0xab69605e
mov eax, 0x7f1137f
sub eax, edx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul edx, eax, 0xab69
xor edi, edx
xor r15d, edi
lea eax, [r15 + 0x7f1137f]
ror eax, 0xf
mov edx, r15d
rol edx, 2
imul eax, eax, 0x605e
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov edx, r11d
rol edx, 8
imul eax, eax, 0x7f1
sub eax, edx
xor r15d, eax
mov eax, r15d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
mov edx, r15d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor r15d, edx
mov eax, r15d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, r15d
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r8d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov edx, r11d
rol edx, 7
imul eax, eax, 0xab69
add edx, eax
xor r8d, edx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
mov r15d, 0xab69
xor eax, r15d
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, r15d
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
mov edx, r8d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor edi, eax
lea eax, [rdi - 0x54969fa2]
rol eax, 3
mov edx, edi
rol edx, 0xe
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
mov edx, r8d
ror edx, 0xe
imul eax, eax, 0x137f
sub eax, edx
xor edi, eax
mov eax, edi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, edi
shr eax, 3
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov edx, r8d
rol edx, 2
imul eax, eax, 0x605e
xor edx, eax
xor edx, ebx
xor edi, edx
mov dword [rbp + 0x1c], edi
xor r8d, r13d
mov dword [rbp + 0x14], r8d
mov byte [r12 - 4], dil
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x14]
mov byte [r12], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x1c]
mov byte [r12 - 5], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x14]
mov byte [r12 - 1], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x1c]
mov byte [r12 - 6], al
ror dword [rbp + 0x1c], 8
mov al, byte [rbp + 0x14]
mov byte [r12 - 2], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp + 0x1c]
mov byte [r12 - 7], al
mov al, byte [rbp + 0x14]
mov byte [r12 - 3], al
mov r11d, dword [rbp + 0x1c]
ror r11d, 8
mov dword [rbp + 0x1c], r11d
mov r15d, dword [rbp + 0x14]
ror r15d, 8
mov dword [rbp + 0x14], r15d
mov ebx, r10d
mov r13d, r9d
lea r12, [r12 + 8]
sub r14, rsi
jne 0x1400a93f0
xor r12d, r12d
mov eax, r12d
mov cl, byte [rsp + 0x64]
mov esi, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x68]
mov r14, qword [rbp + 0x70]
mov r13d, ebx
lea edi, [r12 + 1]
mov edx, 0x338
xor cl, byte [rax + r14]
add rax, rdi
cmp rax, rdx
jb 0x1400a972f
movzx eax, cl
cmp rax, qword [0x1400eb468]
je 0x1400a974f
mov r13d, 0xc004d501
jmp 0x1400a9760
mov qword [rbp + 0x180], r14
mov r14, r12
mov qword [rbp + 0x300], rdx
test r14, r14
je 0x1400a9779
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13d, r13d
js 0x1400a98e7
mov rdi, qword [rbp + 0x180]
mov rax, qword [rbp + 0x300]
mov byte [rax + rdi - 1], r12b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r14, [0x14010a6d0]
mov rcx, r14
call sub.msvcrt.dll_memset
cmp byte [rdi], r12b
je 0x1400a98ec
mov r13d, ebx
jmp 0x1400a97bf
lea r14, [0x14010a6d0]
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r12w
jne 0x1400a97c6
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea r14, [r14 + rcx*8]
mov r8, r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400a98e7
mov ebx, r12d
mov rax, qword [r14]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400a9809
mov ebx, 0xc000007b
jmp 0x1400a9854
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400a9802
add rcx, qword [r14]
cmp rcx, qword [r14]
jb 0x1400a9802
cmp dword [rcx], 0x4550
jne 0x1400a9802
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400a9842
mov ebx, 0xc000000d
jmp 0x1400a9854
mov rax, qword [rcx + 0x88]
mov qword [r14 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r14 + 8], eax
mov r12d, dword [rdi + 2]
add rdi, 6
xor edx, edx
mov r15d, edx
test r12d, r12d
je 0x1400a98cb
mov qword [rbp + 0x308], rdx
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], dl
jne 0x1400a9874
inc rdi
add rdi, rax
test ebx, ebx
js 0x1400a98b6
lea r9, [rbp + 0x308]
mov r8, r14
xor edx, edx
call fcn.1400cb5ac
mov ebx, eax
test eax, eax
js 0x1400a98e2
mov eax, dword [rbp - 0x60]
mov rcx, qword [rbp + 0x308]
lea r8, [0x140106020]
mov qword [r8 + rax*8], rcx
xor edx, edx
jmp 0x1400a98b9
mov eax, dword [rbp - 0x60]
mov ecx, 1
add eax, ecx
mov dword [rbp - 0x60], eax
add r15d, ecx
cmp r15d, r12d
jb 0x1400a9866
mov r14d, 1
add r13d, r14d
xor r12d, r12d
cmp byte [rdi], r12b
jne 0x1400a97b8
jmp 0x1400a98f2
xor r12d, r12d
jmp 0x1400a98ec
mov ebx, 0xc000007a
mov r14d, 1
cmp qword [rbp + 0x180], r12
je 0x1400a9913
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x180]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
jns 0x1400a9969
lea r15, [0x14010a6d0]
mov rdi, r15
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a9934
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r14
jne 0x1400a9926
lea r13d, [rbx + 0x60]
mov r8d, r13d
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d8440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
jmp 0x1400a9985
mov eax, dword [0x14010bde0]
add eax, r14d
mov dword [0x14010bde0], eax
lea r15, [0x14010a6d0]
mov r13d, 0x60
mov eax, r12d
xchg dword [0x14010bde4], eax
mov rcx, qword [rbp + 0x80]
mov dword [rbp + 0xd68], ecx
mov dword [rbp + 0xd60], r14d
mov dword [rbp + 0xd78], 0x9966f291
mov dword [rbp + 0xd70], r14d
mov dword [rbp + 0xd88], r14d
mov dword [rbp + 0xd80], r14d
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0xd98], eax
mov dword [rbp + 0xd90], r14d
lea r9, [rbp + 0xd60]
mov edx, 0x2021
xor ecx, ecx
lea r8d, [rcx + 4]
mov rax, qword [0x1401060f0]
call qword [case.0x14006e230.0]
xor eax, eax
lock cmpxchg dword [0x14010bde4], r14d
jne 0x1400a99f0
mov eax, dword [0x14010bde0]
test eax, eax
jle 0x1400a9a57
sub eax, r14d
mov dword [0x14010bde0], eax
jne 0x1400a9a57
mov rdi, r15
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a9a28
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rbx, r14
jne 0x1400a9a1a
mov r8, r13
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d8440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, r12d
xchg dword [0x14010bde4], eax
mov rdx, qword [rbp + 0x50]
xor ecx, ecx
mov rax, qword [0x140106180]
call qword [case.0x14006e230.0]
lea rcx, [rbp + 0x3f8]
call fcn.1400048cc
cmp dword [rbp + 0x68], r12d
je 0x1400ab92a
mov rbx, r12
mov r14, r12
mov dword [rbp - 0x10], r12d
xor eax, eax
mov qword [rbp - 0xc], rax
mov dword [rbp - 4], eax
mov dword [rbp + 0x128], r12d
mov qword [rbp + 0x12c], rax
mov dword [rbp + 0x134], eax
mov dword [rbp + 0xf0], r12d
lea rax, [0x140109410]
mov qword [rbp + 0x400], rax
mov edi, QueryPathOfRegTypeLib
mov qword [rbp + 0x310], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edi, 8
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x1400ab8a0
mov r8, qword [rbp + 0x310]
mov rdx, qword [rbp + 0x400]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rbx, r12
mov qword [rbp - 0x80], rbx
mov r15d, dword [rbp + 0x310]
lea rax, [0x140109358]
mov qword [rbp + 0x408], rax
mov qword [rbp + 0x318], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x70], rax
test rax, rax
je 0x1400ab8a0
mov r8, qword [rbp + 0x318]
mov rdx, qword [rbp + 0x408]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r14, rdi
mov qword [rbp - 0x78], rdi
mov r13, qword [rbp + 0x318]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x410], rax
mov dword [rbp + 0xdc], 8
lea ebx, [r15 + 4]
cmp ebx, 4
jb 0x1400ab89d
mov dword [rbp + 0xdc], ebx
lea edx, [rbx + 8]
cmp edx, 8
jb 0x1400a9bb7
xor r8d, r8d
mov eax, r8d
or edi, 0xffffffff
jmp 0x1400a9bc4
or edi, 0xffffffff
mov edx, edi
mov eax, 0xc0000095
xor r8d, r8d
mov r9d, 0x10000000
or eax, r9d
jl 0x1400ab89d
lea r14d, [r13 + 4]
cmp r14d, 4
jb 0x1400ab899
mov dword [rbp + 0xdc], r14d
lea ecx, [r14 + rdx]
cmp ecx, edx
jb 0x1400a9bf5
mov eax, r8d
jmp 0x1400a9bfc
mov ecx, edi
mov eax, 0xc0000095
or eax, r9d
jl 0x1400ab899
mov dword [rbp + 0xdc], SafeArrayDestroy
lea edx, [rcx + 0xc]
cmp edx, ecx
jb 0x1400a9c1b
mov eax, r8d
jmp 0x1400a9c22
mov edx, edi
mov eax, 0xc0000095
or eax, r9d
jl 0x1400ab899
mov dword [rbp - 0xc], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
xor r10d, r10d
test rax, rax
je 0x1400ab899
mov qword [rbp - 8], rax
mov ecx, r10d
mov dword [rbp - 0x10], ecx
mov dword [rbp + 0x140], 4
lea rax, [rbp + 0x140]
test rax, rax
je 0x1400a9cb6
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400ab899
mov r8d, r10d
mov ecx, dword [rbp - 0xc]
add rcx, rdx
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x1400ab899
mov dword [rdx], 4
mov eax, dword [rbp + 0x140]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x10]
lea r11d, [r10 + 1]
add ecx, r11d
mov dword [rbp - 0x10], ecx
jmp 0x1400a9cc2
mov r8d, 0xc000000d
mov r11d, 1
test r8d, r8d
js 0x1400ab899
test r15d, r15d
je 0x1400a9d80
cmp qword [rbp - 8], r10
jne 0x1400a9cfc
mov dword [rbp + 0x218], ebx
mov eax, dword [rbp - 0xc]
lea edi, [rax + rbx]
cmp edi, eax
jb 0x1400ab899
mov dword [rbp - 0xc], edi
add ecx, r11d
mov dword [rbp - 0x10], ecx
jmp 0x1400a9d90
mov rdx, qword [rbp - 8]
mov edi, r10d
test ecx, ecx
je 0x1400a9d34
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400ab899
mov dword [rbp + 0x218], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400ab899
mov rdx, r8
add edi, r11d
cmp edi, ecx
jb 0x1400a9d07
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400ab899
mov edi, r10d
mov r8, r15
mov ecx, dword [rbp - 0xc]
add rcx, qword [rbp - 8]
lea rax, [r15 + 4]
add rax, rdx
cmp rax, rcx
ja 0x1400ab899
mov dword [rdx], r15d
mov rdx, r12
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x10]
mov r11d, 1
add ecx, r11d
mov dword [rbp - 0x10], ecx
xor r10d, r10d
jmp 0x1400a9d85
mov edi, 0xc000000d
test edi, edi
js 0x1400ab899
mov edi, dword [rbp - 0xc]
test r13d, r13d
je 0x1400a9e4a
cmp qword [rbp - 8], r10
jne 0x1400a9dc2
mov dword [rbp + 0x214], r14d
lea eax, [rdi + r14]
cmp eax, edi
jb 0x1400ab899
mov edi, eax
mov dword [rbp - 0xc], eax
add ecx, r11d
mov dword [rbp - 0x10], ecx
jmp 0x1400a9e57
mov rdx, qword [rbp - 8]
mov r8d, r10d
test ecx, ecx
je 0x1400a9dfb
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400ab899
mov dword [rbp + 0x214], eax
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x1400ab899
mov rdx, r9
add r8d, r11d
cmp r8d, ecx
jb 0x1400a9dcd
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400ab899
mov ebx, r10d
mov r8d, r13d
mov ecx, edi
add rcx, qword [rbp - 8]
lea rax, [r8 + 4]
add rax, rdx
cmp rax, rcx
ja 0x1400ab899
mov dword [rdx], r13d
mov rdx, qword [rbp + 0x70]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x10]
mov r11d, 1
add ecx, r11d
mov dword [rbp - 0x10], ecx
mov edi, dword [rbp - 0xc]
xor r10d, r10d
jmp 0x1400a9e4f
mov ebx, 0xc000000d
test ebx, ebx
js 0x1400ab899
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x320], rax
lea rax, [rbp + 0x320]
test rax, rax
je 0x1400a9f1d
cmp qword [rbp - 8], r10
jne 0x1400a9ea0
mov dword [rbp + 0x210], SafeArrayDestroy
lea eax, [rdi + 0xc]
cmp eax, edi
jb 0x1400ab899
mov edi, eax
mov dword [rbp - 0xc], eax
add ecx, r11d
mov dword [rbp - 0x10], ecx
jmp 0x1400a9f2c
mov rdx, qword [rbp - 8]
mov r8d, r10d
test ecx, ecx
je 0x1400a9ed9
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400ab899
mov dword [rbp + 0x210], eax
mov r9d, eax
add r9, rdx
cmp r9, rdx
jb 0x1400ab899
mov rdx, r9
add r8d, r11d
cmp r8d, ecx
jb 0x1400a9eab
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x1400ab899
mov r9d, r10d
mov ecx, edi
add rcx, qword [rbp - 8]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x1400ab899
mov dword [rdx], 8
movsd xmm0, qword [rbp + 0x320]
movsd qword [r8], xmm0
mov ecx, dword [rbp - 0x10]
add ecx, r11d
mov dword [rbp - 0x10], ecx
mov edi, dword [rbp - 0xc]
jmp 0x1400a9f23
mov r9d, 0xc000000d
test r9d, r9d
js 0x1400ab899
mov dword [rbp + 0x470], SafeArrayDestroy
mov r8, r10
mov qword [rbp + 0x30], r10
mov r15d, r10d
mov qword [rbp + 0x178], r10
mov qword [rbp + 0xc0], r10
mov r13d, r10d
mov dword [rbp - 0x50], r10d
mov r12, r10
mov qword [rbp + 0x50], r10
mov dword [rbp + 0x60], r10d
mov qword [rbp - 0x38], r10
mov qword [rbp + 0x40], r10
mov dword [rbp + 0x98], r10d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x288], rax
add edi, 8
cmp edi, 8
jb 0x1400aa065
mov dword [rbp + 0xd0], edi
mov eax, edi
add rax, 7
and eax, 0xfffffff8
cmp eax, edi
jb 0x1400aa06c
mov dword [rbp + 0xd0], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
xor r10d, r10d
test rax, rax
jne 0x1400a9fdc
mov ebx, 0xc0000017
mov ecx, dword [rbp - 0x10]
mov r8, r12
jmp 0x1400aa071
mov eax, dword [rbp - 0x10]
mov dword [rdi], eax
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x1400aa033
mov eax, dword [rbp - 0xc]
mov dword [rcx], eax
lea r9, [rcx + 4]
cmp r9, rcx
jb 0x1400aa033
mov ebx, r10d
mov ecx, dword [rbp + 0xd0]
mov rax, qword [rbp + 0x288]
mov qword [rcx + rdi - 8], rax
mov r8d, dword [rbp - 0xc]
mov rdx, qword [rbp - 8]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r8, rdi
mov qword [rbp + 0x30], rdi
xor r10d, r10d
mov edi, r10d
mov r15d, dword [rbp + 0xd0]
jmp 0x1400aa03b
mov r8, r12
mov ebx, 0xc0000095
test rdi, rdi
je 0x1400aa060
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp - 0x10]
mov r8, qword [rbp + 0x30]
xor r10d, r10d
jmp 0x1400aa071
mov ecx, dword [rbp - 0x10]
jmp 0x1400aa071
or dword [rbp + 0xd0], 0xffffffff
mov ebx, 0xc0000095
or ebx, 0x10000000
jl 0x1400ab65b
mov qword [rbp + 0x420], r10
mov qword [rbp + 0x428], r10
mov qword [rbp + 0x430], r10
mov qword [rbp + 0x438], r10
mov qword [rbp + 0x1c8], r10
mov qword [rbp + 0x418], r10
mov r14, r10
mov qword [rbp + 0x70], r10
test r8, r8
jne 0x1400aa0c0
mov ebx, 0xc000000d
xor r15d, r15d
jmp 0x1400aa833
mov ebx, r15d
mov qword [rbp + 0x80], rbx
xor r15d, r15d
test rbx, rbx
je 0x1400aa781
lea rdi, [rbx + 8]
mov qword [rbp + 0x58], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x1400aa77e
mov dl, r15b
mov ecx, r15d
mov r10, qword [rbp + 0x30]
test rbx, rbx
je 0x1400aa124
lea eax, [r15 + 1]
xor dl, byte [rcx + r10]
add rcx, rax
cmp rcx, rbx
jb 0x1400aa118
mov r9, r12
mov edi, r15d
mov dword [rbp - 0x1c], r15d
or r11d, 0xffffffff
mov dword [rbp - 0x44], r11d
mov r13d, r15d
mov dword [rbp - 0x60], r15d
mov r8, rbx
and r8d, 7
je 0x1400aa215
mov dword [rbp - 0x60], r15d
xor eax, eax
mov r11d, eax
test r8d, r8d
jle 0x1400aa18f
lea edi, [rax + 0x38]
movzx eax, byte [r10]
cmp r11d, 4
jge 0x1400aa16f
lea ecx, [rdi - 0x20]
shl eax, cl
or r15d, eax
jmp 0x1400aa176
mov ecx, edi
shl eax, cl
or r13d, eax
mov ecx, 1
add r10, rcx
add r11d, ecx
sub edi, 8
cmp r11d, r8d
jl 0x1400aa15b
mov dword [rbp - 0x60], r15d
jmp 0x1400aa194
mov ecx, 1
mov edi, r15d
xor edi, 0xb17a307a
mov dword [rbp - 0x1c], edi
mov r11d, r13d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x44], r11d
xor r15d, r15d
mov eax, r15d
test r8d, r8d
jle 0x1400aa1de
cmp eax, 4
jge 0x1400aa1c6
rol edi, 8
mov byte [r9], dil
jmp 0x1400aa1cd
rol r11d, 8
mov byte [r9], r11b
add r9, rcx
add eax, ecx
cmp eax, r8d
jl 0x1400aa1b9
mov edi, dword [rbp - 0x1c]
mov r11d, dword [rbp - 0x44]
lea eax, [r8 - 4]
test eax, eax
jle 0x1400aa1fc
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x44], r11d
jmp 0x1400aa215
mov r11d, r15d
mov dword [rbp - 0x44], r15d
test eax, eax
jns 0x1400aa215
neg eax
shl eax, 3
mov ecx, eax
shr edi, cl
shl edi, cl
mov dword [rbp - 0x1c], edi
mov r15, rbx
shr r15, 3
test r15, r15
je 0x1400aa569
lea r12, [r9 + 7]
lea rbx, [r10 + 2]
mov r14d, dword [rbp - 0x60]
mov esi, 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]
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
mov edi, 0xc81ecb17
xor r8d, edi
mov eax, r8d
xor eax, edi
ror eax, 0xf
mov ecx, r8d
ror ecx, 7
imul eax, eax, 0xb1b5
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x4e4ab5a8]
ror eax, 9
mov ecx, r11d
ror ecx, 0xa
imul eax, eax, 0xcb17
sub eax, ecx
xor r8d, eax
mov eax, r8d
xor eax, 0xcb17
rol eax, 4
mov ecx, r8d
rol ecx, 5
imul eax, eax, 0xc81e
add ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, edi
sub eax, ecx
xor r8d, eax
lea eax, [r8 - 0x4a58]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, 0xcb17
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
mov ecx, 0xc81e
add eax, ecx
imul eax, eax, 0xcb17
xor r11d, eax
lea eax, [r11 + 0x37e0ea91]
xor r8d, eax
mov edi, r8d
ror edi, 0xa
mov eax, r8d
xor eax, ecx
imul ecx, eax, 0xb1b5
xor edi, ecx
xor r11d, edi
mov eax, r11d
xor eax, 0x4a58
rol eax, 6
mov ecx, r11d
ror ecx, 3
imul eax, eax, 0xcb17
xor ecx, eax
xor r8d, ecx
mov eax, r8d
ror eax, 0xf
mov ecx, 0xc81e
sub eax, ecx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, ecx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r8d, ecx
lea eax, [r11 - 0xcb17]
rol eax, 3
mov ecx, r11d
shr ecx, 0xf
imul eax, eax, 0x4a58
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xcb17]
imul ecx, eax, 0xb1b5
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, 0xb1b54a58
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 0xb
imul eax, eax, 0xcb17
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e49ed8a]
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
xor eax, 0xb1b5
imul ecx, eax, 0x4a58
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, 0xc81e
rol eax, 4
mov ecx, r8d
ror ecx, 0x10
imul eax, eax, 0xb1b5
sub eax, ecx
xor r11d, eax
mov eax, 0xb1b54a58
sub eax, r11d
ror eax, 0xa
mov ecx, r11d
ror ecx, 4
imul eax, eax, 0xcb17
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x4e4ab5a8]
ror eax, 4
mov ecx, r8d
ror ecx, 9
imul eax, eax, 0xc81e
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xc81ecb17
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r8d, eax
mov eax, 0xc81ecb17
sub eax, r8d
ror eax, 0xb
mov ecx, r8d
ror ecx, 0xc
imul eax, eax, 0xb1b5
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xb1b5
imul ecx, eax, 0xcb17
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r11d, 0x79ab814f
xor r8d, r14d
mov dword [rbp - 0x1c], r8d
xor r11d, r13d
mov dword [rbp - 0x44], r11d
mov byte [r12 - 4], r8b
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [r12], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [r12 - 5], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [r12 - 1], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [r12 - 6], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp - 0x44]
mov byte [r12 - 2], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x1c]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x44]
mov byte [r12 - 3], al
mov edi, dword [rbp - 0x1c]
ror edi, 8
mov dword [rbp - 0x1c], edi
mov r11d, dword [rbp - 0x44]
ror r11d, 8
mov dword [rbp - 0x44], r11d
mov r14d, r10d
mov r13d, r9d
lea r12, [r12 + 8]
sub r15, rsi
jne 0x1400aa236
mov esi, dword [rsp + 0x60]
mov r14, qword [rbp + 0x70]
mov rbx, qword [rbp + 0x80]
mov r12, qword [rbp + 0xb0]
movzx eax, dl
mov qword [r12 + rbx], rax
mov qword [rbp + 0x1c8], r12
mov rbx, qword [rbp + 0x58]
mov qword [rbp + 0x418], rbx
lea rax, [0x140109400]
mov qword [rbp + 0x420], rax
mov edi, 8
mov qword [rbp + 0x428], rdi
lea r15, [0x140109360]
mov qword [rbp + 0x430], r15
mov qword [rbp + 0x438], QueryPathOfRegTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [rdi + 0x28]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400aa5df
mov ebx, 0xc0000017
xor r15d, r15d
jmp 0x1400aa767
mov dword [rax], ebx
mov ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400aa60c
mov ebx, 0xc0000017
xor r15d, r15d
jmp 0x1400aa6e5
mov qword [rdi + 8], rax
mov r8, rbx
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov ebx, QueryPathOfRegTypeLib
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 0x1400aa5ff
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r15]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r15 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r15 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r15 + 0x60]
movups xmmword [rax + 0x60], xmm0
lea ecx, [rbx + 0x78]
movups xmm1, xmmword [r15 + 0x70]
movups xmmword [rax + rcx - 0x10], xmm1
movups xmm0, xmmword [r15 + rcx]
movups xmmword [rax + rcx], xmm0
movups xmm1, xmmword [r15 + 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]
xor r15d, r15d
test rax, rax
jne 0x1400aa6cc
mov ebx, 0xc0000017
jmp 0x1400aa6e5
mov qword [rdi + 0x28], rax
mov ebx, r15d
movsd xmm0, qword [0x140109400]
movsd qword [rax], xmm0
mov r14, rdi
mov rdi, r15
test rdi, rdi
je 0x1400aa767
mov r15, qword [rdi + 8]
xor r12d, r12d
test r15, r15
je 0x1400aa70e
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 0x1400aa72f
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 0x1400aa753
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]
mov ecx, dword [rbp - 0x10]
mov r13d, dword [rbp - 0x50]
test ebx, ebx
js 0x1400aa786
mov qword [rbp + 0x178], r14
mov r14, r15
jmp 0x1400aa786
mov ecx, dword [rbp - 0x10]
mov ebx, 0xc0000001
mov rdi, qword [rbp + 0x1c8]
test rdi, rdi
je 0x1400aa7b0
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
mov ecx, dword [rbp - 0x10]
test r14, r14
je 0x1400aa82f
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x1400aa7d6
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 [r14 + 8], r15
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x1400aa7f7
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 [r14 + 0x18], r15
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x1400aa818
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 [r14 + 0x28], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [rbp - 0x10]
mov r12, qword [rbp + 0x50]
or ebx, 0x10000000
jl 0x1400ab65b
mov r14, qword [rbp + 0x178]
mov r8d, dword [r14 + 0x20]
mov edi, dword [r14 + 0x10]
mov edx, dword [r14]
add edx, 4
cmp edx, 4
jb 0x1400aa983
lea eax, [rdx + 4]
cmp eax, edx
jb 0x1400aa983
lea edx, [rax + rdi]
cmp edx, eax
jb 0x1400aa983
lea eax, [rdx + 4]
cmp eax, edx
jb 0x1400aa983
lea edx, [rax + r8]
cmp edx, eax
jb 0x1400aa983
mov dword [rbp + 0x20c], edx
mov edi, edx
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 0x1400aa8c4
mov ebx, 0xc0000017
mov ecx, dword [rbp - 0x10]
mov r8d, 0xc0000095
jmp 0x1400aa98c
mov eax, dword [r14]
mov dword [rdi], eax
lea rbx, [rdi + 4]
cmp rbx, rdi
jb 0x1400aa95c
mov r8d, dword [r14]
mov rdx, qword [r14 + 8]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14]
add rcx, rbx
cmp rcx, rbx
jb 0x1400aa95c
mov eax, dword [r14 + 0x10]
mov dword [rcx], eax
lea rbx, [rcx + 4]
cmp rbx, rcx
jb 0x1400aa95c
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 0x10]
add rcx, rbx
cmp rcx, rbx
jb 0x1400aa95c
mov eax, dword [r14 + 0x20]
mov dword [rcx], eax
lea rbx, [rcx + 4]
cmp rbx, rcx
jb 0x1400aa95c
mov r8d, dword [r14 + 0x20]
mov rdx, qword [r14 + 0x28]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, dword [r14 + 0x20]
add rcx, rbx
cmp rcx, rbx
jb 0x1400aa95c
mov ebx, r15d
mov qword [rbp + 0xc0], rdi
mov rdi, r15
mov r13d, dword [rbp + 0x20c]
jmp 0x1400aa961
mov ebx, 0xc0000095
test rdi, rdi
je 0x1400aa8b6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400aa8b6
mov r8d, 0xc0000095
mov ebx, r8d
or ebx, 0x10000000
jl 0x1400ab65b
mov qword [rbp + 0x478], r15
mov dword [rbp + 0x208], r15d
mov qword [rbp + 0x448], r15
mov dword [rbp + 0x204], r15d
mov dword [rbp + 0x440], 0x1c
mov dword [rbp + 0x358], 0x28
mov dword [rbp + 0x360], 0x28
mov r14d, 1
cmp qword [rbp - 8], r15
jne 0x1400aa9e8
mov ebx, 0xc000000d
jmp 0x1400aaab6
cmp ecx, r14d
jbe 0x1400aa9de
mov rax, qword [rbp - 8]
mov edi, r15d
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400aaab3
mov eax, dword [rax]
add rax, rdx
cmp rax, rdx
jb 0x1400aaab3
add edi, r14d
cmp edi, r14d
jb 0x1400aa9f4
mov edi, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x1400aaab3
mov dword [rbp + 0x208], edi
test edi, edi
cmove rdx, r15
mov qword [rbp + 0x478], rdx
cmp ecx, 2
jbe 0x1400aa9de
mov rax, qword [rbp - 8]
mov edx, r15d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400aaab3
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400aaab3
add edx, r14d
cmp edx, 2
jb 0x1400aaa45
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400aaab3
mov dword [rbp + 0x204], edx
test edx, edx
cmove rcx, r15
mov qword [rbp + 0x448], rcx
lea eax, [rdi + 0x30]
cmp eax, 0x30
jb 0x1400aaab3
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x1400aaab3
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x1400aaab3
mov ebx, r15d
mov dword [rbp + 0x350], eax
cmp eax, 0x400000
jbe 0x1400aaaae
mov ebx, 0x8000ffff
jmp 0x1400ab65b
mov dword [rbp + 0x60], eax
jmp 0x1400aaab6
mov ebx, r8d
test ebx, ebx
js 0x1400ab65b
mov ebx, r15d
mov edi, dword [rbp + 0x60]
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 0x1400aaae7
mov ebx, 0xc0000017
jmp 0x1400aaaee
mov r12, rax
mov qword [rbp + 0x50], rax
mov edi, 0x10000000
or ebx, edi
jl 0x1400ab65b
mov rax, qword [rbp + 0xc0]
test rax, rax
jne 0x1400aab11
mov ebx, 0x80070057
jmp 0x1400ab65b
test r12, r12
je 0x1400aab07
mov qword [rbp + 0x4a0], rax
mov dword [rbp + 0x4b0], r13d
mov qword [rbp + 0x4a8], r12
mov eax, dword [rbp + 0x60]
mov dword [rbp + 0x4b4], eax
mov dword [rbp + 0x4b8], r15d
lea r8, [rbp + 0x450]
lea rdx, [0x1400e9320]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400aab78
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400aab73
mov ebx, 0x80004005
mov edx, dword [rbp + 0x60]
jmp 0x1400aabba
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x450]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400aab56
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x4a0]
lea ecx, [r8 + 0x66]
call qword [case.0x14006e230.0]
mov ebx, eax
or ebx, edi
mov edx, dword [rbp + 0x60]
cmovge edx, dword [rbp + 0x4b4]
mov dword [rbp + 0x60], edx
cmp ebx, 0xd0000023
jne 0x1400aabcc
mov ebx, 0x8007007a
jmp 0x1400ab65b
test ebx, ebx
js 0x1400ab65b
mov r14, r15
cmp edx, 4
jae 0x1400aabe6
mov ebx, 0xc000003e
jmp 0x1400aaf17
mov r15d, dword [r12]
lea rcx, [r12 + 4]
cmp rcx, r12
jb 0x1400aaf0f
lea eax, [rdx - 4]
cmp eax, r15d
jae 0x1400aac0a
mov ebx, 0xc000003e
jmp 0x1400aaf14
lea r8, [r15 + rcx]
mov qword [rbp + 0x80], r8
cmp r8, rcx
jb 0x1400aaf0f
lea edi, [r15 + 4]
cmp edi, 4
jb 0x1400aaf0f
mov eax, edx
sub eax, edi
cmp eax, 4
jb 0x1400aac00
mov r13d, dword [r8]
lea rcx, [r8 + 4]
cmp rcx, r8
jb 0x1400aaf0f
lea r8d, [rdi + 4]
cmp r8d, edi
jb 0x1400aaf0f
mov eax, edx
sub eax, r8d
cmp eax, r13d
jb 0x1400aac00
lea r9, [rcx + r13]
cmp r9, rcx
jb 0x1400aaf0f
lea edi, [r8 + r13]
cmp edi, r8d
jb 0x1400aaf0f
mov eax, edx
sub eax, edi
cmp eax, 4
jb 0x1400aac00
mov r12d, dword [r9]
lea rax, [r9 + 4]
mov qword [rbp + 0x58], rax
cmp rax, r9
jb 0x1400aaf0f
lea ecx, [rdi + 4]
cmp ecx, edi
jb 0x1400aaf0f
mov eax, edx
sub eax, ecx
cmp eax, r12d
jb 0x1400aac00
lea edi, [r12 + rcx]
cmp edi, ecx
jb 0x1400aaf0f
cmp edx, edi
jne 0x1400aac00
lea ecx, [r12 + r13]
add ecx, r15d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x1400aac00
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 edx, edx
test rax, rax
jne 0x1400aad03
mov ebx, 0xc0000017
xor r15d, r15d
jmp 0x1400aae82
mov ebx, edx
mov rax, qword [rbp + 0x50]
add rax, 4
je 0x1400aad58
mov dword [rdi], 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
jne 0x1400aad3d
mov ebx, 0xc0000017
xor r15d, r15d
jmp 0x1400aae00
mov qword [rdi + 8], rax
mov r8, r15
mov rdx, qword [rbp + 0x50]
add rdx, 4
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor edx, edx
jmp 0x1400aad5e
mov dword [rdi], edx
mov qword [rdi + 8], rdx
mov r15, qword [rbp + 0x80]
add r15, 4
je 0x1400aada3
mov dword [rdi + 0x10], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
test rax, rax
je 0x1400aad30
mov qword [rdi + 0x18], rax
mov ebx, ecx
mov r8, r13
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400aadaa
mov dword [rdi + 0x10], edx
mov qword [rdi + 0x18], rdx
mov r15, qword [rbp + 0x58]
test r15, r15
je 0x1400aadf2
mov dword [rdi + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
test rax, rax
je 0x1400aad30
mov qword [rdi + 0x28], rax
mov ebx, ecx
mov r8, r12
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r15d, r15d
jmp 0x1400aadfa
mov dword [rdi + 0x20], r15d
mov qword [rdi + 0x28], r15
mov r14, rdi
mov rdi, r15
test rdi, rdi
je 0x1400aae82
mov r15, qword [rdi + 8]
xor r12d, r12d
test r15, r15
je 0x1400aae29
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 0x1400aae4a
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 0x1400aae6e
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 0x1400aae8d
mov qword [rbp - 0x38], r14
mov r14, r15
test r14, r14
je 0x1400aaf17
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x1400aaeb7
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 [r14 + 8], r15
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x1400aaed8
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 [r14 + 0x18], r15
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x1400aaef9
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 [r14 + 0x28], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400aaf17
mov ebx, 0xc0000095
xor r15d, r15d
or ebx, 0x10000000
jl 0x1400ab65b
mov rdi, r15
mov qword [rbp + 0x118], r15
mov qword [rbp + 0x248], r15
mov ebx, r15d
mov dword [rsp + 0x68], ebx
mov rax, qword [rbp - 0x38]
test rax, rax
jne 0x1400aaf4e
mov ebx, 0xc000000d
jmp 0x1400ab4cb
mov r14, qword [rax + 8]
mov qword [rbp + 0x58], r14
test r14, r14
je 0x1400aaf44
cmp dword [rax], r15d
je 0x1400aaf44
mov r15d, dword [rax]
test r15, r15
je 0x1400ab4a3
add r15, 0xfffffffffffffff8
mov qword [rbp + 0x80], 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 + 0xb0], rax
xor ecx, ecx
test rax, rax
je 0x1400ab49c
mov dl, cl
mov byte [rsp + 0x64], cl
mov r9, r14
mov r8, rax
mov rdi, r15
and edi, 7
mov dword [rbp - 0x40], ecx
mov r13d, ecx
je 0x1400ab09c
or r14d, 0xffffffff
mov dword [rbp - 0x54], r14d
mov r14d, ecx
mov dword [rbp + 0x104], ecx
mov r10d, ecx
test edi, edi
jle 0x1400ab014
lea r11d, [rcx + 0x38]
movzx eax, byte [r9]
cmp r10d, 4
jge 0x1400aafef
lea ecx, [r11 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400aaff7
mov ecx, r11d
shl eax, cl
or r14d, eax
mov eax, 1
add r9, rax
add r10d, eax
sub r11d, 8
cmp r10d, edi
jl 0x1400aafda
mov dword [rbp + 0x104], r14d
xor ecx, ecx
mov r11d, r13d
xor r11d, 0x92f65a5
mov dword [rbp - 0x40], r11d
xor r14d, 0x699a899c
mov dword [rbp - 0x54], r14d
mov eax, ecx
test edi, edi
jle 0x1400ab060
mov r10d, 1
cmp eax, 4
jge 0x1400ab047
rol r11d, 8
mov byte [r8], r11b
jmp 0x1400ab04e
rol r14d, 8
mov byte [r8], r14b
add r8, r10
add eax, r10d
cmp eax, edi
jl 0x1400ab039
mov r11d, dword [rbp - 0x40]
mov r14d, dword [rbp - 0x54]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400ab07d
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r14d, cl
shl r14d, cl
mov dword [rbp - 0x54], r14d
jmp 0x1400ab098
mov r14d, ecx
mov dword [rbp - 0x54], ecx
test eax, eax
jns 0x1400ab0a5
neg eax
shl eax, 3
mov ecx, eax
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x40], r11d
xor ecx, ecx
jmp 0x1400ab0a5
mov r14d, ecx
mov dword [rbp - 0x54], ecx
mov r11d, ecx
mov rax, r15
shr rax, 3
test rax, rax
je 0x1400ab40a
lea r12, [r8 + 7]
lea r15, [r9 + 2]
mov rdx, rax
mov ebx, dword [rbp + 0x104]
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, r10d
xor r14d, r9d
lea r15, [r15 + 8]
xor r14d, r11d
xor r14d, 0xac987321
lea eax, [r14 + 0x54969fa2]
rol eax, 5
mov ecx, r14d
rol ecx, 0xa
imul eax, eax, 0x137f
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0xab69
sub eax, ecx
xor r14d, eax
lea eax, [r14 - 0x137f]
imul ecx, eax, 0x605e
mov eax, r14d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor r14d, eax
mov ecx, r14d
xor ecx, 0xab69605e
mov eax, 0x7f1137f
sub eax, ecx
xor r11d, eax
mov edi, r11d
ror edi, 6
mov eax, r11d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edi, ecx
xor r14d, edi
lea eax, [r14 + 0x7f1137f]
ror eax, 0xf
mov ecx, r14d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
mov ecx, r11d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor r14d, eax
mov eax, r14d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
mov ecx, r14d
ror ecx, 0xa
imul eax, eax, 0x137f
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor ecx, eax
xor r14d, ecx
mov eax, r14d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, r14d
xor r8d, edi
mov eax, r8d
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, r8d
shr eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
mov ecx, r11d
rol ecx, 7
imul eax, eax, 0xab69
add ecx, eax
xor r8d, ecx
mov edi, r8d
ror edi, 9
mov eax, r8d
xor eax, 0x137f
imul ecx, eax, 0x605e
add edi, ecx
xor r11d, edi
mov eax, r11d
mov r14d, 0xab69
xor eax, r14d
rol eax, 5
mov ecx, r11d
rol ecx, 7
imul eax, eax, 0x7f1
add ecx, eax
xor r8d, ecx
mov edi, r8d
xor edi, r11d
xor edi, 0xac987321
mov eax, edi
ror eax, 3
sub eax, r14d
imul eax, eax, 0x137f
xor r8d, eax
lea eax, [r8 - 0x7f1137f]
ror eax, 1
mov ecx, r8d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edi, eax
lea eax, [rdi - 0x54969fa2]
rol eax, 3
mov ecx, edi
rol ecx, 0xe
imul eax, eax, 0x7f1
add ecx, eax
xor r8d, ecx
lea eax, [r8 - 0x54969fa2]
rol eax, 0xf
mov ecx, r8d
ror ecx, 0xe
imul eax, eax, 0x137f
sub eax, ecx
xor edi, eax
mov eax, edi
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edi
shr eax, 3
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, 0x7f1137f
rol eax, 4
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r13d
xor edi, ecx
mov dword [rbp - 0x40], edi
xor r8d, ebx
mov dword [rbp - 0x54], r8d
mov byte [r12 - 4], dil
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x54]
mov byte [r12], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x40]
mov byte [r12 - 5], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x54]
mov byte [r12 - 1], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x40]
mov byte [r12 - 6], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x54]
mov byte [r12 - 2], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x40]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x54]
mov byte [r12 - 3], al
mov r11d, dword [rbp - 0x40]
ror r11d, 8
mov dword [rbp - 0x40], r11d
mov r14d, dword [rbp - 0x54]
ror r14d, 8
mov dword [rbp - 0x54], r14d
mov r13d, r10d
mov ebx, r9d
lea r12, [r12 + 8]
sub rdx, rsi
jne 0x1400ab0cb
mov dl, byte [rsp + 0x64]
mov esi, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x68]
mov r15, qword [rbp + 0x80]
mov r12, qword [rbp + 0xb0]
xor ecx, ecx
mov rax, rcx
test r15, r15
je 0x1400ab423
mov ecx, 1
xor dl, byte [rax + r12]
add rax, rcx
cmp rax, r15
jb 0x1400ab417
movzx eax, dl
mov rcx, qword [rbp + 0x58]
cmp rax, qword [r15 + rcx]
je 0x1400ab43f
mov r14d, 0xc004d501
mov rdi, qword [rbp + 0x118]
jmp 0x1400ab458
mov rdi, r12
mov qword [rbp + 0x118], r12
xor eax, eax
mov r12d, eax
mov qword [rbp + 0x248], r15
mov r14d, eax
xor r15d, r15d
test r12, r12
je 0x1400ab47b
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 + 0x118]
test r14d, r14d
js 0x1400ab4a6
mov qword [rbp + 0x40], rdi
mov rdi, r15
mov qword [rbp + 0x118], r15
mov eax, dword [rbp + 0x248]
mov dword [rbp + 0x98], eax
jmp 0x1400ab4ab
mov rdi, qword [rbp + 0x118]
xor r15d, r15d
mov ebx, 0xc0000001
test rdi, rdi
je 0x1400ab4cb
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 + 0x118], r15
or ebx, 0x10000000
jl 0x1400ab65b
cmp dword [rbp + 0x98], 4
jae 0x1400ab4ea
mov ebx, 0xc000003e
jmp 0x1400ab657
mov r9, qword [rbp + 0x40]
mov r8d, dword [r9]
mov dword [rsp + 0x68], r8d
lea rcx, [r9 + 4]
cmp rcx, r9
jb 0x1400ab652
mov eax, dword [rbp + 0x98]
add eax, 0xfffffffc
cmp eax, 4
jb 0x1400ab4e0
mov r14d, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x1400ab652
mov eax, dword [rbp + 0x98]
add eax, 0xfffffff8
cmp eax, r14d
jb 0x1400ab4e0
lea eax, [r14 + 8]
cmp eax, 8
jb 0x1400ab652
mov edx, dword [rbp + 0x98]
lea rcx, [r9 + rdx]
lea rax, [rdi + r14]
cmp rcx, rax
jb 0x1400ab4e0
mov rax, r9
sub rax, rdi
sub rax, r14
add rax, rdx
cmp rax, 8
jae 0x1400ab4e0
xor r9d, r9d
mov r12d, r9d
mov ebx, r9d
mov r13d, r9d
test rdi, rdi
je 0x1400ab5e4
mov rcx, rdi
lea rdx, [r14 + rdi]
cmp rdx, rdi
jb 0x1400ab652
cmp rdi, rdx
jae 0x1400ab5df
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x1400ab652
cmp rax, rdx
ja 0x1400ab5d1
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400ab5d8
mov dword [rbp + 0x34c], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x1400ab652
mov rcx, r8
mov ebx, r9d
cmp r8, rdx
ja 0x1400ab5d1
inc r13d
cmp rcx, rdx
jae 0x1400ab5e2
jmp 0x1400ab58b
mov ebx, 0xc000000d
jmp 0x1400ab657
mov ebx, 0xc0000095
jmp 0x1400ab63d
cmp rcx, rdx
jne 0x1400ab5d1
test r14d, r14d
je 0x1400ab615
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
xor r9d, r9d
test rax, rax
jne 0x1400ab612
mov ebx, 0xc0000017
jmp 0x1400ab63d
mov ebx, r9d
test rdi, rdi
je 0x1400ab628
mov r8, r14
mov rdx, rdi
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x130], r12
mov dword [rbp + 0x12c], r14d
mov dword [rbp + 0x128], r13d
test ebx, ebx
js 0x1400ab657
mov eax, dword [rsp + 0x68]
cmp eax, dword [rbp + 0x128]
je 0x1400ab657
jmp 0x1400ab4e0
mov ebx, 0xc0000095
bts ebx, 0x1c
mov rdi, qword [rbp + 0x30]
xor r12d, r12d
test rdi, rdi
je 0x1400ab67b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp + 0x178]
test r14, r14
je 0x1400ab705
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x1400ab6a8
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 [r14 + 8], r12
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x1400ab6c9
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 [r14 + 0x18], r12
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x1400ab6ea
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 [r14 + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x178], r12
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x1400ab725
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 + 0x50]
test rdi, rdi
je 0x1400ab742
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp - 0x38]
test r14, r14
je 0x1400ab7c2
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x1400ab76c
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 [r14 + 8], r12
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x1400ab78d
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 [r14 + 0x18], r12
mov rdi, qword [r14 + 0x28]
test rdi, rdi
je 0x1400ab7ae
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 [r14 + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x40]
test rdi, rdi
je 0x1400ab7df
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 0x1400ab88f
mov ecx, dword [rbp + 0x128]
mov r8d, 1
cmp ecx, r8d
jb 0x1400ab88f
mov rdi, qword [rbp + 0x130]
test rdi, rdi
je 0x1400ab88f
test ecx, ecx
je 0x1400ab88f
mov edx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
jb 0x1400ab88f
mov dword [rbp + 0x348], edx
test edx, edx
cmove rax, r12
mov qword [rbp + 0x508], rax
cmp edx, 4
jne 0x1400ab88f
mov eax, dword [rax]
mov dword [rbp + 0xf0], eax
test eax, eax
js 0x1400ab88f
cmp ecx, r8d
jbe 0x1400ab88f
mov edx, r12d
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x1400ab88f
mov edi, dword [rdi]
add rdi, rcx
cmp rdi, rcx
jb 0x1400ab88f
add edx, r8d
cmp edx, r8d
jb 0x1400ab847
mov ecx, dword [rdi]
lea rax, [rdi + 4]
cmp rax, rdi
jb 0x1400ab88f
mov dword [rbp + 0x344], ecx
test ecx, ecx
cmove rax, r12
mov qword [rbp + 0x4c0], rax
cmp ecx, 8
jne 0x1400ab88f
mov rax, qword [rax]
mov qword [rbp + 0x4c8], rax
mov rbx, qword [rbp - 0x80]
mov r14, qword [rbp - 0x78]
jmp 0x1400ab8a3
mov r14, qword [rbp - 0x78]
mov rbx, r12
xor r12d, r12d
and qword [rbp - 0x10], 0
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x1400ab8c9
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 - 8], r12
and qword [rbp + 0x128], 0
mov rdi, qword [rbp + 0x130]
test rdi, rdi
je 0x1400ab8f8
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 + 0x130], r12
test rbx, rbx
je 0x1400ab911
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x1400ab92a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0x100]
mov dword [rbp + 0x35c], eax
mov ebx, dword [rbp + 0x138]
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x1c0], rax
jmp 0x1400ab95c
xor r12d, r12d
mov ebx, dword [rbp + 0xf0]
mov r15d, 1
xor eax, eax
lock cmpxchg dword [0x14010bde4], r15d
jne 0x1400ab962
mov eax, dword [0x14010bde0]
test eax, eax
jle 0x1400ab9d2
sub eax, r15d
mov dword [0x14010bde0], eax
jne 0x1400ab9d2
lea r13, [0x14010a6d0]
mov rdi, r13
mov r14d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400ab9a2
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r15
jne 0x1400ab994
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400d8440]
lea rcx, [0x140106020]
call sub.msvcrt.dll_memcpy
mov eax, r12d
xchg dword [0x14010bde4], eax
lea rcx, [rbp + 0x110]
call fcn.1400cb7c0
test esi, esi
jns 0x1400aba38
cmp esi, 0xd0000034
jne 0x1400ab9fa
mov esi, 0xc004f012
jmp 0x1400aba34
cmp esi, 0xd00000e5
je 0x1400aba19
cmp esi, 0xc004d501
je 0x1400aba19
cmp esi, 0xd000003e
jne 0x1400aba1e
mov esi, 0xc004f028
jmp 0x1400aba34
mov esi, 0xc004f027
test esi, esi
jns 0x1400aba38
cmp esi, 0x8007007a
jne 0x1400aba34
mov ebx, 0xc004f01e
mov dword [rbp + 0x38], ebx
jmp 0x1400aba4f
mov ebx, esi
jmp 0x1400aba2f
cmp ebx, 4
jne 0x1400aba2a
mov rax, qword [rbp + 0x1c0]
mov ecx, dword [rax]
mov dword [rbp + 0x148], ecx
mov ebx, dword [rbp + 0x38]
lea rcx, [rbp + 0x1c0]
call fcn.1400cb7c0
test ebx, ebx
jns 0x1400abaa7
lea rax, [0x140106190]
mov rcx, qword [0x140106190]
cmp rcx, rax
je 0x1400abc0f
test byte [rcx + 0x1c], 2
je 0x1400abc0f
cmp byte [rcx + 0x19], 2
jb 0x1400abc0f
mov edx, 0x3f
mov r9d, ebx
lea r8, [0x1400e76f8]
mov rcx, qword [rcx + 0x10]
call fcn.140003634
jmp 0x1400abc0f
cmp dword [rbp + 0x148], r12d
jne 0x1400ababa
mov edi, 0x80004005
jmp 0x1400abc12
mov qword [rbp + 0x258], r12
mov qword [rbp + 0x260], r12
mov qword [rbp + 0x268], r12
mov qword [rbp + 0x250], r12
lea rax, [rbp + 0x250]
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 0x1400abb34
mov ecx, r12d
mov rax, qword [rbp + 0x258]
test rax, rax
je 0x1400abb26
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, eax
mov qword [rbp + 0x258], r12
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x258], rax
test ecx, ecx
je 0x1400abb8f
movzx edi, cx
or edi, 0x80070000
test ecx, ecx
cmovle edi, ecx
lea rax, [0x140106190]
mov rcx, qword [0x140106190]
cmp rcx, rax
je 0x1400abb7e
test byte [rcx + 0x1c], 2
je 0x1400abb7e
cmp byte [rcx + 0x19], 2
jb 0x1400abb7e
mov edx, 0x40
mov r9d, edi
lea r8, [0x1400e76f8]
mov rcx, qword [rcx + 0x10]
call fcn.140003634
nop
lea rcx, [rbp + 0x258]
call fcn.140008e70
jmp 0x1400abc12
mov rbx, qword [rbp + 0x458]
mov r8, rbx
lea rdx, str.InternetSharingSecurityGroup
lea rcx, [rbp + 0x258]
call fcn.1400b3940
mov edi, eax
test eax, eax
je 0x1400abc03
mov rcx, rbx
call fcn.140004d3c
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov dword [rbp + 0x38], ebx
lea rax, [0x140106190]
mov rcx, qword [0x140106190]
cmp rcx, rax
je 0x1400abc03
test byte [rcx + 0x1c], 2
je 0x1400abc03
cmp byte [rcx + 0x19], 2
jb 0x1400abc03
mov edx, 0x41
mov r9d, ebx
lea r8, [0x1400e76f8]
mov rcx, qword [rcx + 0x10]
call fcn.140003634
nop
lea rcx, [rbp + 0x258]
call fcn.140008e70
mov edi, dword [rbp + 0x38]
mov eax, edi
mov rcx, qword [rbp + 0x1140]
xor rcx, rsp
call fcn.1400cc650
lea r11, [rsp + 0x1250]
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