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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x17c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov esi, ecx
push str.8.00
mov dword [ebp - 0x150], esi
call dword [sym.imp.MSVCR100.dll_atof]
push ecx
fstp qword [esp]
push str.HMLM2
lea eax, [ebp - 0xa8]
push str._FL2____SPSS_DATA_FILE_from__s_version__.2lf
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
mov edi, dword [sym.imp.MSVCR100.dll_fwrite]
push esi
push 1
lea ecx, [ebp - 0xa8]
push 0x40
push ecx
call edi
add esp, 0x24
cmp eax, 1
je 0x429efb
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x429ef3
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push esi
push 1
lea edx, [ebp - 0x138]
push 4
push edx
mov dword [ebp - 0x138], 2
call edi
add esp, 0x10
cmp eax, 1
je 0x429f43
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x429f3b
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [ebp + 0xc]
lea eax, [ebx + 1]
imul eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, dword [0x438f80]
mov dword [ebp - 0x138], 0
lea eax, [eax + ecx*2 + 2]
add eax, ebx
cmp dword [0x438da0], 0
mov dword [ebp - 0x13c], eax
jne 0x429f7d
inc eax
mov dword [ebp - 0x13c], eax
mov esi, eax
shl esi, 5
test esi, esi
je 0x429fd2
push esi
call dword [sym.imp.MSVCR100.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x429fbe
push str._Out_of_memory._Please_run_a_smaller_problem_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x429fb6
call fcn.004048c0
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push esi
push 0
push ebx
call sub.MSVCR100.dll_memset
mov eax, dword [ebp - 0x13c]
add esp, 0xc
mov esi, ebx
mov edi, eax
shl edi, 5
add edi, eax
mov dword [ebp - 0x140], esi
jne 0x429fe9
mov dword [ebp - 0x14c], edi
jmp 0x42a03b
push edi
call dword [sym.imp.MSVCR100.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x42a021
push str._Out_of_memory._Please_run_a_smaller_problem_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42a019
call fcn.004048c0
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push edi
push 0
push ebx
call sub.MSVCR100.dll_memset
mov eax, dword [ebp - 0x13c]
add esp, 0xc
mov dword [ebp - 0x14c], ebx
xor edi, edi
xor ecx, ecx
cmp eax, edi
jle 0x42a068
fld qword [0x436260]
lea eax, [esi + 8]
mov edx, 0x50c03
fst qword [eax - 8]
mov dword [eax + 4], edi
mov dword [eax], edi
mov dword [eax + 8], edx
inc ecx
add eax, 0x20
cmp ecx, dword [ebp - 0x13c]
jl 0x42a04f
fstp st(0)
mov edi, dword [ebp - 0x150]
mov ebx, dword [sym.imp.MSVCR100.dll_fwrite]
push edi
push 1
lea edx, [ebp - 0x13c]
push 4
push edx
call ebx
add esp, 0x10
cmp eax, 1
je 0x42a0b2
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42a0aa
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push edi
push 1
lea eax, [ebp - 0x138]
push 4
push eax
call ebx
add esp, 0x10
cmp eax, 1
je 0x42a0f0
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42a0e8
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push edi
push 1
lea ecx, [ebp - 0x138]
push 4
push ecx
call ebx
add esp, 0x10
cmp eax, 1
je 0x42a12e
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42a126
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
mov edx, dword [0x438efc]
push edi
push 1
lea eax, [ebp - 0x138]
push 4
push eax
mov dword [ebp - 0x138], edx
call ebx
add esp, 0x10
cmp eax, 1
je 0x42a178
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42a170
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
fld qword [0x436228]
push edi
push 1
fstp qword [ebp - 0x178]
lea ecx, [ebp - 0x178]
push 8
push ecx
call ebx
add esp, 0x10
cmp eax, 1
je 0x42a1c2
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42a1ba
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
mov edx, dword [0x439280]
mov eax, dword [0x439284]
mov ecx, dword [0x439288]
push edx
mov edx, dword [0x439294]
push eax
mov eax, dword [0x439290]
push ecx
add edx, 0xffffff9c
push edx
mov edx, dword [0x43928c]
lea ecx, [eax*4 + 0x438560]
push ecx
push edx
lea eax, [ebp - 0xa8]
push str._2d__3s__02d_2d:_2d:_2d
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
push 0x44
lea ecx, [ebp - 0x97]
push 0x20
push ecx
call sub.MSVCR100.dll_memset
push edi
push 1
lea edx, [ebp - 0xa8]
push 0x54
push edx
call ebx
add esp, 0x3c
cmp eax, 1
je 0x42a286
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42a27e
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x42a262
push 5
call dword [sym.imp.MSVCR100.dll_exit]
cmp dword [0x438da0], 0
je 0x42a2b7
mov dword [esi + 0x10], 0x50800
mov edx, dword [0x435ca8]
mov dword [esi + 0x14], edx
mov eax, dword [0x435cac]
mov dword [esi + 0x18], eax
mov dl, byte [0x435cb0]
mov ecx, 1
mov byte [esi + 0x1c], dl
jmp 0x42a30b
mov dword [esi + 0x10], 0x10c00
mov dword [esi + 8], 0xc
mov eax, dword [0x435ca8]
mov dword [esi + 0x14], eax
mov ecx, dword [0x435cac]
mov dword [esi + 0x18], ecx
mov dl, byte [0x435cb0]
mov byte [esi + 0x1c], dl
mov dword [esi + 0x30], 0
mov dword [esi + 0x28], 0xffffffff
mov eax, dword [str.]
mov dword [esi + 0x34], eax
mov edx, dword [0x435cb8]
mov dword [esi + 0x38], edx
mov al, byte [0x435cbc]
mov ecx, 2
mov byte [esi + 0x3c], al
mov eax, dword [0x438f80]
mov edx, dword [0x438f98]
mov dword [ebp - 0x158], eax
mov eax, ecx
shl eax, 5
add eax, esi
mov dword [eax + 0x10], 0x50800
inc ecx
mov dword [ebp - 0x16c], edx
mov edx, dword [0x438524]
mov dword [ebp - 0x130], ecx
mov ecx, dword [str.NK]
mov dword [eax + 0x14], ecx
mov dword [ebp - 0x164], edx
mov edx, dword [0x435cc4]
mov dword [eax + 0x18], edx
mov cl, byte [0x435cc8]
xor ebx, ebx
mov byte [eax + 0x1c], cl
cmp dword [ebp + 8], ebx
jle 0x42a48d
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x140]
mov edx, eax
shl edx, 5
mov edi, eax
shl edi, 5
lea edx, [edx + ecx + 0x14]
add edi, eax
mov dword [ebp - 0x134], edx
lea edx, [ebp - 0x4c]
sub edi, edx
add edi, dword [ebp - 0x14c]
add eax, dword [ebp + 8]
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x130], eax
jmp 0x42a3b0
mov ecx, dword [ebp - 0x12c]
add ecx, dword [0x437c64]
mov esi, dword [sym.imp.MSVCR100.dll_sprintf]
push ecx
lea edx, [ebp - 0x4c]
push str.EB_s
push edx
call esi
push ebx
lea eax, [ebp - 0x28]
push str.EB_d
push eax
call esi
add esp, 0x18
cmp byte [ebp - 0x28], 0x20
mov byte [ebp - 0x20], 0
lea esi, [ebp - 0x28]
jne 0x42a410
lea ebx, [ebx]
push 0xc
lea ecx, [ebp - 0x27]
push ecx
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x28], 0x20
je 0x42a3f0
lea esp, [esp]
cmp byte [esi], 0
je 0x42a41b
inc esi
cmp byte [esi], 0x20
jne 0x42a410
lea eax, [ebp - 0x28]
mov byte [esi], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a424
sub eax, edx
cmp eax, 8
jge 0x42a449
mov edx, 8
sub edx, eax
push edx
lea ecx, [ebp + eax - 0x28]
push 0x20
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x4c]
lea esp, [esp]
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x42a450
mov esi, dword [ebp - 0x134]
push 8
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
sub dword [ebp - 0x12c], 0xffffff80
add esi, 0x20
inc ebx
add esp, 0xc
add edi, 0x21
mov dword [ebp - 0x134], esi
cmp ebx, dword [ebp + 8]
jl 0x42a3b0
mov esi, dword [0x438168]
mov eax, dword [0x439230]
xor ecx, ecx
cmp dword [0x437918], ecx
setne cl
mov dword [ebp - 0x144], ecx
xor ecx, ecx
mov dword [ebp - 0x12c], ecx
test esi, esi
jle 0x42a632
jmp 0x42a4c6
mov ecx, dword [ebp - 0x12c]
mov edx, dword [0x43951c]
mov edi, dword [0x438f84]
imul edx, ecx
xor ebx, ebx
cmp dword [edi + edx*4], ebx
setne bl
xor edi, edi
mov dword [ebp - 0x134], ebx
cmp dword [eax + ecx*4], edi
jle 0x42a61d
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x140]
mov ebx, eax
shl ebx, 5
mov ecx, eax
add ebx, eax
shl ecx, 5
lea eax, [ebp - 0x128]
lea ecx, [ecx + edx + 0x14]
sub ebx, eax
add ebx, dword [ebp - 0x14c]
mov dword [ebp - 0x148], ecx
mov edi, edi
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x144]
add eax, dword [ebp - 0x12c]
lea edx, [edi + ecx]
push edx
push eax
lea edx, [ebp - 0x128]
push str.FV_d_d
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x10
xor eax, eax
mov edi, edi
mov cl, byte [ebp + eax - 0x128]
mov byte [ebp + eax - 0x28], cl
inc eax
test cl, cl
jne 0x42a550
cmp byte [ebp - 0x28], 0x20
mov byte [ebp - 0x20], cl
lea esi, [ebp - 0x28]
jne 0x42a590
lea esp, [esp]
push 0xc
lea eax, [ebp - 0x27]
push eax
lea ecx, [ebp - 0x28]
push ecx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x28], 0x20
je 0x42a570
lea esp, [esp]
cmp byte [esi], 0
je 0x42a59b
inc esi
cmp byte [esi], 0x20
jne 0x42a590
lea eax, [ebp - 0x28]
mov byte [esi], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a5a4
sub eax, edx
cmp eax, 8
jge 0x42a5c9
mov edx, 8
sub edx, eax
push edx
lea ecx, [ebp + eax - 0x28]
push 0x20
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x128]
nop
mov cl, byte [eax]
mov byte [ebx + eax], cl
inc eax
test cl, cl
jne 0x42a5d0
mov esi, dword [ebp - 0x148]
push 8
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, dword [0x439230]
mov ecx, dword [ebp - 0x12c]
inc dword [ebp - 0x130]
add esi, 0x20
inc edi
add esp, 0xc
add ebx, 0x21
mov dword [ebp - 0x148], esi
cmp edi, dword [eax + ecx*4]
jl 0x42a520
mov esi, dword [0x438168]
mov ecx, dword [ebp - 0x12c]
inc ecx
mov dword [ebp - 0x12c], ecx
cmp ecx, esi
jl 0x42a4c0
xor ecx, ecx
mov dword [ebp - 0x12c], ecx
test esi, esi
jle 0x42a7b2
jmp 0x42a64a
mov ecx, dword [ebp - 0x12c]
mov edx, dword [0x43951c]
mov edi, dword [0x438f84]
imul edx, ecx
xor ebx, ebx
cmp dword [edi + edx*4], ebx
setne bl
xor edi, edi
mov dword [ebp - 0x134], ebx
cmp dword [eax + ecx*4], edi
jle 0x42a79d
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x140]
mov ebx, eax
shl ebx, 5
mov ecx, eax
add ebx, eax
shl ecx, 5
lea eax, [ebp - 0x128]
lea ecx, [ecx + edx + 0x14]
sub ebx, eax
add ebx, dword [ebp - 0x14c]
mov dword [ebp - 0x148], ecx
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x144]
add eax, dword [ebp - 0x12c]
lea edx, [edi + ecx]
push edx
push eax
lea edx, [ebp - 0x128]
push str.EC_d_d
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x10
xor eax, eax
mov cl, byte [ebp + eax - 0x128]
mov byte [ebp + eax - 0x28], cl
inc eax
test cl, cl
jne 0x42a6d0
cmp byte [ebp - 0x28], 0x20
mov byte [ebp - 0x20], cl
lea esi, [ebp - 0x28]
jne 0x42a710
lea esp, [esp]
push 0xc
lea eax, [ebp - 0x27]
push eax
lea ecx, [ebp - 0x28]
push ecx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x28], 0x20
je 0x42a6f0
lea esp, [esp]
cmp byte [esi], 0
je 0x42a71b
inc esi
cmp byte [esi], 0x20
jne 0x42a710
lea eax, [ebp - 0x28]
mov byte [esi], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a724
sub eax, edx
cmp eax, 8
jge 0x42a749
mov edx, 8
sub edx, eax
push edx
lea ecx, [ebp + eax - 0x28]
push 0x20
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x128]
nop
mov cl, byte [eax]
mov byte [ebx + eax], cl
inc eax
test cl, cl
jne 0x42a750
mov esi, dword [ebp - 0x148]
push 8
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, dword [0x439230]
mov ecx, dword [ebp - 0x12c]
inc dword [ebp - 0x130]
add esi, 0x20
inc edi
add esp, 0xc
add ebx, 0x21
mov dword [ebp - 0x148], esi
cmp edi, dword [eax + ecx*4]
jl 0x42a6a2
mov esi, dword [0x438168]
mov ecx, dword [ebp - 0x12c]
inc ecx
mov dword [ebp - 0x12c], ecx
cmp ecx, esi
jl 0x42a644
xor eax, eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x144], eax
cmp dword [ebp + 8], eax
jle 0x42a90f
lea esp, [esp]
xor ebx, ebx
cmp dword [ebp - 0x12c], ebx
jl 0x42a8f9
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x140]
mov edx, eax
shl edx, 5
lea edx, [edx + ecx + 0x14]
mov ecx, dword [ebp - 0x12c]
mov edi, eax
shl edi, 5
mov dword [ebp - 0x148], edx
add edi, eax
lea edx, [ebp - 0x4c]
sub edi, edx
add edi, dword [ebp - 0x14c]
lea edx, [eax + ecx + 1]
mov dword [ebp - 0x130], edx
jmp 0x42a820
mov eax, dword [ebp - 0x12c]
push ebx
push eax
lea ecx, [ebp - 0x4c]
push str.PV_d__d
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
mov esi, dword [ebp - 0x144]
push esi
lea edx, [ebp - 0x28]
push str.PV_d
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
inc esi
add esp, 0x1c
cmp byte [ebp - 0x28], 0x20
mov dword [ebp - 0x144], esi
mov byte [ebp - 0x20], 0
lea esi, [ebp - 0x28]
jne 0x42a880
push 0xc
lea eax, [ebp - 0x27]
push eax
lea ecx, [ebp - 0x28]
push ecx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x28], 0x20
je 0x42a864
lea ecx, [ecx]
cmp byte [esi], 0
je 0x42a88b
inc esi
cmp byte [esi], 0x20
jne 0x42a880
lea eax, [ebp - 0x28]
mov byte [esi], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a894
sub eax, edx
cmp eax, 8
jge 0x42a8b9
mov edx, 8
sub edx, eax
push edx
lea ecx, [ebp + eax - 0x28]
push 0x20
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x4c]
lea esp, [esp]
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x42a8c0
mov esi, dword [ebp - 0x148]
push 8
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
add esi, 0x20
inc ebx
add esp, 0xc
add edi, 0x21
mov dword [ebp - 0x148], esi
cmp ebx, dword [ebp - 0x12c]
jle 0x42a820
mov eax, dword [ebp - 0x12c]
inc eax
mov dword [ebp - 0x12c], eax
cmp eax, dword [ebp + 8]
jl 0x42a7d0
mov eax, dword [ebp - 0x158]
test eax, eax
je 0x42a9f1
xor ebx, ebx
test eax, eax
jle 0x42a9f1
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x140]
shl eax, 5
lea edx, [eax + ecx + 0x14]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax + ebx*4]
imul eax, eax, 0xd
add eax, dword [ebp - 0x164]
lea edx, [ebp - 0x4c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x42a955
cmp byte [ebp - 0x4c], 0x20
mov byte [ebp - 0x44], cl
lea esi, [ebp - 0x4c]
jne 0x42a986
mov edi, dword [sym.imp.MSVCR100.dll_memmove]
push 0xc
lea ecx, [ebp - 0x4b]
push ecx
lea edx, [ebp - 0x4c]
push edx
call edi
add esp, 0xc
cmp byte [ebp - 0x4c], 0x20
je 0x42a971
cmp byte [esi], 0
je 0x42a991
inc esi
cmp byte [esi], 0x20
jne 0x42a986
lea eax, [ebp - 0x4c]
mov byte [esi], 0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a9a0
sub eax, edx
cmp eax, 8
jge 0x42a9c5
mov edx, 8
sub edx, eax
push edx
lea ecx, [ebp + eax - 0x4c]
push 0x20
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov esi, dword [ebp - 0x144]
push 8
lea eax, [ebp - 0x4c]
push eax
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
add esi, 0x20
inc ebx
add esp, 0xc
mov dword [ebp - 0x144], esi
cmp ebx, dword [ebp - 0x158]
jl 0x42a940
mov eax, dword [ebp - 0x13c]
mov ebx, dword [ebp - 0x150]
mov dword [ebp - 0x12c], 0
test eax, eax
jle 0x42ab06
mov esi, dword [ebp - 0x140]
mov edi, dword [sym.imp.MSVCR100.dll_fwrite]
add esi, 0x10
mov edi, edi
push ebx
push 1
lea ecx, [ebp - 0x15c]
push 4
push ecx
mov dword [ebp - 0x15c], 2
call edi
add esp, 0x10
cmp eax, 1
jne 0x42ab6f
push ebx
push eax
lea edx, [esi - 8]
push 4
push edx
call edi
add esp, 0x10
cmp eax, 1
jne 0x42abc9
push ebx
push eax
lea eax, [ebp - 0x138]
push 4
push eax
mov dword [ebp - 0x138], 0
call edi
add esp, 0x10
cmp eax, 1
jne 0x42ab60
push ebx
push 1
lea eax, [esi - 4]
push 4
push eax
call edi
add esp, 0x10
cmp eax, 1
jne 0x42ab60
push ebx
push eax
push 4
push esi
call edi
add esp, 0x10
cmp eax, 1
jne 0x42ab60
push ebx
push eax
push 4
push esi
call edi
add esp, 0x10
cmp eax, 1
jne 0x42ab60
push ebx
push eax
lea ecx, [esi + 4]
push 8
push ecx
call edi
add esp, 0x10
cmp eax, 1
jne 0x42ab60
cmp dword [esi - 4], 0
je 0x42aae8
push ebx
push eax
lea edx, [esi - 0x10]
push 8
push edx
call edi
add esp, 0x10
cmp eax, 1
jne 0x42ab60
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x13c]
inc ecx
add esi, 0x20
mov dword [ebp - 0x12c], ecx
cmp ecx, eax
jl 0x42aa20
mov esi, dword [sym.imp.MSVCR100.dll_fwrite]
xor edx, edx
mov dword [ebp - 0x160], edx
test eax, eax
jle 0x42ae8d
mov ecx, dword [ebp - 0x14c]
cmp byte [ecx], 0
je 0x42ab2e
inc edx
mov dword [ebp - 0x160], edx
add ecx, 0x21
dec eax
jne 0x42ab22
test edx, edx
je 0x42ae8d
push ebx
push 1
lea edx, [ebp - 0x154]
push 4
push edx
mov dword [ebp - 0x154], 7
call esi
add esp, 0x10
cmp eax, 1
je 0x42ac24
mov eax, 0x42f998
mov ebx, 5
call fcn.0041f960
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42abc1
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x42aba5
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push str._Unable_to_write._Full_disk__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x42ac1c
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
nop
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
cmp ecx, 3
jbe 0x42ac00
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push ebx
push 1
lea eax, [ebp - 0x154]
push 4
push eax
mov dword [ebp - 0x154], 0xd
call esi
add esp, 0x10
cmp eax, 1
je 0x42ac53
mov eax, 0x42f998
mov ebx, 5
call fcn.0041f960
push ebx
push 1
lea ecx, [ebp - 0x154]
push 4
push ecx
mov dword [ebp - 0x154], 1
call esi
add esp, 0x10
cmp eax, 1
je 0x42ac82
mov eax, 0x42f998
mov ebx, 5
call fcn.0041f960
push ebx
call dword [sym.imp.MSVCR100.dll__ftelli64]
push ebx
push 1
mov dword [ebp - 0x164], edx
lea edx, [ebp - 0x160]
mov edi, eax
push 4
push edx
mov dword [ebp - 0x168], edi
call esi
add esp, 0x14
cmp eax, 1
je 0x42acbc
mov eax, 0x42f998
mov ebx, 5
call fcn.0041f960
xor eax, eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x13c], eax
jle 0x42ae1f
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x130], eax
lea eax, [ecx + 0x14]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x4c]
sub eax, ecx
sub eax, 0x14
mov dword [ebp - 0x150], eax
nop
mov ecx, dword [ebp - 0x130]
cmp byte [ecx], 0
je 0x42ade8
mov eax, dword [ebp - 0x134]
mov edx, dword [ebp - 0x150]
jmp 0x42ad20
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42ad20
cmp byte [ebp - 0x4c], 0x20
lea esi, [ebp - 0x4c]
jne 0x42ad55
mov edi, dword [sym.imp.MSVCR100.dll_memmove]
lea esp, [esp]
push 0xc
lea edx, [ebp - 0x4b]
push edx
lea eax, [ebp - 0x4c]
push eax
call edi
add esp, 0xc
cmp byte [ebp - 0x4c], 0x20
je 0x42ad40
cmp byte [esi], 0
je 0x42ad60
inc esi
cmp byte [esi], 0x20
jne 0x42ad55
mov ecx, dword [ebp - 0x130]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0xa8]
push str._s_s
push eax
mov byte [esi], 0
call dword [sym.imp.MSVCR100.dll_sprintf]
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x160]
mov edx, eax
dec ecx
inc eax
add esp, 0x10
mov dword [ebp - 0x158], eax
cmp edx, ecx
je 0x42adb5
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42ada4
mov ax, word [0x435d08]
mov word [edi], ax
lea eax, [ebp - 0xa8]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42adc0
sub eax, edx
je 0x42ade8
push ebx
push 1
push eax
lea ecx, [ebp - 0xa8]
push ecx
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
cmp eax, 1
jne 0x42ab60
mov eax, dword [ebp - 0x12c]
add dword [ebp - 0x130], 0x21
mov ecx, 0x20
sub dword [ebp - 0x150], ecx
add dword [ebp - 0x134], ecx
inc eax
mov dword [ebp - 0x12c], eax
cmp eax, dword [ebp - 0x13c]
jl 0x42ad00
mov edi, dword [ebp - 0x168]
push ebx
call dword [sym.imp.MSVCR100.dll__ftelli64]
mov esi, eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x16c], edx
push 0
push eax
mov edx, esi
sub edx, edi
push edi
mov edi, dword [sym.imp.MSVCR100.dll__fseeki64]
sub edx, 4
push ebx
mov dword [ebp - 0x154], edx
call edi
push ebx
push 1
lea ecx, [ebp - 0x154]
push 4
push ecx
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x24
cmp eax, 1
je 0x42ae77
mov eax, 0x42f998
mov ebx, 5
call fcn.0041f960
mov edx, dword [ebp - 0x16c]
push 0
push edx
push esi
push ebx
call edi
mov esi, dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
push ebx
push 1
lea eax, [ebp - 0x15c]
push 4
push eax
mov dword [ebp - 0x15c], 0x3e7
call esi
add esp, 0x10
cmp eax, 1
je 0x42aebc
mov eax, 0x42f998
mov ebx, 5
call fcn.0041f960
push ebx
push 1
lea ecx, [ebp - 0x138]
push 4
push ecx
mov dword [ebp - 0x138], 0
call esi
add esp, 0x10
cmp eax, 1
je 0x42aeeb
mov eax, 0x42f998
mov ebx, 5
call fcn.0041f960
mov eax, dword [ebp - 0x14c]
mov esi, dword [sym.imp.MSVCR100.dll_free]
test eax, eax
je 0x42af01
push eax
call esi
add esp, 4
mov edx, dword [ebp - 0x140]
push edx
call esi
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042e325
mov esp, ebp
pop ebp
ret