Function at 0x40c7d0
Capabilities:
Accept command line arguments

Disassembly:
push 0xffffffffffffffff
push 0x429f08
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
mov eax, dword [0x435250]
push edi
lea ecx, [esp + 0x10]
mov dword [esp + 0x160], eax
call fcn.00421213
push 0
mov dword [esp + 0x170], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
push 0
push 0
call edi
push eax
call fcn.004274c5
test eax, eax
jne 0x40c856
push 0x42bbf4
call fcn.004119d6
add esp, 4
lea ecx, [esp + 0x10]
mov dword [esp + 0x16c], 0xffffffff
call fcn.00421252
mov eax, 1
jmp 0x40d477
push ebx
push ebp
push 0x42bbc4
call fcn.004119d6
add esp, 4
mov ecx, 0x438878
call fcn.00402b50
test byte [0x4367c0], 1
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ebp, 1
jne 0x40c89a
mov ecx, dword [0x4367c0]
or ecx, ebp
push 0xfffffffffffffff5
mov dword [0x4367c0], ecx
call ebx
mov dword [0x43679c], eax
push esi
push pe_nt_image_headers32
push 0xa
mov ecx, 0x43679c
call fcn.00405c10
push str.__________________________________________________________________________
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0x42bb54
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0x42bb28
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push str.Writer:_yujiang
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push str.14:19:34
push 0x42bb00
push str.Jan_28_2013
push 0x42baec
push 0x438878
call fcn.00403c30
add esp, 8
push eax
call fcn.00403c30
add esp, 8
push eax
call fcn.00403c30
add esp, 8
push eax
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push str.__________________________________________________________________________
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0x42bab4
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0x42ba7c
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0x42ba44
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
mov ecx, 0x438878
call fcn.00402b50
test byte [0x4367c0], 1
jne 0x40ca84
mov ecx, dword [0x4367c0]
or ecx, ebp
push 0xfffffffffffffff5
mov dword [0x4367c0], ecx
call ebx
mov dword [0x43679c], eax
push pe_nt_image_headers32
push 0xf
mov ecx, 0x43679c
call fcn.00405c10
cmp dword [esp + 0x180], ebp
jle 0x40cb1c
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x18]
call fcn.0040a690
mov edx, dword [esp + 0x14]
push str.self
push edx
call fcn.004104c9
add esp, 8
test eax, eax
jne 0x40cad6
mov byte [0x4361a0], 1
push 0x42ba24
jmp 0x40caf6
mov eax, dword [esp + 0x14]
push str.config
push eax
call fcn.004104c9
add esp, 8
test eax, eax
jne 0x40cafe
mov byte [0x4340c8], al
push 0x42ba04
call fcn.004119d6
add esp, 4
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cb1c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call edi
push eax
call fcn.00401300
add esp, 4
push ebp
push 0x1b6
push ebp
push str.createupdate_ignorefile.txt
lea ecx, [esp + 0x3c]
call fcn.0040b7e0
mov eax, dword [esp + 0x8c]
xor esi, esi
test eax, eax
mov byte [esp + 0x178], 1
mov edi, 0x10
je 0x40cc2b
mov dword [esp + 0x124], 0xf
mov dword [esp + 0x120], esi
mov byte [esp + 0x110], 0
mov byte [esp + 0x178], 2
mov ebx, 0x436608
mov edi, edi
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00404760
add esp, 8
test eax, eax
jne 0x40cbad
xor ecx, ecx
jmp 0x40cbb4
mov edx, dword [eax]
mov ecx, dword [edx + 4]
add ecx, eax
mov eax, dword [ecx + 8]
and al, 6
neg al
sbb eax, eax
not eax
test ecx, eax
mov eax, dword [esp + 0x124]
je 0x40cc0d
mov ecx, ebx
inc esi
add ebx, 4
cmp eax, edi
jb 0x40cbea
mov eax, dword [esp + 0x110]
test eax, eax
mov ebp, eax
jne 0x40cbf1
push eax
push ebp
call fcn.00403ac0
jmp 0x40cb90
lea ebp, [esp + 0x110]
mov eax, ebp
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40cbf6
sub eax, edi
push eax
push ebp
mov edi, 0x10
call fcn.00403ac0
jmp 0x40cb90
cmp eax, edi
mov byte [esp + 0x178], 1
jb 0x40cc54
mov ecx, dword [esp + 0x110]
push ecx
call fcn.00420d76
add esp, 4
jmp 0x40cc54
push str.not_find_file_createupdate_ignorefile.txt
push 0x438878
call fcn.00403c30
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.004053e0
mov ecx, edi
call fcn.00402b50
mov edi, 0x10
push 0x1b
lea ecx, [esi*4 + 0x436608]
push str.createupdate_ignorefile.txt
inc esi
call fcn.00403ac0
push 0x1b
lea ecx, [esi*4 + 0x436608]
push str.createupdate_ignorepath.txt
inc esi
call fcn.00403ac0
push 0x1b
lea ecx, [esi*4 + 0x436608]
push str.createupdate_ignorename.txt
call fcn.00403ac0
lea ecx, [esp + 0x90]
mov byte [esp + 0x178], 0
call fcn.0040b920
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
call fcn.0040f654
push 1
push 0x1b6
push 1
push str.createupdate_ignorepath.txt
lea ecx, [esp + 0x3c]
call fcn.0040b7e0
mov eax, dword [esp + 0x8c]
test eax, eax
mov byte [esp + 0x178], 3
je 0x40cdb0
mov dword [esp + 0x124], 0xf
mov dword [esp + 0x120], 0
mov byte [esp + 0x110], 0
mov byte [esp + 0x178], 4
mov ebp, 0x4362e8
lea edx, [esp + 0x10c]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.00404760
add esp, 8
test eax, eax
jne 0x40cd30
xor ecx, ecx
jmp 0x40cd37
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x124]
and dl, 6
neg dl
sbb edx, edx
not edx
test ecx, edx
je 0x40cd9a
mov ecx, ebp
add ebp, 4
cmp eax, edi
jb 0x40cd72
mov eax, dword [esp + 0x110]
test eax, eax
mov edi, eax
jne 0x40cd79
push eax
push edi
call fcn.00403ac0
mov edi, 0x10
jmp 0x40cd13
lea edi, [esp + 0x110]
mov eax, edi
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40cd80
sub eax, esi
push eax
push edi
call fcn.00403ac0
mov edi, 0x10
jmp 0x40cd13
cmp eax, edi
jb 0x40cdd4
mov eax, dword [esp + 0x110]
push eax
call fcn.00420d76
add esp, 4
jmp 0x40cdd4
push str.not_find_file_createupdate_ignorepath.txt
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
lea ecx, [esp + 0x90]
mov byte [esp + 0x178], 0
call fcn.0040b920
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
call fcn.0040f654
push 1
push 0x1b6
push 1
push str.createupdate_ignorename.txt
lea ecx, [esp + 0x3c]
call fcn.0040b7e0
mov eax, dword [esp + 0x8c]
xor ebx, ebx
test eax, eax
mov byte [esp + 0x178], 5
je 0x40cf08
mov dword [esp + 0x124], 0xf
mov dword [esp + 0x120], ebx
mov byte [esp + 0x110], bl
mov byte [esp + 0x178], 6
mov ebp, 0x436478
jmp 0x40ce60
lea ecx, [esp + 0x10c]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.00404760
add esp, 8
test eax, eax
jne 0x40ce7d
xor ecx, ecx
jmp 0x40ce84
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x124]
and dl, 6
neg dl
sbb edx, edx
not edx
test ecx, edx
je 0x40ceea
mov ecx, ebp
inc ebx
add ebp, 4
cmp eax, edi
jb 0x40cec0
mov eax, dword [esp + 0x110]
test eax, eax
mov edi, eax
jne 0x40cec7
push eax
push edi
call fcn.00403ac0
mov edi, 0x10
jmp 0x40ce60
lea edi, [esp + 0x110]
mov eax, edi
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40ced0
sub eax, esi
push eax
push edi
call fcn.00403ac0
mov edi, 0x10
jmp 0x40ce60
cmp eax, edi
mov byte [esp + 0x178], 5
jb 0x40cf2c
mov eax, dword [esp + 0x110]
push eax
call fcn.00420d76
add esp, 4
jmp 0x40cf2c
push str.not_find_file_createupdate_ignorename.txt
push 0x438878
call fcn.00403c30
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004053e0
mov ecx, esi
call fcn.00402b50
push 8
lea ecx, [ebx*4 + 0x436478]
push str.filelist
call fcn.00403ac0
lea ecx, [esp + 0x90]
mov byte [esp + 0x178], 0
call fcn.0040b920
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
call fcn.0040f654
push 0x1b6
push 2
push str.filelist.txt
mov ecx, 0x43624c
call fcn.00404540
test eax, eax
jne 0x40cfab
mov ecx, dword [0x436248]
mov ecx, dword [ecx + 4]
add ecx, 0x436248
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0x28]
or eax, 2
test edx, edx
jne 0x40cfa3
or eax, 4
push 0
push eax
call fcn.0040f73e
mov eax, dword [0x4362a4]
test eax, eax
jne 0x40d010
mov ecx, 0x438878
call fcn.00402b50
test byte [0x4367c0], 1
jne 0x40cfe3
mov ecx, dword [0x4367c0]
or ecx, 1
push 0xfffffffffffffff5
mov dword [0x4367c0], ecx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0x43679c], eax
push pe_nt_image_headers32
push 0xc
mov ecx, 0x43679c
call fcn.00405c10
push str._nerror___
call fcn.004119d6
push str.PAUSE
call fcn.00411a3c
add esp, 8
jmp 0x40d45e
push 0x42b8c4
call fcn.004119d6
add esp, 4
push 0
push 0x1001
push str.filelist.dat
lea ecx, [esp + 0x28]
call fcn.004214ab
test eax, eax
jne 0x40d107
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [0x438878]
mov eax, dword [edx + 4]
mov cl, byte [eax + 0x438880]
xor esi, esi
test cl, 6
jne 0x40d06d
mov eax, dword [eax + 0x4388a0]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x40d06d
mov esi, 4
mov eax, dword [0x438878]
mov ecx, dword [eax + 4]
add ecx, 0x438878
test esi, esi
je 0x40d096
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0x28]
or eax, esi
test edx, edx
jne 0x40d08e
or eax, 4
push 0
push eax
call fcn.0040f73e
test byte [0x4367c0], 1
jne 0x40d0b7
mov ecx, dword [0x4367c0]
or ecx, 1
push 0xfffffffffffffff5
mov dword [0x4367c0], ecx
call edi
mov dword [0x43679c], eax
push pe_nt_image_headers32
push 0xc
mov ecx, 0x43679c
call fcn.00405c10
push 0x42b870
call fcn.004119d6
push 0x42b854
call fcn.004119d6
add esp, 8
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x1001
push str.filelist.dat
lea ecx, [esp + 0x28]
call fcn.004214ab
test eax, eax
je 0x40d040
push 0x42b834
call fcn.004119d6
push 0x42b810
call fcn.004119d6
add esp, 8
push 0
push 0x1000
push 0
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0xd4]
call fcn.004262fe
mov byte [esp + 0x178], 7
call fcn.00420e63
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov byte [esp + 0x17c], 8
call fcn.0040a8a0
add esp, 4
push str.filelist.dat
lea ecx, [esp + 0x14]
call fcn.0040a690
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
push 0
push eax
lea edx, [esp + 0xcc]
mov bl, 9
push edx
mov byte [esp + 0x184], bl
call fcn.0042611e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0xcc]
call fcn.004261ad
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0040b000
add esp, 8
test eax, eax
je 0x40d3a7
push str.null
lea ecx, [esp + 0x1c]
call fcn.0040a690
mov edx, dword [esp + 0x18]
mov eax, dword [edx - 0xc]
push 0
push eax
lea eax, [esp + 0xcc]
push eax
mov byte [esp + 0x184], 0xa
call fcn.0042611e
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0xcc]
call fcn.004261ad
mov ecx, 0x438878
call fcn.00402b50
test byte [0x4367c0], 1
jne 0x40d239
mov ecx, dword [0x4367c0]
or ecx, 1
push 0xfffffffffffffff5
mov dword [0x4367c0], ecx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0x43679c], eax
push pe_nt_image_headers32
push 0xa
mov ecx, 0x43679c
call fcn.00405c10
push 0x42b7d0
call fcn.004119d6
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x178], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d287
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x178], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d2ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x178], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d2d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0xc4]
mov byte [esp + 0x178], 0
call fcn.004262b9
lea ecx, [esp + 0x128]
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], 0
call fcn.0040bee0
push str.version.ini
lea ecx, [esp + 0x12c]
mov byte [esp + 0x17c], 0xb
call fcn.0040c4e0
test eax, eax
je 0x40d338
lea eax, [esp + 0x10]
push eax
push str.version_minor
lea ecx, [esp + 0x130]
call fcn.0040bba0
jmp 0x40d345
push 0x42b788
call fcn.004119d6
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push ecx
inc esi
push str.version_major
lea ecx, [esp + 0x130]
mov dword [esp + 0x18], esi
call fcn.0040c6a0
lea edx, [esp + 0x10]
push edx
push str.version_minor
lea ecx, [esp + 0x130]
call fcn.0040c6a0
lea ecx, [esp + 0x128]
call fcn.0040bcc0
push esi
push 1
push 0x42b744
call fcn.004119d6
add esp, 0xc
lea ecx, [esp + 0x128]
call fcn.0040bf10
jmp 0x40d45e
mov ecx, 0x438878
call fcn.00402b50
test byte [0x4367c0], 1
jne 0x40d3d6
mov ecx, dword [0x4367c0]
or ecx, 1
push 0xfffffffffffffff5
mov dword [0x4367c0], ecx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0x43679c], eax
push pe_nt_image_headers32
push 0xc
mov ecx, 0x43679c
call fcn.00405c10
push 0x42b724
call fcn.004119d6
push str.PAUSE
call fcn.00411a3c
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
add esp, 8
mov byte [esp + 0x178], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d424
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x178], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d44a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0xc4]
mov byte [esp + 0x178], 0
call fcn.004262b9
lea ecx, [esp + 0x1c]
mov dword [esp + 0x178], 0xffffffff
call fcn.00421252
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x164]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x160]
pop edi
call fcn.004100bf
add esp, 0x16c
ret