Function at 0x4024b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov esi, dword [ebp + 8]
mov byte [esi], 0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x40264c
mov dword [ebp - 0x10], 0
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x14], edx
cmp byte [edx], 0
je 0x40264c
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4026ad
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0
je 0x4026ad
mov dword [esp], edx
mov ebx, 0x2e
mov dword [esp + 4], ebx
call sub.msvcrt.dll_strchr
mov edx, 0x5f
mov ebx, eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test ebx, ebx
mov edx, eax
je 0x402532
test eax, eax
mov edx, ebx
je 0x402532
cmp eax, ebx
mov edx, eax
jbe 0x402532
mov edx, ebx
test edx, edx
je 0x402749
mov ecx, dword [ebp - 0x14]
sub edx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0x4026ad
mov dword [ebp - 0x1c], esp
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
add eax, 0x1f
inc edx
and eax, 0xfffffff0
call fcn.004058d0
cld
mov ecx, edx
lea ebx, [esp + 0x1f]
and ebx, 0xfffffff0
xor eax, eax
shr ecx, 2
mov edi, ebx
test dl, 2
rep stosd dword es:[edi], eax
mov eax, edi
je 0x402584
mov word [edi], 0
add eax, 2
test dl, 1
je 0x40258c
mov byte [eax], 0
mov ecx, dword [ebp - 0x18]
mov dword [esp + 8], ecx
mov edi, dword [ebp - 0x14]
mov dword [esp], ebx
mov dword [esp + 4], edi
call sub.msvcrt.dll_strncpy
mov edx, dword [ebp - 0x10]
test edx, edx
jne 0x402654
cmp dword [ebp - 0x18], 1
je 0x4026dc
mov word [esi], 0x31
mov dword [ebp - 0x10], 1
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov word [eax + esi], 0x2e
xor edi, edi
mov edx, dword [ebp - 0x10]
test edx, edx
jle 0x40263e
lea esi, [esi]
mov ecx, ebx
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
mov eax, edx
and eax, 0x80808080
je 0x4025f0
and edx, 0x8080
jne 0x402616
shr eax, 0x10
add ecx, 2
add al, al
mov edx, 3
sbb ecx, 3
sub ecx, ebx
sub edx, ecx
cmp edi, edx
jae 0x40263e
mov dword [esp], esi
inc edi
call sub.msvcrt.dll_strlen
mov word [eax + esi], 0x30
mov edx, dword [ebp - 0x10]
test edx, edx
jg 0x4025e0
mov dword [esp + 4], ebx
mov dword [esp], esi
call sub.msvcrt.dll_strcat
jmp 0x402676
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [ebp - 0x10], 2
jg 0x40266a
mov eax, dword [ebp - 0x10]
test eax, eax
jg 0x4025c3
jmp 0x4025d1
cmp dword [ebp - 0x10], 3
je 0x4026ea
jg 0x40275c
inc dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp + 0xc]
lea edx, [ebx + edi + 1]
mov dword [ebp - 0x14], edx
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ecx, dword [ebp + 0xc]
add eax, ecx
cmp eax, dword [ebp - 0x14]
jbe 0x402787
mov ecx, dword [ebp - 0x14]
mov esp, dword [ebp - 0x1c]
test ecx, ecx
jne 0x4024eb
mov edi, dword [ebp - 0x10]
cmp edi, 2
jg 0x40264c
mov dword [esp], esi
mov ebx, 2
call sub.msvcrt.dll_strlen
mov word [eax + esi], 0x2e
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov word [eax + esi], 0x30
dec ebx
jns 0x4026c8
inc edi
jmp 0x4026b0
cmp byte [ebx], 0x31
jne 0x4025b7
jmp 0x4025d1
mov dword [esp], esi
xor edi, edi
call sub.msvcrt.dll_strlen
mov word [eax + esi], 0x5f
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
mov eax, edx
and eax, 0x80808080
je 0x4026fc
and edx, 0x8080
jne 0x402722
shr eax, 0x10
add ecx, 2
add al, al
mov edx, 3
sbb ecx, 3
sub ecx, ebx
sub edx, ecx
cmp edi, edx
jae 0x40263e
mov dword [esp], esi
inc edi
call sub.msvcrt.dll_strlen
mov word [eax + esi], 0x30
jmp 0x4026fa
mov edi, dword [ebp - 0x14]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x18], eax
jmp 0x402542
mov eax, dword [0x408090]
test eax, eax
je 0x402787
mov dword [esp + 0xc], eax
mov edi, 0x33
mov ebx, 1
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], str.Warning:_tformatJavaVersion___too_many_parts_added._n
call sub.msvcrt.dll_fwrite
mov esp, dword [ebp - 0x1c]
jmp 0x4026ad