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

Disassembly:
push ebp
mov ecx, str.Rxvt_v2.7.10___released:_26_MARCH_2003_n
mov ebp, esp
push edi
push esi
mov esi, 0x27
push ebx
sub esp, 0x2c
mov ebx, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp], 2
call sub.cygwin1.dll_write
mov dword [esp], 2
mov edx, 0x9b
mov eax, str.Options:_XPM_transparent_utmp_menubar_multichar_languages_scrollbarsrxvtNeXTxterm_frills_linespace_24bit_selectionscrolling_256colour_.Xdefaults_nUsage:
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sub.cygwin1.dll_write
mov dword [esp], 2
mov eax, 4
mov dword [esp + 8], eax
mov eax, str.rxvt
mov dword [esp + 4], eax
call sub.cygwin1.dll_write
cmp ebx, 1
je 0x416e84
jle 0x416d10
cmp ebx, 2
je 0x416fa4
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov edx, 2
mov dword [esp + 8], edx
mov dword [esp], 0x427e58
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.cygwin1.dll_fwrite
mov dword [esp], 1
call sub.cygwin1.dll_exit
test ebx, ebx
jne 0x416cda
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov edi, 1
mov dword [esp], str.___help_____help__n
xor esi, esi
mov dword [esp + 0xc], eax
mov eax, 0x12
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.cygwin1.dll_fwrite
mov dword [ebp - 0x10], 0x63
lea esi, [esi]
mov eax, dword [esi + 0x427434]
test eax, eax
je 0x416e30
xor ebx, ebx
cmp dword [esi + 0x427420], 0
jl 0x416d89
jne 0x416d89
mov eax, dword [esi + 0x427430]
mov ebx, 1
test eax, eax
je 0x416d88
mov dword [esp], eax
call sub.cygwin1.dll_strlen
test eax, eax
mov ebx, eax
jle 0x416d89
inc ebx
mov eax, dword [esi + 0x42742c]
test eax, eax
je 0x4170de
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov edx, dword [esi + 0x427420]
add eax, 4
test edx, edx
js 0x416e7b
add ebx, eax
add edi, ebx
cmp edi, 0x4f
ja 0x416e5b
call sub.cygwin1.dll___getreent
mov ecx, dword [esi + 0x427420]
mov edx, eax
mov eax, dword [esi + 0x42742c]
test ecx, ecx
mov dword [esp + 0xc], eax
mov eax, 0x427e6e
js 0x416de2
mov eax, 0x427e71
mov dword [esp + 8], eax
mov ebx, str.____s_s
mov dword [esp + 4], ebx
mov eax, dword [edx + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov ecx, dword [esi + 0x427420]
test ecx, ecx
jne 0x416e41
mov ebx, dword [esi + 0x427430]
test ebx, ebx
je 0x416e13
cmp byte [ebx], 0
je 0x416e41
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov edx, str.__s_
mov dword [esp + 4], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
add esi, 0x18
dec dword [ebp - 0x10]
jns 0x416d50
jmp 0x416cda
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp], 0x5d
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
jmp 0x416e30
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
lea edi, [ebx + 1]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.cygwin1.dll_putc
jmp 0x416dbd
lea ebx, [eax + ebx + 2]
jmp 0x416db2
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
xor ebx, ebx
mov dword [esp], str.__options____e_command_args__n_nwhere_options_include:_n
mov dword [esp + 0xc], eax
mov eax, 0x35
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.cygwin1.dll_fwrite
mov dword [ebp - 0x10], 0x63
mov esi, esi
lea edi, [edi]
mov edi, dword [ebx + 0x427434]
test edi, edi
je 0x416f69
mov eax, dword [ebx + 0x42742c]
test eax, eax
je 0x4170b7
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [ebp - 0x14], 0x12
mov esi, dword [ebx + 0x427420]
sub dword [ebp - 0x14], eax
test esi, esi
js 0x416efc
add dword [ebp - 0x14], 2
call sub.cygwin1.dll___getreent
mov dword [esp + 0x1c], edi
test esi, esi
mov edx, eax
mov eax, str.turn_on_off
js 0x416f15
mov eax, 0x427e71
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x427430]
test eax, eax
jne 0x416f28
mov eax, 0x427e71
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x427420]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x42742c]
test ecx, ecx
mov dword [esp + 0xc], eax
mov eax, 0x427ec3
js 0x416f51
mov eax, 0x427ec7
mov dword [esp + 8], eax
mov eax, str.___s_s___s_s_s_n
mov dword [esp + 4], eax
mov eax, dword [edx + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
add ebx, 0x18
dec dword [ebp - 0x10]
jns 0x416ec0
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov edi, 1
mov dword [esp + 4], edi
mov dword [esp], str._n____help_to_list_long_options
mov dword [esp + 0xc], eax
mov eax, 0x1e
mov dword [esp + 8], eax
call sub.cygwin1.dll_fwrite
jmp 0x416cda
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov ebx, 1
mov esi, 0x46
mov dword [esp + 4], ebx
xor ebx, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], str.__options____e_command_args__n_nwhere_resources__long_options__include:_n
call sub.cygwin1.dll_fwrite
mov dword [ebp - 0x10], 0x63
jmp 0x416fe8
add ebx, 0x18
dec dword [ebp - 0x10]
js 0x417054
mov eax, dword [ebx + 0x427428]
test eax, eax
je 0x416fe0
mov dword [esp], eax
mov esi, 0x12
call sub.cygwin1.dll_strlen
sub esi, eax
call sub.cygwin1.dll___getreent
mov ecx, dword [ebx + 0x427420]
mov edx, eax
mov eax, str.boolean
test ecx, ecx
js 0x41701d
mov eax, dword [ebx + 0x427430]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x427428]
mov edi, 0x427e71
mov dword [esp + 0xc], esi
mov esi, str.___s:__s_s_n
add ebx, 0x18
mov dword [esp + 0x10], edi
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov eax, dword [edx + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
dec dword [ebp - 0x10]
jns 0x416fe8
call sub.cygwin1.dll___getreent
mov edi, 8
mov ecx, str.keysym
mov edx, 0x427e71
mov dword [esp + 0x10], ecx
mov esi, str.__keysym.sym:__s_s_n
mov ebx, 0x18
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov ecx, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov dword [esp], str._n___help_to_list_options
call sub.cygwin1.dll_fwrite
jmp 0x416cda
mov edi, str.optList_i_.opt___NULL
mov esi, str.rxvt_usage
mov ebx, 0x1d8
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], str.xdefaults.c
call sub.cygwin1.dll___assert_func
mov esi, str.optList_i_.opt___NULL
mov ebx, str.rxvt_usage
mov ecx, 0x1c1
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
jmp 0x4170d2
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
cmp dword [ebp - 0x1c], edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], 0
jl 0x41746c
jmp 0x4176ff
mov dword [ebp - 0x20], 1
mov edx, dword [ebp - 0x2c]
mov dword [esp], str.bad_option___s_
mov dword [esp + 4], edx
call fcn.00412660
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], edx
jge 0x4175e4
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
mov edi, dword [eax + edi*4]
mov dword [ebp - 0x2c], edi
movzx eax, byte [edi]
cmp al, 0x2d
je 0x417661
cmp al, 0x2b
jne 0x417443
inc dword [ebp - 0x2c]
mov dword [ebp - 0x28], 0x427fc2
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0x2b
je 0x417735
cld
mov esi, dword [ebp - 0x2c]
mov eax, str.help
mov ecx, 5
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4174c9
cmp dword [ebp - 0x24], 1
sbb eax, eax
add eax, 2
mov dword [esp], eax
call 0x416c60
cld
mov esi, dword [ebp - 0x2c]
mov eax, 0x427fdb
mov ecx, 2
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x417602
xor ebx, ebx
xor esi, esi
jmp 0x41751d
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x417510
mov eax, dword [esi + 0x42742c]
test eax, eax
je 0x417510
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x2c]
mov dword [esp], edx
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x41753a
nop
lea esi, [esi]
inc ebx
add esi, 0x18
cmp ebx, 0x63
ja 0x417613
mov eax, dword [esi + 0x427428]
test eax, eax
je 0x4174e7
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x4174e7
cmp ebx, 0x63
ja 0x417613
lea eax, [ebx + ebx*2]
test byte [eax*8 + 0x427423], 0x40
je 0x417566
cmp dword [ebp - 0x28], 0x427fbf
mov eax, 0x427fc2
je 0x417563
mov eax, 0x427fbf
mov dword [ebp - 0x28], eax
lea eax, [ebx + ebx*2]
lea ecx, [eax*8]
mov eax, dword [ecx + 0x427420]
test eax, eax
jne 0x417591
mov eax, dword [ecx + 0x427430]
test eax, eax
je 0x417685
cmp byte [eax], 0
jne 0x417685
cmp dword [ebp - 0x28], 0x427fbf
je 0x417745
lea eax, [ebx + ebx*2]
mov edx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x427420]
not eax
and dword [edx + 0x80], eax
lea eax, [ebx + ebx*2]
mov edx, dword [eax*8 + 0x427424]
cmp edx, 0xffffffff
je 0x41745d
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [eax + edx*4 + 0x7d0], edi
mov edx, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], edx
jl 0x41746c
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x4176ff
mov dword [ebp + 8], 0
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp 0x416c60
mov dword [esp], 0
call 0x416c60
jmp 0x4174e1
mov edi, str.keysym.
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.004126d0
test eax, eax
je 0x4176ca
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x41745d
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2c]
add eax, 7
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x10]
mov dword [esp], edi
call fcn.00417100
jmp 0x41745d
mov dword [ebp - 0x28], 0x427fbf
inc edi
mov dword [ebp - 0x2c], edi
cmp byte [edi], 0x2d
jne 0x4174a4
mov dword [ebp - 0x24], 0x2d
inc edi
mov dword [ebp - 0x2c], edi
jmp 0x4174a4
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], 0x427fbf
mov edi, dword [ebp - 0x1c]
mov ebx, dword [eax + edi*4]
sete al
xor edx, edx
test ebx, ebx
setne dl
test edx, eax
je 0x41745d
mov edx, dword [ecx + 0x427424]
cmp edx, 0xffffffff
je 0x41745d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov dword [eax + edx*4 + 0x7d0], ebx
jmp 0x41745d
mov esi, dword [ebp - 0x24]
mov ebx, 0x427fdd
test esi, esi
je 0x417707
dec dword [ebp - 0x2c]
mov dword [ebp - 0x20], 1
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], ebx
mov dword [esp], str._s_option___s_
mov dword [esp + 8], eax
call fcn.00412660
jmp 0x41745d
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
cld
mov esi, dword [ebp - 0x2c]
mov eax, 0x427ff0
mov ecx, 2
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x41772e
mov esi, dword [ebp - 0x2c]
mov eax, 0x427ff2
mov ecx, 2
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4176d9
mov ebx, str.obsolete
jmp 0x4176e0
mov dword [ebp - 0x24], 0x2b
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x4174a4
mov edi, dword [ebp - 0x10]
lea eax, [ebx + ebx*2]
mov eax, dword [eax*8 + 0x427420]
or dword [edi + 0x80], eax
jmp 0x4175b3