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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov word [ebp - 0x11c], 2
cmp word [ebp - 0x11c], 2
push ebx
sete al
inc al
mov byte [ebp - 0x113], al
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, edx
cdq
push esi
sub eax, edx
mov edx, dword [ebp + 0xc]
push edi
mov edi, dword [sym.imp.MSVCR100.dll_fwrite]
sar eax, 1
add eax, dword [0x438f80]
push ebx
lea esi, [eax + edx*2 + 2]
push 1
lea eax, [ebp - 0x114]
add esi, ecx
push 4
push eax
mov dword [ebp - 0x130], ebx
mov byte [ebp - 0x114], 0x71
mov word [ebp - 0x112], 1
mov dword [ebp - 0x120], esi
call edi
add esp, 0x10
cmp eax, 1
je 0x42afd1
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 0x42afc9
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push ebx
push 1
movzx ecx, si
lea edx, [ebp - 0x150]
push 2
push edx
mov dword [ebp - 0x150], ecx
call edi
add esp, 0x10
cmp eax, 1
je 0x42b018
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 0x42b010
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [0x438efc]
push ebx
push 1
lea ecx, [ebp - 0x14c]
push 4
push ecx
mov dword [ebp - 0x14c], eax
call edi
add esp, 0x10
cmp eax, 1
je 0x42b061
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 0x42b059
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push ebx
push 1
lea edx, [ebp - 0x114]
push 0x51
push edx
mov byte [ebp - 0x114], 0
mov byte [ebp - 0xc4], 0
mov byte [ebp - 0x103], 0
call edi
add esp, 0x10
cmp eax, 1
je 0x42b0b4
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 0x42b0ac
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
push ebx
push 1
lea eax, [ebp - 0x114]
push 0x12
push eax
call edi
add esp, 0x10
cmp eax, 1
je 0x42b0f2
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 0x42b0ea
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
mov edi, esi
imul edi, edi, 0x2e
test edi, edi
jne 0x42b0ff
xor edx, edx
jmp 0x42b14f
push edi
call dword [sym.imp.MSVCR100.dll_malloc]
add esp, 4
mov dword [ebp - 0x128], eax
test eax, eax
jne 0x42b13b
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 0x42b133
call fcn.004048c0
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push edi
mov ecx, eax
push 0
push ecx
call sub.MSVCR100.dll_memset
mov edx, dword [ebp - 0x128]
add esp, 0xc
mov eax, esi
shl eax, 5
add eax, esi
cmp dword [0x438da0], 0
lea edi, [edx + esi]
lea ecx, [eax + edi]
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x140], ecx
je 0x42b19b
mov byte [edx], 0xff
mov eax, dword [str._12.0f]
mov dword [ecx], eax
mov ax, word [0x435d10]
mov word [ecx + 4], ax
mov al, byte [0x435d12]
mov byte [ecx + 6], al
jmp 0x42b1ad
mov byte [edx], 0xc
mov eax, dword [str._12s]
mov dword [ecx], eax
mov al, byte [0x435d18]
mov byte [ecx + 4], al
mov byte [edx + 1], 0xfd
mov eax, dword [str._9.0f]
mov dword [ecx + 0xc], eax
mov ax, word [0x435d20]
mov word [ecx + 0x10], ax
mov eax, 2
cmp esi, eax
jle 0x42b1f5
add ecx, 0x18
nop
mov byte [eax + edx], 0xff
mov ebx, dword [str._9.3g]
mov dword [ecx], ebx
mov bx, word [0x435d28]
mov word [ecx + 4], bx
inc eax
add ecx, 0xc
cmp eax, esi
jl 0x42b1d0
mov ebx, dword [ebp - 0x130]
test esi, esi
je 0x42b234
push ebx
push 1
push esi
push edx
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
cmp eax, 1
je 0x42b234
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 0x42b22c
call fcn.004048c0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
cmp dword [ebp + 8], 0
mov ecx, dword [str.L3ID]
mov eax, dword [0x438f98]
mov dword [edi], ecx
mov dl, byte [0x435d30]
mov ecx, dword [0x438f80]
mov byte [edi + 4], dl
mov edx, dword [0x438524]
mov dword [ebp - 0x144], eax
mov ax, word [0x435d34]
mov word [edi + 0x21], ax
mov dword [ebp - 0x128], ecx
mov cl, byte [0x435d36]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x11c], 2
mov byte [edi + 0x23], cl
jle 0x42b320
mov eax, dword [ebp + 8]
xor ebx, ebx
add edi, 0x42
mov dword [ebp - 0x124], eax
add eax, 2
mov dword [ebp - 0x11c], eax
mov edx, dword [0x437c64]
lea eax, [ebx + edx]
push eax
lea ecx, [ebp - 0x14]
push str.EB_s
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
cmp byte [ebp - 0x14], 0x20
lea esi, [ebp - 0x14]
jne 0x42b2f0
jmp 0x42b2d0
push 0xc
lea edx, [ebp - 0x13]
push edx
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x14], 0x20
je 0x42b2d0
lea esp, [esp]
cmp byte [esi], 0
je 0x42b2fb
inc esi
cmp byte [esi], 0x20
jne 0x42b2f0
push 8
lea ecx, [ebp - 0x14]
push ecx
push edi
mov byte [esi], 0
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
add edi, 0x21
sub ebx, 0xffffff80
dec dword [ebp - 0x124]
jne 0x42b2a6
lea esp, [esp]
mov esi, dword [0x438168]
mov eax, dword [0x439230]
xor edx, edx
cmp dword [0x437918], edx
setne dl
xor ebx, ebx
mov dword [ebp - 0x13c], edx
test esi, esi
jle 0x42b444
jmp 0x42b350
mov ecx, dword [0x43951c]
mov edi, dword [0x438f84]
imul ecx, ebx
xor edx, edx
cmp dword [edi + ecx*4], edx
setne dl
xor edi, edi
mov dword [ebp - 0x124], edx
cmp dword [eax + ebx*4], edi
jle 0x42b43b
mov ecx, dword [ebp - 0x11c]
mov eax, ecx
shl eax, 5
add eax, dword [ebp - 0x12c]
add eax, ecx
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x13c]
lea ecx, [edi + eax]
push ecx
add edx, ebx
push edx
lea eax, [ebp - 0x94]
push str.FV_d_d_
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x10
cmp byte [ebp - 0x94], 0x20
lea esi, [ebp - 0x94]
jne 0x42b3f2
jmp 0x42b3d0
push 0xc
lea ecx, [ebp - 0x93]
push ecx
lea edx, [ebp - 0x94]
push edx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x94], 0x20
je 0x42b3d0
cmp byte [esi], 0
je 0x42b3fd
inc esi
cmp byte [esi], 0x20
jne 0x42b3f2
mov ecx, dword [ebp - 0x118]
push 8
lea eax, [ebp - 0x94]
push eax
push ecx
mov byte [esi], 0
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, dword [0x439230]
inc dword [ebp - 0x11c]
add dword [ebp - 0x118], 0x21
inc edi
add esp, 0xc
cmp edi, dword [eax + ebx*4]
jl 0x42b391
mov esi, dword [0x438168]
inc ebx
cmp ebx, esi
jl 0x42b350
xor ebx, ebx
test esi, esi
jle 0x42b544
mov edi, edi
mov edx, dword [0x43951c]
mov edi, dword [0x438f84]
imul edx, ebx
xor ecx, ecx
cmp dword [edi + edx*4], ecx
setne cl
xor edi, edi
mov dword [ebp - 0x124], ecx
cmp dword [eax + ebx*4], edi
jle 0x42b53b
mov ecx, dword [ebp - 0x11c]
mov eax, ecx
shl eax, 5
add eax, dword [ebp - 0x12c]
add eax, ecx
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x13c]
lea eax, [edi + edx]
push eax
add ecx, ebx
push ecx
lea edx, [ebp - 0x94]
push str.EC_d_d_
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x10
cmp byte [ebp - 0x94], 0x20
lea esi, [ebp - 0x94]
jne 0x42b4f2
jmp 0x42b4d0
push 0xc
lea eax, [ebp - 0x93]
push eax
lea ecx, [ebp - 0x94]
push ecx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x94], 0x20
je 0x42b4d0
cmp byte [esi], 0
je 0x42b4fd
inc esi
cmp byte [esi], 0x20
jne 0x42b4f2
mov eax, dword [ebp - 0x118]
push 8
lea edx, [ebp - 0x94]
push edx
push eax
mov byte [esi], 0
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, dword [0x439230]
inc dword [ebp - 0x11c]
add dword [ebp - 0x118], 0x21
inc edi
add esp, 0xc
cmp edi, dword [eax + ebx*4]
jl 0x42b491
mov esi, dword [0x438168]
inc ebx
cmp ebx, esi
jl 0x42b450
cmp dword [ebp + 8], 0
mov dword [ebp - 0x118], 0
jle 0x42b610
jmp 0x42b560
xor ebx, ebx
cmp dword [ebp - 0x118], ebx
jl 0x42b5fa
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
mov edi, eax
shl edi, 5
add edi, dword [ebp - 0x12c]
lea edx, [eax + ecx + 1]
add edi, eax
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x118]
push ebx
push eax
lea ecx, [ebp - 0x14]
push str.PV_d_d
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x10
cmp byte [ebp - 0x14], 0x20
lea esi, [ebp - 0x14]
jne 0x42b5d0
push 0xc
lea edx, [ebp - 0x13]
push edx
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x14], 0x20
je 0x42b5b4
lea ecx, [ecx]
cmp byte [esi], 0
je 0x42b5db
inc esi
cmp byte [esi], 0x20
jne 0x42b5d0
push 8
lea ecx, [ebp - 0x14]
push ecx
push edi
mov byte [esi], 0
call dword [sym.imp.MSVCR100.dll_strncpy]
inc ebx
add esp, 0xc
add edi, 0x21
cmp ebx, dword [ebp - 0x118]
jle 0x42b591
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
cmp eax, dword [ebp + 8]
jl 0x42b560
cmp dword [ebp - 0x128], 0
je 0x42b6b0
xor edi, edi
cmp dword [ebp - 0x128], edi
jle 0x42b6b0
mov eax, dword [ebp - 0x11c]
mov ebx, eax
shl ebx, 5
add ebx, dword [ebp - 0x12c]
add ebx, eax
mov edi, edi
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + edi*4]
imul eax, eax, 0xd
add eax, dword [ebp - 0x148]
lea edx, [ebp - 0x14]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x42b655
cmp byte [ebp - 0x14], 0x20
lea esi, [ebp - 0x14]
jne 0x42b681
push 0xc
lea eax, [ebp - 0x13]
push eax
lea ecx, [ebp - 0x14]
push ecx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
cmp byte [ebp - 0x14], 0x20
je 0x42b668
cmp byte [esi], 0
je 0x42b68c
inc esi
cmp byte [esi], 0x20
jne 0x42b681
push 8
lea edx, [ebp - 0x14]
push edx
push ebx
mov byte [esi], 0
call dword [sym.imp.MSVCR100.dll_strncpy]
inc edi
add esp, 0xc
add ebx, 0x21
cmp edi, dword [ebp - 0x128]
jl 0x42b640
jmp 0x42b6b0
cmp dword [ebp - 0x120], 0
mov ebx, dword [sym.imp.MSVCR100.dll_fwrite]
mov edi, dword [ebp - 0x130]
mov dword [ebp - 0x118], 0
jle 0x42b701
mov esi, dword [ebp - 0x12c]
push edi
push 1
push 0x21
push esi
call ebx
add esp, 0x10
cmp eax, 1
jne 0x42b7c4
mov eax, dword [ebp - 0x118]
inc eax
add esi, 0x21
mov dword [ebp - 0x118], eax
cmp eax, dword [ebp - 0x120]
jl 0x42b6d5
mov eax, dword [ebp - 0x120]
lea ecx, [eax + eax + 2]
xor esi, esi
test ecx, ecx
jle 0x42b73e
push edi
push 1
push 1
push 0x435d40
call ebx
add esp, 0x10
cmp eax, 1
jne 0x42b824
mov eax, dword [ebp - 0x120]
inc esi
lea eax, [eax + eax + 2]
cmp esi, eax
jl 0x42b711
mov eax, dword [ebp - 0x120]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
je 0x42b884
mov edx, dword [ebp - 0x140]
push edi
push 1
push eax
push edx
call ebx
add esp, 0x10
cmp eax, 1
je 0x42b884
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 0x42b7bc
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
lea ebx, [ebx]
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 0x42b7a0
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 0x42b81c
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
lea ebx, [ebx]
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 0x42b800
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 0x42b87c
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
lea ebx, [ebx]
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 0x42b860
push 5
call dword [sym.imp.MSVCR100.dll_exit]
xor esi, esi
cmp dword [ebp - 0x134], esi
jle 0x42b8ad
mov edi, edi
push edi
push 1
push 1
push 0x435d40
call ebx
add esp, 0x10
cmp eax, 1
jne 0x42b91c
inc esi
cmp esi, dword [ebp - 0x134]
jl 0x42b890
push 0x51
lea edx, [ebp - 0x114]
push 0
push edx
call sub.MSVCR100.dll_memset
xor esi, esi
add esp, 0xc
cmp dword [ebp - 0x120], esi
jle 0x42b8f3
lea ebx, [ebx]
push edi
push 1
lea eax, [ebp - 0x114]
push 0x51
push eax
call ebx
add esp, 0x10
cmp eax, 1
jne 0x42b976
inc esi
cmp esi, dword [ebp - 0x120]
jl 0x42b8d0
push edi
push 1
lea edx, [ebp - 0x114]
push 5
push edx
call ebx
add esp, 0x10
cmp eax, 1
je 0x42b9d4
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 0x42b96e
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 ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
cmp ecx, 3
jbe 0x42b952
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 0x42b9cc
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
lea esp, [esp]
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 0x42b9b0
push 5
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.MSVCR100.dll_free]
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