Function at 0x404150
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
mov eax, dword [0x408028]
mov edx, dword [ebp + 0xc]
test eax, eax
mov dword [ebp - 0x5c], edx
je 0x404175
mov eax, dword [0x408090]
test eax, eax
jne 0x4043a0
cld
xor eax, eax
mov dword [ebp - 0x60], 1
lea ebx, [ebp - 0x38]
mov ecx, 5
mov edi, ebx
mov esi, ebx
rep stosd dword es:[edi], eax
mov dword [esp + 4], ebx
mov edi, 0x407166
mov ebx, 0x4102e0
mov dword [esp], 0x20
call 0x4020c0
cld
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp], 2
sete dl
mov esi, 0x4102e0
mov dword [esp + 4], esi
movzx eax, dl
mov dword [0x4102d8], eax
call 0x4020c0
mov dword [esp + 4], ebx
mov dword [esp], 0x4103e0
call fcn.004024b0
mov eax, dword [0x408090]
test eax, eax
jne 0x404300
mov dword [esp], 3
mov ecx, 0x410360
mov ebx, 0x410360
mov dword [esp + 4], ecx
call 0x4020c0
mov dword [esp + 4], ebx
mov dword [esp], 0x410460
call fcn.004024b0
mov eax, dword [0x408090]
test eax, eax
jne 0x404380
mov eax, dword [0x4102d8]
test eax, eax
je 0x404320
mov esi, dword [0x408028]
test esi, esi
jne 0x404270
cmp byte [0x4103e0], 0
jne 0x4042b0
mov ebx, dword [ebp - 0x5c]
mov dword [esp + 4], ebx
mov esi, dword [ebp + 8]
mov dword [esp], esi
call fcn.00403c80
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x404370
mov eax, dword [ebp - 0x60]
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x408090]
test eax, eax
je 0x40423a
mov dword [esp + 0xc], eax
mov ecx, 0x15
mov ebx, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], str.installedJreSearch___n
call sub.msvcrt.dll_fwrite
cmp byte [0x4103e0], 0
je 0x404243
lea esi, [esi]
lea edi, [edi]
cld
xor eax, eax
mov ecx, 5
lea edi, [ebp - 0x58]
lea edx, [ebp - 0x58]
rep stosd dword es:[edi], eax
mov dword [esp + 4], edx
lea edi, [ebp - 0x58]
mov dword [esp], 0x12
call 0x4020c0
mov dword [esp], edi
call sub.msvcrt.dll_atoi
mov dword [esp + 4], eax
mov dword [esp], 0x4081a4
call fcn.00403070
test eax, eax
je 0x404243
mov eax, dword [ebp - 0x60]
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
mov esi, 0x4103e0
mov edx, str.Java_min_ver:_t_s_n
mov dword [esp + 8], esi
mov dword [esp + 4], edx
call sub.msvcrt.dll_fprintf
jmp 0x4041ec
mov ecx, dword [ebp - 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [ebp + 8]
mov dword [esp], edx
call fcn.00403c80
test eax, eax
jne 0x404263
mov edi, dword [0x408028]
test edi, edi
je 0x404351
mov eax, dword [0x408090]
test eax, eax
jne 0x404417
xor ebx, ebx
cmp byte [0x4103e0], 0
jne 0x4043c7
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
test ebx, ebx
jne 0x404263
lea esi, [esi]
call fcn.00403f90
mov eax, dword [ebp - 0x60]
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
mov edx, 0x410460
mov edi, str.Java_max_ver:_t_s_n
mov dword [esp + 8], edx
mov dword [esp + 4], edi
call sub.msvcrt.dll_fprintf
jmp 0x404223
mov dword [esp + 0xc], eax
mov ecx, 0xc
mov edi, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], str.jreSearch___n
call sub.msvcrt.dll_fwrite
jmp 0x404175
cld
mov eax, ebx
mov ecx, 5
lea edi, [ebp - 0x58]
rep stosd dword es:[edi], eax
mov dword [esp], 0x12
lea ecx, [ebp - 0x58]
mov dword [esp + 4], ecx
call 0x4020c0
lea edx, [ebp - 0x58]
mov dword [esp], edx
call sub.msvcrt.dll_atoi
mov dword [esp + 4], eax
mov dword [esp], 0x4081a4
call fcn.00403070
test eax, eax
je 0x40435c
mov ebx, 1
mov dword [ebp - 0x60], ebx
jmp 0x40435f
mov dword [esp + 0xc], eax
mov esi, 0x15
mov eax, 1
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str.installedJreSearch___n
call sub.msvcrt.dll_fwrite
jmp 0x404351