Function at 0x140099f70
Capabilities:
Encode data using xor
Execute anti-debugging instructions
Link many functions at runtime
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1140]
mov eax, 0x1240
call fcn.1400c2680
sub rsp, rax
mov qword [rbp + 0x4b0], 0xfffffffffffffffe
mov qword [rsp + 0x1278], rbx
mov qword [rsp + 0x1280], rsi
mov qword [rsp + 0x1288], rdi
mov rax, qword [0x1400f6388]
xor rax, rsp
mov qword [rbp + 0x1130], rax
mov qword [rbp + 0x440], rcx
xor eax, eax
mov dword [rbp + 0x148], eax
mov qword [rbp + 0x1a8], rax
mov dword [rbp + 0x48], eax
mov dword [rbp + 0x14c], eax
mov dword [rbp + 0xf4], eax
mov qword [rbp + 0x100], rax
mov dword [rbp + 0x70], eax
lea esi, [rax + 1]
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], esi
jne 0x140099ff5
mov r14d, 0x338
or edi, 0xffffffff
mov dword [rbp + 0xc4], edi
mov eax, dword [0x1400f8cc8]
test eax, eax
jne 0x14009a5c3
xor eax, eax
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x280], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
xor eax, eax
test rsi, rsi
je 0x14009a53b
mov r12d, eax
mov ebx, edi
mov edx, eax
mov dword [rbp - 0x18], eax
mov r11d, eax
mov dword [rbp + 0x14], eax
lea r14, [rsi + 7]
lea r15, [0x1400dbce2]
lea ecx, [rax + 1]
lea r13d, [rax + 0x67]
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
lea r15, [r15 + 8]
mov r8d, r11d
xor r8d, r9d
xor r8d, edx
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
mov edx, r8d
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 r8d, eax
mov eax, r8d
shr eax, 0xd
imul edx, r8d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
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 r8d, eax
mov edx, r8d
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 r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
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 r8d, eax
mov eax, r8d
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, 0x7f1
xor eax, edi
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, 0xab69605e
mov eax, r8d
xor eax, edi
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
xor eax, 0xab69
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
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r8d, edx
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, r12d
xor edi, edx
mov dword [rbp + 0x14], edi
xor r8d, ebx
mov dword [rbp - 0x18], r8d
mov byte [r14 - 4], dil
ror dword [rbp + 0x14], 8
mov al, byte [rbp - 0x18]
mov byte [r14], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x14]
mov byte [r14 - 5], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp - 0x18]
mov byte [r14 - 1], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x14]
mov byte [r14 - 6], al
ror dword [rbp + 0x14], 8
mov al, byte [rbp - 0x18]
mov byte [r14 - 2], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp + 0x14]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x18]
mov byte [r14 - 3], al
mov r11d, dword [rbp + 0x14]
ror r11d, 8
mov dword [rbp + 0x14], r11d
mov edx, dword [rbp - 0x18]
ror edx, 8
mov dword [rbp - 0x18], edx
mov r12d, r10d
mov ebx, r9d
lea r14, [r14 + 8]
sub r13, rcx
jne 0x14009a072
xor eax, eax
mov cl, al
mov ebx, eax
mov r12d, eax
mov r13d, eax
lea r11d, [rax + 1]
mov r14d, 0x338
xor cl, byte [rax + rsi]
add rax, r11
cmp rax, r14
jb 0x14009a3a1
movzx eax, cl
cmp rax, qword [0x1400dc018]
je 0x14009a3bf
mov edi, 0xc004d501
jmp 0x14009a3d3
mov qword [rbp + 0x160], rsi
xor eax, eax
mov esi, eax
mov qword [rbp + 0x280], r14
mov edi, eax
test rsi, rsi
je 0x14009a3ec
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14009a53b
mov rdi, qword [rbp + 0x160]
mov rax, qword [rbp + 0x280]
xor r8d, r8d
mov byte [rax + rdi - 1], r8b
xor edx, edx
lea r8d, [rdx + 0x60]
lea rsi, [0x1400f76c0]
mov rcx, rsi
call sub.msvcrt.dll_memset
xor eax, eax
cmp byte [rdi], al
je 0x14009a540
jmp 0x14009a432
lea rsi, [0x1400f76c0]
mov rdx, rdi
or rax, 0xffffffffffffffff
xor ebx, ebx
inc rax
cmp word [rdi + rax*2], bx
jne 0x14009a43b
lea rdi, [rdi + rax*2]
mov eax, r12d
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 0x14009a53b
mov rax, qword [rsi]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14009a47a
mov ebx, 0xc000007b
jmp 0x14009a4c4
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14009a473
add rcx, qword [rsi]
cmp rcx, qword [rsi]
jb 0x14009a473
cmp dword [rcx], 0x4550
jne 0x14009a473
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14009a4b3
mov ebx, 0xc000000d
jmp 0x14009a4c4
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 0x14009a529
xor r8d, r8d
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r8b
jne 0x14009a4e0
inc rax
add rdi, rax
test ebx, ebx
js 0x14009a514
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
test rax, rax
je 0x14009a540
mov ecx, r13d
lea rdx, [0x1400f3020]
mov qword [rdx + rcx*8], rax
jmp 0x14009a517
xor r8d, r8d
mov eax, 1
add r13d, eax
add r14d, eax
cmp r14d, r15d
jb 0x14009a4d9
xor eax, eax
mov esi, 1
add r12d, esi
cmp byte [rdi], al
jne 0x14009a42b
jmp 0x14009a545
mov ebx, 0xc000007a
xor eax, eax
lea esi, [rax + 1]
cmp qword [rbp + 0x160], rax
je 0x14009a568
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x160]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
test ebx, ebx
jns 0x14009a5bd
lea r14, [0x1400f76c0]
mov rdi, r14
mov ebx, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x14009a58b
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
add rdi, 0x18
sub rbx, rsi
jne 0x14009a57b
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r14
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
jmp 0x14009a5cb
mov eax, dword [0x1400f8cc8]
add eax, esi
mov dword [0x1400f8cc8], eax
xor eax, eax
xchg dword [0x1400f8ccc], eax
xor eax, eax
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], rax
mov esi, eax
mov ebx, eax
mov rax, qword gs:[0x60]
mov edi, 0x80004005
mov r12d, 0x8007000e
mov r13d, reloc.OLEAUT32.dll_SafeArrayDestroy
lea r15d, [r12 - 0xe]
xor r8d, r8d
cmp dword [rax + 0x2c0], r8d
je 0x14009a8e6
mov rax, qword [0x1400f3130]
call qword [str.__f_]
mov r14, rax
xor eax, eax
test r14, r14
jne 0x14009a650
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
xor r15d, r15d
test ebx, ebx
js 0x14009a8ec
mov ebx, edi
jmp 0x14009a8ec
mov qword [rbp + 0xe8], rax
mov r9d, eax
mov rdi, rax
lea rax, [rbp + 0x144]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r14
mov rax, qword [0x1400f3150]
call qword [str.__f_]
xor edi, edi
test eax, eax
jne 0x14009a70f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14009a6f9
xor eax, eax
cmp qword [rbp + 0xe8], rax
jne 0x14009a6f0
mov edi, dword [rbp + 0x144]
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.1400c0594
xor eax, eax
test rdi, rdi
je 0x14009a6e4
mov qword [rbp + 0xe8], rdi
mov r9d, dword [rbp + 0x144]
jmp 0x14009a65d
mov qword [rbp + 0xe8], rax
mov ebx, r12d
jmp 0x14009a724
mov edi, 0x80004005
mov ebx, edi
jmp 0x14009a729
mov edi, 0x80004005
test eax, eax
je 0x14009a6f5
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x14009a729
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xe8], rdi
mov qword [rbp + 0x1f0], rax
mov edi, 0x80004005
lea rcx, [rbp + 0xe8]
call fcn.1400c0594
test ebx, ebx
js 0x14009a8e9
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov rax, qword [0x1400f3148]
call qword [str.__f_]
mov r14, rax
xor eax, eax
test r14, r14
je 0x14009a62d
mov qword [rbp + 0xe0], rax
mov ebx, eax
mov r9d, eax
mov edi, eax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov edx, 2
mov rcx, r14
mov rax, qword [0x1400f3150]
call qword [str.__f_]
xor edi, edi
test eax, eax
jne 0x14009a823
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14009a80c
xor eax, eax
cmp qword [rbp + 0xe0], rax
jne 0x14009a801
mov edi, dword [rbp + 0x130]
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 + 0xe0]
call fcn.1400c0594
xor eax, eax
test rdi, rdi
je 0x14009a7f5
mov qword [rbp + 0xe0], rdi
mov r9d, dword [rbp + 0x130]
jmp 0x14009a76e
mov qword [rbp + 0xe0], rax
mov ebx, r12d
jmp 0x14009a838
mov r14d, 0x80004005
mov ebx, r14d
jmp 0x14009a83e
mov r14d, 0x80004005
test eax, eax
je 0x14009a807
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x14009a83e
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0x1f8], rax
mov r14d, 0x80004005
lea rcx, [rbp + 0xe0]
call fcn.1400c0594
test ebx, ebx
js 0x14009a8e9
mov rcx, qword [rbp + 0x1f0]
test rcx, rcx
je 0x14009a8e6
lea rdx, str.WinSta0
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14009a8e6
mov rcx, qword [rbp + 0x1f8]
test rcx, rcx
je 0x14009a8e6
lea rdx, str.Default
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14009a8e6
xor eax, eax
mov dword [rbp + 0x134], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov r9d, 4
lea r8, [rbp + 0x134]
lea edx, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
test eax, eax
jne 0x14009a8d7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, r15d
xor r15d, r15d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x14009a8ec
mov ebx, r14d
jmp 0x14009a8ec
test byte [rbp + 0x134], r13b
mov eax, 1
cmove esi, eax
mov dword [rbp + 0x70], esi
xor r15d, r15d
lea rcx, [rbp + 0x1f8]
call fcn.1400c0594
lea rcx, [rbp + 0x1f0]
call fcn.1400c0594
mov eax, dword [rbp + 0x70]
test ebx, ebx
cmovs eax, r15d
mov dword [rbp + 0x70], eax
mov dword [rbp + 0xf4], r15d
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x100]
call fcn.1400c056c
test rdi, rdi
jne 0x14009a94d
mov qword [rbp + 0x100], r15
mov rdi, r15
mov qword [rbp + 0x40], r15
jmp 0x14009a954
mov qword [rbp + 0x100], rdi
test rdi, rdi
jne 0x14009aa0f
mov ebx, r12d
mov esi, dword [rbp + 0xf8]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r12d
jne 0x14009a96c
mov eax, dword [0x1400f8cc8]
test eax, eax
jle 0x14009a9dc
sub eax, r12d
mov dword [0x1400f8cc8], eax
jne 0x14009a9dc
lea r13, [0x1400f76c0]
mov rdi, r13
mov r14d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x14009a9ac
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r12
jne 0x14009a99e
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
mov eax, r15d
xchg dword [0x1400f8ccc], eax
lea rcx, [rbp + 0x100]
call fcn.1400c056c
test ebx, ebx
jns 0x1400a3256
cmp ebx, 0xd0000034
jne 0x1400a321b
mov ebx, 0xc004f012
jmp 0x1400a3251
mov rsi, r15
mov r14, r15
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov dword [rbp + 0x140], r15d
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rax
mov dword [rbp + 0xbc], r15d
mov r13d, 0xc0000017
lea rax, [0x1400f6470]
mov ebx, RegisterTypeLib
test rdi, rdi
jne 0x14009aa5c
mov ebx, 0x80070057
jmp 0x14009ad78
mov qword [rbp + 0x360], rax
mov qword [rbp + 0x288], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
mov ebx, 8
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x14009aa93
mov ebx, r13d
jmp 0x14009ad78
mov r8, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x360]
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov rsi, r12
mov qword [rsp + 0x68], r12
mov r15d, dword [rbp + 0x288]
lea rax, [0x1400f63b0]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x290], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x14009aaf5
mov ebx, r13d
jmp 0x14009ad75
mov r8, qword [rbp + 0x290]
mov rdx, qword [rbp + 0x368]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov r14, rdi
mov qword [rsp + 0x70], rdi
mov r13d, dword [rbp + 0x290]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1d0], rax
mov dword [rbp + 0x80], ebx
lea esi, [r15 + 4]
cmp esi, 4
jb 0x14009ad6d
mov dword [rbp + 0x80], esi
lea eax, [rsi + 8]
or r8d, 0xffffffff
mov edx, r8d
cmp eax, ebx
cmovae edx, eax
sbb ebx, ebx
mov r10d, 0xc0000095
and ebx, r10d
mov r9d, 0x10000000
add ebx, r9d
mov dword [rsp + 0x60], ebx
cmp eax, 8
jb 0x14009cf8d
lea r14d, [r13 + 4]
cmp r14d, 4
jb 0x14009cf78
mov dword [rbp + 0x80], r14d
lea eax, [r14 + rdx]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb ebx, ebx
and ebx, r10d
add ebx, r9d
mov dword [rsp + 0x60], ebx
cmp eax, edx
jb 0x14009cf8a
mov dword [rbp + 0x80], SafeArrayDestroy
lea eax, [rcx + 0xc]
mov edi, r8d
cmp eax, ecx
cmovae edi, eax
sbb ebx, ebx
and ebx, r10d
add ebx, r9d
mov dword [rsp + 0x60], ebx
cmp eax, ecx
jb 0x14009cf83
lea r8, [rbp + 0x1e0]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMESecurityGroupAllowed
call fcn.1400c05d4
xor ecx, ecx
test eax, eax
jns 0x14009ac0b
xor r15d, r15d
mov qword [rbp + 0x1e0], r15
mov ebx, 0xc000003e
mov rsi, r12
mov r14, qword [rsp + 0x70]
jmp 0x14009ad78
mov rax, qword [rbp + 0x1e0]
inc rax
mov qword [rbp + 0x1e0], rax
add eax, eax
add eax, 4
mov r10d, 0xc0000095
cmp eax, 4
jb 0x14009ac36
mov ebx, ecx
mov dword [rbp + 0x80], eax
jmp 0x14009ac3f
mov ebx, r10d
mov eax, dword [rbp + 0x80]
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009cf68
add eax, edi
or r8d, 0xffffffff
mov edx, r8d
cmp eax, edi
cmovae edx, eax
sbb ebx, ebx
and ebx, r10d
mov r9d, 0x10000000
add ebx, r9d
mov dword [rsp + 0x60], ebx
cmp eax, edi
jb 0x14009cf83
mov dword [rbp + 0x80], 8
lea eax, [rdx + 8]
mov ecx, r8d
cmp eax, edx
cmovae ecx, eax
sbb ebx, ebx
and ebx, r10d
add ebx, r9d
mov dword [rsp + 0x60], ebx
cmp eax, edx
jb 0x14009cf83
lea eax, [rcx + 8]
mov edx, r8d
cmp eax, ecx
cmovae edx, eax
sbb ebx, ebx
and ebx, r10d
add ebx, r9d
mov dword [rsp + 0x60], ebx
cmp eax, ecx
jb 0x14009cf83
mov dword [rbp - 0x74], 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 r8d, r8d
test rax, rax
jne 0x14009acf1
mov ebx, 0xc0000017
mov r14, qword [rsp + 0x70]
jmp 0x14009ad72
mov qword [rbp - 0x70], rdx
mov dword [rbp - 0x78], r8d
mov dword [rbp + 0x230], r8d
lea rdi, [rax + 4]
cmp rdi, rdx
jb 0x14009ad68
mov ecx, dword [rbp - 0x74]
add rcx, rdx
add rax, 8
cmp rax, rcx
jbe 0x14009ad1f
mov ebx, 0xc0000023
jmp 0x14009ace7
mov dword [rdx], 4
mov eax, dword [rbp + 0x230]
mov dword [rdi], eax
mov ecx, dword [rbp - 0x78]
inc ecx
mov dword [rbp - 0x78], ecx
test r15d, r15d
je 0x14009af11
cmp qword [rbp - 0x70], r8
jne 0x14009ae89
mov dword [rbp + 0x224], esi
mov eax, dword [rbp - 0x74]
lea edx, [rsi + rax]
cmp edx, eax
jb 0x14009ad68
mov dword [rbp - 0x74], edx
inc ecx
mov dword [rbp - 0x78], ecx
xor r15d, r15d
jmp 0x14009af28
mov r14, qword [rsp + 0x70]
mov ebx, 0xc0000095
mov rsi, r12
xor r15d, r15d
mov dword [rsp + 0x60], ebx
and qword [rbp - 0x78], 0
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x14009ada2
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 - 0x70], r15
and qword [rbp + 0xa0], 0
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x14009add1
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 + 0xa8], r15
test rsi, rsi
je 0x14009adea
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x14009ae03
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x14009a960
mov eax, dword [rbp + 0x70]
test eax, eax
je 0x1400a31df
mov qword [rbp + 0x3e8], r15
mov dword [0x1400f6fe8], eax
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0xf20]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1400a13f0
cmp eax, edi
jne 0x14009ae5a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400a13f0
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov qword [rbp + 0x68], rax
test rax, rax
jne 0x14009cfad
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a13f0
mov rdx, qword [rbp - 0x70]
mov edi, r8d
mov esi, 1
test ecx, ecx
je 0x14009aec4
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14009af0a
mov dword [rbp + 0x224], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14009ad68
mov rdx, r8
add edi, esi
cmp edi, ecx
jb 0x14009ae99
xor r8d, r8d
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14009ad68
mov ebx, r8d
mov dword [rsp + 0x60], ebx
mov r8, r15
mov ecx, dword [rbp - 0x74]
add rcx, qword [rbp - 0x70]
lea rax, [r15 + 4]
add rax, rdx
cmp rax, rcx
ja 0x14009ad18
mov dword [rdx], r15d
mov rdx, r12
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x78]
add ecx, esi
mov dword [rbp - 0x78], ecx
jmp 0x14009af1a
mov ebx, 0xc0000095
jmp 0x14009af16
mov ebx, 0xc000000d
mov dword [rsp + 0x60], ebx
xor r15d, r15d
test ebx, ebx
js 0x14009cf51
mov edx, dword [rbp - 0x74]
test r13d, r13d
je 0x14009b004
cmp qword [rbp - 0x70], r15
jne 0x14009af68
mov dword [rbp + 0x228], r14d
lea eax, [r14 + rdx]
cmp eax, edx
jb 0x14009cf5e
mov edx, eax
mov r13d, 1
add ecx, r13d
mov rax, qword [rbp + 0x1d0]
mov qword [rbp + 0x298], rax
jmp 0x14009b035
mov rdi, qword [rbp - 0x70]
mov r8d, r15d
test ecx, ecx
je 0x14009af9d
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14009afd0
mov dword [rbp + 0x228], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x14009cf5e
mov rdi, r9
inc r8d
cmp r8d, ecx
jb 0x14009af73
lea r9, [rdi + 4]
cmp r9, rdi
jb 0x14009cf5e
mov ebx, r15d
mov dword [rsp + 0x60], ebx
mov r8, r13
mov ecx, edx
add rcx, qword [rbp - 0x70]
lea rax, [r13 + 4]
add rax, rdi
cmp rax, rcx
jbe 0x14009afdb
mov ebx, 0xc0000023
jmp 0x14009abfe
mov r10d, 0xc0000095
mov ebx, r10d
jmp 0x14009b00f
mov dword [rdi], r13d
mov rdx, qword [rbp + 0x60]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x78]
mov r13d, 1
add ecx, r13d
mov dword [rbp - 0x78], ecx
mov edx, dword [rbp - 0x74]
mov r10d, 0xc0000095
jmp 0x14009b019
mov ebx, 0xc000000d
mov r10d, 0xc0000095
mov r13d, 1
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009cf51
mov rax, qword [rbp + 0x1d0]
mov qword [rbp + 0x298], rax
cmp qword [rbp - 0x70], r15
jne 0x14009b055
mov dword [rbp + 0x210], SafeArrayDestroy
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x14009cf5e
mov dword [rbp - 0x74], eax
add ecx, r13d
mov dword [rbp - 0x78], ecx
jmp 0x14009b0cc
mov rdi, qword [rbp - 0x70]
mov r8d, r15d
test ecx, ecx
je 0x14009b08a
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14009b0fc
mov dword [rbp + 0x210], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x14009b0f4
mov rdi, r9
add r8d, r13d
cmp r8d, ecx
jb 0x14009b060
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x14009b0f4
mov ebx, r15d
mov dword [rsp + 0x60], ebx
mov ecx, edx
add rcx, qword [rbp - 0x70]
lea rax, [rdi + 0xc]
cmp rax, rcx
ja 0x14009afc6
mov dword [rdi], 8
movsd xmm0, qword [rbp + 0x298]
movsd qword [r8], xmm0
add dword [rbp - 0x78], r13d
test ebx, ebx
js 0x14009cf51
lea r8, [rbp + 0x170]
mov edx, 0x7fffffff
lea rcx, str.WMPPlayer_RMESecurityGroupAllowed
call fcn.1400c05d4
test eax, eax
jns 0x14009b105
mov qword [rbp + 0x170], r15
jmp 0x14009abf9
mov ebx, r10d
jmp 0x14009abfe
mov ebx, r10d
mov dword [rsp + 0x60], ebx
jmp 0x14009b0c4
mov rax, qword [rbp + 0x170]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x14009cf56
mov qword [rbp + 0x170], rcx
lea r8d, [rcx + rcx]
test r8d, r8d
je 0x14009b207
cmp qword [rbp - 0x70], r15
jne 0x14009b180
add r8d, 4
cmp r8d, 4
jb 0x14009b172
mov dword [rbp + 0x218], r8d
mov eax, dword [rbp - 0x74]
lea edi, [r8 + rax]
mov r10d, 0xc0000095
cmp edi, eax
jb 0x14009b164
mov dword [rbp - 0x74], edi
add dword [rbp - 0x78], r13d
mov ebx, r15d
jmp 0x14009b215
or edi, 0xffffffff
mov dword [rbp - 0x74], edi
mov ebx, r10d
jmp 0x14009b215
mov r10d, 0xc0000095
mov ebx, r10d
jmp 0x14009b212
mov rdx, qword [rbp - 0x70]
mov ecx, r15d
cmp dword [rbp - 0x78], r15d
jbe 0x14009b1b0
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14009b172
mov dword [rbp + 0x218], eax
add rax, rdx
cmp rax, rdx
jb 0x14009b172
mov rdx, rax
add ecx, r13d
cmp ecx, dword [rbp - 0x78]
jb 0x14009b18d
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x14009b172
mov ebx, r15d
mov dword [rsp + 0x60], ebx
mov r10d, r8d
mov edi, dword [rbp - 0x74]
mov ecx, edi
add rcx, qword [rbp - 0x70]
lea rax, [r8 + 4]
add rax, rdx
cmp rax, rcx
jbe 0x14009b1e3
mov ebx, 0xc0000023
lea r10d, [rbx + 0x72]
jmp 0x14009b215
mov dword [rdx], r8d
mov r8, r10
lea rdx, str.WMPPlayer_RMESecurityGroupAllowed
mov rcx, r9
call sub.msvcrt.dll_memcpy
add dword [rbp - 0x78], r13d
mov edi, dword [rbp - 0x74]
mov r10d, 0xc0000095
jmp 0x14009b219
mov ebx, 0xc000000d
mov r10d, 0xc0000095
mov edi, dword [rbp - 0x74]
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009cf51
mov eax, dword [rbp + 0x70]
mov dword [rbp + 0x238], eax
cmp qword [rbp - 0x70], r15
jne 0x14009b25a
mov dword [rbp + 0x21c], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x14009b0f4
mov edi, eax
add dword [rbp - 0x78], r13d
mov dword [rbp + 0x138], 4
jmp 0x14009b2ea
mov rdx, qword [rbp - 0x70]
mov ecx, r15d
cmp dword [rbp - 0x78], r15d
jbe 0x14009b295
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14009b30d
mov dword [rbp + 0x21c], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14009b0f4
mov rdx, r8
add ecx, r13d
cmp ecx, dword [rbp - 0x78]
jb 0x14009b267
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x14009b0f4
mov ebx, r15d
mov dword [rsp + 0x60], ebx
mov ecx, edi
add rcx, qword [rbp - 0x70]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x14009afc6
mov dword [rdx], 4
mov eax, dword [rbp + 0x238]
mov dword [r8], eax
add dword [rbp - 0x78], r13d
mov edi, dword [rbp - 0x74]
test ebx, ebx
js 0x14009cf51
mov dword [rbp + 0x138], 4
cmp qword [rbp - 0x70], r15
jne 0x14009b316
mov dword [rbp + 0x198], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x14009b0f4
mov edi, eax
mov dword [rbp - 0x74], eax
add dword [rbp - 0x78], r13d
jmp 0x14009b396
mov ebx, r10d
mov dword [rsp + 0x60], ebx
jmp 0x14009b2d2
mov rdx, qword [rbp - 0x70]
mov ecx, r15d
cmp dword [rbp - 0x78], r15d
jbe 0x14009b351
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14009b436
mov dword [rbp + 0x198], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14009b0f4
mov rdx, r8
add ecx, r13d
cmp ecx, dword [rbp - 0x78]
jb 0x14009b323
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x14009b0f4
mov ebx, r15d
mov dword [rsp + 0x60], ebx
mov ecx, edi
add rcx, qword [rbp - 0x70]
lea rax, [rdx + 8]
cmp rax, rcx
ja 0x14009afc6
mov dword [rdx], 4
mov eax, dword [rbp + 0x138]
mov dword [r8], eax
add dword [rbp - 0x78], r13d
mov edi, dword [rbp - 0x74]
test ebx, ebx
js 0x14009cf51
mov dword [rbp + 0x310], 8
mov r12, r15
mov qword [rbp - 0x10], r15
mov r14d, r15d
mov qword [rbp + 0x168], r15
mov r13, r15
mov qword [rbp + 0x68], r15
mov dword [rbp - 0x80], r15d
xor esi, esi
mov qword [rbp + 0x30], rsi
mov dword [rbp + 0x5c], esi
mov qword [rsp + 0x78], rsi
mov qword [rbp - 8], rsi
mov dword [rbp + 0xcc], esi
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2a0], rax
add edi, 8
cmp edi, 8
jb 0x14009b4b5
mov dword [rbp + 0xb8], edi
mov eax, edi
add rax, 7
and eax, 0xfffffff8
cmp eax, edi
jb 0x14009b4bc
mov dword [rbp + 0xb8], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
lea edx, [rsi + 8]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14009b442
mov ebx, 0xc0000017
jmp 0x14009b4bf
mov ebx, r10d
mov dword [rsp + 0x60], ebx
jmp 0x14009b38e
mov eax, dword [rbp - 0x78]
mov dword [rdi], eax
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x14009b495
mov eax, dword [rbp - 0x74]
mov dword [rcx], eax
lea r9, [rcx + 4]
cmp r9, rcx
jb 0x14009b495
mov ebx, esi
mov ecx, dword [rbp + 0xb8]
mov rax, qword [rbp + 0x2a0]
mov qword [rcx + rdi - 8], rax
mov r8d, dword [rbp - 0x74]
mov rdx, qword [rbp - 0x70]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r12, rdi
mov qword [rbp - 0x10], rdi
mov rdi, rsi
mov r14d, dword [rbp + 0xb8]
jmp 0x14009b49a
mov ebx, 0xc0000095
test rdi, rdi
je 0x14009b4bf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14009b4bf
or dword [rbp + 0xb8], 0xffffffff
mov ebx, r10d
or ebx, 0x10000000
mov dword [rsp + 0x60], ebx
jl 0x14009ca3d
mov qword [rbp + 0x378], rsi
mov qword [rbp + 0x380], rsi
mov qword [rbp + 0x388], rsi
mov qword [rbp + 0x390], rsi
mov qword [rbp + 0x1d8], rsi
mov qword [rbp + 0x370], rsi
mov qword [rbp + 0x60], rsi
test r12, r12
jne 0x14009b50c
mov ebx, 0xc000000d
jmp 0x14009bc58
mov ebx, r14d
mov qword [rbp - 0x48], rbx
xor r14d, r14d
test rbx, rbx
je 0x14009bba9
lea rdi, [rbx + 8]
mov qword [rbp + 0x20], 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 + 0x50], rax
test rax, rax
je 0x14009bba9
mov dl, r14b
mov byte [rsp + 0x64], dl
mov ecx, r14d
test rbx, rbx
je 0x14009b56e
lea eax, [r14 + 1]
xor dl, byte [r12 + rcx]
add rcx, rax
cmp rcx, rbx
jb 0x14009b55e
mov byte [rsp + 0x64], dl
movabs rax, 0xc81ecb17b1b54a58
mov qword [rbp + 0x968], rax
mov r8, r12
mov r9, r15
mov r10d, r14d
mov dword [rbp - 0x40], r14d
or r11d, 0xffffffff
mov dword [rbp - 0x5c], r11d
mov r12d, r14d
mov r13d, r14d
mov rdi, rbx
and edi, 7
je 0x14009b66c
mov r11d, r14d
test edi, edi
je 0x14009b5e6
mov r10d, 0x38
movzx eax, byte [r8]
cmp r11d, 4
jge 0x14009b5c8
lea ecx, [r10 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x14009b5d0
mov ecx, r10d
shl eax, cl
or r12d, eax
inc r8
mov ecx, 1
add r11d, ecx
sub r10d, 8
cmp r11d, edi
jl 0x14009b5b3
jmp 0x14009b5eb
mov ecx, 1
mov r10d, r13d
xor r10d, 0xb17a307a
mov dword [rbp - 0x40], r10d
mov r11d, r12d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x5c], r11d
mov eax, r14d
test edi, edi
je 0x14009b634
cmp eax, 4
jge 0x14009b61c
rol r10d, 8
mov byte [r9], r10b
jmp 0x14009b623
rol r11d, 8
mov byte [r9], r11b
inc r9
add eax, ecx
cmp eax, edi
jl 0x14009b60e
mov r10d, dword [rbp - 0x40]
mov r11d, dword [rbp - 0x5c]
cmp edi, 4
jbe 0x14009b64f
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x5c], r11d
jmp 0x14009b66c
mov r11d, r14d
mov dword [rbp - 0x5c], r14d
jae 0x14009b66c
mov ecx, 4
sub ecx, edi
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov dword [rbp - 0x40], r10d
mov r14, rbx
shr r14, 3
test r14, r14
je 0x14009b9a8
mov edi, dword [rbp + 0x96c]
movzx edx, word [rbp + 0x96e]
movzx eax, word [rbp + 0x96a]
mov dword [rbp - 0x38], eax
movzx esi, di
lea r15, [r9 + 7]
lea rbx, [r8 + 2]
movzx r9d, byte [rbx - 2]
shl r9d, 8
movzx eax, byte [rbx - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 1]
or r9d, eax
movzx r8d, byte [rbx + 2]
shl r8d, 8
movzx eax, byte [rbx + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [rbx + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [rbx + 5]
or r8d, eax
xor r11d, r8d
lea rbx, [rbx + 8]
lea eax, [r11 - 0x4a58]
xor eax, edi
xor eax, r9d
xor r10d, eax
mov ecx, edi
xor ecx, r10d
ror ecx, 0xf
mov eax, r10d
ror eax, 7
imul ecx, dword [rbp - 0x38]
add eax, ecx
xor r11d, eax
lea ecx, [r11 - 0x4e4ab5a8]
ror ecx, 9
mov eax, r11d
ror eax, 0xa
imul ecx, esi
sub ecx, eax
xor r10d, ecx
mov ecx, esi
xor ecx, r10d
rol ecx, 4
mov eax, r10d
rol eax, 5
imul ecx, edx
add eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, edi
sub eax, ecx
xor r10d, eax
lea ecx, [r10 - 0x4a58]
movzx eax, word [rbp + 0x96a]
imul ecx, eax
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, esi
imul eax, eax, 0x4a58
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
add eax, edx
imul eax, esi
xor r11d, eax
mov eax, r11d
sub eax, edi
sub eax, 0x4a58
xor r10d, eax
mov ecx, r10d
ror ecx, 0xa
mov eax, edx
xor eax, r10d
movzx edi, word [rbp + 0x96a]
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, 0x4a58
rol ecx, 6
mov eax, r11d
ror eax, 3
imul ecx, esi
xor eax, ecx
xor r10d, eax
mov eax, r10d
ror eax, 0xf
sub eax, edx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, edx
xor eax, r11d
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r10d, ecx
mov eax, r11d
sub eax, esi
rol eax, 3
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, esi
imul ecx, edi
mov eax, r10d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 9
mov eax, r11d
ror eax, 0xb
imul ecx, esi
xor eax, ecx
xor r10d, eax
mov eax, r10d
sub eax, edx
add eax, 0x4e4ab5a8
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
movzx ecx, word [rbp + 0x96a]
xor eax, ecx
imul ecx, eax, 0x4a58
sub ecx, edi
xor r10d, ecx
mov ecx, r10d
xor ecx, edx
rol ecx, 4
mov eax, r10d
ror eax, 0x10
movzx edi, word [rbp + 0x96a]
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 0xa
mov eax, r11d
ror eax, 4
imul ecx, esi
add eax, ecx
xor r10d, eax
lea ecx, [r10 + 0x4e4ab5a8]
ror ecx, 4
mov eax, r10d
ror eax, 9
imul ecx, edx
xor eax, ecx
xor r11d, eax
mov edi, dword [rbp + 0x96c]
mov eax, edi
xor eax, r11d
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r10d, eax
mov ecx, edi
sub ecx, r10d
ror ecx, 0xb
mov eax, r10d
ror eax, 0xc
imul ecx, dword [rbp - 0x38]
sub ecx, eax
xor r11d, ecx
movzx ecx, word [rbp + 0x96a]
xor ecx, r11d
imul ecx, esi
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor r10d, r13d
mov dword [rbp - 0x40], r10d
mov ecx, edi
xor ecx, eax
xor ecx, r11d
xor ecx, r12d
xor ecx, 0xb1b54a58
mov dword [rbp - 0x5c], ecx
mov byte [r15 - 4], r10b
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x5c]
mov byte [r15], al
ror dword [rbp - 0x5c], 8
mov al, byte [rbp - 0x40]
mov byte [r15 - 5], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x5c]
mov byte [r15 - 1], al
ror dword [rbp - 0x5c], 8
mov al, byte [rbp - 0x40]
mov byte [r15 - 6], al
ror dword [rbp - 0x40], 8
mov al, byte [rbp - 0x5c]
mov byte [r15 - 2], al
ror dword [rbp - 0x5c], 8
mov al, byte [rbp - 0x40]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x5c]
mov byte [r15 - 3], al
mov r10d, dword [rbp - 0x40]
ror r10d, 8
mov dword [rbp - 0x40], r10d
mov r11d, dword [rbp - 0x5c]
ror r11d, 8
mov dword [rbp - 0x5c], r11d
mov r13d, r9d
mov r12d, r8d
lea r15, [r15 + 8]
sub r14, 1
jne 0x14009b69e
mov dl, byte [rsp + 0x64]
mov rsi, qword [rbp + 0x60]
mov rbx, qword [rbp - 0x48]
mov r15, qword [rbp + 0x50]
movzx eax, dl
mov qword [r15 + rbx], rax
mov qword [rbp + 0x1d8], r15
mov rbx, qword [rbp + 0x20]
mov qword [rbp + 0x370], rbx
lea rax, [0x1400f6460]
mov qword [rbp + 0x378], rax
mov r13d, 8
mov qword [rbp + 0x380], r13
lea r14, [0x1400f63c0]
mov qword [rbp + 0x388], r14
mov qword [rbp + 0x390], RegisterTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [r13 + 0x28]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
xor r12d, r12d
test rax, rax
jne 0x14009ba20
mov ebx, 0xc0000017
jmp 0x14009bb95
mov dword [rax], ebx
mov ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009ba48
mov ebx, 0xc0000017
jmp 0x14009bb19
mov qword [rdi + 8], rax
mov r8, rbx
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov ebx, RegisterTypeLib
mov dword [rdi + 0x10], ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14009ba3e
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, [rbx - 0x20]
movups xmm1, xmmword [r14 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r14 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r14 + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14009ba3e
mov qword [rdi + 0x28], rax
mov ebx, r12d
movsd xmm0, qword [0x1400f6460]
movsd qword [rax], xmm0
mov rsi, rdi
mov rdi, r12
test rdi, rdi
je 0x14009bb95
mov r14, qword [rdi + 8]
test r14, r14
je 0x14009bb3f
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], r12
mov r14, qword [rdi + 0x18]
test r14, r14
je 0x14009bb60
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], r12
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x14009bb81
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], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13, qword [rbp + 0x68]
test ebx, ebx
js 0x14009bbb1
mov qword [rbp + 0x168], rsi
mov rsi, r12
jmp 0x14009bbb1
mov ebx, 0xc0000001
xor r12d, r12d
mov rdi, qword [rbp + 0x1d8]
test rdi, rdi
je 0x14009bbd8
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 + 0x1d8], r12
test rsi, rsi
je 0x14009bc54
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x14009bbfe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r12
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x14009bc1f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r12
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x14009bc40
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15d, dword [rbp - 0x80]
mov r14d, 0x10000000
or ebx, r14d
mov dword [rsp + 0x60], ebx
jl 0x14009ca3d
mov rsi, qword [rbp + 0x168]
mov edi, dword [rsi + 0x20]
mov edx, dword [rsi + 0x10]
mov ecx, dword [rsi]
add ecx, 4
cmp ecx, 4
jb 0x14009bda2
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14009bda2
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x14009bda2
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14009bda2
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x14009bda2
mov dword [rbp + 0x19c], 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 0x14009bce9
mov ebx, 0xc0000017
mov r8d, 0xc0000095
jmp 0x14009bdab
mov eax, dword [rsi]
mov dword [rdi], eax
lea rbx, [rdi + 4]
cmp rbx, rdi
jb 0x14009bd7b
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsi]
add rcx, rbx
cmp rcx, rbx
jb 0x14009bd7b
mov eax, dword [rsi + 0x10]
mov dword [rcx], eax
lea rbx, [rcx + 4]
cmp rbx, rcx
jb 0x14009bd7b
mov r8d, dword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsi + 0x10]
add rcx, rbx
cmp rcx, rbx
jb 0x14009bd7b
mov eax, dword [rsi + 0x20]
mov dword [rcx], eax
lea rbx, [rcx + 4]
cmp rbx, rcx
jb 0x14009bd7b
mov r8d, dword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsi + 0x20]
add rcx, rbx
cmp rcx, rbx
jb 0x14009bd7b
mov ebx, r12d
mov r13, rdi
mov qword [rbp + 0x68], rdi
mov rdi, r12
mov r15d, dword [rbp + 0x19c]
jmp 0x14009bd80
mov ebx, 0xc0000095
test rdi, rdi
je 0x14009bcde
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14009bcde
mov r8d, 0xc0000095
mov ebx, r8d
or ebx, r14d
mov dword [rsp + 0x60], ebx
jl 0x14009ca3d
mov qword [rbp + 0x398], r12
mov dword [rbp + 0x1a0], r12d
mov qword [rbp + 0x3a0], r12
mov dword [rbp + 0x1a4], r12d
mov dword [rbp + 0x314], 0x3c
mov eax, 0x48
mov dword [rbp + 0x318], eax
mov dword [rbp + 0x34c], eax
lea r14d, [rax - 0x47]
cmp qword [rbp - 0x70], r12
jne 0x14009be03
mov ebx, 0xc000000d
jmp 0x14009bedd
cmp dword [rbp - 0x78], r14d
jbe 0x14009bdf9
mov rax, qword [rbp - 0x70]
mov edx, r12d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009beda
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14009beda
add edx, r14d
cmp edx, r14d
jb 0x14009be10
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009beda
mov dword [rbp + 0x1a0], edi
mov rax, r12
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x398], rax
cmp dword [rbp - 0x78], 2
jbe 0x14009bdf9
mov rax, qword [rbp - 0x70]
mov edx, r12d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009beda
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14009beda
add edx, r14d
cmp edx, 2
jb 0x14009be65
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009beda
mov dword [rbp + 0x1a4], edx
mov rax, r12
test edx, edx
cmovne rax, rcx
mov qword [rbp + 0x3a0], rax
lea eax, [rdi + 0x50]
cmp eax, 0x50
jb 0x14009beda
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x14009beda
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x14009beda
mov dword [rbp + 0x448], eax
mov ebx, r12d
mov dword [rsp + 0x60], ebx
cmp eax, 0x400000
jbe 0x14009bed5
mov ebx, 0x8000ffff
jmp 0x14009ca39
mov dword [rbp + 0x5c], eax
jmp 0x14009bee1
mov ebx, r8d
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009ca3d
mov edi, dword [rbp + 0x5c]
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 0x14009bf13
mov ebx, 0xd0000017
mov rsi, qword [rbp + 0x30]
jmp 0x14009bf1f
mov rsi, rax
mov qword [rbp + 0x30], rax
mov ebx, 0x10000000
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009ca3d
test r13, r13
jne 0x14009bf3a
mov ebx, 0x80070057
jmp 0x14009ca39
test rsi, rsi
je 0x14009bf30
mov qword [rbp + 0x450], r13
mov dword [rbp + 0x460], r15d
mov qword [rbp + 0x458], rsi
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x464], eax
mov dword [rbp + 0x468], r12d
lea r8, [rbp + 0x3a8]
lea rdx, [0x1400d9ed8]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x14009bfa5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov dword [rsp + 0x60], ebx
mov edx, dword [rbp + 0x5c]
test ebx, ebx
js 0x14009bfef
mov ebx, 0x80004005
jmp 0x14009bfeb
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x3a8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14009bf7f
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x450]
lea ecx, [r8 + 0x66]
call qword [str.__f_]
mov ebx, eax
or ebx, 0x10000000
mov edx, dword [rbp + 0x5c]
cmovge edx, dword [rbp + 0x464]
mov dword [rbp + 0x5c], edx
mov dword [rsp + 0x60], ebx
cmp ebx, 0xd0000023
jne 0x14009c001
mov ebx, 0x8007007a
jmp 0x14009ca39
test ebx, ebx
js 0x14009ca3d
mov qword [rbp + 0xb0], r12
cmp edx, 4
jae 0x14009c01f
mov ebx, 0xc000003e
jmp 0x14009c337
mov r14d, dword [rsi]
lea r12, [rsi + 4]
cmp r12, rsi
jb 0x14009c32f
lea eax, [rdx - 4]
cmp eax, r14d
jae 0x14009c041
mov ebx, 0xc000003e
jmp 0x14009c334
lea rdi, [r14 + r12]
cmp rdi, r12
jb 0x14009c32f
lea ecx, [r14 + 4]
cmp ecx, 4
jb 0x14009c32f
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x14009c037
mov ebx, dword [rdi]
lea r15, [rdi + 4]
cmp r15, rdi
jb 0x14009c32f
lea edi, [rcx + 4]
cmp edi, ecx
jb 0x14009c32f
mov eax, edx
sub eax, edi
cmp eax, ebx
jb 0x14009c037
lea rcx, [r15 + rbx]
cmp rcx, r15
jb 0x14009c32f
lea r8d, [rdi + rbx]
cmp r8d, edi
jb 0x14009c32f
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14009c037
mov esi, dword [rcx]
lea r13, [rcx + 4]
cmp r13, rcx
jb 0x14009c32f
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x14009c32f
mov eax, edx
sub eax, ecx
cmp eax, esi
jb 0x14009c037
lea edi, [rcx + rsi]
cmp edi, ecx
jb 0x14009c32f
cmp edx, edi
jne 0x14009c037
lea ecx, [rbx + r14]
add ecx, esi
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x14009c037
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x14009c127
mov ebx, 0xc0000017
xor r12d, r12d
jmp 0x14009c286
test r12, r12
je 0x14009c16f
mov dword [rdi], 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
jne 0x14009c158
mov ebx, 0xc0000017
xor r12d, r12d
jmp 0x14009c20a
mov qword [rdi + 8], rax
mov r8, r14
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor r12d, r12d
jmp 0x14009c176
mov dword [rdi], r12d
mov qword [rdi + 8], r12
test r15, r15
je 0x14009c1b5
mov dword [rdi + 0x10], ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009c1a1
mov ebx, 0xc0000017
jmp 0x14009c20a
mov qword [rdi + 0x18], rax
mov r8, rbx
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14009c1bd
mov dword [rdi + 0x10], r12d
mov qword [rdi + 0x18], r12
test r13, r13
je 0x14009c1f5
mov dword [rdi + 0x20], esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14009c19a
mov qword [rdi + 0x28], rax
mov r8, rsi
mov rdx, r13
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x14009c1fd
mov dword [rdi + 0x20], r12d
mov qword [rdi + 0x28], r12
mov qword [rbp + 0xb0], rdi
mov rdi, r12
mov ebx, r12d
test rdi, rdi
je 0x14009c286
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x14009c230
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r12
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x14009c251
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r12
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x14009c272
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, r12
test ebx, ebx
cmovs rdi, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0xb0]
cmovs rsi, r12
mov qword [rsp + 0x78], rsi
test rdi, rdi
je 0x14009c33c
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x14009c2cd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r12
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x14009c2ee
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r12
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x14009c30f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x78], rsi
jmp 0x14009c33c
mov ebx, 0xc0000095
xor r12d, r12d
mov rsi, qword [rsp + 0x78]
or ebx, 0x10000000
mov dword [rsp + 0x60], ebx
jl 0x14009ca3d
mov rdi, r12
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x2a8], r12
test rsi, rsi
jne 0x14009c36c
mov ebx, 0xd000000d
jmp 0x14009ca39
mov rbx, qword [rsi + 8]
mov qword [rbp + 0x50], rbx
test rbx, rbx
je 0x14009c362
cmp dword [rsi], r12d
je 0x14009c362
mov esi, dword [rsi]
mov dword [rbp - 0x30], r12d
test rsi, rsi
je 0x14009c8ac
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x60], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14009c8a5
mov dl, r12b
mov byte [rsp + 0x64], dl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x940], rax
mov r9, rbx
mov r10, r14
mov r8, rsi
and r8d, 7
je 0x14009c4aa
mov dword [rbp - 0x50], r12d
or dword [rbp - 0x64], 0xffffffff
xor r15d, r15d
mov r13d, r15d
mov r11d, r15d
test r8d, r8d
je 0x14009c42e
lea edi, [r15 + 0x38]
movzx eax, byte [r9]
cmp r11d, 4
jge 0x14009c412
lea ecx, [rdi - 0x20]
shl eax, cl
or r13d, eax
jmp 0x14009c419
mov ecx, edi
shl eax, cl
or r12d, eax
inc r9
mov ecx, 1
add r11d, ecx
sub edi, 8
cmp r11d, r8d
jl 0x14009c3fe
jmp 0x14009c433
mov ecx, 1
mov ebx, r13d
xor ebx, 0x92f65a5
mov dword [rbp - 0x50], ebx
mov edi, r12d
xor edi, 0x699a899c
mov dword [rbp - 0x64], edi
mov eax, r15d
test r8d, r8d
je 0x14009c476
cmp eax, 4
jge 0x14009c460
rol ebx, 8
mov byte [r10], bl
jmp 0x14009c466
rol edi, 8
mov byte [r10], dil
inc r10
add eax, ecx
cmp eax, r8d
jl 0x14009c453
mov ebx, dword [rbp - 0x50]
mov edi, dword [rbp - 0x64]
cmp r8d, 4
jbe 0x14009c490
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp - 0x64], edi
jmp 0x14009c4bb
mov edi, r15d
mov dword [rbp - 0x64], r15d
jae 0x14009c4bb
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr ebx, cl
shl ebx, cl
jmp 0x14009c4b8
mov r13d, r12d
or r12d, 0xffffffff
xor ebx, ebx
mov edi, ebx
mov dword [rbp - 0x64], ebx
mov dword [rbp - 0x50], ebx
mov r15, rsi
shr r15, 3
test r15, r15
je 0x14009c80f
mov edx, dword [rbp + 0x944]
movzx eax, dx
mov dword [rbp - 0x80], eax
lea r14, [r10 + 7]
lea rsi, [r9 + 2]
movzx r11d, byte [rsi - 2]
shl r11d, 8
movzx eax, byte [rsi - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rsi]
or r11d, eax
shl r11d, 8
movzx eax, byte [rsi + 1]
or r11d, eax
movzx r10d, byte [rsi + 2]
shl r10d, 8
movzx eax, byte [rsi + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 5]
or r10d, eax
xor ebx, r11d
lea rsi, [rsi + 8]
mov r8d, edx
xor r8d, r10d
xor r8d, edi
xor r8d, ebx
xor r8d, 0xab69605e
lea ecx, [r8 + 0x54969fa2]
rol ecx, 5
mov edi, r8d
rol edi, 0xa
mov r9d, dword [rbp - 0x80]
mov eax, r9d
imul eax, ecx
add edi, eax
xor ebx, edi
lea edi, [rdx + rbx]
ror edi, 9
mov ecx, ebx
rol ecx, 2
movzx eax, word [rbp + 0x942]
imul eax, edi
sub eax, ecx
xor r8d, eax
mov eax, r8d
sub eax, r9d
imul ecx, eax, 0x605e
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor ebx, ecx
movzx edi, word [rbp + 0x942]
xor edi, ebx
rol edi, 6
mov ecx, ebx
rol ecx, 2
movzx eax, word [rbp + 0x946]
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, r8d
xor ecx, 0xab69605e
mov eax, edx
sub eax, ecx
xor ebx, eax
mov ecx, ebx
ror ecx, 6
mov eax, r9d
xor eax, ebx
movzx edi, word [rbp + 0x942]
imul eax, edi
xor ecx, eax
xor r8d, ecx
lea eax, [rdx + r8]
ror eax, 0xf
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor ebx, ecx
lea edi, [rbx + 0x54969fa2]
ror edi, 0xe
mov ecx, ebx
rol ecx, 8
movzx eax, word [rbp + 0x946]
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, r8d
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, r8d
ror eax, 0xa
imul ecx, r9d
xor eax, ecx
xor ebx, eax
movzx edi, word [rbp + 0x946]
mov ecx, edi
xor ecx, ebx
movzx eax, word [rbp + 0x942]
imul ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor r8d, ecx
mov eax, r8d
not eax
ror eax, 5
add eax, 0x605e
imul eax, edi
xor ebx, eax
mov r9d, ebx
sub r9d, edi
xor r9d, r8d
xor r9d, 0xab69605e
mov ecx, edi
xor ecx, r9d
rol ecx, 2
imul ecx, dword [rbp - 0x80]
mov eax, r9d
shr eax, 2
add ecx, eax
xor ebx, ecx
mov edi, ebx
sub edi, edx
ror edi, 6
mov ecx, ebx
rol ecx, 7
movzx eax, word [rbp + 0x942]
imul eax, edi
add ecx, eax
xor r9d, ecx
mov edi, r9d
ror edi, 9
mov eax, r9d
xor eax, dword [rbp - 0x80]
imul ecx, eax, 0x605e
add edi, ecx
xor ebx, edi
movzx edi, word [rbp + 0x942]
xor edi, ebx
rol edi, 5
mov ecx, ebx
rol ecx, 7
movzx eax, word [rbp + 0x946]
imul eax, edi
add ecx, eax
xor r9d, ecx
mov r8d, edx
xor r8d, r9d
xor r8d, ebx
xor r8d, 0xab69605e
mov eax, r8d
ror eax, 3
movzx edi, word [rbp + 0x942]
sub eax, edi
imul eax, dword [rbp - 0x80]
xor r9d, eax
mov eax, r9d
sub eax, edx
ror eax, 1
mov ecx, r9d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x54969fa2]
rol ecx, 3
mov edi, r8d
rol edi, 0xe
movzx eax, word [rbp + 0x946]
imul eax, ecx
add edi, eax
xor r9d, edi
lea ecx, [r9 - 0x54969fa2]
rol ecx, 0xf
mov eax, r9d
ror eax, 0xe
imul ecx, dword [rbp - 0x80]
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, 0x605e
movzx eax, word [rbp + 0x942]
imul ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, edx
rol eax, 4
mov ecx, r9d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r13d
xor r8d, ecx
mov dword [rbp - 0x50], r8d
xor r9d, r12d
mov dword [rbp - 0x64], r9d
mov byte [r14 - 4], r8b
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x64]
mov byte [r14], al
ror dword [rbp - 0x64], 8
mov al, byte [rbp - 0x50]
mov byte [r14 - 5], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x64]
mov byte [r14 - 1], al
ror dword [rbp - 0x64], 8
mov al, byte [rbp - 0x50]
mov byte [r14 - 6], al
ror dword [rbp - 0x50], 8
mov al, byte [rbp - 0x64]
mov byte [r14 - 2], al
ror dword [rbp - 0x64], 8
mov al, byte [rbp - 0x50]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x64]
mov byte [r14 - 3], al
mov ebx, dword [rbp - 0x50]
ror ebx, 8
mov dword [rbp - 0x50], ebx
mov edi, dword [rbp - 0x64]
ror edi, 8
mov dword [rbp - 0x64], edi
mov r13d, r11d
mov r12d, r10d
lea r14, [r14 + 8]
mov ecx, 1
sub r15, rcx
jne 0x14009c4df
mov dl, byte [rsp + 0x64]
mov rsi, qword [rbp + 0x60]
mov r14, qword [rbp - 0x48]
jmp 0x14009c814
mov ecx, 1
xor r12d, r12d
mov eax, r12d
test rsi, rsi
je 0x14009c82b
xor dl, byte [rax + r14]
add rax, rcx
cmp rax, rsi
jb 0x14009c81f
movzx eax, dl
mov rcx, qword [rbp + 0x50]
cmp rax, qword [rsi + rcx]
je 0x14009c846
mov ebx, 0xc004d501
mov rdi, qword [rbp + 0x110]
jmp 0x14009c85d
mov rdi, r14
mov qword [rbp + 0x110], r14
mov r14, r12
mov qword [rbp + 0x2a8], rsi
mov ebx, dword [rbp - 0x30]
test r14, r14
je 0x14009c87d
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 + 0x110]
test ebx, ebx
js 0x14009c8ac
mov rsi, rdi
mov qword [rbp - 8], rdi
mov rdi, r12
mov qword [rbp + 0x110], r12
mov ecx, dword [rbp + 0x2a8]
mov dword [rbp + 0xcc], ecx
mov ebx, 0x10000000
jmp 0x14009c8bb
mov rdi, qword [rbp + 0x110]
mov ebx, 0xd0000001
mov ecx, dword [rbp + 0xcc]
mov rsi, qword [rbp - 8]
mov dword [rsp + 0x60], ebx
test rdi, rdi
je 0x14009c8e5
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 + 0x110], r12
mov ecx, dword [rbp + 0xcc]
test ebx, ebx
js 0x14009ca3d
cmp ecx, 4
jae 0x14009c8fc
mov ebx, 0xc000003e
jmp 0x14009ca35
mov r12d, dword [rsi]
lea rdx, [rsi + 4]
cmp rdx, rsi
jb 0x14009ca30
lea eax, [rcx - 4]
cmp eax, 4
jb 0x14009c8f2
mov ebx, dword [rdx]
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14009ca30
lea eax, [rcx - 8]
cmp eax, ebx
jb 0x14009c8f2
lea eax, [rbx + 8]
cmp eax, 8
jb 0x14009ca30
lea rdx, [rdi + rbx]
mov r8d, ecx
lea rax, [rsi + r8]
cmp rax, rdx
jb 0x14009c8f2
mov rax, rsi
sub rax, rdi
sub rax, rbx
add rax, r8
cmp rax, 8
jae 0x14009c8f2
xor r13d, r13d
mov esi, r13d
mov r15d, r13d
test rdi, rdi
je 0x14009c9ca
mov rcx, rdi
cmp rdx, rdi
jb 0x14009ca30
jbe 0x14009c9c5
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x14009ca30
cmp rax, rdx
ja 0x14009c9b7
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x14009c9be
mov dword [rbp + 0x354], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x14009ca30
mov rcx, r8
cmp r8, rdx
ja 0x14009c9b7
inc r15d
cmp rcx, rdx
jae 0x14009c9c8
jmp 0x14009c974
mov ebx, 0xc000000d
jmp 0x14009ca35
mov ebx, 0xc0000095
jmp 0x14009ca1e
cmp rcx, rdx
jne 0x14009c9b7
test ebx, ebx
je 0x14009c9f4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x14009c9f4
mov ebx, 0xc0000017
jmp 0x14009ca1e
test rdi, rdi
je 0x14009ca07
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xa8], rsi
mov dword [rbp + 0xa4], ebx
mov dword [rbp + 0xa0], r15d
mov ebx, r13d
test ebx, ebx
js 0x14009ca35
cmp r12d, dword [rbp + 0xa0]
je 0x14009ca35
jmp 0x14009c8f2
mov ebx, 0xc0000095
bts ebx, 0x1c
mov dword [rsp + 0x60], ebx
mov rdi, qword [rbp - 0x10]
xor r15d, r15d
test rdi, rdi
je 0x14009ca5d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp + 0x168]
test rsi, rsi
je 0x14009cae7
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x14009ca8a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r15
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x14009caab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r15
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x14009cacc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x168], r15
mov rdi, qword [rbp + 0x68]
test rdi, rdi
je 0x14009cb04
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 + 0x30]
test rdi, rdi
je 0x14009cb21
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x78]
test rsi, rsi
je 0x14009cba2
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x14009cb4c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r15
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x14009cb6d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r15
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x14009cb8e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x14009cbbf
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 0x14009cf42
mov r8d, 1
cmp dword [rbp + 0xa0], r8d
jae 0x14009cbe5
mov ebx, 0xc004d501
mov rsi, qword [rsp + 0x68]
jmp 0x14009ac01
cmp qword [rbp + 0xa8], r15
jne 0x14009cbfb
mov ebx, 0xc000000d
mov r10d, 0xc0000095
jmp 0x14009cc58
cmp dword [rbp + 0xa0], r15d
jbe 0x14009cbee
mov rdi, qword [rbp + 0xa8]
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14009cc4f
mov dword [rbp + 0x350], ecx
mov rax, r15
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x490], rax
mov ebx, r15d
mov dword [rsp + 0x60], ebx
cmp ecx, 4
je 0x14009cc3f
mov ebx, 0xc0000023
jmp 0x14009cbdb
mov eax, dword [rax]
mov dword [rbp + 0xbc], eax
mov r10d, 0xc0000095
jmp 0x14009cc5c
mov r10d, 0xc0000095
mov ebx, r10d
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009cf42
mov ebx, dword [rbp + 0xbc]
cmp ebx, 0xd0000023
mov r11d, 0x8007007a
cmove ebx, r11d
mov dword [rsp + 0x60], ebx
mov dword [rbp + 0xbc], ebx
cmp ebx, r11d
je 0x14009cc91
test ebx, ebx
js 0x14009cf42
cmp dword [rbp + 0xa0], 6
jne 0x14009cbd6
cmp qword [rbp + 0xa8], r15
jne 0x14009ccae
mov ebx, 0xc000000d
jmp 0x14009cd13
mov rax, qword [rbp + 0xa8]
mov edx, r15d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009cd10
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14009cd10
add edx, r8d
cmp edx, r8d
jb 0x14009ccb8
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14009cd10
mov dword [rbp + 0x3dc], ecx
mov rax, r15
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4c0], rax
mov ebx, r15d
mov dword [rsp + 0x60], ebx
cmp ecx, 8
jne 0x14009cc38
mov rax, qword [rax]
mov qword [rbp + 0x3b0], rax
jmp 0x14009cd17
mov ebx, r10d
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009cf42
cmp qword [rbp + 0xa8], r15
jne 0x14009cd2f
mov ebx, 0xc000000d
jmp 0x14009cd92
mov rax, qword [rbp + 0xa8]
mov edx, r15d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009cd8f
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14009cd8f
add edx, r8d
cmp edx, 2
jb 0x14009cd39
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14009cd8f
mov dword [rbp + 0x3d8], ecx
mov rax, r15
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4b8], rax
mov ebx, r15d
mov dword [rsp + 0x60], ebx
cmp ecx, 4
jne 0x14009cc38
mov eax, dword [rax]
mov dword [rbp + 0x214], eax
jmp 0x14009cd96
mov ebx, r10d
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009cf42
cmp qword [rbp + 0xa8], r15
jne 0x14009cdb1
mov ebx, 0xc000000d
jmp 0x14009cbdb
mov rax, qword [rbp + 0xa8]
mov edx, r15d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009cf3a
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14009cf3a
add edx, r8d
cmp edx, 3
jb 0x14009cdbb
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009cf3a
mov dword [rbp + 0x330], edi
mov r9, r15
test edi, edi
cmovne r9, rcx
mov qword [rbp + 0x4a0], r9
mov rax, qword [rbp + 0xa8]
mov edx, r15d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009ce63
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14009ce63
add edx, r8d
cmp edx, 4
jb 0x14009ce0d
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14009ce63
mov dword [rbp + 0x32c], ecx
mov rax, r15
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4c8], rax
mov ebx, r15d
mov dword [rsp + 0x60], ebx
cmp ecx, 4
jne 0x14009cc38
mov eax, dword [rax]
mov dword [rbp + 0x220], eax
jmp 0x14009ce6a
mov ebx, r10d
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009cf42
mov rax, qword [rbp + 0xa8]
mov edx, r15d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14009ced2
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14009ced2
add edx, r8d
cmp edx, 5
jb 0x14009ce7c
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x14009ced2
mov dword [rbp + 0xc8], ecx
mov rax, r15
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4d0], rax
mov ebx, r15d
mov dword [rsp + 0x60], ebx
cmp ecx, 4
jne 0x14009cc38
mov eax, dword [rax]
mov dword [rbp + 0x140], eax
jmp 0x14009ced9
mov ebx, r10d
mov dword [rsp + 0x60], ebx
test ebx, ebx
js 0x14009cf42
mov rax, qword [rbp + 0x3b0]
cmp qword [rbp + 0x1d0], rax
jne 0x14009cbd6
mov ecx, dword [rbp + 0x220]
mov dword [rbp + 0xf4], ecx
mov eax, dword [rbp + 0x140]
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x214]
mov dword [rbp + 0x14c], eax
cmp ecx, 4
jbe 0x14009cf1f
mov ebx, r11d
jmp 0x14009cbdb
cmp edi, 4
ja 0x14009cf17
mov r8, rdi
mov rdx, r9
mov rcx, qword [rbp + 0x40]
call sub.msvcrt.dll_memcpy
mov r14, qword [rsp + 0x70]
jmp 0x14009cf90
mov ebx, r10d
jmp 0x14009cbdb
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
jmp 0x14009ad7c
mov rsi, r12
jmp 0x14009cf47
or qword [rbp + 0x170], 0xffffffffffffffff
mov ebx, 0xc0000095
jmp 0x14009abfe
mov rsi, r12
mov r14, qword [rsp + 0x70]
xor r15d, r15d
jmp 0x14009ad7c
mov ebx, r10d
mov r14, rdi
jmp 0x14009ad72
mov r14, qword [rsp + 0x70]
jmp 0x14009cf8d
mov r14, rdi
xor r15d, r15d
mov rsi, qword [rsp + 0x68]
test ebx, ebx
js 0x14009ad7c
mov eax, dword [rbp + 0xbc]
test eax, eax
cmovne ebx, eax
jmp 0x14009ad78
mov rax, qword [0x1400f30b8]
call qword [str.__f_]
mov qword [0x1400f8cc0], rax
mov edi, dword [0x1400f6fe8]
mov dword [rbp - 0x38], edi
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x4e0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x958], rax
mov qword [rbp + 0x960], rax
lea r13d, [rax + 1]
mov dword [rbp + 0x150], r13d
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x60], r15
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xab0]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xb0], r15
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r13d
jne 0x14009d018
mov eax, dword [0x1400f8cc8]
test eax, eax
jne 0x14009d60b
mov dword [rbp - 0x80], r15d
mov dword [rbp - 0x30], r15d
mov dword [rbp + 0x40], r15d
mov qword [rbp + 0x190], r15
mov qword [rbp + 0x2b0], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14009d589
mov byte [rsp + 0x64], r15b
mov r14d, r15d
or ecx, 0xffffffff
mov r13d, r15d
mov dword [rbp - 0x1c], r15d
mov dword [rbp + 0x2c], r15d
lea r12, [rax + 7]
lea rbx, [0x1400dbce2]
mov edi, 0x67
lea esi, [rdi - 0x66]
movzx r11d, byte [rbx - 2]
shl r11d, 8
movzx eax, byte [rbx - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rbx]
or r11d, eax
shl r11d, 8
movzx eax, byte [rbx + 1]
or r11d, eax
movzx r10d, byte [rbx + 2]
shl r10d, 8
movzx eax, byte [rbx + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 5]
or r10d, eax
xor r15d, r11d
xor r13d, r10d
lea rbx, [rbx + 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
mov eax, r13d
shr eax, 0xd
imul edx, r13d, 0x605e
sub edx, eax
sub edx, 0x756c8a2
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
mov r9d, 0xab69605e
xor edx, r9d
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
xor eax, r9d
ror eax, 0xc
mov edx, r13d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r15d, edx
mov eax, r15d
mov r8d, 0x7f1
xor eax, r8d
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, 0xab69605e
mov eax, r9d
xor eax, r8d
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
xor eax, 0xab69
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
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r9d, edx
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, r14d
xor r8d, edx
mov dword [rbp + 0x2c], r8d
xor r9d, ecx
mov dword [rbp - 0x1c], r9d
mov byte [r12 - 4], r8b
ror dword [rbp + 0x2c], 8
mov al, byte [rbp - 0x1c]
mov byte [r12], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp + 0x2c]
mov byte [r12 - 5], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp - 0x1c]
mov byte [r12 - 1], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp + 0x2c]
mov byte [r12 - 6], al
ror dword [rbp + 0x2c], 8
mov al, byte [rbp - 0x1c]
mov byte [r12 - 2], al
ror dword [rbp - 0x1c], 8
mov al, byte [rbp + 0x2c]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x1c]
mov byte [r12 - 3], al
mov r15d, dword [rbp + 0x2c]
ror r15d, 8
mov dword [rbp + 0x2c], r15d
mov r13d, dword [rbp - 0x1c]
ror r13d, 8
mov dword [rbp - 0x1c], r13d
mov r14d, r11d
mov ecx, r10d
lea r12, [r12 + 8]
sub rdi, rsi
jne 0x14009d09a
xor r12d, r12d
mov eax, r12d
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x38]
mov ebx, dword [rsp + 0x60]
mov r14d, dword [rbp - 0x30]
mov rsi, qword [rbp - 0x48]
mov edx, 0x338
lea r13d, [r12 + 1]
xor cl, byte [rax + rsi]
add rax, r13
cmp rax, rdx
jb 0x14009d3ec
movzx eax, cl
cmp rax, qword [0x1400dc018]
je 0x14009d40b
mov r15d, 0xc004d501
jmp 0x14009d41f
mov qword [rbp + 0x190], rsi
mov rsi, r12
mov qword [rbp + 0x2b0], rdx
mov r15d, r14d
test rsi, rsi
je 0x14009d438
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x14009d586
mov rsi, qword [rbp + 0x190]
mov rax, qword [rbp + 0x2b0]
mov byte [rax + rsi - 1], r12b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r15, [0x1400f76c0]
mov rcx, r15
call sub.msvcrt.dll_memset
jmp 0x14009d570
mov rdx, rsi
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], r12w
jne 0x14009d475
lea rsi, [rsi + 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]
test eax, eax
je 0x14009d586
mov r14d, r12d
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14009d4b9
mov r14d, 0xc000007b
jmp 0x14009d505
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14009d4b1
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x14009d4b1
cmp dword [rcx], 0x4550
jne 0x14009d4b1
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14009d4f3
mov r14d, 0xc000000d
jmp 0x14009d505
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov r13d, dword [rsi + 2]
add rsi, 6
xor ecx, ecx
test r13d, r13d
je 0x14009d55c
mov rdx, rsi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], cl
jne 0x14009d51b
inc rsi
add rsi, rax
test r14d, r14d
js 0x14009d54c
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14009d57b
mov ecx, dword [rbp - 0x80]
lea rdx, [0x1400f3020]
mov qword [rdx + rcx*8], rax
xor ecx, ecx
mov eax, 1
add dword [rbp - 0x80], eax
add r12d, eax
cmp r12d, r13d
jb 0x14009d514
mov r13d, 1
add dword [rbp + 0x40], r13d
xor r12d, r12d
lea r15, [0x1400f76c0]
cmp byte [rsi], r12b
jne 0x14009d46e
jmp 0x14009d581
mov r13d, 1
xor r15d, r15d
jmp 0x14009d58f
xor r15d, r15d
mov r14d, 0xc000007a
cmp qword [rbp + 0x190], r15
je 0x14009d5b0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x190]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
jns 0x14009d605
lea r12, [0x1400f76c0]
mov rsi, r12
mov r14d, 4
mov rcx, qword [rsi]
test rcx, rcx
je 0x14009d5d3
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rsi, 0x18
sub r14, r13
jne 0x14009d5c5
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
jmp 0x14009d614
mov eax, dword [0x1400f8cc8]
add eax, r13d
mov dword [0x1400f8cc8], eax
mov eax, r15d
xchg dword [0x1400f8ccc], eax
xor ecx, ecx
mov dword [rbp + 0xe60], ecx
mov word [rbp + 0xe64], cx
mov dword [rsp + 0x78], r15d
mov dword [rbp + 0x38], r15d
mov qword [rbp + 0x1c0], r15
xor eax, eax
mov qword [rbp + 0x260], rax
mov qword [rbp + 0x268], rax
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x9a0], rax
mov qword [rbp + 0x9a8], rax
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r13d
jne 0x14009d661
mov eax, dword [0x1400f8cc8]
test eax, eax
jne 0x14009dc49
mov dword [rbp - 0x80], r15d
mov dword [rbp - 0x30], r15d
mov dword [rbp + 0x40], r15d
mov qword [rbp + 0x178], r15
mov qword [rbp + 0x2b8], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
je 0x14009dbbe
mov byte [rsp + 0x64], r15b
mov r14d, r15d
or r12d, 0xffffffff
mov edx, r15d
mov dword [rbp - 0x20], edx
mov dword [rbp + 0x18], r15d
lea r13, [rax + 7]
lea rbx, [0x1400dbce2]
mov edi, 0x67
lea ecx, [rdi - 0x66]
movzx r11d, byte [rbx - 2]
shl r11d, 8
movzx eax, byte [rbx - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [rbx]
or r11d, eax
shl r11d, 8
movzx eax, byte [rbx + 1]
or r11d, eax
movzx r10d, byte [rbx + 2]
shl r10d, 8
movzx eax, byte [rbx + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 5]
or r10d, eax
xor r15d, r11d
lea rbx, [rbx + 8]
mov r9d, r15d
xor r9d, r10d
xor r9d, edx
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
mov edx, r9d
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 r9d, eax
imul edx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
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 r9d, eax
mov edx, r9d
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 r9d, r8d
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
mov edx, r9d
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 r9d, eax
mov eax, r9d
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r9d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r15d, edx
mov eax, r15d
mov r8d, 0x7f1
xor eax, r8d
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 0xa
xor edx, eax
xor edx, r9d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r15d, eax
lea r9d, [r15 - 0x7f1]
xor r9d, edx
xor r9d, 0xab69605e
mov eax, r9d
xor eax, r8d
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
xor eax, 0xab69
rol eax, 5
mov edx, r15d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r9d, edx
xor r15d, r9d
xor r15d, 0xac987321
mov eax, r15d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r9d, edx
lea eax, [r9 - 0x7f1137f]
ror eax, 1
mov edx, r9d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r15d, eax
lea eax, [r15 - 0x54969fa2]
rol eax, 3
mov edx, r15d
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 r15d, eax
mov eax, r15d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r15d
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, r14d
xor r15d, edx
mov dword [rbp + 0x18], r15d
xor r9d, r12d
mov dword [rbp - 0x20], r9d
mov byte [r13 - 4], r15b
ror dword [rbp + 0x18], 8
mov al, byte [rbp - 0x20]
mov byte [r13], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp + 0x18]
mov byte [r13 - 5], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp - 0x20]
mov byte [r13 - 1], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp + 0x18]
mov byte [r13 - 6], al
ror dword [rbp + 0x18], 8
mov al, byte [rbp - 0x20]
mov byte [r13 - 2], al
ror dword [rbp - 0x20], 8
mov al, byte [rbp + 0x18]
mov byte [r13 - 7], al
mov al, byte [rbp - 0x20]
mov byte [r13 - 3], al
mov r15d, dword [rbp + 0x18]
ror r15d, 8
mov dword [rbp + 0x18], r15d
mov edx, dword [rbp - 0x20]
ror edx, 8
mov dword [rbp - 0x20], edx
mov r14d, r11d
mov r12d, r10d
lea r13, [r13 + 8]
sub rdi, rcx
jne 0x14009d6e2
xor r15d, r15d
mov eax, r15d
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x38]
mov ebx, dword [rsp + 0x60]
mov r14d, dword [rbp - 0x30]
mov r12d, r14d
mov edx, 0x338
lea r13d, [r15 + 1]
xor cl, byte [rax + rsi]
add rax, r13
cmp rax, rdx
jb 0x14009da25
movzx eax, cl
cmp rax, qword [0x1400dc018]
je 0x14009da44
mov r12d, 0xc004d501
jmp 0x14009da55
mov qword [rbp + 0x178], rsi
mov rsi, r15
mov qword [rbp + 0x2b8], rdx
test rsi, rsi
je 0x14009da6e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x14009dbbe
mov rsi, qword [rbp + 0x178]
mov rax, qword [rbp + 0x2b8]
mov byte [rax + rsi - 1], r15b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r12, [0x1400f76c0]
mov rcx, r12
call sub.msvcrt.dll_memset
jmp 0x14009dbb0
mov rdx, rsi
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], r15w
jne 0x14009daab
lea rsi, [rsi + rax*2]
mov eax, dword [rbp + 0x40]
lea rcx, [rax + rax*2]
lea r15, [r12 + rcx*8]
mov r8, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
xor r8d, r8d
test eax, eax
je 0x14009dbbb
mov r14d, r8d
mov rax, qword [r15]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x14009daf2
mov r14d, 0xc000007b
jmp 0x14009db3e
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14009daea
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x14009daea
cmp dword [rcx], 0x4550
jne 0x14009daea
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14009db2c
mov r14d, 0xc000000d
jmp 0x14009db3e
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov r13d, dword [rsi + 2]
add rsi, 6
mov r12d, r8d
test r13d, r13d
je 0x14009db9c
mov rdx, rsi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], r8b
jne 0x14009db55
inc rsi
add rsi, rax
test r14d, r14d
js 0x14009db8c
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
test rax, rax
je 0x14009dc3a
mov ecx, dword [rbp - 0x80]
lea rdx, [0x1400f3020]
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp - 0x80], eax
add r12d, eax
cmp r12d, r13d
jb 0x14009db4e
mov r13d, 1
add dword [rbp + 0x40], r13d
xor r15d, r15d
lea r12, [0x1400f76c0]
cmp byte [rsi], r15b
jne 0x14009daa4
jmp 0x14009dbc4
xor r15d, r15d
mov r14d, 0xc000007a
cmp qword [rbp + 0x178], r15
je 0x14009dbe5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x178]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
jns 0x14009dc43
lea r12, [0x1400f76c0]
mov rsi, r12
mov r14d, 4
mov rcx, qword [rsi]
test rcx, rcx
je 0x14009dc08
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rsi, 0x18
sub r14, r13
jne 0x14009dbfa
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, r12
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
jmp 0x14009dc52
xor r15d, r15d
lea r13d, [r15 + 1]
jmp 0x14009dbc4
mov eax, dword [0x1400f8cc8]
add eax, r13d
mov dword [0x1400f8cc8], eax
mov eax, r15d
xchg dword [0x1400f8ccc], eax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x4e0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x958], rax
mov r13d, edi
lea ecx, [rax + 0xf]
and r13d, ecx
mov dword [rbp - 0x58], r13d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0xe60], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0xe62], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0xe64], di
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov qword [rsp + 0x70], rax
mov dword [rbp + 0x84], 0xffffff
test rax, rax
jne 0x14009dcff
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009f1aa
mov esi, 0x80004005
jmp 0x14009f1aa
mov qword [rbp + 0x1c8], r15
mov qword [rbp + 0x180], r15
mov qword [rbp + 0x2c0], r15
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x118], r15
mov qword [rbp + 0xd8], r15
mov esi, r15d
mov dword [rbp + 0xd0], r15d
lea r9, [rbp + 0xd0]
xor r8d, r8d
lea rdx, [rbp + 0x90]
lea ecx, [r8 + 8]
mov rax, qword [0x1400f30c0]
call qword [str.__f_]
test eax, eax
jne 0x14009dd7f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009ded5
mov esi, 0x80004005
jmp 0x14009ded5
mov edi, dword [rbp + 0xd0]
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 + 0x118]
call fcn.1400c0594
test rdi, rdi
jne 0x14009ddbc
mov qword [rbp + 0x118], r15
mov rdi, r15
jmp 0x14009ddc3
mov qword [rbp + 0x118], rdi
test rdi, rdi
jne 0x14009ddd2
mov esi, 0x8007000e
jmp 0x14009ded5
mov edi, dword [rbp + 0x90]
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 + 0xd8]
call fcn.1400c0594
test rdi, rdi
jne 0x14009de12
mov qword [rbp + 0xd8], r15
mov rdi, r15
jmp 0x14009de19
mov qword [rbp + 0xd8], rdi
test rdi, rdi
je 0x14009ddc8
lea r9, [rbp + 0xd0]
mov r8, qword [rbp + 0x118]
lea rdx, [rbp + 0x90]
mov ecx, 8
mov rax, qword [0x1400f30c0]
call qword [str.__f_]
test eax, eax
je 0x14009dd59
mov rdi, qword [rbp + 0x118]
mov r14, qword [rbp + 0xd8]
xor r12d, r12d
cmp dword [rbp + 0x90], r12d
jbe 0x14009deab
lea ebx, [r12 + 1]
xor edx, edx
mov rcx, rdi
mov rax, qword [0x1400f30d0]
call qword [str.__f_]
mov dword [r14], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r12w
jne 0x14009de85
lea rdi, [rdi + rax*2]
add rdi, 2
add r14, 4
add r15d, ebx
cmp r15d, dword [rbp + 0x90]
jb 0x14009de6c
mov ebx, dword [rsp + 0x60]
mov dword [r14], 0x409
mov rax, qword [rbp + 0xd8]
xor r15d, r15d
mov qword [rbp + 0xd8], r15
mov qword [rbp + 0x1c8], rax
mov eax, dword [rbp + 0x90]
inc eax
mov dword [rbp - 0x38], eax
lea rcx, [rbp + 0xd8]
call fcn.1400c0594
lea rcx, [rbp + 0x118]
call fcn.1400c0594
test esi, esi
js 0x14009e682
mov r10d, r15d
mov dword [rbp - 0x80], r15d
mov r9d, r15d
lea r11, [0x1400dbbb0]
cmp dword [rbp - 0x38], r15d
jbe 0x14009df49
mov r8, r15
mov rax, qword [rbp + 0x1c8]
mov edx, r15d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [r8 + rax], ecx
je 0x14009df43
mov ecx, 1
add edx, ecx
add rdi, 4
cmp edx, 0x26
jb 0x14009df1c
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x38]
jae 0x14009df49
jmp 0x14009df16
mov r10d, edx
mov dword [rbp - 0x80], edx
mov edi, r10d
mov dword [rbp + 0x40], r15d
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0xe70]
mov ecx, dword [r11 + rdi*4]
mov rax, qword [0x1400f30c8]
call qword [str.__f_]
test eax, eax
je 0x14009dfb3
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0xc50]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0xe70]
mov rax, qword [0x1400f30b0]
call qword [str.__f_]
mov r12d, 1
test eax, eax
jle 0x14009dfb9
mov esi, dword [rbp + 0xc5c]
shr esi, 0x1b
and esi, r12d
mov dword [rbp + 0x40], esi
jmp 0x14009dfb9
mov r12d, 1
lea rcx, str.Segoe_UI_Light
lea rdx, [rbp + 0xdc0]
mov r8d, SafeArrayAccessData
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r15w
jne 0x14009dfd4
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub r8, r12
jne 0x14009dfcd
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xdbc50]
mov r15, qword [rbp + rax*8 + 0xdc0]
mov qword [rsp + 0x68], r15
mov qword [rbp + 0x260], r15
movzx eax, byte [rcx + rdx + 0xdbc51]
mov r15, qword [rbp + rax*8 + 0xdc0]
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x268], r15
movzx eax, byte [rcx + rdx + 0xdbc52]
mov rdi, qword [rbp + rax*8 + 0xdc0]
mov qword [rbp - 0x10], rdi
mov qword [rbp + 0x270], rdi
xor r15d, r15d
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 - 0x48], rax
test rax, rax
jne 0x14009e079
mov esi, 0x8007000e
jmp 0x14009e6aa
mov ebx, r15d
or dword [rbp - 0x30], 0xffffffff
mov r11d, r15d
mov dword [rbp - 0x24], r15d
mov r10d, r15d
mov dword [rbp + 0x28], r15d
lea r15, [rax + 7]
lea r12, [0x1400d9f12]
mov r13d, 0x392
mov r14d, dword [rbp - 0x30]
mov esi, 1
movzx r9d, byte [r12 - 2]
shl r9d, 8
movzx eax, byte [r12 - 1]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12]
or r9d, eax
shl r9d, 8
movzx eax, byte [r12 + 1]
or r9d, eax
movzx r8d, byte [r12 + 2]
shl r8d, 8
movzx eax, byte [r12 + 3]
or r8d, eax
shl r8d, 8
movzx eax, byte [r12 + 4]
or r8d, eax
shl r8d, 8
movzx eax, byte [r12 + 5]
or r8d, eax
xor r10d, r9d
xor r11d, r8d
lea r12, [r12 + 8]
xor r11d, r10d
xor r11d, 0xac987321
lea eax, [r11 + 0x54969fa2]
rol eax, 5
mov ecx, r11d
rol ecx, 0xa
imul eax, eax, 0x137f
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0xab69
sub eax, ecx
xor r11d, eax
mov eax, r11d
shr eax, 0xd
imul ecx, r11d, 0x605e
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
mov ecx, r10d
rol ecx, 2
imul eax, eax, 0x7f1
sub eax, ecx
xor r11d, eax
mov ecx, r11d
mov edi, 0xab69605e
xor ecx, edi
mov eax, 0x7f1137f
sub eax, ecx
xor r10d, eax
mov edx, r10d
ror edx, 6
mov eax, r10d
xor eax, 0x137f
imul ecx, eax, 0xab69
xor edx, ecx
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 0xf
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
mov ecx, r10d
rol ecx, 8
imul eax, eax, 0x7f1
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, edi
ror eax, 0xc
mov ecx, r11d
ror ecx, 0xa
imul eax, eax, 0x137f
xor ecx, eax
xor r10d, ecx
mov eax, r10d
mov edx, 0x7f1
xor eax, edx
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea edi, [r10 - 0x7f1]
xor edi, r11d
xor edi, 0xab69605e
mov eax, edi
xor eax, edx
rol eax, 2
imul ecx, eax, 0x137f
mov eax, edi
shr eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x7f1137f]
ror eax, 6
mov ecx, r10d
rol ecx, 7
imul eax, eax, 0xab69
add ecx, eax
xor edi, ecx
mov edx, edi
ror edx, 9
mov eax, edi
xor eax, 0x137f
imul ecx, eax, 0x605e
add edx, ecx
xor r10d, edx
mov eax, r10d
xor eax, 0xab69
rol eax, 5
mov ecx, r10d
rol ecx, 7
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
mov edx, edi
xor edx, r10d
xor edx, 0xac987321
mov eax, edx
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor edi, ecx
lea eax, [rdi - 0x7f1137f]
ror eax, 1
mov ecx, edi
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor edx, eax
lea eax, [rdx - 0x54969fa2]
rol eax, 3
mov ecx, edx
rol ecx, 0xe
imul eax, eax, 0x7f1
add ecx, eax
xor edi, ecx
lea eax, [rdi - 0x54969fa2]
rol eax, 0xf
mov ecx, edi
ror ecx, 0xe
imul eax, eax, 0x137f
sub eax, ecx
xor edx, eax
mov eax, edx
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, edx
shr eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
mov ecx, edi
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, ebx
xor edx, ecx
mov dword [rbp + 0x28], edx
xor edi, r14d
mov dword [rbp - 0x24], edi
mov byte [r15 - 4], dl
ror dword [rbp + 0x28], 8
mov al, byte [rbp - 0x24]
mov byte [r15], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp + 0x28]
mov byte [r15 - 5], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 1], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp + 0x28]
mov byte [r15 - 6], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp - 0x24]
mov byte [r15 - 2], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp + 0x28]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x24]
mov byte [r15 - 3], al
mov r10d, dword [rbp + 0x28]
ror r10d, 8
mov dword [rbp + 0x28], r10d
mov r11d, dword [rbp - 0x24]
ror r11d, 8
mov dword [rbp - 0x24], r11d
mov ebx, r9d
mov r14d, r8d
lea r15, [r15 + 8]
sub r13, rsi
jne 0x14009e0a8
xor r15d, r15d
mov eax, r15d
xorps xmm1, xmm1
mov ebx, dword [rsp + 0x60]
mov esi, r15d
mov r14, qword [rbp - 0x48]
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r14]
pxor xmm0, xmm1
movdqa xmm1, xmm0
add rax, 0x10
cmp rax, rcx
jb 0x14009e3cf
psrldq xmm0, 8
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 2
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 1
pxor xmm1, xmm0
movd eax, xmm1
movzx eax, al
cmp rax, qword [0x1400dbba0]
je 0x14009e42d
mov esi, 0xc004d501
jmp 0x14009e43e
mov qword [rbp + 0x180], r14
mov r14, r15
mov qword [rbp + 0x2c0], rcx
test r14, r14
je 0x14009e457
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, 1
test esi, esi
js 0x14009e4f1
mov rdx, qword [rbp + 0x180]
lea rdi, [rbp + 0xd90]
lea r8d, [r12 + 5]
mov r9d, dword [rbp - 0x80]
mov ecx, r15d
cmp r9d, ecx
jne 0x14009e487
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r15b
jne 0x14009e48b
inc rdx
add rdx, rax
add ecx, r12d
cmp ecx, 0x26
jb 0x14009e47f
add rdi, 8
sub r8, r12
jne 0x14009e47c
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.1400c0594
test rdi, rdi
jne 0x14009e4e0
mov qword [rbp + 0x88], r15
mov rdi, r15
jmp 0x14009e4e7
mov qword [rbp + 0x88], rdi
test rdi, rdi
jne 0x14009e4fa
mov esi, 0x8007000e
mov r13d, dword [rbp - 0x58]
jmp 0x14009e6aa
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, r15d
mov dword [rbp - 0x38], edx
mov r14, r15
lea r13, [rbp + 0xe60]
mov eax, r15d
movzx edi, word [r13]
lea rcx, [0x1400dbcc8]
cmp di, word [rcx]
je 0x14009e53c
add eax, r12d
add rcx, 2
cmp eax, 6
jb 0x14009e526
jmp 0x14009e603
mov r15, qword [rbp + rax*8 + 0xd90]
or rax, 0xffffffffffffffff
xor edi, edi
inc rax
cmp byte [r15 + rax], dil
jne 0x14009e54a
lea r9d, [r12 + rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r8, r15
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1400f30e0]
call qword [str.__f_]
movsxd r12, eax
test eax, eax
je 0x14009e66e
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 [rcx + r14], rax
mov rcx, qword [rbp + 0x88]
xor edx, edx
cmp qword [rcx + r14], rdx
je 0x14009e660
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], dl
jne 0x14009e5be
mov r9d, 1
add r9d, eax
mov dword [rsp + 0x28], r12d
mov rdx, qword [rcx + r14]
mov qword [rsp + 0x20], rdx
mov r8, r15
xor edx, edx
mov ecx, 0xfde9
mov rax, qword [0x1400f30e0]
call qword [str.__f_]
xor r15d, r15d
test eax, eax
je 0x14009e63d
mov edx, dword [rbp - 0x38]
lea r12d, [r15 + 1]
add edx, r12d
mov dword [rbp - 0x38], edx
add r13, 2
add r14, 8
cmp edx, 3
jb 0x14009e517
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x1c0], rax
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x4e0], eax
jmp 0x14009e4f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009e65a
mov esi, 0x80004005
mov r13d, dword [rbp - 0x58]
jmp 0x14009e6a4
mov esi, 0x8007000e
mov r13d, dword [rbp - 0x58]
xor r15d, r15d
jmp 0x14009e6a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
xor r15d, r15d
jmp 0x14009e64c
mov rax, qword [rbp + 0x270]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x268]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x260]
mov qword [rsp + 0x68], rax
mov r12d, 1
cmp qword [rbp + 0x88], r15
je 0x14009e718
mov r14, r15
xor eax, eax
lea r15d, [rax + 3]
mov rcx, qword [rbp + 0x88]
cmp qword [rcx + r14], rax
je 0x14009e70f
test rcx, rcx
jne 0x14009e6d1
mov rcx, rax
mov rdi, qword [rcx + r14]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdi + rcx*2], ax
jne 0x14009e6d9
lea rcx, [rcx*2 + 2]
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]
xor eax, eax
add r14, 8
sub r15, r12
jne 0x14009e6bc
mov rdi, qword [rbp + 0x180]
test rdi, rdi
je 0x14009e72f
xor eax, eax
mov rcx, qword [rbp + 0x2c0]
rep stosb byte [rdi], al
lea rcx, [rbp + 0x88]
call fcn.1400c0594
lea rcx, [rbp + 0x180]
call fcn.1400c0594
lea rcx, [rbp + 0x1c8]
call fcn.1400c0594
test esi, esi
js 0x14009f196
mov rax, qword [rbp + 0x1c0]
mov rcx, qword [rax]
mov qword [rbp + 0x4e8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x4f0], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x4f8], rcx
xor eax, eax
mov qword [rbp + 0x300], rax
mov qword [rbp + 0x308], rax
mov edi, r15d
mov esi, r15d
mov dword [rbp + 0x300], reloc.OLEAUT32.dll_SafeArrayGetDim
xor r9d, r9d
lea r8, [rbp + 0x300]
xor edx, edx
lea ecx, [rax + 0x42]
mov rax, qword [0x1400f3188]
call qword [str.__f_]
test eax, eax
jne 0x14009e7e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009e7ea
mov esi, 0x80004005
jmp 0x14009e7ea
mov edi, dword [rbp + 0x304]
and edi, r12d
mov dword [rbp + 0x4e4], edi
test esi, esi
js 0x14009f196
mov ecx, r13d
mov eax, 0x2a
mov dword [rbp - 0x68], eax
sub ecx, 1
je 0x14009e82d
sub ecx, 1
je 0x14009e81e
cmp ecx, 1
jne 0x14009e832
mov r15d, 0xe1
mov dword [rbp + 0x38], r15d
jmp 0x14009e837
mov r15d, reloc.OLEAUT32.dll_SafeArrayDestroy
mov dword [rbp + 0x38], reloc.WSOCK32.dll_inet_ntoa
jmp 0x14009e837
mov r15d, eax
jmp 0x14009e824
mov r15d, dword [rsp + 0x78]
mov esi, 0x60
mov r12d, esi
lea edi, [rsi + 0x7c]
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xc70]
call sub.msvcrt.dll_memset
mov word [rbp + 0xcb4], di
lea r8, [rbp + 0xc70]
or edx, 0xffffffff
xor ecx, ecx
mov rax, qword [0x1400f3100]
call qword [str.__f_]
xor edi, edi
test eax, eax
je 0x14009e8a7
movzx r12d, word [rbp + 0xd16]
mov qword [rbp + 0x9a0], rdi
mov eax, dword [rbp + 0xd1c]
mov dword [rbp + 0x9a8], eax
mov eax, dword [rbp + 0xd20]
mov dword [rbp + 0x9ac], eax
cmp r12d, esi
cmovb r12d, esi
mov eax, 1
cmp r13d, eax
mov r14, qword [rbp - 0x10]
cmove r14, qword [rsp + 0x68]
xor edx, edx
lea r8d, [rax + 0x5b]
lea rcx, [rbp + 0xb30]
call sub.msvcrt.dll_memset
mov esi, edi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov rdi, rax
test rax, rax
jne 0x14009e915
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
mov r15d, 0x80070000
or esi, r15d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009f193
mov esi, 0x80004005
jmp 0x14009f193
mov r8d, 0x48
mov edx, r12d
mov ecx, r15d
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
neg eax
mov dword [rbp + 0xb30], eax
mov dword [rbp + 0xb40], 0x190
mov byte [rbp + 0xb4a], 5
mov r8, r14
mov edx, 0x20
lea rcx, [rbp + 0xb4c]
call fcn.14002ec04
lea rcx, [rbp + 0xb30]
mov rax, qword [0x1400f3040]
call qword [str.__f_]
test rax, rax
jne 0x14009e996
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
mov r15d, 0x80070000
or esi, r15d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009e9a3
mov esi, 0x80004005
jmp 0x14009e9a3
mov qword [rbp + 0x500], rax
mov r15d, 0x80070000
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
xor edi, edi
test esi, esi
js 0x14009f193
xor edx, edx
lea r8d, [rdi + 0x5c]
lea rcx, [rbp + 0xb90]
call sub.msvcrt.dll_memset
mov esi, edi
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov rdi, rax
test rax, rax
jne 0x14009ea18
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r15d
xor r15d, r15d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009f196
mov esi, 0x80004005
jmp 0x14009f196
mov r8d, 0x48
mov edx, r12d
mov ecx, dword [rbp + 0x38]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
neg eax
mov dword [rbp + 0xb90], eax
mov dword [rbp + 0xba0], 0x190
mov byte [rbp + 0xbaa], 5
mov r8, r14
mov edx, 0x20
lea rcx, [rbp + 0xbac]
call fcn.14002ec04
lea rcx, [rbp + 0xb90]
mov rax, qword [0x1400f3040]
call qword [str.__f_]
test rax, rax
jne 0x14009ea96
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r15d
xor r15d, r15d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009eaa0
mov esi, 0x80004005
jmp 0x14009eaa0
mov qword [rbp + 0x508], rax
xor r15d, r15d
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
test esi, esi
js 0x14009f196
mov r14d, r15d
mov edx, r15d
mov ecx, r13d
sub ecx, 1
je 0x14009ead2
sub ecx, 1
je 0x14009eb0b
cmp ecx, 1
jne 0x14009eadf
mov r14d, dword [rbp + 0x9a8]
mov edx, dword [rbp + 0x9ac]
mov dword [rbp + 0x960], r14d
mov dword [rbp + 0x964], edx
mov ecx, 1
cmp r13d, ecx
je 0x14009eb44
lea eax, [r13 - 2]
cmp eax, ecx
ja 0x14009eb22
mov r13d, r15d
xor edi, edi
mov dword [rbp - 0x68], edi
mov dword [rbp + 0x38], edi
jmp 0x14009eb51
mov eax, dword [rbp + 0x9a8]
cdq
and edx, 3
lea r14d, [rdx + rax]
sar r14d, 2
mov edx, r15d
jmp 0x14009eadf
mov eax, dword [rbp + 0xc8]
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0xc8]
mov dword [rbp - 0x68], eax
mov r15d, dword [rbp + 0xc8]
mov r13d, dword [rbp + 0xc8]
jmp 0x14009eb51
mov r13d, 0x96
mov dword [rbp + 0x38], 0x20
sub r14d, r13d
sub r14d, r15d
mov dword [rbp + 0x534], r14d
mov dword [rbp + 0x524], r14d
mov rdi, qword [rbp + 0x4e8]
xor eax, eax
mov esi, eax
mov rdx, qword [rbp + 0x500]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x51c]
or r8d, 0xffffffff
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
xor ecx, ecx
test eax, eax
mov eax, 0x80004005
cmove esi, eax
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x14009ebe9
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
xor ecx, ecx
test esi, esi
js 0x14009f18f
mov rdi, qword [rbp + 0x4f0]
mov esi, ecx
mov rdx, qword [rbp + 0x508]
mov rcx, qword [rsp + 0x70]
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x52c]
or r8d, 0xffffffff
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
xor edx, edx
test eax, eax
mov eax, 0x80004005
cmove esi, eax
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x14009ec73
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
xor edx, edx
test esi, esi
js 0x14009f18f
mov eax, dword [rbp - 0x58]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x524]
mov edi, 1
cmp eax, edi
ja 0x14009ec9e
mov r14d, dword [rbp + 0x534]
cmp ecx, r14d
cmovg r14d, ecx
mov r8d, dword [rbp - 0x68]
mov rax, qword [fcn.140052380]
cmp dword [rbp + 0x4e0], edx
je 0x14009ecd3
mov edx, r15d
sub edx, ecx
add edx, r14d
lea rcx, [rbp + 0x51c]
call qword [str.__f_]
sub r15d, dword [rbp + 0x534]
lea edx, [r14 + r15]
jmp 0x14009ece6
mov edx, r13d
lea rcx, [rbp + 0x51c]
call qword [str.__f_]
mov edx, r13d
mov r8d, dword [rbp + 0x38]
add r8d, dword [rbp + 0x528]
lea rcx, [rbp + 0x52c]
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov r13d, dword [rbp - 0x58]
lea eax, [r13 - 2]
cmp eax, edi
jbe 0x14009ef9c
cmp r13d, edi
jne 0x14009efb9
mov dword [rbp + 0x518], 0xffffff
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xbf0]
call sub.msvcrt.dll_memset
xor r15d, r15d
mov esi, r15d
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov rax, qword [0x1400f3118]
call qword [str.__f_]
mov rdi, rax
test rax, rax
jne 0x14009ed73
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
jmp 0x14009ea01
mov r8d, 0x48
mov edx, r12d
lea ecx, [r8 - 0x3d]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
neg eax
mov dword [rbp + 0xbf0], eax
mov dword [rbp + 0xc00], 0x190
mov byte [rbp + 0xc0a], 5
mov r8, qword [rbp + 0x20]
mov edx, 0x20
lea rcx, [rbp + 0xc0c]
call fcn.14002ec04
lea rcx, [rbp + 0xbf0]
mov rax, qword [0x1400f3040]
call qword [str.__f_]
test rax, rax
jne 0x14009edf3
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009edfa
mov esi, 0x80004005
jmp 0x14009edfa
mov qword [rbp + 0x510], rax
mov rdx, rdi
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
test esi, esi
js 0x14009f196
mov dword [rbp + 0x544], r14d
mov rdi, qword [rbp + 0x4f8]
mov esi, r15d
mov rdx, qword [rbp + 0x510]
mov r15, qword [rsp + 0x70]
mov rcx, r15
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov r14, rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x53c]
or r8d, 0xffffffff
mov rdx, rdi
mov rcx, r15
mov rax, qword [fcn.140052380]
call qword [str.__f_]
test eax, eax
mov eax, 0x80004005
cmove esi, eax
test r14, r14
je 0x14009ee93
mov rdx, r14
mov rcx, r15
mov rax, qword [0x1400f3098]
call qword [str.__f_]
xor r15d, r15d
test esi, esi
js 0x14009f196
mov eax, dword [rbp + 0x544]
add eax, 0x18
lea ecx, [r15 + 0x5a]
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x544], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x548], eax
lea edi, [rcx + 6]
mov r8d, edi
mov edx, r12d
mov ecx, dword [rbp + 0x53c]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
mov dword [rbp + 0x53c], eax
mov r8d, edi
mov edx, r12d
mov ecx, dword [rbp + 0x540]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
mov dword [rbp + 0x540], eax
mov r8d, edi
mov edx, r12d
mov ecx, dword [rbp + 0x544]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
mov dword [rbp + 0x544], eax
mov r8d, edi
mov edx, r12d
mov ecx, dword [rbp + 0x548]
mov rax, qword [0x1400f30d8]
call qword [str.__f_]
mov dword [rbp + 0x548], eax
mov r8d, dword [rbp + 0x538]
lea rcx, [rbp + 0x53c]
mov rax, qword [fcn.140052380]
add r8d, 0x24
cmp dword [rbp + 0x4e0], r15d
je 0x14009ef7b
mov edx, dword [rbp + 0x51c]
cmp edx, dword [rbp + 0x52c]
cmovge edx, dword [rbp + 0x52c]
call qword [str.__f_]
jmp 0x14009efbc
mov edx, dword [rbp + 0x524]
cmp edx, dword [rbp + 0x534]
cmovle edx, dword [rbp + 0x534]
sub edx, dword [rbp + 0x544]
add edx, dword [rbp + 0x53c]
jmp 0x14009ef73
mov dword [rbp + 0x960], r14d
mov eax, dword [rbp + 0x538]
mov dword [rbp + 0x964], eax
mov dword [rbp + 0x518], 0xffa8a8a8
xor r15d, r15d
mov r14d, dword [rbp + 0x4e0]
mov esi, dword [rbp + 0x964]
mov edi, dword [rbp + 0x960]
mov ecx, r13d
sub ecx, 1
je 0x14009f182
sub ecx, 1
je 0x14009f099
cmp ecx, 1
jne 0x14009f18a
lea r12d, [rcx + 0x27]
mov r8d, r12d
xor edx, edx
lea rcx, [rbp + 0xb08]
call sub.msvcrt.dll_memset
lea edx, [r12 - 0x27]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov dword [rbp + 0xb08], r12d
lea rdx, [rbp + 0xb08]
mov rcx, rax
mov rax, qword [fcn.140052380]
call qword [str.__f_]
test eax, eax
je 0x14009f18a
lea rdx, [rbp + 0xb1c]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
lea rdx, [rbp + 0xb24]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov eax, dword [rbp + 0xb24]
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 + 0xb24]
shr rcx, 0x20
sub ecx, esi
imul ecx, ecx, 0x32
jmp 0x14009f163
mov r12d, 0x28
mov r8d, r12d
xor edx, edx
lea rcx, [rbp + 0xae0]
call sub.msvcrt.dll_memset
lea edx, [r12 - 0x27]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov dword [rbp + 0xae0], r12d
lea rdx, [rbp + 0xae0]
mov rcx, rax
mov rax, qword [fcn.140052380]
call qword [str.__f_]
test eax, eax
je 0x14009f18a
lea rdx, [rbp + 0xaf4]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
lea rdx, [rbp + 0xafc]
xor ecx, ecx
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov eax, dword [rbp + 0xafc]
test r14d, r14d
je 0x14009f13d
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 + 0xaf4]
jmp 0x14009f153
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 + 0xafc]
shr rax, 0x20
sub eax, esi
imul ecx, eax, 0x5f
mov dword [rbp + 0x958], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x95c], edx
jmp 0x14009f18a
and qword [rbp + 0x958], 0
mov esi, r15d
jmp 0x14009f196
mov r13d, dword [rbp - 0x58]
xor r15d, r15d
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
mov r12d, 1
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r12d
jne 0x14009f1b0
mov eax, dword [0x1400f8cc8]
test eax, eax
jle 0x14009f221
sub eax, r12d
mov dword [0x1400f8cc8], eax
jne 0x14009f221
lea rdi, [0x1400f76c0]
mov r14d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x14009f1ed
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub r14, r12
jne 0x14009f1df
xor edx, edx
lea r8d, [r14 + 0x60]
lea rcx, [0x1400f76c0]
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
mov eax, r15d
xchg dword [0x1400f8ccc], eax
lea rcx, [rbp + 0x1c0]
call fcn.1400c0594
test esi, esi
js 0x1400a00f5
mov rdi, qword [rbp + 0x958]
mov qword [rbp + 0x2c8], rdi
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x550]
call sub.msvcrt.dll_memset
mov esi, r12d
mov edx, 7
mov r14, qword [rbp + 0x68]
mov rcx, r14
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
je 0x14009f2c8
lea r8, [rbp + 0x550]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x14009f2c8
mov eax, 0x20
cmp word [rbp + 0x562], ax
jne 0x14009f2c8
cmp qword [rbp + 0x568], r15
je 0x14009f2c8
cmp dword [rbp + 0x554], r15d
jle 0x14009f2c8
cmp dword [rbp + 0x558], r15d
jg 0x14009f2cb
mov esi, r15d
mov dword [rbp + 0x150], esi
test esi, esi
jne 0x14009f2da
cmp r13d, r12d
jne 0x14009f33f
mov r8d, dword [rbp + 0x2cc]
mov edx, edi
lea rcx, [rbp + 0x51c]
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov r8d, dword [rbp + 0x2cc]
mov edx, edi
lea rcx, [rbp + 0x52c]
mov rax, qword [fcn.140052380]
call qword [str.__f_]
cmp r13d, r12d
jne 0x14009f33f
mov eax, dword [rbp + 0x4e4]
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xb26720
mov rax, qword [0x1400f3048]
call qword [str.__f_]
mov qword [rbp + 0xb0], rax
mov edx, r12d
mov rcx, r14
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov dword [rsp + 0x70], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x4e0], r15d
cmovne eax, ecx
mov dword [rbp + 0x40], eax
cmp dword [rbp + 0x150], r15d
je 0x14009fd9a
mov eax, dword [rbp + 0x4e4]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x500]
mov qword [rbp - 0x48], rax
mov rsi, qword [rbp + 0x4e8]
mov qword [rbp + 0x50], rsi
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x5c0]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x7f0]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x20], r15
mov r13d, r15d
mov dword [rbp - 0x38], r15d
mov edi, r15d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa50]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9d0], rax
mov qword [rbp + 0x9d8], rax
test rsi, rsi
je 0x1400a00d9
lea edx, [rax + 7]
mov rcx, r14
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
je 0x14009fdef
lea r8, [rbp + 0x5c0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x14009f452
mov rax, qword [rbp + 0x5d8]
mov qword [rbp + 0x20], rax
mov r13d, dword [rbp + 0x5c4]
mov dword [rbp - 0x38], r13d
mov edi, dword [rbp + 0x5c8]
mov rcx, r14
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov r14, rax
test rax, rax
je 0x14009fdef
mov ecx, dword [rbp + 0x528]
sub ecx, dword [rbp + 0x520]
mov eax, dword [rbp + 0x524]
sub eax, dword [rbp + 0x51c]
mov qword [rbp + 0x3b8], r15
mov esi, r15d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa60], xmm0
mov qword [rbp + 0xa70], r15
mov dword [rbp + 0xa78], r15d
mov dword [rbp + 0xa50], 0x28
mov dword [rbp + 0xa54], eax
neg ecx
mov dword [rbp + 0xa58], ecx
mov dword [rbp + 0xa5c], 0x200001
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x3b8]
xor r8d, r8d
lea rdx, [rbp + 0xa50]
mov rcx, r14
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov r12, rax
mov qword [rbp - 0x30], rax
mov r15d, 0x80808081
test rax, rax
jne 0x14009f531
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
xor r13d, r13d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009f872
mov esi, 0x80004005
jmp 0x14009f872
lea r8, [rbp + 0x7f0]
mov edx, 0x68
mov rcx, r12
mov rax, qword [0x1400f3088]
call qword [str.__f_]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x808]
mov qword [rbp - 0x10], rcx
mov eax, dword [rbp + 0x524]
sub eax, dword [rbp + 0x51c]
mov dword [rbp + 0x9d8], eax
mov eax, dword [rbp + 0x528]
sub eax, dword [rbp + 0x520]
mov dword [rbp + 0x9dc], eax
mov rdx, r12
mov rcx, r14
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov r12d, 1
mov edx, r12d
mov rcx, r14
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov rdx, qword [rbp - 0x48]
mov rcx, r14
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp - 8], rax
xor ecx, ecx
mov rax, qword [0x1400f3090]
call qword [str.__f_]
mov r8, rax
lea rdx, [rbp + 0x9d0]
mov rcx, r14
mov rax, qword [0x1400f3108]
call qword [str.__f_]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9d0]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x50]
mov rcx, r14
mov rax, qword [fcn.140052380]
call qword [str.__f_]
xor r10d, r10d
cmp dword [rbp - 0x58], r12d
jne 0x14009f652
cmp dword [rsp + 0x78], r10d
je 0x14009f64a
lea ecx, [r12 + 7]
mov rax, qword [0x1400f3138]
call qword [str.__f_]
mov r12d, eax
mov dword [rbp - 0x68], eax
xor r10d, r10d
jmp 0x14009f65c
mov r12d, 0xffffff
jmp 0x14009f658
mov r12d, 0xffa8a8a8
mov dword [rbp - 0x68], r12d
mov eax, dword [rbp + 0x51c]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, r10d
mov r9d, r10d
cmovns r9d, eax
mov eax, dword [rbp + 0x520]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r10d
mov edx, r10d
cmovns edx, eax
movsxd r10, dword [rbp + 0x9d8]
mov eax, r10d
sub eax, r8d
mov r11d, r13d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9dc]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
xor r13d, r13d
test r11d, r11d
jle 0x14009f845
test edi, edi
jle 0x14009f845
imul ecx, r10d
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x10]
lea r13, [rax + rcx*4]
movsxd r8, dword [rbp - 0x38]
imul edx, r8d
movsxd rcx, edx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x20]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x10], rax
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x48], rcx
mov rdx, r8
shl rdx, 2
mov qword [rbp + 0x50], rdx
mov qword [rsp + 0x68], rdi
xor r8d, r8d
lea ebx, [r8 + 1]
test r11d, r11d
jle 0x14009f826
lea r9, [r13 + 2]
mov r10, rax
sub r10, r13
mov edi, r11d
mov qword [rbp + 0x20], rdi
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14009f804
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r12b
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 [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x67]
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 [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x66]
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 [r10 + r9 - 2], dl
movzx edi, byte [r10 + 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 [r10 + r9 + 1], dl
mov rdi, qword [rbp + 0x20]
xor r8d, r8d
add r9, 4
sub rdi, rbx
mov qword [rbp + 0x20], rdi
jne 0x14009f736
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x50]
mov rdi, qword [rsp + 0x68]
add r13, rcx
add rax, rdx
mov qword [rbp - 0x10], rax
sub rdi, rbx
mov qword [rsp + 0x68], rdi
jne 0x14009f71c
mov ebx, dword [rsp + 0x60]
xor r13d, r13d
mov rcx, qword [rbp - 0x30]
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp - 8]
test rax, rax
je 0x14009f872
mov rdx, rax
mov rcx, r14
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov rcx, r14
mov rax, qword [0x1400f3050]
call qword [str.__f_]
test esi, esi
js 0x14009f924
mov eax, dword [rbp + 0x4e4]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x508]
mov qword [rbp - 0x48], rax
mov rsi, qword [rbp + 0x4f0]
mov qword [rbp + 0x50], rsi
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x630]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x860]
call sub.msvcrt.dll_memset
mov qword [rbp + 0x20], r13
mov r12d, r13d
mov edi, r13d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xa80]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9b0], rax
mov qword [rbp + 0x9b8], rax
test rsi, rsi
je 0x14009f924
lea edx, [rax + 7]
mov r14, qword [rbp + 0x68]
mov rcx, r14
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
jne 0x14009f92c
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r15d, r15d
jmp 0x1400a00d3
lea r8, [rbp + 0x630]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x14009f964
mov rax, qword [rbp + 0x648]
mov qword [rbp + 0x20], rax
mov r12d, dword [rbp + 0x634]
mov edi, dword [rbp + 0x638]
mov rcx, r14
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov r14, rax
test rax, rax
je 0x14009f91e
mov ecx, dword [rbp + 0x538]
sub ecx, dword [rbp + 0x530]
mov eax, dword [rbp + 0x534]
sub eax, dword [rbp + 0x52c]
mov qword [rbp + 0x3c0], r13
mov esi, r13d
mov dword [rbp - 0x30], r13d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa90], xmm0
mov qword [rbp + 0xaa0], r13
mov dword [rbp + 0xaa8], r13d
mov dword [rbp + 0xa80], 0x28
mov dword [rbp + 0xa84], eax
neg ecx
mov dword [rbp + 0xa88], ecx
mov dword [rbp + 0xa8c], 0x200001
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x3c0]
xor r8d, r8d
lea rdx, [rbp + 0xa80]
mov rcx, r14
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov r13, rax
mov qword [rbp - 8], rax
test rax, rax
jne 0x14009fa3d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
xor r15d, r15d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009fd79
mov esi, 0x80004005
jmp 0x14009fd79
lea r8, [rbp + 0x860]
mov edx, 0x68
mov rcx, r13
mov rax, qword [0x1400f3088]
call qword [str.__f_]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x878]
mov qword [rbp - 0x10], rcx
mov eax, dword [rbp + 0x534]
sub eax, dword [rbp + 0x52c]
mov dword [rbp + 0x9b8], eax
mov eax, dword [rbp + 0x538]
sub eax, dword [rbp + 0x530]
mov dword [rbp + 0x9bc], eax
mov rdx, r13
mov rcx, r14
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov edx, 1
mov rcx, r14
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov rdx, qword [rbp - 0x48]
mov rcx, r14
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp - 0x38], rax
xor ecx, ecx
mov rax, qword [0x1400f3090]
call qword [str.__f_]
mov r8, rax
lea rdx, [rbp + 0x9b0]
mov rcx, r14
mov rax, qword [0x1400f3108]
call qword [str.__f_]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9b0]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x50]
mov rcx, r14
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov eax, 1
xor r10d, r10d
cmp dword [rbp - 0x58], eax
jne 0x14009fb57
cmp dword [rsp + 0x78], r10d
je 0x14009fb4e
lea ecx, [rax + 7]
mov rax, qword [0x1400f3138]
call qword [str.__f_]
xor r10d, r10d
jmp 0x14009fb5c
mov dword [rbp - 0x68], 0xffffff
jmp 0x14009fb65
mov eax, 0xffa8a8a8
mov dword [rbp - 0x68], eax
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x52c]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, r10d
mov r9d, r10d
cmovns r9d, eax
mov eax, dword [rbp + 0x530]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r10d
mov edx, r10d
cmovns edx, eax
movsxd r10, dword [rbp + 0x9b8]
mov eax, r10d
sub eax, r8d
mov r11d, r12d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9bc]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x14009fd4a
test edi, edi
jle 0x14009fd4a
imul ecx, r10d
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x10]
lea r13, [rax + rcx*4]
imul edx, r12d
movsxd rcx, edx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x20]
lea rax, [rax + rcx*4]
mov qword [rbp - 0x10], rax
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x48], rcx
movsxd r12, r12d
shl r12, 2
mov edx, edi
mov qword [rsp + 0x68], rdx
mov ebx, dword [rbp + 0x84]
xor r8d, r8d
lea esi, [r8 + 1]
test r11d, r11d
jle 0x14009fd27
lea r9, [r13 + 2]
mov r10, rax
sub r10, r13
mov edi, r11d
mov qword [rbp + 0x20], rdi
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x14009fd09
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, bl
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 [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp - 0x67]
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 [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp - 0x66]
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 [r10 + r9 - 2], dl
movzx edi, byte [r10 + 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 [r10 + r9 + 1], dl
mov rdi, qword [rbp + 0x20]
xor r8d, r8d
add r9, 4
sub rdi, rsi
mov qword [rbp + 0x20], rdi
jne 0x14009fc3c
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rsp + 0x68]
add r13, rcx
add rax, r12
mov qword [rbp - 0x10], rax
sub rdx, rsi
mov qword [rsp + 0x68], rdx
jne 0x14009fc22
mov ebx, dword [rsp + 0x60]
mov esi, dword [rbp - 0x30]
mov r13, qword [rbp - 8]
mov rcx, r13
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp - 0x38]
xor r15d, r15d
test rax, rax
je 0x14009fd79
mov rdx, rax
mov rcx, r14
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov rcx, r14
mov rax, qword [0x1400f3050]
call qword [str.__f_]
test esi, esi
js 0x1400a00d3
mov rdi, qword [rbp + 0x68]
jmp 0x1400a10e0
cmp dword [rbp + 0x4e4], r15d
jne 0x14009fdaa
cmp r13d, r12d
mov al, 0xc0
jne 0x14009fdac
mov al, 0xff
and word [rbp - 0x68], 0
mov byte [rbp - 0x66], al
mov byte [rbp - 0x65], r12b
xor eax, eax
mov qword [rbp + 0x970], rax
mov qword [rbp + 0x978], rax
mov qword [rbp + 0x980], rax
mov qword [rbp + 0x988], rax
mov rcx, r14
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov qword [rbp + 0x30], rax
test rax, rax
jne 0x14009fdfa
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a00d9
cmp r13d, r12d
jne 0x14009feca
mov edx, dword [rbp + 0x534]
mov eax, edx
mov r8d, dword [rbp + 0x52c]
sub eax, r8d
mov r9d, dword [rbp + 0x524]
mov esi, r9d
mov r10d, dword [rbp + 0x51c]
sub esi, r10d
cmp eax, esi
cmovg esi, eax
mov r15d, dword [rbp + 0x538]
mov ecx, r15d
mov r11d, dword [rbp + 0x520]
sub ecx, r11d
mov dword [rbp - 0x80], ecx
xor eax, eax
mov edi, eax
mov r14d, eax
cmp dword [rbp + 0x4e0], eax
je 0x14009fe77
mov edi, r10d
sub edi, r9d
add edi, esi
mov r13d, edi
mov dword [rbp + 0x970], edi
mov r14d, r8d
sub r14d, edx
add r14d, esi
mov dword [rbp + 0x980], r14d
jmp 0x14009fe7e
mov r13d, dword [rbp + 0x970]
sub edi, r10d
add edi, r9d
mov dword [rbp + 0x978], edi
mov r12d, dword [rbp + 0x528]
sub r12d, r11d
mov dword [rbp + 0x97c], r12d
sub r14d, r8d
add r14d, edx
mov dword [rbp + 0x988], r14d
mov eax, dword [rbp + 0x530]
sub eax, r11d
mov dword [rbp + 0x984], eax
sub r15d, dword [rbp + 0x530]
add r15d, eax
mov dword [rbp + 0x98c], r15d
jmp 0x14009ff1f
mov esi, dword [rbp + 0x960]
mov ecx, dword [rbp + 0x964]
mov dword [rbp - 0x80], ecx
movups xmm0, xmmword [rbp + 0x51c]
movdqu xmmword [rbp + 0x970], xmm0
movups xmm1, xmmword [rbp + 0x52c]
movdqu xmmword [rbp + 0x980], xmm1
mov r12d, dword [rbp + 0x97c]
mov edi, dword [rbp + 0x978]
mov r15d, dword [rbp + 0x98c]
mov r14d, dword [rbp + 0x988]
mov eax, dword [rbp + 0x984]
mov r13d, dword [rbp + 0x970]
mov dword [rbp - 0x38], eax
xor edx, edx
mov qword [rbp + 0x3c8], rdx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xac0], xmm0
mov qword [rbp + 0xad0], rdx
mov dword [rbp + 0xad8], edx
mov dword [rbp + 0xab0], 0x28
mov dword [rbp + 0xab4], esi
mov eax, ecx
neg eax
mov dword [rbp + 0xab8], eax
mov dword [rbp + 0xabc], 0x200001
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x3c8]
xor r8d, r8d
lea rdx, [rbp + 0xab0]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x14009ffa9
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r15d, r15d
jmp 0x1400a00ba
mov rdx, rax
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov eax, 1
cmp dword [rbp - 0x58], eax
jne 0x1400a0003
mov r8, qword [rbp + 0xb0]
xor eax, eax
test r8, r8
je 0x1400a0003
mov qword [rbp + 0x9e0], rax
mov dword [rbp + 0x9e8], esi
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x9ec], eax
lea rdx, [rbp + 0x9e0]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x1400f3108]
call qword [str.__f_]
mov eax, dword [rbp + 0x4e4]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x500]
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x4e8]
mov qword [rbp + 0x20], rax
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x6a0]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x780]
call sub.msvcrt.dll_memset
xor ecx, ecx
mov qword [rbp + 0x50], rcx
mov dword [rbp - 8], ecx
mov dword [rbp - 0x30], ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xa20]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x990], rax
mov qword [rbp + 0x998], rax
cmp qword [rbp + 0x20], rax
je 0x1400a009e
lea edx, [rax + 7]
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
jne 0x1400a06d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r15d, r15d
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x1400a00ba
mov rcx, rax
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x1400a00d3
mov rcx, rax
mov rax, qword [0x1400f3050]
call qword [str.__f_]
mov r12d, 1
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x1400a00f5
mov rcx, rax
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp + 0x4e8]
or rsi, 0xffffffffffffffff
test rax, rax
je 0x1400a0147
mov rcx, rsi
inc rcx
cmp word [rax + rcx*2], r15w
jne 0x1400a0108
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x4e8]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4e8]
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 + 0x4e8], r15
mov rax, qword [rbp + 0x4f0]
test rax, rax
je 0x1400a0195
mov rcx, rsi
inc rcx
cmp word [rax + rcx*2], r15w
jne 0x1400a0156
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x4f0]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4f0]
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 + 0x4f0], r15
mov rdi, qword [rbp + 0x4f8]
test rdi, rdi
je 0x1400a01dc
mov rcx, rsi
inc rcx
cmp word [rdi + rcx*2], r15w
jne 0x1400a01a4
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x4f8]
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 + 0x4f8], r15
mov rcx, qword [rbp + 0x500]
test rcx, rcx
je 0x1400a01fc
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov qword [rbp + 0x500], r15
mov rcx, qword [rbp + 0x508]
test rcx, rcx
je 0x1400a021c
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov qword [rbp + 0x508], r15
mov rcx, qword [rbp + 0x510]
test rcx, rcx
je 0x1400a023c
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov qword [rbp + 0x510], r15
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r12d
jne 0x1400a023c
mov eax, dword [0x1400f8cc8]
test eax, eax
jle 0x1400a02ab
sub eax, r12d
mov dword [0x1400f8cc8], eax
jne 0x1400a02ab
lea r14, [0x1400f76c0]
mov rdi, r14
mov esi, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a027b
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r12
jne 0x1400a026d
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r14
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
mov eax, r15d
xchg dword [0x1400f8ccc], eax
mov eax, dword [0x1400f6fe8]
mov dword [rbp - 0x30], eax
mov rax, qword [0x1400f30b8]
call qword [str.__f_]
sub eax, dword [0x1400f8cc0]
mov qword [rbp + 0x78], rax
mov dword [rbp + 0xd50], r15d
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0xd58]
call sub.msvcrt.dll_memset
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r12d
jne 0x1400a02ed
mov eax, dword [0x1400f8cc8]
test eax, eax
jne 0x1400a12f0
mov dword [rbp - 0x38], r15d
mov dword [rsp + 0x70], r15d
mov qword [rbp + 0x188], r15
mov qword [rbp + 0x2d0], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x338
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
je 0x1400a1268
mov byte [rsp + 0x64], r15b
mov ebx, r15d
or r13d, 0xffffffff
mov edx, r15d
mov dword [rbp - 0x28], edx
mov r11d, r15d
mov dword [rbp + 0x10], r15d
lea r15, [rax + 7]
lea rsi, [0x1400dbce2]
mov ecx, 1
lea r12d, [rcx + 0x66]
movzx r10d, byte [rsi - 2]
shl r10d, 8
movzx eax, byte [rsi - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 1]
or r10d, eax
movzx r9d, byte [rsi + 2]
shl r9d, 8
movzx eax, byte [rsi + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 5]
or r9d, eax
xor r11d, r10d
lea rsi, [rsi + 8]
mov r8d, r11d
xor r8d, r9d
xor r8d, edx
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
mov edx, r8d
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 r8d, eax
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
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 r8d, eax
mov edx, r8d
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 r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
mov edx, r8d
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 r8d, eax
mov eax, r8d
xor eax, 0xab69605e
ror eax, 0xc
mov edx, r8d
ror edx, 0xa
imul eax, eax, 0x137f
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, 0x7f1
xor eax, edi
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r11d, eax
lea r8d, [r11 - 0x7f1]
xor r8d, edx
xor r8d, 0xab69605e
mov eax, r8d
xor eax, edi
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
xor eax, 0xab69
rol eax, 5
mov edx, r11d
rol edx, 7
imul eax, eax, 0x7f1
add edx, eax
xor r8d, edx
xor r11d, r8d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r8d, edx
lea eax, [r8 - 0x7f1137f]
ror eax, 1
mov edx, r8d
ror edx, 6
imul eax, eax, 0x605e
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0x54969fa2]
rol eax, 3
mov edx, r11d
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 r11d, eax
mov eax, r11d
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, r11d
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 r11d, edx
mov dword [rbp + 0x10], r11d
xor r8d, r13d
mov dword [rbp - 0x28], r8d
mov byte [r15 - 4], r11b
ror dword [rbp + 0x10], 8
mov al, byte [rbp - 0x28]
mov byte [r15], al
ror dword [rbp - 0x28], 8
mov al, byte [rbp + 0x10]
mov byte [r15 - 5], al
ror dword [rbp + 0x10], 8
mov al, byte [rbp - 0x28]
mov byte [r15 - 1], al
ror dword [rbp - 0x28], 8
mov al, byte [rbp + 0x10]
mov byte [r15 - 6], al
ror dword [rbp + 0x10], 8
mov al, byte [rbp - 0x28]
mov byte [r15 - 2], al
ror dword [rbp - 0x28], 8
mov al, byte [rbp + 0x10]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x28]
mov byte [r15 - 3], al
mov r11d, dword [rbp + 0x10]
ror r11d, 8
mov dword [rbp + 0x10], r11d
mov edx, dword [rbp - 0x28]
ror edx, 8
mov dword [rbp - 0x28], edx
mov ebx, r10d
mov r13d, r9d
lea r15, [r15 + 8]
sub r12, rcx
jne 0x1400a036f
xor r15d, r15d
mov eax, r15d
mov cl, byte [rsp + 0x64]
mov ebx, dword [rsp + 0x60]
mov esi, dword [rsp + 0x70]
mov r12d, esi
mov r13d, esi
mov edx, 0x338
lea r11d, [r15 + 1]
xor cl, byte [rax + r14]
add rax, r11
cmp rax, rdx
jb 0x1400a06a9
movzx eax, cl
cmp rax, qword [0x1400dc018]
je 0x1400a10f9
mov r12d, 0xc004d501
jmp 0x1400a110a
lea r8, [rbp + 0x6a0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x1400a070d
mov rax, qword [rbp + 0x6b8]
mov qword [rbp + 0x50], rax
mov eax, dword [rbp + 0x6a4]
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x6a8]
mov dword [rbp - 0x30], eax
mov rcx, qword [rbp + 0x30]
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov rcx, rax
mov qword [rbp - 0x10], rax
xor edx, edx
test rax, rax
je 0x1400a0098
sub r12d, dword [rbp + 0x974]
sub edi, r13d
mov qword [rbp + 0x3d0], rdx
mov r13d, edx
mov dword [rsp + 0x68], edx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa30], xmm0
mov qword [rbp + 0xa40], rdx
mov dword [rbp + 0xa48], edx
mov dword [rbp + 0xa20], 0x28
mov dword [rbp + 0xa24], edi
mov eax, r12d
neg eax
mov dword [rbp + 0xa28], eax
mov dword [rbp + 0xa2c], 0x200001
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x3d0]
xor r8d, r8d
lea rdx, [rbp + 0xa20]
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x1400a07e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x1400a0b2d
mov r13d, 0x80004005
jmp 0x1400a0b2d
lea r8, [rbp + 0x780]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x798]
mov qword [rbp + 0x98], rcx
mov dword [rbp + 0x998], edi
mov dword [rbp + 0x99c], r12d
mov rdx, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x10]
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov edx, 1
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov rdx, qword [rbp + 0x38]
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov qword [rbp + 0x78], rax
xor ecx, ecx
mov rax, qword [0x1400f3090]
call qword [str.__f_]
mov r8, rax
lea rdx, [rbp + 0x990]
mov rcx, rdi
mov rax, qword [0x1400f3108]
call qword [str.__f_]
xor r12d, r12d
mov qword [rsp + 0x28], r12
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x990]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x20]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
lea eax, [r12 + 1]
cmp dword [rbp - 0x58], eax
jne 0x1400a08e4
cmp dword [rsp + 0x78], r12d
je 0x1400a08dd
lea ecx, [rax + 7]
mov rax, qword [0x1400f3138]
call qword [str.__f_]
jmp 0x1400a08e9
mov eax, 0xffffff
jmp 0x1400a08e9
mov eax, 0xffa8a8a8
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x970]
mov r9d, eax
neg r9d
test eax, eax
cmovns r9d, r12d
mov r10d, r12d
cmovns r10d, eax
mov eax, dword [rbp + 0x974]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r12d
mov r8d, r12d
cmovns r8d, eax
mov eax, dword [rbp + 0x998]
sub eax, r9d
movsxd r12, dword [rbp - 8]
mov r11d, r12d
sub r11d, r10d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x99c]
sub eax, ecx
mov edx, dword [rbp - 0x30]
sub edx, r8d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x1400a0b00
test edx, edx
jle 0x1400a0b00
imul ecx, dword [rbp + 0x998]
movsxd rcx, ecx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp + 0x98]
lea rdi, [rax + rcx*4]
mov qword [rbp + 0x20], rdi
imul r8d, r12d
movsxd rcx, r8d
movsxd rax, r10d
add rcx, rax
mov rax, qword [rbp + 0x50]
lea rax, [rax + rcx*4]
mov qword [rsp + 0x78], rax
movsxd rcx, dword [rbp + 0x998]
shl rcx, 2
mov qword [rbp + 0x98], rcx
mov r8, r12
shl r8, 2
mov qword [rbp - 8], r8
mov qword [rbp - 0x30], rdx
mov r13d, dword [rbp + 0x38]
xor r12d, r12d
lea ebx, [r12 + 1]
test r11d, r11d
jle 0x1400a0ad7
lea r9, [rdi + 2]
mov r10, rax
sub r10, rdi
mov edi, r11d
mov qword [rbp + 0x50], rdi
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x1400a0aae
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, r13b
sub ecx, edi
imul ecx, r8d
mov r12d, 0x80808081
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp + 0x39]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp + 0x3a]
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r12d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp + 0x50]
xor r12d, r12d
add r9, 4
sub rdi, rbx
mov qword [rbp + 0x50], rdi
jne 0x1400a09da
mov rdi, qword [rbp + 0x20]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rbp + 0x98]
mov r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x30]
add rdi, rcx
mov qword [rbp + 0x20], rdi
add rax, r8
mov qword [rsp + 0x78], rax
sub rdx, rbx
mov qword [rbp - 0x30], rdx
jne 0x1400a09c0
mov ebx, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x68]
mov rdi, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x48]
mov rax, qword [0x1400f3058]
call qword [str.__f_]
mov rax, qword [rbp + 0x78]
test rax, rax
je 0x1400a0b2d
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov rcx, qword [rbp - 0x10]
mov rax, qword [0x1400f3050]
call qword [str.__f_]
test r13d, r13d
js 0x1400a009e
mov eax, dword [rbp + 0x4e4]
mov dword [rsp + 0x68], eax
mov rax, qword [rbp + 0x508]
mov qword [rbp + 0x78], rax
mov r12, qword [rbp + 0x4f0]
mov qword [rbp + 0x98], r12
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x710]
call sub.msvcrt.dll_memset
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x8d0]
call sub.msvcrt.dll_memset
xor r13d, r13d
mov qword [rbp - 0x48], r13
mov dword [rbp - 0x30], r13d
mov edi, r13d
xor edx, edx
lea r8d, [r13 + 0x2c]
lea rcx, [rbp + 0x9f0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0x9c0], rax
mov qword [rbp + 0x9c8], rax
test r12, r12
je 0x1400a009e
lea edx, [rax + 7]
mov r12, qword [rbp + 0x30]
mov rcx, r12
mov rax, qword [0x1400f3070]
call qword [str.__f_]
test rax, rax
je 0x1400a0098
lea r8, [rbp + 0x710]
lea edx, [r13 + 0x68]
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
test eax, eax
je 0x1400a0c23
mov rax, qword [rbp + 0x728]
mov qword [rbp - 0x48], rax
mov eax, dword [rbp + 0x714]
mov dword [rbp - 0x30], eax
mov edi, dword [rbp + 0x718]
mov rcx, r12
mov rax, qword [0x1400f3030]
call qword [str.__f_]
mov r13, rax
xor ecx, ecx
test rax, rax
je 0x1400a0098
sub r15d, dword [rbp - 0x38]
sub r14d, dword [rbp + 0x980]
mov qword [rbp + 0x3e0], rcx
mov r12d, ecx
mov dword [rsp + 0x78], ecx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa00], xmm0
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa18], ecx
mov dword [rbp + 0x9f0], 0x28
mov dword [rbp + 0x9f4], r14d
mov eax, r15d
neg eax
mov dword [rbp + 0x9f8], eax
mov dword [rbp + 0x9fc], 0x200001
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x3e0]
xor r8d, r8d
lea rdx, [rbp + 0x9f0]
mov rcx, r13
mov rax, qword [0x1400f3038]
call qword [str.__f_]
mov qword [rbp - 0x10], rax
test rax, rax
jne 0x1400a0cf9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
xor r15d, r15d
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400a102f
mov r12d, 0x80004005
jmp 0x1400a102f
lea r8, [rbp + 0x8d0]
mov edx, 0x68
mov rcx, rax
mov rax, qword [0x1400f3088]
call qword [str.__f_]
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0x8e8]
mov qword [rbp + 0x50], rcx
mov dword [rbp + 0x9c8], r14d
mov dword [rbp + 0x9cc], r15d
mov rdx, qword [rbp - 0x10]
mov rcx, r13
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov edx, 1
mov rcx, r13
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov rdx, qword [rbp + 0x78]
mov rcx, r13
mov rax, qword [0x1400f3098]
call qword [str.__f_]
mov r15, rax
mov qword [rbp - 8], rax
xor ecx, ecx
mov rax, qword [0x1400f3090]
call qword [str.__f_]
mov r8, rax
lea rdx, [rbp + 0x9c0]
mov rcx, r13
mov rax, qword [0x1400f3108]
call qword [str.__f_]
xor r14d, r14d
mov qword [rsp + 0x28], r14
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x9c0]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0x98]
mov rcx, r13
mov rax, qword [fcn.140052380]
call qword [str.__f_]
lea eax, [r14 + 1]
cmp dword [rbp - 0x58], eax
jne 0x1400a0dfe
cmp dword [rsp + 0x68], r14d
je 0x1400a0df5
lea ecx, [rax + 7]
mov rax, qword [0x1400f3138]
call qword [str.__f_]
jmp 0x1400a0e03
mov dword [rbp + 0x40], 0xffffff
jmp 0x1400a0e0c
mov eax, 0xffa8a8a8
mov dword [rbp + 0x40], eax
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x980]
mov r8d, eax
neg r8d
test eax, eax
cmovns r8d, r14d
mov r9d, r14d
cmovns r9d, eax
mov eax, dword [rbp - 0x38]
mov ecx, eax
neg ecx
test eax, eax
cmovns ecx, r14d
mov edx, r14d
cmovns edx, eax
movsxd r14, dword [rbp + 0x9c8]
mov eax, r14d
sub eax, r8d
movsxd r10, dword [rbp - 0x30]
mov r11d, r10d
sub r11d, r9d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x9cc]
sub eax, ecx
sub edi, edx
cmp eax, edi
cmovl edi, eax
test r11d, r11d
jle 0x1400a1003
test edi, edi
jle 0x1400a1003
imul ecx, r14d
movsxd rcx, ecx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp + 0x50]
lea r15, [rax + rcx*4]
imul edx, r10d
movsxd rcx, edx
movsxd rax, r9d
add rcx, rax
mov rax, qword [rbp - 0x48]
lea rax, [rax + rcx*4]
mov qword [rbp + 0x50], rax
mov rcx, r14
shl rcx, 2
mov qword [rbp + 0x78], rcx
mov rdx, r10
shl rdx, 2
mov qword [rbp + 0x98], rdx
mov qword [rbp + 0x20], rdi
mov ebx, dword [rbp + 0x84]
xor r8d, r8d
lea r12d, [r8 + 1]
test r11d, r11d
jle 0x1400a0fdf
lea r9, [r15 + 2]
mov r10, rax
sub r10, r15
mov edi, r11d
mov qword [rbp - 0x48], rdi
movzx ecx, byte [r9 - 1]
movzx eax, byte [r9 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x1400a0fbb
movzx edi, byte [r10 + r9]
movzx r8d, dl
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
mov r14d, 0x80808081
mov eax, r14d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
movzx ecx, byte [rbp + 0x41]
sub ecx, edi
imul ecx, r8d
mov eax, r14d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
movzx ecx, byte [rbp + 0x42]
sub ecx, edi
imul ecx, r8d
mov eax, r14d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, r14d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r10 + r9 + 1], dl
mov rdi, qword [rbp - 0x48]
xor r8d, r8d
add r9, 4
sub rdi, r12
mov qword [rbp - 0x48], rdi
jne 0x1400a0ee8
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x98]
mov rdi, qword [rbp + 0x20]
add r15, rcx
add rax, rdx
mov qword [rbp + 0x50], rax
sub rdi, r12
mov qword [rbp + 0x20], rdi
jne 0x1400a0ece
mov ebx, dword [rsp + 0x60]
mov r12d, dword [rsp + 0x78]
mov r15, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
mov rax, qword [0x1400f3058]
call qword [str.__f_]
test r15, r15
je 0x1400a102c
mov rdx, r15
mov rcx, r13
mov rax, qword [0x1400f3098]
call qword [str.__f_]
xor r15d, r15d
mov rcx, r13
mov rax, qword [0x1400f3050]
call qword [str.__f_]
test r12d, r12d
js 0x1400a00a1
mov eax, 1
mov r9d, esi
mov rdi, qword [rbp + 0x68]
cmp dword [rbp - 0x58], eax
jne 0x1400a109a
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov rax, qword [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x520]
mov edx, dword [rbp + 0x51c]
mov rcx, rdi
mov rax, qword [0x1400f3020]
call qword [str.__f_]
jmp 0x1400a10e0
mov ecx, dword [rbp - 0x68]
mov dword [rsp + 0x50], ecx
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov rcx, qword [rbp + 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp + 0x95c]
mov edx, dword [rbp + 0x958]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
mov edx, dword [rsp + 0x70]
mov rcx, rdi
mov rax, qword [fcn.140052380]
call qword [str.__f_]
jmp 0x1400a00a1
mov qword [rbp + 0x188], r14
mov r14, r15
mov qword [rbp + 0x2d0], rdx
test r14, r14
je 0x1400a1123
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x1400a1268
mov rdi, qword [rbp + 0x188]
mov rax, qword [rbp + 0x2d0]
mov byte [rax + rdi - 1], r15b
xor edx, edx
lea r8d, [rdx + 0x60]
lea r14, [0x1400f76c0]
mov rcx, r14
call sub.msvcrt.dll_memset
jmp 0x1400a1258
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r15w
jne 0x1400a1160
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 0x1400a1268
mov esi, r15d
mov rax, qword [r14]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x1400a11a3
mov esi, 0xc000007b
jmp 0x1400a11ee
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400a119c
add rcx, qword [r14]
cmp rcx, qword [r14]
jb 0x1400a119c
cmp dword [rcx], 0x4550
jne 0x1400a119c
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400a11dc
mov esi, 0xc000000d
jmp 0x1400a11ee
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 ecx, ecx
test r12d, r12d
je 0x1400a1246
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], cl
jne 0x1400a1204
inc rdi
add rdi, rax
test esi, esi
js 0x1400a1234
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400a1263
mov ecx, dword [rbp - 0x38]
lea rdx, [0x1400f3020]
mov qword [rdx + rcx*8], rax
xor ecx, ecx
mov eax, 1
add dword [rbp - 0x38], eax
add r15d, eax
cmp r15d, r12d
jb 0x1400a11fd
jmp 0x1400a124b
mov eax, 1
add r13d, eax
xor r15d, r15d
lea r14, [0x1400f76c0]
cmp byte [rdi], r15b
jne 0x1400a1159
jmp 0x1400a126d
xor r15d, r15d
jmp 0x1400a126d
mov esi, 0xc000007a
cmp qword [rbp + 0x188], r15
je 0x1400a128e
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]
mov r12d, 1
test esi, esi
jns 0x1400a12ea
lea r14, [0x1400f76c0]
mov rdi, r14
lea esi, [r12 + 3]
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a12b5
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r12
jne 0x1400a12a7
lea r13d, [rsi + 0x60]
mov r8d, r13d
xor edx, edx
mov rcx, r14
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
jmp 0x1400a1306
mov eax, dword [0x1400f8cc8]
add eax, r12d
mov dword [0x1400f8cc8], eax
lea r14, [0x1400f76c0]
mov r13d, 0x60
mov eax, r15d
xchg dword [0x1400f8ccc], eax
mov rcx, qword [rbp + 0x78]
mov dword [rbp + 0xd58], ecx
mov dword [rbp + 0xd50], r12d
mov dword [rbp + 0xd68], 0x9966f291
mov dword [rbp + 0xd60], r12d
mov dword [rbp + 0xd78], r12d
mov dword [rbp + 0xd70], r12d
mov eax, dword [rbp - 0x30]
mov dword [rbp + 0xd88], eax
mov dword [rbp + 0xd80], r12d
lea r9, [rbp + 0xd50]
mov esi, 4
mov r8d, esi
mov edx, 0x2021
xor ecx, ecx
mov rax, qword [0x1400f30f0]
call qword [str.__f_]
xor eax, eax
lock cmpxchg dword [0x1400f8ccc], r12d
jne 0x1400a1372
mov eax, dword [0x1400f8cc8]
test eax, eax
jle 0x1400a13d4
sub eax, r12d
mov dword [0x1400f8cc8], eax
jne 0x1400a13d4
mov rdi, r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a13a5
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rdi, 0x18
sub rsi, r12
jne 0x1400a1397
mov r8, r13
xor edx, edx
mov rcx, r14
call sub.msvcrt.dll_memset
mov r8d, 0x170
lea rdx, [0x1400c9410]
lea rcx, [0x1400f3020]
call sub.msvcrt.dll_memcpy
mov eax, r15d
xchg dword [0x1400f8ccc], eax
mov rdx, qword [rbp + 0x68]
xor ecx, ecx
mov rax, qword [0x1400f3180]
call qword [str.__f_]
lea rcx, [rbp + 0x3e8]
call fcn.14000495c
cmp dword [rbp + 0x70], r15d
je 0x1400a31df
mov rsi, r15
mov r14, r15
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], rax
mov dword [rbp + 0xf8], r15d
lea rax, [0x1400f6470]
mov qword [rbp + 0x3f0], rax
mov edi, RegisterTypeLib
mov qword [rbp + 0x2d8], 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 0x1400a3158
mov r8, qword [rbp + 0x2d8]
mov rdx, qword [rbp + 0x3f0]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rsi, r12
mov qword [rsp + 0x68], r12
mov r15d, dword [rbp + 0x2d8]
lea rax, [0x1400f63b0]
mov qword [rbp + 0x3f8], rax
mov qword [rbp + 0x2e0], 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 + 0x78], rax
test rax, rax
je 0x1400a3155
mov r8, qword [rbp + 0x2e0]
mov rdx, qword [rbp + 0x3f8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r14, rdi
mov qword [rsp + 0x78], rdi
mov r13d, dword [rbp + 0x2e0]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x278], rax
mov dword [rbp + 0xd4], 8
lea esi, [r15 + 4]
cmp esi, 4
jb 0x1400a320b
mov dword [rbp + 0xd4], esi
lea eax, [rsi + 8]
or edi, 0xffffffff
mov edx, edi
cmp eax, 8
cmovae edx, eax
jb 0x1400a320b
lea r14d, [r13 + 4]
cmp r14d, 4
jb 0x1400a314d
mov dword [rbp + 0xd4], r14d
lea eax, [r14 + rdx]
mov ecx, edi
cmp eax, edx
cmovae ecx, eax
jb 0x1400a314d
mov dword [rbp + 0xd4], SafeArrayDestroy
lea eax, [rcx + 0xc]
mov edx, edi
cmp eax, ecx
cmovae edx, eax
jb 0x1400a314d
mov dword [rbp + 4], 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 r8d, r8d
test rax, rax
je 0x1400a314d
mov qword [rbp + 8], rax
mov dword [rbp], r8d
mov dword [rbp + 0x208], 4
lea rdi, [rax + 4]
cmp rdi, rax
jb 0x1400a314d
mov ecx, dword [rbp + 4]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x1400a314d
mov dword [rdx], 4
mov eax, dword [rbp + 0x208]
mov dword [rdi], eax
mov edi, dword [rbp]
inc edi
mov dword [rbp], edi
test r15d, r15d
je 0x1400a168c
cmp qword [rbp + 8], r8
jne 0x1400a1615
mov dword [rbp + 0x204], esi
mov eax, dword [rbp + 4]
lea ecx, [rsi + rax]
xor r15d, r15d
cmp ecx, eax
jb 0x1400a3213
mov dword [rbp + 4], ecx
lea eax, [rdi + 1]
mov dword [rbp], eax
jmp 0x1400a169f
mov rdx, qword [rbp + 8]
mov ecx, r8d
mov esi, 1
test edi, edi
je 0x1400a164f
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400a314d
mov dword [rbp + 0x204], eax
add rax, rdx
cmp rax, rdx
jb 0x1400a314d
mov rdx, rax
add ecx, esi
cmp ecx, dword [rbp]
jb 0x1400a1625
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400a314d
mov edi, r8d
mov r8, r15
mov ecx, dword [rbp + 4]
add rcx, qword [rbp + 8]
lea rax, [r15 + 4]
add rax, rdx
cmp rax, rcx
ja 0x1400a314d
mov dword [rdx], r15d
mov rdx, r12
mov rcx, r9
call sub.msvcrt.dll_memcpy
add dword [rbp], esi
jmp 0x1400a1691
mov edi, 0xc000000d
xor r15d, r15d
test edi, edi
js 0x1400a3213
mov ecx, dword [rbp + 4]
test r13d, r13d
je 0x1400a175b
cmp qword [rbp + 8], r15
jne 0x1400a16de
mov dword [rbp + 0x200], r14d
lea eax, [r14 + rcx]
cmp eax, ecx
jb 0x1400a3213
mov ecx, eax
mov esi, 1
add dword [rbp], esi
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0x2e8], rax
jmp 0x1400a1781
mov rdx, qword [rbp + 8]
mov edi, r15d
mov esi, 1
cmp dword [rbp], r15d
jbe 0x1400a171d
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400a3213
mov dword [rbp + 0x200], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400a3213
mov rdx, r8
add edi, esi
cmp edi, dword [rbp]
jb 0x1400a16f0
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x1400a3213
mov edi, r15d
mov r8, r13
add rcx, qword [rbp + 8]
lea rax, [r13 + 4]
add rax, rdx
cmp rax, rcx
ja 0x1400a3213
mov dword [rdx], r13d
mov rdx, qword [rbp + 0x78]
mov rcx, r9
call sub.msvcrt.dll_memcpy
add dword [rbp], esi
mov ecx, dword [rbp + 4]
jmp 0x1400a1765
mov edi, 0xc000000d
mov esi, 1
test edi, edi
js 0x1400a3213
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0x2e8], rax
cmp qword [rbp + 8], r15
jne 0x1400a179b
mov dword [rbp + 0x1ec], SafeArrayDestroy
lea edi, [rcx + 0xc]
cmp edi, ecx
jb 0x1400a3213
mov dword [rbp + 4], edi
jmp 0x1400a1808
mov rdx, qword [rbp + 8]
mov edi, r15d
cmp dword [rbp], r15d
jbe 0x1400a17d5
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x1400a3213
mov dword [rbp + 0x1ec], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x1400a3213
mov rdx, r8
add edi, esi
cmp edi, dword [rbp]
jb 0x1400a17a8
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400a3213
add rcx, qword [rbp + 8]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x1400a3213
mov dword [rdx], 8
movsd xmm0, qword [rbp + 0x2e8]
movsd qword [rdi], xmm0
mov edi, dword [rbp + 4]
add dword [rbp], esi
mov dword [rbp + 0x328], SafeArrayDestroy
mov rcx, r15
mov qword [rbp + 0x30], rcx
mov r12d, r15d
mov qword [rbp + 0x158], r15
mov qword [rbp + 0xb0], r15
mov r13d, r15d
mov dword [rbp - 0x30], r15d
mov qword [rbp - 0x10], r15
mov dword [rbp + 0x58], r15d
mov qword [rbp + 0x68], r15
xor r14d, r14d
mov qword [rbp - 8], r14
mov dword [rbp + 0xf0], r14d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x2f0], rax
add edi, 8
cmp edi, 8
jb 0x1400a192f
mov dword [rbp + 0xc0], edi
mov eax, edi
add rax, 7
and eax, 0xfffffff8
cmp eax, edi
jb 0x1400a1936
mov dword [rbp + 0xc0], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
lea edx, [r14 + 8]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x1400a18b4
mov edi, 0xc0000017
mov rcx, r15
jmp 0x1400a193b
mov eax, dword [rbp]
mov dword [rsi], eax
lea rcx, [rsi + 4]
cmp rcx, rsi
jb 0x1400a1908
mov eax, dword [rbp + 4]
mov dword [rcx], eax
lea r9, [rcx + 4]
cmp r9, rcx
jb 0x1400a1908
mov edi, r14d
mov ecx, dword [rbp + 0xc0]
mov rax, qword [rbp + 0x2f0]
mov qword [rcx + rsi - 8], rax
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 8]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov rcx, rsi
mov qword [rbp + 0x30], rcx
mov rsi, r14
mov r12d, dword [rbp + 0xc0]
jmp 0x1400a1910
mov rcx, r15
mov edi, 0xc0000095
test rsi, rsi
je 0x1400a193b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp + 0x30]
jmp 0x1400a193b
or dword [rbp + 0xc0], 0xffffffff
mov edi, 0xc0000095
or edi, 0x10000000
jl 0x1400a2f04
mov qword [rbp + 0x408], r14
mov qword [rbp + 0x410], r14
mov qword [rbp + 0x418], r14
mov qword [rbp + 0x420], r14
mov qword [rbp + 0x1b0], r14
mov qword [rbp + 0x400], r14
mov qword [rbp + 0x78], r14
test rcx, rcx
jne 0x1400a1987
mov edi, 0xc000000d
xor r12d, r12d
jmp 0x1400a2115
mov esi, r12d
mov qword [rbp + 0x98], rsi
xor r12d, r12d
test rsi, rsi
je 0x1400a206d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8, [rsi + 8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp + 0x60], rax
xor eax, eax
test r12, r12
je 0x1400a206d
mov dl, al
mov byte [rsp + 0x64], al
mov ecx, eax
mov r10, qword [rbp + 0x30]
test rsi, rsi
je 0x1400a19e9
lea r11d, [rax + 1]
xor dl, byte [rcx + r10]
add rcx, r11
cmp rcx, rsi
jb 0x1400a19d9
mov byte [rsp + 0x64], dl
movabs rcx, 0xc81ecb17b1b54a58
mov qword [rbp + 0x948], rcx
mov r9, r12
mov edi, eax
mov dword [rbp - 0x3c], eax
or r11d, 0xffffffff
mov dword [rbp - 0x54], r11d
mov dword [rbp - 0x38], eax
mov dword [rbp + 0x38], eax
mov r8, rsi
and r8d, 7
je 0x1400a1aef
mov r13d, eax
mov dword [rbp - 0x38], eax
mov ecx, eax
mov dword [rbp + 0x38], eax
mov r11d, eax
test r8d, r8d
je 0x1400a1a6c
mov edi, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x1400a1a4e
lea ecx, [rdi - 0x20]
shl eax, cl
mov ecx, dword [rbp + 0x38]
or ecx, eax
mov dword [rbp + 0x38], ecx
jmp 0x1400a1a58
mov ecx, edi
shl eax, cl
or r13d, eax
mov ecx, dword [rbp + 0x38]
inc r10
inc r11d
sub edi, 8
cmp r11d, r8d
jl 0x1400a1a35
mov dword [rbp - 0x38], r13d
xor eax, eax
mov edi, ecx
xor edi, 0xb17a307a
mov dword [rbp - 0x3c], edi
mov r11d, r13d
xor r11d, 0x42f6b18d
mov dword [rbp - 0x54], r11d
test r8d, r8d
je 0x1400a1ab4
mov ecx, 1
cmp eax, 4
jge 0x1400a1a9c
rol edi, 8
mov byte [r9], dil
jmp 0x1400a1aa3
rol r11d, 8
mov byte [r9], r11b
inc r9
add eax, ecx
cmp eax, r8d
jl 0x1400a1a8f
mov edi, dword [rbp - 0x3c]
mov r11d, dword [rbp - 0x54]
cmp r8d, 4
jbe 0x1400a1ad1
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x54], r11d
jmp 0x1400a1aef
xor eax, eax
mov r11d, eax
mov dword [rbp - 0x54], eax
cmp r8d, 4
jae 0x1400a1aef
lea ecx, [rax + 4]
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp - 0x3c], edi
mov r13, rsi
shr r13, 3
test r13, r13
je 0x1400a1e50
movzx edx, word [rbp + 0x94e]
movzx eax, word [rbp + 0x94a]
mov dword [rsp + 0x70], eax
movzx ebx, word [rbp + 0x94c]
lea r12, [r9 + 7]
lea rsi, [r10 + 2]
mov r15d, dword [rbp - 0x38]
mov r14d, dword [rbp + 0x38]
movzx r10d, byte [rsi - 2]
shl r10d, 8
movzx eax, byte [rsi - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 1]
or r10d, eax
movzx r9d, byte [rsi + 2]
shl r9d, 8
movzx eax, byte [rsi + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 5]
or r9d, eax
xor r11d, r9d
lea rsi, [rsi + 8]
lea r8d, [r11 - 0x4a58]
xor r8d, r10d
xor r8d, edi
xor r8d, dword [rbp + 0x94c]
mov ecx, r8d
mov edi, dword [rbp + 0x94c]
xor ecx, edi
ror ecx, 0xf
mov eax, r8d
ror eax, 7
imul ecx, dword [rsp + 0x70]
add eax, ecx
xor r11d, eax
lea ecx, [r11 - 0x4e4ab5a8]
ror ecx, 9
mov eax, r11d
ror eax, 0xa
imul ecx, ebx
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, ebx
rol ecx, 4
mov eax, r8d
rol eax, 5
imul ecx, edx
add eax, ecx
xor r11d, eax
mov ecx, r11d
xor ecx, 0xb1b54a58
mov eax, edi
sub eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x4a58]
movzx eax, word [rbp + 0x94a]
imul ecx, eax
mov eax, r8d
shr eax, 6
sub ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xf
xor eax, ebx
imul eax, eax, 0x4a58
xor r8d, eax
mov eax, r8d
not eax
ror eax, 3
add eax, edx
imul eax, ebx
xor r11d, eax
mov eax, r11d
sub eax, edi
sub eax, 0x4a58
xor r8d, eax
mov ecx, r8d
ror ecx, 0xa
mov eax, r8d
xor eax, edx
movzx edi, word [rbp + 0x94a]
imul eax, edi
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, 0x4a58
rol ecx, 6
mov eax, r11d
ror eax, 3
imul ecx, ebx
xor eax, ecx
xor r8d, eax
mov eax, r8d
ror eax, 0xf
sub eax, edx
imul eax, eax, 0x4a58
xor r11d, eax
mov eax, r11d
xor eax, edx
imul ecx, eax, 0x4a58
mov eax, r11d
shr eax, 1
xor ecx, eax
xor r8d, ecx
mov eax, r11d
sub eax, ebx
rol eax, 3
mov ecx, r11d
shr ecx, 0xf
imul eax, eax, 0x4a58
xor ecx, eax
xor r8d, ecx
mov ecx, r8d
sub ecx, ebx
imul ecx, edi
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 9
mov eax, r11d
ror eax, 0xb
imul ecx, ebx
xor eax, ecx
xor r8d, eax
mov eax, r8d
sub eax, edx
add eax, 0x4e4ab5a8
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
movzx ecx, word [rbp + 0x94a]
xor eax, ecx
imul ecx, eax, 0x4a58
sub ecx, edi
xor r8d, ecx
mov ecx, r8d
xor ecx, edx
rol ecx, 4
mov eax, r8d
ror eax, 0x10
movzx edi, word [rbp + 0x94a]
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, 0xb1b54a58
sub ecx, r11d
ror ecx, 0xa
mov eax, r11d
ror eax, 4
imul ecx, ebx
add eax, ecx
xor r8d, eax
lea ecx, [r8 + 0x4e4ab5a8]
ror ecx, 4
mov eax, r8d
ror eax, 9
imul ecx, edx
xor eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, dword [rbp + 0x94c]
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4a58
sub eax, ecx
xor r8d, eax
mov ecx, dword [rbp + 0x94c]
sub ecx, r8d
ror ecx, 0xb
mov eax, r8d
ror eax, 0xc
imul ecx, edi
sub ecx, eax
xor r11d, ecx
mov ecx, r11d
xor ecx, edi
imul ecx, ebx
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor r8d, r14d
mov dword [rbp - 0x3c], r8d
xor r11d, r15d
xor r11d, dword [rbp + 0x94c]
xor r11d, eax
xor r11d, 0xb1b54a58
mov dword [rbp - 0x54], r11d
mov byte [r12 - 4], r8b
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x54]
mov byte [r12], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x3c]
mov byte [r12 - 5], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x54]
mov byte [r12 - 1], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x3c]
mov byte [r12 - 6], al
ror dword [rbp - 0x3c], 8
mov al, byte [rbp - 0x54]
mov byte [r12 - 2], al
ror dword [rbp - 0x54], 8
mov al, byte [rbp - 0x3c]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x54]
mov byte [r12 - 3], al
mov edi, dword [rbp - 0x3c]
ror edi, 8
mov dword [rbp - 0x3c], edi
mov r11d, dword [rbp - 0x54]
ror r11d, 8
mov dword [rbp - 0x54], r11d
mov r14d, r10d
mov r15d, r9d
lea r12, [r12 + 8]
sub r13, 1
jne 0x1400a1b28
mov dl, byte [rsp + 0x64]
mov ebx, dword [rsp + 0x60]
mov r14, qword [rbp + 0x78]
mov r15, qword [rbp + 0x68]
mov rsi, qword [rbp + 0x98]
mov r12, qword [rbp + 0x60]
movzx eax, dl
mov qword [r12 + rsi], rax
mov qword [rbp + 0x1b0], r12
lea rdi, [rsi + 8]
mov qword [rbp + 0x400], rdi
lea rax, [0x1400f6460]
mov qword [rbp + 0x408], rax
mov esi, 8
mov qword [rbp + 0x410], rsi
lea r13, [0x1400f63c0]
mov qword [rbp + 0x418], r13
mov qword [rbp + 0x420], RegisterTypeLib
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [rsi + 0x28]
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
jne 0x1400a1ec6
mov edi, 0xc0000017
xor r12d, r12d
jmp 0x1400a2059
mov dword [rsi], edi
mov edi, edi
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 0x1400a1ef3
mov edi, 0xc0000017
xor r12d, r12d
jmp 0x1400a1fd7
mov qword [rsi + 8], rax
mov r8, rdi
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov edi, RegisterTypeLib
mov dword [rsi + 0x10], edi
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]
xor r12d, r12d
test rax, rax
jne 0x1400a1f38
mov edi, 0xc0000017
jmp 0x1400a1fd7
mov qword [rsi + 0x18], rax
movups xmm0, xmmword [r13]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r13 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r13 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r13 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r13 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r13 + 0x60]
movups xmmword [rax + 0x60], xmm0
mov ecx, 0x80
movups xmm1, xmmword [r13 + 0x70]
movups xmmword [rax + rcx - 0x10], xmm1
movups xmm0, xmmword [r13 + rcx]
movups xmmword [rax + rcx], xmm0
movups xmm1, xmmword [r13 + rcx + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
mov dword [rsi + 0x20], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1400a1f2e
mov qword [rsi + 0x28], rax
mov edi, r12d
movsd xmm0, qword [0x1400f6460]
movsd qword [rax], xmm0
mov r14, rsi
mov rsi, r12
test rsi, rsi
je 0x1400a2059
mov r12, qword [rsi + 8]
xor r13d, r13d
test r12, r12
je 0x1400a2000
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r13
mov r12, qword [rsi + 0x18]
test r12, r12
je 0x1400a2021
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r13
mov r12, qword [rsi + 0x28]
test r12, r12
je 0x1400a2045
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r12d, r12d
mov qword [rsi + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, dword [rbp - 0x30]
test edi, edi
js 0x1400a2072
mov qword [rbp + 0x158], r14
mov r14, r12
jmp 0x1400a2072
mov edi, 0xc0000001
mov rsi, qword [rbp + 0x1b0]
test rsi, rsi
je 0x1400a2099
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1b0], r12
test r14, r14
je 0x1400a2115
mov rsi, qword [r14 + 8]
test rsi, rsi
je 0x1400a20bf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 8], r12
mov rsi, qword [r14 + 0x18]
test rsi, rsi
je 0x1400a20e0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r14 + 0x18], r12
mov rsi, qword [r14 + 0x28]
test rsi, rsi
je 0x1400a2101
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [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]
or edi, 0x10000000
jl 0x1400a2f04
mov rsi, qword [rbp + 0x158]
mov edi, dword [rsi + 0x20]
mov edx, dword [rsi + 0x10]
mov ecx, dword [rsi]
add ecx, 4
cmp ecx, 4
jb 0x1400a2259
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400a2259
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x1400a2259
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x1400a2259
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x1400a2259
mov dword [rbp + 0x1e8], 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 r14, rax
test rax, rax
jne 0x1400a219f
mov edi, 0xc0000017
mov r8d, 0xc0000095
jmp 0x1400a2262
mov eax, dword [rsi]
mov dword [r14], eax
lea rdi, [r14 + 4]
cmp rdi, r14
jb 0x1400a2232
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsi]
add rcx, rdi
cmp rcx, rdi
jb 0x1400a2232
mov eax, dword [rsi + 0x10]
mov dword [rcx], eax
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x1400a2232
mov r8d, dword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsi + 0x10]
add rcx, rdi
cmp rcx, rdi
jb 0x1400a2232
mov eax, dword [rsi + 0x20]
mov dword [rcx], eax
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x1400a2232
mov r8d, dword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsi + 0x20]
add rcx, rdi
cmp rcx, rdi
jb 0x1400a2232
mov edi, r12d
mov qword [rbp + 0xb0], r14
mov r14, r12
mov r13d, dword [rbp + 0x1e8]
jmp 0x1400a2237
mov edi, 0xc0000095
test r14, r14
je 0x1400a2194
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400a2194
mov r8d, 0xc0000095
mov edi, r8d
or edi, 0x10000000
jl 0x1400a2f04
mov qword [rbp + 0x340], r12
mov dword [rbp + 0x1bc], r12d
mov qword [rbp + 0x430], r12
mov dword [rbp + 0x1b8], r12d
mov dword [rbp + 0x320], 0x1c
mov dword [rbp + 0x348], 0x28
mov dword [rbp + 0x334], 0x28
mov esi, 1
cmp qword [rbp + 8], r12
jne 0x1400a22bd
mov edi, 0xc000000d
jmp 0x1400a238f
cmp dword [rbp], esi
jbe 0x1400a22b3
mov rax, qword [rbp + 8]
mov edx, r12d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a238c
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a238c
add edx, esi
cmp edx, esi
jb 0x1400a22c9
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a238c
mov dword [rbp + 0x1bc], edi
mov rax, r12
test edi, edi
cmovne rax, rcx
mov qword [rbp + 0x340], rax
cmp dword [rbp], 2
jbe 0x1400a22b3
mov rax, qword [rbp + 8]
mov edx, r12d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a238c
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x1400a238c
add edx, esi
cmp edx, 2
jb 0x1400a231c
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x1400a238c
mov dword [rbp + 0x1b8], edx
mov rax, r12
test edx, edx
cmovne rax, rcx
mov qword [rbp + 0x430], rax
lea eax, [rdi + 0x30]
cmp eax, 0x30
jb 0x1400a238c
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x1400a238c
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x1400a238c
mov dword [rbp + 0x324], eax
mov edi, r12d
cmp eax, 0x400000
jbe 0x1400a2387
mov edi, 0x8000ffff
jmp 0x1400a2f04
mov dword [rbp + 0x58], eax
jmp 0x1400a238f
mov edi, r8d
test edi, edi
js 0x1400a2f04
mov edi, dword [rbp + 0x58]
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 0x1400a23c1
mov edi, 0xd0000017
mov r14, qword [rbp - 0x10]
jmp 0x1400a23cd
mov r14, rax
mov qword [rbp - 0x10], rax
mov edi, 0x10000000
test edi, edi
js 0x1400a2f04
mov rax, qword [rbp + 0xb0]
test rax, rax
jne 0x1400a23eb
mov edi, 0x80070057
jmp 0x1400a2f04
test r14, r14
je 0x1400a23e1
mov qword [rbp + 0x470], rax
mov dword [rbp + 0x480], r13d
mov qword [rbp + 0x478], r14
mov eax, dword [rbp + 0x58]
mov dword [rbp + 0x484], eax
mov dword [rbp + 0x488], r12d
lea r8, [rbp + 0x438]
lea rdx, [0x1400d9ed8]
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400a2451
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x1400a244c
mov edi, 0x80004005
mov edx, dword [rbp + 0x58]
jmp 0x1400a2497
lea rdx, str.NtQuerySystemInformation
mov rcx, qword [rbp + 0x438]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400a242f
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x470]
lea ecx, [r8 + 0x66]
call qword [str.__f_]
mov edi, eax
or edi, 0x10000000
mov edx, dword [rbp + 0x58]
cmovge edx, dword [rbp + 0x484]
mov dword [rbp + 0x58], edx
cmp edi, 0xd0000023
jne 0x1400a24a9
mov edi, 0x8007007a
jmp 0x1400a2f04
test edi, edi
js 0x1400a2f04
mov qword [rbp - 0x48], r12
cmp edx, 4
jae 0x1400a24c4
mov edi, 0xc000003e
jmp 0x1400a27eb
mov r13d, dword [r14]
lea r12, [r14 + 4]
cmp r12, r14
jb 0x1400a27e3
lea eax, [rdx - 4]
cmp eax, r13d
jae 0x1400a24e6
mov edi, 0xc000003e
jmp 0x1400a27e8
lea r9, [r12 + r13]
cmp r9, r12
jb 0x1400a27e3
lea r8d, [r13 + 4]
cmp r8d, 4
jb 0x1400a27e3
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x1400a24dc
mov edi, dword [r9]
lea rcx, [r9 + 4]
cmp rcx, r9
jb 0x1400a27e3
lea r9d, [r8 + 4]
cmp r9d, r8d
jb 0x1400a27e3
mov eax, edx
sub eax, r9d
cmp eax, edi
jb 0x1400a24dc
lea r10, [rcx + rdi]
cmp r10, rcx
jb 0x1400a27e3
lea r8d, [rdi + r9]
cmp r8d, r9d
jb 0x1400a27e3
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x1400a24dc
mov r14d, dword [r10]
lea rax, [r10 + 4]
mov qword [rbp + 0x78], rax
cmp rax, r10
jb 0x1400a27e3
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x1400a27e3
mov eax, edx
sub eax, ecx
cmp eax, r14d
jb 0x1400a24dc
lea r8d, [r14 + rcx]
cmp r8d, ecx
jb 0x1400a27e3
cmp edx, r8d
jne 0x1400a24dc
lea ecx, [r14 + rdi]
add ecx, r13d
add rcx, 0xc
mov eax, edx
cmp rcx, rax
jne 0x1400a24dc
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 rsi, rax
xor r15d, r15d
test rax, rax
jne 0x1400a25df
mov edi, 0xc0000017
xor r12d, r12d
jmp 0x1400a2747
test r12, r12
je 0x1400a2624
mov dword [rax], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400a2610
mov edi, 0xc0000017
xor r12d, r12d
jmp 0x1400a26cb
mov qword [rsi + 8], rax
mov r8, r13
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400a262b
mov dword [rax], r15d
mov qword [rax + 8], r15
lea r15, [r13 + 4]
add r15, r12
je 0x1400a2671
mov dword [rsi + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r12d, r12d
test rax, rax
jne 0x1400a265d
mov edi, 0xc0000017
jmp 0x1400a26cb
mov qword [rsi + 0x18], rax
mov r8, rdi
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400a267c
xor r12d, r12d
mov dword [rsi + 0x10], r12d
mov qword [rsi + 0x18], r12
mov rdi, qword [rbp + 0x78]
test rdi, rdi
je 0x1400a26b9
mov dword [rsi + 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 0x1400a2656
mov qword [rsi + 0x28], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x1400a26c1
mov dword [rsi + 0x20], r12d
mov qword [rsi + 0x28], r12
mov qword [rbp - 0x48], rsi
mov rsi, r12
mov edi, r12d
test rsi, rsi
je 0x1400a2747
mov r14, qword [rsi + 8]
test r14, r14
je 0x1400a26f1
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 [rsi + 8], r12
mov r14, qword [rsi + 0x18]
test r14, r14
je 0x1400a2712
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 [rsi + 0x18], r12
mov r14, qword [rsi + 0x28]
test r14, r14
je 0x1400a2733
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 [rsi + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, r12
test edi, edi
cmovs rsi, qword [rbp - 0x48]
mov r15, qword [rbp - 0x48]
cmovs r15, r12
mov qword [rbp + 0x68], r15
test rsi, rsi
je 0x1400a27eb
mov r14, qword [rsi + 8]
test r14, r14
je 0x1400a2787
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 [rsi + 8], r12
mov r14, qword [rsi + 0x18]
test r14, r14
je 0x1400a27a8
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 [rsi + 0x18], r12
mov r14, qword [rsi + 0x28]
test r14, r14
je 0x1400a27c9
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 [rsi + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x68], r15
jmp 0x1400a27eb
mov edi, 0xc0000095
xor r12d, r12d
or edi, 0x10000000
jl 0x1400a2f04
mov rsi, r12
mov qword [rbp + 0x108], r12
mov qword [rbp + 0x2f8], r12
test r15, r15
jne 0x1400a2817
mov edi, 0xd000000d
jmp 0x1400a2f04
mov rdi, qword [r15 + 8]
mov qword [rbp - 0x48], rdi
test rdi, rdi
je 0x1400a280d
cmp dword [r15], r12d
je 0x1400a280d
mov r14d, dword [r15]
mov dword [rsp + 0x70], r12d
test r14, r14
je 0x1400a2d71
add r14, 0xfffffffffffffff8
mov qword [rbp + 0x98], 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 r12, rax
mov qword [rbp + 0x60], rax
xor ecx, ecx
test rax, rax
je 0x1400a2d67
mov dl, cl
mov byte [rsp + 0x64], cl
movabs rax, 0x7f1137fab69605e
mov qword [rbp + 0x950], rax
mov r10, rdi
mov r9, r12
mov r8, r14
and r8d, 7
mov dword [rbp - 0x4c], ecx
mov r13d, ecx
mov edi, ecx
je 0x1400a2966
or r11d, 0xffffffff
mov dword [rbp - 0x60], r11d
mov r11d, ecx
mov dword [rbp + 0xc4], ecx
test r8d, r8d
je 0x1400a28e6
lea esi, [rcx + 0x38]
movzx eax, byte [r10]
cmp edi, 4
jge 0x1400a28c9
lea ecx, [rsi - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400a28d0
mov ecx, esi
shl eax, cl
or r11d, eax
inc r10
inc edi
sub esi, 8
cmp edi, r8d
jl 0x1400a28b6
mov dword [rbp + 0xc4], r11d
xor ecx, ecx
mov esi, r13d
xor esi, 0x92f65a5
mov dword [rbp - 0x4c], esi
mov edi, r11d
xor edi, 0x699a899c
mov dword [rbp - 0x60], edi
mov eax, ecx
test r8d, r8d
je 0x1400a292f
mov r11d, 1
cmp eax, 4
jge 0x1400a2918
rol esi, 8
mov byte [r9], sil
jmp 0x1400a291e
rol edi, 8
mov byte [r9], dil
inc r9
add eax, r11d
cmp eax, r8d
jl 0x1400a290b
mov esi, dword [rbp - 0x4c]
mov edi, dword [rbp - 0x60]
cmp r8d, 4
jbe 0x1400a2949
mov ecx, 8
sub ecx, r8d
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [rbp - 0x60], edi
jmp 0x1400a2962
mov edi, ecx
mov dword [rbp - 0x60], ecx
jae 0x1400a296b
mov ecx, 4
sub ecx, r8d
shl ecx, 3
shr esi, cl
shl esi, cl
mov dword [rbp - 0x4c], esi
xor ecx, ecx
jmp 0x1400a296b
mov dword [rbp - 0x60], ecx
mov esi, ecx
mov rax, r14
shr rax, 3
test rax, rax
je 0x1400a2ccd
mov r12d, dword [rbp + 0x954]
movzx ebx, r12w
lea r14, [r9 + 7]
lea r15, [r10 + 2]
mov rdx, rax
movzx r11d, byte [r15 - 2]
shl r11d, 8
movzx eax, byte [r15 - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [r15]
or r11d, eax
shl r11d, 8
movzx eax, byte [r15 + 1]
or r11d, eax
movzx r10d, byte [r15 + 2]
shl r10d, 8
movzx eax, byte [r15 + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 5]
or r10d, eax
xor esi, r11d
xor edi, r10d
lea r15, [r15 + 8]
mov r8d, r12d
xor r8d, edi
xor r8d, esi
xor r8d, 0xab69605e
lea ecx, [r8 + 0x54969fa2]
rol ecx, 5
mov eax, r8d
rol eax, 0xa
imul ecx, ebx
add eax, ecx
xor esi, eax
lea edi, [rsi + r12]
ror edi, 9
mov ecx, esi
rol ecx, 2
movzx r9d, word [rbp + 0x952]
mov eax, r9d
imul eax, edi
sub eax, ecx
xor r8d, eax
mov eax, r8d
sub eax, ebx
imul ecx, eax, 0x605e
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor esi, ecx
mov edi, r9d
xor edi, esi
rol edi, 6
mov ecx, esi
rol ecx, 2
movzx r9d, word [rbp + 0x956]
mov eax, r9d
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, r8d
xor ecx, 0xab69605e
mov eax, r12d
sub eax, ecx
xor esi, eax
mov ecx, esi
ror ecx, 6
mov eax, esi
xor eax, ebx
movzx edi, word [rbp + 0x952]
imul eax, edi
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + r12]
ror eax, 0xf
mov ecx, r8d
rol ecx, 2
imul eax, eax, 0x605e
add ecx, eax
xor esi, ecx
lea edi, [rsi + 0x54969fa2]
ror edi, 0xe
mov ecx, esi
rol ecx, 8
mov eax, r9d
imul eax, edi
sub eax, ecx
xor r8d, eax
mov ecx, r8d
xor ecx, 0xab69605e
ror ecx, 0xc
mov eax, r8d
ror eax, 0xa
imul ecx, ebx
xor eax, ecx
xor esi, eax
movzx edi, word [rbp + 0x956]
mov ecx, edi
xor ecx, esi
movzx eax, word [rbp + 0x952]
imul ecx, eax
mov eax, esi
shr eax, 0xa
xor ecx, eax
xor r8d, ecx
mov eax, r8d
not eax
ror eax, 5
add eax, 0x605e
imul eax, edi
xor esi, eax
mov r9d, esi
sub r9d, edi
xor r9d, r8d
xor r9d, 0xab69605e
mov ecx, edi
xor ecx, r9d
rol ecx, 2
imul ecx, ebx
mov eax, r9d
shr eax, 2
add ecx, eax
xor esi, ecx
mov edi, esi
sub edi, r12d
ror edi, 6
mov ecx, esi
rol ecx, 7
movzx r8d, word [rbp + 0x952]
mov eax, r8d
imul eax, edi
add ecx, eax
xor r9d, ecx
mov edi, r9d
ror edi, 9
mov eax, r9d
xor eax, ebx
imul ecx, eax, 0x605e
add edi, ecx
xor esi, edi
mov edi, r8d
xor edi, esi
rol edi, 5
mov ecx, esi
rol ecx, 7
movzx eax, word [rbp + 0x956]
imul eax, edi
add ecx, eax
xor r9d, ecx
mov r8d, r12d
xor r8d, r9d
xor r8d, esi
xor r8d, 0xab69605e
mov eax, r8d
ror eax, 3
movzx esi, word [rbp + 0x952]
sub eax, esi
imul eax, ebx
xor r9d, eax
mov eax, r9d
sub eax, r12d
ror eax, 1
mov ecx, r9d
ror ecx, 6
imul eax, eax, 0x605e
sub eax, ecx
xor r8d, eax
lea ecx, [r8 - 0x54969fa2]
rol ecx, 3
mov edi, r8d
rol edi, 0xe
movzx eax, word [rbp + 0x956]
imul eax, ecx
add edi, eax
xor r9d, edi
lea ecx, [r9 - 0x54969fa2]
rol ecx, 0xf
mov eax, r9d
ror eax, 0xe
imul ecx, ebx
sub ecx, eax
xor r8d, ecx
mov ecx, r8d
xor ecx, 0x605e
imul ecx, esi
mov eax, r8d
shr eax, 3
xor ecx, eax
xor r9d, ecx
mov eax, r9d
xor eax, r12d
rol eax, 4
mov ecx, r9d
rol ecx, 2
imul eax, eax, 0x605e
xor ecx, eax
xor ecx, r13d
xor r8d, ecx
mov dword [rbp - 0x4c], r8d
xor r9d, dword [rbp + 0xc4]
mov dword [rbp - 0x60], r9d
mov byte [r14 - 4], r8b
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x60]
mov byte [r14], al
ror dword [rbp - 0x60], 8
mov al, byte [rbp - 0x4c]
mov byte [r14 - 5], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x60]
mov byte [r14 - 1], al
ror dword [rbp - 0x60], 8
mov al, byte [rbp - 0x4c]
mov byte [r14 - 6], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x60]
mov byte [r14 - 2], al
ror dword [rbp - 0x60], 8
mov al, byte [rbp - 0x4c]
mov byte [r14 - 7], al
mov al, byte [rbp - 0x60]
mov byte [r14 - 3], al
mov esi, dword [rbp - 0x4c]
ror esi, 8
mov dword [rbp - 0x4c], esi
mov edi, dword [rbp - 0x60]
ror edi, 8
mov dword [rbp - 0x60], edi
mov r13d, r11d
mov dword [rbp + 0xc4], r10d
lea r14, [r14 + 8]
mov r8d, 1
sub rdx, r8
jne 0x1400a2991
mov dl, byte [rsp + 0x64]
mov ebx, dword [rsp + 0x60]
mov r15, qword [rbp + 0x68]
mov r14, qword [rbp + 0x98]
mov r12, qword [rbp + 0x60]
xor ecx, ecx
jmp 0x1400a2cd3
mov r8d, 1
mov rax, rcx
test r14, r14
je 0x1400a2ce7
xor dl, byte [rax + r12]
add rax, r8
cmp rax, r14
jb 0x1400a2cdb
movzx eax, dl
mov rcx, qword [rbp - 0x48]
cmp rax, qword [r14 + rcx]
je 0x1400a2d02
mov edi, 0xc004d501
mov rsi, qword [rbp + 0x108]
jmp 0x1400a2d1c
mov rsi, r12
mov qword [rbp + 0x108], r12
xor eax, eax
mov r12d, eax
mov qword [rbp + 0x2f8], r14
mov edi, dword [rsp + 0x70]
test r12, r12
je 0x1400a2d3c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp + 0x108]
xor r12d, r12d
test edi, edi
js 0x1400a2d71
mov r14, rsi
mov qword [rbp - 8], rsi
mov esi, r12d
mov qword [rbp + 0x108], r12
mov ecx, dword [rbp + 0x2f8]
mov dword [rbp + 0xf0], ecx
mov edi, 0x10000000
jmp 0x1400a2d80
mov rsi, qword [rbp + 0x108]
xor r12d, r12d
mov edi, 0xd0000001
mov ecx, dword [rbp + 0xf0]
mov r14, qword [rbp - 8]
test rsi, rsi
je 0x1400a2da6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x108], r12
mov ecx, dword [rbp + 0xf0]
test edi, edi
js 0x1400a2f04
cmp ecx, 4
jae 0x1400a2dbd
mov edi, 0xc000003e
jmp 0x1400a2f00
mov r9d, dword [r14]
mov dword [rbp - 0x30], r9d
lea rdx, [r14 + 4]
cmp rdx, r14
jb 0x1400a2efb
lea eax, [rcx - 4]
cmp eax, 4
jb 0x1400a2db3
mov esi, dword [rdx]
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x1400a2efb
lea eax, [rcx - 8]
cmp eax, esi
jb 0x1400a2db3
lea eax, [rsi + 8]
cmp eax, 8
jb 0x1400a2efb
mov r8d, ecx
lea rdx, [rsi + rdi]
lea rax, [r14 + r8]
cmp rax, rdx
jb 0x1400a2db3
mov rax, r14
sub rax, rsi
sub rax, rdi
add rax, r8
cmp rax, 8
jae 0x1400a2db3
xor eax, eax
mov r14d, eax
mov r13d, eax
test rdi, rdi
je 0x1400a2e8e
mov rcx, rdi
cmp rdx, rdi
jb 0x1400a2efb
jbe 0x1400a2e89
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x1400a2efb
cmp rax, rdx
ja 0x1400a2e7b
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x1400a2e82
mov dword [rbp + 0x31c], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x1400a2efb
mov rcx, r8
cmp r8, rdx
ja 0x1400a2e7b
inc r13d
cmp rcx, rdx
jae 0x1400a2e8c
jmp 0x1400a2e38
mov edi, 0xc000000d
jmp 0x1400a2f00
mov edi, 0xc0000095
jmp 0x1400a2ee9
cmp rcx, rdx
jne 0x1400a2e7b
test esi, esi
je 0x1400a2eb8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x1400a2eb8
mov edi, 0xc0000017
jmp 0x1400a2ee5
test rdi, rdi
je 0x1400a2ecb
mov r8, rsi
mov rdx, rdi
mov rcx, r14
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x128], r14
mov dword [rbp + 0x124], esi
mov dword [rbp + 0x120], r13d
xor r12d, r12d
mov edi, r12d
mov r9d, dword [rbp - 0x30]
test edi, edi
js 0x1400a2f00
cmp r9d, dword [rbp + 0x120]
je 0x1400a2f00
jmp 0x1400a2db3
mov edi, 0xc0000095
bts edi, 0x1c
mov rsi, qword [rbp + 0x30]
xor r12d, r12d
test rsi, rsi
je 0x1400a2f24
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp + 0x158]
test rsi, rsi
je 0x1400a2fae
mov r14, qword [rsi + 8]
test r14, r14
je 0x1400a2f51
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 [rsi + 8], r12
mov r14, qword [rsi + 0x18]
test r14, r14
je 0x1400a2f72
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 [rsi + 0x18], r12
mov r14, qword [rsi + 0x28]
test r14, r14
je 0x1400a2f93
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 [rsi + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x158], r12
mov rsi, qword [rbp + 0xb0]
test rsi, rsi
je 0x1400a2fce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp - 0x10]
test rsi, rsi
je 0x1400a2feb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15, r15
je 0x1400a3067
mov rsi, qword [r15 + 8]
test rsi, rsi
je 0x1400a3011
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 8], r12
mov rsi, qword [r15 + 0x18]
test rsi, rsi
je 0x1400a3032
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x18], r12
mov rsi, qword [r15 + 0x28]
test rsi, rsi
je 0x1400a3053
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r15 + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp - 8]
xor r15d, r15d
test rsi, rsi
je 0x1400a3087
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x1400a3141
mov ecx, dword [rbp + 0x120]
mov r9d, 1
cmp ecx, r9d
jb 0x1400a3141
mov rdi, qword [rbp + 0x128]
test rdi, rdi
je 0x1400a3141
test ecx, ecx
je 0x1400a3141
mov edx, dword [rdi]
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x1400a3141
mov dword [rbp + 0x338], edx
mov rax, r15
test edx, edx
cmovne rax, r8
mov qword [rbp + 0x4d8], rax
cmp edx, 4
jne 0x1400a3141
mov eax, dword [rax]
mov dword [rbp + 0xf8], eax
test eax, eax
js 0x1400a3141
cmp ecx, r9d
jbe 0x1400a3141
mov edx, r15d
lea rcx, [rdi + 4]
cmp rcx, rdi
jb 0x1400a3141
mov edi, dword [rdi]
add rdi, rcx
cmp rdi, rcx
jb 0x1400a3141
add edx, r9d
cmp edx, r9d
jb 0x1400a30f6
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x1400a3141
mov dword [rbp + 0x428], ecx
mov rax, r15
test ecx, ecx
cmovne rax, rdx
mov qword [rbp + 0x4a8], rax
cmp ecx, 8
jne 0x1400a3141
mov rax, qword [rax]
mov qword [rbp + 0x498], rax
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x78]
jmp 0x1400a3158
mov rsi, r12
mov r14, qword [rsp + 0x78]
xor r15d, r15d
and qword [rbp], 0
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x1400a317e
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], r15
and qword [rbp + 0x120], 0
mov rdi, qword [rbp + 0x128]
test rdi, rdi
je 0x1400a31ad
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 + 0x128], r15
test rsi, rsi
je 0x1400a31c6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
je 0x1400a31df
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 + 0xf4]
mov dword [rbp + 0x358], eax
mov esi, dword [rbp + 0x14c]
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x100], r15
mov qword [rbp + 0x1a8], rax
jmp 0x14009a966
mov rsi, r12
jmp 0x1400a3155
mov rsi, r12
jmp 0x1400a3146
cmp ebx, 0xd00000e5
je 0x1400a323a
cmp ebx, 0xc004d501
je 0x1400a323a
cmp ebx, 0xd000003e
jne 0x1400a323f
mov ebx, 0xc004f028
jmp 0x1400a3251
mov ebx, 0xc004f027
test ebx, ebx
jns 0x1400a3256
mov eax, 0x8007007a
cmp ebx, eax
jne 0x1400a3251
mov ebx, 0xc004f01e
mov dword [rbp + 0x48], ebx
jmp 0x1400a326d
cmp esi, 4
jne 0x1400a324c
mov rax, qword [rbp + 0x1a8]
mov ecx, dword [rax]
mov dword [rbp + 0x148], ecx
mov ebx, dword [rbp + 0x48]
lea rcx, [rbp + 0x1a8]
call fcn.1400c056c
test ebx, ebx
jns 0x1400a32c5
lea rax, [0x1400f3190]
mov rcx, qword [0x1400f3190]
cmp rcx, rax
je 0x1400a342d
test byte [rcx + 0x1c], 2
je 0x1400a342d
cmp byte [rcx + 0x19], 2
jb 0x1400a342d
mov edx, 0x3f
mov r9d, ebx
lea r8, [0x1400d8b18]
mov rcx, qword [rcx + 0x10]
call fcn.1400036a8
jmp 0x1400a342d
cmp dword [rbp + 0x148], r15d
jne 0x1400a32d8
mov edi, 0x80004005
jmp 0x1400a3430
mov qword [rbp + 0x248], r15
mov qword [rbp + 0x250], r15
mov qword [rbp + 0x258], r15
mov qword [rbp + 0x240], r15
lea rax, [rbp + 0x240]
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 0x1400a3352
mov ecx, r15d
mov rax, qword [rbp + 0x248]
test rax, rax
je 0x1400a3344
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, eax
mov qword [rbp + 0x248], r15
mov rax, qword [rbp + 0x240]
mov qword [rbp + 0x248], rax
test ecx, ecx
je 0x1400a33ad
movzx edi, cx
or edi, 0x80070000
test ecx, ecx
cmovle edi, ecx
lea rax, [0x1400f3190]
mov rcx, qword [0x1400f3190]
cmp rcx, rax
je 0x1400a339c
test byte [rcx + 0x1c], 2
je 0x1400a339c
cmp byte [rcx + 0x19], 2
jb 0x1400a339c
mov edx, 0x40
mov r9d, edi
lea r8, [0x1400d8b18]
mov rcx, qword [rcx + 0x10]
call fcn.1400036a8
nop
lea rcx, [rbp + 0x248]
call fcn.1400090e8
jmp 0x1400a3430
mov rbx, qword [rbp + 0x440]
mov r8, rbx
lea rdx, str.InternetSharingSecurityGroup
lea rcx, [rbp + 0x248]
call fcn.1400a9468
mov edi, eax
test eax, eax
je 0x1400a3421
mov rcx, rbx
call fcn.140004db8
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov dword [rbp + 0x48], ebx
lea rax, [0x1400f3190]
mov rcx, qword [0x1400f3190]
cmp rcx, rax
je 0x1400a3421
test byte [rcx + 0x1c], 2
je 0x1400a3421
cmp byte [rcx + 0x19], 2
jb 0x1400a3421
mov edx, 0x41
mov r9d, ebx
lea r8, [0x1400d8b18]
mov rcx, qword [rcx + 0x10]
call fcn.1400036a8
nop
lea rcx, [rbp + 0x248]
call fcn.1400090e8
mov edi, dword [rbp + 0x48]
mov eax, edi
mov rcx, qword [rbp + 0x1130]
xor rcx, rsp
call fcn.1400c13a0
lea r11, [rsp + 0x1240]
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