Function at 0x10007a40
Capabilities:
Create thread
Get common file path
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov dword [ebp - 0x68], ecx
movsx eax, byte [ebp + 8]
cmp eax, 0x41
jl 0x10007a67
movsx ecx, byte [ebp + 8]
cmp ecx, 0x5a
jg 0x10007a67
movsx eax, byte [ebp + 8]
sub eax, 0x41
jmp 0x10008791
cmp dword [0x10066b44], 0x63fd445f
jne 0x10007c79
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNumaAvailableMemoryNode]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], edx
push 0
mov eax, dword [ebp - 0x5c]
push eax
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ReadConsoleOutputCharacterW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasW]
call dword [sym.imp.KERNEL32.dll_FlushProcessWriteBuffers]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetPath]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNamedPipeClientComputerNameW]
push 0
call dword [sym.imp.KERNEL32.dll_GetLargestConsoleWindowSize]
mov dword [ebp - 0x70], eax
push 0
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
push 0
call dword [sym.imp.GDI32.dll_GetGraphicsMode]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_ExtTextOutW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThreadpoolTimer]
call dword [sym.imp.KERNEL32.dll_CreateTimerQueue]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_SetPixelV]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_ArcTo]
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetBoundsRect]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OfferVirtualMemory]
push 0
call dword [sym.imp.GDI32.dll_RealizePalette]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push 0
push 0
push 0x100c51b0
push 0
push 0x100c51e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNLSString]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x60], ecx
push 0
mov edx, dword [ebp - 0x60]
push edx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputAttribute]
push 0
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_BackupWrite]
push 0
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSizeEx]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetCharWidthFloatW]
push 0
call dword [sym.imp.KERNEL32.dll_LocalSize]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push 0
call dword [sym.imp.GDI32.dll_CloseMetaFile]
push 0
push 0x100c5208
push 0
call dword [sym.imp.KERNEL32.dll_GetNLSVersionEx]
push 0
call dword [sym.imp.KERNEL32.dll_CloseThreadpoolIo]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
movsx eax, byte [ebp + 8]
cmp eax, 0x61
jl 0x10007c97
movsx ecx, byte [ebp + 8]
cmp ecx, 0x7a
jg 0x10007c97
movsx eax, byte [ebp + 8]
sub eax, 0x47
jmp 0x10008791
movsx edx, byte [ebp + 8]
cmp edx, 0x30
jl 0x10007cb5
movsx eax, byte [ebp + 8]
cmp eax, 0x39
jg 0x10007cb5
movsx eax, byte [ebp + 8]
add eax, 4
jmp 0x10008791
mov dword [ebp - 0x18], 0x24cd
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x34], 0x124f
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 0x1c77
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x24], 0x1191
mov dword [ebp - 0x1c], 0x2dd
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x1024
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
add eax, 0x259a
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x13eb
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x1c]
add edx, 0x928
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x38], 0
jmp 0x10007d64
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0x5c
jge 0x10007d75
mov eax, dword [ebp - 0x1c]
add eax, 9
mov dword [ebp - 0x1c], eax
jmp 0x10007d5b
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x28]
sub edx, 0x25a0
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x3c], 0
jmp 0x10007d9c
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x30
jge 0x10007dad
mov ecx, dword [ebp - 0x1c]
sub ecx, 5
mov dword [ebp - 0x1c], ecx
jmp 0x10007d93
mov edx, dword [ebp - 0x24]
sub edx, 0x1fdb
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
and ecx, 0x80000001
jns 0x10007dd2
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x10007de4
mov edx, dword [ebp - 0x18]
add edx, 0x1d49
mov dword [ebp - 0x18], edx
jmp 0x10007def
mov eax, dword [ebp - 0x18]
sub eax, 0x1d49
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x28]
sub edx, 0x3cd
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10007e28
mov edx, dword [ebp - 0x1c]
sub edx, 0x3c0
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x18]
and ecx, 0x80000001
jns 0x10007e41
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x10007e53
mov edx, dword [ebp - 0x18]
sub edx, 0x8be
mov dword [ebp - 0x18], edx
jmp 0x10007e5e
mov eax, dword [ebp - 0x18]
add eax, 0x8be
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0xe6a
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x1508
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x10dc
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x24]
add edx, 0x1479
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x1c]
sub eax, 0x1e5d
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x17d6
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x724
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0x20b1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x64]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x40], 0
jmp 0x10007ee8
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x11
jge 0x10007ef9
mov ecx, dword [ebp - 0x18]
add ecx, 7
mov dword [ebp - 0x18], ecx
jmp 0x10007edf
mov edx, dword [ebp - 0x24]
add edx, 0x1a50
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
sub ecx, 0x6cd
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x28]
add edx, 0x17fa
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
movsx ecx, byte [ebp + 8]
cmp ecx, 0x2b
jne 0x10007f3f
mov al, 0x3e
jmp 0x10008791
mov dword [ebp - 0x14], 0x6b1
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0xb9c
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], 0
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 4], 0x105c
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x1d17
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
add eax, 0x167d
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
sub ecx, 0xea3
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x14]
add edx, 0xb8b
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x6c3
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x11ce
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 8]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
sub eax, 0x14d9
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
sub eax, 0x1df5
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x11a7
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, 0x194b
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
sub eax, 0x20ed
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x949
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10008059
mov edx, dword [ebp - 0x10]
add edx, 0x125f
mov dword [ebp - 0x10], edx
jmp 0x10008064
mov eax, dword [ebp - 0x10]
sub eax, 0x125f
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x546
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x14]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
add eax, 0x26b0
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
and ecx, 0x80000001
jns 0x100080af
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x100080be
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x1000809f
mov eax, dword [ebp - 0xc]
add eax, 0x1d6b
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
add edx, 0x1685
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
sub ecx, 0xdba
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
sub eax, 0x6e9
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
add eax, 0x2087
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
sub edx, 0x504
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x97c
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x21f6
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x14]
sub eax, 0xd82
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x1085
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x44], 0
jmp 0x100081b9
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 0x56
jge 0x100081ca
mov eax, dword [ebp - 0x14]
sub eax, 2
mov dword [ebp - 0x14], eax
jmp 0x100081b0
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0x10]
mov dword [ebp - 4], edx
mov dword [ebp - 0x48], 0
jmp 0x100081ee
mov eax, dword [ebp - 0x48]
add eax, 1
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x22
jge 0x100081ff
mov ecx, dword [ebp - 4]
sub ecx, 2
mov dword [ebp - 4], ecx
jmp 0x100081e5
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
and eax, 0x80000001
jns 0x10008217
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x1000822d
cmp dword [ebp - 8], 0
jle 0x1000822d
mov ecx, dword [ebp - 8]
sub ecx, 0x26e9
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
sub edx, 0xd0a
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x14]
add edx, 0xae7
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
add eax, 0x125c
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x1c93
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x10]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100082a3
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
jmp 0x10008289
mov eax, dword [ebp - 0x14]
sub eax, 0xc88
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x501
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
and edx, 0x80000003
jns 0x100082ca
dec edx
or edx, 0xfffffffc
inc edx
test edx, edx
je 0x100082d9
mov eax, dword [ebp - 0x14]
add eax, 0x1752
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
and ecx, 0x80000003
jns 0x10008304
dec ecx
or ecx, 0xfffffffc
inc ecx
test ecx, ecx
je 0x1000831c
cmp dword [ebp - 4], 0
jle 0x1000831c
mov edx, dword [ebp - 4]
sub edx, 0xcf1
mov dword [ebp - 4], edx
jmp 0x10008327
mov eax, dword [ebp - 4]
add eax, 0xcf1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x292
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0xcfe
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
add ecx, 0x214a
mov dword [ebp - 8], ecx
mov dword [ebp - 0x4c], 0
jmp 0x10008366
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0x12
jge 0x10008377
mov eax, dword [ebp - 0x14]
sub eax, 5
mov dword [ebp - 0x14], eax
jmp 0x1000835d
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
add eax, 0x1ae5
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x26d3
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0x1dba
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
add eax, 0x136e
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
add edx, 0x1ce7
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 8]
add eax, 0x64f
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x1a89
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
add edx, 0x291
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
sub eax, 0x2481
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x50], 0
jmp 0x10008415
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 0x5c
jge 0x10008426
mov eax, dword [ebp - 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x1000840c
mov ecx, dword [ebp - 0xc]
add ecx, 0x1d84
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x14fe
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x1000845b
mov edx, dword [ebp - 0x10]
sub edx, 0x24c7
mov dword [ebp - 0x10], edx
jmp 0x10008466
mov eax, dword [ebp - 0x10]
add eax, 0x24c7
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x72a
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
add eax, 0xb46
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, 0x621
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
add edx, 0x37b
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
add eax, 0x1377
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
add ecx, 0x1f50
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
and edx, 0x80000003
jns 0x100084e0
dec edx
or edx, 0xfffffffc
inc edx
test edx, edx
je 0x100084f5
cmp dword [ebp - 0xc], 0
jle 0x100084f5
mov eax, dword [ebp - 0xc]
add eax, 0x1180
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
add ecx, 0x2581
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x54], 0
jmp 0x10008525
mov ecx, dword [ebp - 0x54]
add ecx, 1
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0x63
jge 0x10008536
mov edx, dword [ebp - 4]
sub edx, 3
mov dword [ebp - 4], edx
jmp 0x1000851c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x18c8
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x793
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
sub edx, 0x2025
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0x1405
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x100085a2
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x100085ba
cmp dword [ebp - 4], 0
jle 0x100085ba
mov ecx, dword [ebp - 4]
sub ecx, 0xa3d
mov dword [ebp - 4], ecx
jmp 0x100085c6
mov edx, dword [ebp - 4]
add edx, 0xa3d
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x14]
add eax, 0xcf4
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
add edx, 0x15ff
mov dword [ebp - 8], edx
mov dword [ebp - 0x58], 0
jmp 0x100085f8
mov eax, dword [ebp - 0x58]
add eax, 1
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x18
jge 0x10008609
mov ecx, dword [ebp - 0xc]
add ecx, 9
mov dword [ebp - 0xc], ecx
jmp 0x100085ef
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
and eax, 0x80000001
jns 0x10008621
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x10008633
mov ecx, dword [ebp - 0xc]
add ecx, 0x6f4
mov dword [ebp - 0xc], ecx
jmp 0x1000863f
mov edx, dword [ebp - 0xc]
sub edx, 0x6f4
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 0x341
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0x1aad
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
add ecx, 0x231e
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x14]
add edx, 0x838
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc]
sub eax, 0xa95
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1b
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
and edx, 0x80000001
jns 0x100086a4
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x100086b3
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
jmp 0x10008694
mov ecx, dword [ebp - 0x10]
add ecx, 0x20ef
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
sub edx, 0x24c3
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, 0xa75
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x10a
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 8]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x12b0
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
sub edx, 0x6c1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
sub eax, 0x777
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x13c9
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x1f41
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0xc20
mov dword [ebp - 0x14], edx
movsx eax, byte [ebp + 8]
cmp eax, 0x2f
jne 0x1000878f
mov al, 0x3f
jmp 0x10008791
xor al, al
mov esp, ebp
pop ebp
ret 4