Function at 0x180007c50
Capabilities:
Create pipe
Get disk information

Disassembly:
sub rsp, 0x98
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov qword [rsp + 0x88], rax
mov eax, dword [0x18007ada4]
mov ecx, 0xa4b2a779
cmp rax, rcx
jne 0x180007ea1
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetThreadPriorityBoost]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindClose]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetNamedPipeClientProcessId]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetCommTimeouts]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetProcessAffinityMask]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreatePrivateNamespaceW]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, str.diJeKDpnEfTOPcZz
xor r8d, r8d
lea rdx, str.GnNcSIBurWFjllbxRTwlR
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindStringOrdinal]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateFiberEx]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalLock]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetThreadIdealProcessorEx]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalLock]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessWorkingSetSize]
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_BackupSeek]
lea rax, str.XMlPVpHMXGEssyopGidfeXh
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateFileMappingFromApp]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x80]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ScrollConsoleScreenBufferW]
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetAppContainerNamedObjectPath]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetProcessAffinityUpdateMode]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Wow64GetThreadContext]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateHardLinkTransactedW]
xor r8d, r8d
xor edx, edx
lea rcx, str.eLgNrLvvJbyuhlWW
call qword [sym.imp.KERNEL32.dll_ResolveLocaleName]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumSystemGeoID]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetTapeParameters]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThreadpool]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDynamicTimeZoneInformation]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CheckTokenMembershipEx]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetProcessAffinityUpdateMode]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WaitForThreadpoolIoCallbacks]
mov eax, dword [0x18007ada0]
mov r8d, eax
mov edx, 8
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [0x18007adb8], rax
mov dword [rsp + 0x4c], 0x914
mov dword [rsp + 0x48], 0x1d07
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x54], 0
mov eax, dword [rsp + 0x48]
add eax, 0x294
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x60], 0x10b5
mov dword [rsp + 0x5c], 0
mov dword [rsp + 0x40], 0x10aa
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x68], 0
jmp 0x180007f3d
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0x19
jge 0x180007f51
mov eax, dword [rsp + 0x4c]
sub eax, 7
mov dword [rsp + 0x4c], eax
jmp 0x180007f33
mov dword [rsp + 0x58], 0x1329
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x60]
sub eax, 0x13b
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x6c], 0
jmp 0x180007f9a
mov eax, dword [rsp + 0x6c]
inc eax
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0x1e
jge 0x180007fae
mov eax, dword [rsp + 0x44]
sub eax, 3
mov dword [rsp + 0x44], eax
jmp 0x180007f90
mov eax, dword [rsp + 0x44]
add eax, 0x6d0
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x64], 0x1be5
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], 0x1181
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x44]
sub eax, 0xe34
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x60]
sub eax, 0x4e5
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x48]
sub eax, 0x52c
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x4c]
add eax, 0x24e2
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x58]
add eax, 0x1c11
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x44]
sub eax, 0x1d58
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x54]
sub eax, 0x1ef4
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x58]
add eax, 0x19a6
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x50]
add eax, 0x1a72
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x44]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x48]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
test eax, eax
je 0x18000812e
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
jmp 0x180008110
mov eax, dword [rsp + 0x44]
sub eax, 0x211e
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x50]
sub eax, 0x53b
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x70], 0
jmp 0x18000815c
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0x44
jge 0x180008170
mov eax, dword [rsp + 0x5c]
sub eax, 8
mov dword [rsp + 0x5c], eax
jmp 0x180008152
mov eax, dword [rsp + 0x4c]
add eax, 0x19f3
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x48]
add eax, 0xe19
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x11d6
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x48]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
test eax, eax
je 0x1800081b5
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
jmp 0x180008197
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x24a5
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x50]
add eax, 0xa19
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x74], 0
jmp 0x180008213
mov eax, dword [rsp + 0x74]
inc eax
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0xd
jge 0x180008227
mov eax, dword [rsp + 0x40]
sub eax, 6
mov dword [rsp + 0x40], eax
jmp 0x180008209
mov eax, dword [rsp + 0x40]
add eax, 0x2272
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xfe4
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x54]
sub eax, 0x70d
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x40]
sub eax, 0xa17
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x48]
sub eax, 0x1b52
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x5c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x50]
sub eax, 0x240a
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x71d
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x48]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
test eax, eax
je 0x180008300
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
jmp 0x1800082e2
mov eax, dword [rsp + 0x48]
sub eax, 0x20f2
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
sub eax, 0x7a6
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x44]
sub eax, 0x1ffb
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x78], 0
jmp 0x18000834b
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x78], 0x34
jge 0x18000835f
mov eax, dword [rsp + 0x40]
add eax, 7
mov dword [rsp + 0x40], eax
jmp 0x180008341
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x70c
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x1df4
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x64]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
je 0x1800083d5
mov eax, dword [rsp + 0x64]
inc eax
mov dword [rsp + 0x64], eax
jmp 0x1800083b9
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x50]
sub eax, 0x5b2
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
sub eax, 0x1bc7
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x58]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x4c]
add eax, 0x209
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x16e4
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x60]
sub eax, 0x1cc8
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x44]
add eax, 0x22ad
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x50]
sub eax, 0x1a29
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x4c]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
test eax, eax
je 0x1800084d6
cmp dword [rsp + 0x4c], 0
jle 0x1800084d6
mov eax, dword [rsp + 0x4c]
add eax, 0x250f
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x58]
add eax, 0xe9f
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
je 0x1800084ff
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
jmp 0x1800084e3
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x4c]
sub eax, 0xd8c
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x54]
add eax, 0x1082
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x54]
add eax, 0x22ef
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x19f3
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x58]
add eax, 0x1d4f
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x18cd
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x22c3
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x54]
sub eax, 0xd02
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x40]
add eax, 0x1b47
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x75f
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x4c]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
test eax, eax
je 0x180008661
mov eax, dword [rsp + 0x4c]
add eax, 0x366
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x60]
sub eax, 0x8db
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
test eax, eax
je 0x1800086cc
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
jmp 0x1800086ae
mov eax, dword [rsp + 0x40]
sub eax, 0x1e9f
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x54]
add eax, 0x48e
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x44]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
je 0x180008732
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
jmp 0x180008716
mov eax, dword [rsp + 0x60]
sub eax, 0xa73
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x44]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
test eax, eax
je 0x18000875e
mov eax, dword [rsp + 0x44]
sub eax, 0x217a
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x4c]
sub eax, 0x119b
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x58]
sub eax, 0x37b
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x15a7
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x48]
sub eax, 0xd72
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x60]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
test eax, eax
je 0x1800087f0
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
jmp 0x1800087d2
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x5c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x60]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
test eax, eax
je 0x180008820
mov eax, dword [rsp + 0x60]
add eax, 0x2653
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x54]
add eax, 0x1f71
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x44]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
test eax, eax
je 0x180008874
cmp dword [rsp + 0x44], 0
jle 0x180008874
mov eax, dword [rsp + 0x44]
sub eax, 0x18fe
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x54]
sub eax, 0x923
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x2524
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x60]
add eax, 0x644
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x1f3b
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x58]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x936
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x48]
sub eax, 0x476
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x4c]
sub eax, 0x1a88
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x44]
add eax, 0x13df
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x7c], 0
jmp 0x180008970
mov eax, dword [rsp + 0x7c]
inc eax
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0x31
jge 0x180008984
mov eax, dword [rsp + 0x40]
sub eax, 4
mov dword [rsp + 0x40], eax
jmp 0x180008966
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x58]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x54]
add eax, 0x1a
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x48]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
test eax, eax
je 0x180008a18
cmp dword [rsp + 0x48], 0
jle 0x180008a18
mov eax, dword [rsp + 0x48]
add eax, 0xc73
mov dword [rsp + 0x48], eax
jmp 0x180008a25
mov eax, dword [rsp + 0x48]
sub eax, 0xc73
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
add rsp, 0x98
ret