Function at 0x421230
Capabilities:
Terminate process
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x14
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
cmp esi, 1
jle 0x4214e0
mov edx, 0x470520
xor eax, eax
mov edi, edx
mov ecx, 0xe
rep stosd dword es:[edi], eax
mov dword [esp], 0x470524
call fcn.0041ddc0
mov dword [0x470528], 1
mov dword [esp], 0x47052c
call fcn.0041ddc0
mov dword [esp], 0x470530
call fcn.0041ddc0
mov dword [esp], 0x470534
call fcn.0041ddc0
mov dword [0x470554], 0xffffffff
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x470520
mov dword [esp], 0x42cf20
call fcn.0041b710
mov eax, dword [0x470520]
mov dword [0x44cd80], 0
test ah, 0x10
je 0x4212e1
test eax, 0x100020
je 0x421468
mov dword [0x44cd80], 0x20002
test al, 1
je 0x421390
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp], 0x42cf20
call fcn.0041b880
mov eax, dword [0x470540]
test eax, eax
je 0x421315
mov dword [str._JOHN_john.rec], eax
mov dword [0x42d1bc], 0
mov eax, dword [0x470520]
test eax, 0x10000
jne 0x421487
test eax, 0x40000
jne 0x42155e
test eax, 0x1000000
jne 0x421422
mov edx, dword [0x470554]
test edx, edx
js 0x421450
sub edx, 1
cmp edx, 0x7c
ja 0x4214a0
test ah, 0x80
jne 0x4213a0
mov ecx, eax
and ecx, 0xe
cmp ecx, 0xc
je 0x4213b2
and eax, 6
cmp eax, 2
je 0x4213f0
mov dword [0x44d4a0], esi
mov dword [0x470558], ebx
mov dword [0x47055c], 0
add esp, 0x14
pop ebx
pop esi
pop edi
pop ebp
ret
or eax, 0x406d
mov dword [0x470520], eax
jmp 0x4212e9
and eax, 0xfffffff3
mov ecx, eax
and ecx, 0xe
cmp ecx, 0xc
mov dword [0x470520], eax
jne 0x421364
call sub.cygwin1.dll___getreent
mov edi, dword [eax + 0xc]
mov dword [esp + 8], 0x2c
mov dword [esp + 4], 1
mov dword [esp], str.Password_files_required__but_none_specified_n
mov dword [esp + 0xc], edi
call sub.cygwin1.dll_fwrite
call fcn.00420a50
mov eax, dword [0x470520]
and eax, 6
cmp eax, 2
jne 0x421370
lea esi, [esi]
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x37
mov dword [esp + 4], 1
mov dword [esp], str.Password_files_specified__but_no_option_would_use_them_n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
call fcn.00420a50
jmp 0x421370
mov edx, dword [0x470538]
test edx, edx
jns 0x42133b
not edx
mov dword [0x47053c], edx
mov edx, dword [0x470554]
mov dword [0x470538], 0
test edx, edx
jns 0x421349
test ah, 0x80
mov dword [0x470554], 0x7d
je 0x42135a
jmp 0x4213a0
or eax, 0x6d
test al, 1
mov dword [0x470520], eax
mov dword [0x44cd80], 0x30001
jne 0x4212e9
jmp 0x421390
mov dword [esp + 0x28], 1
add esp, 0x14
pop ebx
pop esi
pop edi
pop ebp
jmp 0x421cb0
call sub.cygwin1.dll___getreent
mov ebp, dword [eax + 0xc]
mov dword [esp + 8], 0x23
mov dword [esp + 4], 1
mov dword [esp], str.Invalid_plaintext_length_requested_n
mov dword [esp + 0xc], ebp
call sub.cygwin1.dll_fwrite
call fcn.00420a50
mov eax, dword [0x470520]
test ah, 0x80
je 0x42135a
jmp 0x4213a0
mov dword [esp + 4], eax
mov esi, 0x31
mov dword [esp], str.John_the_Ripper_password_cracker__version_1.7.9_nCopyright__c__1996_2011_by_Solar_Designer_nHomepage:_http:__www.openwall.com_john__n_nUsage:__s__OPTIONS___PASSWORD_FILES__n__single____________________single_crack__mode_n__wordlistFILE___stdin____wordlist_mode__read_words_from_FILE_or_stdin_n__rules____________________enable_word_mangling_rules_for_wordlist_mode_n__incremental_MODE_________incremental__mode__using_section_MODE__n__externalMODE____________external_mode_or_word_filter_n__stdout_LENGTH___________just_output_candidate_passwords__cut_at_LENGTH__n__restore_NAME____________restore_an_interrupted_session__called_NAME__n__sessionNAME_____________give_a_new_session_the_NAME_n__status_NAME_____________print_status_of_a_session__called_NAME__n__make_charsetFILE________make_a_charset__FILE_will_be_overwritten_n__show_____________________show_cracked_passwords_n__test_TIME_______________run_tests_and_benchmarks_for_TIME_seconds_each_n__users___LOGINUID__..____do_not__load_this__these__user_s__only_n__groups___GID__..________load_users__not__of_this__these__group_s__only_n__shells___SHELL__..______load_users_with_out__this__these__shell_s__only_n__salts___COUNT___________load_salts_with_out__at_least_COUNT_passwords_only_n__save_memoryLEVEL________enable_memory_saving__at_LEVEL_1..3_n__formatNAME______________force_hash_type_NAME:
call sub.cygwin1.dll_printf
mov ebx, dword [0x44d0e0]
jmp 0x421526
cmp edx, 1
sbb eax, eax
and eax, 0xffffffdb
add eax, 0x2f
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], str._s_c
call sub.cygwin1.dll_printf
mov ebx, dword [ebx + 0xa4]
test ebx, ebx
je 0x42158d
mov edi, dword [ebx]
mov dword [esp], edi
call sub.cygwin1.dll_strlen
mov edx, dword [ebx + 0xa4]
xor ecx, ecx
test edx, edx
setne cl
lea ebp, [eax + ecx]
add esi, ebp
cmp esi, 0x50
jle 0x4214fd
mov dword [esp], str._n
lea esi, [ebp + 0x1b]
call sub.cygwin1.dll_printf
mov edx, dword [ebx + 0xa4]
jmp 0x4214fd
mov dword [esp], 0
call 0x421cb0
or dword [0x470520], 0x40001
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.004272e0
call fcn.004273f0
mov dword [esp], 0
call sub.cygwin1.dll_exit
nop
nop
nop
nop
nop
nop
nop
push edi
push esi
push ebx
sub esp, 0x420
call fcn.00421810
mov eax, dword [str._JOHN_john.rec]
mov dword [esp], eax
call fcn.00421620
mov dword [esp + 4], 0x432f1c
mov dword [esp], eax
call sub.cygwin1.dll__fopen64
test eax, eax
mov dword [0x44d4a8], eax
je 0x421ff2
mov dword [esp], eax
call sub.cygwin1.dll_fileno
mov esi, dword [esp + 0x430]
test esi, esi
mov dword [0x44d4ac], eax
jne 0x421fa1
mov ecx, dword [0x44d4a8]
lea ebx, [esp + 0x1c]
mov dword [esp + 4], 0x400
mov dword [esp], ebx
mov dword [esp + 8], ecx
call fcn.00420b40
test eax, eax
je 0x421fe3
mov eax, 5
mov edi, str.REC3
mov dword [0x44d49c], 0
mov esi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x421ee4
mov dword [0x44d49c], 3
mov eax, dword [0x44d4a8]
lea edx, [esp + 0x41c]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x432f43
mov dword [esp], eax
call sub.cygwin1.dll_fscanf
cmp eax, 1
je 0x421d83
mov eax, str.fscanf
call fcn.004217a0
mov eax, dword [esp + 0x41c]
cmp eax, 1
jle 0x421fd0
lea ecx, [eax*4 + 4]
mov dword [esp + 4], 4
mov dword [esp], ecx
call fcn.004208e0
mov edi, eax
mov dword [eax], str.john
mov eax, dword [esp + 0x41c]
cmp eax, 1
jle 0x421e13
mov esi, 1
jmp 0x421dde
mov dword [esp], ebx
call fcn.004209f0
mov dword [edi + esi*4], eax
mov eax, dword [esp + 0x41c]
add esi, 1
cmp eax, esi
jle 0x421e13
mov eax, dword [0x44d4a8]
mov dword [esp + 4], 0x400
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00420b40
test eax, eax
jne 0x421dc5
mov eax, 0x432f29
add esi, 1
call fcn.004217a0
mov eax, dword [esp + 0x41c]
cmp eax, esi
jg 0x421dde
mov dword [edi + eax*4], 0
mov esi, dword [str._JOHN_john.rec]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov edi, dword [edi]
mov dword [esp], edi
call fcn.00421230
mov ebx, dword [0x44d4a8]
mov dword [str._JOHN_john.rec], esi
mov dword [0x42d1bc], 1
mov dword [esp + 0x14], 0x470574
mov dword [esp + 0x10], 0x470570
mov dword [esp + 0xc], 0x47056c
mov dword [esp + 8], 0x44ded8
mov dword [esp + 4], str._u_n_u_n_x_n_x_n
mov dword [esp], ebx
call sub.cygwin1.dll_fscanf
cmp eax, 4
je 0x421e87
mov eax, str.fscanf
call fcn.004217a0
mov edx, dword [0x44ded8]
test edx, edx
jne 0x421e9b
mov dword [0x44ded8], 1
mov ecx, dword [0x44d49c]
test ecx, ecx
jne 0x421f52
mov dword [0x470578], 0
mov dword [0x47057c], 0xffffffff
cmp dword [0x44d49c], 2
jg 0x421f20
mov dword [0x47055c], 0
mov dword [0x44d4a4], 1
add esp, 0x420
pop ebx
pop esi
pop edi
ret
mov edi, str.REC2
mov esi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x421f00
mov dword [0x44d49c], 2
jmp 0x421d54
mov edi, str.REC1
mov esi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x421fb0
mov dword [0x44d49c], 1
jmp 0x421d54
mov esi, dword [0x44d4a8]
mov dword [esp + 8], 0x47055c
mov dword [esp + 4], 0x432f67
mov dword [esp], esi
call sub.cygwin1.dll_fscanf
cmp eax, 1
je 0x421ed0
mov eax, str.fscanf
call fcn.004217a0
jmp 0x421ed0
mov eax, dword [0x44d4a8]
mov dword [esp + 0xc], 0x47057c
mov dword [esp + 8], 0x470578
mov dword [esp + 4], str._d_n_d_n
mov dword [esp], eax
call sub.cygwin1.dll_fscanf
cmp eax, 2
je 0x421f86
mov eax, str.fscanf
call fcn.004217a0
mov ebx, dword [0x470578]
cmp ebx, 3
jbe 0x421ebd
xor eax, eax
call fcn.004217a0
jmp 0x421ebd
call fcn.00421850
jmp 0x421d04
mov edi, str.REC0
mov esi, ebx
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x421d54
xor eax, eax
call fcn.004217a0
jmp 0x421d54
xor eax, eax
call fcn.004217a0
mov eax, dword [esp + 0x41c]
jmp 0x421d93
mov eax, 0x432f29
call fcn.004217a0
jmp 0x421d2a
mov edx, dword [str._JOHN_john.rec]
mov dword [esp], edx
call fcn.00421620
mov dword [esp], 0x432f1f
mov dword [esp + 4], eax
call fcn.00420a70
mov eax, dword [0x44d4a8]
jmp 0x421ce8