Function at 0x10014c30
Capabilities:
Accept command line arguments
Check for unexpected memory writes
Connect pipe
Create pipe
Delete file
Get disk information
Get file size
Get system firmware table
Read pipe
Set uefi variable
Write pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov dword [ebp - 0x88], 0x3745e8c0
push 0x1b9
push 0x10014a10
lea eax, [ebp - 0x90]
push eax
call fcn.1001ad10
add esp, 0xc
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.1001ad30
add esp, 8
cmp dword [ebp + 0xc], 1
jne 0x10015c84
movzx eax, byte [0x100fa9dc]
test eax, eax
jne 0x10015c84
mov ecx, dword [0x1009baf0]
xor edx, edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x7c], 0xade7c119
jne 0x10014e12
cmp dword [ebp - 0x78], 0
jne 0x10014e12
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetWriteWatch]
push 0
call dword [sym.imp.KERNEL32.dll_LocalLock]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumSystemLanguageGroupsW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_RtlCaptureStackBackTrace]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenFileById]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessIoCounters]
push 0
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
call dword [sym.imp.KERNEL32.dll_DebugActiveProcessStop]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_UpdateResourceW]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
push 0
call dword [sym.imp.KERNEL32.dll_FatalExit]
call fcn.10003310
movzx eax, al
test eax, eax
jne 0x10014e46
push 0x229
push 0x10011500
lea ecx, [ebp - 0x98]
push ecx
call fcn.1001ad10
add esp, 0xc
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
call fcn.1001ad30
add esp, 8
cmp dword [0x1009baf0], 0x274356cc
jne 0x10014fae
push 0
call dword [sym.imp.KERNEL32.dll_GetFirmwareType]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MapUserPhysicalPagesScatter]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CloseThreadpoolCleanupGroupMembers]
push 0
call dword [sym.imp.KERNEL32.dll_GetTapeStatus]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileTransactedW]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
xor ecx, ecx
xor edx, edx
xchg dword [edx], ecx
push 0
call dword [sym.imp.KERNEL32.dll_SetComputerNameW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_DnsHostnameToComputerNameW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
push 0
call dword [sym.imp.KERNEL32.dll_WakeConditionVariable]
push 0
call dword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetProcessAffinityUpdateMode]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MapUserPhysicalPagesScatter]
push 0
call dword [sym.imp.KERNEL32.dll_QueryUnbiasedInterruptTime]
push 0
call dword [sym.imp.KERNEL32.dll_GetNumberOfConsoleMouseButtons]
push 0
call dword [sym.imp.KERNEL32.dll_CancelThreadpoolIo]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsW]
push 0
call dword [sym.imp.KERNEL32.dll_CreateThreadpool]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCommMask]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenWaitableTimerW]
call dword [sym.imp.KERNEL32.dll_CreateTimerQueue]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetProcessPriorityBoost]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadGroupAffinity]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerW]
push str.HqFr6D375v6K1gk5
push 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
push 0
push str.CTmjZ39q4YP8KomQ34Y
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDurationFormat]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FreeLibraryWhenCallbackReturns]
push 0
call dword [sym.imp.KERNEL32.dll_StartThreadpoolIo]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
call dword [sym.imp.KERNEL32.dll_RemoveVectoredExceptionHandler]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
push 0x1b7
push fcn.10003310
lea eax, [ebp - 0xa0]
push eax
call fcn.1001ad10
add esp, 0xc
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.1001b8a0
add esp, 8
mov eax, dword [0x1009baf0]
xor ecx, ecx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0x84], 0xf019f976
jne 0x100150fa
cmp dword [ebp - 0x80], 0
jne 0x100150fa
call dword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PeekConsoleInputW]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CallNamedPipeW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemFirmwareTable]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
push 0
call dword [sym.imp.KERNEL32.dll_Wow64EnableWow64FsRedirection]
push 0
call dword [sym.imp.KERNEL32.dll_Wow64EnableWow64FsRedirection]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteSynchronizationBarrier]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileTransactedW]
push 0
push 0
push str.f5ur87J81aw22rD2Y
call dword [sym.imp.KERNEL32.dll_OpenFile]
push 0
push 0
push str.ZP4nqxwHX5vQjpQ6QEA
call dword [sym.imp.KERNEL32.dll_ResolveLocaleName]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SleepConditionVariableSRW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
call dword [sym.imp.KERNEL32.dll_CreateTimerQueue]
push 0
call dword [sym.imp.KERNEL32.dll_AddAtomW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCriticalSectionSpinCount]
push 0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteAtom]
push 0
push 0
push 0
push str.zNaKxg7JkcxQruf5kNdkWk
push 0
push str.rBOMq4IPH6xqhvW
call dword [sym.imp.KERNEL32.dll_GetCurrencyFormatEx]
mov byte [0x100fa9dc], 1
mov dword [ebp - 0x2c], 0x2274
mov dword [ebp - 0x28], 0x22a
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 8], 0x1783
mov dword [ebp - 0x3c], 0x1c1c
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x1c], 0x12da
mov dword [ebp - 0x14], 0x1333
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0xc]
add edx, 0x13cc
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x34], 0x230e
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x10]
sub eax, 0x25a0
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x20], 0x1c58
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x2c]
sub eax, 0x11b5
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x7ef
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 8]
sub edx, 0x24a4
mov dword [ebp - 8], edx
mov dword [ebp - 0x38], 0x1c2d
mov eax, dword [ebp - 0x18]
add eax, 0x77b
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100151fa
cmp dword [ebp - 0xc], 0
jle 0x100151fa
mov edx, dword [ebp - 0xc]
sub edx, 0x2307
mov dword [ebp - 0xc], edx
jmp 0x10015205
mov eax, dword [ebp - 0xc]
add eax, 0x2307
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x364
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], 0x9e2
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x30c
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x20]
sub edx, 0x15c1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x38]
add eax, 0x230b
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x1256
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x1097
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100152ac
cmp dword [ebp - 0x3c], 0
jle 0x100152ac
mov edx, dword [ebp - 0x3c]
sub edx, 0x1dc2
mov dword [ebp - 0x3c], edx
jmp 0x100152b7
mov eax, dword [ebp - 0x3c]
add eax, 0x1dc2
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x8f7
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x24]
add edx, 0xa8d
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
add eax, 0x458
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x1cc7
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x28]
sub edx, 0xf38
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x10]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x1001534b
cmp dword [ebp - 0x10], 0
jle 0x1001534b
mov edx, dword [ebp - 0x10]
add edx, 0x17dd
mov dword [ebp - 0x10], edx
jmp 0x10015356
mov eax, dword [ebp - 0x10]
sub eax, 0x17dd
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x19e4
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2c]
sub edx, 0xe51
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x18e3
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x1af0
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x20]
add edx, 0x1ed4
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x13b9
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x13d5
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x1d4e
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
add edx, 0x24b0
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x20]
sub eax, 0xb50
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 8]
add ecx, 0x2557
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x235c
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
add eax, 0x18c5
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x20]
sub eax, 0xbd5
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 8]
add ecx, 0x74c
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x10]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x566
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
add edx, 0x2412
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x20]
add eax, 0x125f
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x2446
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x34]
add edx, 0x21b9
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100154e1
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
jmp 0x100154c7
mov eax, dword [ebp - 0xc]
sub eax, 0x8d8
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x156d
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x24]
add eax, 0x1598
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x34]
sub ecx, 0x190
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, 0x1ebe
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 8]
add eax, 0x917
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x26fb
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10]
sub eax, 0x24a
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x2c]
add ecx, 0x270f
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x1659
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x92a
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x24]
add edx, 0x1e34
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x16d5
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x20]
add edx, 0xb01
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100155de
mov edx, dword [ebp - 0x3c]
sub edx, 0x1ea0
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x30]
add eax, 0x13fb
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x26d2
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x5f
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
sub edx, 0x2135
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1c]
add eax, 0xd39
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x1001564a
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
jmp 0x10015630
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, 0x194
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 8]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x145e
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x115d
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x10dc
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x44], 0
jmp 0x100156ca
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 0x60
jge 0x100156db
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
jmp 0x100156c1
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x48], 0
jmp 0x100156f6
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0x47
jge 0x10015707
mov eax, dword [ebp - 8]
add eax, 7
mov dword [ebp - 8], eax
jmp 0x100156ed
mov ecx, dword [ebp - 8]
sub ecx, 0x1a13
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
and edx, 0x80000001
jns 0x10015723
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x10015732
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
jmp 0x10015713
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
add edx, 0x1395
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, 0x1832
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x117a
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x4c], 0
jmp 0x10015770
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0x4b
jge 0x10015781
mov eax, dword [ebp - 0x30]
add eax, 6
mov dword [ebp - 0x30], eax
jmp 0x10015767
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x50], 0
jmp 0x100157a5
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x44
jge 0x100157b6
mov ecx, dword [ebp - 0x34]
sub ecx, 3
mov dword [ebp - 0x34], ecx
jmp 0x1001579c
mov edx, dword [ebp - 0x28]
sub edx, 0x17b6
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x54], 0
jmp 0x100157dd
mov ecx, dword [ebp - 0x54]
add ecx, 1
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0x16
jge 0x100157ee
mov edx, dword [ebp - 0x20]
sub edx, 3
mov dword [ebp - 0x20], edx
jmp 0x100157d4
mov eax, dword [ebp - 0x2c]
sub eax, 0x12fb
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xc]
and ecx, 0x80000003
jns 0x10015809
dec ecx
or ecx, 0xfffffffc
inc ecx
test ecx, ecx
je 0x1001581b
mov edx, dword [ebp - 0xc]
sub edx, 0x1707
mov dword [ebp - 0xc], edx
jmp 0x10015826
mov eax, dword [ebp - 0xc]
add eax, 0x1707
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0xf2a
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x58], 0
jmp 0x1001585f
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [ebp - 0x58], edx
cmp dword [ebp - 0x58], 0x46
jge 0x10015870
mov eax, dword [ebp - 0x24]
sub eax, 8
mov dword [ebp - 0x24], eax
jmp 0x10015856
mov ecx, dword [ebp - 0x28]
sub ecx, 0xdd
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x19
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100158c3
cmp dword [ebp - 0xc], 0
jle 0x100158c3
mov edx, dword [ebp - 0xc]
add edx, 0xee6
mov dword [ebp - 0xc], edx
jmp 0x100158ce
mov eax, dword [ebp - 0xc]
sub eax, 0xee6
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x2c]
sub edx, 0x1363
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x20]
add eax, 0x4ca
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x1ffb
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x5c], 0
jmp 0x1001590c
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0x16
jge 0x1001591d
mov eax, dword [ebp - 0x18]
sub eax, 9
mov dword [ebp - 0x18], eax
jmp 0x10015903
mov ecx, dword [ebp - 0x20]
add ecx, 0xe46
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x2614
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x1a2c
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x2c]
sub eax, 0x2525
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x1001599c
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x10015982
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0xd38
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x592
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x20]
add eax, 0x1247
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 8]
add ecx, 0x62f
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x34]
add edx, 0x1ee1
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10015a72
mov edx, dword [ebp - 0x24]
sub edx, 0x20e5
mov dword [ebp - 0x24], edx
jmp 0x10015a7d
mov eax, dword [ebp - 0x24]
add eax, 0x20e5
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x24]
sub edx, 0x1467
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 8]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10015ac1
mov edx, dword [ebp - 8]
sub edx, 0x122f
mov dword [ebp - 8], edx
jmp 0x10015acc
mov eax, dword [ebp - 8]
add eax, 0x122f
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x34]
sub ecx, 0x1026
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
mov dword [ebp - 0x60], 0
jmp 0x10015b29
mov eax, dword [ebp - 0x60]
add eax, 1
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x62
jge 0x10015b3a
mov ecx, dword [ebp - 0x24]
sub ecx, 6
mov dword [ebp - 0x24], ecx
jmp 0x10015b20
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x20]
sub edx, 0x9a8
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x1ad6
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x38]
and edx, 0x80000001
jns 0x10015ba1
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x10015bb0
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x10015b91
mov ecx, dword [ebp - 0x30]
sub ecx, 0x50d
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10015bd6
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
jmp 0x10015bbc
mov eax, dword [ebp - 0x1c]
sub eax, 0xed5
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0xc]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
add eax, 0x378
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x64], 0
jmp 0x10015c19
mov edx, dword [ebp - 0x64]
add edx, 1
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x64], 0x40
jge 0x10015c2a
mov eax, dword [ebp - 0x3c]
sub eax, 4
mov dword [ebp - 0x3c], eax
jmp 0x10015c10
mov ecx, dword [ebp - 0x14]
add ecx, 0x697
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x34]
add eax, 0x1639
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0x38]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
push 0x259
push 0x10011f90
lea eax, [ebp - 0xa8]
push eax
call fcn.1001ad10
add esp, 0xc
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.1001ad30
add esp, 8
mov dword [ebp - 4], 0x2314
mov dword [ebp - 0x40], 0x18aa
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov dword [ebp - 0x68], 0
jmp 0x10015cad
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x68], 0x35
jge 0x10015cbe
mov edx, dword [ebp - 0x40]
add edx, 5
mov dword [ebp - 0x40], edx
jmp 0x10015ca4
mov eax, dword [ebp - 4]
add eax, 0x24b7
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
and ecx, 0x80000001
jns 0x10015cd9
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x10015cef
cmp dword [ebp - 4], 0
jle 0x10015cef
mov edx, dword [ebp - 4]
sub edx, 0x1fb1
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, 0x12ab
mov dword [ebp - 4], eax
mov dword [ebp - 0x6c], 0
jmp 0x10015d0c
mov ecx, dword [ebp - 0x6c]
add ecx, 1
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x6c], 0x11
jge 0x10015d1d
mov edx, dword [ebp - 0x40]
add edx, 5
mov dword [ebp - 0x40], edx
jmp 0x10015d03
mov eax, dword [ebp - 4]
add eax, 0x18d
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0xd7a
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, 0xfcb
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x196f
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x1a29
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x1fab
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, 0x2b0
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0xde4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0x40]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, 0x139b
mov dword [ebp - 4], edx
mov dword [ebp - 0x70], 0
jmp 0x10015dcf
mov eax, dword [ebp - 0x70]
add eax, 1
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0x5c
jge 0x10015de0
mov ecx, dword [ebp - 4]
sub ecx, 4
mov dword [ebp - 4], ecx
jmp 0x10015dc6
mov edx, dword [ebp - 4]
sub edx, 0xc38
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x22e6
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1fa6
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, 0x21c7
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, 0x4e3
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0xe50
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x1fa
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, 0x1f7d
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x74], 0
jmp 0x10015e74
mov edx, dword [ebp - 0x74]
add edx, 1
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x74], 0x4e
jge 0x10015e85
mov eax, dword [ebp - 4]
sub eax, 2
mov dword [ebp - 4], eax
jmp 0x10015e6b
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, 0x20cc
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0xdab
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x1eee
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10015ed7
mov edx, dword [ebp - 0x40]
add edx, 0x1821
mov dword [ebp - 0x40], edx
jmp 0x10015ee2
mov eax, dword [ebp - 0x40]
sub eax, 0x1821
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x4e8
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x1446
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x2461
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, 0x1949
mov dword [ebp - 4], edx
mov eax, 1
mov esp, ebp
pop ebp
ret 0xc