Function at 0x414600
Capabilities:
Terminate process

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x40]
call 0x414600
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x44]
cmp byte [eax], 0
jne 0x414580
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x41446b
mov dword [esp + 4], 0x424f00
mov dword [esp], eax
call sub.cygwin1.dll__fopen64
test eax, eax
mov esi, eax
je 0x4145ce
mov eax, dword [0x43fc98]
mov edi, 0xffffffff
mov edx, eax
sub edx, dword [0x43fca0]
cmp edx, eax
mov dword [0x41f618], edx
jae 0x414463
lea esi, [esi]
lea eax, [edx + 0x40]
mov ecx, edx
mov ebx, 0x40
shr ecx, 0x18
mov ebp, 0xffffffff
mov dword [0x41f618], eax
mov eax, dword [0x41f614]
mov byte [eax], cl
mov ecx, edx
mov byte [eax + 2], dh
shr ecx, 0x10
mov byte [eax + 3], dl
add eax, 4
mov byte [eax - 3], cl
mov dword [0x41f614], eax
mov eax, dword [0x43fd08]
add eax, 4
mov dword [0x43fd08], eax
jmp 0x414433
mov ebp, eax
mov eax, dword [0x41f614]
mov ecx, ebp
add dword [0x43fd08], 1
sub ebx, 1
lea edx, [eax + 1]
mov byte [eax], cl
mov dword [0x41f614], edx
je 0x414450
mov dword [esp], esi
call sub.cygwin1.dll_fgetc
cmp eax, 0xffffffff
jne 0x414413
cmp dword [0x43fc9c], 2
cmove ebp, edi
jmp 0x414415
mov edx, dword [0x41f618]
mov eax, dword [0x43fc98]
cmp edx, eax
jb 0x4143d0
mov dword [esp], esi
call sub.cygwin1.dll_fclose
mov eax, 0x43fc80
mov edx, dword [eax]
add eax, 4
mov ecx, edx
mov byte [esp + 0x1e], dh
mov byte [esp + 0x1f], dl
shr ecx, 0x18
mov byte [esp + 0x1c], cl
mov ecx, edx
shr ecx, 0x10
mov byte [esp + 0x1d], cl
mov edx, dword [esp + 0x1c]
mov dword [eax - 4], edx
cmp eax, 0x43fc90
jne 0x414470
mov ecx, dword [0x41f614]
mov ebx, dword [0x43fd08]
xor eax, eax
nop
lea esi, [esi]
movzx edx, byte [eax + 0x43fc80]
mov byte [ecx + eax], dl
add eax, 1
cmp eax, 0x10
jne 0x4144b0
mov eax, dword [0x43fc94]
mov byte [ecx + 0x10], 8
mov byte [ecx + 0x13], 0x40
mov byte [ecx + 0x11], al
mov eax, dword [0x43fc90]
mov byte [ecx + 0x12], al
lea eax, [ecx + 0x14]
mov dword [esp + 4], 0x43fd20
mov dword [esp], 0
mov dword [0x41f614], eax
lea eax, [ebx + 0x14]
mov dword [esp + 8], eax
mov dword [0x43fd08], eax
call fcn.004142c0
mov edx, dword [0x41f614]
mov ecx, eax
add dword [0x43fd08], 4
shr ecx, 0x18
mov byte [edx], cl
mov ecx, eax
mov byte [edx + 2], ah
shr ecx, 0x10
mov byte [edx + 3], al
mov eax, dword [esp + 0x40]
mov byte [edx + 1], cl
lea ecx, [edx + 4]
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [0x41f614], ecx
call sub.cygwin1.dll__lseek64
mov ebx, dword [0x43fd08]
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 0x43fd20
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.cygwin1.dll_write
cmp eax, ebx
jne 0x41458a
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
call 0x414600
jmp 0x414383
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov esi, eax
mov eax, dword [esp + 0x44]
mov ebx, dword [eax + 0x4c]
call sub.cygwin1.dll___getreent
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.Write_error_on__s:__s_n
mov dword [esp + 8], ebx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], 1
call sub.cygwin1.dll_exit
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x48]
mov dword [esp], str.Error:__s_open_failed_n
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
mov dword [esp], 1
call sub.cygwin1.dll_exit
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov dword [0x41f610], eax
mov dword [esp + 4], 0x424f00
mov dword [esp], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x38], 0
call sub.cygwin1.dll__fopen64
test eax, eax
mov dword [esp + 0x1c], eax
je 0x414772
nop
lea esi, [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
lea eax, [esp + 0x38]
mov dword [esp + 4], eax
lea eax, [esp + 0x2c]
mov dword [esp], eax
call sub.cygwin1.dll_getline
test eax, eax
jle 0x414720
lea eax, [esp + 0x30]
mov dword [esp + 4], 0x424f19
add dword [0x41f60c], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.cygwin1.dll_strtok_r
test eax, eax
je 0x414640
lea ebp, [esp + 0x34]
lea esi, [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov esi, esi
lea edi, [edi]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x424f1c
mov dword [esp], eax
call sub.cygwin1.dll_strtok_r
test eax, eax
mov edi, eax
je 0x414640
cmp byte [eax], 0x23
je 0x414640
mov dword [esp + 8], esi
mov dword [esp + 4], 0x424f1f
mov dword [esp], eax
call sub.cygwin1.dll_sscanf
test eax, eax
je 0x414744
mov edx, dword [0x41f614]
mov edi, dword [0x43fd08]
mov ecx, 0x18
mov eax, edx
mov ebx, dword [esp + 0x3c]
add eax, 1
shr ebx, cl
sub ecx, 8
mov byte [eax - 1], bl
cmp ecx, 0xfffffff8
jne 0x4146ea
lea ebx, [edi + 4]
add edx, 4
mov dword [esp + 0x2c], 0
mov dword [0x41f614], edx
xor eax, eax
mov dword [0x43fd08], ebx
jmp 0x4146a0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x414730
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call sub.cygwin1.dll_fclose
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x41f60c]
mov dword [esp + 0xc], edi
mov dword [esp], str.Error:_s__d____Invalid_hex_data__s__n
mov dword [esp + 8], eax
mov eax, dword [0x41f610]
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
mov dword [esp], 1
call sub.cygwin1.dll_exit
mov eax, dword [0x41f610]
mov dword [esp], str.Error:_s___Cant_open_n
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
mov dword [esp], 1
call sub.cygwin1.dll_exit
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp byte [esp + 4], 0xf
setne al
ret