Function at 0x403a10
Capabilities:
Parse credit card information
Query environment variable
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xdc
mov dword [esp], 0x415852
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
call sub.msvcrt.dll_getenv
mov dword [0x418340], eax
xor eax, eax
mov dword [0x418460], eax
xor eax, eax
mov dword [0x418750], eax
xor eax, eax
mov dword [0x418490], eax
mov dword [esp], str.3.4.5__mingw_vista_special_r3_
call fcn.0040f730
mov dword [0x4181b0], eax
movzx edx, byte [eax]
test dl, dl
je 0x403a91
lea esi, [esi]
cmp dl, 0x20
je 0x403fb4
inc eax
movzx edx, byte [eax]
test dl, dl
jne 0x403a80
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xac], eax
dec eax
jle 0x403ab2
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov dword [ebp - 0xa8], edx
cmp byte [eax], 0x2d
je 0x405059
mov edx, dword [0x418340]
mov eax, dword [str._mingw_libexec_gcc_]
test edx, edx
mov dword [0x418350], eax
jne 0x403c5c
mov eax, dword [str._mingw_lib_gcc_]
mov ebx, dword [str._mingw_bin_]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], ebx
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040ebc0
mov dword [0x418340], eax
mov eax, dword [str._mingw_libexec_gcc_]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040ebc0
mov dword [0x418350], eax
mov edx, dword [0x418340]
test edx, edx
mov dword [ebp - 0xc0], edx
jne 0x405254
mov dword [esp], str.COMPILER_PATH
call sub.msvcrt.dll_getenv
test eax, eax
mov ebx, eax
je 0x403db9
mov dword [esp], eax
call sub.msvcrt.dll_strlen
add eax, 0x21
and eax, 0xfffffff0
call fcn.0040ffc0
lea ecx, [esp + 0x2b]
and ecx, 0xfffffff0
mov dword [ebp - 0x3c], ecx
lea esi, [esi]
lea edi, [edi]
mov esi, ebx
movzx eax, byte [esi]
cmp al, 0x3b
sete dl
test al, al
sete al
or eax, edx
test al, 1
je 0x403c45
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x3c]
mov edi, esi
sub edi, ebx
mov dword [esp + 8], edi
mov dword [esp], eax
call sub.msvcrt.dll_strncpy
cmp esi, ebx
je 0x404bee
movzx eax, byte [esi - 1]
cmp al, 0x2f
setne dl
cmp al, 0x5c
setne al
movzx eax, al
test edx, eax
je 0x403c50
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + edi], 0x2f
mov byte [ecx + edi + 1], 0
mov dword [esp], 0
xor eax, eax
mov edx, dword [ebp - 0x3c]
mov dword [esp + 0x10], eax
xor eax, eax
xor ebx, ebx
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, 0x411020
call fcn.00402190
mov edi, dword [ebp - 0x3c]
xor eax, eax
mov dword [esp + 8], eax
mov eax, 0x413fc4
mov dword [esp], edi
xor edi, edi
mov dword [esp + 4], eax
call fcn.0040db00
mov dword [esp + 0x10], edi
mov edx, 1
xor ecx, ecx
mov dword [esp + 4], edx
mov edx, eax
mov eax, 0x411048
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.00402190
cmp byte [esi], 0
je 0x403db9
lea ebx, [esi + 1]
jmp 0x403b60
inc esi
jmp 0x403b62
mov ebx, dword [ebp - 0x3c]
mov byte [ebx + edi], 0
jmp 0x403bbd
mov dword [esp + 8], eax
mov eax, dword [str._mingw_lib_gcc_]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0040ebc0
mov dword [0x418350], eax
mov ebx, dword [0x418340]
mov dword [ebp - 0xc0], ebx
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x403b22
mov esi, dword [ebp - 0xc0]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov dword [ebp - 0xbc], eax
cmp eax, 9
jle 0x403d27
mov edi, eax
movzx eax, byte [esi + eax - 1]
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or eax, edx
test al, 1
je 0x403d27
add esi, edi
mov ebx, esi
sub ebx, 9
mov dword [ebp - 0x38], esi
movzx eax, byte [esi - 9]
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or eax, edx
test al, 1
je 0x403d27
cld
mov edx, 0x414b8d
mov eax, 3
sub esi, 8
mov edi, edx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x403d27
movzx eax, byte [ebx + 4]
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or eax, edx
test al, 1
je 0x403d27
mov esi, dword [ebp - 0x38]
mov eax, 0x415870
mov edx, 3
mov edi, eax
mov ecx, edx
sub esi, 4
repe cmpsb byte [esi], byte es:[edi]
jne 0x403d27
sub dword [ebp - 0xbc], 9
mov eax, dword [ebp - 0xbc]
xor edi, edi
xor esi, esi
mov edx, dword [ebp - 0xc0]
mov ebx, 1
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0040d960
mov dword [esp], 0x41571b
xor eax, eax
mov edx, dword [0x418350]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, 0x411020
call fcn.00402190
mov dword [esp + 4], ebx
mov edx, dword [0x418340]
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, 0x411034
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp], 0x41571b
call fcn.00402190
mov dword [esp], str.COMPILER_PATH
call sub.msvcrt.dll_getenv
test eax, eax
mov ebx, eax
jne 0x403b38
mov dword [esp], str.LIBRARY_PATH
call sub.msvcrt.dll_getenv
test eax, eax
mov ebx, eax
je 0x403dd9
mov eax, dword [0x411030]
cmp byte [eax], 0x30
je 0x404f6d
mov dword [esp], str.LPATH
call sub.msvcrt.dll_getenv
test eax, eax
mov ebx, eax
je 0x403df9
mov eax, dword [0x411030]
cmp byte [eax], 0x30
je 0x404e8c
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
lea eax, [ecx*8 + 0x10]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], ebx
mov dword [esp], eax
call fcn.0040e5d0
mov dword [ebp - 0x58], 1
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x48], 1
mov eax, dword [ebx]
cmp dword [ebp - 0x58], edi
mov dword [esi], eax
jmp 0x403e53
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
inc dword [ebp - 0x48]
mov eax, dword [edx + eax*4]
mov ebx, dword [ebp - 0x54]
mov dword [ebx + ecx*4], eax
inc ecx
mov dword [ebp - 0x58], ecx
mov esi, dword [ebp - 0x4c]
cmp dword [ebp - 0x48], esi
jge 0x403fc0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + edx*4]
cmp byte [eax], 0x2d
jne 0x403e34
cmp byte [eax + 1], 0x2d
je 0x404c5f
cmp byte [eax], 0x2d
jne 0x403e34
lea ebx, [eax + 1]
xor ecx, ecx
mov dword [ebp - 0x70], ebx
mov ebx, 1
movsx eax, byte [eax + 1]
cmp eax, 0x44
mov dword [ebp - 0x74], eax
sete al
cmp dword [ebp - 0x74], 0x55
sete dl
or eax, edx
test al, 1
jne 0x403ef1
cmp dword [ebp - 0x74], 0x6f
sete al
cmp dword [ebp - 0x74], 0x65
sete dl
or eax, edx
test al, 1
jne 0x403ef1
cmp dword [ebp - 0x74], 0x54
sete al
cmp dword [ebp - 0x74], 0x75
sete dl
or eax, edx
test al, 1
jne 0x403ef1
cmp dword [ebp - 0x74], 0x49
sete al
cmp dword [ebp - 0x74], 0x6d
sete dl
or eax, edx
test al, 1
jne 0x403ef1
cmp dword [ebp - 0x74], 0x78
sete al
cmp dword [ebp - 0x74], 0x4c
sete dl
or eax, edx
test al, 1
je 0x40549e
mov ecx, 1
mov eax, dword [ebp - 0x70]
movzx eax, byte [eax + 1]
test al, al
mov byte [ebp - 0xa1], al
setne al
movzx eax, al
cmp ecx, eax
jle 0x4048fe
xor ecx, ecx
cmp dword [ebp - 0x74], 0x44
sete al
cmp dword [ebp - 0x74], 0x55
sete dl
or eax, edx
test al, 1
jne 0x403f69
cmp dword [ebp - 0x74], 0x6f
sete al
cmp dword [ebp - 0x74], 0x65
sete dl
or eax, edx
test al, 1
jne 0x403f69
cmp dword [ebp - 0x74], 0x54
sete al
cmp dword [ebp - 0x74], 0x75
sete dl
or eax, edx
test al, 1
jne 0x403f69
cmp dword [ebp - 0x74], 0x49
sete al
cmp dword [ebp - 0x74], 0x6d
sete dl
or eax, edx
test al, 1
je 0x405451
mov ecx, 1
xor eax, eax
cmp byte [ebp - 0xa1], 0
lea ebx, [ecx + 1]
setne al
sub ebx, eax
mov edx, dword [ebp - 0x48]
lea eax, [ebx + edx]
cmp eax, dword [ebp - 0x4c]
jle 0x403fab
mov ebx, dword [ebp - 0x4c]
sub ebx, edx
jmp 0x403fab
mov eax, dword [ebp - 0x48]
dec ebx
mov ecx, dword [ebp - 0x50]
inc dword [ebp - 0x48]
mov esi, dword [ebp - 0x58]
mov eax, dword [ecx + eax*4]
mov edi, dword [ebp - 0x54]
mov dword [edi + esi*4], eax
inc esi
mov dword [ebp - 0x58], esi
test ebx, ebx
jg 0x403f91
jmp 0x403e4d
mov byte [eax], 0
jmp 0x403a91
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x14]
mov edi, dword [ebp - 0x58]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov dword [eax + edi*4], 0
mov eax, 0x418490
mov dword [ebp - 0x10], edi
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.0040d0c0
mov dword [ebp - 0x18], 1
mov ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xac], ebx
jmp 0x40406a
inc dword [0x418750]
mov ecx, 1
mov edx, dword [0x418720]
inc dword [0x418460]
mov dword [0x418130], ecx
test edx, edx
jne 0x404c1d
mov edx, 6
mov eax, str.__help
call fcn.00402540
mov edx, 6
mov eax, str.__help
call fcn.004025c0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0x18]
inc edx
mov dword [ebp - 0xc0], edx
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xac]
mov dword [ebp - 0x18], ecx
cmp ecx, ebx
jge 0x404186
cld
mov esi, dword [ebp - 0x14]
mov ecx, 0xb
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0xa8], esi
mov ebx, dword [esi + edi*4]
mov edi, str._dumpspecs
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40555e
cld
mov edi, str._dumpversion
mov ecx, 0xd
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x405557
cld
mov edi, str._dumpmachine
mov ecx, 0xd
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40553e
cld
mov edi, str._fversion
mov ecx, 0xa
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055a8
cld
mov edi, str._fhelp
mov ecx, 7
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404003
cld
mov edi, str._ftarget_help
mov ecx, 0xe
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x404152
inc dword [0x418750]
mov eax, 1
mov dword [0x418160], eax
mov eax, dword [0x418720]
inc dword [0x418460]
test eax, eax
jne 0x404e32
mov edx, 0xd
mov eax, str.__target_help
call fcn.00402540
mov edx, 0xd
mov eax, str.__target_help
call fcn.004025c0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xac], ecx
mov ebx, dword [ebp - 0x18]
inc ebx
mov dword [ebp - 0xc0], ebx
jmp 0x404059
cld
mov edi, str._pass_exit_codes
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x404c31
mov eax, 1
mov dword [0x4180e0], eax
inc dword [0x418460]
mov esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0xc0], esi
jmp 0x404059
mov eax, dword [ebp - 0x24]
xor ecx, ecx
test eax, eax
setne al
xor edx, edx
cmp dword [ebp - 0x28], 0
setne dl
test eax, edx
je 0x4041a5
cmp dword [ebp - 0x2c], 1
jle 0x4041a5
mov cl, 1
mov byte [0x418480], cl
mov eax, dword [0x418190]
test eax, eax
jne 0x4041be
mov edi, dword [0x418170]
test edi, edi
je 0x4041e6
mov esi, dword [0x4181a0]
test esi, esi
je 0x4041e6
test eax, eax
jne 0x405387
mov ebx, dword [0x418170]
test ebx, ebx
jne 0x405440
xor ecx, ecx
mov dword [0x4181a0], ecx
mov dword [esp], 0x41571b
mov eax, dword [0x418090]
xor edx, edx
mov dword [esp + 0x10], edx
mov edx, dword [str._mingw_libexec_gcc_]
mov edi, 2
mov esi, 1
xor ebx, ebx
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, 0x411020
call fcn.00402190
mov dword [esp], str.BINUTILS
xor eax, eax
mov edx, dword [str._mingw_libexec_gcc_]
mov dword [esp + 0x10], eax
mov eax, dword [0x418090]
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, 0x411020
call fcn.00402190
mov dword [esp + 8], edi
xor eax, eax
mov edx, dword [str._mingw_lib_gcc_]
mov dword [esp + 0x10], eax
mov eax, dword [0x418090]
xor edi, edi
mov dword [esp + 4], esi
mov esi, 1
mov dword [esp + 0xc], eax
mov eax, 0x411020
mov dword [esp], str.BINUTILS
call fcn.00402190
mov dword [esp + 0x10], ebx
mov eax, dword [0x418090]
mov edx, 1
mov dword [esp + 4], edx
mov edx, dword [str._usr_libexec_gcc_]
mov ecx, 2
mov dword [esp + 8], ecx
mov ebx, 1
mov dword [esp + 0xc], eax
mov eax, 0x411020
mov dword [esp], str.BINUTILS
call fcn.00402190
mov dword [esp], str.BINUTILS
xor eax, eax
mov edx, dword [str._usr_lib_gcc_]
mov dword [esp + 0x10], eax
mov eax, dword [0x418090]
mov dword [esp + 0xc], eax
mov eax, 2
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, 0x411020
call fcn.00402190
mov dword [esp], str.BINUTILS
xor eax, eax
mov edx, dword [str._mingw_lib_gcc_]
mov dword [esp + 0x10], eax
mov eax, dword [0x418090]
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, 0x411034
call fcn.00402190
mov dword [esp + 4], ebx
mov eax, dword [0x418090]
mov edx, dword [str._usr_lib_gcc_]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, 0x411034
mov dword [esp + 8], esi
mov dword [esp], str.BINUTILS
call fcn.00402190
mov eax, dword [str.mingw32]
xor ecx, ecx
mov edx, 0x412434
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [str..._.._.._.._]
mov dword [esp], eax
call fcn.0040db00
mov dword [0x418360], eax
mov ebx, eax
movzx ecx, byte [eax]
cmp cl, 0x2f
setne dl
xor eax, eax
cmp cl, 0x5c
setne al
test edx, eax
je 0x404409
test cl, cl
je 0x4043b9
cmp byte [ebx + 1], 0x3a
je 0x404409
mov edx, dword [0x418340]
test edx, edx
jne 0x4052a5
mov dword [esp + 0x14], ebx
xor eax, eax
mov dword [esp + 0x18], eax
mov eax, 0x412434
mov dword [esp + 0x10], eax
mov eax, dword [str.3.4.5]
mov dword [esp + 0xc], eax
mov eax, 0x412434
mov dword [esp + 8], eax
mov eax, dword [str.mingw32]
mov dword [esp + 4], eax
mov eax, dword [str._mingw_lib_gcc_]
mov dword [esp], eax
call fcn.0040db00
mov dword [0x418360], eax
mov ebx, eax
mov dword [esp], ebx
xor eax, eax
mov edi, 0x4158fa
mov dword [esp + 0xc], eax
mov eax, 0x412434
xor esi, esi
mov dword [esp + 4], edi
xor ebx, ebx
mov edi, 0x414b8d
mov dword [esp + 8], eax
call fcn.0040db00
mov dword [esp + 0x10], esi
mov edx, 1
xor ecx, ecx
mov dword [esp + 4], edx
mov edx, eax
mov eax, 0x411020
mov dword [esp + 8], ecx
mov esi, 1
mov dword [esp + 0xc], ebx
xor ebx, ebx
mov dword [esp], str.BINUTILS
call fcn.00402190
mov dword [esp + 4], edi
xor eax, eax
xor edi, edi
mov dword [esp + 0xc], eax
mov eax, 0x412434
mov dword [esp + 8], eax
mov eax, dword [0x418360]
mov dword [esp], eax
call fcn.0040db00
mov dword [esp + 0x10], esi
mov edx, 1
xor ecx, ecx
mov dword [esp + 4], edx
mov edx, eax
mov eax, 0x411034
mov dword [esp + 8], ecx
xor esi, esi
mov dword [esp + 0xc], ebx
mov dword [esp], str.BINUTILS
call fcn.00402190
mov eax, dword [0x418460]
shl eax, 4
add eax, 0x10
mov dword [esp], eax
call fcn.0040e5d0
mov dword [0x418450], eax
mov eax, dword [0x418750]
lea eax, [eax*8 + 8]
mov dword [esp], eax
call fcn.0040e5d0
mov dword [0x418750], esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x18], 1
cmp dword [ebp - 0x18], esi
mov dword [0x418470], eax
mov dword [0x418460], edi
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0xac], esi
jge 0x404817
nop
cld
mov edi, dword [ebp - 0x14]
mov ecx, 4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xa8], edi
mov ebx, dword [edi + eax*4]
mov edi, str._Wa_
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
mov ecx, dword [ebp - 0x18]
seta dl
setb al
inc ecx
cmp dl, al
mov dword [ebp - 0xc0], ecx
je 0x404800
mov edi, str._Wp_
mov ecx, 4
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._pass_exit_codes
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._print_search_dirs
mov ecx, 0x13
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._print_libgcc_file_name
mov ecx, 0x18
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._print_file_name
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._print_prog_name
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._print_multi_lib
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._print_multi_directory
mov ecx, 0x17
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._print_multi_os_directory
mov ecx, 0x1a
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._ftarget_help
mov ecx, 0xe
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov edi, str._fhelp
mov ecx, 7
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
cmp byte [ebx], 0x2b
je 0x405ab8
cld
mov ecx, dword [ebp - 0x18]
mov eax, 4
mov ebx, dword [ebp - 0xa8]
mov edi, str._Wl_
mov ecx, dword [ebx + ecx*4]
mov dword [ebp - 0xbc], ecx
mov esi, ecx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4059d3
mov ebx, dword [ebp - 0xbc]
mov edx, 4
mov edi, 4
mov dword [ebp - 0x8c], edx
cmp byte [ebx + 4], 0
jne 0x404697
jmp 0x4058ec
mov dword [ebp - 0x8c], edx
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [edx + esi*4]
cmp byte [ecx + eax], 0
je 0x4058e3
mov edx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [edx + esi*4]
lea edx, [ecx + 1]
cmp byte [ecx + eax], 0x2c
jne 0x404675
mov ebx, dword [0x418750]
mov eax, 0x41590d
mov edx, ecx
mov esi, dword [0x418470]
sub edx, edi
mov ecx, dword [ebp - 0xa8]
mov dword [esi + ebx*8 + 4], eax
lea eax, [ebx + 1]
mov dword [0x418750], eax
mov eax, dword [ebp - 0x18]
add edi, dword [ecx + eax*4]
mov eax, edi
call fcn.00401620
mov dword [esi + ebx*8], eax
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x14]
inc edx
mov edi, edx
mov dword [ebp - 0xa8], ebx
jmp 0x404675
cld
mov esi, dword [ebp - 0xbc]
mov eax, 7
mov ecx, eax
mov edi, str._specs
mov ebx, dword [ebp - 0x18]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
add ebx, 2
mov dword [ebp - 0xc0], ebx
cmp dl, al
je 0x404800
mov esi, dword [ebp - 0xbc]
mov eax, 7
mov edi, 0x4145df
mov ecx, eax
mov ebx, dword [ebp - 0x18]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
inc ebx
mov dword [ebp - 0xc0], ebx
cmp dl, al
je 0x404800
mov esi, dword [ebp - 0xbc]
mov eax, 6
mov edi, str._time
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x404800
mov esi, dword [ebp - 0xbc]
mov eax, 5
mov edi, str._
mov ecx, eax
mov ebx, dword [ebp - 0x18]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
inc ebx
cmp dl, al
je 0x404800
mov esi, dword [ebp - 0xbc]
cmp byte [esi], 0x2d
je 0x405c33
cld
mov ecx, dword [ebp - 0x18]
mov edi, 0x412702
mov esi, dword [ebp - 0xa8]
mov ebx, dword [esi + ecx*4]
mov ecx, 2
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x405c06
mov eax, dword [0x418750]
mov ecx, dword [0x418470]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0xa8]
mov dword [ecx + eax*8 + 4], esi
lea esi, [edi + 1]
mov edx, dword [ebx + edi*4]
mov dword [ebp - 0xc0], esi
mov dword [ecx + eax*8], edx
inc eax
mov dword [0x418750], eax
mov esi, esi
lea edi, [edi]
mov edi, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x18], edi
cmp edi, eax
jl 0x404510
mov edx, dword [ebp - 0x20]
cmp dword [0x418750], edx
sete al
xor edx, edx
cmp dword [ebp - 0x1c], 0
setne dl
test eax, edx
jne 0x404e74
mov edx, dword [0x418160]
test edx, edx
jne 0x40484c
mov esi, dword [0x418130]
test esi, esi
je 0x4048cf
mov eax, dword [0x418470]
mov ebx, 1
test edx, edx
mov dword [0x418750], ebx
mov dword [eax + 4], 0x41591b
mov dword [eax], str.help_dummy
je 0x404899
mov eax, dword [0x418460]
xor edi, edi
xor ecx, ecx
mov edx, dword [0x418450]
shl eax, 4
mov byte [eax + edx + 0xc], 0
mov dword [eax + edx + 8], edi
inc dword [0x418460]
mov dword [eax + edx], str.__target_help
mov dword [eax + edx + 4], ecx
mov esi, dword [0x418130]
test esi, esi
je 0x4048cf
mov eax, dword [0x418460]
xor ecx, ecx
xor ebx, ebx
mov edx, dword [0x418450]
shl eax, 4
mov byte [eax + edx + 0xc], 0
mov dword [eax + edx + 8], ecx
inc dword [0x418460]
mov dword [eax + edx], str.__help
mov dword [eax + edx + 4], ebx
mov eax, dword [0x418460]
mov edx, dword [0x418450]
shl eax, 4
mov dword [eax + edx], 0
mov edx, dword [0x418750]
mov eax, dword [0x418470]
mov dword [eax + edx*8], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cld
mov esi, dword [ebp - 0x70]
mov ecx, 6
mov edi, 0x415928
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x41592e
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415934
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x413fc4
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415939
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415941
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x41594a
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415954
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x41595c
mov ecx, 0xc
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415968
mov ecx, 0x12
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x41597a
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415982
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415989
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x41598f
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415992
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
mov esi, dword [ebp - 0x70]
mov edi, 0x415995
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x404ab0
cmp dword [ebp - 0x74], 0x42
sete al
cmp dword [ebp - 0x74], 0x62
sete dl
or eax, edx
test al, 1
jne 0x4058d1
cmp dword [ebp - 0x74], 0x78
je 0x4058d1
cld
mov esi, dword [ebp - 0x70]
mov edi, str.Xlinker
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404aa3
cld
mov esi, dword [ebp - 0x70]
mov edi, str.Xpreprocessor
mov ecx, 0xe
repe cmpsb byte [esi], byte es:[edi]
je 0x404aa3
cld
mov esi, dword [ebp - 0x70]
mov edi, str.Xassembler
mov ecx, 0xb
repe cmpsb byte [esi], byte es:[edi]
jne 0x403f7f
mov ebx, 2
jmp 0x403f7f
cld
mov esi, dword [ebp - 0x70]
mov ecx, 6
mov edi, 0x415928
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x41592e
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415934
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x413fc4
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415939
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415941
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x41594a
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415954
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x41595c
mov ecx, 0xc
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415968
mov ecx, 0x12
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x41597a
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415982
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415989
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x41598f
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415992
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x404be3
mov esi, dword [ebp - 0x70]
mov edi, 0x415995
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x404be8
mov ebx, 1
inc ebx
jmp 0x403f7f
mov dword [esp], 0x415710
xor ecx, ecx
mov edx, 0x412434
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040db00
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x3c]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
jmp 0x403bbd
mov edx, 6
mov eax, str.__help
call fcn.004024c0
jmp 0x404028
cld
mov edi, str._print_search_dirs
mov ecx, 0x13
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x404e46
mov eax, 1
mov dword [0x4180f0], eax
mov edi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0xc0], edi
jmp 0x404059
mov dword [ebp - 0x5c], 0
xor eax, eax
lea ebx, [ecx + edx*4]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], ebx
mov esi, dword [ebp - 0xb4]
mov eax, dword [esi + 0x414720]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x60], eax
mov edi, dword [ebp - 0xb8]
mov eax, dword [edi]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x60]
cmp eax, edx
ja 0x404cab
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + 0x414728]
test ecx, ecx
mov dword [ebp - 0x68], ecx
je 0x40504d
mov dword [esp + 8], edx
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xb8]
mov eax, dword [ebx + 0x414720]
mov dword [esp + 4], eax
mov eax, dword [esi]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x404e19
mov dword [ebp - 0x6c], 0
mov edi, dword [ebp - 0x60]
cmp dword [ebp - 0x64], edi
jae 0x404d58
mov ebx, dword [ebp - 0x5c]
inc ebx
cmp ebx, 0x4f
ja 0x404d4f
lea eax, [ebx + ebx*2]
lea edi, [eax*4]
mov esi, dword [edi + 0x414720]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp eax, dword [ebp - 0x64]
jb 0x404d46
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0xb8]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x40560a
inc ebx
add edi, 0xc
cmp ebx, 0x4f
jbe 0x404d10
cmp ebx, 0x50
jne 0x405731
mov ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x64], ecx
jbe 0x405691
mov esi, dword [ebp - 0xb8]
mov ebx, dword [esi]
cmp byte [ecx + ebx], 0x3d
je 0x4056d8
mov edi, dword [ebp - 0x68]
mov eax, 0x2a
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_strchr
test eax, eax
je 0x404e19
mov eax, dword [ebp - 0x60]
add ebx, eax
mov dword [ebp - 0x6c], ebx
mov edx, dword [ebp - 0x68]
mov edi, 0x61
mov dword [esp + 4], edi
mov dword [esp], edx
call sub.msvcrt.dll_strchr
test eax, eax
je 0x405398
mov esi, dword [ebp - 0x6c]
test esi, esi
je 0x4053dd
mov edi, dword [ebp - 0x68]
mov eax, 0x6a
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_strchr
test eax, eax
je 0x40521a
xor eax, eax
mov edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x58]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x6c]
inc dword [ebp - 0x58]
mov dword [esp + 4], eax
lea eax, [edx + edx*2]
mov eax, dword [eax*4 + 0x414724]
mov dword [esp], eax
call fcn.0040db00
mov ecx, dword [ebp - 0x54]
mov dword [ecx + ebx*4], eax
mov esi, dword [ebp - 0x48]
lea ebx, [esi + 1]
mov dword [ebp - 0x48], ebx
jmp 0x403e4d
inc dword [ebp - 0x5c]
add dword [ebp - 0xb4], 0xc
cmp dword [ebp - 0x5c], 0x4f
jbe 0x404c77
jmp 0x405246
mov edx, 0xd
mov eax, str.__target_help
call fcn.004024c0
jmp 0x40411c
cld
mov edi, str._print_libgcc_file_name
mov ecx, 0x18
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x405283
mov eax, str.libgcc.a
mov dword [0x418030], eax
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0xc0], eax
jmp 0x404059
mov dword [esp], str.warning:___x__s_after_last_input_file_has_no_effect
mov ecx, dword [ebp - 0x1c]
mov dword [esp + 4], ecx
call fcn.00402f30
jmp 0x404834
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, 0x21
and eax, 0xfffffff0
call fcn.0040ffc0
lea edx, [esp + 0x2b]
mov esi, ebx
and edx, 0xfffffff0
mov dword [ebp - 0x44], edx
nop
lea esi, [esi]
movzx eax, byte [ebx]
cmp al, 0x3b
sete dl
test al, al
sete al
or eax, edx
test al, 1
je 0x404f5e
mov dword [esp + 4], esi
mov ecx, dword [ebp - 0x44]
mov edi, ebx
sub edi, esi
mov dword [esp + 8], edi
mov dword [esp], ecx
call sub.msvcrt.dll_strncpy
cmp ebx, esi
je 0x40550f
movzx eax, byte [ebx - 1]
cmp al, 0x2f
setne dl
cmp al, 0x5c
setne al
movzx eax, al
test edx, eax
je 0x404f64
mov eax, dword [ebp - 0x44]
mov byte [eax + edi], 0x2f
mov byte [eax + edi + 1], 0
mov dword [esp], 0
xor edx, edx
xor eax, eax
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x44]
mov ecx, 1
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, 0x411034
mov dword [esp + 0x10], ecx
call fcn.00402190
cmp byte [ebx], 0
je 0x403df9
lea esi, [ebx + 1]
mov ebx, esi
movzx eax, byte [ebx]
cmp al, 0x3b
sete dl
test al, al
sete al
or eax, edx
test al, 1
jne 0x404ec7
inc ebx
jmp 0x404eb0
mov edx, dword [ebp - 0x44]
mov byte [edx + edi], 0
jmp 0x404f07
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, 0x21
and eax, 0xfffffff0
call fcn.0040ffc0
lea eax, [esp + 0x2b]
mov esi, ebx
and eax, 0xfffffff0
mov dword [ebp - 0x40], eax
lea esi, [esi]
movzx eax, byte [ebx]
cmp al, 0x3b
sete dl
test al, al
sete al
or eax, edx
test al, 1
je 0x40503e
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x40]
mov edi, ebx
sub edi, esi
mov dword [esp + 8], edi
mov dword [esp], edx
call sub.msvcrt.dll_strncpy
cmp ebx, esi
je 0x4054e0
movzx eax, byte [ebx - 1]
cmp al, 0x2f
setne dl
cmp al, 0x5c
setne al
movzx eax, al
test edx, eax
je 0x405044
mov esi, dword [ebp - 0x40]
mov byte [esi + edi], 0x2f
mov byte [esi + edi + 1], 0
mov dword [esp], 0
mov eax, 1
mov edx, dword [ebp - 0x40]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, 0x411034
call fcn.00402190
cmp byte [ebx], 0
je 0x403dd9
lea esi, [ebx + 1]
mov ebx, esi
movzx eax, byte [ebx]
cmp al, 0x3b
sete dl
test al, al
sete al
or eax, edx
test al, 1
jne 0x404fa7
inc ebx
jmp 0x404f90
mov eax, dword [ebp - 0x40]
mov byte [eax + edi], 0
jmp 0x404fe7
mov dword [ebp - 0x68], 0x41237c
jmp 0x404cc2
movzx eax, byte [eax + 1]
cmp al, 0x56
sete dl
cmp al, 0x62
sete al
or eax, edx
test al, 1
je 0x403ab2
mov dword [ebp - 0x30], str.3.4.5
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x34], str.mingw32
mov edi, dword [ecx]
cmp dword [ebp - 0xac], 1
jle 0x4050f5
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 4]
cmp byte [ecx], 0x2d
jne 0x4050f5
movzx ebx, byte [ecx + 1]
cmp bl, 0x56
sete al
cmp bl, 0x62
sete dl
or eax, edx
test al, 1
je 0x4050f5
cmp byte [ecx + 2], 0
je 0x4051d7
dec dword [ebp - 0xac]
lea eax, [ecx + 2]
add dword [ebp - 0xa8], 4
cmp bl, 0x56
mov esi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], edx
je 0x405212
cmp dword [ebp - 0xac], 1
mov dword [ebp - 0x34], eax
jg 0x405090
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov esi, eax
jmp 0x405117
movzx eax, byte [edi + esi - 1]
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or eax, edx
test al, 1
jne 0x40511b
dec esi
test esi, esi
jg 0x405101
mov edx, dword [ebp - 0x34]
xor eax, eax
mov ebx, str._gcc_
mov dword [esp + 8], ebx
mov ecx, dword [ebp - 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.0040da30
mov dword [esp], edi
lea eax, [eax + esi + 1]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
call fcn.0040efd0
mov edi, dword [ebp - 0x34]
mov ebx, eax
lea eax, [eax + esi]
mov dword [esp], eax
mov dword [esp + 4], edi
call sub.msvcrt.dll_strcpy
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [eax + ebx], 0x6363672d
mov word [eax + ebx + 4], 0x2d
mov eax, dword [ebp - 0x30]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcat
mov eax, dword [ebp - 0x10]
lea eax, [eax*4 + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call fcn.0040efd0
mov dword [eax], ebx
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll__execvp
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040ef90
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], str.couldnt_run___s:__s
call fcn.00403300
cmp dword [ebp - 0xac], 2
jle 0x40573f
sub dword [ebp - 0xac], 2
mov ecx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xac]
mov eax, dword [ecx + 8]
add ecx, 8
cmp bl, 0x56
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x14], ecx
jne 0x4050e9
mov dword [ebp - 0x30], eax
jmp 0x405087
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4053bf
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
lea eax, [edx + edx*2]
mov esi, dword [ebp - 0x6c]
mov eax, dword [eax*4 + 0x414724]
mov dword [ebx + ecx*4], eax
inc ecx
mov dword [ebx + ecx*4], esi
inc ecx
mov dword [ebp - 0x58], ecx
mov edi, dword [ebp - 0x48]
lea ebx, [edi + 1]
mov dword [ebp - 0x48], ebx
jmp 0x403e4d
mov dword [esp + 4], edx
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp], str.GCC_EXEC_PREFIX
call fcn.0040db00
mov dword [esp], eax
call sub.msvcrt.dll__putenv
mov ecx, dword [0x418340]
mov dword [ebp - 0xc0], ecx
jmp 0x403c82
cld
mov edi, str._print_file_name
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4053fb
lea eax, [ebx + 0x11]
mov dword [0x418030], eax
jmp 0x40404f
mov dword [esp], edx
xor eax, eax
xor edi, edi
mov dword [esp + 0x18], eax
mov eax, 0x412434
xor esi, esi
mov dword [esp + 0x10], eax
mov eax, dword [str.3.4.5]
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], eax
mov eax, 0x412434
mov dword [esp + 8], eax
mov eax, dword [str.mingw32]
mov dword [esp + 4], eax
call fcn.0040db00
mov ebx, eax
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, 0x412434
mov dword [esp + 8], eax
mov eax, 0x4158fa
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040db00
mov dword [esp + 0x10], edi
mov edx, 1
xor ecx, ecx
mov dword [esp + 4], edx
mov edx, eax
mov eax, 0x411020
mov dword [esp + 8], ecx
mov edi, 0x414b8d
mov dword [esp + 0xc], esi
mov esi, 1
mov dword [esp], 0
call fcn.00402190
mov dword [esp], ebx
xor eax, eax
xor ebx, ebx
mov dword [esp + 0xc], eax
mov eax, 0x412434
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call fcn.0040db00
mov dword [esp + 0xc], ebx
mov edx, 1
xor ecx, ecx
mov dword [esp + 4], edx
mov edx, eax
mov eax, 0x411034
mov dword [esp + 0x10], esi
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.00402190
mov ebx, dword [0x418360]
jmp 0x4043c7
mov dword [esp], str.warning:__pipe_ignored_because__save_temps_specified
call fcn.00402f30
jmp 0x4041de
mov ebx, 0x2a
mov dword [esp + 4], ebx
mov ebx, dword [ebp - 0x68]
mov dword [esp], ebx
call sub.msvcrt.dll_strchr
test eax, eax
je 0x405627
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x404dc1
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
mov eax, dword [edx + 0x414724]
mov dword [ebx + ecx*4], eax
inc ecx
mov dword [ebp - 0x58], ecx
jmp 0x404e0b
mov ebx, dword [ebp - 0x48]
inc ebx
cmp ebx, dword [ebp - 0x4c]
je 0x4056e1
mov dword [ebp - 0x48], ebx
mov ecx, dword [ebp - 0xb8]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x6c], ecx
jmp 0x4053b4
cld
mov ecx, dword [ebp - 0x18]
mov edi, str._print_prog_name
mov esi, dword [ebp - 0xa8]
mov ebx, dword [esi + ecx*4]
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054d3
cld
mov edi, str._print_multi_lib
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40566c
mov eax, 1
mov dword [0x418120], eax
jmp 0x404e65
mov dword [esp], str.warning:__pipe_ignored_because__time_specified
call fcn.00402f30
jmp 0x4041de
cmp dword [ebp - 0x74], 0x78
sete al
cmp dword [ebp - 0x74], 0x4c
sete dl
or eax, edx
test al, 1
jne 0x403f69
cmp dword [ebp - 0x74], 0x41
sete al
cmp dword [ebp - 0x74], 0x56
sete dl
or eax, edx
test al, 1
jne 0x403f69
cmp dword [ebp - 0x74], 0x42
sete al
cmp dword [ebp - 0x74], 0x62
sete dl
or eax, edx
test al, 1
je 0x403f6e
jmp 0x403f69
cmp dword [ebp - 0x74], 0x41
sete al
cmp dword [ebp - 0x74], 0x56
sete dl
or eax, edx
test al, 1
jne 0x403ef1
cmp dword [ebp - 0x74], 0x42
sete al
cmp dword [ebp - 0x74], 0x62
sete dl
or eax, edx
test al, 1
je 0x403ef6
jmp 0x403ef1
lea eax, [ebx + 0x11]
mov dword [0x418020], eax
jmp 0x404c50
mov dword [esp], 0x415710
xor eax, eax
mov dword [esp + 8], eax
mov eax, 0x412434
mov dword [esp + 4], eax
call fcn.0040db00
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x40]
mov dword [esp], ecx
call sub.msvcrt.dll_strcpy
jmp 0x404fe7
mov dword [esp], 0x415710
xor edi, edi
mov esi, 0x412434
mov dword [esp + 4], esi
mov dword [esp + 8], edi
call fcn.0040db00
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x44]
mov dword [esp], esi
call sub.msvcrt.dll_strcpy
jmp 0x404f07
mov eax, dword [str.mingw32]
mov dword [esp], eax
call sub.msvcrt.dll_puts
mov dword [esp], 0
call sub.msvcrt.dll_exit
mov eax, dword [str.3.4.5]
jmp 0x405543
call fcn.00403940
mov ebx, dword [0x4180a0]
jmp 0x405589
mov eax, dword [ebx + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp], str._s:_n_s_n_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x40556b
mov eax, dword [str.__fsyntax_only:__c:__M:__MM:__E:__S:______linker___l__pie:_pie__X__o__A__d__e__m__N__n__r_____s__t__u__x__z__Z___A:__nostdlib:__nostartfiles:_S_____static:__L___link_libgcc___o__fprofile_arcsfprofile_generate:_lgcov______nostdlib:__nodefaultlibs:__link_gcc_c_sequence_______A:__nostdlib:__nostartfiles:_E__T_]
test eax, eax
je 0x40554b
mov dword [esp + 4], eax
mov dword [esp], str.link_command:_n_s_n_n
call sub.msvcrt.dll_printf
jmp 0x40554b
mov dword [esp], str._s__GCC___s_n
mov eax, str.3.4.5__mingw_vista_special_r3_
mov edi, 0x415aba
mov dword [esp + 8], eax
mov eax, dword [0x418400]
mov esi, 0x98
mov ebx, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov dword [esp + 4], edi
mov dword [esp], str.Copyright__s_2004_Free_Software_Foundation__Inc._n
call sub.msvcrt.dll_printf
mov dword [esp + 8], esi
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], ebx
mov dword [esp], str.This_is_free_software__see_the_source_for_copying_conditions.__There_is_NO_nwarranty__not_even_for_MERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._n_n
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x40554b
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
mov dword [esp], str.ambiguous_abbreviation__s
mov dword [esp + 4], eax
call fcn.00402f30
jmp 0x404d4f
mov dword [esp], ebx
mov ecx, 0x6f
mov dword [esp + 4], ecx
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x4053b4
mov edx, dword [ebp - 0x6c]
test edx, edx
je 0x4053bf
mov dword [esp], str.extraneous_argument_to___s_option
mov esi, dword [ebp - 0xb4]
mov eax, dword [esi + 0x414720]
mov dword [esp + 4], eax
call fcn.00402f30
jmp 0x4053bf
cld
mov edi, str._print_multi_directory
mov ecx, 0x17
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x405706
mov edi, 1
mov dword [0x418100], edi
jmp 0x40404f
mov eax, 0x2a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x404d9a
mov dword [esp], str.incomplete___s_option
mov edx, dword [ebp - 0x5c]
lea eax, [edx + edx*2]
mov eax, dword [eax*4 + 0x414720]
mov dword [esp + 4], eax
call fcn.00402f30
mov ecx, dword [ebp - 0x48]
lea ebx, [ecx + 1]
mov dword [ebp - 0x48], ebx
jmp 0x403e4d
lea ebx, [ebx + ecx + 1]
jmp 0x404d97
mov dword [esp], str.missing_argument_to___s_option
mov edi, dword [ebp - 0x5c]
lea eax, [edi + edi*2]
mov eax, dword [eax*4 + 0x414720]
mov dword [esp + 4], eax
call fcn.00402f30
mov dword [ebp - 0x48], ebx
jmp 0x403e4d
cld
mov edi, str._print_multi_os_directory
mov ecx, 0x1a
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x405752
mov ecx, dword [ebp - 0x18]
mov esi, 1
mov dword [0x418110], esi
inc ecx
mov dword [ebp - 0xc0], ecx
jmp 0x404059
mov eax, dword [ebp - 0x48]
lea ebx, [eax + 1]
mov dword [ebp - 0x48], ebx
jmp 0x403e4d
mov dword [esp], str.___c_option_must_have_argument
movsx eax, bl
mov dword [esp + 4], eax
call fcn.00403300
cld
mov ecx, 4
mov esi, ebx
mov edi, str._Wa_
repe cmpsb byte [esi], byte es:[edi]
jne 0x4057ca
cmp byte [ebx + 4], 0
mov ecx, 4
mov esi, 4
jmp 0x40579e
mov ebx, dword [ebp - 0x18]
lea edx, [esi + 1]
mov edi, dword [ebp - 0xa8]
mov eax, dword [edi + ebx*4]
cmp byte [esi + eax], 0x2c
je 0x405818
mov esi, edx
mov ebx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx + edx*4]
cmp byte [esi + eax], 0
jne 0x405773
mov eax, dword [ebp - 0xa8]
sub esi, ecx
mov edi, dword [ebp - 0x18]
mov edx, esi
mov ebx, dword [eax + edi*4]
add ecx, ebx
mov eax, ecx
call fcn.00402540
mov edx, dword [ebp - 0x10]
lea ecx, [edi + 1]
mov dword [ebp - 0xac], edx
jmp 0x405726
cld
mov edi, str._Wp_
mov ecx, 4
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40586f
cmp byte [ebx + 4], 0
mov ecx, 4
mov esi, 4
je 0x405851
mov ebx, dword [ebp - 0x18]
lea edx, [esi + 1]
mov edi, dword [ebp - 0xa8]
mov eax, dword [edi + ebx*4]
cmp byte [esi + eax], 0x2c
je 0x405836
mov esi, edx
mov ebx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx + edx*4]
cmp byte [esi + eax], 0
jmp 0x4057ed
mov edx, esi
add eax, ecx
sub edx, ecx
call fcn.00402540
mov eax, dword [ebp - 0x14]
lea edx, [esi + 1]
mov ecx, edx
mov dword [ebp - 0xa8], eax
jmp 0x40578c
mov edx, esi
add eax, ecx
sub edx, ecx
call fcn.004024c0
mov eax, dword [ebp - 0x14]
lea edx, [esi + 1]
mov ecx, edx
mov dword [ebp - 0xa8], eax
jmp 0x405804
mov eax, dword [ebp - 0xa8]
sub esi, ecx
mov edi, dword [ebp - 0x18]
mov edx, dword [eax + edi*4]
add ecx, edx
mov eax, ecx
mov edx, esi
call fcn.004024c0
jmp 0x4057b9
cmp byte [ebx], 0x2b
je 0x405953
cld
mov edi, dword [ebp - 0xa8]
mov eax, 4
mov esi, dword [ebp - 0x18]
mov ecx, eax
mov esi, dword [edi + esi*4]
mov edi, str._Wl_
mov dword [ebp - 0xbc], esi
repe cmpsb byte [esi], byte es:[edi]
jne 0x405925
mov ebx, dword [ebp - 0xbc]
mov edx, 3
cmp byte [ebx + 3], 0
je 0x404177
mov esi, ebx
xor eax, eax
cmp byte [edx + esi], 0x2c
sete al
inc edx
add dword [0x418750], eax
cmp byte [edx + esi], 0
jne 0x4058b6
jmp 0x404177
cmp byte [ebp - 0xa1], 0
je 0x404aa3
jmp 0x404a69
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0xac], ebx
mov eax, dword [0x418750]
mov esi, 0x41590d
mov edx, dword [0x418470]
mov ecx, dword [ebp - 0xa8]
mov dword [edx + eax*8 + 4], esi
mov esi, dword [ebp - 0x18]
mov ebx, dword [ecx + esi*4]
add edi, ebx
lea ebx, [esi + 1]
mov dword [edx + eax*8], edi
inc eax
mov dword [0x418750], eax
mov dword [ebp - 0xc0], ebx
jmp 0x404800
cld
mov esi, dword [ebp - 0xbc]
mov eax, 9
mov edi, str._Xlinker
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x405974
mov eax, dword [ebp - 0x18]
inc eax
cmp eax, dword [ebp - 0xac]
je 0x405968
inc dword [0x418750]
jmp 0x404e68
cmp byte [ebx + 1], 0x65
jne 0x405878
inc dword [0x418460]
jmp 0x404143
mov dword [esp], str.argument_to___Xlinker_is_missing
call fcn.00403300
cld
mov esi, dword [ebp - 0xbc]
mov eax, 0xf
mov edi, str._Xpreprocessor
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x405a62
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0xac]
inc ebx
mov dword [ebp - 0xc0], ebx
cmp ebx, esi
je 0x405a56
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x18]
mov ebx, dword [eax + edi*4 + 4]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, eax
mov eax, ebx
call fcn.004024c0
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xac], edx
jmp 0x404059
cld
mov esi, dword [ebp - 0xbc]
mov eax, 9
mov edi, str._Xlinker
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x405a1c
cld
mov esi, dword [ebp - 0xbc]
mov eax, 0xc
mov edi, str._Xassembler
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x405a1c
cld
mov esi, dword [ebp - 0xbc]
mov eax, 0xf
mov edi, str._Xpreprocessor
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x405b02
inc dword [ebp - 0x18]
mov edx, 0x41590d
mov eax, dword [0x418750]
mov ecx, dword [0x418470]
mov dword [ecx + eax*8 + 4], edx
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0xa8]
lea edi, [ebx + 1]
mov dword [ebp - 0xc0], edi
mov edx, dword [esi + ebx*4]
mov dword [ecx + eax*8], edx
inc eax
mov dword [0x418750], eax
jmp 0x404800
mov dword [esp], str.argument_to___Xpreprocessor_is_missing
jmp 0x40596f
cld
mov esi, dword [ebp - 0xbc]
mov eax, 0xc
mov edi, str._Xassembler
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x405b58
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0xac]
inc ebx
mov dword [ebp - 0xc0], ebx
cmp ebx, esi
je 0x405b4c
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x18]
mov ebx, dword [eax + edi*4 + 4]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, eax
mov eax, ebx
call fcn.00402540
jmp 0x4059c5
cmp byte [ebx + 1], 0x65
jne 0x40462b
mov eax, dword [0x418460]
xor ecx, ecx
mov edx, dword [0x418450]
shl eax, 4
mov byte [eax + edx + 0xc], 0
mov dword [eax + edx + 8], ecx
inc dword [0x418460]
mov dword [eax + edx], ebx
xor ebx, ebx
mov dword [eax + edx + 4], ebx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0xac], eax
inc edx
mov dword [ebp - 0xc0], edx
jmp 0x404800
cld
mov esi, dword [ebp - 0xbc]
mov ebx, 0x415c8c
mov eax, 3
mov edi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x405b8d
cld
mov esi, dword [ebp - 0xbc]
mov eax, 2
mov edi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x404700
mov eax, dword [0x418750]
mov edi, 0x41590d
mov ecx, dword [0x418470]
mov dword [ecx + eax*8 + 4], edi
jmp 0x405a33
mov dword [esp], str.argument_to___Xassembler_is_missing
jmp 0x40596f
cld
mov esi, dword [ebp - 0xbc]
mov ebx, 0x415c8c
mov eax, 3
mov edi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x405be3
mov eax, dword [ebp - 0x18]
inc eax
cmp eax, dword [ebp - 0xac]
jne 0x405948
mov dword [esp], str.argument_to___l_is_missing
jmp 0x40596f
inc dword [ebp - 0x18]
mov eax, 0x41590d
mov ebx, dword [0x418750]
mov esi, dword [0x418470]
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0xa8]
mov dword [esi + ebx*8 + 4], eax
xor eax, eax
mov dword [esp + 8], eax
lea eax, [ebx + 1]
mov dword [0x418750], eax
mov eax, dword [edx + edi*4]
mov dword [esp], 0x415c8c
mov dword [esp + 4], eax
call fcn.0040db00
mov dword [esi + ebx*8], eax
mov ecx, dword [ebp - 0x10]
lea ebx, [edi + 1]
mov dword [ebp - 0xac], ecx
jmp 0x40591a
cld
mov esi, dword [ebp - 0xbc]
mov eax, 2
mov edi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4063b7
inc dword [0x418750]
jmp 0x404143
mov dword [esp], ebx
xor edi, edi
mov dword [esp + 4], edi
call sub.msvcrt.dll__access
test eax, eax
js 0x4063de
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], ebx
jmp 0x4047c7
movzx eax, byte [esi + 1]
test al, al
je 0x4047a6
movsx eax, al
inc esi
cmp eax, 0x78
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x94], eax
je 0x40616d
mov edx, dword [0x418460]
mov ecx, dword [ebp - 0x90]
mov ebx, dword [0x418450]
mov dword [ebp - 0xa0], edx
mov eax, edx
shl eax, 4
mov dword [eax + ebx], ecx
xor ecx, ecx
cmp dword [ebp - 0x94], 0x44
sete dl
cmp dword [ebp - 0x94], 0x55
sete al
or eax, edx
test al, 1
jne 0x405d23
cmp dword [ebp - 0x94], 0x6f
sete al
cmp dword [ebp - 0x94], 0x65
sete dl
or eax, edx
test al, 1
jne 0x405d23
cmp dword [ebp - 0x94], 0x54
sete al
cmp dword [ebp - 0x94], 0x75
sete dl
or eax, edx
test al, 1
jne 0x405d23
cmp dword [ebp - 0x94], 0x49
sete al
cmp dword [ebp - 0x94], 0x6d
sete dl
or eax, edx
test al, 1
jne 0x405d23
cmp dword [ebp - 0x94], 0x4c
je 0x405d23
cmp dword [ebp - 0x94], 0x41
sete al
cmp dword [ebp - 0x94], 0x56
sete dl
or eax, edx
test al, 1
jne 0x405d23
cmp dword [ebp - 0x94], 0x42
sete al
cmp dword [ebp - 0x94], 0x62
sete dl
or eax, edx
test al, 1
je 0x405d28
mov ecx, 1
mov eax, dword [ebp - 0x90]
movzx eax, byte [eax + 1]
test al, al
mov byte [ebp - 0xad], al
setne al
movzx eax, al
cmp ecx, eax
jg 0x405eb1
cld
mov esi, dword [ebp - 0x90]
mov ecx, 6
mov edi, 0x415928
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x41592e
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415934
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x413fc4
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415939
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415941
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x41594a
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415954
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x41595c
mov ecx, 0xc
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415968
mov ecx, 0x12
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x41597a
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415982
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415989
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x41598f
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415992
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x405eb1
mov esi, dword [ebp - 0x90]
mov edi, 0x415995
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x406218
cld
xor esi, esi
mov ecx, 6
mov dword [ebp - 0x98], esi
mov esi, dword [ebp - 0x90]
mov edi, 0x415928
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x41592e
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415934
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x413fc4
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415939
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415941
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x41594a
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415954
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x41595c
mov ecx, 0xc
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415968
mov ecx, 0x12
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x41597a
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415982
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415989
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x41598f
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415992
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x406022
mov esi, dword [ebp - 0x90]
mov edi, 0x415995
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x4062bc
mov esi, 1
mov eax, dword [ebp - 0x18]
add eax, esi
cmp eax, dword [ebp - 0xac]
jge 0x406477
shl dword [ebp - 0xa0], 4
lea eax, [esi*4 + 4]
mov dword [esp], eax
call fcn.0040e5d0
cmp dword [ebp - 0x98], esi
mov ecx, dword [ebp - 0xa0]
mov dword [ecx + ebx + 4], eax
jge 0x406460
mov ebx, dword [ebp - 0x14]
mov edi, dword [0x418460]
mov dword [ebp - 0xa8], ebx
mov ebx, dword [0x418450]
mov eax, edi
mov dword [ebp - 0xa0], edi
shl eax, 4
mov edx, dword [eax + ebx + 4]
inc dword [ebp - 0x18]
mov edi, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x18]
mov eax, dword [edi + ecx*4]
mov ecx, dword [ebp - 0x98]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, esi
mov dword [ebp - 0x98], ecx
jl 0x406088
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x98]
shl eax, 4
mov eax, dword [eax + ebx + 4]
mov dword [eax + esi*4], 0
cld
mov eax, dword [ebp - 0xa0]
xor edx, edx
mov edi, str.save_temps
mov ecx, 0xb
shl eax, 4
mov byte [eax + ebx + 0xc], 0
mov dword [eax + ebx + 8], edx
mov eax, dword [0x418460]
mov edx, dword [0x418450]
shl eax, 4
mov byte [eax + edx + 0xd], 0
mov esi, dword [ebp - 0x90]
repe cmpsb byte [esi], byte es:[edi]
je 0x40613d
mov esi, dword [ebp - 0x90]
mov edi, str.static_libgcc
mov ecx, 0xe
repe cmpsb byte [esi], byte es:[edi]
je 0x40613d
mov esi, dword [ebp - 0x90]
mov edi, str.shared_libgcc
mov ecx, 0xe
repe cmpsb byte [esi], byte es:[edi]
je 0x40613d
mov esi, dword [ebp - 0x90]
mov edi, 0x415cf8
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
jne 0x4061a7
mov eax, dword [0x418460]
mov edx, dword [0x418450]
shl eax, 4
mov byte [eax + edx + 0xc], 1
mov ebx, dword [0x418460]
mov dword [ebp - 0xa0], ebx
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [0x418460], eax
jmp 0x405aea
cmp byte [esi + 1], 0
je 0x4061e6
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x90]
inc ebx
mov dword [ebp - 0xc0], ebx
inc esi
mov dword [ebp - 0x1c], esi
cld
mov esi, dword [ebp - 0x1c]
mov eax, str.none
mov ecx, 5
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4061d9
mov dword [ebp - 0x1c], 0
jmp 0x404800
mov esi, dword [0x418460]
mov ecx, dword [0x418450]
mov edx, esi
mov dword [ebp - 0xa0], esi
shl edx, 4
mov eax, dword [edx + ecx]
cmp byte [eax], 0x42
jne 0x40615c
mov byte [edx + ecx + 0xc], 1
mov edi, dword [0x418460]
mov dword [ebp - 0xa0], edi
jmp 0x40615c
mov eax, dword [0x418750]
mov dword [ebp - 0x20], eax
jmp 0x404800
mov eax, dword [ebp - 0xac]
cmp ebx, eax
je 0x406397
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + edx*4]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x1c], edx
inc ecx
mov dword [ebp - 0xc0], ecx
jmp 0x406187
mov eax, dword [ebp - 0x94]
mov dword [esp + 4], eax
mov eax, dword [0x411044]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x4063a3
mov dword [esp], 2
call fcn.0040e5d0
movzx edx, byte [ebp - 0x94]
mov byte [eax + 1], 0
mov byte [eax], dl
mov ebx, dword [0x418460]
mov esi, dword [0x418450]
shl ebx, 4
mov dword [ebx + esi], eax
mov dword [esp], 8
call fcn.0040e5d0
mov dword [ebx + esi + 4], eax
mov eax, dword [0x418460]
mov edx, dword [0x418450]
shl eax, 4
mov ebx, dword [eax + edx + 4]
mov eax, dword [ebp - 0x90]
inc eax
mov dword [esp], eax
call fcn.0040f730
mov dword [ebx], eax
mov ecx, dword [0x418460]
mov ebx, dword [0x418450]
mov dword [ebp - 0xa0], ecx
mov eax, ecx
shl eax, 4
mov eax, dword [eax + ebx + 4]
mov dword [eax + 4], 0
jmp 0x4060c5
xor ecx, ecx
cmp dword [ebp - 0x94], 0x44
sete al
cmp dword [ebp - 0x94], 0x55
sete dl
or eax, edx
test al, 1
jne 0x40637c
cmp dword [ebp - 0x94], 0x6f
sete al
cmp dword [ebp - 0x94], 0x65
sete dl
or eax, edx
test al, 1
jne 0x40637c
cmp dword [ebp - 0x94], 0x54
sete al
cmp dword [ebp - 0x94], 0x75
sete dl
or eax, edx
test al, 1
jne 0x40637c
cmp dword [ebp - 0x94], 0x49
sete al
cmp dword [ebp - 0x94], 0x6d
sete dl
or eax, edx
test al, 1
jne 0x40637c
cmp dword [ebp - 0x94], 0x78
sete al
cmp dword [ebp - 0x94], 0x4c
sete dl
or eax, edx
test al, 1
jne 0x40637c
cmp dword [ebp - 0x94], 0x41
sete al
cmp dword [ebp - 0x94], 0x56
sete dl
or eax, edx
test al, 1
jne 0x40637c
cmp dword [ebp - 0x94], 0x42
sete al
cmp dword [ebp - 0x94], 0x62
sete dl
or eax, edx
test al, 1
je 0x406381
mov ecx, 1
cmp byte [ebp - 0xad], 0
setne al
movzx esi, al
sub ecx, esi
mov esi, ecx
jmp 0x406027
mov dword [esp], str.argument_to___x_is_missing
jmp 0x40596f
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
shl eax, 4
mov dword [eax + ebx + 4], ecx
jmp 0x4060c5
cld
mov esi, dword [ebp - 0xbc]
mov eax, 0xc
mov edi, str._save_temps
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x406403
mov edi, 1
mov dword [0x418190], edi
jmp 0x40595d
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + edi*4]
call fcn.00402fa0
inc dword [0x418010]
lea edx, [edi + 1]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xac], eax
jmp 0x405af7
cld
mov esi, dword [ebp - 0xbc]
mov eax, 7
mov edi, str._specs
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x40650e
cld
mov esi, dword [ebp - 0xbc]
mov eax, 7
mov edi, 0x4145df
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4064c0
cld
mov esi, dword [ebp - 0xbc]
mov eax, 6
mov edi, str._time
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x40648d
mov esi, 1
mov dword [0x418170], esi
jmp 0x404143
mov ebx, dword [0x418460]
mov dword [ebp - 0xa0], ebx
mov ebx, dword [0x418450]
jmp 0x4060ab
mov dword [esp], str.argument_to____s_is_missing
mov edx, dword [ebp - 0x90]
mov dword [esp + 4], edx
call fcn.00403300
cld
mov esi, dword [ebp - 0x18]
mov eax, 6
mov edi, dword [ebp - 0xa8]
mov ecx, eax
mov ebx, dword [edi + esi*4]
mov edi, str._pipe
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x406555
mov ebx, 1
mov dword [0x4181a0], ebx
jmp 0x40595d
mov dword [esp], 8
call fcn.0040e5d0
mov ebx, eax
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + edi*4]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp eax, 7
je 0x40658c
mov dword [ebx], 0
lea eax, [esi + 7]
mov dword [ebx + 4], eax
mov eax, dword [0x4182b0]
test eax, eax
je 0x406581
mov dword [eax], ebx
mov dword [0x4182b0], ebx
jmp 0x404046
mov dword [esp], 8
call fcn.0040e5d0
inc dword [ebp - 0x18]
mov edx, eax
mov ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xac], ebx
jge 0x406598
mov dword [eax], 0
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + esi*4]
mov dword [edx + 4], eax
mov eax, dword [0x4182b0]
test eax, eax
je 0x406579
mov dword [eax], edx
mov dword [0x4182b0], edx
jmp 0x404c50
cld
mov eax, 5
mov edi, str._
mov esi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4065a4
inc dword [0x418150]
inc dword [0x418140]
jmp 0x404143
mov dword [0x4182a0], edx
jmp 0x40654a
mov dword [0x4182a0], ebx
jmp 0x406503
mov dword [esp], 0x415d3c
jmp 0x40596f
mov dword [esp], str.argument_to___specs_is_missing
jmp 0x40596f
cmp byte [ebx], 0x2d
je 0x4065b7
inc dword [0x418750]
inc dword [ebp - 0x2c]
jmp 0x40404f
movzx eax, byte [ebx + 1]
test al, al
je 0x4065a9
movsx eax, al
inc ebx
mov dword [ebp - 0x78], eax
sub eax, 0x42
cmp eax, 0x34
ja case.0x4065ce.67
jmp dword [eax*4 + 0x415dd4]
movzx eax, byte [ebx + 1]
mov byte [ebp - 0x99], al
cmp byte [ebp - 0x99], 0
jne 0x406aab
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov esi, dword [ebp - 0xa8]
cmp dword [ebp - 0x24], 0
mov eax, dword [esi + ecx*4 + 4]
mov dword [esp], 0
sete dl
call fcn.00402350
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov dword [edx + edi*4 + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xac], eax
inc dword [0x418460]
xor ecx, ecx
cmp dword [ebp - 0x78], 0x44
sete al
cmp dword [ebp - 0x78], 0x55
sete dl
or eax, edx
test al, 1
jne 0x4066b5
cmp dword [ebp - 0x78], 0x6f
sete al
cmp dword [ebp - 0x78], 0x65
sete dl
or eax, edx
test al, 1
jne 0x4066b5
cmp dword [ebp - 0x78], 0x54
sete al
cmp dword [ebp - 0x78], 0x75
sete dl
or eax, edx
test al, 1
jne 0x4066b5
cmp dword [ebp - 0x78], 0x49
sete al
cmp dword [ebp - 0x78], 0x6d
sete dl
or eax, edx
test al, 1
jne 0x4066b5
cmp dword [ebp - 0x78], 0x78
sete al
cmp dword [ebp - 0x78], 0x4c
sete dl
or eax, edx
test al, 1
jne 0x4066b5
cmp dword [ebp - 0x78], 0x41
sete al
cmp dword [ebp - 0x78], 0x56
sete dl
or eax, edx
test al, 1
jne 0x4066b5
cmp dword [ebp - 0x78], 0x42
sete al
cmp dword [ebp - 0x78], 0x62
sete dl
or eax, edx
test al, 1
je 0x4066ba
mov ecx, 1
movzx edx, byte [ebx + 1]
xor eax, eax
test dl, dl
mov byte [ebp - 0x99], dl
setne al
cmp ecx, eax
jle 0x4067a4
xor ecx, ecx
cmp dword [ebp - 0x78], 0x44
sete al
cmp dword [ebp - 0x78], 0x55
sete dl
or eax, edx
test al, 1
jne 0x406761
cmp dword [ebp - 0x78], 0x6f
sete al
cmp dword [ebp - 0x78], 0x65
sete dl
or eax, edx
test al, 1
jne 0x406761
cmp dword [ebp - 0x78], 0x54
sete al
cmp dword [ebp - 0x78], 0x75
sete dl
or eax, edx
test al, 1
jne 0x406761
cmp dword [ebp - 0x78], 0x49
sete al
cmp dword [ebp - 0x78], 0x6d
sete dl
or eax, edx
test al, 1
jne 0x406761
cmp dword [ebp - 0x78], 0x78
sete al
cmp dword [ebp - 0x78], 0x4c
sete dl
or eax, edx
test al, 1
jne 0x406761
cmp dword [ebp - 0x78], 0x41
sete al
cmp dword [ebp - 0x78], 0x56
sete dl
or eax, edx
test al, 1
jne 0x406761
cmp dword [ebp - 0x78], 0x42
sete al
cmp dword [ebp - 0x78], 0x62
sete dl
or eax, edx
test al, 1
je 0x406766
mov ecx, 1
xor edx, edx
cmp byte [ebp - 0x99], 0
mov ebx, dword [ebp - 0x18]
setne dl
lea eax, [ecx + ebx]
sub eax, edx
jmp 0x404e68
inc dword [0x418460]
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0xc0], ecx
cmp byte [ebx + 1], 0
jne 0x404059
inc dword [0x418140]
jmp 0x404059
cld
mov ecx, 6
mov esi, ebx
mov edi, 0x415928
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x41592e
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x415934
mov ecx, 5
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x413fc4
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x415939
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x415941
mov ecx, 9
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x41594a
mov ecx, 0xa
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x415954
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x41595c
mov ecx, 0xc
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x415968
mov ecx, 0x12
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x41597a
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x415982
mov ecx, 7
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x415989
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x41598f
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov edi, 0x415992
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4068df
mov esi, ebx
mov edi, 0x415995
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
mov esi, dword [ebp - 0x18]
seta dl
setb al
inc esi
cmp dl, al
mov dword [ebp - 0xc0], esi
jne 0x404059
cld
xor eax, eax
mov ecx, 6
mov dword [ebp - 0x88], eax
mov esi, ebx
mov edi, 0x415928
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x41592e
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415934
mov ecx, 5
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x413fc4
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415939
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415941
mov ecx, 9
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x41594a
mov ecx, 0xa
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415954
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x41595c
mov ecx, 0xc
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415968
mov ecx, 0x12
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x41597a
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415982
mov ecx, 7
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415989
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x41598f
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415992
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x406a08
mov edi, 0x415995
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x406a13
mov eax, 1
mov dword [ebp - 0x88], eax
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x88]
lea edi, [edi + eax + 1]
jmp 0x404c54
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x4065d5
mov edi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x84], edi
movzx eax, byte [ebx + 1]
test al, al
mov byte [ebp - 0x99], al
jne 0x406a5b
mov edx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp - 0xac]
cmp dword [ebp - 0x84], ecx
jge 0x4065df
mov edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0xa8]
mov esi, dword [eax + edi*4]
cmp byte [esi], 0x2d
je 0x406aed
inc dword [ebp - 0x84]
mov esi, dword [ebp - 0xac]
cmp dword [ebp - 0x84], esi
jmp 0x406a67
cmp byte [ebx + 1], 0
jne case.0x4065ce.67
mov dword [ebp - 0x24], 1
jmp 0x404171
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov esi, dword [ebp - 0xa8]
cmp dword [ebp - 0x24], 0
mov eax, dword [esi + ecx*4]
mov dword [esp], 0
sete dl
call fcn.00402350
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov dword [edx + edi*4], eax
jmp 0x406618
mov dword [esp], str.___c_must_come_at_the_start_of_the_command_line
mov esi, dword [ebp - 0x78]
mov dword [esp + 4], esi
call fcn.00403300
movzx ecx, byte [esi + 1]
cmp cl, 0x63
sete al
cmp cl, 0x53
sete dl
or eax, edx
test al, 1
je 0x406b0d
cmp byte [esi + 2], 0
je 0x406fd3
cmp cl, 0x44
sete al
cmp cl, 0x55
sete dl
or eax, edx
test al, 1
jne 0x406d28
cmp cl, 0x6f
je 0x406d28
cmp cl, 0x65
je 0x406d28
cmp cl, 0x54
je 0x406d28
cmp cl, 0x75
je 0x406d28
cmp cl, 0x49
je 0x406d28
cmp cl, 0x6d
je 0x406d28
cmp cl, 0x78
je 0x406d28
cmp cl, 0x4c
je 0x406d28
cmp cl, 0x41
je 0x406d28
cmp cl, 0x56
je 0x406d28
cmp cl, 0x42
je 0x406d28
cmp cl, 0x62
je 0x406d28
cld
inc esi
mov eax, 6
mov dword [ebp - 0xbc], esi
mov edi, 0x415928
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 6
mov edi, 0x41592e
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 5
mov edi, 0x415934
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 8
mov edi, 0x413fc4
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 8
mov edi, 0x415939
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 9
mov edi, 0x415941
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 0xa
mov edi, 0x41594a
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 8
mov edi, 0x415954
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 0xc
mov edi, 0x41595c
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 0x12
mov edi, 0x415968
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 8
mov edi, 0x41597a
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 7
mov edi, 0x415982
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 6
mov edi, 0x415989
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 3
mov edi, 0x41598f
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 3
mov edi, 0x415992
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x406d1d
mov esi, dword [ebp - 0xbc]
mov eax, 3
mov edi, 0x415995
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x406a81
inc dword [ebp - 0x84]
jmp 0x406a81
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xa8]
lea esi, [edx + 1]
mov eax, dword [ecx + edx*4]
cmp byte [eax + 2], 0
setne al
movzx eax, al
sub esi, eax
mov dword [ebp - 0x84], esi
jmp 0x406a81
cmp byte [ebx + 1], 0
jne 0x406fdf
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
inc edi
mov dword [ebp - 0xc0], edi
cmp edi, eax
je 0x406fc7
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + edx*4]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x7c], edx
inc ecx
mov dword [ebp - 0xc0], ecx
mov edi, dword [ebp - 0x7c]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x80], eax
movzx eax, byte [edi + eax - 1]
cmp al, 0x2f
setne dl
cmp al, 0x5c
setne al
movzx eax, al
test edx, eax
jne 0x406f79
cmp dword [ebp - 0x80], 7
je 0x406de5
jle 0x406ea2
mov ebx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x80]
movzx eax, byte [ebx + esi - 8]
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or eax, edx
test al, 1
je 0x406ea2
cld
mov edi, dword [ebp - 0x7c]
mov ecx, 5
mov eax, dword [ebp - 0x80]
lea esi, [edi + eax - 7]
mov eax, str.stage
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x406ea2
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
movzx eax, byte [edx + ecx - 2]
test byte [eax + eax + 0x417630], 4
je 0x406ea2
movzx eax, byte [edx + ecx - 1]
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or eax, edx
test al, 1
je 0x406ea2
cmp ecx, 7
je 0x406f50
mov eax, dword [ebp - 0x80]
inc eax
mov dword [esp], eax
call fcn.0040e5d0
mov ebx, eax
mov eax, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov dword [esp], ebx
sub eax, 7
mov dword [esp + 4], esi
xor esi, esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_strncpy
mov edi, dword [ebp - 0x80]
mov eax, 0x6c636e69
mov edx, ebx
mov dword [ebx + edi - 7], eax
mov eax, 0x656475
mov dword [ebx + edi - 3], eax
xor eax, eax
xor edi, edi
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], 0
mov eax, 0x411048
call fcn.00402190
mov dword [esp], 0
xor edx, edx
xor eax, eax
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x7c]
mov ecx, 0x4184a0
mov dword [esp + 4], eax
xor ebx, ebx
mov eax, 0x411020
mov dword [esp + 0xc], ecx
mov edi, 0x413fc4
xor esi, esi
mov dword [esp + 0x10], ebx
xor ebx, ebx
call fcn.00402190
mov dword [esp], 0
xor eax, eax
mov edx, dword [ebp - 0x7c]
mov dword [esp + 0x10], eax
mov eax, 0x4184a0
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, 0x411034
call fcn.00402190
mov dword [esp + 4], edi
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0040db00
mov dword [esp + 0x10], esi
xor edx, edx
xor ecx, ecx
mov dword [esp + 4], edx
mov edx, eax
mov eax, 0x411048
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.00402190
inc dword [0x418460]
jmp 0x4059c5
mov dword [esp], 0
xor edx, edx
xor eax, eax
mov dword [esp + 0xc], edx
xor ecx, ecx
mov edx, 0x413fc4
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], eax
jmp 0x406e98
mov dword [esp], 0
mov edx, 0x41237c
mov eax, edi
call fcn.004016d0
test eax, eax
je 0x406dba
mov eax, dword [ebp - 0x80]
add eax, 2
mov dword [esp], eax
call fcn.0040e5d0
mov dword [esp], eax
mov ebx, eax
mov dword [esp + 4], edi
call sub.msvcrt.dll_strcpy
mov ecx, dword [ebp - 0x80]
mov byte [ecx + ebx], 0x2f
inc ecx
mov dword [ebp - 0x80], ecx
mov byte [ebx + ecx], 0
mov dword [ebp - 0x7c], ebx
jmp 0x406dba
mov dword [esp], str.argument_to___B_is_missing
jmp 0x40596f
mov dword [ebp - 0x24], 1
jmp 0x4065df
mov esi, dword [ebp - 0x18]
inc ebx
mov dword [ebp - 0x7c], ebx
inc esi
mov dword [ebp - 0xc0], esi
jmp 0x406d92