Function at 0x429550
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x84
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x78], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0x74
je 0x42958a
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0x75
je 0x42958a
jmp 0x429591
mov dword [ebp - 0x78], 1
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 0x10], 0
jne 0x42961c
call fcn.00428bce
test eax, eax
je 0x42961c
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
and eax, 0xff
push eax
push str._X__lu
lea eax, [ebp - 0x68]
push eax
call sub.msvcrt.dll_sprintf
add esp, 0x10
sub esp, 0xc
push 0
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea eax, [ebp - 0x68]
push eax
push 0x49
call fcn.00428d15
add esp, 0x20
mov eax, dword [ebp + 8]
cmp byte [eax + 9], 0
jne 0x42961c
sub esp, 4
mov eax, dword [ebp + 8]
push dword [eax]
push 0x4dcf58
lea eax, [ebp - 0x68]
push eax
call sub.msvcrt.dll_sprintf
add esp, 0x10
sub esp, 8
lea eax, [ebp - 0x68]
push eax
push 0x4a
call fcn.00428bfa
add esp, 0x10
cmp dword [ebp + 0x10], 0
je 0x429627
jmp 0x429732
cmp dword [0x4fdfd0], 0
je 0x429667
sub esp, 0xc
push dword [0x4fdfd0]
call sub.msvcrt.dll_strlen
add esp, 4
inc eax
push eax
call fcn.004a2e27
add esp, 0x10
mov dword [ebp - 0xc], eax
sub esp, 8
push dword [0x4fdfd0]
push dword [ebp - 0xc]
call sub.msvcrt.dll_strcpy
add esp, 0x10
jmp 0x429732
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 8
jne 0x4296b2
mov eax, dword [ebp + 8]
add eax, 0x18
sub esp, 4
push 8
push str._CONSOLE
push eax
call sub.msvcrt.dll_memcmp
add esp, 0x10
test eax, eax
jne 0x4296b2
sub esp, 0xc
push str.data_not_saved__use_option____output__to_save_it_n
call fcn.004a7e84
add esp, 4
push eax
call fcn.0049d7de
add esp, 0x10
mov dword [ebp + 0x10], 1
jmp 0x429732
mov al, byte [0x4fe1e0]
shr al, 1
and eax, 0xff
and eax, 1
test eax, eax
jne 0x429715
sub esp, 0xc
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.004a6d60
add esp, 4
push eax
call fcn.0041ff55
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x429703
sub esp, 8
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
call fcn.004200ae
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x429732
mov dword [ebp - 0x14], 0x19
jmp 0x42a210
sub esp, 4
push 0
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
call fcn.0049fbe1
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0x10], 0
je 0x42973d
jmp 0x4297dc
sub esp, 0xc
push dword [ebp - 0xc]
call fcn.004a4edd
add esp, 0x10
test eax, eax
jne 0x429757
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0
jne 0x42977a
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [ebp - 0x10], eax
sub esp, 8
push 0x8000
mov eax, dword [ebp - 0x10]
push dword [eax + 0x10]
call sub.msvcrt.dll__setmode
add esp, 0x10
jmp 0x4297dc
sub esp, 0xc
push dword [ebp - 0xc]
call fcn.0041fe70
add esp, 0x10
test eax, eax
jne 0x4297dc
sub esp, 8
push 0
push 0
call fcn.004200ae
add esp, 0x10
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x4297ac
mov eax, dword [ebp - 0x6c]
cmp byte [eax], 0
jne 0x4297c6
sub esp, 0xc
push dword [ebp - 0x6c]
call fcn.004a2f78
add esp, 0x10
mov dword [ebp - 0x14], 0x19
jmp 0x42a210
sub esp, 0xc
push dword [ebp - 0xc]
call fcn.004a2f78
add esp, 0x10
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xc], eax
jmp 0x42977a
cmp dword [ebp - 0x10], 0
jne 0x4298ab
cmp dword [ebp + 0x10], 0
jne 0x4298ab
sub esp, 0xc
push dword [ebp - 0xc]
call fcn.0041e3b3
add esp, 0x10
test eax, eax
je 0x42984e
call sub.msvcrt.dll__errno
mov dword [eax], 1
sub esp, 4
sub esp, 8
sub esp, 4
call sub.msvcrt.dll__errno
add esp, 4
push dword [eax]
call sub.msvcrt.dll_strerror
add esp, 0xc
push eax
push dword [ebp - 0xc]
push str.error_creating___s:__s_n
call fcn.004a7e84
add esp, 4
push eax
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x19
jmp 0x42a210
sub esp, 8
push 0x4dcfb3
push dword [ebp - 0xc]
call sub.msvcrt.dll_fopen
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4298ab
sub esp, 4
sub esp, 8
sub esp, 4
call sub.msvcrt.dll__errno
add esp, 4
push dword [eax]
call sub.msvcrt.dll_strerror
add esp, 0xc
push eax
push dword [ebp - 0xc]
push str.error_creating___s:__s_n
call fcn.004a7e84
add esp, 4
push eax
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x19
jmp 0x42a210
mov eax, dword [ebp + 8]
cmp byte [eax + 9], 0
jne 0x429bf5
cmp dword [ebp + 0x14], 0
je 0x4298da
sub esp, 0xc
push str.clearsig_encountered_while_not_expected_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x27
jmp 0x42a210
cmp dword [ebp - 0x1c], 0
je 0x429a6b
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x42a1a8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0x10], 0
jne 0x429912
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x429912
jmp 0x429928
sub esp, 0xc
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0x7c], eax
jmp 0x429950
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
inc dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0x7c], ecx
inc dword [eax + 0x1c]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
jne 0x42997c
sub esp, 8
mov eax, dword [ebp + 8]
push dword [eax]
push str.Problem_reading_source___u_bytes_remaining__n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x15
jmp 0x42a210
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x4299c9
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x14]
jne 0x4299aa
sub esp, 4
push 0
push 0
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
add eax, ecx
lea ebx, [eax + 0x10]
mov ecx, dword [ebp - 0x18]
mov al, 0xff
and eax, ecx
mov byte [ebx + 8], al
inc dword [edx + 0x10]
cmp dword [ebp - 0x10], 0
je 0x429a61
cmp dword [0x4fdfd4], 0
je 0x429a13
inc dword [0x4fcd00]
mov eax, dword [0x4fcd00]
cmp eax, dword [0x4fdfd4]
jle 0x429a13
sub esp, 4
push str.exceeded___max_output_limit_n
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
jmp 0x42a210
sub esp, 8
push dword [ebp - 0x10]
push dword [ebp - 0x18]
call sub.msvcrt.dll_putc
add esp, 0x10
cmp eax, 0xffffffff
jne 0x429a61
sub esp, 4
sub esp, 8
sub esp, 4
call sub.msvcrt.dll__errno
add esp, 4
push dword [eax]
call sub.msvcrt.dll_strerror
add esp, 0xc
push eax
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
jmp 0x42a210
mov eax, dword [ebp + 8]
dec dword [eax]
jmp 0x4298e4
sub esp, 0xc
push 0x8000
call fcn.004a2e27
add esp, 0x10
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x429be2
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0x8000
jbe 0x429aa2
mov dword [ebp - 0x80], 0x8000
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x70], eax
sub esp, 4
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.004a63eb
add esp, 0x10
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xffffffff
jne 0x429af7
sub esp, 8
mov eax, dword [ebp + 8]
push dword [eax]
push str.Problem_reading_source___u_bytes_remaining__n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x15
sub esp, 0xc
push dword [ebp - 0x6c]
call fcn.004a2f78
add esp, 0x10
jmp 0x42a210
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x429b15
sub esp, 4
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
cmp dword [ebp - 0x10], 0
je 0x429bce
cmp dword [0x4fdfd4], 0
je 0x429b70
mov eax, dword [ebp - 0x70]
add dword [0x4fcd00], eax
mov eax, dword [0x4fcd00]
cmp eax, dword [0x4fdfd4]
jle 0x429b70
sub esp, 4
push str.exceeded___max_output_limit_n
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
sub esp, 0xc
push dword [ebp - 0x6c]
call fcn.004a2f78
add esp, 0x10
jmp 0x42a210
push dword [ebp - 0x10]
push dword [ebp - 0x70]
push 1
push dword [ebp - 0x6c]
call sub.msvcrt.dll_fwrite
add esp, 0x10
cmp eax, dword [ebp - 0x70]
je 0x429bce
sub esp, 4
sub esp, 8
sub esp, 4
call sub.msvcrt.dll__errno
add esp, 4
push dword [eax]
call sub.msvcrt.dll_strerror
add esp, 0xc
push eax
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
sub esp, 0xc
push dword [ebp - 0x6c]
call fcn.004a2f78
add esp, 0x10
jmp 0x42a210
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x70]
mov eax, dword [eax]
sub eax, edx
mov dword [ecx], eax
jmp 0x429a7e
sub esp, 0xc
push dword [ebp - 0x6c]
call fcn.004a2f78
add esp, 0x10
jmp 0x42a1a8
cmp dword [ebp + 0x14], 0
jne 0x429eb9
cmp dword [ebp - 0x1c], 0
je 0x429d6a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0x10], 0
jne 0x429c2b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x429c2b
jmp 0x429c44
sub esp, 0xc
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0x84], eax
jmp 0x429c6f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
inc dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0x84], ecx
inc dword [eax + 0x1c]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
je 0x429eaa
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x429cce
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x14]
jne 0x429caf
sub esp, 4
push 0
push 0
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
add eax, ecx
lea ebx, [eax + 0x10]
mov ecx, dword [ebp - 0x18]
mov al, 0xff
and eax, ecx
mov byte [ebx + 8], al
inc dword [edx + 0x10]
cmp dword [ebp - 0x10], 0
je 0x429c09
cmp dword [0x4fdfd4], 0
je 0x429d18
inc dword [0x4fcd00]
mov eax, dword [0x4fcd00]
cmp eax, dword [0x4fdfd4]
jle 0x429d18
sub esp, 4
push str.exceeded___max_output_limit_n
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
jmp 0x42a210
sub esp, 8
push dword [ebp - 0x10]
push dword [ebp - 0x18]
call sub.msvcrt.dll_putc
add esp, 0x10
cmp eax, 0xffffffff
jne 0x429c09
sub esp, 4
sub esp, 8
sub esp, 4
call sub.msvcrt.dll__errno
add esp, 4
push dword [eax]
call sub.msvcrt.dll_strerror
add esp, 0xc
push eax
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
jmp 0x42a210
sub esp, 0xc
push 0x8000
call fcn.004a2e27
add esp, 0x10
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], 0
cmp dword [ebp - 0x6c], 0
jne 0x429e9c
sub esp, 4
push 0x8000
push dword [ebp - 0x70]
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.004a63eb
add esp, 0x10
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x429db5
jmp 0x429e9c
cmp dword [ebp - 0x74], 0x7fff
jg 0x429dc5
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x429de3
sub esp, 4
push dword [ebp - 0x74]
push dword [ebp - 0x70]
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
cmp dword [ebp - 0x10], 0
je 0x429d84
cmp dword [0x4fdfd4], 0
je 0x429e3a
mov eax, dword [ebp - 0x74]
add dword [0x4fcd00], eax
mov eax, dword [0x4fcd00]
cmp eax, dword [0x4fdfd4]
jle 0x429e3a
sub esp, 4
push str.exceeded___max_output_limit_n
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
sub esp, 0xc
push dword [ebp - 0x70]
call fcn.004a2f78
add esp, 0x10
jmp 0x42a210
push dword [ebp - 0x10]
push dword [ebp - 0x74]
push 1
push dword [ebp - 0x70]
call sub.msvcrt.dll_fwrite
add esp, 0x10
cmp eax, dword [ebp - 0x74]
je 0x429d84
sub esp, 4
sub esp, 8
sub esp, 4
call sub.msvcrt.dll__errno
add esp, 4
push dword [eax]
call sub.msvcrt.dll_strerror
add esp, 0xc
push eax
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
sub esp, 0xc
push dword [ebp - 0x70]
call fcn.004a2f78
add esp, 0x10
jmp 0x42a210
sub esp, 0xc
push dword [ebp - 0x70]
call fcn.004a2f78
add esp, 0x10
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0
jmp 0x42a1a8
mov dword [ebp - 0x74], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0x10], 0
jne 0x429ee2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edx + 0x20]
jae 0x429ee2
jmp 0x429efb
sub esp, 0xc
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.004a630b
add esp, 0x10
mov dword [ebp - 0x88], eax
jmp 0x429f26
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
inc dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x24]
mov ecx, 0
mov cl, byte [edx]
mov dword [ebp - 0x88], ecx
inc dword [eax + 0x1c]
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
je 0x42a19e
cmp dword [ebp - 0x10], 0
je 0x429fd0
cmp dword [0x4fdfd4], 0
je 0x429f82
inc dword [0x4fcd00]
mov eax, dword [0x4fcd00]
cmp eax, dword [0x4fdfd4]
jle 0x429f82
sub esp, 4
push str.exceeded___max_output_limit_n
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
jmp 0x42a210
sub esp, 8
push dword [ebp - 0x10]
push dword [ebp - 0x18]
call sub.msvcrt.dll_putc
add esp, 0x10
cmp eax, 0xffffffff
jne 0x429fd0
sub esp, 4
sub esp, 8
sub esp, 4
call sub.msvcrt.dll__errno
add esp, 4
push dword [eax]
call sub.msvcrt.dll_strerror
add esp, 0xc
push eax
push dword [ebp - 0xc]
push str.Error_writing_to___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x14], 0x16
jmp 0x42a210
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x429fdd
jmp 0x429ec0
cmp dword [ebp - 0x74], 2
jne 0x42a06c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x14]
jne 0x42a00d
sub esp, 4
push 0
push 0
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
add eax, ecx
add eax, 0x10
mov byte [eax + 8], 0xd
inc dword [edx + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x14]
jne 0x42a04c
sub esp, 4
push 0
push 0
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
add eax, ecx
add eax, 0x10
mov byte [eax + 8], 0xa
inc dword [edx + 0x10]
mov dword [ebp - 0x74], 0
cmp dword [ebp - 0x74], 0
jne 0x42a0e0
cmp dword [ebp - 0x18], 0xd
jne 0x42a084
mov dword [ebp - 0x74], 1
jmp 0x429ec0
cmp dword [ebp - 0x18], 0xa
jne 0x42a096
mov dword [ebp - 0x74], 2
jmp 0x429ec0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x14]
jne 0x42a0bc
sub esp, 4
push 0
push 0
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
add eax, ecx
lea ebx, [eax + 0x10]
mov ecx, dword [ebp - 0x18]
mov al, 0xff
and eax, ecx
mov byte [ebx + 8], al
inc dword [edx + 0x10]
jmp 0x429ec0
cmp dword [ebp - 0x74], 1
jne 0x429ec0
cmp dword [ebp - 0x18], 0xa
jne 0x42a0fc
mov dword [ebp - 0x74], 2
jmp 0x429ec0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x14]
jne 0x42a122
sub esp, 4
push 0
push 0
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
add eax, ecx
add eax, 0x10
mov byte [eax + 8], 0xd
inc dword [edx + 0x10]
cmp dword [ebp - 0x18], 0xd
jne 0x42a14d
mov dword [ebp - 0x74], 1
jmp 0x429ec0
mov dword [ebp - 0x74], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x14]
jne 0x42a17a
sub esp, 4
push 0
push 0
mov eax, dword [ebp + 0xc]
push dword [eax]
call fcn.00475d84
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
add eax, ecx
lea ebx, [eax + 0x10]
mov ecx, dword [ebp - 0x18]
mov al, 0xff
and eax, ecx
mov byte [ebx + 8], al
inc dword [edx + 0x10]
jmp 0x429ec0
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0
cmp dword [ebp - 0x10], 0
je 0x42a209
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
cmp eax, dword [ebp - 0x10]
je 0x42a209
sub esp, 0xc
push dword [ebp - 0x10]
call sub.msvcrt.dll_fclose
add esp, 0x10
test eax, eax
je 0x42a209
sub esp, 4
sub esp, 8
sub esp, 4
call sub.msvcrt.dll__errno
add esp, 4
push dword [eax]
call sub.msvcrt.dll_strerror
add esp, 0xc
push eax
push dword [ebp - 0xc]
push str.Error_closing___s:__s_n
call fcn.0049d87b
add esp, 0x10
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0x16
jmp 0x42a210
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 0
je 0x42a231
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
cmp eax, dword [ebp - 0x10]
je 0x42a231
sub esp, 0xc
push dword [ebp - 0x10]
call sub.msvcrt.dll_fclose
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0xc]
call fcn.004a2f78
add esp, 0x10
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
leave
ret