Function at 0x100079c0
Capabilities:
Create directory
Read .ini file
Set file attributes
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 0x44], ecx
movsx eax, byte [ebp + 8]
cmp eax, 0x41
jl 0x100079e7
movsx ecx, byte [ebp + 8]
cmp ecx, 0x5a
jg 0x100079e7
movsx eax, byte [ebp + 8]
sub eax, 0x41
jmp 0x100086ff
cmp dword [0x10065b44], 0x449f77af
jne 0x10007ba1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetProcessAffinityUpdateMode]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalHandle]
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformationForYear]
push 0
call dword [sym.imp.KERNEL32.dll_GetNumberOfConsoleMouseButtons]
xor edx, edx
xor eax, eax
lock xadd dword [eax], edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetTextExtentExPointW]
push 0
push 0
call dword [sym.imp.GDI32.dll_GetViewportOrgEx]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_BackupRead]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push 0
call dword [sym.imp.GDI32.dll_GetArcDirection]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetUserPreferredUILanguages]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_MoveToEx]
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryTransactedW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetThreadpoolWaitEx]
xor ecx, ecx
xor edx, edx
lock xadd dword [edx], ecx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetInformationJobObject]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetThreadGroupAffinity]
push 0
call dword [sym.imp.KERNEL32.dll_ApplicationRecoveryInProgress]
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_AddFontResourceExW]
push 0
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadDescription]
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_PlayEnhMetaFileRecord]
push 0
call dword [sym.imp.KERNEL32.dll_InitOnceInitialize]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumUILanguagesW]
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleHistoryInfo]
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetOutlineTextMetricsW]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
push 0
call dword [sym.imp.GDI32.dll_GetStretchBltMode]
push 0
call dword [sym.imp.KERNEL32.dll_DebugActiveProcessStop]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenJobObjectW]
movsx eax, byte [ebp + 8]
cmp eax, 0x61
jl 0x10007bbf
movsx ecx, byte [ebp + 8]
cmp ecx, 0x7a
jg 0x10007bbf
movsx eax, byte [ebp + 8]
sub eax, 0x47
jmp 0x100086ff
movsx edx, byte [ebp + 8]
cmp edx, 0x30
jl 0x10007bdd
movsx eax, byte [ebp + 8]
cmp eax, 0x39
jg 0x10007bdd
movsx eax, byte [ebp + 8]
add eax, 4
jmp 0x100086ff
mov dword [ebp - 8], 0xb79
mov dword [ebp - 4], 0x1dfb
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 0x1348
mov edx, dword [ebp - 4]
add edx, 0x193c
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x236d
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], 0
mov ecx, dword [ebp - 8]
sub ecx, 0xcc4
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0x1996
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x1061
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 4]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
sub eax, 0xa7
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0xc5e
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 4]
add edx, 0x2222
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, 0xe20
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x16c3
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 4]
sub edx, 0xdb4
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x764
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 4]
sub edx, 0x2649
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x10fb
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
and edx, 0x80000001
jns 0x10007d41
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x10007d52
mov eax, dword [ebp - 8]
add eax, 0x596
mov dword [ebp - 8], eax
jmp 0x10007d5e
mov ecx, dword [ebp - 8]
sub ecx, 0x596
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x20]
and eax, 0x80000001
jns 0x10007d76
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x10007d85
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
jmp 0x10007d67
mov edx, dword [ebp - 8]
add edx, 0xd94
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10007dab
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
jmp 0x10007d91
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x121f
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
add edx, 0x11ea
mov dword [ebp - 4], edx
mov dword [ebp - 0x28], 0
jmp 0x10007dde
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x21
jge 0x10007def
mov ecx, dword [ebp - 4]
sub ecx, 2
mov dword [ebp - 4], ecx
jmp 0x10007dd5
mov edx, dword [ebp - 0x18]
add edx, 0x83f
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x2c], 0
jmp 0x10007e0d
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x3a
jge 0x10007e1e
mov ecx, dword [ebp - 4]
sub ecx, 7
mov dword [ebp - 4], ecx
jmp 0x10007e04
mov edx, dword [ebp - 8]
sub edx, 0x4f9
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x1dad
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, 0x26b
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0xefc
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0xbf
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x2435
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1d1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x245d
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x25b0
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
sub eax, 0xc88
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1da4
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 0x433
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x30], 0
jmp 0x10007ee9
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x20
jge 0x10007efa
mov edx, dword [ebp - 0xc]
add edx, 8
mov dword [ebp - 0xc], edx
jmp 0x10007ee0
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10007f1e
mov edx, dword [ebp - 4]
sub edx, 0x6db
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x253f
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x14b8
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0xb10
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x14f7
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x34], 0
jmp 0x10007f71
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x17
jge 0x10007f82
mov ecx, dword [ebp - 0x1c]
sub ecx, 8
mov dword [ebp - 0x1c], ecx
jmp 0x10007f68
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
add ecx, 0x14fd
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
sub eax, 0x12e5
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x136b
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
add ecx, 0x8b3
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x12a1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
sub eax, 0xc9a
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
add ecx, 0xd5c
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x13fe
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x23f6
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0x826
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
sub eax, 0xa9f
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0xb7
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
and edx, 0x80000003
jns 0x1000806e
dec edx
or edx, 0xfffffffc
inc edx
test edx, edx
je 0x1000807f
mov eax, dword [ebp - 8]
sub eax, 0x13f8
mov dword [ebp - 8], eax
jmp 0x1000808b
mov ecx, dword [ebp - 8]
add ecx, 0x13f8
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x1835
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
and eax, 0x80000001
jns 0x100080a6
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x100080b5
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x10008097
mov edx, dword [ebp - 0x1c]
sub edx, 0x50e
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 4]
and eax, 0x80000001
jns 0x100080d0
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x100080e6
cmp dword [ebp - 4], 0
jle 0x100080e6
mov ecx, dword [ebp - 4]
sub ecx, 0x320
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1d11
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x1000811e
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x10008104
mov eax, dword [ebp - 0x1c]
sub eax, 0x1004
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0xc]
add eax, 0xe2e
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1dca
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
sub eax, 0x1273
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x10]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x1ac4
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, 0x22e1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 4]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
add eax, 0xa43
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x1000820e
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x100081f4
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x10d8
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x2b6
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
add edx, 0x12
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x38], 0
jmp 0x1000826e
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0x18
jge 0x1000827f
mov eax, dword [ebp - 4]
add eax, 7
mov dword [ebp - 4], eax
jmp 0x10008265
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 4]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100082ab
cmp dword [ebp - 4], 0
jle 0x100082ab
mov edx, dword [ebp - 4]
add edx, 0x16e3
mov dword [ebp - 4], edx
jmp 0x100082b6
mov eax, dword [ebp - 4]
sub eax, 0x16e3
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x1fe2
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x9d8
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
and eax, 0x80000001
jns 0x100082f8
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x10008307
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x100082e9
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x69b
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x1284
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x1ad2
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 4]
sub eax, 0x113c
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x1e87
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
add edx, 0xf
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
sub eax, 0x500
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0xcf8
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x3c], 0
jmp 0x10008398
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 0x14
jge 0x100083a9
mov eax, dword [ebp - 4]
sub eax, 2
mov dword [ebp - 4], eax
jmp 0x1000838f
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
add edx, 0x1999
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 4]
add eax, 0x21e
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x20]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
sub edx, 0x360
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
sub eax, 0x22aa
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x10]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x17c3
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x383
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x208b
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
sub edx, 0xbe1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x2d6
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 4]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x10]
sub eax, 0x577
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x1f51
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
add edx, 0x8aa
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
add eax, 0x1c09
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0xa4b
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x261c
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, 0x23a5
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x16f8
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x2fb
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x19ab
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 8]
add edx, 0x218d
mov dword [ebp - 8], edx
movsx eax, byte [ebp + 8]
cmp eax, 0x2b
jne 0x1000855f
mov al, 0x3e
jmp 0x100086ff
mov dword [ebp - 0x14], 0xf1f
mov ecx, dword [ebp - 0x14]
sub ecx, 0xfb7
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x40], 0
jmp 0x10008594
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x25
jge 0x100085a5
mov ecx, dword [ebp - 0x24]
sub ecx, 2
mov dword [ebp - 0x24], ecx
jmp 0x1000858b
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0xa52
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
sub eax, 0x23ad
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x1573
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, 0xd15
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10008611
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
jmp 0x100085f7
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1034
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
add edx, 0x2389
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
sub eax, 0x1538
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0x80000001
jns 0x1000864d
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x1000865c
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
jmp 0x1000863d
mov eax, dword [ebp - 0x14]
add eax, 0x8e
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x186
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0xd36
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, 0x12a0
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0xc5e
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
and edx, 0x80000003
jns 0x100086c1
dec edx
or edx, 0xfffffffc
inc edx
test edx, edx
je 0x100086d2
mov eax, dword [ebp - 0x14]
sub eax, 0x1e38
mov dword [ebp - 0x14], eax
jmp 0x100086de
mov ecx, dword [ebp - 0x14]
add ecx, 0x1e38
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
movsx ecx, byte [ebp + 8]
cmp ecx, 0x2f
jne 0x100086fd
mov al, 0x3f
jmp 0x100086ff
xor al, al
mov esp, ebp
pop ebp
ret 4