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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1430]
mov eax, 0x1530
call fcn.140001080
sub rsp, rax
mov qword [rbp + 0x818], 0xfffffffffffffffe
mov qword [rsp + 0x1568], rbx
mov qword [rsp + 0x1570], rsi
mov qword [rsp + 0x1578], rdi
mov rax, qword [0x140148058]
xor rax, rsp
mov qword [rbp + 0x1420], rax
mov qword [rbp + 0x668], rcx
xor eax, eax
mov dword [rbp + 0x2d4], eax
mov qword [rbp + 0x348], rax
mov dword [rbp + 0x54], eax
mov ebx, 0x370
or edi, 0xffffffff
mov dword [rbp + 0x9c], edi
lea r14d, [rax + 1]
mov dword [rbp + 0xd0], 0x41
mov qword [rbp + 0xb0], 0x20
cmp dword [0x14014d200], eax
jne 0x1400bffc7
mov dword [rbp], eax
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x490], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
mov qword [rbp + 0x300], rax
xor eax, eax
test rsi, rsi
je 0x1400bff8e
mov r13d, eax
mov ecx, edi
mov r11d, eax
mov dword [rbp + 0x20], eax
mov ebx, eax
mov dword [rbp + 0x3c], eax
lea r14, [rsi + 7]
lea r15, [0x14000b8f2]
lea esi, [rax + 1]
lea r12d, [rax + 0x6e]
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 ebx, r10d
xor r11d, r9d
lea r15, [r15 + 8]
xor r11d, ebx
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
mov edx, r11d
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor ebx, edx
lea eax, [rbx - 0x59c22937]
ror eax, 9
mov edx, ebx
rol edx, 2
imul eax, eax, 0xcf67
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0xcf67
rol eax, 6
mov edx, ebx
rol edx, 2
imul eax, eax, 0xa63d
sub eax, edx
xor r11d, eax
mov edx, r11d
mov r8d, 0xcf6704fb
xor edx, r8d
mov eax, 0xa63dd6c9
sub eax, edx
xor ebx, eax
mov edi, ebx
ror edi, 6
mov eax, ebx
xor eax, 0xd6c9
imul edx, eax, 0xcf67
xor edi, edx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
mov edx, r11d
rol edx, 2
imul eax, eax, 0x4fb
add edx, eax
xor ebx, edx
lea eax, [rbx + 0x3098fb05]
ror eax, 0xe
mov edx, ebx
rol edx, 8
imul eax, eax, 0xa63d
sub eax, edx
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xc
mov edx, r11d
ror edx, 0xa
imul eax, eax, 0xd6c9
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, ebx
shr eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor ebx, eax
mov edx, r11d
xor edx, r8d
mov edi, 0xa63dd6c9
mov eax, edi
sub eax, edx
xor ebx, eax
lea eax, [rbx - 0x3098fb05]
rol eax, 3
mov edx, ebx
rol edx, 6
imul eax, eax, 0xa63d
add edx, eax
xor r11d, edx
mov eax, r8d
sub eax, r11d
ror eax, 9
mov edx, r11d
ror edx, 8
imul eax, eax, 0xd6c9
sub eax, edx
xor ebx, eax
xor r11d, ebx
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, ebx
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 9
mov eax, r11d
mov ebx, 0xa63d
xor eax, ebx
imul edx, eax, 0xd6c9
sub edx, edi
xor r8d, edx
mov eax, r8d
xor eax, ebx
imul edx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 2
mov eax, r11d
xor eax, 0xcf67
imul edx, eax, 0x4fb
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
mov edx, r11d
rol edx, 0xb
imul eax, eax, 0xd6c9
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, ebx
rol eax, 2
mov edx, r8d
rol edx, 0xc
imul eax, eax, 0xcf67
add edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
mov edx, r11d
rol edx, 0xe
imul eax, eax, 0x4fb
add edx, eax
xor edx, r13d
xor r8d, edx
mov dword [rbp + 0x3c], r8d
xor r11d, ecx
mov dword [rbp + 0x20], r11d
mov byte [r14 - 4], r8b
ror dword [rbp + 0x3c], 8
mov al, byte [rbp + 0x20]
mov byte [r14], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x3c]
mov byte [r14 - 5], al
ror dword [rbp + 0x3c], 8
mov al, byte [rbp + 0x20]
mov byte [r14 - 1], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x3c]
mov byte [r14 - 6], al
ror dword [rbp + 0x3c], 8
mov al, byte [rbp + 0x20]
mov byte [r14 - 2], al
ror dword [rbp + 0x20], 8
mov al, byte [rbp + 0x3c]
mov byte [r14 - 7], al
mov al, byte [rbp + 0x20]
mov byte [r14 - 3], al
mov ebx, dword [rbp + 0x3c]
ror ebx, 8
mov dword [rbp + 0x3c], ebx
mov r11d, dword [rbp + 0x20]
ror r11d, 8
mov dword [rbp + 0x20], r11d
mov r13d, r10d
mov ecx, r9d
lea r14, [r14 + 8]
sub r12, rsi
jne 0x1400bfa1e
xor eax, eax
mov cl, al
mov rsi, qword [rbp + 0x300]
mov r12d, eax
mov r13d, eax
mov ebx, 0x370
lea r14d, [rax + 1]
xor cl, byte [rax + rsi]
add rax, r14
cmp rax, rbx
jb 0x1400bfd3e
movzx eax, cl
cmp rax, qword [0x14000bc60]
je 0x1400bfd5d
mov r13d, 0xc004d501
jmp 0x1400bfd6f
mov qword [rbp + 0x2f0], rsi
xor eax, eax
mov esi, eax
mov qword [rbp + 0x490], rbx
test rsi, rsi
je 0x1400bfd88
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13d, r13d
js 0x1400bff8e
mov rdi, qword [rbp + 0x2f0]
mov rax, qword [rbp + 0x490]
xor r8d, r8d
mov byte [rax + rdi - 1], r8b
xor eax, eax
cmp byte [rdi], al
je 0x1400bff96
mov r15d, 0xc000007b
lea r13, [0x140000000]
mov qword [rbp + 0x540], rax
xor eax, eax
mov qword [rbp + 0x548], rax
mov qword [rbp + 0x550], rax
mov rsi, rdi
or rax, 0xffffffffffffffff
xor r8d, r8d
inc rax
cmp word [rdi + rax*2], r8w
jne 0x1400bfddf
lea rdi, [rdi + rax*2]
mov rax, qword gs:[0x60]
mov rbx, qword [rax + 0x18]
add rbx, 0x10
mov rdx, qword [rbx]
cmp rdx, rbx
je 0x1400bff0a
mov r10, rsi
mov r11, qword [rdx + 0x60]
movzx r9d, word [r11]
movzx eax, r9w
mov ecx, 0x41
sub ax, cx
cmp ax, 0x19
ja 0x1400bfe30
lea eax, [rcx - 0x21]
lea ecx, [rax + r9]
jmp 0x1400bfe34
movzx ecx, r9w
movzx r8d, word [r10]
movzx eax, r8w
sub ax, word [rbp + 0xd0]
cmp ax, 0x19
movzx eax, r8w
ja 0x1400bfe54
add ax, word [rbp + 0xb0]
movzx eax, ax
movzx ecx, cx
sub ecx, eax
jne 0x1400bfe76
add r11, 2
xor eax, eax
test r9w, r9w
je 0x1400bfe8c
add r10, 2
test r8w, r8w
jne 0x1400bfe11
jmp 0x1400bfe78
xor eax, eax
test ecx, ecx
js 0x1400bfe84
cmovg ecx, r14d
test ecx, ecx
je 0x1400bfe8c
mov rdx, qword [rdx]
jmp 0x1400bfe01
mov rcx, qword [rdx + 0x30]
mov qword [rbp + 0x540], rcx
mov eax, dword [rdx + 0x40]
mov dword [rbp + 0x548], eax
xor eax, eax
mov ebx, eax
mov edx, 0x5a4d
cmp word [rcx], dx
jne 0x1400bfed4
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x10000000
jae 0x1400bfed4
mov rcx, rax
add rcx, qword [rbp + 0x540]
cmp rcx, qword [rbp + 0x540]
jb 0x1400bfed4
cmp dword [rcx], 0x4550
je 0x1400bfed9
mov ebx, r15d
jmp 0x1400bff04
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400bfef6
mov ebx, 0xc000000d
jmp 0x1400bff04
mov rax, qword [rcx + 0x88]
mov qword [rbp + 0x54c], rax
test ebx, ebx
jns 0x1400bff12
jmp 0x1400bff0f
mov ebx, 0xc000007a
mov r12d, ebx
mov eax, dword [rdi + 2]
add rdi, 6
test eax, eax
je 0x1400bff82
mov esi, eax
xor eax, eax
mov qword [rbp + 0x4c8], rax
mov rcx, rdi
or rax, 0xffffffffffffffff
xor r8d, r8d
inc rax
cmp byte [rdi + rax], r8b
jne 0x1400bff32
inc rdi
add rdi, rax
xor eax, eax
test ebx, ebx
js 0x1400bff79
lea r9, [rbp + 0x4c8]
lea r8, [rbp + 0x540]
xor edx, edx
call fcn.140104050
test eax, eax
jns 0x1400bff65
mov r12d, eax
jmp 0x1400bff77
mov ecx, dword [rbp]
mov rax, qword [rbp + 0x4c8]
mov qword [r13 + rcx*8 + 0x148d20], rax
xor eax, eax
add dword [rbp], r14d
sub rsi, r14
jne 0x1400bff21
xor eax, eax
cmp byte [rdi], al
jne 0x1400bfdbe
jmp 0x1400bff96
xor eax, eax
mov r12d, 0xc000007a
cmp qword [rbp + 0x2f0], rax
je 0x1400bffb7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x2f0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x1400bffc5
mov eax, r14d
xchg dword [0x14014d200], eax
xor eax, eax
mov dword [rbp + 0x280], eax
mov dword [rbp + 0x1a4], eax
lea rcx, [rbp + 0x218]
call fcn.140029e3c
nop
xor eax, eax
mov dword [rbp + 0xcc], eax
or qword [rbp + 0x300], 0xffffffffffffffff
xor edx, edx
lea r8d, [rax + 0x20]
lea rcx, [rbp + 0x820]
call sub.msvcrt.dll_memset
xor eax, eax
mov dword [rbp + 0x110], eax
lea rcx, [rbp + 0x378]
call fcn.140029e3c
nop
lea rcx, [rbp + 0x368]
call fcn.140029e3c
nop
xor eax, eax
mov r14d, eax
mov esi, eax
mov rax, qword gs:[0x60]
mov ebx, 0x80004005
mov r13d, 0x80070000
xor r8d, r8d
cmp dword [rax + 0x2c0], r8d
je 0x1400c02f5
mov rdi, qword [0x140148e48]
mov rcx, rdi
call qword [fcn.140015690]
call rdi
mov r12, rax
test rax, rax
jne 0x1400c0089
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r13d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c02fc
mov esi, ebx
jmp 0x1400c02fc
lea rcx, [rbp + 0x178]
call fcn.140029e3c
nop
xor eax, eax
mov esi, eax
mov r15d, eax
mov rdi, qword [rbp + 0x178]
mov rbx, qword [0x140148e68]
mov rcx, rbx
call qword [fcn.140015690]
lea rax, [rbp + 0x2e8]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8, rdi
mov edx, 2
mov rcx, r12
call rbx
xor edi, edi
test eax, eax
jne 0x1400c015a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400c0143
xor eax, eax
cmp qword [rbp + 0x178], rax
jne 0x1400c0138
mov edi, dword [rbp + 0x2e8]
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 + 0x178]
call fcn.140104374
mov qword [rbp + 0x178], rdi
test rdi, rdi
je 0x1400c0131
mov r15d, dword [rbp + 0x2e8]
jmp 0x1400c00a4
mov esi, 0x8007000e
jmp 0x1400c016f
mov r15d, 0x80004005
mov esi, r15d
jmp 0x1400c0175
mov r15d, 0x80004005
test eax, eax
je 0x1400c013e
movzx esi, ax
or esi, r13d
test eax, eax
cmovle esi, eax
jmp 0x1400c0175
mov rax, qword [rbp + 0x178]
mov qword [rbp + 0x178], rdi
mov qword [rbp + 0x378], rax
mov r15d, 0x80004005
lea rcx, [rbp + 0x178]
call fcn.140104374
test esi, esi
js 0x1400c02fc
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
mov rbx, qword [0x140148e60]
mov rcx, rbx
call qword [fcn.140015690]
mov ecx, edi
call rbx
mov r12, rax
test rax, rax
jne 0x1400c01ce
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, r13d
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c02fc
mov esi, r15d
jmp 0x1400c02fc
lea rcx, [rbp + 0x1b0]
call fcn.140029e3c
nop
xor eax, eax
mov esi, eax
mov r15d, eax
mov rdi, qword [rbp + 0x1b0]
mov rbx, qword [0x140148e68]
mov rcx, rbx
call qword [fcn.140015690]
lea rax, [rbp + 0x294]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8, rdi
mov edx, 2
mov rcx, r12
call rbx
xor edi, edi
test eax, eax
jne 0x1400c0291
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400c0280
xor eax, eax
cmp qword [rbp + 0x1b0], rax
jne 0x1400c0279
mov edi, dword [rbp + 0x294]
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 + 0x1b0]
call fcn.140104374
mov qword [rbp + 0x1b0], rdi
test rdi, rdi
je 0x1400c0272
mov r15d, dword [rbp + 0x294]
jmp 0x1400c01e9
mov esi, 0x8007000e
jmp 0x1400c02a6
mov esi, 0x80004005
jmp 0x1400c02a6
test eax, eax
je 0x1400c0279
movzx esi, ax
or esi, r13d
test eax, eax
cmovle esi, eax
jmp 0x1400c02a6
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x1b0], rdi
mov qword [rbp + 0x368], rax
lea rcx, [rbp + 0x1b0]
call fcn.140104374
test esi, esi
js 0x1400c02fc
mov rcx, qword [rbp + 0x378]
test rcx, rcx
je 0x1400c02f5
lea rdx, [0x1400097a0]
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1400c02f5
mov rcx, qword [rbp + 0x368]
test rcx, rcx
je 0x1400c02f5
lea rdx, [0x1400097b0]
call sub.msvcrt.dll_wcscmp
test eax, eax
mov eax, 1
cmove r14d, eax
mov dword [rbp + 0xcc], r14d
lea rcx, [rbp + 0x368]
call fcn.140104374
nop
lea rcx, [rbp + 0x378]
call fcn.140104374
xor eax, eax
test esi, esi
jns 0x1400c0323
mov dword [rbp + 0xcc], eax
jmp 0x1400c037e
mov dword [rbp + 0x820], eax
mov dword [rbp + 0x824], 0x80000000
mov rdi, qword [0x140148df0]
mov rcx, rdi
call qword [fcn.140015690]
lea rcx, [rbp + 0x820]
call rdi
mov rbx, rax
mov qword [rbp + 0x300], rax
cmp rax, 0xffffffffffffffff
je 0x1400c037c
mov rdi, qword [0x140148df8]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 3
mov rcx, rbx
call rdi
mov dword [rbp + 0x110], eax
xor eax, eax
mov dword [rbp + 0x1a4], eax
mov r13d, 4
mov edx, r13d
lea ecx, [r13 + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x218]
call fcn.1401043ac
mov qword [rbp + 0x218], rdi
xor eax, eax
mov r15d, 0x8007007a
test rdi, rdi
jne 0x1400c03c7
lea r14d, [r15 - 0x6c]
jmp 0x1400ca087
mov r15, rax
mov qword [rbp + 8], rax
mov ebx, eax
mov r12, rax
mov qword [rbp - 0x10], rax
mov esi, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov dword [rbp + 0x2c8], eax
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rax
mov dword [rbp + 0xe0], eax
lea rcx, [0x14014a510]
mov qword [rbp + 0x6a0], rcx
mov edi, LoadRegTypeLib
mov qword [rbp + 0x4e8], rdi
mov r14d, eax
mov dword [rsp + 0x60], eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
xor eax, eax
test rdi, rdi
jne 0x1400c044c
mov r14d, 0xc0000017
mov dword [rsp + 0x60], r14d
jmp 0x1400c0471
mov r8, qword [rbp + 0x4e8]
mov rdx, qword [rbp + 0x6a0]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov r15, rdi
mov qword [rbp + 8], rdi
mov ebx, dword [rbp + 0x4e8]
xor eax, eax
lea rcx, [0x14014a658]
test r14d, r14d
js 0x1400c3873
mov qword [rbp + 0x6a8], rcx
mov edi, 8
mov qword [rbp + 0x4f8], rdi
mov r14d, eax
mov dword [rsp + 0x60], eax
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
test rax, rax
jne 0x1400c04c4
mov r14d, 0xc0000017
mov dword [rsp + 0x60], r14d
jmp 0x1400c04e7
mov r8, qword [rbp + 0x4f8]
mov rdx, qword [rbp + 0x6a8]
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov r12, rdi
mov qword [rbp - 0x10], rdi
mov esi, dword [rbp + 0x4f8]
test r14d, r14d
js 0x1400c3871
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x558], rax
xor eax, eax
mov dword [rbp - 0x1c], eax
lea r8, [rbp + 0x44c]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp - 8]
xor eax, eax
test r14d, r14d
cmovns edx, dword [rbp + 0x44c]
mov dword [rbp - 8], edx
js 0x1400c3873
lea r8, [rbp - 0x1c]
mov ecx, dword [rbp - 0x1c]
call fcn.1401043d0
mov r14d, eax
mov edi, 0x10000000
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c3871
lea r8, [rbp + 0x470]
mov edx, ebx
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp - 8]
xor eax, eax
test r14d, r14d
cmovns edx, dword [rbp + 0x470]
mov dword [rbp - 8], edx
js 0x1400c3873
lea r8, [rbp - 0x1c]
mov ecx, dword [rbp - 0x1c]
call fcn.1401043d0
mov r14d, eax
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c3871
lea r8, [rbp + 0x48c]
mov edx, esi
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp - 8]
xor eax, eax
test r14d, r14d
cmovns edx, dword [rbp + 0x48c]
mov dword [rbp - 8], edx
js 0x1400c3873
lea r8, [rbp - 0x1c]
mov ecx, dword [rbp - 0x1c]
call fcn.1401043d0
mov r14d, eax
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c3871
lea r8, [rbp + 0x410]
mov edx, 8
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp - 8]
xor eax, eax
test r14d, r14d
cmovns edx, dword [rbp + 0x410]
mov dword [rbp - 8], edx
js 0x1400c3873
lea r8, [rbp - 0x1c]
mov ecx, dword [rbp - 0x1c]
call fcn.1401043d0
mov r14d, eax
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c3871
lea r8, [rbp + 0x508]
mov edx, 0x7fffffff
lea rcx, [0x1400ca340]
call fcn.140104410
test eax, eax
jns 0x1400c0669
mov r14d, 0xc000003e
mov edx, dword [rbp - 8]
jmp 0x1400c069e
mov rax, qword [rbp + 0x508]
inc rax
mov qword [rbp + 0x508], rax
lea edx, [rax + rax]
lea r8, [rbp + 0x484]
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov edx, dword [rbp - 8]
test eax, eax
cmovns edx, dword [rbp + 0x484]
mov dword [rbp - 8], edx
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400c3871
lea r8, [rbp - 0x1c]
mov ecx, dword [rbp - 0x1c]
call fcn.1401043d0
mov r14d, eax
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c3871
lea r8, [rbp + 0x358]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp - 8]
xor eax, eax
test r14d, r14d
cmovns edx, dword [rbp + 0x358]
mov dword [rbp - 8], edx
js 0x1400c3873
lea r8, [rbp - 0x1c]
mov ecx, dword [rbp - 0x1c]
call fcn.1401043d0
mov r14d, eax
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c3871
lea r8, [rbp + 0x448]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp - 8]
xor eax, eax
test r14d, r14d
cmovns edx, dword [rbp + 0x448]
mov dword [rbp - 8], edx
js 0x1400c3873
lea r8, [rbp - 0x1c]
mov ecx, dword [rbp - 0x1c]
call fcn.1401043d0
mov r14d, eax
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c3871
mov eax, dword [rbp - 0x1c]
mov dword [rsp + 0x6c], eax
xor r13d, r13d
mov r14d, r13d
mov dword [rsp + 0x60], r13d
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
lea edx, [r13 + 8]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c07a1
mov r14d, 0xc0000017
mov dword [rsp + 0x60], r14d
jmp 0x1400c07ac
mov qword [rsp + 0x70], rax
xor eax, eax
mov dword [rsp + 0x68], eax
test r14d, r14d
js 0x1400c3871
mov dword [rbp + 0x210], eax
lea rax, [rbp + 0x210]
test rax, rax
je 0x1400c0923
xor eax, eax
cmp qword [rsp + 0x70], rax
jne 0x1400c083e
lea r8, [rbp + 0x360]
lea edi, [rax + 4]
mov edx, edi
mov ecx, edi
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1a8]
test eax, eax
cmovns edx, dword [rbp + 0x360]
mov dword [rbp + 0x1a8], edx
js 0x1400c091b
lea r8, [rsp + 0x6c]
mov ecx, dword [rsp + 0x6c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c091b
lea r13d, [rdi - 3]
add dword [rsp + 0x68], r13d
mov r14d, eax
mov dword [rsp + 0x60], eax
jmp 0x1400c0934
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x268], rcx
mov edi, eax
mov r13d, 1
cmp dword [rsp + 0x68], eax
jbe 0x1400c08be
lea r8, [rbp + 0x488]
mov edx, dword [rcx]
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1a8]
test r14d, r14d
cmovns eax, dword [rbp + 0x488]
mov dword [rbp + 0x1a8], eax
js 0x1400c091b
mov edx, eax
lea r8, [rbp + 0x268]
mov rcx, qword [rbp + 0x268]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c091b
add edi, r13d
mov rcx, qword [rbp + 0x268]
cmp edi, dword [rsp + 0x68]
jb 0x1400c0858
mov edi, 4
mov dword [rbp + 0x760], edi
lea r8, [rbp + 0x768]
mov edx, edi
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c091b
mov ecx, dword [rsp + 0x6c]
add rcx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x268]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x1400c0903
mov r14d, 0xc0000023
jmp 0x1400c092f
mov dword [rdx], edi
mov rcx, qword [rbp + 0x768]
mov eax, dword [rbp + 0x210]
mov dword [rcx], eax
add dword [rsp + 0x68], r13d
jmp 0x1400c0934
mov r13d, 1
jmp 0x1400c0934
mov r14d, 0xc000000d
mov r13d, 1
mov dword [rsp + 0x60], r14d
xor eax, eax
test r14d, r14d
js 0x1400c3873
test r15, r15
jne 0x1400c094d
test ebx, ebx
je 0x1400c0955
jmp 0x1400c0aa6
test ebx, ebx
je 0x1400c0aa6
cmp qword [rsp + 0x70], rax
jne 0x1400c09c2
lea r8, [rbp + 0x370]
mov edx, ebx
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x19c]
test eax, eax
cmovns edx, dword [rbp + 0x370]
mov dword [rbp + 0x19c], edx
js 0x1400c0aa2
lea r8, [rsp + 0x6c]
mov ecx, dword [rsp + 0x6c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c0aa2
add dword [rsp + 0x68], r13d
mov r14d, eax
mov dword [rsp + 0x60], eax
jmp 0x1400c0ab1
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x2b0], rcx
mov edi, eax
cmp dword [rsp + 0x68], eax
jbe 0x1400c0a3c
lea r8, [rbp + 0x40c]
mov edx, dword [rcx]
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x19c]
test r14d, r14d
cmovns eax, dword [rbp + 0x40c]
mov dword [rbp + 0x19c], eax
js 0x1400c0aa2
mov edx, eax
lea r8, [rbp + 0x2b0]
mov rcx, qword [rbp + 0x2b0]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c0aa2
add edi, r13d
mov rcx, qword [rbp + 0x2b0]
cmp edi, dword [rsp + 0x68]
jb 0x1400c09d6
mov dword [rbp + 0x770], ebx
lea r8, [rbp + 0x778]
mov edx, 4
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c0aa2
mov r8d, ebx
mov ecx, dword [rsp + 0x6c]
add rcx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x2b0]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x1400c0a87
mov r14d, 0xc0000023
xor eax, eax
jmp 0x1400c0aac
mov dword [rdx], ebx
test r15, r15
je 0x1400c0a9d
mov rdx, r15
mov rcx, qword [rbp + 0x778]
call sub.msvcrt.dll_memcpy
add dword [rsp + 0x68], r13d
xor eax, eax
jmp 0x1400c0ab1
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400c3871
test r12, r12
jne 0x1400c0ac8
test esi, esi
je 0x1400c0ad0
jmp 0x1400c0c25
test esi, esi
je 0x1400c0c25
cmp qword [rsp + 0x70], rax
jne 0x1400c0b3d
lea r8, [rbp + 0x380]
mov edx, esi
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1cc]
test eax, eax
cmovns edx, dword [rbp + 0x380]
mov dword [rbp + 0x1cc], edx
js 0x1400c3871
lea r8, [rsp + 0x6c]
mov ecx, dword [rsp + 0x6c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c3871
add dword [rsp + 0x68], r13d
mov r14d, eax
mov dword [rsp + 0x60], eax
jmp 0x1400c0c30
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x278], rcx
mov edi, eax
cmp dword [rsp + 0x68], eax
jbe 0x1400c0bbb
lea r8, [rbp + 0x414]
mov edx, dword [rcx]
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1cc]
test r14d, r14d
cmovns eax, dword [rbp + 0x414]
mov dword [rbp + 0x1cc], eax
js 0x1400c3871
mov edx, eax
lea r8, [rbp + 0x278]
mov rcx, qword [rbp + 0x278]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c3871
add edi, r13d
mov rcx, qword [rbp + 0x278]
cmp edi, dword [rsp + 0x68]
jb 0x1400c0b51
mov dword [rbp + 0x790], esi
lea r8, [rbp + 0x798]
mov edx, 4
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c3871
mov r8d, esi
mov ecx, dword [rsp + 0x6c]
add rcx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x278]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x1400c0c08
mov r14d, 0xc0000023
jmp 0x1400c0c2b
mov dword [rdx], esi
test r12, r12
je 0x1400c0c1e
mov rdx, r12
mov rcx, qword [rbp + 0x798]
call sub.msvcrt.dll_memcpy
add dword [rsp + 0x68], r13d
jmp 0x1400c0c30
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400c3871
mov rax, qword [rbp + 0x558]
mov qword [rbp + 0x4a0], rax
lea rax, [rbp + 0x4a0]
test rax, rax
je 0x1400c0da8
xor eax, eax
cmp qword [rsp + 0x70], rax
jne 0x1400c0cc5
lea r8, [rbp + 0x390]
lea edx, [rax + 8]
lea ecx, [rax + 4]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1b8]
test eax, eax
cmovns edx, dword [rbp + 0x390]
mov dword [rbp + 0x1b8], edx
js 0x1400c0db3
lea r8, [rsp + 0x6c]
mov ecx, dword [rsp + 0x6c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c0db3
add dword [rsp + 0x68], r13d
mov r14d, eax
mov dword [rsp + 0x60], eax
jmp 0x1400c0db3
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x2e0], rcx
mov edi, eax
cmp dword [rsp + 0x68], eax
jbe 0x1400c0d43
lea r8, [rbp + 0x41c]
mov edx, dword [rcx]
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1b8]
test r14d, r14d
cmovns eax, dword [rbp + 0x41c]
mov dword [rbp + 0x1b8], eax
js 0x1400c0db3
mov edx, eax
lea r8, [rbp + 0x2e0]
mov rcx, qword [rbp + 0x2e0]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c0db3
add edi, r13d
mov rcx, qword [rbp + 0x2e0]
cmp edi, dword [rsp + 0x68]
jb 0x1400c0cd9
mov dword [rbp + 0x7b0], 8
lea r8, [rbp + 0x7b8]
mov edx, 4
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c0db3
mov ecx, dword [rsp + 0x6c]
add rcx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x2e0]
lea rax, [rdx + 0xc]
cmp rax, rcx
jbe 0x1400c0d8a
mov r14d, 0xc0000023
jmp 0x1400c0dae
mov dword [rdx], 8
mov rcx, qword [rbp + 0x7b8]
mov rax, qword [rbp + 0x4a0]
mov qword [rcx], rax
add dword [rsp + 0x68], r13d
jmp 0x1400c0db3
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
xor eax, eax
test r14d, r14d
js 0x1400c3873
lea r8, [rbp + 0x388]
mov edx, 0x7fffffff
lea rsi, [0x1400ca340]
mov rcx, rsi
call fcn.140104410
test eax, eax
jns 0x1400c0de8
mov r14d, 0xc000003e
jmp 0x1400c0f82
lea r8, [rbp + 0x388]
mov rdx, r13
mov rcx, qword [rbp + 0x388]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c3871
mov eax, dword [rbp + 0x388]
lea edi, [rax + rax]
xor eax, eax
test rsi, rsi
jne 0x1400c0e26
test edi, edi
je 0x1400c0e2e
jmp 0x1400c0f7c
test edi, edi
je 0x1400c0f7c
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x1400c0e9e
lea r8, [rbp + 0x3a0]
mov edx, edi
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x188]
test eax, eax
cmovns edx, dword [rbp + 0x3a0]
mov dword [rbp + 0x188], edx
js 0x1400c3871
lea r8, [rsp + 0x6c]
mov ecx, dword [rsp + 0x6c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c3871
add dword [rsp + 0x68], r13d
mov r14d, eax
mov dword [rsp + 0x60], eax
jmp 0x1400c0f87
mov qword [rbp + 0x288], rcx
mov ebx, eax
cmp dword [rsp + 0x68], eax
jbe 0x1400c0f17
lea r8, [rbp + 0x424]
mov edx, dword [rcx]
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x188]
test r14d, r14d
cmovns eax, dword [rbp + 0x424]
mov dword [rbp + 0x188], eax
js 0x1400c3871
mov edx, eax
lea r8, [rbp + 0x288]
mov rcx, qword [rbp + 0x288]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c3871
add ebx, r13d
mov rcx, qword [rbp + 0x288]
cmp ebx, dword [rsp + 0x68]
jb 0x1400c0ead
mov dword [rbp + 0x7d0], edi
lea r8, [rbp + 0x7d8]
mov edx, 4
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c3871
mov r8d, edi
mov ecx, dword [rsp + 0x6c]
add rcx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x288]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x1400c0f64
mov r14d, 0xc0000023
jmp 0x1400c0f82
mov dword [rdx], edi
mov rdx, rsi
mov rcx, qword [rbp + 0x7d8]
call sub.msvcrt.dll_memcpy
add dword [rsp + 0x68], r13d
jmp 0x1400c0f87
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400c3871
mov eax, dword [rbp + 0xcc]
mov dword [rbp + 0x260], eax
lea rax, [rbp + 0x260]
test rax, rax
je 0x1400c10f2
xor eax, eax
cmp qword [rsp + 0x70], rax
jne 0x1400c101b
lea r8, [rbp + 0x3b0]
lea edi, [rax + 4]
mov edx, edi
mov ecx, edi
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x190]
test eax, eax
cmovns edx, dword [rbp + 0x3b0]
mov dword [rbp + 0x190], edx
js 0x1400c10fd
lea r8, [rsp + 0x6c]
mov ecx, dword [rsp + 0x6c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c10fd
add dword [rsp + 0x68], r13d
mov r14d, eax
mov dword [rsp + 0x60], eax
jmp 0x1400c10fd
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x2c0], rcx
mov edi, eax
cmp dword [rsp + 0x68], eax
jbe 0x1400c1095
lea r8, [rbp + 0x42c]
mov edx, dword [rcx]
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x190]
test r14d, r14d
cmovns eax, dword [rbp + 0x42c]
mov dword [rbp + 0x190], eax
js 0x1400c10fd
mov edx, eax
lea r8, [rbp + 0x2c0]
mov rcx, qword [rbp + 0x2c0]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c10fd
add edi, r13d
mov rcx, qword [rbp + 0x2c0]
cmp edi, dword [rsp + 0x68]
jb 0x1400c102f
mov edi, 4
mov dword [rbp + 0x7a0], edi
lea r8, [rbp + 0x7a8]
mov edx, edi
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c10fd
mov ecx, dword [rsp + 0x6c]
add rcx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x2c0]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x1400c10da
mov r14d, 0xc0000023
jmp 0x1400c10f8
mov dword [rdx], edi
mov rcx, qword [rbp + 0x7a8]
mov eax, dword [rbp + 0x260]
mov dword [rcx], eax
add dword [rsp + 0x68], r13d
jmp 0x1400c10fd
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
xor eax, eax
test r14d, r14d
js 0x1400c3873
lea r13d, [rax + 4]
mov dword [rbp + 0x220], r13d
lea rax, [rbp + 0x220]
test rax, rax
je 0x1400c1269
xor eax, eax
cmp qword [rsp + 0x70], rax
jne 0x1400c1193
lea r8, [rbp + 0x3c0]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x1d0]
test eax, eax
cmovns edx, dword [rbp + 0x3c0]
mov dword [rbp + 0x1d0], edx
js 0x1400c1274
lea r8, [rsp + 0x6c]
mov ecx, dword [rsp + 0x6c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c1274
lea ebx, [rax + 1]
add dword [rsp + 0x68], ebx
mov r14d, eax
mov dword [rsp + 0x60], eax
jmp 0x1400c1274
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x228], rcx
mov edi, eax
mov ebx, 1
cmp dword [rsp + 0x68], eax
jbe 0x1400c120f
lea r8, [rbp + 0x434]
mov edx, dword [rcx]
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1d0]
test r14d, r14d
cmovns eax, dword [rbp + 0x434]
mov dword [rbp + 0x1d0], eax
js 0x1400c1274
mov edx, eax
lea r8, [rbp + 0x228]
mov rcx, qword [rbp + 0x228]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c1274
add edi, ebx
mov rcx, qword [rbp + 0x228]
cmp edi, dword [rsp + 0x68]
jb 0x1400c11ac
mov dword [rbp + 0x7f0], r13d
lea r8, [rbp + 0x7f8]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c1274
mov ecx, dword [rsp + 0x6c]
add rcx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x228]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x1400c1251
mov r14d, 0xc0000023
jmp 0x1400c126f
mov dword [rdx], r13d
mov rcx, qword [rbp + 0x7f8]
mov eax, dword [rbp + 0x220]
mov dword [rcx], eax
add dword [rsp + 0x68], ebx
jmp 0x1400c1274
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
xor eax, eax
test r14d, r14d
js 0x1400c3873
lea r8, [rbp + 0x3d0]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x48]
test r14d, r14d
cmovns eax, dword [rbp + 0x3d0]
mov dword [rbp + 0x48], eax
js 0x1400c141b
mov dword [rbp + 0x4c], eax
lea r8, [rbp + 0x43c]
mov edx, 8
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x48]
test eax, eax
cmovns edx, dword [rbp + 0x43c]
mov dword [rbp + 0x48], edx
js 0x1400c141b
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c141b
lea r8, [rbp + 0x3d8]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x48]
test eax, eax
cmovns edx, dword [rbp + 0x3d8]
mov dword [rbp + 0x48], edx
js 0x1400c141b
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c141b
lea r8, [rbp + 0x444]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x48]
test eax, eax
cmovns edx, dword [rbp + 0x444]
mov dword [rbp + 0x48], edx
js 0x1400c141b
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c141b
lea r8, [rbp + 0x3e0]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x48]
test eax, eax
cmovns edx, dword [rbp + 0x3e0]
mov dword [rbp + 0x48], edx
js 0x1400c141b
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c141b
lea r8, [rbp + 0x1c8]
mov edx, r13d
mov ecx, r13d
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov edx, dword [rbp + 0x48]
test eax, eax
cmovns edx, dword [rbp + 0x1c8]
mov dword [rbp + 0x48], edx
js 0x1400c141b
lea r8, [rbp + 0x4c]
mov ecx, dword [rbp + 0x4c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1c8]
test r14d, r14d
cmovns eax, dword [rbp + 0x4c]
jmp 0x1400c1421
mov eax, dword [rbp + 0x1c8]
mov dword [rbp], eax
xor eax, eax
test r14d, r14d
js 0x1400c3873
mov r15d, eax
mov qword [rbp + 0xb0], rax
mov esi, eax
mov qword [rbp + 0x328], rax
mov qword [rbp + 0xc0], rax
mov r12d, eax
mov dword [rbp - 0x78], eax
mov r13d, eax
mov qword [rbp - 0x40], rax
mov dword [rbp + 0xc8], eax
mov qword [rbp + 0x40], rax
mov qword [rbp - 0x58], rax
mov dword [rbp + 0x2a8], eax
mov qword [rbp + 0x500], rax
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x500], rax
xor eax, eax
mov ebx, eax
mov dword [rbp + 0xd8], 8
lea r8, [rbp + 0xd8]
mov edx, dword [rsp + 0x6c]
lea ecx, [rax + 8]
call fcn.1401043d0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c15c2
mov r14d, eax
mov ecx, dword [rbp + 0xd8]
lea rax, [rcx + 7]
and eax, 0xfffffff8
cmp eax, ecx
jae 0x1400c14cc
mov r14d, 0xc0000095
jmp 0x1400c14d4
mov ecx, eax
mov dword [rbp + 0xd8], eax
xor eax, eax
test r14d, r14d
js 0x1400c15c2
mov r14d, eax
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]
test rax, rax
jne 0x1400c1508
mov r14d, 0xc0000017
jmp 0x1400c150b
mov rbx, rax
test r14d, r14d
js 0x1400c15a7
mov qword [rbp + 0x1d8], rbx
mov eax, dword [rsp + 0x68]
mov dword [rbx], eax
lea r8, [rbp + 0x1d8]
mov edi, 4
mov edx, edi
mov rcx, qword [rbp + 0x1d8]
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c15a7
mov rcx, qword [rbp + 0x1d8]
mov eax, dword [rsp + 0x6c]
mov dword [rcx], eax
lea r8, [rbp + 0x1d8]
mov edx, edi
mov rcx, qword [rbp + 0x1d8]
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c15a7
mov ecx, dword [rbp + 0xd8]
mov rax, qword [rbp + 0x500]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rsp + 0x6c]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x1d8]
call sub.msvcrt.dll_memcpy
mov r15, rbx
mov qword [rbp + 0xb0], rbx
xor eax, eax
mov ebx, eax
mov esi, dword [rbp + 0xd8]
test rbx, rbx
je 0x1400c15c0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400c30c7
mov qword [rbp + 0x6d8], rax
mov qword [rbp + 0x6e8], rax
mov qword [rbp + 0x6f8], rax
mov qword [rbp + 0x708], rax
mov qword [rbp + 0x320], rax
mov qword [rbp + 0x6c8], rax
mov rbx, rax
mov qword [rbp - 0x80], rax
test r15, r15
jne 0x1400c1615
mov r14d, 0xc000000d
jmp 0x1400c1db3
mov qword [rsp + 0x78], rsi
test rsi, rsi
je 0x1400c1cf9
lea rdi, [rsi + 8]
mov qword [rbp + 0xe8], 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 r13, rax
mov qword [rbp + 0x68], rax
xor eax, eax
test r13, r13
je 0x1400c1cf9
mov dl, al
mov ecx, eax
lea r14d, [rax + 1]
test rsi, rsi
je 0x1400c166d
xor dl, byte [rcx + r15]
add rcx, r14
cmp rcx, rsi
jb 0x1400c1661
mov r9, r15
mov r10, r13
mov r8d, eax
mov dword [rbp - 0x18], eax
or r11d, 0xffffffff
mov dword [rbp - 0x4c], r11d
mov r15d, eax
mov rdi, rsi
and edi, 7
je 0x1400c174c
mov r11d, eax
test edi, edi
jle 0x1400c16cb
mov r8d, 0x38
movzx eax, byte [r9]
cmp r11d, 4
jge 0x1400c16b2
lea ecx, [r8 - 0x20]
shl eax, cl
or r12d, eax
jmp 0x1400c16ba
mov ecx, r8d
shl eax, cl
or r15d, eax
add r9, r14
add r11d, r14d
sub r8d, 8
cmp r11d, edi
jl 0x1400c169d
xor eax, eax
mov r8d, r12d
xor r8d, 0xfd02377a
mov dword [rbp - 0x18], r8d
mov r11d, r15d
xor r11d, 0xb47589d0
mov dword [rbp - 0x4c], r11d
xor ecx, ecx
test edi, edi
jle 0x1400c1714
cmp eax, 4
jge 0x1400c16fb
rol r8d, 8
mov byte [r10], r8b
jmp 0x1400c1702
rol r11d, 8
mov byte [r10], r11b
add r10, r14
add eax, r14d
cmp eax, edi
jl 0x1400c16ed
mov r8d, dword [rbp - 0x18]
mov r11d, dword [rbp - 0x4c]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400c1731
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x4c], r11d
jmp 0x1400c174c
mov r11d, ecx
mov dword [rbp - 0x4c], ecx
test eax, eax
jns 0x1400c174c
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x18], r8d
mov r14, rsi
shr r14, 3
test r14, r14
je 0x1400c1a8a
lea rbx, [r10 + 7]
lea r13, [r9 + 2]
mov esi, 1
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor r11d, r9d
lea r13, [r13 + 8]
mov edi, r10d
xor edi, r11d
xor edi, r8d
xor edi, 0x2c824960
lea eax, [rdi + 0x24692674]
ror eax, 2
mov ecx, edi
ror ecx, 0x10
imul eax, eax, 0xf714
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov r8d, 0xf71490ec
xor eax, r8d
ror eax, 0xb
mov ecx, r11d
rol ecx, 4
imul eax, eax, 0xd98c
add ecx, eax
xor edi, ecx
mov eax, edi
xor eax, r8d
rol eax, 7
mov ecx, edi
rol ecx, 5
imul eax, eax, 0xdb96
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xd98c
rol eax, 6
mov ecx, r11d
rol ecx, 8
imul eax, eax, 0x90ec
sub eax, ecx
xor edi, eax
mov ecx, edi
xor ecx, 0xdb96d98c
mov eax, r8d
sub eax, ecx
xor r11d, eax
mov eax, r11d
not eax
ror eax, 4
add eax, 0xd98c
imul eax, eax, 0xdb96
xor edi, eax
lea eax, [rdi - 0x8eb6f14]
ror eax, 8
mov ecx, edi
ror ecx, 2
imul eax, eax, 0xdb96
add ecx, eax
xor r11d, ecx
lea r8d, [r11 - 0x90ec]
xor r8d, edi
mov eax, 0xdb96d98c
xor r8d, eax
sub eax, r8d
rol eax, 0xe
mov ecx, r8d
ror ecx, 2
imul eax, eax, 0xf714
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xdb96]
rol eax, 2
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 0xd
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xdb96
mov eax, r8d
shr eax, 0xc
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x24689588]
xor r8d, eax
lea eax, [r11 - 0xd98c]
rol eax, 3
mov ecx, r11d
shr ecx, 0xf
imul eax, eax, 0x90ec
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xf714
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, 0xf71490ec
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 0xb
imul eax, eax, 0xd98c
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8ea937e]
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0x90ec
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, 0xdb96
rol eax, 4
mov ecx, r8d
ror ecx, 0x10
imul eax, eax, 0xf714
sub eax, ecx
xor r11d, eax
mov eax, 0xf71490ec
sub eax, r11d
ror eax, 0xa
mov ecx, r11d
ror ecx, 4
imul eax, eax, 0xd98c
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8eb6f14]
ror eax, 4
mov ecx, r8d
ror ecx, 9
imul eax, eax, 0xdb96
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov edi, 0xdb96d98c
xor eax, edi
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x90ec
sub eax, ecx
xor r8d, eax
mov eax, edi
sub eax, r8d
ror eax, 0xb
mov ecx, r8d
ror ecx, 0xc
imul eax, eax, 0xf714
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r11d, 0x2c824960
xor r8d, r12d
mov dword [rbp - 0x18], r8d
xor r11d, r15d
mov dword [rbp - 0x4c], r11d
mov byte [rbx - 4], r8b
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x4c]
mov byte [rbx], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 5], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x4c]
mov byte [rbx - 1], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 6], al
ror dword [rbp - 0x18], 8
mov al, byte [rbp - 0x4c]
mov byte [rbx - 2], al
ror dword [rbp - 0x4c], 8
mov al, byte [rbp - 0x18]
mov byte [rbx - 7], al
mov al, byte [rbp - 0x4c]
mov byte [rbx - 3], al
mov r8d, dword [rbp - 0x18]
ror r8d, 8
mov dword [rbp - 0x18], r8d
mov r11d, dword [rbp - 0x4c]
ror r11d, 8
mov dword [rbp - 0x4c], r11d
mov r12d, r10d
mov r15d, r9d
lea rbx, [rbx + 8]
sub r14, rsi
jne 0x1400c1769
mov rbx, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x78]
mov r13, qword [rbp + 0x68]
movzx eax, dl
mov qword [r13 + rsi], rax
mov qword [rbp + 0x320], r13
mov rsi, qword [rbp + 0xe8]
mov qword [rbp + 0x6c8], rsi
lea rax, [0x14014a650]
mov qword [rbp + 0x6d8], rax
mov r12d, 8
mov qword [rbp + 0x6e8], r12
lea r15, [0x14014a5b0]
mov qword [rbp + 0x6f8], r15
mov qword [rbp + 0x708], LoadRegTypeLib
xor eax, eax
mov edi, eax
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8d, [r12 + 0x28]
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c1b06
mov r14d, 0xc0000017
jmp 0x1400c1b09
mov rdi, rax
xor eax, eax
test r14d, r14d
js 0x1400c1c60
mov dword [rdi], esi
mov r14d, eax
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c1b3d
mov r14d, 0xc0000017
jmp 0x1400c1b41
mov qword [rdi + 8], rax
xor eax, eax
test r14d, r14d
js 0x1400c1c60
mov r8, rsi
mov rdx, r13
mov rcx, qword [rdi + 8]
call sub.msvcrt.dll_memcpy
mov esi, LoadRegTypeLib
mov dword [rdi + 0x10], esi
xor eax, eax
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c1b8a
mov r14d, 0xc0000017
jmp 0x1400c1b8e
mov qword [rdi + 0x18], rax
xor eax, eax
test r14d, r14d
js 0x1400c1c60
mov rcx, qword [rdi + 0x18]
mov rdx, r15
mov rax, r15
or rax, rcx
and eax, 0xf
jne 0x1400c1c0d
mov eax, 1
lea r8d, [rax + 0x7f]
movaps xmm0, xmmword [rdx]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [rdx + 0x20]
movaps xmmword [rcx + 0x20], xmm0
movaps xmm1, xmmword [rdx + 0x30]
movaps xmmword [rcx + 0x30], xmm1
movaps xmm0, xmmword [rdx + 0x40]
movaps xmmword [rcx + 0x40], xmm0
movaps xmm1, xmmword [rdx + 0x50]
movaps xmmword [rcx + 0x50], xmm1
movaps xmm0, xmmword [rdx + 0x60]
movaps xmmword [rcx + 0x60], xmm0
add rcx, r8
movaps xmm1, xmmword [rdx + 0x70]
movaps xmmword [rcx - 0x10], xmm1
add rdx, r8
dec rax
jne 0x1400c1bb4
movaps xmm0, xmmword [rdx]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
jmp 0x1400c1c15
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov dword [rdi + 0x20], r12d
xor eax, eax
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c1c40
mov r14d, 0xc0000017
jmp 0x1400c1c44
mov qword [rdi + 0x28], rax
xor eax, eax
test r14d, r14d
js 0x1400c1c60
mov rcx, qword [rdi + 0x28]
mov rax, qword [0x14014a650]
mov qword [rcx], rax
mov rbx, rdi
xor eax, eax
mov edi, eax
test rdi, rdi
je 0x1400c1ce4
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x1400c1c88
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 8], rax
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x1400c1cab
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x18], rax
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x1400c1cce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov r12d, dword [rbp - 0x78]
test r14d, r14d
js 0x1400c1d01
mov qword [rbp + 0x328], rbx
mov rbx, rax
jmp 0x1400c1d01
xor eax, eax
mov r14d, 0xc0000001
cmp qword [rbp + 0x320], rax
je 0x1400c1d2b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x320]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbp + 0x320], rax
test rbx, rbx
je 0x1400c1dad
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400c1d53
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 8], rax
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400c1d76
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x18], rax
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400c1d99
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov r13, qword [rbp - 0x40]
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400c30c7
mov rbx, qword [rbp + 0x328]
mov rsi, rax
mov r15d, dword [rbx + 0x20]
mov edi, dword [rbx + 0x10]
mov edx, dword [rbx]
mov dword [rbp + 0x50], 4
lea r8, [rbp + 0x50]
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c1e63
lea r8, [rbp + 0x50]
mov edx, 4
mov ecx, dword [rbp + 0x50]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c1e63
lea r8, [rbp + 0x50]
mov edx, edi
mov ecx, dword [rbp + 0x50]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c1e63
lea r8, [rbp + 0x50]
mov edx, 4
mov ecx, dword [rbp + 0x50]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c1e63
lea r8, [rbp + 0x50]
mov edx, r15d
mov ecx, dword [rbp + 0x50]
call fcn.1401043d0
mov r14d, eax
mov eax, dword [rbp + 0x198]
xor r15d, r15d
test r14d, r14d
cmovns eax, dword [rbp + 0x50]
mov dword [rbp + 0x198], eax
jmp 0x1400c1e6c
mov eax, dword [rbp + 0x198]
xor r15d, r15d
test r14d, r14d
js 0x1400c1fca
mov r14d, r15d
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c1e9e
mov r14d, 0xc0000017
jmp 0x1400c1ea1
mov rsi, rax
xor eax, eax
test r14d, r14d
js 0x1400c1fb1
mov qword [rbp + 0x70], rsi
mov eax, dword [rbx]
mov dword [rsi], eax
lea r8, [rbp + 0x70]
mov edi, 4
mov edx, edi
mov rcx, qword [rbp + 0x70]
call fcn.1401043f0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c1fb1
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbp + 0x70]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx]
lea r8, [rbp + 0x70]
mov rcx, qword [rbp + 0x70]
call fcn.1401043f0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c1fb1
mov ecx, dword [rbx + 0x10]
mov rax, qword [rbp + 0x70]
mov dword [rax], ecx
lea r8, [rbp + 0x70]
mov edx, edi
mov rcx, qword [rbp + 0x70]
call fcn.1401043f0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c1fb1
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbp + 0x70]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x10]
lea r8, [rbp + 0x70]
mov rcx, qword [rbp + 0x70]
call fcn.1401043f0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c1fb1
mov ecx, dword [rbx + 0x20]
mov rax, qword [rbp + 0x70]
mov dword [rax], ecx
lea r8, [rbp + 0x70]
mov edx, edi
mov rcx, qword [rbp + 0x70]
call fcn.1401043f0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c1fb1
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rbp + 0x70]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x20]
lea r8, [rbp + 0x70]
mov rcx, qword [rbp + 0x70]
call fcn.1401043f0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c1fb1
mov qword [rbp + 0xc0], rsi
mov esi, eax
mov r12d, dword [rbp + 0x198]
test rsi, rsi
je 0x1400c1fcc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov edi, 0x10000000
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c30c7
mov qword [rbp + 0x5d0], rax
mov dword [rbp + 0x200], eax
mov qword [rbp + 0x6b8], rax
mov dword [rbp + 0x270], eax
mov dword [rbp + 0x1c4], 8
lea r8, [rbp + 0x1c4]
mov edx, dword [rbp]
mov ecx, 8
call fcn.1401043d0
mov r14d, eax
or r14d, edi
mov dword [rsp + 0x60], r14d
jl 0x1400c2315
xor eax, eax
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1c4]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x1c4]
jae 0x1400c2059
mov r14d, 0xc0000095
mov dword [rsp + 0x60], r14d
mov eax, dword [rbp + 0x1a0]
jmp 0x1400c205f
mov dword [rbp + 0x1a0], eax
xor edi, edi
test r14d, r14d
js 0x1400c2094
lea r8, [rbp + 0x1a0]
lea edx, [rdi + 8]
mov ecx, eax
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x290]
test r14d, r14d
cmovns eax, dword [rbp + 0x1a0]
mov dword [rbp + 0x290], eax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
lea r15d, [rax + 1]
lea esi, [rax + 4]
cmp qword [rsp + 0x70], rax
jne 0x1400c20bd
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400c2171
cmp dword [rsp + 0x68], r15d
jbe 0x1400c20ad
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x118], rcx
mov ebx, dword [rcx]
lea r8, [rbp + 0x118]
mov rdx, rsi
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
mov edx, ebx
lea r8, [rbp + 0x118]
mov rcx, qword [rbp + 0x118]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
add edi, r15d
mov rcx, qword [rbp + 0x118]
cmp edi, r15d
jb 0x1400c20d0
mov edi, dword [rcx]
lea r8, [rbp + 0x118]
mov rdx, rsi
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
mov dword [rbp + 0x200], edi
mov rax, qword [rbp + 0x118]
xor ecx, ecx
test edi, edi
cmove rax, rcx
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x5d0], rax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
cmp qword [rsp + 0x70], rax
jne 0x1400c2191
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400c2247
cmp dword [rsp + 0x68], 2
jbe 0x1400c2181
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x140], rcx
mov edi, eax
mov ebx, dword [rcx]
lea r8, [rbp + 0x140]
mov rdx, rsi
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
mov edx, ebx
lea r8, [rbp + 0x140]
mov rcx, qword [rbp + 0x140]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
add edi, r15d
mov rcx, qword [rbp + 0x140]
cmp edi, 2
jb 0x1400c21a6
mov edi, dword [rcx]
lea r8, [rbp + 0x140]
mov rdx, rsi
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
mov dword [rbp + 0x270], edi
mov rax, qword [rbp + 0x140]
xor ecx, ecx
test edi, edi
cmove rax, rcx
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x6b8], rax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
mov ebx, dword [rbp + 0x270]
mov edi, dword [rbp + 0x200]
mov dword [rbp + 0x5c], esi
lea r8, [rbp + 0x5c]
mov edx, dword [rbp + 0x290]
mov ecx, esi
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c22f0
lea r8, [rbp + 0x5c]
mov edx, esi
mov ecx, dword [rbp + 0x5c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c22f0
lea r8, [rbp + 0x5c]
mov edx, edi
mov ecx, dword [rbp + 0x5c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c22f0
lea r8, [rbp + 0x5c]
mov edx, esi
mov ecx, dword [rbp + 0x5c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c22f0
lea r8, [rbp + 0x5c]
mov edx, ebx
mov ecx, dword [rbp + 0x5c]
call fcn.1401043d0
mov r14d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x298]
test r14d, r14d
cmovns eax, dword [rbp + 0x5c]
mov dword [rbp + 0x298], eax
jmp 0x1400c22f6
mov eax, dword [rbp + 0x298]
test r14d, r14d
js 0x1400c2315
cmp eax, 0x400000
jbe 0x1400c230f
mov r14d, 0x8000ffff
mov dword [rsp + 0x60], r14d
jmp 0x1400c2315
mov dword [rbp + 0xc8], eax
xor eax, eax
test r14d, r14d
js 0x1400c30c9
mov r14d, eax
mov edi, dword [rbp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c234d
mov r14d, 0xc0000017
jmp 0x1400c2354
mov r13, rax
mov qword [rbp - 0x40], rax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400c30c7
mov rbx, qword [rbp + 0xc0]
xor eax, eax
test rbx, rbx
jne 0x1400c2384
mov r14d, 0x80070057
mov dword [rsp + 0x60], r14d
jmp 0x1400c2475
test r13, r13
je 0x1400c2374
lea r8, [rbp + 0x628]
lea rdx, [0x140009708]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
xor esi, esi
test eax, eax
jne 0x1400c23d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
mov dword [rsp + 0x60], r14d
test r14d, r14d
js 0x1400c2457
mov r14d, 0x80004005
jmp 0x1400c2452
lea rdx, [0x140009720]
mov rcx, qword [rbp + 0x628]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x1400c23a8
mov qword [rbp + 0x730], rbx
mov dword [rbp + 0x740], r12d
mov qword [rbp + 0x738], r13
mov eax, dword [rbp + 0xc8]
mov dword [rbp + 0x744], eax
mov dword [rbp + 0x748], esi
mov rcx, rdi
call qword [fcn.140015690]
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x730]
lea ecx, [r8 + 0x66]
call rdi
mov r14d, eax
or r14d, 0x10000000
mov eax, dword [rbp + 0xc8]
cmovge eax, dword [rbp + 0x744]
mov dword [rbp + 0xc8], eax
mov dword [rsp + 0x60], r14d
xor eax, eax
cmp r14d, 0xd0000023
jne 0x1400c2475
mov r15d, 0x8007007a
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400c30cf
test r14d, r14d
js 0x1400c30c7
mov edi, dword [rbp + 0xc8]
mov rbx, rax
mov dword [rbp - 0x5c], eax
mov qword [rbp + 0x100], r13
cmp edi, 4
jae 0x1400c24a1
mov r14d, 0xc000003e
jmp 0x1400c28bc
mov esi, dword [r13]
lea r8, [rbp + 0x100]
mov edx, 4
mov rcx, r13
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c28ba
lea r8, [rbp - 0x5c]
mov edx, 4
mov ecx, dword [rbp - 0x5c]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c28ba
mov eax, edi
sub eax, dword [rbp - 0x5c]
cmp eax, esi
jae 0x1400c24f4
mov r14d, 0xc000003e
jmp 0x1400c28ba
mov r13, qword [rbp + 0x100]
lea r8, [rbp + 0x100]
mov rdx, rsi
mov rcx, r13
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c28ba
lea r8, [rbp - 0x5c]
mov edx, esi
mov ecx, dword [rbp - 0x5c]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c28ba
mov eax, edi
sub eax, dword [rbp - 0x5c]
cmp eax, 4
jb 0x1400c24e9
mov rcx, qword [rbp + 0x100]
mov r15d, dword [rcx]
lea r8, [rbp + 0x100]
mov edx, 4
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c28ba
lea r8, [rbp - 0x5c]
mov edx, 4
mov ecx, dword [rbp - 0x5c]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c28ba
mov eax, edi
sub eax, dword [rbp - 0x5c]
cmp eax, r15d
jb 0x1400c24e9
mov rax, qword [rbp + 0x100]
mov qword [rsp + 0x78], rax
lea r8, [rbp + 0x100]
mov edx, r15d
mov rcx, rax
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c28ba
lea r8, [rbp - 0x5c]
mov edx, r15d
mov ecx, dword [rbp - 0x5c]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c28ba
mov eax, edi
sub eax, dword [rbp - 0x5c]
cmp eax, 4
jb 0x1400c24e9
mov rcx, qword [rbp + 0x100]
mov r12d, dword [rcx]
lea r8, [rbp + 0x100]
mov edx, 4
call fcn.1401043f0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c28bc
lea r8, [rbp - 0x5c]
lea edx, [rax + 4]
mov ecx, dword [rbp - 0x5c]
call fcn.1401043d0
mov r14d, eax
xor eax, eax
test r14d, r14d
js 0x1400c28bc
mov eax, edi
mov ecx, dword [rbp - 0x5c]
sub eax, ecx
cmp eax, r12d
jb 0x1400c24e9
mov rax, qword [rbp + 0x100]
mov qword [rbp], rax
lea r8, [rbp - 0x5c]
mov edx, r12d
call fcn.1401043d0
mov r14d, eax
xor edx, edx
test eax, eax
js 0x1400c28ba
cmp edi, dword [rbp - 0x5c]
jne 0x1400c24e9
lea ecx, [r12 + r15]
add ecx, esi
add rcx, 0xc
cmp rcx, rdi
jne 0x1400c24e9
mov edi, edx
mov r14d, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea edx, [rdi + 8]
lea r8d, [rdi + 0x30]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
test rax, rax
jne 0x1400c269c
mov r14d, 0xc0000017
jmp 0x1400c269f
mov rdi, rax
test r14d, r14d
js 0x1400c27b3
test r13, r13
je 0x1400c26f7
mov dword [rdi], esi
mov r14d, ecx
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
jne 0x1400c26d6
mov r14d, 0xc0000017
jmp 0x1400c26da
mov qword [rdi + 8], rax
test r14d, r14d
js 0x1400c27b3
mov r8, rsi
mov rdx, r13
mov rcx, qword [rdi + 8]
call sub.msvcrt.dll_memcpy
xor r13d, r13d
jmp 0x1400c26fe
mov dword [rdi], r13d
mov qword [rdi + 8], r13
mov rsi, qword [rsp + 0x78]
test rsi, rsi
je 0x1400c274d
mov dword [rdi + 0x10], r15d
mov r14d, r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c2733
mov r14d, 0xc0000017
jmp 0x1400c2737
mov qword [rdi + 0x18], rax
test r14d, r14d
js 0x1400c27b6
mov r8, r15
mov rdx, rsi
mov rcx, qword [rdi + 0x18]
call sub.msvcrt.dll_memcpy
jmp 0x1400c2755
mov dword [rdi + 0x10], r13d
mov qword [rdi + 0x18], r13
mov r15, qword [rbp]
test r15, r15
je 0x1400c27a3
mov dword [rdi + 0x20], r12d
mov r14d, r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c2789
mov r14d, 0xc0000017
jmp 0x1400c278d
mov qword [rdi + 0x28], rax
test r14d, r14d
js 0x1400c27b6
mov r8, r12
mov rdx, r15
mov rcx, qword [rdi + 0x28]
call sub.msvcrt.dll_memcpy
jmp 0x1400c27ab
mov dword [rdi + 0x20], r13d
mov qword [rdi + 0x28], r13
mov rbx, rdi
mov rdi, r13
jmp 0x1400c27b6
xor r13d, r13d
test rdi, rdi
je 0x1400c2832
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x1400c27dc
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], r13
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x1400c27fd
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], r13
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x1400c281e
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], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x1400c283e
mov qword [rbp + 0x40], rbx
mov rbx, r13
test rbx, rbx
je 0x1400c28ba
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400c2864
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r13
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400c2885
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r13
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400c28a6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400c30c7
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x4b0], rax
mov r14d, eax
mov dword [rsp + 0x60], eax
mov rax, qword [rbp + 0x40]
xor r12d, r12d
test rax, rax
jne 0x1400c28fa
mov r14d, 0xc000000d
jmp 0x1400c2e1c
mov rdi, qword [rax + 8]
mov qword [rbp + 0x68], rdi
test rdi, rdi
je 0x1400c28ef
cmp dword [rax], r12d
je 0x1400c28ef
mov esi, dword [rax]
test rsi, rsi
je 0x1400c2dee
add rsi, 0xfffffffffffffff8
mov qword [rsp + 0x78], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
mov qword [rbp - 0x78], rax
test rax, rax
je 0x1400c2dee
mov dl, r12b
mov byte [rsp + 0x64], dl
mov r8, rdi
mov r9, rax
mov rdi, rsi
mov ebx, r12d
mov r11d, r12d
and edi, 7
je 0x1400c2a2c
mov dword [rbp - 0x38], r12d
or dword [rbp - 0x64], 0xffffffff
mov r13d, r12d
mov dword [rbp], ebx
test edi, edi
jle 0x1400c29b0
mov r10d, 0x38
movzx eax, byte [r8]
cmp r11d, 4
jge 0x1400c298f
lea ecx, [r10 - 0x20]
shl eax, cl
or ebx, eax
jmp 0x1400c2997
mov ecx, r10d
shl eax, cl
or r13d, eax
mov ecx, 1
add r8, rcx
add r11d, ecx
sub r10d, 8
cmp r11d, edi
jl 0x1400c297b
mov dword [rbp], ebx
jmp 0x1400c29b5
mov ecx, 1
xor ebx, 0x5c3fcbda
mov dword [rbp - 0x38], ebx
mov r11d, r13d
xor r11d, 0x66fa8c2b
mov dword [rbp - 0x64], r11d
mov eax, r12d
test edi, edi
jle 0x1400c29f7
cmp eax, 4
jge 0x1400c29e0
rol ebx, 8
mov byte [r9], bl
jmp 0x1400c29e7
rol r11d, 8
mov byte [r9], r11b
add r9, rcx
add eax, ecx
cmp eax, edi
jl 0x1400c29d3
mov ebx, dword [rbp - 0x38]
mov r11d, dword [rbp - 0x64]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400c2a14
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x64], r11d
jmp 0x1400c2a3b
mov r11d, r12d
mov dword [rbp - 0x64], r12d
test eax, eax
jns 0x1400c2a3b
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
jmp 0x1400c2a38
mov dword [rbp], r12d
or r13d, 0xffffffff
mov dword [rbp - 0x64], r12d
mov dword [rbp - 0x38], ebx
mov r12, rsi
shr r12, 3
test r12, r12
je 0x1400c2d6d
lea r15, [r9 + 7]
lea rsi, [r8 + 2]
mov edx, dword [rbp]
mov r14d, 1
movzx r10d, byte [rsi - 2]
shl r10d, 8
movzx eax, byte [rsi - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi]
or r10d, eax
shl r10d, 8
movzx eax, byte [rsi + 1]
or r10d, eax
movzx r9d, byte [rsi + 2]
shl r9d, 8
movzx eax, byte [rsi + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 5]
or r9d, eax
xor ebx, r10d
xor r11d, r9d
lea rsi, [rsi + 8]
xor r11d, ebx
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
mov ecx, r11d
rol ecx, 0xa
imul eax, eax, 0xd6c9
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x59c22937]
ror eax, 9
mov ecx, ebx
rol ecx, 2
imul eax, eax, 0xcf67
sub eax, ecx
xor r11d, eax
lea eax, [r11 - 0xd6c9]
imul ecx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0xcf67
rol eax, 6
mov ecx, ebx
rol ecx, 2
imul eax, eax, 0xa63d
sub eax, ecx
xor r11d, eax
mov ecx, r11d
mov r8d, 0xcf6704fb
xor ecx, r8d
mov eax, 0xa63dd6c9
sub eax, ecx
xor ebx, eax
mov edi, ebx
ror edi, 6
mov eax, ebx
xor eax, 0xd6c9
imul ecx, eax, 0xcf67
xor edi, ecx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4fb
add ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x3098fb05]
ror eax, 0xe
mov ecx, ebx
rol ecx, 8
imul eax, eax, 0xa63d
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xc
mov ecx, r11d
ror ecx, 0xa
imul eax, eax, 0xd6c9
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0xa63d
imul ecx, eax, 0xcf67
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor ebx, eax
mov ecx, r11d
xor ecx, r8d
mov edi, 0xa63dd6c9
mov eax, edi
sub eax, ecx
xor ebx, eax
lea eax, [rbx - 0x3098fb05]
rol eax, 3
mov ecx, ebx
rol ecx, 6
imul eax, eax, 0xa63d
add ecx, eax
xor r11d, ecx
mov eax, r8d
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 8
imul eax, eax, 0xd6c9
sub eax, ecx
xor ebx, eax
xor r11d, ebx
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, ebx
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul ecx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add ecx, eax
xor r11d, ecx
mov edi, r11d
ror edi, 9
mov eax, r11d
mov ebx, 0xa63d
xor eax, ebx
imul ecx, eax, 0xd6c9
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, ebx
imul ecx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor ecx, eax
xor r11d, ecx
mov edi, r11d
ror edi, 2
mov eax, r11d
xor eax, 0xcf67
imul ecx, eax, 0x4fb
xor edi, ecx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
mov ecx, r11d
rol ecx, 0xb
imul eax, eax, 0xd6c9
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, ebx
rol eax, 2
mov ecx, r8d
rol ecx, 0xc
imul eax, eax, 0xcf67
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
mov ecx, r11d
rol ecx, 0xe
imul eax, eax, 0x4fb
add ecx, eax
xor ecx, edx
xor r8d, ecx
mov dword [rbp - 0x38], r8d
xor r11d, r13d
mov dword [rbp - 0x64], r11d
mov byte [r15 - 4], r8b
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x64]
mov byte [r15], al
ror dword [rbp - 0x64], 8
mov al, byte [rbp - 0x38]
mov byte [r15 - 5], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x64]
mov byte [r15 - 1], al
ror dword [rbp - 0x64], 8
mov al, byte [rbp - 0x38]
mov byte [r15 - 6], al
ror dword [rbp - 0x38], 8
mov al, byte [rbp - 0x64]
mov byte [r15 - 2], al
ror dword [rbp - 0x64], 8
mov al, byte [rbp - 0x38]
mov byte [r15 - 7], al
mov al, byte [rbp - 0x64]
mov byte [r15 - 3], al
mov ebx, dword [rbp - 0x38]
ror ebx, 8
mov dword [rbp - 0x38], ebx
mov r11d, dword [rbp - 0x64]
ror r11d, 8
mov dword [rbp - 0x64], r11d
mov edx, r10d
mov r13d, r9d
lea r15, [r15 + 8]
sub r12, r14
jne 0x1400c2a5c
mov dl, byte [rsp + 0x64]
mov r14d, dword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
mov r15, qword [rbp - 0x78]
xor r12d, r12d
mov eax, r12d
test rsi, rsi
je 0x1400c2d89
lea ecx, [r12 + 1]
xor dl, byte [rax + r15]
add rax, rcx
cmp rax, rsi
jb 0x1400c2d7d
movzx eax, dl
mov rcx, qword [rbp + 0x68]
cmp rax, qword [rsi + rcx]
je 0x1400c2d9d
mov edi, 0xc004d501
jmp 0x1400c2db1
mov qword [rbp + 0x1f8], r15
mov r15, r12
mov qword [rbp + 0x4b0], rsi
mov edi, r12d
test r15, r15
je 0x1400c2dca
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x1400c2dee
mov rax, qword [rbp + 0x1f8]
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x1f8], r12
mov eax, dword [rbp + 0x4b0]
mov dword [rbp + 0x2a8], eax
jmp 0x1400c2df4
mov r14d, 0xc0000001
cmp qword [rbp + 0x1f8], r12
je 0x1400c2e1c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1f8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1f8], r12
or r14d, 0x10000000
mov dword [rsp + 0x60], r14d
jl 0x1400c30c7
mov ebx, dword [rbp + 0x2a8]
mov dword [rbp + 0xa0], r12d
mov rsi, qword [rbp - 0x58]
mov qword [rbp + 0x308], rsi
mov edi, 4
cmp ebx, edi
jb 0x1400c30b7
mov eax, dword [rsi]
mov dword [rbp - 0x80], eax
lea r8, [rbp + 0x308]
mov edx, edi
mov rcx, rsi
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c30bd
lea r8, [rbp + 0xa0]
mov edx, edi
mov ecx, dword [rbp + 0xa0]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c30bd
mov eax, ebx
sub eax, dword [rbp + 0xa0]
cmp eax, edi
jb 0x1400c30b7
mov rcx, qword [rbp + 0x308]
mov r12d, dword [rcx]
lea r8, [rbp + 0x308]
mov edx, edi
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c30bd
lea r8, [rbp + 0xa0]
mov edx, edi
mov ecx, dword [rbp + 0xa0]
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c30bd
mov eax, ebx
mov ecx, dword [rbp + 0xa0]
sub eax, ecx
cmp eax, r12d
jb 0x1400c30b7
mov rdi, qword [rbp + 0x308]
lea r8, [rbp + 0xa0]
mov edx, r12d
call fcn.1401043d0
mov r14d, eax
test eax, eax
js 0x1400c30bd
mov edx, ebx
lea rcx, [rsi + rbx]
lea rax, [rdi + r12]
cmp rcx, rax
jb 0x1400c30b7
sub rdx, rdi
sub rdx, r12
add rdx, rsi
cmp rdx, 8
jae 0x1400c30b7
xor ebx, ebx
mov esi, ebx
mov r14d, ebx
mov r13d, ebx
test rdi, rdi
je 0x1400c302f
mov rbx, rdi
lea r8, [rbp + 0x398]
mov edx, r12d
mov rcx, rdi
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c30bd
mov rax, qword [rbp + 0x398]
cmp rdi, rax
jae 0x1400c3028
lea r8, [rbp + 0x670]
mov edx, 4
mov rcx, rbx
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c30bd
mov rax, qword [rbp + 0x398]
cmp qword [rbp + 0x670], rax
ja 0x1400c3020
lea r8, [rbp + 0x3f0]
mov edx, dword [rbx]
mov ecx, 4
call fcn.1401043d0
mov r14d, eax
mov eax, dword [rbp + 0x454]
test r14d, r14d
cmovns eax, dword [rbp + 0x3f0]
mov dword [rbp + 0x454], eax
js 0x1400c30bd
mov edx, eax
lea r8, [rbp + 0x5b8]
mov rcx, rbx
call fcn.1401043f0
mov r14d, eax
test eax, eax
js 0x1400c30a7
mov rbx, qword [rbp + 0x5b8]
mov rax, qword [rbp + 0x398]
cmp rbx, rax
ja 0x1400c3020
inc r13d
cmp rbx, rax
jb 0x1400c2f82
jmp 0x1400c3028
mov r14d, 0xc000000d
jmp 0x1400c30a7
cmp rbx, rax
jne 0x1400c3020
xor ebx, ebx
test r12d, r12d
je 0x1400c3063
mov r14d, ebx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c305b
mov r14d, 0xc0000017
jmp 0x1400c305e
mov rsi, rax
test r14d, r14d
js 0x1400c308e
test rdi, rdi
je 0x1400c3076
mov r8, r12
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x90], rsi
mov rsi, rbx
mov dword [rbp + 0x8c], r12d
mov dword [rbp + 0x88], r13d
test rsi, rsi
je 0x1400c30a7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x1400c30bd
mov eax, dword [rbp - 0x80]
cmp eax, dword [rbp + 0x88]
je 0x1400c30bd
mov r14d, 0xc000003e
bts r14d, 0x1c
mov dword [rsp + 0x60], r14d
xor eax, eax
mov r15d, 0x8007007a
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x1400c30f1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rbx, qword [rbp + 0x328]
test rbx, rbx
je 0x1400c3187
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400c3124
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 8], rax
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400c3147
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x18], rax
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400c316a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbp + 0x328], rax
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x1400c31a9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rdi, qword [rbp - 0x40]
test rdi, rdi
je 0x1400c31c8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rbx, qword [rbp + 0x40]
test rbx, rbx
je 0x1400c3250
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400c31f4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 8], rax
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400c3217
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x18], rax
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400c323a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x1400c326f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov r12d, 1
test r14d, r14d
js 0x1400c328e
cmp dword [rbp + 0x88], r12d
jae 0x1400c3295
mov r14d, 0xc004d501
mov dword [rsp + 0x60], r14d
xor eax, eax
jmp 0x1400c3879
mov r13d, 4
cmp qword [rbp + 0x90], rax
jne 0x1400c32b1
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400c3306
cmp dword [rbp + 0x88], eax
jbe 0x1400c32a4
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x3a8], rcx
mov edi, dword [rcx]
lea r8, [rbp + 0x3a8]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
xor ecx, ecx
test eax, eax
js 0x1400c3306
mov dword [rbp + 0x400], edi
mov rax, qword [rbp + 0x3a8]
test edi, edi
cmove rax, rcx
mov qword [rbp + 0x3a8], rax
mov qword [rbp + 0x5e0], rax
test r14d, r14d
js 0x1400c3332
cmp dword [rbp + 0x400], r13d
je 0x1400c3321
mov r14d, 0xc0000023
mov dword [rsp + 0x60], r14d
jmp 0x1400c3332
mov rax, qword [rbp + 0x5e0]
mov eax, dword [rax]
mov dword [rbp + 0xe0], eax
jmp 0x1400c3338
mov eax, dword [rbp + 0xe0]
xor esi, esi
test r14d, r14d
js 0x1400c328e
mov r14d, eax
cmp eax, 0xd0000023
cmove r14d, r15d
mov dword [rsp + 0x60], r14d
mov dword [rbp + 0xe0], r14d
cmp r14d, r15d
je 0x1400c3369
test r14d, r14d
js 0x1400c328e
cmp dword [rbp + 0x88], 6
jne 0x1400c3283
cmp qword [rbp + 0x90], rsi
jne 0x1400c338f
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400c3427
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x120], rcx
mov edi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x120]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c3427
mov edx, ebx
lea r8, [rbp + 0x120]
mov rcx, qword [rbp + 0x120]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c3427
add edi, r12d
mov rcx, qword [rbp + 0x120]
cmp edi, r12d
jb 0x1400c339f
mov edi, dword [rcx]
lea r8, [rbp + 0x120]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c3427
mov dword [rbp + 0x45c], edi
mov rax, qword [rbp + 0x120]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x6c0], rax
test r14d, r14d
js 0x1400c328e
cmp dword [rbp + 0x45c], 8
je 0x1400c3446
mov r14d, 0xc0000023
mov dword [rsp + 0x60], r14d
jmp 0x1400c3457
mov rax, qword [rbp + 0x6c0]
mov rcx, qword [rax]
mov qword [rbp + 0x700], rcx
test r14d, r14d
js 0x1400c328e
cmp qword [rbp + 0x90], rsi
jne 0x1400c3479
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400c351a
cmp dword [rbp + 0x88], 2
jbe 0x1400c3469
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x128], rcx
mov edi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x128]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c351a
mov edx, ebx
lea r8, [rbp + 0x128]
mov rcx, qword [rbp + 0x128]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c351a
add edi, r12d
mov rcx, qword [rbp + 0x128]
cmp edi, 2
jb 0x1400c3492
mov edi, dword [rcx]
lea r8, [rbp + 0x128]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c351a
mov dword [rbp + 0x408], edi
mov rax, qword [rbp + 0x128]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x5f0], rax
test r14d, r14d
js 0x1400c328e
cmp dword [rbp + 0x408], r13d
je 0x1400c3539
mov r14d, 0xc0000023
mov dword [rsp + 0x60], r14d
jmp 0x1400c3548
mov rax, qword [rbp + 0x5f0]
mov ecx, dword [rax]
mov dword [rbp + 0x418], ecx
test r14d, r14d
js 0x1400c328e
cmp qword [rbp + 0x90], rsi
jne 0x1400c356a
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400c360b
cmp dword [rbp + 0x88], 3
jbe 0x1400c355a
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x148], rcx
mov edi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x148]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c360b
mov edx, ebx
lea r8, [rbp + 0x148]
mov rcx, qword [rbp + 0x148]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c360b
add edi, r12d
mov rcx, qword [rbp + 0x148]
cmp edi, 3
jb 0x1400c3583
mov edi, dword [rcx]
lea r8, [rbp + 0x148]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c360b
mov dword [rbp + 0x2d0], edi
mov rax, qword [rbp + 0x148]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x610], rax
test r14d, r14d
js 0x1400c328e
cmp qword [rbp + 0x90], rsi
jne 0x1400c362d
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400c36ce
cmp dword [rbp + 0x88], r13d
jbe 0x1400c361d
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x158], rcx
mov edi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x158]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c36ce
mov edx, ebx
lea r8, [rbp + 0x158]
mov rcx, qword [rbp + 0x158]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c36ce
add edi, r12d
mov rcx, qword [rbp + 0x158]
cmp edi, r13d
jb 0x1400c3646
mov edi, dword [rcx]
lea r8, [rbp + 0x158]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c36ce
mov dword [rbp + 0x464], edi
mov rax, qword [rbp + 0x158]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x680], rax
test r14d, r14d
js 0x1400c328e
cmp dword [rbp + 0x464], r13d
je 0x1400c36ed
mov r14d, 0xc0000023
mov dword [rsp + 0x60], r14d
jmp 0x1400c36fc
mov rax, qword [rbp + 0x680]
mov ecx, dword [rax]
mov dword [rbp + 0x450], ecx
test r14d, r14d
js 0x1400c328e
cmp qword [rbp + 0x90], rsi
jne 0x1400c371e
mov r14d, 0xc000000d
mov dword [rsp + 0x60], r14d
jmp 0x1400c37bf
cmp dword [rbp + 0x88], 5
jbe 0x1400c370e
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x150], rcx
mov edi, esi
mov ebx, dword [rcx]
lea r8, [rbp + 0x150]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c37bf
mov edx, ebx
lea r8, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c37bf
add edi, r12d
mov rcx, qword [rbp + 0x150]
cmp edi, 5
jb 0x1400c3737
mov edi, dword [rcx]
lea r8, [rbp + 0x150]
mov rdx, r13
call fcn.1401043f0
mov r14d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400c37bf
mov dword [rbp + 0x46c], edi
mov rax, qword [rbp + 0x150]
test edi, edi
cmove rax, rsi
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x600], rax
test r14d, r14d
js 0x1400c328e
cmp dword [rbp + 0x46c], r13d
je 0x1400c37de
mov r14d, 0xc0000023
mov dword [rsp + 0x60], r14d
jmp 0x1400c37ed
mov rax, qword [rbp + 0x600]
mov ecx, dword [rax]
mov dword [rbp + 0x2c8], ecx
test r14d, r14d
js 0x1400c328e
mov rax, qword [rbp + 0x700]
cmp qword [rbp + 0x558], rax
jne 0x1400c3283
mov ecx, dword [rbp + 0x450]
mov dword [rbp + 0x1a4], ecx
mov eax, dword [rbp + 0x2c8]
mov dword [rbp + 0xcc], eax
mov eax, dword [rbp + 0x418]
mov dword [rbp + 0x280], eax
cmp ecx, r13d
jbe 0x1400c3840
mov r14d, r15d
mov dword [rsp + 0x60], r15d
jmp 0x1400c328e
cmp dword [rbp + 0x2d0], r13d
ja 0x1400c3833
mov r8d, dword [rbp + 0x2d0]
mov rdx, qword [rbp + 0x610]
mov rcx, qword [rbp - 0x30]
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0xe0]
test eax, eax
cmovne r14d, eax
jmp 0x1400c3289
xor eax, eax
mov r12d, 1
mov qword [rsp + 0x68], 0
cmp qword [rsp + 0x70], rax
je 0x1400c38a6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x88], 0
cmp qword [rbp + 0x90], rax
je 0x1400c38db
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x90]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov qword [rbp + 0x90], rax
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x1400c38f8
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 - 0x10]
test rdi, rdi
je 0x1400c3915
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14d, r14d
js 0x1400ca07f
mov edi, dword [rbp + 0xcc]
test edi, edi
je 0x1400ca04b
lea rcx, [rbp + 0x6f0]
call fcn.140029e3c
nop
mov dword [0x14014ba88], edi
mov edi, 0x104
mov r8d, edi
lea rdx, [rbp + 0x1210]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r13d, r13d
test eax, eax
je 0x1400c7a42
cmp eax, edi
jne 0x1400c3979
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400c7a42
cmp dword [0x14014d200], r13d
jne 0x1400c3f90
mov dword [rbp - 0x30], r13d
mov qword [rbp + 0x318], r13
mov qword [rbp + 0x4c0], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x370
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x1400c3f5d
mov ecx, r13d
or dword [rbp - 0x80], 0xffffffff
mov r11d, r13d
mov dword [rbp + 0x28], r13d
mov esi, r13d
mov dword [rbp + 0x34], r13d
lea r12, [rax + 7]
lea r13, [0x14000b8f2]
mov r15d, WSAGetLastError
mov ebx, dword [rbp - 0x80]
lea r14d, [r15 - 0x6d]
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx eax, byte [r13 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13]
or r10d, eax
shl r10d, 8
movzx eax, byte [r13 + 1]
or r10d, eax
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx eax, byte [r13 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r13 + 5]
or r9d, eax
xor esi, r10d
xor r11d, r9d
lea r13, [r13 + 8]
xor r11d, esi
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
mov edx, r11d
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor esi, edx
lea eax, [rsi - 0x59c22937]
ror eax, 9
mov edx, esi
rol edx, 2
imul eax, eax, 0xcf67
sub eax, edx
xor r11d, eax
lea eax, [r11 - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xcf67
rol eax, 6
mov edx, esi
rol edx, 2
imul eax, eax, 0xa63d
sub eax, edx
xor r11d, eax
mov edx, r11d
mov r8d, 0xcf6704fb
xor edx, r8d
mov eax, 0xa63dd6c9
sub eax, edx
xor esi, eax
mov edi, esi
ror edi, 6
mov eax, esi
xor eax, 0xd6c9
imul edx, eax, 0xcf67
xor edi, edx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
mov edx, r11d
rol edx, 2
imul eax, eax, 0x4fb
add edx, eax
xor esi, edx
lea eax, [rsi + 0x3098fb05]
ror eax, 0xe
mov edx, esi
rol edx, 8
imul eax, eax, 0xa63d
sub eax, edx
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xc
mov edx, r11d
ror edx, 0xa
imul eax, eax, 0xd6c9
xor edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, esi
shr eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor esi, eax
mov edx, r11d
xor edx, r8d
mov edi, 0xa63dd6c9
mov eax, edi
sub eax, edx
xor esi, eax
lea eax, [rsi - 0x3098fb05]
rol eax, 3
mov edx, esi
rol edx, 6
imul eax, eax, 0xa63d
add edx, eax
xor r11d, edx
mov eax, r8d
sub eax, r11d
ror eax, 9
mov edx, r11d
ror edx, 8
imul eax, eax, 0xd6c9
sub eax, edx
xor esi, eax
xor r11d, esi
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, esi
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 9
mov eax, r11d
mov esi, 0xa63d
xor eax, esi
imul edx, eax, 0xd6c9
sub edx, edi
xor r8d, edx
mov eax, r8d
xor eax, esi
imul edx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor edx, eax
xor r11d, edx
mov edi, r11d
ror edi, 2
mov eax, r11d
xor eax, 0xcf67
imul edx, eax, 0x4fb
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
mov edx, r11d
rol edx, 0xb
imul eax, eax, 0xd6c9
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, esi
rol eax, 2
mov edx, r8d
rol edx, 0xc
imul eax, eax, 0xcf67
add edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
mov edx, r11d
rol edx, 0xe
imul eax, eax, 0x4fb
add edx, eax
xor edx, ecx
xor r8d, edx
mov dword [rbp + 0x34], r8d
xor r11d, ebx
mov dword [rbp + 0x28], r11d
mov byte [r12 - 4], r8b
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x28]
mov byte [r12], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x34]
mov byte [r12 - 5], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 1], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x34]
mov byte [r12 - 6], al
ror dword [rbp + 0x34], 8
mov al, byte [rbp + 0x28]
mov byte [r12 - 2], al
ror dword [rbp + 0x28], 8
mov al, byte [rbp + 0x34]
mov byte [r12 - 7], al
mov al, byte [rbp + 0x28]
mov byte [r12 - 3], al
mov esi, dword [rbp + 0x34]
ror esi, 8
mov dword [rbp + 0x34], esi
mov r11d, dword [rbp + 0x28]
ror r11d, 8
mov dword [rbp + 0x28], r11d
mov ecx, r10d
mov ebx, r9d
lea r12, [r12 + 8]
sub r15, r14
jne 0x1400c39ec
xor r13d, r13d
mov eax, r13d
mov cl, al
mov r14d, dword [rsp + 0x60]
mov rbx, qword [rbp + 0xb0]
mov r15d, eax
mov edx, 0x370
lea r12d, [r13 + 1]
xor cl, byte [rax + rbx]
add rax, r12
cmp rax, rdx
jb 0x1400c3d1b
movzx eax, cl
cmp rax, qword [0x14000bc60]
je 0x1400c3d3a
mov r15d, 0xc004d501
jmp 0x1400c3d4b
mov qword [rbp + 0x318], rbx
mov rbx, r13
mov qword [rbp + 0x4c0], rdx
test rbx, rbx
je 0x1400c3d64
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x1400c3f5d
mov rdi, qword [rbp + 0x318]
mov rax, qword [rbp + 0x4c0]
mov byte [rax + rdi - 1], r13b
cmp byte [rdi], r13b
je 0x1400c3f58
mov r14d, r13d
mov qword [rbp + 0x560], r13
xor eax, eax
mov qword [rbp + 0x568], rax
mov qword [rbp + 0x570], rax
mov rsi, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r13w
jne 0x1400c3daa
lea rdi, [rdi + rax*2]
mov rax, qword gs:[0x60]
mov rbx, qword [rax + 0x18]
add rbx, 0x10
mov rdx, qword [rbx]
cmp rdx, rbx
je 0x1400c3ed0
mov r10, rsi
mov r11, qword [rdx + 0x60]
movzx r9d, word [r11]
movzx eax, r9w
mov ecx, 0x41
sub ax, cx
lea r15d, [rcx - 0x21]
cmp ax, 0x19
ja 0x1400c3dfc
lea ecx, [r15 + r9]
jmp 0x1400c3e00
movzx ecx, r9w
movzx r8d, word [r10]
movzx eax, r8w
sub ax, word [rbp + 0xd0]
cmp ax, 0x19
ja 0x1400c3e1b
lea eax, [r15 + r8]
jmp 0x1400c3e1f
movzx eax, r8w
movzx eax, ax
movzx ecx, cx
sub ecx, eax
jne 0x1400c3e3d
add r11, 2
test r9w, r9w
je 0x1400c3e51
add r10, 2
test r8w, r8w
jne 0x1400c3ddc
test ecx, ecx
js 0x1400c3e49
cmovg ecx, r12d
test ecx, ecx
je 0x1400c3e51
mov rdx, qword [rdx]
jmp 0x1400c3dcc
mov rcx, qword [rdx + 0x30]
mov qword [rbp + 0x560], rcx
mov eax, dword [rdx + 0x40]
mov dword [rbp + 0x568], eax
mov ebx, r13d
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1400c3e98
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x10000000
jae 0x1400c3e98
mov rcx, rax
add rcx, qword [rbp + 0x560]
cmp rcx, qword [rbp + 0x560]
jb 0x1400c3e98
cmp dword [rcx], 0x4550
je 0x1400c3e9f
mov ebx, 0xc000007b
jmp 0x1400c3eca
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400c3ebc
mov ebx, 0xc000000d
jmp 0x1400c3eca
mov rax, qword [rcx + 0x88]
mov qword [rbp + 0x56c], rax
test ebx, ebx
jns 0x1400c3ed8
jmp 0x1400c3ed5
mov ebx, 0xc000007a
mov dword [rbp - 0x30], ebx
mov eax, dword [rdi + 2]
add rdi, 6
test eax, eax
je 0x1400c3f45
mov esi, eax
mov qword [rbp + 0x510], r13
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r13b
jne 0x1400c3ef3
inc rdi
add rdi, rax
test ebx, ebx
js 0x1400c3f3d
lea r9, [rbp + 0x510]
lea r8, [rbp + 0x560]
xor edx, edx
call fcn.140104050
test eax, eax
jns 0x1400c3f24
mov dword [rbp - 0x30], eax
jmp 0x1400c3f3d
mov ecx, r14d
mov rax, qword [rbp + 0x510]
lea rdx, [0x140000000]
mov qword [rdx + rcx*8 + 0x148d20], rax
add r14d, r12d
sub rsi, r12
jne 0x1400c3ee5
cmp byte [rdi], r13b
jne 0x1400c3d8c
mov r14d, dword [rsp + 0x60]
mov edi, dword [rbp - 0x30]
jmp 0x1400c3f62
mov edi, r13d
jmp 0x1400c3f62
mov edi, 0xc000007a
cmp qword [rbp + 0x318], r13
je 0x1400c3f83
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x318]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x1400c3f90
mov eax, r12d
xchg dword [0x14014d200], eax
mov rdi, qword [0x140148e30]
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x1400c3fc0
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c7a42
mov rdi, qword [0x140148db8]
mov rcx, rdi
call qword [fcn.140015690]
call rdi
mov qword [0x14014d208], rax
mov edi, dword [0x14014ba88]
mov dword [rbp - 0x78], edi
mov dword [rbp + 0x8c0], r13d
xor edx, edx
lea r8d, [rdx + 0x6c]
lea rcx, [rbp + 0x8c4]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xd20], 0
xor eax, eax
mov qword [rbp + 0xd28], rax
mov dword [rbp + 0x2d8], r12d
mov qword [rbp + 0x40], r13
mov qword [rbp + 0xb0], r13
mov dword [rbp + 0xdd8], r13d
xor edx, edx
lea r8d, [rax + 0x28]
lea rcx, [rbp + 0xddc]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xc0], r13
xor eax, eax
mov dword [rbp + 0x1152], eax
mov dword [rbp - 0x20], r13d
mov dword [rbp - 0x28], r13d
lea rcx, [rbp + 0x3c8]
call fcn.140029e3c
mov qword [rbp + 0x68], r13
mov qword [rbp + 0x5a0], r13
xor r15d, r15d
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0x5a8], r15
mov qword [rbp - 0x40], r15
mov qword [rbp + 0x5b0], r15
mov qword [rbp + 0xd50], r15
xor eax, eax
mov qword [rbp + 0xd58], rax
cmp dword [0x14014d200], r13d
jne 0x1400c46ff
mov dword [rsp + 0x78], r13d
mov dword [rbp - 0x30], r13d
mov qword [rbp + 0x2f8], r13
mov qword [rbp + 0x4d0], r13
mov dword [rbp - 0x80], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x370
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x1400c46a6
mov byte [rsp + 0x64], r13b
mov edi, r13d
or r12d, 0xffffffff
mov esi, r13d
mov dword [rbp + 0x24], r13d
mov r15d, r13d
mov dword [rbp + 0x30], r13d
lea r13, [rax + 7]
lea r14, [0x14000b8f2]
mov ecx, WSAGetLastError
movzx r11d, byte [r14 - 2]
shl r11d, 8
movzx eax, byte [r14 - 1]
or r11d, eax
shl r11d, 8
movzx eax, byte [r14]
or r11d, eax
shl r11d, 8
movzx eax, byte [r14 + 1]
or r11d, eax
movzx r10d, byte [r14 + 2]
shl r10d, 8
movzx eax, byte [r14 + 3]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 4]
or r10d, eax
shl r10d, 8
movzx eax, byte [r14 + 5]
or r10d, eax
xor r15d, r11d
xor esi, r10d
lea r14, [r14 + 8]
xor esi, r15d
xor esi, 0x695ad232
lea eax, [rsi + 0x3098fb05]
rol eax, 5
mov edx, esi
rol edx, 0xa
imul eax, eax, 0xd6c9
add edx, eax
xor r15d, edx
lea eax, [r15 - 0x59c22937]
ror eax, 9
mov edx, r15d
rol edx, 2
imul eax, eax, 0xcf67
sub eax, edx
xor esi, eax
lea eax, [rsi - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, esi
shr eax, 0xd
sub edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0xcf67
rol eax, 6
mov edx, r15d
rol edx, 2
imul eax, eax, 0xa63d
sub eax, edx
xor esi, eax
mov edx, esi
mov r9d, 0xcf6704fb
xor edx, r9d
mov eax, 0xa63dd6c9
sub eax, edx
xor r15d, eax
mov r8d, r15d
ror r8d, 6
mov eax, r15d
xor eax, 0xd6c9
imul edx, eax, 0xcf67
xor r8d, edx
xor esi, r8d
lea eax, [rsi - 0x59c22937]
ror eax, 0xf
mov edx, esi
rol edx, 2
imul eax, eax, 0x4fb
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x3098fb05]
ror eax, 0xe
mov edx, r15d
rol edx, 8
imul eax, eax, 0xa63d
sub eax, edx
xor esi, eax
mov eax, esi
xor eax, r9d
ror eax, 0xc
mov edx, esi
ror edx, 0xa
imul eax, eax, 0xd6c9
xor edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, r15d
shr eax, 0xa
xor edx, eax
xor esi, edx
mov eax, esi
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor r15d, eax
mov edx, esi
xor edx, r9d
mov r8d, 0xa63dd6c9
mov eax, r8d
sub eax, edx
xor r15d, eax
lea eax, [r15 - 0x3098fb05]
rol eax, 3
mov edx, r15d
rol edx, 6
imul eax, eax, 0xa63d
add edx, eax
xor esi, edx
mov eax, r9d
sub eax, esi
ror eax, 9
mov edx, esi
ror edx, 8
imul eax, eax, 0xd6c9
sub eax, edx
xor r15d, eax
xor esi, r15d
xor esi, 0x695ad232
lea r9d, [rsi - 0x4fb]
xor r9d, r15d
xor r9d, r8d
mov eax, r9d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r9d
shr eax, 8
add edx, eax
xor esi, edx
mov r8d, esi
ror r8d, 9
mov eax, esi
mov r15d, 0xa63d
xor eax, r15d
imul edx, eax, 0xd6c9
sub edx, r8d
xor r9d, edx
mov eax, r9d
xor eax, r15d
imul edx, eax, 0xcf67
mov eax, r9d
shr eax, 6
xor edx, eax
xor esi, edx
mov r8d, esi
ror r8d, 2
mov eax, esi
xor eax, 0xcf67
imul edx, eax, 0x4fb
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x309854c8]
xor esi, eax
lea eax, [rsi + 0x3098fb05]
rol eax, 7
mov edx, esi
rol edx, 0xb
imul eax, eax, 0xd6c9
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, r15d
rol eax, 2
mov edx, r9d
rol edx, 0xc
imul eax, eax, 0xcf67
add edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xa63dd6c9
rol eax, 4
mov edx, esi
rol edx, 0xe
imul eax, eax, 0x4fb
add edx, eax
xor edx, edi
xor r9d, edx
mov dword [rbp + 0x30], r9d
xor esi, r12d
mov dword [rbp + 0x24], esi
mov byte [r13 - 4], r9b
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x24]
mov byte [r13], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x30]
mov byte [r13 - 5], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x24]
mov byte [r13 - 1], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x30]
mov byte [r13 - 6], al
ror dword [rbp + 0x30], 8
mov al, byte [rbp + 0x24]
mov byte [r13 - 2], al
ror dword [rbp + 0x24], 8
mov al, byte [rbp + 0x30]
mov byte [r13 - 7], al
mov al, byte [rbp + 0x24]
mov byte [r13 - 3], al
mov r15d, dword [rbp + 0x30]
ror r15d, 8
mov dword [rbp + 0x30], r15d
mov esi, dword [rbp + 0x24]
ror esi, 8
mov dword [rbp + 0x24], esi
mov edi, r11d
mov r12d, r10d
lea r13, [r13 + 8]
mov edx, 1
sub rcx, rdx
jne 0x1400c4109
xor r13d, r13d
mov eax, r13d
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x78]
mov r14d, dword [rsp + 0x60]
mov r12d, dword [rbp - 0x80]
mov r8d, 0x370
xor cl, byte [rax + rbx]
add rax, rdx
cmp rax, r8
jb 0x1400c4431
movzx eax, cl
cmp rax, qword [0x14000bc60]
je 0x1400c4450
mov r12d, 0xc004d501
jmp 0x1400c4461
mov qword [rbp + 0x2f8], rbx
mov rbx, r13
mov qword [rbp + 0x4d0], r8
test rbx, rbx
je 0x1400c447a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x1400c46a6
mov rbx, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x4d0]
mov byte [rax + rbx - 1], r13b
cmp byte [rbx], r13b
je 0x1400c46a1
mov r14d, dword [rsp + 0x78]
lea rdi, [0x140000000]
mov qword [rbp + 0x580], r13
xor eax, eax
mov qword [rbp + 0x588], rax
mov qword [rbp + 0x590], rax
mov r15, rbx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r13w
jne 0x1400c44c9
lea rbx, [rbx + rax*2]
mov rax, qword gs:[0x60]
mov rsi, qword [rax + 0x18]
add rsi, 0x10
mov rdx, qword [rsi]
cmp rdx, rsi
je 0x1400c45f3
mov r10, r15
mov r11, qword [rdx + 0x60]
movzx r9d, word [r11]
movzx eax, r9w
mov ecx, 0x41
sub ax, cx
lea r12d, [rcx - 0x21]
cmp ax, 0x19
ja 0x1400c451b
lea ecx, [r12 + r9]
jmp 0x1400c451f
movzx ecx, r9w
movzx r8d, word [r10]
movzx eax, r8w
sub ax, word [rbp + 0xd0]
cmp ax, 0x19
ja 0x1400c453a
lea eax, [r12 + r8]
jmp 0x1400c453e
movzx eax, r8w
movzx eax, ax
movzx ecx, cx
sub ecx, eax
jne 0x1400c455c
add r11, 2
test r9w, r9w
je 0x1400c4574
add r10, 2
test r8w, r8w
jne 0x1400c44fb
test ecx, ecx
js 0x1400c456c
mov eax, 1
cmovg ecx, eax
test ecx, ecx
je 0x1400c4574
mov rdx, qword [rdx]
jmp 0x1400c44eb
mov rcx, qword [rdx + 0x30]
mov qword [rbp + 0x580], rcx
mov eax, dword [rdx + 0x40]
mov dword [rbp + 0x588], eax
mov esi, r13d
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1400c45bb
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x10000000
jae 0x1400c45bb
mov rcx, rax
add rcx, qword [rbp + 0x580]
cmp rcx, qword [rbp + 0x580]
jb 0x1400c45bb
cmp dword [rcx], 0x4550
je 0x1400c45c2
mov esi, 0xc000007b
jmp 0x1400c45ed
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400c45df
mov esi, 0xc000000d
jmp 0x1400c45ed
mov rax, qword [rcx + 0x88]
mov qword [rbp + 0x58c], rax
test esi, esi
jns 0x1400c45fb
jmp 0x1400c45f8
mov esi, 0xc000007a
mov dword [rbp - 0x30], esi
mov eax, dword [rbx + 2]
add rbx, 6
test eax, eax
je 0x1400c466c
mov r15d, eax
mov edx, 1
mov qword [rbp + 0x598], r13
mov rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r13b
jne 0x1400c461c
inc rbx
add rbx, rax
test esi, esi
js 0x1400c4664
lea r9, [rbp + 0x598]
lea r8, [rbp + 0x580]
xor edx, edx
call fcn.140104050
mov edx, 1
test eax, eax
jns 0x1400c4652
mov dword [rbp - 0x30], eax
jmp 0x1400c4664
mov ecx, r14d
mov rax, qword [rbp + 0x598]
mov qword [rdi + rcx*8 + 0x148d20], rax
add r14d, edx
sub r15, rdx
jne 0x1400c460e
cmp byte [rbx], r13b
jne 0x1400c44ab
mov rax, qword [rbp + 0x5b0]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x5a8]
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0x5a0]
mov qword [rbp + 0x68], rax
mov edi, dword [rbp - 0x78]
mov r14d, dword [rsp + 0x60]
mov ebx, dword [rbp - 0x30]
jmp 0x1400c46ab
mov ebx, 0xc000007a
cmp qword [rbp + 0x2f8], r13
je 0x1400c46cc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x2f8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x1400c46ff
mov eax, 1
xchg dword [0x14014d200], eax
mov rax, qword [rbp + 0x5b0]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x5a8]
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0x5a0]
mov qword [rbp + 0x68], rax
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rbp + 0x8c0]
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xd20], rax
mov r12d, edi
lea ecx, [rax + 0xf]
and r12d, ecx
mov dword [rbp - 0x48], r12d
mov eax, edi
shr eax, 4
and ax, cx
mov word [rbp + 0x1150], ax
mov eax, edi
shr eax, 8
and ax, cx
mov word [rbp + 0x1152], ax
shr edi, 0xc
and di, cx
mov word [rbp + 0x1154], di
mov rdi, qword [0x140148e30]
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov qword [rbp - 0x10], rax
mov dword [rbp + 0xb8], 0xffffff
test rax, rax
jne 0x1400c47a7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c5d79
mov esi, 0x80004005
jmp 0x1400c5d79
lea rcx, [rbp + 0x3b8]
call fcn.140029e3c
nop
lea rcx, [rbp + 0x310]
call fcn.140029e3c
nop
mov qword [rbp + 0x4e0], r13
lea rcx, [rbp + 0xa8]
call fcn.140029e3c
nop
lea rcx, [rbp + 0x230]
call fcn.140029e3c
nop
lea rcx, [rbp + 0x1f0]
call fcn.140029e3c
nop
mov esi, r13d
mov dword [rbp + 0x1bc], r13d
mov rdi, qword [0x140148dc0]
mov rcx, rdi
call qword [fcn.140015690]
lea r9, [rbp + 0x1bc]
xor r8d, r8d
lea rdx, [rbp + 0xf0]
lea ecx, [r8 + 8]
call rdi
test eax, eax
jne 0x1400c484a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c4987
mov esi, 0x80004005
jmp 0x1400c4987
mov edi, dword [rbp + 0x1bc]
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 + 0x230]
call fcn.140104374
mov qword [rbp + 0x230], rdi
test rdi, rdi
jne 0x1400c488c
mov esi, 0x8007000e
jmp 0x1400c4987
mov edi, dword [rbp + 0xf0]
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 + 0x1f0]
call fcn.140104374
mov qword [rbp + 0x1f0], rdi
test rdi, rdi
je 0x1400c4882
mov rdi, qword [0x140148dc0]
mov rcx, rdi
call qword [fcn.140015690]
lea r9, [rbp + 0x1bc]
mov r8, qword [rbp + 0x230]
lea rdx, [rbp + 0xf0]
mov ecx, 8
call rdi
test eax, eax
je 0x1400c4824
mov rbx, qword [rbp + 0x230]
mov r15, qword [rbp + 0x1f0]
mov r12d, r13d
cmp dword [rbp + 0xf0], r13d
jbe 0x1400c4960
mov r14d, 1
mov rdi, qword [0x140148dd0]
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
mov rcx, rbx
call rdi
mov dword [r15], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r13w
jne 0x1400c4939
lea rbx, [rbx + rax*2]
add rbx, 2
add r15, 4
add r12d, r14d
cmp r12d, dword [rbp + 0xf0]
jb 0x1400c491b
mov r14d, dword [rsp + 0x60]
mov dword [r15], 0x409
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1f0], r13
mov qword [rbp + 0x3b8], rax
mov eax, dword [rbp + 0xf0]
inc eax
mov dword [rbp - 0x78], eax
lea rcx, [rbp + 0x1f0]
call fcn.140104374
nop
lea rcx, [rbp + 0x230]
call fcn.140104374
test esi, esi
js 0x1400c5111
mov r15d, r13d
mov dword [rbp], r13d
mov r9d, r13d
lea rsi, [0x14000b7d0]
cmp dword [rbp - 0x78], r13d
jbe 0x1400c49fc
mov r8, r13
mov rax, qword [rbp + 0x3b8]
mov edx, r13d
mov rdi, rsi
mov ecx, dword [rdi]
cmp dword [rax + r8], ecx
je 0x1400c49f6
mov ecx, 1
add edx, ecx
add rdi, 4
cmp edx, 0x27
jb 0x1400c49cf
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x78]
jae 0x1400c49fc
jmp 0x1400c49c9
mov r15d, edx
mov dword [rbp], edx
mov ebx, r15d
mov dword [rbp + 0xd0], r13d
mov rdi, qword [0x140148dc8]
mov rcx, rdi
call qword [fcn.140015690]
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0x1160]
mov ecx, dword [rsi + rbx*4]
call rdi
test eax, eax
je 0x1400c4a75
mov rdi, qword [0x140148db0]
mov rcx, rdi
call qword [fcn.140015690]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0x1010]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0x1160]
call rdi
mov r12d, 1
test eax, eax
jle 0x1400c4a7b
mov esi, dword [rbp + 0x101c]
shr esi, 0x1b
and esi, r12d
mov dword [rbp + 0xd0], esi
jmp 0x1400c4a7b
mov r12d, 1
lea rcx, [0x14000bc70]
lea rdx, [rbp + 0x840]
mov edi, 0xa
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r13w
jne 0x1400c4a95
lea rcx, [rcx + rax*2]
add rcx, 2
add rdx, 8
sub rdi, r12
jne 0x1400c4a8e
lea rcx, [rbx + rbx*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xb870]
mov rax, qword [rbp + rax*8 + 0x840]
mov qword [rbp + 0x68], rax
movzx eax, byte [rdx + rcx + 0xb871]
mov rax, qword [rbp + rax*8 + 0x840]
mov qword [rbp + 0xe8], rax
movzx eax, byte [rdx + rcx + 0xb872]
mov rax, qword [rbp + rax*8 + 0x840]
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x78], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x2000
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x1400c4b28
mov esi, 0x8007000e
jmp 0x1400c4ef9
mov byte [rsp + 0x64], r13b
or dword [rsp + 0x78], 0xffffffff
mov r11d, r13d
mov dword [rbp + 0x2c], r13d
mov r15d, r13d
mov dword [rbp + 0x38], r13d
lea r12, [rax + 7]
lea r13, [0x1400097c2]
mov eax, 0x400
mov ebx, r15d
mov esi, dword [rsp + 0x78]
mov r14d, 1
movzx r10d, byte [r13 - 2]
shl r10d, 8
movzx ecx, byte [r13 - 1]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r13]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r13 + 1]
or r10d, ecx
movzx r9d, byte [r13 + 2]
shl r9d, 8
movzx ecx, byte [r13 + 3]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r13 + 4]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r13 + 5]
or r9d, ecx
xor r15d, r10d
xor r11d, r9d
lea r13, [r13 + 8]
xor r11d, r15d
xor r11d, 0x695ad232
lea ecx, [r11 + 0x3098fb05]
rol ecx, 5
mov edx, r11d
rol edx, 0xa
imul ecx, ecx, 0xd6c9
add edx, ecx
xor r15d, edx
lea ecx, [r15 - 0x59c22937]
ror ecx, 9
mov edx, r15d
rol edx, 2
imul ecx, ecx, 0xcf67
sub ecx, edx
xor r11d, ecx
lea ecx, [r11 - 0xd6c9]
imul edx, ecx, 0x4fb
mov ecx, r11d
shr ecx, 0xd
sub edx, ecx
xor r15d, edx
mov ecx, r15d
xor ecx, 0xcf67
rol ecx, 6
mov edx, r15d
rol edx, 2
imul ecx, ecx, 0xa63d
sub ecx, edx
xor r11d, ecx
mov edx, r11d
mov r8d, 0xcf6704fb
xor edx, r8d
mov ecx, 0xa63dd6c9
sub ecx, edx
xor r15d, ecx
mov edi, r15d
ror edi, 6
mov ecx, r15d
xor ecx, 0xd6c9
imul edx, ecx, 0xcf67
xor edi, edx
xor r11d, edi
lea ecx, [r11 - 0x59c22937]
ror ecx, 0xf
mov edx, r11d
rol edx, 2
imul ecx, ecx, 0x4fb
add edx, ecx
xor r15d, edx
lea ecx, [r15 + 0x3098fb05]
ror ecx, 0xe
mov edx, r15d
rol edx, 8
imul ecx, ecx, 0xa63d
sub ecx, edx
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
ror ecx, 0xc
mov edx, r11d
ror edx, 0xa
imul ecx, ecx, 0xd6c9
xor edx, ecx
xor r15d, edx
mov ecx, r15d
xor ecx, 0xa63d
imul edx, ecx, 0xcf67
mov ecx, r15d
shr ecx, 0xa
xor edx, ecx
xor r11d, edx
mov ecx, r11d
not ecx
ror ecx, 5
add ecx, 0x4fb
imul ecx, ecx, 0xa63d
xor r15d, ecx
mov edx, r11d
xor edx, r8d
mov edi, 0xa63dd6c9
mov ecx, edi
sub ecx, edx
xor r15d, ecx
lea ecx, [r15 - 0x3098fb05]
rol ecx, 3
mov edx, r15d
rol edx, 6
imul ecx, ecx, 0xa63d
add edx, ecx
xor r11d, edx
mov ecx, r8d
sub ecx, r11d
ror ecx, 9
mov edx, r11d
ror edx, 8
imul ecx, ecx, 0xd6c9
sub ecx, edx
xor r15d, ecx
xor r11d, r15d
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, r15d
xor r8d, edi
mov ecx, r8d
xor ecx, 0x4fb
imul edx, ecx, 0xa63d
mov ecx, r8d
shr ecx, 8
add edx, ecx
xor r11d, edx
mov edi, r11d
ror edi, 9
mov ecx, r11d
mov r15d, 0xa63d
xor ecx, r15d
imul edx, ecx, 0xd6c9
sub edx, edi
xor r8d, edx
mov ecx, r8d
xor ecx, r15d
imul edx, ecx, 0xcf67
mov ecx, r8d
shr ecx, 6
xor edx, ecx
xor r11d, edx
mov edi, r11d
ror edi, 2
mov ecx, r11d
xor ecx, 0xcf67
imul edx, ecx, 0x4fb
xor edi, edx
xor r8d, edi
lea ecx, [r8 + 0x309854c8]
xor r11d, ecx
lea ecx, [r11 + 0x3098fb05]
rol ecx, 7
mov edx, r11d
rol edx, 0xb
imul ecx, ecx, 0xd6c9
xor edx, ecx
xor r8d, edx
mov ecx, r8d
xor ecx, r15d
rol ecx, 2
mov edx, r8d
rol edx, 0xc
imul ecx, ecx, 0xcf67
add edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0xa63dd6c9
rol ecx, 4
mov edx, r11d
rol edx, 0xe
imul ecx, ecx, 0x4fb
add edx, ecx
xor edx, ebx
xor r8d, edx
mov dword [rbp + 0x38], r8d
xor r11d, esi
mov dword [rbp + 0x2c], r11d
mov byte [r12 - 4], r8b
ror dword [rbp + 0x38], 8
mov cl, byte [rbp + 0x2c]
mov byte [r12], cl
ror dword [rbp + 0x2c], 8
mov cl, byte [rbp + 0x38]
mov byte [r12 - 5], cl
ror dword [rbp + 0x38], 8
mov cl, byte [rbp + 0x2c]
mov byte [r12 - 1], cl
ror dword [rbp + 0x2c], 8
mov cl, byte [rbp + 0x38]
mov byte [r12 - 6], cl
ror dword [rbp + 0x38], 8
mov cl, byte [rbp + 0x2c]
mov byte [r12 - 2], cl
ror dword [rbp + 0x2c], 8
mov cl, byte [rbp + 0x38]
mov byte [r12 - 7], cl
mov cl, byte [rbp + 0x2c]
mov byte [r12 - 3], cl
mov r15d, dword [rbp + 0x38]
ror r15d, 8
mov dword [rbp + 0x38], r15d
mov r11d, dword [rbp + 0x2c]
ror r11d, 8
mov dword [rbp + 0x2c], r11d
mov ebx, r10d
mov esi, r9d
lea r12, [r12 + 8]
sub rax, r14
jne 0x1400c4b5d
xor r13d, r13d
mov ecx, r13d
mov al, byte [rsp + 0x64]
mov r14d, dword [rsp + 0x60]
mov esi, dword [rbp - 0x78]
mov rbx, qword [rbp - 0x70]
mov edx, 0x2000
lea r12d, [r13 + 1]
xor al, byte [rcx + rbx]
add rcx, r12
cmp rcx, rdx
jb 0x1400c4ead
movzx ecx, al
cmp rcx, qword [0x14000b7c0]
je 0x1400c4ecb
mov esi, 0xc004d501
jmp 0x1400c4edc
mov qword [rbp + 0x310], rbx
mov rbx, r13
mov qword [rbp + 0x4e0], rdx
test rbx, rbx
je 0x1400c4ef5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15d, dword [rbp]
test esi, esi
js 0x1400c5111
mov rdx, qword [rbp + 0x310]
lea rdi, [rbp + 0x890]
mov r8d, 6
mov ecx, r13d
cmp r15d, ecx
jne 0x1400c4f20
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r13b
jne 0x1400c4f24
inc rdx
add rdx, rax
add ecx, r12d
cmp ecx, 0x27
jb 0x1400c4f18
add rdi, 8
sub r8, r12
jne 0x1400c4f15
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 + 0xa8]
call fcn.140104374
mov qword [rbp + 0xa8], rdi
test rdi, rdi
jne 0x1400c4f7e
mov esi, 0x8007000e
jmp 0x1400c5192
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov edx, r13d
mov dword [rbp - 0x78], edx
mov r12, r13
lea rcx, [rbp + 0x1150]
mov qword [rbp + 8], rcx
lea r8d, [rax + 1]
mov eax, r13d
movzx edi, word [rcx]
lea rcx, [0x14000bdb8]
cmp di, word [rcx]
je 0x1400c4fc6
add eax, r8d
add rcx, 2
cmp eax, 6
jb 0x1400c4fb0
jmp 0x1400c509a
mov r13, qword [rbp + rax*8 + 0x890]
or rbx, 0xffffffffffffffff
xor r15d, r15d
inc rbx
cmp byte [r13 + rbx], r15b
jne 0x1400c4fd5
add ebx, r8d
mov rdi, qword [0x140148de0]
mov rcx, rdi
call qword [fcn.140015690]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, ebx
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
call rdi
mov dword [rbp - 0x80], eax
test eax, eax
je 0x1400c50f1
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbp + 0xa8]
mov qword [rcx + r12], rax
mov rdi, qword [rbp + 0xa8]
cmp qword [rdi + r12], r15
je 0x1400c50e7
or r15, 0xffffffffffffffff
xor eax, eax
inc r15
cmp byte [r13 + r15], al
jne 0x1400c5052
mov rbx, qword [0x140148de0]
mov rcx, rbx
call qword [fcn.140015690]
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x28], eax
mov rax, qword [rdi + r12]
mov qword [rsp + 0x20], rax
lea r9d, [r15 + 1]
mov r8, r13
xor edx, edx
mov ecx, 0xfde9
call rbx
xor r13d, r13d
test eax, eax
je 0x1400c50df
mov edx, dword [rbp - 0x78]
lea r8d, [r13 + 1]
add edx, r8d
mov dword [rbp - 0x78], edx
mov rcx, qword [rbp + 8]
add rcx, 2
mov qword [rbp + 8], rcx
add r12, 8
cmp edx, 3
jb 0x1400c4fa3
mov rax, qword [rbp + 0xa8]
mov rdi, r13
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0x3c8], rax
mov eax, dword [rbp + 0xd0]
mov dword [rbp + 0x8c0], eax
jmp 0x1400c5118
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c50fa
mov esi, 0x8007000e
xor r13d, r13d
jmp 0x1400c5118
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r13d, r13d
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c5111
mov esi, 0x80004005
mov rdi, qword [rbp + 0xa8]
mov r12d, 1
test rdi, rdi
je 0x1400c5192
mov rbx, r13
lea r15d, [r12 + 2]
cmp qword [rdi + rbx], r13
je 0x1400c5189
test rdi, rdi
jne 0x1400c513e
mov rdi, r13
mov rax, r13
jmp 0x1400c5141
mov rax, rdi
mov rdx, qword [rbx + rdi]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdx + rcx*2], r13w
jne 0x1400c5149
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbx + rax]
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [rbp + 0xa8]
mov rdi, qword [rbx + rax]
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 + 0xa8]
add rbx, 8
sub r15, r12
jne 0x1400c512b
mov rdi, qword [rbp + 0x310]
test rdi, rdi
je 0x1400c51a9
xor eax, eax
mov rcx, qword [rbp + 0x4e0]
rep stosb byte [rdi], al
lea rcx, [rbp + 0xa8]
call fcn.140104374
nop
lea rcx, [rbp + 0x310]
call fcn.140104374
nop
lea rcx, [rbp + 0x3b8]
call fcn.140104374
test esi, esi
js 0x1400c5d54
mov rax, qword [rbp + 0x3c8]
mov rcx, qword [rax]
mov qword [rbp + 0x8c8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x8d0], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x8d8], rcx
xor eax, eax
mov qword [rbp + 0x51c], rax
mov dword [rbp + 0x524], eax
mov ebx, r13d
mov esi, r13d
mov dword [rbp + 0x518], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rdi, qword [0x140148ea0]
mov rcx, rdi
call qword [fcn.140015690]
xor r9d, r9d
lea r8, [rbp + 0x518]
xor edx, edx
lea ecx, [rdx + 0x42]
call rdi
test eax, eax
jne 0x1400c5261
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c526a
mov esi, 0x80004005
jmp 0x1400c526a
mov ebx, dword [rbp + 0x51c]
and ebx, r12d
mov dword [rbp + 0x8c4], ebx
mov r12d, dword [rbp - 0x48]
test esi, esi
js 0x1400c5d61
mov ecx, r12d
mov edx, reloc.WSOCK32.dll_inet_ntoa
lea eax, [rdx + 0x1f]
mov dword [rbp - 0x30], eax
dec ecx
je 0x1400c52ac
dec ecx
je 0x1400c52a3
dec ecx
jne 0x1400c52b2
mov ebx, 0xe1
mov dword [rbp - 0x20], ebx
mov dword [rbp - 0x28], ebx
jmp 0x1400c52b2
mov dword [rbp - 0x20], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x1400c52af
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x28], edx
mov esi, 0x60
mov r13d, esi
xor ebx, ebx
mov word [rbp + 0x1030], bx
xor edx, edx
lea r8d, [rsi - 0x22]
lea rcx, [rbp + 0x1032]
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rsi + 0x3c]
lea rcx, [rbp + 0x1070]
call sub.msvcrt.dll_memset
lea eax, [rsi + 0x7c]
mov word [rbp + 0x1074], ax
mov rdi, qword [0x140148e18]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0x1030]
or edx, 0xffffffff
xor ecx, ecx
call rdi
test eax, eax
je 0x1400c5341
movzx r13d, word [rbp + 0x10d6]
mov qword [rbp + 0xd50], rbx
mov eax, dword [rbp + 0x10dc]
mov dword [rbp + 0xd58], eax
mov eax, dword [rbp + 0x10e0]
mov dword [rbp + 0xd5c], eax
cmp r13d, esi
cmovl r13d, esi
mov eax, 1
cmp r12d, eax
mov r15, qword [rbp - 0x40]
cmove r15, qword [rbp + 0x68]
xor edx, edx
lea r8d, [rax + 0x5b]
lea rcx, [rbp + 0xf50]
call sub.msvcrt.dll_memset
mov esi, ebx
mov rdi, qword [0x140148e30]
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov rbx, rax
xor edi, edi
test rax, rax
jne 0x1400c53b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c5d5e
mov esi, 0x80004005
jmp 0x1400c545a
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, 0x48
mov edx, r13d
mov ecx, dword [rbp - 0x20]
call rdi
neg eax
mov dword [rbp + 0xf50], eax
mov dword [rbp + 0xf60], 0x190
mov byte [rbp + 0xf6a], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xf6c]
call fcn.140044bb0
mov rdi, qword [0x140148d40]
mov rcx, rdi
call qword [fcn.140015690]
lea rcx, [rbp + 0xf50]
call rdi
test rax, rax
jne 0x1400c543a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c5441
mov esi, 0x80004005
jmp 0x1400c5441
mov qword [rbp + 0x8e0], rax
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
xor ecx, ecx
call rdi
xor edi, edi
test esi, esi
js 0x1400c5d5e
xor edx, edx
lea r8d, [rdx + 0x5c]
lea rcx, [rbp + 0xfb0]
call sub.msvcrt.dll_memset
mov esi, edi
mov rdi, qword [0x140148e30]
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov rbx, rax
xor edi, edi
test rax, rax
jne 0x1400c54c2
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c5d5e
mov esi, 0x80004005
jmp 0x1400c556a
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, 0x48
mov edx, r13d
mov ecx, dword [rbp - 0x28]
call rdi
neg eax
mov dword [rbp + 0xfb0], eax
mov dword [rbp + 0xfc0], 0x190
mov byte [rbp + 0xfca], 5
mov r8, r15
mov edx, 0x20
lea rcx, [rbp + 0xfcc]
call fcn.140044bb0
mov rdi, qword [0x140148d40]
mov rcx, rdi
call qword [fcn.140015690]
lea rcx, [rbp + 0xfb0]
call rdi
test rax, rax
jne 0x1400c554a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c5551
mov esi, 0x80004005
jmp 0x1400c5551
mov qword [rbp + 0x8e8], rax
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
xor ecx, ecx
call rdi
xor edi, edi
test esi, esi
js 0x1400c5d5e
mov r15d, edi
mov edx, edi
mov ecx, r12d
dec ecx
je 0x1400c559e
dec ecx
je 0x1400c5588
dec ecx
je 0x1400c559e
jmp 0x1400c55ab
mov eax, dword [rbp + 0xd58]
cdq
and edx, 3
lea r15d, [rdx + rax]
sar r15d, 2
mov edx, edi
jmp 0x1400c55ab
mov r15d, dword [rbp + 0xd58]
mov edx, dword [rbp + 0xd5c]
mov dword [rbp + 0xd28], r15d
mov dword [rbp + 0xd2c], edx
mov ecx, 1
cmp r12d, ecx
je 0x1400c55f6
lea eax, [r12 - 2]
cmp eax, ecx
ja 0x1400c55d5
mov eax, edi
mov dword [rbp - 0x30], edi
mov dword [rbp - 0x20], edi
jmp 0x1400c5602
mov eax, dword [rbp + 0x80]
mov dword [rbp - 0x20], eax
mov eax, dword [rbp + 0x80]
mov dword [rbp - 0x30], eax
mov r12d, dword [rbp + 0x80]
mov eax, dword [rbp + 0x80]
jmp 0x1400c5605
mov eax, 0x96
mov dword [rbp - 0x20], 0x20
mov r12d, edi
mov dword [rbp], eax
sub r15d, eax
sub r15d, r12d
mov dword [rbp + 0x914], r15d
mov dword [rbp + 0x904], r15d
mov rbx, qword [rbp + 0x8c8]
mov esi, edi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x8e0]
mov rcx, qword [rbp - 0x10]
call rdi
mov qword [rbp - 0x70], rax
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x8fc]
or r8d, 0xffffffff
mov rdx, rbx
mov rcx, qword [rbp - 0x10]
call rdi
xor ecx, ecx
test eax, eax
mov eax, 0x80004005
cmove esi, eax
mov rbx, qword [rbp - 0x70]
test rbx, rbx
je 0x1400c56a9
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
mov rcx, qword [rbp - 0x10]
call rdi
xor ecx, ecx
test esi, esi
js 0x1400c5d5a
mov rbx, qword [rbp + 0x8d0]
mov esi, ecx
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x8e8]
mov rcx, qword [rbp - 0x10]
call rdi
mov qword [rbp - 0x70], rax
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xc50
lea r9, [rbp + 0x90c]
or r8d, 0xffffffff
mov rdx, rbx
mov rcx, qword [rbp - 0x10]
call rdi
xor edx, edx
test eax, eax
mov eax, 0x80004005
cmove esi, eax
mov rbx, qword [rbp - 0x70]
test rbx, rbx
je 0x1400c573e
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
mov rcx, qword [rbp - 0x10]
call rdi
xor edx, edx
test esi, esi
js 0x1400c5d5a
mov eax, dword [rbp - 0x48]
add eax, 0xfffffffe
mov ecx, dword [rbp + 0x904]
mov edi, 1
cmp eax, edi
ja 0x1400c5769
mov r15d, dword [rbp + 0x914]
cmp ecx, r15d
cmovg r15d, ecx
mov rdi, qword [fcn.14006c2a0]
cmp dword [rbp + 0x8c0], edx
je 0x1400c57cc
mov ebx, r12d
sub ebx, ecx
add ebx, r15d
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, dword [rbp - 0x30]
mov edx, ebx
lea rcx, [rbp + 0x8fc]
call rdi
mov ebx, dword [rbp - 0x20]
add ebx, dword [rbp + 0x908]
sub r12d, dword [rbp + 0x914]
add r12d, r15d
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, ebx
mov edx, r12d
lea rcx, [rbp + 0x90c]
call rdi
jmp 0x1400c580d
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, dword [rbp - 0x30]
mov edx, dword [rbp]
lea rcx, [rbp + 0x8fc]
call rdi
mov edi, dword [rbp - 0x20]
add edi, dword [rbp + 0x908]
mov rbx, qword [fcn.14006c2a0]
mov rcx, rbx
call qword [fcn.140015690]
mov r8d, edi
mov edx, dword [rbp]
lea rcx, [rbp + 0x90c]
call rbx
mov r12d, dword [rbp - 0x48]
lea eax, [r12 - 2]
mov ebx, 1
cmp eax, ebx
jbe 0x1400c5b2c
cmp r12d, ebx
jne 0x1400c5b49
mov dword [rbp + 0x8f8], 0xffffff
xor edx, edx
lea r8d, [rbx + 0x5b]
lea rcx, [rbp + 0xef0]
call sub.msvcrt.dll_memset
xor eax, eax
mov esi, eax
mov rdi, qword [0x140148e30]
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov rbx, rax
xor edi, edi
test rax, rax
jne 0x1400c5898
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c5d5e
mov esi, 0x80004005
jmp 0x1400c5945
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, 0x48
mov edx, r13d
lea ecx, [r8 - 0x3d]
call rdi
neg eax
mov dword [rbp + 0xef0], eax
mov dword [rbp + 0xf00], 0x190
mov byte [rbp + 0xf0a], 5
mov r8, qword [rbp + 0xe8]
mov edx, 0x20
lea rcx, [rbp + 0xf0c]
call fcn.140044bb0
mov rdi, qword [0x140148d40]
mov rcx, rdi
call qword [fcn.140015690]
lea rcx, [rbp + 0xef0]
call rdi
test rax, rax
jne 0x1400c5925
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400c592c
mov esi, 0x80004005
jmp 0x1400c592c
mov qword [rbp + 0x8f0], rax
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
xor ecx, ecx
call rdi
xor edi, edi
test esi, esi
js 0x1400c5d5e
mov dword [rbp + 0x924], r15d
mov rbx, qword [rbp + 0x8d8]
mov esi, edi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x8f0]
mov rcx, qword [rbp - 0x10]
call rdi
mov r15, rax
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x460
lea r9, [rbp + 0x91c]
or r8d, 0xffffffff
mov rdx, rbx
mov rbx, qword [rbp - 0x10]
mov rcx, rbx
call rdi
test eax, eax
mov eax, 0x80004005
cmove esi, eax
test r15, r15
je 0x1400c59da
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, r15
mov rcx, rbx
call rdi
test esi, esi
js 0x1400c5d5e
mov eax, dword [rbp + 0x924]
add eax, 0x18
mov ecx, 0x5a
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x924], eax
lea eax, [rcx - 0x3a]
mov dword [rbp + 0x928], eax
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov ebx, 0x60
mov r8d, ebx
mov edx, r13d
mov ecx, dword [rbp + 0x91c]
call rdi
mov dword [rbp + 0x91c], eax
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, ebx
mov edx, r13d
mov ecx, dword [rbp + 0x920]
call rdi
mov dword [rbp + 0x920], eax
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, ebx
mov edx, r13d
mov ecx, dword [rbp + 0x924]
call rdi
mov dword [rbp + 0x924], eax
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, ebx
mov edx, r13d
mov ecx, dword [rbp + 0x928]
call rdi
mov dword [rbp + 0x928], eax
xor r13d, r13d
cmp dword [rbp + 0x8c0], r13d
je 0x1400c5ae4
mov esi, dword [rbp + 0x90c]
cmp dword [rbp + 0x8fc], esi
cmovl esi, dword [rbp + 0x8fc]
mov edi, dword [rbp + 0x918]
mov rbx, qword [fcn.14006c2a0]
mov rcx, rbx
call qword [fcn.140015690]
lea r8d, [rdi + 0x24]
mov edx, esi
lea rcx, [rbp + 0x91c]
call rbx
mov ebx, 1
jmp 0x1400c5b4c
mov ecx, dword [rbp + 0x914]
cmp dword [rbp + 0x904], ecx
cmovg ecx, dword [rbp + 0x904]
mov ebx, dword [rbp + 0x918]
mov esi, dword [rbp + 0x91c]
sub esi, dword [rbp + 0x924]
add esi, ecx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea r8d, [rbx + 0x24]
mov edx, esi
lea rcx, [rbp + 0x91c]
call rdi
jmp 0x1400c5add
mov dword [rbp + 0xd28], r15d
mov eax, dword [rbp + 0x918]
mov dword [rbp + 0xd2c], eax
mov dword [rbp + 0x8f8], 0xffa8a8a8
xor r13d, r13d
mov r12d, dword [rbp + 0x8c0]
mov r15d, dword [rbp + 0xd2c]
mov esi, dword [rbp + 0xd28]
mov ecx, dword [rbp - 0x48]
dec ecx
je 0x1400c5d46
dec ecx
je 0x1400c5c43
dec ecx
jne 0x1400c5d51
mov dword [rbp + 0xe08], r13d
xor edx, edx
lea r8d, [rcx + 0x24]
lea rcx, [rbp + 0xe0c]
call sub.msvcrt.dll_memset
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, ebx
xor ecx, ecx
call rdi
mov rbx, rax
mov dword [rbp + 0xe08], 0x28
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xe08]
mov rcx, rbx
call rdi
test eax, eax
je 0x1400c5d51
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xe1c]
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xe24]
xor ecx, ecx
call rdi
mov eax, dword [rbp + 0xe24]
sub eax, esi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov rcx, qword [rbp + 0xe24]
shr rcx, 0x20
sub ecx, r15d
imul ecx, ecx, 0x32
jmp 0x1400c5d27
mov dword [rbp + 0xdb0], r13d
xor edx, edx
lea r8d, [rdx + 0x24]
lea rcx, [rbp + 0xdb4]
call sub.msvcrt.dll_memset
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, ebx
xor ecx, ecx
call rdi
mov rbx, rax
mov dword [rbp + 0xdb0], 0x28
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xdb0]
mov rcx, rbx
call rdi
test eax, eax
je 0x1400c5d51
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xdc4]
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xdcc]
xor ecx, ecx
call rdi
mov eax, dword [rbp + 0xdcc]
test r12d, r12d
je 0x1400c5d00
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 + 0xdc4]
jmp 0x1400c5d16
sub eax, esi
imul ecx, eax, 0x5f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rbp + 0xdcc]
shr rax, 0x20
sub eax, r15d
imul ecx, eax, 0x5f
mov dword [rbp + 0xd20], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0xd24], edx
jmp 0x1400c5d51
mov qword [rbp + 0xd20], 0
mov esi, r13d
mov r12d, dword [rbp - 0x48]
jmp 0x1400c5d61
mov r12d, dword [rbp - 0x48]
xor r13d, r13d
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp - 0x10]
xor ecx, ecx
call rdi
lea rcx, [rbp + 0x3c8]
call fcn.140104374
test esi, esi
js 0x1400c7839
mov rdi, qword [rbp + 0xd20]
mov qword [rbp - 0x70], rdi
mov dword [rbp + 0x930], r13d
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0x934]
call sub.msvcrt.dll_memset
mov esi, 1
mov rbx, qword [0x140148d70]
mov rcx, rbx
call qword [fcn.140015690]
lea edx, [rsi + 6]
mov r13, qword [rbp - 0x58]
mov rcx, r13
call rbx
mov r15, rax
xor ebx, ebx
test rax, rax
je 0x1400c5e26
mov rbx, qword [0x140148d88]
mov rcx, rbx
call qword [fcn.140015690]
lea r8, [rbp + 0x930]
lea edx, [rsi + 0x67]
mov rcx, r15
call rbx
xor ebx, ebx
test eax, eax
je 0x1400c5e26
lea eax, [rsi + 0x1f]
cmp word [rbp + 0x942], ax
jne 0x1400c5e26
cmp qword [rbp + 0x948], rbx
je 0x1400c5e26
cmp dword [rbp + 0x934], ebx
jle 0x1400c5e26
cmp dword [rbp + 0x938], ebx
jg 0x1400c5e28
mov esi, ebx
mov dword [rbp + 0x2d8], esi
test esi, esi
mov esi, 1
jne 0x1400c5e3c
cmp r12d, esi
jne 0x1400c5eae
mov rbx, qword [fcn.14006c2a0]
mov rcx, rbx
call qword [fcn.140015690]
mov r8d, dword [rbp - 0x6c]
mov edx, edi
lea rcx, [rbp + 0x8fc]
call rbx
mov rbx, qword [fcn.14006c2a0]
mov rcx, rbx
call qword [fcn.140015690]
mov r8d, dword [rbp - 0x6c]
mov edx, edi
lea rcx, [rbp + 0x90c]
call rbx
cmp r12d, esi
jne 0x1400c5eac
mov eax, dword [rbp + 0x8c4]
neg eax
sbb ebx, ebx
not ebx
and ebx, 0xb26720
mov rdi, qword [0x140148d48]
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, ebx
call rdi
mov qword [rbp + 0xc0], rax
xor ebx, ebx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, esi
mov rcx, r13
call rdi
mov dword [rbp + 0x1150], eax
mov eax, 0x810
mov ecx, 0x20812
cmp dword [rbp + 0x8c0], ebx
cmovne eax, ecx
mov dword [rbp + 0x68], eax
cmp dword [rbp + 0x2d8], ebx
je 0x1400c69ac
mov eax, dword [rbp + 0x8c4]
mov dword [rbp - 0x80], eax
mov rax, qword [rbp + 0x8e0]
mov qword [rbp + 8], rax
mov r15, qword [rbp + 0x8c8]
mov dword [rbp + 0x9a0], ebx
mov edi, 0x64
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x9a4]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xb60], ebx
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xb64]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x78], ebx
mov esi, ebx
xor edx, edx
lea r8d, [rdi - 0x38]
lea rcx, [rbp + 0xe60]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xd70], 0
xor eax, eax
mov qword [rbp + 0xd78], rax
test r15, r15
je 0x1400c69a1
mov rdi, qword [0x140148d70]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 7
mov rcx, r13
call rdi
mov rbx, rax
xor r12d, r12d
test rax, rax
jne 0x1400c5faa
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r13d, r13d
mov rsi, qword [rbp - 0x58]
jmp 0x1400c7816
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0x9a0]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x1400c5fe9
mov rax, qword [rbp + 0x9b8]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0x9a4]
mov dword [rbp - 0x78], eax
mov esi, dword [rbp + 0x9a8]
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, r13
call rdi
mov r13, rax
test rax, rax
je 0x1400c5f98
mov ebx, dword [rbp + 0x908]
sub ebx, dword [rbp + 0x900]
mov edi, dword [rbp + 0x904]
sub edi, dword [rbp + 0x8fc]
mov qword [rbp + 0x690], r12
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xe60]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xe60], 0x28
mov dword [rbp + 0xe64], edi
neg ebx
mov dword [rbp + 0xe68], ebx
mov dword [rbp + 0xe6c], 0x200001
mov rdi, qword [0x140148d38]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x690]
xor r8d, r8d
lea rdx, [rbp + 0xe60]
mov rcx, r13
call rdi
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x1400c60c2
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400c6422
mov r12d, 0x80004005
jmp 0x1400c6422
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xb60]
mov edx, 0x68
mov rcx, rbx
call rdi
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0xb78]
mov qword [rbp - 0x40], rcx
mov eax, dword [rbp + 0x904]
sub eax, dword [rbp + 0x8fc]
mov dword [rbp + 0xd78], eax
mov eax, dword [rbp + 0x908]
sub eax, dword [rbp + 0x900]
mov dword [rbp + 0xd7c], eax
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
mov rcx, r13
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 1
mov rcx, r13
call rdi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 8]
mov rcx, r13
call rdi
mov qword [rbp], rax
mov rdi, qword [0x140148d90]
mov rcx, rdi
call qword [fcn.140015690]
xor ecx, ecx
call rdi
mov rdi, rax
mov rbx, qword [0x140148e20]
mov rcx, rbx
call qword [fcn.140015690]
mov r8, rdi
lea rdx, [rbp + 0xd70]
mov rcx, r13
call rbx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xd70]
or r8d, 0xffffffff
mov rdx, r15
mov rcx, r13
call rdi
lea ecx, [rbx + 1]
cmp dword [rbp - 0x48], ecx
jne 0x1400c6201
cmp dword [rbp - 0x80], ebx
je 0x1400c61f9
mov rdi, qword [0x140148e50]
mov rcx, rdi
call qword [fcn.140015690]
lea ecx, [rbx + 8]
call rdi
mov r11d, eax
mov dword [rbp - 0x30], eax
jmp 0x1400c620b
mov r11d, 0xffffff
jmp 0x1400c6207
mov r11d, 0xffa8a8a8
mov dword [rbp - 0x30], r11d
mov edx, dword [rbp + 0x900]
mov r8d, dword [rbp + 0x8fc]
mov edi, ebx
mov ecx, ebx
test r8d, r8d
jns 0x1400c6229
mov edi, r8d
neg edi
mov r8d, ebx
test edx, edx
jns 0x1400c6233
mov ecx, edx
neg ecx
mov edx, ebx
movsxd rbx, dword [rbp + 0xd78]
mov eax, ebx
sub eax, edi
movsxd r9, dword [rbp - 0x78]
mov r10d, r9d
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xd7c]
sub eax, ecx
sub esi, edx
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x1400c63ea
test esi, esi
jle 0x1400c63ea
imul ecx, ebx
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp - 0x40]
lea rdi, [rax + rcx*4]
mov qword [rbp + 8], rdi
mov eax, r9d
imul eax, edx
movsxd rcx, eax
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x70]
lea r15, [rax + rcx*4]
xor r8d, r8d
test esi, esi
jle 0x1400c63ea
mov rax, rbx
shl rax, 2
mov qword [rbp - 0x10], rax
mov rcx, r9
shl rcx, 2
mov qword [rbp - 0x80], rcx
mov edx, esi
mov qword [rbp - 0x40], rdx
lea r14d, [r8 + 1]
test r10d, r10d
jle 0x1400c63ce
lea r9, [r15 + 2]
mov rbx, rdi
sub rbx, r15
mov edi, r10d
mov qword [rbp - 0x70], rdi
movzx ecx, byte [r9 + rbx - 1]
movzx eax, byte [r9 + rbx - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + rbx]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400c63ad
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r11b
sub ecx, edi
imul ecx, r8d
mov esi, 0x80808081
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rbp - 0x2f]
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rbp - 0x2e]
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
mov rdi, qword [rbp - 0x70]
xor r8d, r8d
add r9, 4
sub rdi, r14
mov qword [rbp - 0x70], rdi
jne 0x1400c62e3
mov rdi, qword [rbp + 8]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x40]
add rdi, rax
mov qword [rbp + 8], rdi
add r15, rcx
sub rdx, r14
mov qword [rbp - 0x40], rdx
jne 0x1400c62c9
mov r14d, dword [rsp + 0x60]
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rsp + 0x78]
call rdi
mov rbx, qword [rbp]
test rbx, rbx
je 0x1400c6422
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
mov rcx, r13
call rdi
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, r13
call rdi
xor r13d, r13d
test r12d, r12d
js 0x1400c5fa1
mov eax, dword [rbp + 0x8c4]
mov dword [rbp - 0x80], eax
mov rax, qword [rbp + 0x8e8]
mov qword [rbp + 8], rax
mov r12, qword [rbp + 0x8d0]
mov dword [rbp + 0xaf0], r13d
lea edi, [r13 + 0x64]
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xaf4]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xbd0], r13d
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xbd4]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x70], r13
mov dword [rbp - 0x78], r13d
mov esi, r13d
xor edx, edx
lea r8d, [r13 + 0x2c]
lea rcx, [rbp + 0xec0]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xd90], r13
xor eax, eax
mov qword [rbp + 0xd98], rax
test r12, r12
je 0x1400c5fa1
mov rdi, qword [0x140148d70]
mov rcx, rdi
call qword [fcn.140015690]
lea edx, [r13 + 7]
mov r13, qword [rbp - 0x58]
mov rcx, r13
call rdi
mov rbx, rax
xor r15d, r15d
test rax, rax
je 0x1400c5f98
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xaf0]
lea edx, [r15 + 0x68]
mov rcx, rbx
call rdi
test eax, eax
je 0x1400c6532
mov rax, qword [rbp + 0xb08]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0xaf4]
mov dword [rbp - 0x78], eax
mov esi, dword [rbp + 0xaf8]
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, r13
call rdi
mov r13, rax
test rax, rax
je 0x1400c5f98
mov ebx, dword [rbp + 0x918]
sub ebx, dword [rbp + 0x910]
mov edi, dword [rbp + 0x914]
sub edi, dword [rbp + 0x90c]
mov qword [rbp + 0x620], r15
mov dword [rsp + 0x78], r15d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0xec0]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xec0], 0x28
mov dword [rbp + 0xec4], edi
neg ebx
mov dword [rbp + 0xec8], ebx
mov dword [rbp + 0xecc], 0x200001
mov rdi, qword [0x140148d38]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x620]
xor r8d, r8d
lea rdx, [rbp + 0xec0]
mov rcx, r13
call rdi
mov rbx, rax
mov qword [rbp], rax
test rax, rax
jne 0x1400c6613
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400c6977
mov r15d, 0x80004005
jmp 0x1400c6977
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xbd0]
mov edx, 0x68
mov rcx, rbx
call rdi
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0xbe8]
mov qword [rbp - 0x40], rcx
mov eax, dword [rbp + 0x914]
sub eax, dword [rbp + 0x90c]
mov dword [rbp + 0xd98], eax
mov eax, dword [rbp + 0x918]
sub eax, dword [rbp + 0x910]
mov dword [rbp + 0xd9c], eax
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
mov rcx, r13
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 1
mov rcx, r13
call rdi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 8]
mov rcx, r13
call rdi
mov qword [rbp + 0xd0], rax
mov rdi, qword [0x140148d90]
mov rcx, rdi
call qword [fcn.140015690]
xor ecx, ecx
call rdi
mov rdi, rax
mov rbx, qword [0x140148e20]
mov rcx, rbx
call qword [fcn.140015690]
mov r8, rdi
lea rdx, [rbp + 0xd90]
mov rcx, r13
call rbx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xd90]
or r8d, 0xffffffff
mov rdx, r12
mov rcx, r13
call rdi
lea eax, [rbx + 1]
cmp dword [rbp - 0x48], eax
jne 0x1400c6750
cmp dword [rbp - 0x80], ebx
je 0x1400c6747
mov rdi, qword [0x140148e50]
mov rcx, rdi
call qword [fcn.140015690]
lea ecx, [rbx + 8]
call rdi
jmp 0x1400c6755
mov dword [rbp - 0x30], 0xffffff
jmp 0x1400c675e
mov eax, 0xffa8a8a8
mov dword [rbp - 0x30], eax
mov dword [rbp + 0xb8], eax
mov edx, dword [rbp + 0x910]
mov r8d, dword [rbp + 0x90c]
mov edi, ebx
mov ecx, ebx
test r8d, r8d
jns 0x1400c677c
mov edi, r8d
neg edi
mov r8d, ebx
test edx, edx
jns 0x1400c6786
mov ecx, edx
neg ecx
mov edx, ebx
movsxd r11, dword [rbp + 0xd98]
mov eax, r11d
sub eax, edi
movsxd r9, dword [rbp - 0x78]
mov r10d, r9d
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xd9c]
sub eax, ecx
sub esi, edx
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x1400c693d
test esi, esi
jle 0x1400c693d
imul ecx, r11d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp - 0x40]
lea r12, [rax + rcx*4]
imul edx, r9d
movsxd rcx, edx
movsxd rax, r8d
add rcx, rax
mov rax, qword [rbp - 0x70]
lea rbx, [rax + rcx*4]
xor r8d, r8d
test esi, esi
jle 0x1400c693d
mov rax, r11
shl rax, 2
mov qword [rbp - 0x40], rax
mov rcx, r9
shl rcx, 2
mov qword [rbp - 0x10], rcx
mov edx, esi
mov qword [rbp + 8], rdx
mov r14d, dword [rbp + 0xb8]
lea r15d, [r8 + 1]
test r10d, r10d
jle 0x1400c6920
lea r9, [rbx + 2]
mov r11, r12
sub r11, rbx
mov edi, r10d
mov qword [rbp - 0x70], rdi
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400c6903
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
mov esi, 0x80808081
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rbp - 0x2f]
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rbp - 0x2e]
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
mov rdi, qword [rbp - 0x70]
xor r8d, r8d
add r9, 4
sub rdi, r15
mov qword [rbp - 0x70], rdi
jne 0x1400c6839
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp + 8]
add r12, rax
add rbx, rcx
sub rdx, r15
mov qword [rbp + 8], rdx
jne 0x1400c681f
mov r14d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x78]
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp]
call rdi
mov rbx, qword [rbp + 0xd0]
test rbx, rbx
je 0x1400c6977
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
mov rcx, r13
call rdi
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, r13
call rdi
xor r13d, r13d
test r15d, r15d
js 0x1400c5fa1
mov rsi, qword [rbp - 0x58]
jmp 0x1400c77b3
mov rsi, r13
xor r13d, r13d
jmp 0x1400c7816
cmp dword [rbp + 0x8c4], ebx
jne 0x1400c69bb
cmp r12d, esi
mov al, 0xc0
jne 0x1400c69bd
mov al, 0xff
mov word [rbp + 0xd0], 0
mov byte [rbp + 0xd2], al
mov byte [rbp + 0xd3], sil
mov esi, ebx
xor r15d, r15d
mov qword [rbp + 0xd48], r15
mov r12d, ebx
xor eax, eax
mov qword [rbp + 0xd34], rax
mov dword [rbp + 0xd3c], eax
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, r13
call rdi
mov qword [rbp + 0x40], rax
xor r13d, r13d
test rax, rax
jne 0x1400c6a1d
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c5fa1
mov eax, 1
cmp dword [rbp - 0x48], eax
jne 0x1400c6abc
mov ecx, dword [rbp + 0x914]
sub ecx, dword [rbp + 0x90c]
mov eax, dword [rbp + 0x904]
sub eax, dword [rbp + 0x8fc]
mov edi, eax
cmp ecx, eax
cmovg edi, ecx
mov dword [rbp], edi
mov edx, dword [rbp + 0x918]
mov r8d, dword [rbp + 0x900]
sub edx, r8d
mov dword [rbp - 0x30], edx
cmp dword [rbp + 0x8c0], r13d
je 0x1400c6a88
mov esi, dword [rbp + 0x8fc]
sub esi, dword [rbp + 0x904]
add esi, edi
mov r12d, dword [rbp + 0x90c]
sub r12d, dword [rbp + 0x914]
add r12d, edi
lea edx, [rax + rsi]
mov ebx, dword [rbp + 0x908]
sub ebx, r8d
lea eax, [rcx + r12]
mov dword [rbp - 0x20], eax
mov r13d, dword [rbp + 0x910]
sub r13d, r8d
mov eax, r13d
sub eax, dword [rbp + 0x910]
add eax, dword [rbp + 0x918]
mov dword [rbp + 0xe8], eax
jmp 0x1400c6b28
mov edi, dword [rbp + 0xd28]
mov dword [rbp], edi
mov eax, dword [rbp + 0xd2c]
mov dword [rbp - 0x30], eax
movups xmm0, xmmword [rbp + 0x8fc]
movdqu xmmword [rbp + 0xd40], xmm0
movups xmm1, xmmword [rbp + 0x90c]
movdqu xmmword [rbp + 0xd30], xmm1
mov ebx, dword [rbp + 0xd4c]
mov edx, dword [rbp + 0xd48]
mov r15d, dword [rbp + 0xd44]
mov esi, dword [rbp + 0xd40]
mov eax, dword [rbp + 0xd3c]
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0xd38]
mov dword [rbp - 0x20], eax
mov r13d, dword [rbp + 0xd34]
mov r12d, dword [rbp + 0xd30]
mov dword [rbp - 0x28], edx
xor eax, eax
mov qword [rbp + 0x6d0], rax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xdd8]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xdd8], 0x28
mov dword [rbp + 0xddc], edi
mov eax, dword [rbp - 0x30]
neg eax
mov dword [rbp + 0xde0], eax
mov dword [rbp + 0xde4], 0x200001
mov rdi, qword [0x140148d38]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x6d0]
xor r8d, r8d
lea rdx, [rbp + 0xdd8]
mov rcx, qword [rbp + 0x40]
call rdi
mov qword [rbp + 0xb0], rax
test rax, rax
jne 0x1400c6bbb
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r13d, r13d
mov rsi, qword [rbp - 0x58]
jmp 0x1400c77f8
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x40]
call rdi
mov eax, 1
cmp dword [rbp - 0x48], eax
jne 0x1400c6c39
xor edi, edi
cmp qword [rbp + 0xc0], rdi
je 0x1400c6c39
xor eax, eax
mov qword [rbp + 0xda4], rax
mov dword [rbp + 0xdac], eax
mov qword [rbp + 0xda0], rdi
mov eax, dword [rbp]
mov dword [rbp + 0xda8], eax
mov eax, dword [rbp - 0x30]
mov dword [rbp + 0xdac], eax
mov rdi, qword [0x140148e20]
mov rcx, rdi
call qword [fcn.140015690]
mov r8, qword [rbp + 0xc0]
lea rdx, [rbp + 0xda0]
mov rcx, qword [rbp + 0x40]
call rdi
mov eax, dword [rbp + 0x8c4]
mov dword [rbp - 0x10], eax
mov rax, qword [rbp + 0x8e0]
mov qword [rbp + 0x108], rax
mov rdi, qword [rbp + 0x8c8]
mov qword [rbp + 0xd40], rdi
xor eax, eax
mov dword [rbp + 0xa10], eax
xor edx, edx
lea r8d, [rax + 0x64]
lea rcx, [rbp + 0xa14]
call sub.msvcrt.dll_memset
xor eax, eax
mov dword [rbp + 0xcb0], eax
xor edx, edx
lea r8d, [rax + 0x64]
lea rcx, [rbp + 0xcb4]
call sub.msvcrt.dll_memset
xor ecx, ecx
mov qword [rbp - 0x70], rcx
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x80], ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xe90]
call sub.msvcrt.dll_memset
xor ecx, ecx
mov qword [rbp + 0xd80], rcx
xor eax, eax
mov qword [rbp + 0xd88], rax
test rdi, rdi
je 0x1400c77d0
mov rdi, qword [0x140148d70]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 7
mov rcx, qword [rbp + 0x40]
call rdi
mov qword [rbp + 8], rax
test rax, rax
jne 0x1400c6cfb
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c77d0
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xa10]
mov edx, 0x68
mov rcx, qword [rbp + 8]
call rdi
test eax, eax
je 0x1400c6d3f
mov rax, qword [rbp + 0xa28]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0xa14]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0xa18]
mov dword [rbp - 0x80], eax
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x40]
call rdi
mov qword [rbp - 0x40], rax
xor ecx, ecx
test rax, rax
je 0x1400c6cf0
sub ebx, r15d
mov edi, dword [rbp - 0x28]
sub edi, esi
mov dword [rbp - 0x28], edi
mov qword [rbp + 0x630], rcx
mov dword [rbp - 0x78], ecx
xor edx, edx
lea r8d, [rcx + 0x2c]
lea rcx, [rbp + 0xe90]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xe90], 0x28
mov dword [rbp + 0xe94], edi
mov eax, ebx
neg eax
mov dword [rbp + 0xe98], eax
mov dword [rbp + 0xe9c], 0x200001
mov rdi, qword [0x140148d38]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x630]
xor r8d, r8d
lea rdx, [rbp + 0xe90]
mov rcx, qword [rbp - 0x40]
call rdi
mov qword [rbp + 8], rax
test rax, rax
jne 0x1400c6e11
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x78], ecx
test ecx, ecx
js 0x1400c7190
mov dword [rbp - 0x78], 0x80004005
jmp 0x1400c7190
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xcb0]
mov edx, 0x68
mov rcx, qword [rbp + 8]
call rdi
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0xcc8]
mov qword [rbp + 0xd30], rcx
mov edx, dword [rbp - 0x28]
mov dword [rbp + 0xd88], edx
mov dword [rbp + 0xd8c], ebx
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 8]
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x108]
mov rcx, rbx
call rdi
mov qword [rbp + 0x108], rax
mov rdi, qword [0x140148d90]
mov rcx, rdi
call qword [fcn.140015690]
xor ecx, ecx
call rdi
mov rdi, rax
mov rbx, qword [0x140148e20]
mov rcx, rbx
call qword [fcn.140015690]
mov r8, rdi
lea rdx, [rbp + 0xd80]
mov rcx, qword [rbp - 0x40]
call rbx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xd80]
or r8d, 0xffffffff
mov rdx, qword [rbp + 0xd40]
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call rdi
mov eax, 1
xor r11d, r11d
cmp dword [rbp - 0x48], eax
jne 0x1400c6f5c
cmp dword [rbp - 0x10], r11d
je 0x1400c6f53
mov rdi, qword [0x140148e50]
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, 8
call rdi
mov dword [rbp - 0x28], eax
xor r11d, r11d
jmp 0x1400c6f63
mov dword [rbp - 0x28], 0xffffff
jmp 0x1400c6f63
mov dword [rbp - 0x28], 0xffa8a8a8
mov edi, r11d
mov ecx, r11d
test esi, esi
jns 0x1400c6f74
mov edi, esi
neg edi
mov esi, r11d
test r15d, r15d
jns 0x1400c6f81
mov ecx, r15d
neg ecx
mov r15d, r11d
movsxd r8, dword [rbp + 0xd88]
mov eax, r8d
sub eax, edi
movsxd r9, dword [rsp + 0x78]
mov r10d, r9d
sub r10d, esi
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xd8c]
sub eax, ecx
mov edx, dword [rbp - 0x80]
sub edx, r15d
cmp eax, edx
cmovl edx, eax
test r10d, r10d
jle 0x1400c7156
test edx, edx
jle 0x1400c7156
imul ecx, r8d
movsxd rcx, ecx
movsxd rax, edi
add rcx, rax
mov rax, qword [rbp + 0xd30]
lea rdi, [rax + rcx*4]
mov qword [rbp - 0x10], rdi
imul r15d, r9d
movsxd rcx, r15d
movsxd rax, esi
add rcx, rax
mov rax, qword [rbp - 0x70]
lea r15, [rax + rcx*4]
test edx, edx
jle 0x1400c7156
mov rax, r8
shl rax, 2
mov qword [rbp + 0xd30], rax
mov rcx, r9
shl rcx, 2
mov qword [rbp + 0xd40], rcx
mov qword [rbp - 0x80], rdx
mov esi, dword [rbp - 0x28]
mov ebx, 1
test r10d, r10d
jle 0x1400c7136
lea r9, [r15 + 2]
mov r11, rdi
sub r11, r15
mov edi, r10d
mov qword [rbp - 0x70], rdi
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400c710c
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rbp - 0x27]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rbp - 0x26]
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
mov rdi, qword [rbp - 0x70]
add r9, 4
sub rdi, rbx
mov qword [rbp - 0x70], rdi
jne 0x1400c703e
mov rdi, qword [rbp - 0x10]
mov rax, qword [rbp + 0xd30]
mov rcx, qword [rbp + 0xd40]
mov rdx, qword [rbp - 0x80]
xor r11d, r11d
add rdi, rax
mov qword [rbp - 0x10], rdi
add r15, rcx
sub rdx, rbx
mov qword [rbp - 0x80], rdx
jne 0x1400c7024
mov r14d, dword [rsp + 0x60]
mov rbx, qword [rbp - 0x40]
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 8]
call rdi
mov rsi, qword [rbp + 0x108]
test rsi, rsi
je 0x1400c7190
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x40]
call rdi
xor edi, edi
cmp dword [rbp - 0x78], edi
jl 0x1400c77d0
mov eax, dword [rbp + 0x8c4]
mov dword [rbp - 0x10], eax
mov rax, qword [rbp + 0x8e8]
mov qword [rbp + 0xd30], rax
mov r15, qword [rbp + 0x8d0]
mov dword [rbp + 0xa80], edi
lea ebx, [rdi + 0x64]
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0xa84]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xc40], edi
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0xc44]
call sub.msvcrt.dll_memset
mov qword [rbp - 0x70], rdi
mov dword [rbp - 0x80], edi
mov esi, edi
xor edx, edx
lea r8d, [rdi + 0x2c]
lea rcx, [rbp + 0xe30]
call sub.msvcrt.dll_memset
mov qword [rbp + 0xd60], rdi
xor eax, eax
mov qword [rbp + 0xd68], rax
test r15, r15
je 0x1400c77d0
mov rdi, qword [0x140148d70]
mov rcx, rdi
call qword [fcn.140015690]
lea edx, [rbx - 0x5d]
mov rcx, qword [rbp + 0x40]
call rdi
mov rbx, rax
test rax, rax
je 0x1400c6cf0
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xa80]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x1400c7298
mov rax, qword [rbp + 0xa98]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0xa84]
mov dword [rbp - 0x80], eax
mov esi, dword [rbp + 0xa88]
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x40]
call rdi
mov rbx, rax
mov qword [rbp + 8], rax
xor eax, eax
test rbx, rbx
je 0x1400c6cf0
mov edi, dword [rbp + 0xe8]
sub edi, r13d
mov dword [rbp + 0xe8], edi
sub dword [rbp - 0x20], r12d
mov qword [rbp + 0x640], rax
mov dword [rbp - 0x78], eax
xor edx, edx
lea r8d, [rax + 0x2c]
lea rcx, [rbp + 0xe30]
call sub.msvcrt.dll_memset
mov dword [rbp + 0xe30], 0x28
mov eax, dword [rbp - 0x20]
mov dword [rbp + 0xe34], eax
mov eax, edi
neg eax
mov dword [rbp + 0xe38], eax
mov dword [rbp + 0xe3c], 0x200001
mov rdi, qword [0x140148d38]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x640]
xor r8d, r8d
lea rdx, [rbp + 0xe30]
mov rcx, rbx
call rdi
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x1400c737e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
xor r13d, r13d
test eax, eax
cmovle ecx, eax
mov dword [rbp - 0x78], ecx
test ecx, ecx
js 0x1400c76e4
mov dword [rbp - 0x78], 0x80004005
jmp 0x1400c76e4
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xc40]
mov edx, 0x68
mov rcx, qword [rbp - 0x40]
call rdi
xor edx, edx
mov ecx, edx
test eax, eax
cmovne rcx, qword [rbp + 0xc58]
mov qword [rbp + 0xd40], rcx
mov eax, dword [rbp - 0x20]
mov dword [rbp + 0xd68], eax
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xd6c], eax
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp - 0x40]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0xd30]
mov rcx, rbx
call rdi
mov qword [rbp + 0xd30], rax
mov rdi, qword [0x140148d90]
mov rcx, rdi
call qword [fcn.140015690]
xor ecx, ecx
call rdi
mov rdi, rax
mov rbx, qword [0x140148e20]
mov rcx, rbx
call qword [fcn.140015690]
mov r8, rdi
lea rdx, [rbp + 0xd60]
mov rcx, qword [rbp + 8]
call rbx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
xor eax, eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xd60]
or r8d, 0xffffffff
mov rdx, r15
mov rbx, qword [rbp + 8]
mov rcx, rbx
call rdi
mov eax, 1
xor r15d, r15d
cmp dword [rbp - 0x48], eax
jne 0x1400c74c0
cmp dword [rbp - 0x10], r15d
je 0x1400c74b7
mov rdi, qword [0x140148e50]
mov rcx, rdi
call qword [fcn.140015690]
lea ecx, [r15 + 8]
call rdi
jmp 0x1400c74c5
mov dword [rbp + 0x68], 0xffffff
jmp 0x1400c74ce
mov eax, 0xffa8a8a8
mov dword [rbp + 0x68], eax
mov dword [rbp + 0xb8], eax
mov edx, r15d
mov ecx, r15d
test r12d, r12d
jns 0x1400c74e1
mov edx, r12d
neg edx
mov r12d, r15d
test r13d, r13d
jns 0x1400c74ee
mov ecx, r13d
neg ecx
mov r13d, r15d
movsxd r8, dword [rbp + 0xd68]
mov eax, r8d
sub eax, edx
movsxd rdi, dword [rbp - 0x80]
mov r10d, edi
sub r10d, r12d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xd6c]
sub eax, ecx
sub esi, r13d
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x1400c76a7
test esi, esi
jle 0x1400c76a7
imul ecx, r8d
movsxd rcx, ecx
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp + 0xd40]
lea rdx, [rax + rcx*4]
mov qword [rbp - 0x10], rdx
imul r13d, edi
movsxd rcx, r13d
movsxd rax, r12d
add rcx, rax
mov rax, qword [rbp - 0x70]
lea r15, [rax + rcx*4]
xor r13d, r13d
test esi, esi
jle 0x1400c76aa
mov r12, r8
shl r12, 2
mov r13, rdi
shl r13, 2
mov eax, esi
mov qword [rbp - 0x80], rax
mov r14d, dword [rbp + 0xb8]
xor r8d, r8d
lea ebx, [r8 + 1]
test r10d, r10d
jle 0x1400c7687
lea r9, [r15 + 2]
mov r11, rdx
sub r11, r15
mov edi, r10d
mov qword [rbp - 0x70], rdi
movzx ecx, byte [r9 + r11 - 1]
movzx eax, byte [r9 + r11 - 2]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400c766e
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r14b
sub ecx, edi
imul ecx, r8d
mov esi, 0x80808081
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
movzx ecx, byte [rbp + 0x69]
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
movzx ecx, byte [rbp + 0x6a]
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
mov ecx, 0xff
sub ecx, edi
imul ecx, r8d
mov eax, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
mov rdi, qword [rbp - 0x70]
xor r8d, r8d
add r9, 4
sub rdi, rbx
mov qword [rbp - 0x70], rdi
jne 0x1400c75a4
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x80]
add rdx, r12
mov qword [rbp - 0x10], rdx
add r15, r13
sub rax, rbx
mov qword [rbp - 0x80], rax
jne 0x1400c758a
mov r14d, dword [rsp + 0x60]
mov rbx, qword [rbp + 8]
xor r13d, r13d
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x40]
call rdi
mov rsi, qword [rbp + 0xd30]
test rsi, rsi
je 0x1400c76e4
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
cmp dword [rbp - 0x78], r13d
jl 0x1400c77d3
mov eax, 1
cmp dword [rbp - 0x48], eax
jne 0x1400c775b
mov rdi, qword [0x140148d20]
mov rcx, rdi
call qword [fcn.140015690]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x30]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp]
mov r8d, dword [rbp + 0x900]
mov edx, dword [rbp + 0x8fc]
mov rsi, qword [rbp - 0x58]
mov rcx, rsi
call rdi
jmp 0x1400c77b3
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov eax, dword [rbp + 0xd0]
mov dword [rsp + 0x50], eax
mov ecx, dword [rbp - 0x30]
mov dword [rsp + 0x48], ecx
mov eax, dword [rbp]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov r10, qword [rbp + 0x40]
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], ecx
mov r9d, eax
mov r8d, dword [rbp + 0xd24]
mov edx, dword [rbp + 0xd20]
mov rsi, qword [rbp - 0x58]
mov rcx, rsi
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, dword [rbp + 0x1150]
mov rcx, rsi
call rdi
jmp 0x1400c77d7
xor r13d, r13d
mov rsi, qword [rbp - 0x58]
mov rbx, qword [rbp + 0xb0]
test rbx, rbx
je 0x1400c77f8
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov rbx, qword [rbp + 0x40]
test rbx, rbx
je 0x1400c7816
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov rbx, qword [rbp + 0xc0]
test rbx, rbx
je 0x1400c783d
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
jmp 0x1400c783d
mov rsi, qword [rbp - 0x58]
mov rax, qword [rbp + 0x8c8]
or rbx, 0xffffffffffffffff
test rax, rax
je 0x1400c788c
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x1400c7850
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x8c8]
xor eax, eax
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x8c8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x8c8], r13
mov rax, qword [rbp + 0x8d0]
test rax, rax
je 0x1400c78d7
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x1400c789b
lea rcx, [rcx*2 + 2]
mov rdi, qword [rbp + 0x8d0]
xor eax, eax
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x8d0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x8d0], r13
mov rdi, qword [rbp + 0x8d8]
test rdi, rdi
je 0x1400c791b
mov rcx, rbx
inc rcx
cmp word [rdi + rcx*2], r13w
jne 0x1400c78e6
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x8d8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x8d8], r13
mov rbx, qword [rbp + 0x8e0]
test rbx, rbx
je 0x1400c7943
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov qword [rbp + 0x8e0], r13
mov rbx, qword [rbp + 0x8e8]
test rbx, rbx
je 0x1400c796b
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov qword [rbp + 0x8e8], r13
mov rbx, qword [rbp + 0x8f0]
test rbx, rbx
je 0x1400c7993
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov qword [rbp + 0x8f0], r13
mov ebx, dword [0x14014ba88]
mov rdi, qword [0x140148db8]
mov rcx, rdi
call qword [fcn.140015690]
call rdi
mov rdi, rax
sub edi, dword [0x14014d208]
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0x1118]
call sub.msvcrt.dll_memset
mov dword [rbp + 0x1118], edi
mov r12d, 1
mov dword [rbp + 0x1110], r12d
mov dword [rbp + 0x1128], 0x4e33b984
mov dword [rbp + 0x1120], r12d
mov dword [rbp + 0x1138], r12d
mov dword [rbp + 0x1130], r12d
mov dword [rbp + 0x1148], ebx
mov dword [rbp + 0x1140], r12d
mov rdi, qword [0x140148e08]
mov rcx, rdi
call qword [fcn.140015690]
lea r9, [rbp + 0x1110]
mov edx, 0x2021
xor ecx, ecx
lea r8d, [r12 + 3]
call rdi
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rsi
xor ecx, ecx
call rdi
nop
lea rcx, [rbp + 0x6f0]
call fcn.1400111a8
cmp dword [rbp + 0xcc], r13d
je 0x1400ca04e
mov rdi, r13
xor r12d, r12d
mov qword [rbp + 0x10], r12
xor eax, eax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x168], r12
mov qword [rbp + 0x170], rax
mov dword [rbp + 0x80], r12d
lea rax, [0x14014a510]
mov qword [rbp + 0x650], rax
mov ebx, LoadRegTypeLib
mov qword [rbp + 0x4f0], rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
lea esi, [r12 + 8]
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r15, rax
test rax, rax
je 0x1400c9fbf
mov r8, qword [rbp + 0x4f0]
mov rdx, qword [rbp + 0x650]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdi, r15
mov qword [rsp + 0x78], r15
mov ebx, dword [rbp + 0x4f0]
lea rax, [0x14014a658]
mov qword [rbp + 0x6b0], rax
mov qword [rbp + 0x578], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, esi
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x1400c9fbc
mov r8, qword [rbp + 0x578]
mov rdx, qword [rbp + 0x6b0]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r13, r12
mov qword [rbp + 0x40], r12
mov esi, dword [rbp + 0x578]
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x6e0], rax
xor eax, eax
mov dword [rbp + 0x64], eax
lea r8, [rbp + 0x420]
lea edx, [rax + 4]
mov ecx, edx
call fcn.1401043d0
test eax, eax
js 0x1400c9fbc
mov edx, dword [rbp + 0x420]
mov dword [rbp + 0x1c0], edx
lea r8, [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
call fcn.1401043d0
or eax, 0x10000000
jl 0x1400c9fbc
lea r8, [rbp + 0x458]
mov edx, ebx
mov ecx, 4
call fcn.1401043d0
test eax, eax
js 0x1400c9fbc
mov edx, dword [rbp + 0x458]
mov dword [rbp + 0x1c0], edx
lea r8, [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
call fcn.1401043d0
or eax, 0x10000000
jl 0x1400c9fbc
lea r8, [rbp + 0x428]
mov edx, esi
mov ecx, 4
call fcn.1401043d0
test eax, eax
js 0x1400c9fbc
mov edx, dword [rbp + 0x428]
mov dword [rbp + 0x1c0], edx
lea r8, [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
call fcn.1401043d0
or eax, 0x10000000
jl 0x1400c9fbc
lea r8, [rbp + 0x480]
mov edx, 8
lea ecx, [rdx - 4]
call fcn.1401043d0
test eax, eax
js 0x1400c9fbc
mov edx, dword [rbp + 0x480]
mov dword [rbp + 0x1c0], edx
lea r8, [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
call fcn.1401043d0
or eax, 0x10000000
jl 0x1400c9fbc
mov eax, dword [rbp + 0x64]
mov dword [rbp + 0x14], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor edi, edi
test rax, rax
je 0x1400c9fb9
mov qword [rbp + 0x18], rax
mov ecx, edi
mov dword [rbp + 0x10], ecx
mov dword [rbp + 0x2a0], 4
lea rdx, [rbp + 0x2a0]
test rdx, rdx
je 0x1400c7cf7
mov qword [rbp + 0x660], rax
mov dword [rbp + 0x7e0], 4
lea r8, [rbp + 0x7e8]
lea edx, [rdi + 4]
mov rcx, rax
call fcn.1401043f0
test eax, eax
js 0x1400c9fb9
mov edx, dword [rbp + 0x14]
add rdx, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x660]
lea rcx, [rdi + 8]
cmp rcx, rdx
ja 0x1400c8082
mov dword [rdi], 4
mov rdx, qword [rbp + 0x7e8]
mov ecx, dword [rbp + 0x2a0]
mov dword [rdx], ecx
mov ecx, dword [rbp + 0x10]
inc ecx
mov dword [rbp + 0x10], ecx
xor edi, edi
jmp 0x1400c7cfc
mov eax, 0xc000000d
test eax, eax
js 0x1400c9fb9
test ebx, ebx
je 0x1400c7e28
cmp qword [rbp + 0x18], rdi
jne 0x1400c7d62
lea r8, [rbp + 0x430]
mov edx, ebx
mov r15d, 4
mov ecx, r15d
call fcn.1401043d0
test eax, eax
js 0x1400c9fb2
mov edx, dword [rbp + 0x430]
mov dword [rbp + 0x438], edx
lea r8, [rbp + 0x14]
mov ecx, dword [rbp + 0x14]
call fcn.1401043d0
test eax, eax
js 0x1400c9fb2
mov ecx, dword [rbp + 0x10]
lea ebx, [r15 - 3]
add ecx, ebx
mov dword [rbp + 0x10], ecx
jmp 0x1400c7e40
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x240], rax
test ecx, ecx
je 0x1400c7dc3
lea r8, [rbp + 0x460]
mov edx, dword [rax]
mov ecx, 4
call fcn.1401043d0
test eax, eax
js 0x1400c9fb9
mov eax, dword [rbp + 0x460]
mov dword [rbp + 0x438], eax
mov edx, eax
lea r8, [rbp + 0x240]
mov rcx, qword [rbp + 0x240]
call fcn.1401043f0
test eax, eax
js 0x1400c9fb9
inc edi
mov rax, qword [rbp + 0x240]
cmp edi, dword [rbp + 0x10]
jb 0x1400c7d71
mov dword [rbp + 0x780], ebx
lea r8, [rbp + 0x788]
mov edx, 4
mov rcx, rax
call fcn.1401043f0
mov edi, eax
test eax, eax
js 0x1400c9fb9
mov r8, rbx
mov edx, dword [rbp + 0x14]
add rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x240]
lea rcx, [rax + 4]
add rcx, rbx
cmp rcx, rdx
ja 0x1400c8082
mov dword [rax], ebx
mov rdx, r15
mov rcx, qword [rbp + 0x788]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp + 0x10]
mov ebx, 1
add ecx, ebx
mov dword [rbp + 0x10], ecx
jmp 0x1400c7e32
mov edi, 0xc000000d
mov ebx, 1
test edi, edi
js 0x1400c9fb9
xor edi, edi
lea r15d, [rdi + 4]
test esi, esi
je 0x1400c7f59
cmp qword [rbp + 0x18], rdi
jne 0x1400c7e97
lea r8, [rbp + 0x478]
mov edx, esi
mov ecx, r15d
call fcn.1401043d0
xor r12d, r12d
test eax, eax
js 0x1400c8085
mov edx, dword [rbp + 0x478]
mov dword [rbp + 0x468], edx
lea r8, [rbp + 0x14]
mov ecx, dword [rbp + 0x14]
call fcn.1401043d0
test eax, eax
js 0x1400c8085
mov ecx, dword [rbp + 0x10]
add ecx, ebx
mov dword [rbp + 0x10], ecx
jmp 0x1400c7f69
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x250], rax
test ecx, ecx
je 0x1400c7ef6
lea r8, [rbp + 0x440]
mov edx, dword [rax]
mov ecx, r15d
call fcn.1401043d0
test eax, eax
js 0x1400c9fb2
mov eax, dword [rbp + 0x440]
mov dword [rbp + 0x468], eax
mov edx, eax
lea r8, [rbp + 0x250]
mov rcx, qword [rbp + 0x250]
call fcn.1401043f0
test eax, eax
js 0x1400c9fb2
inc edi
mov rax, qword [rbp + 0x250]
cmp edi, dword [rbp + 0x10]
jb 0x1400c7ea6
mov dword [rbp + 0x7c0], esi
lea r8, [rbp + 0x7c8]
mov rdx, r15
mov rcx, rax
call fcn.1401043f0
mov edi, eax
test eax, eax
js 0x1400c9fb2
mov r8, rsi
mov edx, dword [rbp + 0x14]
add rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x250]
lea rcx, [rax + 4]
add rcx, rsi
cmp rcx, rdx
ja 0x1400c8082
mov dword [rax], esi
mov rdx, r12
mov rcx, qword [rbp + 0x7c8]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp + 0x10]
mov ebx, 1
add ecx, ebx
mov dword [rbp + 0x10], ecx
jmp 0x1400c7f5e
mov edi, 0xc000000d
xor r12d, r12d
test edi, edi
js 0x1400c8085
mov rax, qword [rbp + 0x6e0]
mov qword [rbp + 0x498], rax
lea rax, [rbp + 0x498]
test rax, rax
je 0x1400c808f
cmp qword [rbp + 0x18], r12
jne 0x1400c7fd1
lea r8, [rbp + 0x350]
mov edx, 8
mov ecx, r15d
call fcn.1401043d0
test eax, eax
js 0x1400c8085
mov edx, dword [rbp + 0x350]
mov dword [rbp + 0x35c], edx
lea r8, [rbp + 0x14]
mov ecx, dword [rbp + 0x14]
call fcn.1401043d0
test eax, eax
js 0x1400c8085
add dword [rbp + 0x10], ebx
jmp 0x1400c8098
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x208], rax
mov edi, r12d
test ecx, ecx
je 0x1400c802f
lea r8, [rbp + 0x354]
mov edx, dword [rax]
mov ecx, r15d
call fcn.1401043d0
test eax, eax
js 0x1400c8085
mov eax, dword [rbp + 0x354]
mov dword [rbp + 0x35c], eax
mov edx, eax
lea r8, [rbp + 0x208]
mov rcx, qword [rbp + 0x208]
call fcn.1401043f0
test eax, eax
js 0x1400c8085
add edi, ebx
mov rax, qword [rbp + 0x208]
cmp edi, dword [rbp + 0x10]
jb 0x1400c7fe3
mov dword [rbp + 0x750], 8
lea r8, [rbp + 0x758]
mov rdx, r15
mov rcx, rax
call fcn.1401043f0
test eax, eax
js 0x1400c8085
mov edx, dword [rbp + 0x14]
add rdx, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x208]
lea rcx, [rdi + 0xc]
cmp rcx, rdx
ja 0x1400c8085
mov dword [rdi], 8
mov rdx, qword [rbp + 0x758]
mov rcx, qword [rbp + 0x498]
mov qword [rdx], rcx
add dword [rbp + 0x10], ebx
jmp 0x1400c8094
xor r12d, r12d
mov rdi, qword [rsp + 0x78]
jmp 0x1400c9fbf
mov eax, 0xc000000d
test eax, eax
js 0x1400c8085
lea r8, [rbp + 0x3d4]
mov edx, r15d
mov ecx, r15d
call fcn.1401043d0
test eax, eax
js 0x1400c8085
mov eax, dword [rbp + 0x3d4]
mov dword [rbp + 0x404], eax
mov dword [rbp + 0x180], eax
lea r8, [rbp + 0x3dc]
mov edx, 8
mov ecx, r15d
call fcn.1401043d0
test eax, eax
js 0x1400c8085
mov edx, dword [rbp + 0x3dc]
mov dword [rbp + 0x404], edx
lea r8, [rbp + 0x180]
mov ecx, dword [rbp + 0x180]
call fcn.1401043d0
test eax, eax
js 0x1400c8085
mov eax, dword [rbp + 0x180]
mov dword [rbp + 0x1150], eax
mov rdi, r12
mov qword [rbp - 0x58], r12
mov r15d, r12d
mov qword [rbp + 0x338], r12
mov qword [rbp + 0xb0], r12
mov dword [rbp - 0x80], r12d
mov r13, r12
mov qword [rbp + 0xc0], r12
mov dword [rbp + 0xbc], r12d
mov qword [rbp + 8], r12
mov qword [rbp - 0x40], r12
mov dword [rbp + 0x2cc], r12d
mov qword [rbp + 0x4a8], r12
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x4a8], rax
mov rsi, r12
mov dword [rbp + 0xdc], 8
lea r8, [rbp + 0xdc]
mov edx, dword [rbp + 0x14]
mov ecx, 8
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c828a
mov ebx, r12d
mov ecx, dword [rbp + 0xdc]
lea rax, [rcx + 7]
and eax, 0xfffffff8
cmp eax, ecx
jae 0x1400c819f
mov ebx, 0xc0000095
jmp 0x1400c81a7
mov ecx, eax
mov dword [rbp + 0xdc], eax
test ebx, ebx
js 0x1400c828a
mov ebx, r12d
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]
test rax, rax
jne 0x1400c81d7
mov ebx, 0xc0000017
jmp 0x1400c81da
mov rsi, rax
test ebx, ebx
js 0x1400c826e
mov qword [rbp + 0x1e0], rsi
mov eax, dword [rbp + 0x10]
mov dword [rsi], eax
lea r8, [rbp + 0x1e0]
mov edi, 4
mov edx, edi
mov rcx, qword [rbp + 0x1e0]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c826e
mov rcx, qword [rbp + 0x1e0]
mov eax, dword [rbp + 0x14]
mov dword [rcx], eax
lea r8, [rbp + 0x1e0]
mov edx, edi
mov rcx, qword [rbp + 0x1e0]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c826e
mov ecx, dword [rbp + 0xdc]
mov rax, qword [rbp + 0x4a8]
mov qword [rcx + rsi - 8], rax
mov r8d, dword [rbp + 0x14]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x1e0]
call sub.msvcrt.dll_memcpy
mov rdi, rsi
mov qword [rbp - 0x58], rsi
mov rsi, r12
mov r15d, dword [rbp + 0xdc]
jmp 0x1400c8271
mov rdi, r12
test rsi, rsi
je 0x1400c828a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
or ebx, 0x10000000
jl 0x1400c9ce9
mov qword [rbp + 0x5d8], r12
mov qword [rbp + 0x5e8], r12
mov qword [rbp + 0x5f8], r12
mov qword [rbp + 0x608], r12
mov qword [rbp + 0x330], r12
mov qword [rbp + 0x5c8], r12
mov rsi, r12
mov qword [rbp + 0xd30], r12
test rdi, rdi
jne 0x1400c82d9
mov ebx, 0xc000000d
jmp 0x1400c8a9b
mov ebx, r15d
mov qword [rbp + 0xd40], rbx
test r15d, r15d
je 0x1400c89f2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea r8, [rbx + 8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp + 0x108], rax
xor eax, eax
test r12, r12
je 0x1400c89f2
mov dl, al
mov ecx, eax
mov r10, qword [rbp - 0x58]
test r15d, r15d
je 0x1400c8332
lea eax, [rcx + 1]
xor dl, byte [rcx + r10]
add rcx, rax
cmp rcx, rbx
jb 0x1400c8326
mov r9, r12
xor ecx, ecx
mov r8d, ecx
mov dword [rbp - 0x24], ecx
or r11d, 0xffffffff
mov dword [rbp - 0x60], r11d
mov r13d, ecx
mov dword [rbp - 0x78], ecx
mov rdi, rbx
and edi, 7
je 0x1400c8428
mov r15d, ecx
mov dword [rbp - 0x78], ecx
mov r11d, ecx
test edi, edi
jle 0x1400c839f
lea r8d, [rcx + 0x38]
movzx eax, byte [r10]
cmp r11d, 4
jge 0x1400c837d
lea ecx, [r8 - 0x20]
shl eax, cl
or r15d, eax
jmp 0x1400c8385
mov ecx, r8d
shl eax, cl
or r13d, eax
mov eax, 1
add r10, rax
add r11d, eax
sub r8d, 8
cmp r11d, edi
jl 0x1400c8368
mov dword [rbp - 0x78], r15d
xor ecx, ecx
mov r8d, r15d
xor r8d, 0xfd02377a
mov dword [rbp - 0x24], r8d
mov r11d, r13d
xor r11d, 0xb47589d0
mov dword [rbp - 0x60], r11d
mov eax, ecx
test edi, edi
jle 0x1400c83ee
mov r15d, 1
cmp eax, 4
jge 0x1400c83d5
rol r8d, 8
mov byte [r9], r8b
jmp 0x1400c83dc
rol r11d, 8
mov byte [r9], r11b
add r9, r15
add eax, r15d
cmp eax, edi
jl 0x1400c83c7
mov r8d, dword [rbp - 0x24]
mov r11d, dword [rbp - 0x60]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400c840b
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x60], r11d
jmp 0x1400c8426
mov r11d, ecx
mov dword [rbp - 0x60], ecx
test eax, eax
jns 0x1400c8428
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x24], r8d
xor ecx, ecx
mov r15, rbx
shr r15, 3
test r15, r15
je 0x1400c8782
lea r12, [r9 + 7]
lea rbx, [r10 + 2]
mov esi, dword [rbp - 0x78]
mov r14d, 1
movzx r10d, byte [rbx - 2]
shl r10d, 8
movzx eax, byte [rbx - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx]
or r10d, eax
shl r10d, 8
movzx eax, byte [rbx + 1]
or r10d, eax
movzx r9d, byte [rbx + 2]
shl r9d, 8
movzx eax, byte [rbx + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [rbx + 5]
or r9d, eax
xor r11d, r9d
lea rbx, [rbx + 8]
mov edi, r10d
xor edi, r11d
xor edi, r8d
xor edi, 0x2c824960
lea eax, [rdi + 0x24692674]
ror eax, 2
mov ecx, edi
ror ecx, 0x10
imul eax, eax, 0xf714
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov r8d, 0xf71490ec
xor eax, r8d
ror eax, 0xb
mov ecx, r11d
rol ecx, 4
imul eax, eax, 0xd98c
add ecx, eax
xor edi, ecx
mov eax, edi
xor eax, r8d
rol eax, 7
mov ecx, edi
rol ecx, 5
imul eax, eax, 0xdb96
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xd98c
rol eax, 6
mov ecx, r11d
rol ecx, 8
imul eax, eax, 0x90ec
sub eax, ecx
xor edi, eax
mov ecx, edi
xor ecx, 0xdb96d98c
mov eax, r8d
sub eax, ecx
xor r11d, eax
mov eax, r11d
not eax
ror eax, 4
add eax, 0xd98c
imul eax, eax, 0xdb96
xor edi, eax
lea eax, [rdi - 0x8eb6f14]
ror eax, 8
mov ecx, edi
ror ecx, 2
imul eax, eax, 0xdb96
add ecx, eax
xor r11d, ecx
lea r8d, [r11 - 0x90ec]
xor r8d, edi
mov eax, 0xdb96d98c
xor r8d, eax
sub eax, r8d
rol eax, 0xe
mov ecx, r8d
ror ecx, 2
imul eax, eax, 0xf714
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xdb96]
rol eax, 2
mov ecx, r11d
shr ecx, 0xd
imul eax, eax, 0xd98c
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xdb96
mov eax, r8d
shr eax, 0xc
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x24689588]
xor r8d, eax
lea eax, [r11 - 0xd98c]
rol eax, 3
imul ecx, eax, 0x90ec
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xf714
mov eax, r8d
shr eax, 0xd
sub ecx, eax
xor r11d, ecx
mov eax, 0xf71490ec
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 0xb
imul eax, eax, 0xd98c
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8ea937e]
xor r11d, eax
mov edi, r11d
ror edi, 7
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0x90ec
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, 0xdb96
rol eax, 4
mov ecx, r8d
ror ecx, 0x10
imul eax, eax, 0xf714
sub eax, ecx
xor r11d, eax
mov eax, 0xf71490ec
sub eax, r11d
ror eax, 0xa
mov ecx, r11d
ror ecx, 4
imul eax, eax, 0xd98c
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8eb6f14]
ror eax, 4
mov ecx, r8d
ror ecx, 9
imul eax, eax, 0xdb96
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov edi, 0xdb96d98c
xor eax, edi
rol eax, 8
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x90ec
sub eax, ecx
xor r8d, eax
mov eax, edi
sub eax, r8d
ror eax, 0xb
mov ecx, r8d
ror ecx, 0xc
imul eax, eax, 0xf714
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r11d, 0x2c824960
xor r8d, esi
mov dword [rbp - 0x24], r8d
xor r11d, r13d
mov dword [rbp - 0x60], r11d
mov byte [r12 - 4], r8b
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x60]
mov byte [r12], al
ror dword [rbp - 0x60], 8
mov al, byte [rbp - 0x24]
mov byte [r12 - 5], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x60]
mov byte [r12 - 1], al
ror dword [rbp - 0x60], 8
mov al, byte [rbp - 0x24]
mov byte [r12 - 6], al
ror dword [rbp - 0x24], 8
mov al, byte [rbp - 0x60]
mov byte [r12 - 2], al
ror dword [rbp - 0x60], 8
mov al, byte [rbp - 0x24]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x60]
mov byte [r12 - 3], al
mov r8d, dword [rbp - 0x24]
ror r8d, 8
mov dword [rbp - 0x24], r8d
mov r11d, dword [rbp - 0x60]
ror r11d, 8
mov dword [rbp - 0x60], r11d
mov esi, r10d
mov r13d, r9d
lea r12, [r12 + 8]
sub r15, r14
jne 0x1400c8449
mov r14d, dword [rsp + 0x60]
mov rsi, qword [rbp + 0xd30]
mov rbx, qword [rbp + 0xd40]
mov r12, qword [rbp + 0x108]
xor ecx, ecx
movzx eax, dl
mov qword [r12 + rbx], rax
mov qword [rbp + 0x330], r12
lea r15, [rbx + 8]
mov qword [rbp + 0x5c8], r15
lea rax, [0x14014a650]
mov qword [rbp + 0x5d8], rax
mov qword [rbp + 0x5e8], 8
lea r13, [0x14014a5b0]
mov qword [rbp + 0x5f8], r13
mov qword [rbp + 0x608], LoadRegTypeLib
mov rdi, rcx
mov ebx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
test rax, rax
jne 0x1400c87f8
mov ebx, 0xc0000017
jmp 0x1400c87fb
mov rdi, rax
test ebx, ebx
js 0x1400c895c
mov dword [rdi], r15d
mov ebx, ecx
mov r15d, r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c882e
mov ebx, 0xc0000017
jmp 0x1400c8832
mov qword [rdi + 8], rax
test ebx, ebx
js 0x1400c895c
mov r8, r15
mov rdx, r12
mov rcx, qword [rdi + 8]
call sub.msvcrt.dll_memcpy
mov r15d, LoadRegTypeLib
mov dword [rdi + 0x10], r15d
xor r12d, r12d
mov ebx, r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r15d
lea r15d, [r12 + 8]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c887f
mov ebx, 0xc0000017
jmp 0x1400c8883
mov qword [rdi + 0x18], rax
test ebx, ebx
js 0x1400c895f
mov rcx, qword [rdi + 0x18]
mov rax, r13
or rax, rcx
and rax, 0xf
jne 0x1400c8908
mov eax, 1
lea edx, [rax + 0x7f]
movaps xmm0, xmmword [r13]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [r13 + 0x10]
movaps xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [r13 + 0x20]
movaps xmmword [rcx + 0x20], xmm0
movaps xmm1, xmmword [r13 + 0x30]
movaps xmmword [rcx + 0x30], xmm1
movaps xmm0, xmmword [r13 + 0x40]
movaps xmmword [rcx + 0x40], xmm0
movaps xmm1, xmmword [r13 + 0x50]
movaps xmmword [rcx + 0x50], xmm1
movaps xmm0, xmmword [r13 + 0x60]
movaps xmmword [rcx + 0x60], xmm0
add rcx, rdx
movaps xmm1, xmmword [r13 + 0x70]
movaps xmmword [rcx - 0x10], xmm1
add r13, rdx
dec rax
jne 0x1400c88a3
movaps xmm0, xmmword [r13]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [r13 + 0x10]
movaps xmmword [rcx + 0x10], xmm1
jmp 0x1400c8916
mov r8d, LoadRegTypeLib
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov dword [rdi + 0x20], r15d
mov ebx, r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c893e
mov ebx, 0xc0000017
jmp 0x1400c8942
mov qword [rdi + 0x28], rax
test ebx, ebx
js 0x1400c895f
mov rcx, qword [rdi + 0x28]
mov rax, qword [0x14014a650]
mov qword [rcx], rax
mov rsi, rdi
mov rdi, r12
jmp 0x1400c895f
xor r12d, r12d
test rdi, rdi
je 0x1400c89db
mov r15, qword [rdi + 8]
test r15, r15
je 0x1400c8985
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r12
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400c89a6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r12
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x1400c89c7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 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 + 0xc0]
test ebx, ebx
js 0x1400c89f7
mov qword [rbp + 0x338], rsi
mov rsi, r12
jmp 0x1400c89f7
mov ebx, 0xc0000001
cmp qword [rbp + 0x330], r12
je 0x1400c8a1f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x330]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x330], r12
test rsi, rsi
je 0x1400c8a9b
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400c8a45
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 0x1400c8a66
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 0x1400c8a87
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]
or ebx, 0x10000000
jl 0x1400c9ce9
mov rsi, qword [rbp + 0x338]
mov r15, r12
mov r12d, dword [rsi + 0x20]
mov edi, dword [rsi + 0x10]
mov edx, dword [rsi]
mov dword [rbp + 0x58], 4
lea r8, [rbp + 0x58]
mov ecx, 4
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c8b3f
lea r8, [rbp + 0x58]
mov edx, 4
mov ecx, dword [rbp + 0x58]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c8b3f
lea r8, [rbp + 0x58]
mov edx, edi
mov ecx, dword [rbp + 0x58]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c8b3f
lea r8, [rbp + 0x58]
mov edx, 4
mov ecx, dword [rbp + 0x58]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c8b3f
lea r8, [rbp + 0x58]
mov edx, r12d
mov ecx, dword [rbp + 0x58]
call fcn.1401043d0
mov ebx, eax
mov eax, dword [rbp + 0x184]
xor r12d, r12d
test ebx, ebx
cmovns eax, dword [rbp + 0x58]
mov dword [rbp + 0x184], eax
jmp 0x1400c8b48
mov eax, dword [rbp + 0x184]
xor r12d, r12d
test ebx, ebx
js 0x1400c8c89
mov ebx, r12d
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, edi
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c8b78
mov ebx, 0xc0000017
jmp 0x1400c8b7b
mov r15, rax
test ebx, ebx
js 0x1400c8c70
mov qword [rbp + 0x78], r15
mov eax, dword [rsi]
mov dword [r15], eax
lea r8, [rbp + 0x78]
mov edi, 4
mov edx, edi
mov rcx, qword [rbp + 0x78]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8c70
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
mov rcx, qword [rbp + 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi]
lea r8, [rbp + 0x78]
mov rcx, qword [rbp + 0x78]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8c70
mov ecx, dword [rsi + 0x10]
mov rax, qword [rbp + 0x78]
mov dword [rax], ecx
lea r8, [rbp + 0x78]
mov edx, edi
mov rcx, qword [rbp + 0x78]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8c70
mov r8d, dword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rbp + 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, qword [rbp + 0x78]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8c70
mov ecx, dword [rsi + 0x20]
mov rax, qword [rbp + 0x78]
mov dword [rax], ecx
lea r8, [rbp + 0x78]
mov edx, edi
mov rcx, qword [rbp + 0x78]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8c70
mov r8d, dword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
mov rcx, qword [rbp + 0x78]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi + 0x20]
lea r8, [rbp + 0x78]
mov rcx, qword [rbp + 0x78]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8c70
mov qword [rbp + 0xb0], r15
mov r15, r12
mov eax, dword [rbp + 0x184]
mov dword [rbp - 0x80], eax
test r15, r15
je 0x1400c8c89
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, 0x10000000
or ebx, edi
jl 0x1400c9ce6
mov qword [rbp + 0x618], r12
mov dword [rbp + 0x238], r12d
mov qword [rbp + 0x5c0], r12
mov dword [rbp + 0x2b8], r12d
mov dword [rbp + 0x18c], 8
lea r8, [rbp + 0x18c]
mov edx, dword [rbp + 0x1150]
mov ecx, 8
call fcn.1401043d0
mov ebx, eax
or ebx, edi
jl 0x1400c8f42
mov ebx, r12d
mov eax, dword [rbp + 0x18c]
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x18c]
jae 0x1400c8d02
mov ebx, 0xc0000095
mov eax, dword [rbp + 0x194]
jmp 0x1400c8d08
mov dword [rbp + 0x194], eax
test ebx, ebx
js 0x1400c9ce6
lea r8, [rbp + 0x194]
mov edx, 8
mov ecx, eax
call fcn.1401043d0
mov ebx, eax
mov eax, dword [rbp + 0x248]
test ebx, ebx
cmovns eax, dword [rbp + 0x194]
mov dword [rbp + 0x248], eax
js 0x1400c9ce6
mov r15d, 4
cmp qword [rbp + 0x18], r12
jne 0x1400c8d56
mov ebx, 0xc000000d
jmp 0x1400c8dea
mov eax, 1
cmp dword [rbp + 0x10], eax
jbe 0x1400c8d4c
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x160], rcx
mov edi, r12d
mov esi, dword [rcx]
lea r8, [rbp + 0x160]
mov rdx, r15
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8dea
mov edx, esi
lea r8, [rbp + 0x160]
mov rcx, qword [rbp + 0x160]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8dea
mov eax, 1
add edi, eax
mov rcx, qword [rbp + 0x160]
cmp edi, eax
jb 0x1400c8d6e
mov edi, dword [rcx]
lea r8, [rbp + 0x160]
mov rdx, r15
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8dea
mov dword [rbp + 0x238], edi
mov rax, qword [rbp + 0x160]
test edi, edi
cmove rax, r12
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x618], rax
test ebx, ebx
js 0x1400c9ce6
cmp qword [rbp + 0x18], r12
jne 0x1400c8e02
mov ebx, 0xc000000d
jmp 0x1400c8e8e
cmp dword [rbp + 0x10], 2
jbe 0x1400c8df8
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x130], rcx
mov edi, r12d
mov esi, dword [rcx]
lea r8, [rbp + 0x130]
mov rdx, r15
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8e8e
mov edx, esi
lea r8, [rbp + 0x130]
mov rcx, qword [rbp + 0x130]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8e8e
inc edi
mov rcx, qword [rbp + 0x130]
cmp edi, 2
jb 0x1400c8e16
mov edi, dword [rcx]
lea r8, [rbp + 0x130]
mov rdx, r15
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c8e8e
mov dword [rbp + 0x2b8], edi
mov rax, qword [rbp + 0x130]
test edi, edi
cmove rax, r12
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x5c0], rax
test ebx, ebx
js 0x1400c9ce6
mov esi, dword [rbp + 0x2b8]
mov edi, dword [rbp + 0x238]
mov dword [rbp + 0x60], r15d
lea r8, [rbp + 0x60]
mov edx, dword [rbp + 0x248]
mov ecx, r15d
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c8f20
lea r8, [rbp + 0x60]
mov edx, r15d
mov ecx, dword [rbp + 0x60]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c8f20
lea r8, [rbp + 0x60]
mov edx, edi
mov ecx, dword [rbp + 0x60]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c8f20
lea r8, [rbp + 0x60]
mov edx, r15d
mov ecx, dword [rbp + 0x60]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c8f20
lea r8, [rbp + 0x60]
mov edx, esi
mov ecx, dword [rbp + 0x60]
call fcn.1401043d0
mov ebx, eax
mov eax, dword [rbp + 0x258]
test ebx, ebx
cmovns eax, dword [rbp + 0x60]
mov dword [rbp + 0x258], eax
jmp 0x1400c8f26
mov eax, dword [rbp + 0x258]
test ebx, ebx
js 0x1400c9ce6
cmp eax, 0x400000
jbe 0x1400c8f3c
mov ebx, 0x8000ffff
jmp 0x1400c8f42
mov dword [rbp + 0xbc], eax
test ebx, ebx
js 0x1400c9ce6
mov ebx, r12d
mov edi, dword [rbp + 0xbc]
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 0x1400c8f76
mov ebx, 0xc0000017
jmp 0x1400c8f80
mov r13, rax
mov qword [rbp + 0xc0], rax
mov esi, 0x10000000
or ebx, esi
jl 0x1400c9ce6
mov rbx, qword [rbp + 0xb0]
test rbx, rbx
jne 0x1400c8fa3
mov ebx, 0x80070057
jmp 0x1400c9070
test r13, r13
je 0x1400c8f99
lea r8, [rbp + 0x638]
lea rdx, [0x140009708]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x1400c8fe1
lea rdx, [0x140009720]
mov rcx, qword [rbp + 0x638]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x1400c9000
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400c905e
mov ebx, 0x80004005
jmp 0x1400c905e
mov qword [rbp + 0x710], rbx
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x720], eax
mov qword [rbp + 0x718], r13
mov eax, dword [rbp + 0xbc]
mov dword [rbp + 0x724], eax
mov dword [rbp + 0x728], r12d
mov rcx, rdi
call qword [fcn.140015690]
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x710]
lea ecx, [r8 + 0x66]
call rdi
mov ebx, eax
or ebx, esi
mov eax, dword [rbp + 0xbc]
cmovge eax, dword [rbp + 0x724]
mov dword [rbp + 0xbc], eax
cmp ebx, 0xd0000023
jne 0x1400c9070
mov ebx, 0x8007007a
jmp 0x1400c9ce6
test ebx, ebx
js 0x1400c9ce6
mov edi, dword [rbp + 0xbc]
mov rsi, r12
mov dword [rbp - 0x50], r12d
mov qword [rbp + 0xf8], r13
cmp edi, 4
jae 0x1400c909b
mov ebx, 0xc000003e
jmp 0x1400c94ae
mov r15d, dword [r13]
lea r8, [rbp + 0xf8]
mov edx, 4
mov rcx, r13
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c94ae
lea r8, [rbp - 0x50]
mov edx, 4
mov ecx, dword [rbp - 0x50]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c94ae
mov eax, edi
sub eax, dword [rbp - 0x50]
cmp eax, r15d
jb 0x1400c9091
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x70], rax
lea r8, [rbp + 0xf8]
mov edx, r15d
mov rcx, rax
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c94ae
lea r8, [rbp - 0x50]
mov edx, r15d
mov ecx, dword [rbp - 0x50]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c94ae
mov eax, edi
sub eax, dword [rbp - 0x50]
cmp eax, 4
jb 0x1400c9091
mov rcx, qword [rbp + 0xf8]
mov r12d, dword [rcx]
lea r8, [rbp + 0xf8]
mov edx, 4
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c94ab
lea r8, [rbp - 0x50]
mov edx, 4
mov ecx, dword [rbp - 0x50]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c94ab
mov eax, edi
sub eax, dword [rbp - 0x50]
cmp eax, r12d
jae 0x1400c9184
mov ebx, 0xc000003e
jmp 0x1400c94ab
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xd40], rax
lea r8, [rbp + 0xf8]
mov rdx, r12
mov rcx, rax
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c94ab
lea r8, [rbp - 0x50]
mov edx, r12d
mov ecx, dword [rbp - 0x50]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c94ab
mov eax, edi
sub eax, dword [rbp - 0x50]
cmp eax, 4
jb 0x1400c917a
mov rcx, qword [rbp + 0xf8]
mov r13d, dword [rcx]
lea r8, [rbp + 0xf8]
mov edx, 4
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c94ab
lea r8, [rbp - 0x50]
mov edx, 4
mov ecx, dword [rbp - 0x50]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c94ab
mov eax, edi
mov ecx, dword [rbp - 0x50]
sub eax, ecx
cmp eax, r13d
jb 0x1400c917a
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x1150], rax
lea r8, [rbp - 0x50]
mov edx, r13d
call fcn.1401043d0
mov ebx, eax
xor edx, edx
test eax, eax
js 0x1400c94ab
cmp edi, dword [rbp - 0x50]
jne 0x1400c917a
lea ecx, [r12 + r13]
add ecx, r15d
add rcx, 0xc
cmp rcx, rdi
jne 0x1400c917a
mov edi, edx
mov ebx, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea edx, [rdi + 8]
lea r8d, [rdi + 0x30]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ecx, ecx
test rax, rax
jne 0x1400c928c
mov ebx, 0xc0000017
jmp 0x1400c928f
mov rdi, rax
test ebx, ebx
js 0x1400c93a3
cmp qword [rbp - 0x70], rcx
je 0x1400c92e5
mov dword [rdi], r15d
mov ebx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c92c5
mov ebx, 0xc0000017
jmp 0x1400c92c9
mov qword [rdi + 8], rax
test ebx, ebx
js 0x1400c93a3
mov r8, r15
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rdi + 8]
call sub.msvcrt.dll_memcpy
xor ecx, ecx
jmp 0x1400c92eb
mov dword [rdi], ecx
mov qword [rdi + 8], rcx
mov r15, qword [rbp + 0xd40]
test r15, r15
je 0x1400c933b
mov dword [rdi + 0x10], r12d
mov ebx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400c9320
mov ebx, 0xc0000017
jmp 0x1400c9324
mov qword [rdi + 0x18], rax
test ebx, ebx
js 0x1400c93a3
mov r8, r12
mov rdx, r15
mov rcx, qword [rdi + 0x18]
call sub.msvcrt.dll_memcpy
xor ecx, ecx
jmp 0x1400c9342
mov dword [rdi + 0x10], ecx
mov qword [rdi + 0x18], rcx
mov r12, qword [rbp + 0x1150]
test r12, r12
je 0x1400c9393
mov dword [rdi + 0x20], r13d
mov ebx, ecx
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 0x1400c9377
mov ebx, 0xc0000017
jmp 0x1400c937b
mov qword [rdi + 0x28], rax
test ebx, ebx
js 0x1400c93a3
mov r8, r13
mov rdx, r12
mov rcx, qword [rdi + 0x28]
call sub.msvcrt.dll_memcpy
xor r12d, r12d
jmp 0x1400c939b
mov dword [rdi + 0x20], r12d
mov qword [rdi + 0x28], r12
mov rsi, rdi
mov rdi, r12
jmp 0x1400c93a6
xor r12d, r12d
test rdi, rdi
je 0x1400c9422
mov r15, qword [rdi + 8]
test r15, r15
je 0x1400c93cc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r12
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400c93ed
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r12
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x1400c940e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x1400c942d
mov qword [rbp + 8], rsi
mov rsi, r12
test rsi, rsi
je 0x1400c94ae
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400c9453
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 0x1400c9474
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 0x1400c9495
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]
jmp 0x1400c94ae
xor r12d, r12d
or ebx, 0x10000000
jl 0x1400c9ce6
mov qword [rbp + 0x1e8], r12
mov qword [rbp + 0x4b8], r12
mov ebx, r12d
mov dword [rbp + 0x1150], ebx
mov rax, qword [rbp + 8]
test rax, rax
jne 0x1400c94e4
mov ebx, 0xc000000d
jmp 0x1400c9a3b
mov rdi, qword [rax + 8]
mov qword [rbp - 0x70], rdi
test rdi, rdi
je 0x1400c94da
cmp dword [rax], r12d
je 0x1400c94da
mov r15d, dword [rax]
mov dword [rbp - 0x10], r12d
test r15, r15
je 0x1400c9a0e
add r15, 0xfffffffffffffff8
mov qword [rbp + 0xd40], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp + 0x108], rax
xor ecx, ecx
test rax, rax
je 0x1400c9a0b
mov dl, cl
mov byte [rsp + 0x64], cl
mov r9, rdi
mov r8, rax
mov rdi, r15
mov dword [rbp - 0x44], ecx
mov r13d, ecx
and edi, 7
je 0x1400c962b
or r11d, 0xffffffff
mov dword [rbp - 0x68], r11d
mov r11d, ecx
mov dword [rbp + 0x9c], ecx
mov r10d, ecx
test edi, edi
jle 0x1400c95aa
lea esi, [rcx + 0x38]
movzx eax, byte [r9]
cmp r10d, 4
jge 0x1400c9587
lea ecx, [rsi - 0x20]
shl eax, cl
or r13d, eax
jmp 0x1400c958e
mov ecx, esi
shl eax, cl
or r11d, eax
mov eax, 1
add r9, rax
add r10d, eax
sub esi, 8
cmp r10d, edi
jl 0x1400c9573
mov dword [rbp + 0x9c], r11d
xor ecx, ecx
mov esi, r13d
xor esi, 0x5c3fcbda
mov dword [rbp - 0x44], esi
xor r11d, 0x66fa8c2b
mov dword [rbp - 0x68], r11d
mov eax, ecx
test edi, edi
jle 0x1400c95f2
mov r10d, 1
cmp eax, 4
jge 0x1400c95da
rol esi, 8
mov byte [r8], sil
jmp 0x1400c95e1
rol r11d, 8
mov byte [r8], r11b
add r8, r10
add eax, r10d
cmp eax, edi
jl 0x1400c95cd
mov esi, dword [rbp - 0x44]
mov r11d, dword [rbp - 0x68]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400c960f
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x68], r11d
jmp 0x1400c9627
mov r11d, ecx
mov dword [rbp - 0x68], ecx
test eax, eax
jns 0x1400c9633
neg eax
shl eax, 3
mov ecx, eax
shr esi, cl
shl esi, cl
mov dword [rbp - 0x44], esi
xor ecx, ecx
jmp 0x1400c9633
mov r11d, ecx
mov dword [rbp - 0x68], ecx
mov esi, ecx
mov rax, r15
shr rax, 3
test rax, rax
je 0x1400c9988
lea r12, [r8 + 7]
lea r15, [r9 + 2]
mov rdx, rax
mov r14d, dword [rbp + 0x9c]
mov ebx, 1
movzx r10d, byte [r15 - 2]
shl r10d, 8
movzx eax, byte [r15 - 1]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15]
or r10d, eax
shl r10d, 8
movzx eax, byte [r15 + 1]
or r10d, eax
movzx r9d, byte [r15 + 2]
shl r9d, 8
movzx eax, byte [r15 + 3]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 4]
or r9d, eax
shl r9d, 8
movzx eax, byte [r15 + 5]
or r9d, eax
xor esi, r10d
xor r11d, r9d
lea r15, [r15 + 8]
xor r11d, esi
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
mov ecx, r11d
rol ecx, 0xa
imul eax, eax, 0xd6c9
add ecx, eax
xor esi, ecx
lea eax, [rsi - 0x59c22937]
ror eax, 9
mov ecx, esi
rol ecx, 2
imul eax, eax, 0xcf67
sub eax, ecx
xor r11d, eax
lea eax, [r11 - 0xd6c9]
imul ecx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor esi, ecx
mov eax, esi
xor eax, 0xcf67
rol eax, 6
mov ecx, esi
rol ecx, 2
imul eax, eax, 0xa63d
sub eax, ecx
xor r11d, eax
mov ecx, r11d
mov r8d, 0xcf6704fb
xor ecx, r8d
mov eax, 0xa63dd6c9
sub eax, ecx
xor esi, eax
mov edi, esi
ror edi, 6
mov eax, esi
xor eax, 0xd6c9
imul ecx, eax, 0xcf67
xor edi, ecx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
mov ecx, r11d
rol ecx, 2
imul eax, eax, 0x4fb
add ecx, eax
xor esi, ecx
lea eax, [rsi + 0x3098fb05]
ror eax, 0xe
mov ecx, esi
rol ecx, 8
imul eax, eax, 0xa63d
sub eax, ecx
xor r11d, eax
mov eax, r11d
xor eax, r8d
ror eax, 0xc
mov ecx, r11d
ror ecx, 0xa
imul eax, eax, 0xd6c9
xor ecx, eax
xor esi, ecx
mov eax, esi
xor eax, 0xa63d
imul ecx, eax, 0xcf67
mov eax, esi
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
not eax
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor esi, eax
mov ecx, r11d
xor ecx, r8d
mov edi, 0xa63dd6c9
mov eax, edi
sub eax, ecx
xor esi, eax
lea eax, [rsi - 0x3098fb05]
rol eax, 3
mov ecx, esi
rol ecx, 6
imul eax, eax, 0xa63d
add ecx, eax
xor r11d, ecx
mov eax, r8d
sub eax, r11d
ror eax, 9
mov ecx, r11d
ror ecx, 8
imul eax, eax, 0xd6c9
sub eax, ecx
xor esi, eax
xor r11d, esi
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, esi
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul ecx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add ecx, eax
xor r11d, ecx
mov edi, r11d
ror edi, 9
mov eax, r11d
mov esi, 0xa63d
xor eax, esi
imul ecx, eax, 0xd6c9
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, esi
imul ecx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor ecx, eax
xor r11d, ecx
mov edi, r11d
ror edi, 2
mov eax, r11d
xor eax, 0xcf67
imul ecx, eax, 0x4fb
xor edi, ecx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
mov ecx, r11d
rol ecx, 0xb
imul eax, eax, 0xd6c9
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, esi
rol eax, 2
mov ecx, r8d
rol ecx, 0xc
imul eax, eax, 0xcf67
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
mov ecx, r11d
rol ecx, 0xe
imul eax, eax, 0x4fb
add ecx, eax
xor ecx, r13d
xor r8d, ecx
mov dword [rbp - 0x44], r8d
xor r11d, r14d
mov dword [rbp - 0x68], r11d
mov byte [r12 - 4], r8b
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x68]
mov byte [r12], al
ror dword [rbp - 0x68], 8
mov al, byte [rbp - 0x44]
mov byte [r12 - 5], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x68]
mov byte [r12 - 1], al
ror dword [rbp - 0x68], 8
mov al, byte [rbp - 0x44]
mov byte [r12 - 6], al
ror dword [rbp - 0x44], 8
mov al, byte [rbp - 0x68]
mov byte [r12 - 2], al
ror dword [rbp - 0x68], 8
mov al, byte [rbp - 0x44]
mov byte [r12 - 7], al
mov al, byte [rbp - 0x68]
mov byte [r12 - 3], al
mov esi, dword [rbp - 0x44]
ror esi, 8
mov dword [rbp - 0x44], esi
mov r11d, dword [rbp - 0x68]
ror r11d, 8
mov dword [rbp - 0x68], r11d
mov r13d, r10d
mov r14d, r9d
lea r12, [r12 + 8]
sub rdx, rbx
jne 0x1400c965a
mov dl, byte [rsp + 0x64]
mov r14d, dword [rsp + 0x60]
mov ebx, dword [rbp + 0x1150]
mov r15, qword [rbp + 0xd40]
mov r12, qword [rbp + 0x108]
xor ecx, ecx
mov rax, rcx
test r15, r15
je 0x1400c99a1
mov ecx, 1
xor dl, byte [rax + r12]
add rax, rcx
cmp rax, r15
jb 0x1400c9995
movzx eax, dl
mov rcx, qword [rbp - 0x70]
cmp rax, qword [r15 + rcx]
je 0x1400c99b5
mov edi, 0xc004d501
jmp 0x1400c99cb
mov qword [rbp + 0x1e8], r12
xor eax, eax
mov r12d, eax
mov qword [rbp + 0x4b8], r15
mov edi, dword [rbp - 0x10]
test r12, r12
je 0x1400c99e4
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
test edi, edi
js 0x1400c9a0e
mov rax, qword [rbp + 0x1e8]
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x1e8], r12
mov eax, dword [rbp + 0x4b8]
mov dword [rbp + 0x2cc], eax
jmp 0x1400c9a13
xor r12d, r12d
mov ebx, 0xc0000001
cmp qword [rbp + 0x1e8], r12
je 0x1400c9a3b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x1e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1e8], r12
or ebx, 0x10000000
jl 0x1400c9ce6
mov esi, dword [rbp + 0x2cc]
mov dword [rbp + 0x98], r12d
mov r15, qword [rbp - 0x40]
mov qword [rbp + 0x340], r15
mov edi, 4
cmp esi, edi
jb 0x1400c9cdd
mov eax, dword [r15]
mov dword [rbp + 0x1150], eax
lea r8, [rbp + 0x340]
mov edx, edi
mov rcx, r15
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c9ce2
lea r8, [rbp + 0x98]
mov edx, edi
mov ecx, dword [rbp + 0x98]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c9ce2
mov eax, esi
sub eax, dword [rbp + 0x98]
cmp eax, edi
jb 0x1400c9cdd
mov rcx, qword [rbp + 0x340]
mov r13d, dword [rcx]
lea r8, [rbp + 0x340]
mov edx, edi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c9ce2
lea r8, [rbp + 0x98]
mov edx, edi
mov ecx, dword [rbp + 0x98]
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c9ce2
mov eax, esi
mov ecx, dword [rbp + 0x98]
sub eax, ecx
cmp eax, r13d
jb 0x1400c9cdd
mov rdi, qword [rbp + 0x340]
lea r8, [rbp + 0x98]
mov edx, r13d
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400c9ce2
mov edx, esi
lea rcx, [rsi + r15]
lea rax, [rdi + r13]
cmp rcx, rax
jb 0x1400c9cdd
sub rdx, rdi
sub rdx, r13
add rdx, r15
cmp rdx, 8
jae 0x1400c9cdd
xor ecx, ecx
mov r15d, ecx
mov ebx, ecx
mov esi, ecx
mov dword [rbp + 0x9c], ecx
test rdi, rdi
je 0x1400c9c54
mov rsi, rdi
lea r8, [rbp + 0x3e8]
mov edx, r13d
mov rcx, rdi
call fcn.1401043f0
mov ebx, eax
xor ecx, ecx
test eax, eax
js 0x1400c9ccb
mov rax, qword [rbp + 0x3e8]
cmp rdi, rax
jae 0x1400c9c49
lea r8, [rbp + 0x648]
mov edx, 4
mov rcx, rsi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400c9ce2
mov rax, qword [rbp + 0x3e8]
cmp qword [rbp + 0x648], rax
ja 0x1400c9c3f
lea r8, [rbp + 0x474]
mov edx, dword [rsi]
mov ecx, 4
call fcn.1401043d0
mov ebx, eax
mov eax, dword [rbp + 0x47c]
test ebx, ebx
cmovns eax, dword [rbp + 0x474]
mov dword [rbp + 0x47c], eax
js 0x1400c9ce2
mov edx, eax
lea r8, [rbp + 0x658]
mov rcx, rsi
call fcn.1401043f0
mov ebx, eax
xor ecx, ecx
test eax, eax
js 0x1400c9ccb
mov rsi, qword [rbp + 0x658]
mov rax, qword [rbp + 0x3e8]
cmp rsi, rax
ja 0x1400c9c3f
inc dword [rbp + 0x9c]
cmp rsi, rax
jb 0x1400c9ba0
jmp 0x1400c9c49
mov ebx, 0xc000000d
jmp 0x1400c9ccb
cmp rsi, rax
jne 0x1400c9c3f
mov esi, dword [rbp + 0x9c]
test r13d, r13d
je 0x1400c9c85
mov ebx, ecx
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 0x1400c9c7e
mov ebx, 0xc0000017
jmp 0x1400c9c81
mov r15, rax
test ebx, ebx
js 0x1400c9cb2
test rdi, rdi
je 0x1400c9c98
mov r8, r13
mov rdx, rdi
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x170], r15
xor r12d, r12d
mov r15d, r12d
mov dword [rbp + 0x16c], r13d
mov dword [rbp + 0x168], esi
test r15, r15
je 0x1400c9ccb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x1400c9ce2
mov eax, dword [rbp + 0x1150]
cmp eax, dword [rbp + 0x168]
je 0x1400c9ce2
mov ebx, 0xc000003e
bts ebx, 0x1c
xor r12d, r12d
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x1400c9d06
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 + 0x338]
test rsi, rsi
je 0x1400c9d90
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400c9d33
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 0x1400c9d54
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 0x1400c9d75
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 qword [rbp + 0x338], r12
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x1400c9db0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x1400c9dd0
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 + 8]
test rsi, rsi
je 0x1400c9e50
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400c9dfa
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 0x1400c9e1b
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 0x1400c9e3c
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 rdi, qword [rbp - 0x40]
test rdi, rdi
je 0x1400c9e6d
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 0x1400c9fa7
mov eax, dword [rbp + 0x168]
mov r15d, 1
cmp eax, r15d
jb 0x1400c9fa7
mov rcx, qword [rbp + 0x170]
test rcx, rcx
je 0x1400c9fa7
test eax, eax
je 0x1400c9fa7
mov qword [rbp + 0x3f8], rcx
mov edi, dword [rcx]
lea r8, [rbp + 0x3f8]
lea esi, [r15 + 3]
mov edx, esi
call fcn.1401043f0
test eax, eax
js 0x1400c9fa7
mov dword [rbp + 0x678], edi
mov rax, qword [rbp + 0x3f8]
test edi, edi
cmove rax, r12
mov qword [rbp + 0x3f8], rax
mov qword [rbp + 0x810], rax
cmp edi, esi
jne 0x1400c9fa7
mov eax, dword [rax]
mov dword [rbp + 0x80], eax
test eax, eax
js 0x1400c9fa7
mov rcx, qword [rbp + 0x170]
test rcx, rcx
je 0x1400c9fa7
cmp dword [rbp + 0x168], r15d
jbe 0x1400c9fa7
mov qword [rbp + 0x138], rcx
mov edi, r12d
mov ebx, dword [rcx]
lea r8, [rbp + 0x138]
mov rdx, rsi
call fcn.1401043f0
test eax, eax
js 0x1400c9fa7
mov edx, ebx
lea r8, [rbp + 0x138]
mov rcx, qword [rbp + 0x138]
call fcn.1401043f0
test eax, eax
js 0x1400c9fa7
add edi, r15d
mov rcx, qword [rbp + 0x138]
cmp edi, r15d
jb 0x1400c9f25
mov edi, dword [rcx]
lea r8, [rbp + 0x138]
mov rdx, rsi
call fcn.1401043f0
test eax, eax
js 0x1400c9fa7
mov dword [rbp + 0x688], edi
mov rax, qword [rbp + 0x138]
test edi, edi
cmove rax, r12
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x808], rax
cmp edi, 8
jne 0x1400c9fa7
mov rax, qword [rax]
mov qword [rbp + 0x800], rax
mov rdi, qword [rsp + 0x78]
mov r13, qword [rbp + 0x40]
jmp 0x1400c9fbf
mov rdi, qword [rsp + 0x78]
jmp 0x1400c9fbc
mov rdi, r15
xor r12d, r12d
mov qword [rbp + 0x10], 0
cmp qword [rbp + 0x18], r12
je 0x1400c9fe6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x18]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x168], 0
cmp qword [rbp + 0x170], r12
je 0x1400ca019
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp + 0x170]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x170], r12
test rdi, rdi
je 0x1400ca032
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13, r13
je 0x1400ca04b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor r13d, r13d
mov eax, dword [rbp + 0x1a4]
mov dword [rbp + 0x698], eax
mov ebx, dword [rbp + 0x280]
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x218], r13
mov qword [rbp + 0x348], rax
xor eax, eax
mov r15d, 0x8007007a
jmp 0x1400ca08d
xor eax, eax
mov r15d, 0x8007007a
mov ebx, dword [rbp + 0x80]
mov rsi, qword [rbp + 0x300]
cmp rsi, 0xffffffffffffffff
je 0x1400ca0c6
cmp dword [rbp + 0x110], eax
je 0x1400ca0bc
mov rdi, qword [0x140148de8]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 3
mov rcx, rsi
call rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp + 0x218]
call fcn.1401043ac
xor esi, esi
test r14d, r14d
jns 0x1400ca12c
cmp r14d, 0xd0000034
jne 0x1400ca0ea
mov r14d, 0xc004f012
jmp 0x1400ca127
cmp r14d, 0xd00000e5
je 0x1400ca10d
cmp r14d, 0xc004d501
je 0x1400ca10d
cmp r14d, 0xd000003e
jne 0x1400ca113
mov r14d, 0xc004f028
jmp 0x1400ca127
mov r14d, 0xc004f027
test r14d, r14d
jns 0x1400ca12c
cmp r14d, r15d
jne 0x1400ca127
mov ebx, 0xc004f01e
mov dword [rbp + 0x54], ebx
jmp 0x1400ca142
mov ebx, r14d
jmp 0x1400ca122
cmp ebx, 4
jne 0x1400ca11d
mov rax, qword [rbp + 0x348]
mov ecx, dword [rax]
mov dword [rbp + 0x2d4], ecx
mov ebx, esi
lea rcx, [rbp + 0x348]
call fcn.1401043ac
test ebx, ebx
jns 0x1400ca19a
lea rax, [0x140148ea8]
mov rcx, qword [0x140148ea8]
cmp rcx, rax
je 0x1400ca300
test byte [rcx + 0x1c], 2
je 0x1400ca300
cmp byte [rcx + 0x19], 2
jb 0x1400ca300
mov edx, 0x3f
mov r9d, ebx
lea r8, [0x140009100]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
jmp 0x1400ca300
cmp dword [rbp + 0x2d4], esi
jne 0x1400ca1ac
mov edi, 0x80004005
jmp 0x1400ca303
mov qword [rbp + 0x528], rsi
mov qword [rbp + 0x530], rsi
mov qword [rbp + 0x538], rsi
mov qword [rbp + 0x4d8], rsi
lea rax, [rbp + 0x4d8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, [0x140005590]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ecx, eax
test eax, eax
jne 0x1400ca225
mov ecx, esi
mov rax, qword [rbp + 0x528]
test rax, rax
je 0x1400ca217
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, eax
mov qword [rbp + 0x528], rsi
mov rax, qword [rbp + 0x4d8]
mov qword [rbp + 0x528], rax
test ecx, ecx
je 0x1400ca280
movzx edi, cx
or edi, 0x80070000
test ecx, ecx
cmovle edi, ecx
lea rax, [0x140148ea8]
mov rcx, qword [0x140148ea8]
cmp rcx, rax
je 0x1400ca26f
test byte [rcx + 0x1c], 2
je 0x1400ca26f
cmp byte [rcx + 0x19], 2
jb 0x1400ca26f
mov edx, 0x40
mov r9d, edi
lea r8, [0x140009100]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
nop
lea rcx, [rbp + 0x528]
call fcn.1400158a0
jmp 0x1400ca303
mov rbx, qword [rbp + 0x668]
mov r8, rbx
lea rdx, [0x1400ca388]
lea rcx, [rbp + 0x528]
call fcn.1400d252c
mov edi, eax
test eax, eax
je 0x1400ca2f4
mov rcx, rbx
call fcn.140011644
movzx ebx, di
or ebx, 0x80070000
test edi, edi
cmovle ebx, edi
mov dword [rbp + 0x54], ebx
lea rax, [0x140148ea8]
mov rcx, qword [0x140148ea8]
cmp rcx, rax
je 0x1400ca2f4
test byte [rcx + 0x1c], 2
je 0x1400ca2f4
cmp byte [rcx + 0x19], 2
jb 0x1400ca2f4
mov edx, 0x41
mov r9d, ebx
lea r8, [0x140009100]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
nop
lea rcx, [rbp + 0x528]
call fcn.1400158a0
mov edi, dword [rbp + 0x54]
mov eax, edi
mov rcx, qword [rbp + 0x1420]
xor rcx, rsp
call fcn.140001000
lea r11, [rsp + 0x1530]
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