Function at 0x401b20
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push 0x41c180
mov byte [0x424ea0], 0
mov byte [0x424fa8], 0
mov byte [0x4250b0], 0
mov dword [0x424d94], 0
call fcn.00401fc0
push str.1.07
push str.xbin_v_s_compiled_Dec_26_2023_21:05:39_n
call fcn.00401fc0
push str._c__2015_by_Michael_Fischer__www.emb4fun.de__n
call fcn.00401fc0
push 0x41c180
call fcn.00401fc0
mov ebx, dword [ebp + 8]
add esp, 0x14
cmp ebx, 3
jge 0x401bf1
push str.Usage:_xbin__i:Infile__o:Outfile___s:CRC32Size____t:TotalSizeKB____a:alignment__n
call fcn.00401fc0
push str.___________________________________p:ProductID____v:Version__n
call fcn.00401fc0
push 0x41c180
call fcn.00401fc0
push str.___i___Input_file__e.g.__i:input.bin_n
call fcn.00401fc0
push str.___o___Output_file__e.g.__o:output.bin_n
call fcn.00401fc0
push str.___s___Size_for_sectored_CRC32__e.g.__s:512_n
call fcn.00401fc0
push str._______Default_0__to_disable_this_functionality_n
call fcn.00401fc0
push str.___t___Total_size_in_KB__e.g.__t:384_n
call fcn.00401fc0
push str.___a___Size_alignment__e.g.__a:128_n
call fcn.00401fc0
push str.___p___Product_ID__hex___e.g.__p:0x80000001_n
call fcn.00401fc0
push str.___v___File_which_contains_the_version_info__e.g.__v:version.h_n
call fcn.00401fc0
add esp, 0x2c
xor eax, eax
pop ebx
pop ebp
ret
mov edx, dword [ebp + 0xc]
push esi
push edi
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401c00
sub ecx, esi
cmp ecx, 0x104
jae 0x401f0d
mov ecx, 0x424c90
nop word [eax + eax]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x401c20
push 0x5c
push 0x424c90
call fcn.00402c30
add esp, 8
test eax, eax
je 0x401c68
push str.xbin.ini
push 0x424c90
push str._s_s
push 0x104
push 0x424d98
mov byte [eax + 1], 0
call fcn.00401ae0
add esp, 0x14
jmp 0x401c7f
push str..xbin.ini
push 0x104
push 0x424d98
call fcn.00401ae0
add esp, 0xc
mov esi, dword [ebp + 0xc]
xor edi, edi
nop dword [eax]
nop dword [eax + eax]
push 0x41c4fc
push dword [esi + edi*4]
call fcn.00402d70
add esp, 8
test eax, eax
je 0x401ce0
lea ecx, [eax + 3]
mov edx, ecx
lea esi, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x401cb0
sub edx, esi
cmp edx, 0x103
jae 0x401f35
mov edx, 0x424fa8
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x401cd0
mov esi, dword [ebp + 0xc]
push 0x41c51c
push dword [esi + edi*4]
call fcn.00402d70
add esp, 8
test eax, eax
je 0x401d30
lea ecx, [eax + 3]
mov edx, ecx
lea esi, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x401d00
sub edx, esi
cmp edx, 0x103
jae 0x401f4e
mov edx, 0x4250b0
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x401d20
mov esi, dword [ebp + 0xc]
push 0x41c540
push dword [esi + edi*4]
call fcn.00402d70
add esp, 8
test eax, eax
je 0x401d5d
add eax, 3
push eax
call fcn.00404faf
add esp, 4
mov dword [0x424d94], eax
test al, 3
jne 0x401f67
push 0x41c56c
push dword [esi + edi*4]
call fcn.00402d70
add esp, 8
test eax, eax
je 0x401d82
add eax, 3
push eax
call fcn.00404faf
add esp, 4
mov dword [0x4250ac], eax
push 0x41c570
push dword [esi + edi*4]
call fcn.00402d70
add esp, 8
test eax, eax
je 0x401da7
add eax, 3
push eax
call fcn.00404faf
add esp, 4
mov dword [0x424fa4], eax
push 0x41c574
push dword [esi + edi*4]
call fcn.00402d70
add esp, 8
test eax, eax
je 0x401dd1
push 0x424e9c
add eax, 3
push 0x41c578
push eax
call fcn.00401ff0
add esp, 0xc
push 0x41c57c
push dword [esi + edi*4]
call fcn.00402d70
add esp, 8
test eax, eax
je 0x401e20
lea ecx, [eax + 3]
mov edx, ecx
lea esi, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x401df0
sub edx, esi
cmp edx, 0x103
jae 0x401f7b
mov edx, 0x424ea0
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x401e10
mov esi, dword [ebp + 0xc]
inc edi
cmp edi, ebx
jl 0x401c90
cmp byte [0x424fa8], 0
pop edi
pop esi
je 0x401f21
cmp byte [0x4250b0], 0
je 0x401f94
cmp dword [0x424d94], 0
je 0x401e68
cmp dword [0x4250ac], 0
jne 0x401fa8
cmp dword [0x424fa4], 0
jne 0x401fa8
push 0x424fa8
push str.Input_file_:__s_n
call fcn.00401fc0
push 0x4250b0
push str.Output_file:__s_n
call fcn.00401fc0
push dword [0x424d94]
push str.CRC_size___:__d_n
call fcn.00401fc0
mov eax, dword [0x4250ac]
add esp, 0x18
test eax, eax
je 0x401eb3
shl eax, 0xa
push eax
push str.Total_size_:__d_n
call fcn.00401fc0
add esp, 8
push dword [0x424fa4]
push str.Alignment__:__d_n
call fcn.00401fc0
push dword [0x424e9c]
push str.Product_ID_:__08X_n
call fcn.00401fc0
add esp, 0x10
cmp byte [0x424ea0], 0
je 0x401ef6
push 0x424ea0
push str.Version____:__s_n
call fcn.00401fc0
add esp, 8
call fcn.00401850
push 0x41c180
call fcn.00401fc0
add esp, 4
call fcn.00401280
xor eax, eax
pop ebx
pop ebp
ret
push str.Error:_xbin_path_to_long_n
call fcn.00401fc0
add esp, 4
push 1
call fcn.004042eb
push str.Error:_No_input_file_specified_n
call fcn.00401fc0
add esp, 4
push 1
call fcn.004042eb
push 0x103
push str.Error:_Input_name_len____d_n
call fcn.00401fc0
add esp, 8
push 1
call fcn.004042eb
push 0x103
push str.Error:_Output_name_len____d_n
call fcn.00401fc0
add esp, 8
push 1
call fcn.004042eb
push str.Error:_SectorSize_must_be_aligned_to_4_n
call fcn.00401fc0
add esp, 4
push 1
call fcn.004042eb
push 0x103
push str.Error:_Config_filer_name_len____d_n
call fcn.00401fc0
add esp, 8
push 1
call fcn.004042eb
push str.Error:_No_Output_file_specified_n
call fcn.00401fc0
add esp, 4
push 1
call fcn.004042eb
push str.Error:_Total_size_and_alignment_not_supported_if___s__is_used_n
call fcn.00401fc0
add esp, 4
push 1
call fcn.004042eb
int3