Function at 0x404670
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x417c96
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1e84
call fcn.00416410
mov eax, dword [0x421018]
xor eax, esp
mov dword [esp + 0x1e80], eax
push ebx
push esi
push edi
mov eax, dword [0x421018]
xor eax, esp
push eax
lea eax, [esp + 0x1e98]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
xor eax, eax
mov esi, 0xf
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
mov byte [esp + 0x34], al
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], eax
mov byte [esp + 0x50], al
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], eax
mov byte [esp + 0x6c], al
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], eax
mov byte [esp + 0x88], al
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], eax
mov byte [esp + 0xa4], al
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
lea ebx, [esp + 0x14]
mov dword [esp + 0x1ea0], eax
call fcn.00404b80
mov eax, ebx
push eax
call fcn.00404c60
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jle 0x404795
mov ecx, ebx
push ecx
push edi
push eax
call fcn.00405320
add esp, 0xc
test al, al
jne 0x404795
push str.ERROR:_Parse_input_arguments_fail_
call dword [sym.imp.MSVCR100.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::flush_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 8
push edx
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov esi, ebx
call fcn.00404930
mov eax, 1
jmp 0x404904
sub esp, 0xc8
mov eax, esp
mov dword [esp + 0xd8], esp
push eax
lea edi, [esp + 0xe0]
call fcn.00404a30
call fcn.004051c0
push 0x100
lea ecx, [esp + 0x1e58]
push 0
push ecx
call sub.MSVCR100.dll_memset
mov eax, dword [esp + 0xe8]
add esp, 0xd4
test eax, eax
je 0x4047f2
push eax
lea edx, [esp + 0x1d90]
push str.com_d
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ecx + 0x14], esi
lea eax, [esp + 0x1da8]
mov dword [ecx + 0x10], 0
mov dword [esp + 0x2c], esp
mov byte [ecx], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404812
sub eax, esi
mov edi, eax
lea eax, [esp + 0x1da8]
mov esi, ecx
call fcn.00401580
call fcn.00405910
sub esp, 0xac
mov eax, esp
mov dword [esp + 0xd8], esp
push eax
lea edi, [esp + 0xe0]
call fcn.00404a30
lea ebx, [esp + 0x1a4]
call fcn.004071f0
push 0
push 0
mov ecx, ebx
push ecx
push 0x411760
push 0
push 0
mov byte [esp + 0x1eb8], 1
call dword [sym.imp.MSVCR100.dll__beginthreadex]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x18
cmp dword [0x421100], 0
mov dword [esp + 0xe0], eax
je 0x4048a0
nop
push 0x1f4
call esi
cmp dword [0x421100], 0
jne 0x404890
mov ebx, dword [esp + 0xec]
push 0x1f4
call esi
push str.Main__:End_
push 0x421108
call fcn.00404280
add esp, 8
call dword [sym.imp.MSVCR100.dll_getchar]
call dword [sym.imp.Flashtoollib.dll_Ordinal_5]
cmp byte [0x42112c], 0
je 0x4048ed
mov eax, dword [0x421128]
mov byte [0x42112c], 0
cmp eax, 0xffffffff
je 0x4048ed
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edi, [esp + 0xdc]
call fcn.00407390
lea esi, [esp + 0x14]
call fcn.00404930
mov eax, ebx
mov ecx, dword [esp + 0x1e98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e80]
xor ecx, esp
call fcn.00415aec
mov esp, ebp
pop ebp
ret