Function at 0x404bf0
Capabilities:
Create directory
Set registry value

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0xa0
and eax, 0xffff
push ebx
add eax, 0xffffffd7
push ebp
push esi
cmp eax, 0x44
push edi
ja case.default.0x405af2
xor ecx, ecx
mov cl, byte [eax + 0x40670c]
jmp dword [ecx*4 + 0x406690]
mov eax, dword [0x439568]
test eax, eax
je 0x404c37
test dword [0x42e228], 0x1000000
je case.default.0x405af2
mov eax, dword [0x42e034]
mov edi, dword [esp + 0xb4]
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
jne 0x404c5d
push 0x10
push 0x432594
push str.There_is_no_data_in_the_buffer__n_You_have_to_load_a_file_or_read_a_master_chip.
push edi
call esi
push 1
call fcn.00424180
add esp, 4
test eax, eax
jne 0x404c8a
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push edi
call esi
cmp eax, 7
je case.default.0x405af2
jmp 0x404c9f
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x4056dc
mov eax, dword [0x439fc8]
xor ecx, ecx
mov edx, dword [eax*4 + 0x439fcc]
mov eax, dword [eax*4 + 0x431580]
shl edx, 7
add eax, edx
mov cl, byte [eax + 8]
dec ecx
je 0x404cd1
sub ecx, 0x31
je 0x404cd1
mov cx, word [eax + 0xc]
and word [0x42e554], cx
jmp 0x404cdf
mov dx, word [eax + 0xc]
or dh, 0x1c
and word [0x42e554], dx
mov ax, word [eax + 0xa]
mov cx, word [0x42e554]
push str.Auto
push 0x44cc80
mov word [0x44ccb8], ax
mov word [0x44c0e4], cx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [0x44d514]
add esp, 8
push 0
push 0x40cdd0
push edi
push str.X1BOX
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
call fcn.00424330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x404d79
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
jmp 0x404d8e
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x4056dc
mov al, byte [0x42e554]
push str.Check_Device_ID
and eax, 1
push 0x44cc80
mov word [0x44ccb8], 1
mov word [0x44c0e4], ax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [0x44d514]
add esp, 8
push 0
push 0x40cdd0
push esi
push str.X1BOX
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
call fcn.00424330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x404e27
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
jmp 0x404e3c
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x4056dc
mov eax, dword [0x439fc8]
mov edx, dword [eax*4 + 0x439fcc]
mov eax, dword [eax*4 + 0x431580]
shl edx, 7
add eax, edx
cmp byte [eax + 8], 0xb4
je 0x404e7f
mov cl, byte [eax + 0xa]
mov dl, byte [0x42e554]
and ecx, 1
and edx, 1
or ecx, 0xc
or edx, 0xc
mov word [0x44ccb8], cx
mov word [0x44c0e4], dx
jmp 0x404e91
mov word [0x44ccb8], 4
mov word [0x44c0e4], 4
push str.Erase_Device
push 0x44cc80
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0
push 0x40cdd0
push esi
push str.X1BOX
jmp 0x4056d0
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x404efb
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
jmp 0x404f10
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x405626
mov eax, dword [0x439fc8]
push 0x432a8c
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
mov al, byte [ecx + edx + 0xa]
mov cl, byte [0x42e554]
and eax, 1
and ecx, 1
or al, 8
or ecx, 8
mov word [0x44ccb8], ax
mov word [0x44c0e4], cx
push 0x44cc80
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [0x44d514]
add esp, 8
push 0
push 0x40cdd0
push esi
push str.X1BOX
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
call fcn.00424330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
mov eax, dword [0x42e034]
mov edi, dword [esp + 0xb4]
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, 1
cmp eax, ebx
jne 0x404fd3
push 0x10
push 0x432594
push str.There_is_no_data_in_the_buffer__n_You_have_to_load_a_file_or_read_a_master_chip.
push edi
call esi
cmp dword [0x42e034], ebx
jne 0x404fd3
push 0x10
push 0x432594
push str.There_is_no_data_in_the_buffer__n_You_have_to_load_a_file_or_read_a_master_chip.
push edi
call esi
push ebx
call fcn.00424180
add esp, 4
test eax, eax
jne 0x404fff
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push edi
call esi
cmp eax, 7
je case.default.0x405af2
jmp 0x405011
push ebx
push ebx
call fcn.0040a710
add esp, 8
cmp eax, ebx
je 0x405626
mov eax, dword [0x439fc8]
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
lea eax, [ecx + edx]
mov cl, byte [ecx + edx + 8]
cmp cl, 0x64
je 0x405054
mov al, byte [eax + 0xa]
mov cl, byte [0x42e554]
and eax, ebx
and ecx, ebx
or al, 0x60
or ecx, 0x60
mov word [0x44ccb8], ax
mov word [0x44c0e4], cx
jmp 0x405078
mov dl, byte [eax + 0xa]
mov al, byte [0x42e554]
and edx, ebx
and eax, ebx
or edx, 0x1060
or eax, 0x1020
mov word [0x44ccb8], dx
mov word [0x44c0e4], ax
push str.Program_Device
push 0x44cc80
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0
push 0x40cdd0
push edi
push str.X1BOX
jmp 0x405619
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
mov eax, dword [0x42e034]
mov edi, dword [esp + 0xb4]
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, 1
cmp eax, ebx
jne 0x4050eb
push 0x10
push 0x432594
push str.There_is_no_data_in_the_buffer__n_You_have_to_load_a_file_or_read_a_master_chip.
push edi
call esi
cmp dword [0x42e034], ebx
jne 0x4050eb
push 0x10
push 0x432594
push str.There_is_no_data_in_the_buffer__n_You_have_to_load_a_file_or_read_a_master_chip.
push edi
call esi
push ebx
call fcn.00424180
add esp, 4
test eax, eax
jne 0x405117
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push edi
call esi
cmp eax, 7
je case.default.0x405af2
jmp 0x405129
push ebx
push ebx
call fcn.0040a710
add esp, 8
cmp eax, ebx
je 0x405626
mov eax, dword [0x439fc8]
mov edx, dword [eax*4 + 0x439fcc]
mov eax, dword [eax*4 + 0x431580]
shl edx, 7
add eax, edx
cmp byte [eax + 8], 0x64
je 0x40516a
mov cl, byte [eax + 0xa]
mov dl, byte [0x42e554]
and ecx, ebx
and edx, ebx
or ecx, 0x40
or edx, 0x40
mov word [0x44ccb8], cx
mov word [0x44c0e4], dx
jmp 0x40518c
mov al, byte [eax + 0xa]
mov cl, byte [0x42e554]
and eax, ebx
and ecx, ebx
or eax, 0x1040
or ch, 0x10
mov word [0x44ccb8], ax
mov word [0x44c0e4], cx
push str.Verify_Device
push 0x44cc80
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [0x44d514]
add esp, 8
push 0
push 0x40cdd0
push edi
push str.X1BOX
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
call fcn.00424330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x40520e
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
jmp 0x405223
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x405626
mov eax, dword [0x439fc8]
push str.Program_Serial_No.
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
mov al, byte [ecx + edx + 0xa]
mov cl, byte [0x42e554]
and eax, 1
and ecx, 1
or al, 0x80
or cl, 0x80
mov word [0x44ccb8], ax
mov word [0x44c0e4], cx
jmp 0x404f4d
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x4052aa
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
jmp 0x4052bf
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x405626
mov eax, dword [0x439fc8]
push 0x432a4c
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
mov al, byte [ecx + edx + 0xa]
mov cl, byte [0x42e554]
and eax, 1
and ecx, 1
or al, 0x10
or ecx, 0x10
mov word [0x44ccb8], ax
mov word [0x44c0e4], cx
jmp 0x404f4d
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x405346
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
jmp 0x40535b
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x405626
mov eax, dword [0x439fc8]
push str.Configuration
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
mov al, byte [ecx + edx + 0xa]
mov cl, byte [0x42e554]
and eax, 1
and ecx, 1
or ah, 2
or ch, 2
mov word [0x44ccb8], ax
mov word [0x44c0e4], cx
jmp 0x404f4d
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x4053e3
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
jmp 0x4053f8
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x405626
mov eax, dword [0x439fc8]
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
lea eax, [ecx + edx]
movsx ecx, byte [ecx + edx + 0x17]
dec ecx
je 0x405457
dec ecx
je 0x40543b
dec ecx
jne 0x405482
mov cl, byte [eax + 0xa]
and ecx, 1
or ch, 0x1c
mov word [0x44ccb8], cx
mov dx, word [eax + 0xc]
and edx, 0x1c00
jmp 0x405471
mov cl, byte [eax + 0xa]
and ecx, 1
or ch, 0xc
mov word [0x44ccb8], cx
mov dx, word [eax + 0xc]
and edx, 0xc00
jmp 0x405471
mov cl, byte [eax + 0xa]
and ecx, 1
or ch, 4
mov word [0x44ccb8], cx
mov dx, word [eax + 0xc]
and edx, 0x400
mov al, byte [0x42e554]
and eax, 1
or edx, eax
mov word [0x44c0e4], dx
push str.Lock_Device
push 0x44cc80
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0
push 0x40cdd0
push esi
push str.X1BOX
jmp 0x405619
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x4054ec
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
jmp 0x405501
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
je 0x405626
mov eax, dword [0x439fc8]
mov edx, dword [eax*4 + 0x439fcc]
mov eax, dword [eax*4 + 0x431580]
shl edx, 7
add eax, edx
movsx ecx, byte [eax + 0x17]
dec ecx
je 0x405457
dec ecx
je 0x40543b
jmp 0x40541c
mov eax, dword [0x439568]
test eax, eax
je 0x405549
test dword [0x42e228], 0x800000
je case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x4055ca
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
mov eax, dword [0x439fc8]
mov edx, dword [eax*4 + 0x439fcc]
mov eax, dword [eax*4 + 0x431580]
shl edx, 7
lea ecx, [edx + eax]
mov eax, dword [edx + eax + 0x1c]
test eax, eax
jle 0x4055eb
mov ax, word [ecx + 0xa]
test ah, 2
je 0x4055eb
mov cl, byte [0x42e554]
and eax, 1
and ecx, 1
or ah, 0xc0
or ch, 0xc0
mov word [0x44ccb8], ax
mov word [0x44c0e4], cx
jmp 0x40560c
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
jne 0x40557f
call fcn.00424330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov dl, byte [ecx + 0xa]
mov al, byte [0x42e554]
and edx, 1
and eax, 1
or dh, 0x80
or ah, 0x80
mov word [0x44ccb8], dx
mov word [0x44c0e4], ax
push 0
push 0x4110e0
push esi
push str.READBOX
mov ecx, dword [0x44d514]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
call fcn.00424330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
je 0x40564f
test dword [0x42e228], 0x800000
je case.default.0x405af2
push 1
call fcn.00424180
mov esi, dword [esp + 0xb8]
add esp, 4
test eax, eax
jne 0x4056ec
call fcn.00424330
push 0x34
push 0x432594
push str.Error_Identification_on_hardware___nContinue__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je case.default.0x405af2
mov eax, dword [0x439fc8]
push 0
push 0x4118b0
push esi
mov edx, dword [eax*4 + 0x439fcc]
mov eax, dword [eax*4 + 0x431580]
shl edx, 7
push str.COMPARE_BOX
mov cl, byte [edx + eax + 0xa]
mov dl, byte [0x42e554]
and ecx, 1
and edx, 1
or ch, 0x80
or dh, 0x80
mov word [0x44ccb8], cx
mov word [0x44c0e4], dx
mov eax, dword [0x44d514]
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
call fcn.00424330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
push 1
push 1
call fcn.0040a710
add esp, 8
cmp eax, 1
jne 0x405689
call fcn.00424330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
mov edi, 0x10000
test eax, eax
je 0x405727
test dword [0x42e228], edi
je case.default.0x405af2
mov esi, dword [esp + 0xb4]
push esi
call fcn.004022f0
add esp, 4
mov dword [0x44cc50], 0x42e338
mov dword [0x44cc54], 0x1800
push 0x44cc20
call sub.comdlg32.dll_GetOpenFileNameA
test eax, eax
je 0x4057e2
push 0x43968c
push 0x42e350
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [0x44d514]
push 0
push 0x419100
push esi
push str.LoadFileFormatBox
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp dword [0x44bfbc], 0x21
jne 0x4057a2
cmp dword [0x443dbc], edi
jb 0x40579d
call fcn.004177f0
call fcn.00409e30
mov edx, dword [0x44d52c]
push 0x42e350
push 0x430
push edx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push str.__V3.19__
push str.XCY8C3X.EXE
push str._s___s
push 0x44d540
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x44d540
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x439fc8]
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
cmp byte [ecx + edx + 8], 0xb4
jne 0x405809
call fcn.00417e10
mov eax, dword [0x439fc8]
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
cmp byte [ecx + edx + 8], 0xb5
jne case.default.0x405af2
call fcn.00418000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
je 0x40584e
test dword [0x42e228], 0x20000
je case.default.0x405af2
mov esi, dword [esp + 0xb4]
push esi
call fcn.004022f0
add esp, 4
mov dword [0x44cc50], 0x42e344
mov dword [0x44cc54], 2
mov dword [0x44cc2c], 0x42e2b8
push 0x44cc20
call sub.comdlg32.dll_GetSaveFileNameA
test eax, eax
je case.default.0x405af2
mov eax, dword [0x44d514]
push 0
push 0x41b700
push esi
push str.SaveAsBox
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
je 0x4058cb
test dword [0x42e228], 0x100000
je case.default.0x405af2
push 0x44d4f0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [0x44d4fc]
mov eax, dword [0x44d4f8]
xor edx, edx
and ecx, 0xffff
mov dx, word [0x44d4fa]
push ecx
and eax, 0xffff
push edx
push eax
push str.__02d:_02d:_02d__tRun_Edit_Function___r_n
push 0x44d540
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
call fcn.0040ac50
mov esi, dword [esp + 0xb4]
lea ecx, [esp + 0x20]
push ecx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edi, dword [sym.imp.USER32.dll_ClientToScreen]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x2c]
push eax
push esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call edi
lea ecx, [esp + 0x10]
push ecx
push esi
call edi
mov edx, dword [0x44d514]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push 0
push edx
mov edx, dword [esp + 0x18]
push 0
sub ecx, eax
push esi
push ecx
mov ecx, dword [esp + 0x2c]
sub edx, ecx
push edx
push eax
push ecx
push 0x90f90000
push str.Editor
push str.EditorWClass
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
pop edi
pop esi
pop ebp
mov dword [0x44d89c], eax
pop ebx
add esp, 0xa0
ret
mov eax, dword [esp + 0xb4]
push eax
call fcn.0040a6e0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
je 0x4059d8
test dword [0x42e228], 0x200000
je case.default.0x405af2
mov ecx, dword [esp + 0xb4]
mov edx, dword [0x44d514]
push 0
push 0x407500
push ecx
push str.EDITSTRUCT
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
je 0x405a1d
test dword [0x42e228], 0x400000
je case.default.0x405af2
mov eax, dword [esp + 0xb4]
mov ecx, dword [0x44d514]
push 0
push 0x406b00
push eax
push str.MfrTypeBox
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov edx, dword [esp + 0xb4]
push 0
push 0
push 0x10
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [esp + 0xb4]
mov ecx, dword [0x44d514]
push 0
push 0x406a00
push eax
push str.AboutBox
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov esi, dword [0x439fc8]
mov byte [esp + 0x10], 0
mov edx, dword [esi*4 + 0x439fcc]
mov eax, dword [esi*4 + 0x431580]
shl edx, 7
add eax, edx
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x5c]
or ecx, edx
je 0x405ac1
mov byte [esp + 0x10], 1
mov edx, dword [eax + 0x60]
mov ecx, dword [eax + 0x64]
or edx, ecx
je 0x405ad0
or byte [esp + 0x10], 2
mov ecx, dword [eax + 0x68]
mov edx, dword [eax + 0x6c]
or ecx, edx
je 0x405adf
or byte [esp + 0x10], 4
mov ecx, dword [esp + 0x10]
and ecx, 0xff
cmp ecx, 7
ja case.default.0x405af2
jmp dword [ecx*4 + 0x406754]
mov edx, dword [eax]
mov eax, dword [esp + 0xb4]
push 0x40
push edx
push str.No_converter_is_needed__
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov byte [0x44d540], 0
xor ebx, ebx
mov edi, str.QFN68_____ADP_CY8CTMA395_QN68_n
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x58]
mov edx, dword [edx + ebp + 0x5c]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405b65
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43274a
jl 0x405b2a
mov eax, dword [esi*4 + 0x439fcc]
mov ecx, dword [esi*4 + 0x431580]
shl eax, 7
push 0x40
mov edx, dword [eax + ecx]
mov eax, dword [esp + 0xb8]
push edx
push 0x44d540
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov byte [0x44d540], 0
xor ebx, ebx
mov edi, 0x43a092
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x60]
mov edx, dword [edx + ebp + 0x64]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405bef
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43b212
jl 0x405bb4
jmp 0x405b71
mov byte [0x44d540], 0
xor ebx, ebx
mov edi, str.QFN68_____ADP_CY8CTMA395_QN68_n
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x58]
mov edx, dword [edx + ebp + 0x5c]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405c49
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43274a
jl 0x405c0e
xor ebx, ebx
mov edi, 0x43a092
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x60]
mov edx, dword [edx + ebp + 0x64]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405c97
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43b212
jl 0x405c5c
jmp 0x405b71
mov byte [0x44d540], 0
xor ebx, ebx
mov edi, 0x43a0da
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x68]
mov edx, dword [edx + ebp + 0x6c]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405cf1
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43b25a
jl 0x405cb6
jmp 0x405b71
mov byte [0x44d540], 0
xor ebx, ebx
mov edi, str.QFN68_____ADP_CY8CTMA395_QN68_n
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x58]
mov edx, dword [edx + ebp + 0x5c]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405d4b
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43274a
jl 0x405d10
xor ebx, ebx
mov edi, 0x43a0da
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x68]
mov edx, dword [edx + ebp + 0x6c]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405d99
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43b25a
jl 0x405d5e
jmp 0x405b71
mov byte [0x44d540], 0
xor ebx, ebx
mov edi, 0x43a092
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x60]
mov edx, dword [edx + ebp + 0x64]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405df3
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43b212
jl 0x405db8
xor ebx, ebx
mov edi, 0x43a0da
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x68]
mov edx, dword [edx + ebp + 0x6c]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405e41
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43b25a
jl 0x405e06
jmp 0x405b71
mov byte [0x44d540], 0
xor ebx, ebx
mov edi, str.QFN68_____ADP_CY8CTMA395_QN68_n
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x58]
mov edx, dword [edx + ebp + 0x5c]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405e9b
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43274a
jl 0x405e60
xor ebx, ebx
mov edi, 0x43a092
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x60]
mov edx, dword [edx + ebp + 0x64]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405ee9
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43b212
jl 0x405eae
xor ebx, ebx
mov edi, 0x43a0da
mov edx, dword [esi*4 + 0x439fcc]
mov ebp, dword [esi*4 + 0x431580]
shl edx, 7
mov ecx, ebx
mov eax, dword [edx + ebp + 0x68]
mov edx, dword [edx + ebp + 0x6c]
call fcn.00424510
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x405f37
push edi
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [0x439fc8]
add edi, 0x46
inc ebx
cmp edi, 0x43b25a
jl 0x405efc
jmp 0x405b71
mov eax, dword [0x439568]
test eax, eax
jne case.default.0x405af2
mov esi, dword [esp + 0xb4]
mov edi, dword [sym.imp.USER32.dll_GetMenu]
push 0
push 0x2d
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetMenuState]
test al, 8
je 0x405f97
push 0
push 0x2d
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
pop edi
pop esi
pop ebp
mov dword [0x439eb8], 0
pop ebx
add esp, 0xa0
ret
push 8
push 0x2d
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
pop edi
pop esi
pop ebp
mov dword [0x439eb8], 1
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
je 0x405fd3
test dword [0x42e228], 0x40000
je case.default.0x405af2
mov ebx, dword [esp + 0xb4]
push 0
push ebx
call fcn.004219b0
mov edi, 0x42e350
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
dec edx
je 0x406009
mov al, 0x5c
cmp byte [edx + 0x42e350], al
je 0x406008
dec edx
jne 0x405ffb
jmp 0x406009
inc edx
mov edi, 0x42e350
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jae 0x40603d
mov cl, byte [edx + 0x42e350]
mov edi, 0x42e350
mov byte [esp + esi + 0x30], cl
inc esi
or ecx, 0xffffffff
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jb 0x40601e
lea edx, [esp + 0x30]
mov byte [esp + esi + 0x30], 0
push edx
push str.XCY8C3X.EXE
push str._s___s
push 0x44d540
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x44d540
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x439568]
test eax, eax
je 0x40608f
test dword [0x42e228], 0x80000
je case.default.0x405af2
mov eax, dword [esp + 0xb4]
push 0
push eax
call fcn.00422500
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
push 0x44d4f0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov esi, dword [esp + 0xb4]
mov ebx, dword [sym.imp.USER32.dll_GetMenu]
push 0
push 0x60
push esi
call ebx
push eax
call dword [sym.imp.USER32.dll_GetMenuState]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
test al, 8
je 0x406135
push 0
push 0x60
push esi
call ebx
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov ecx, dword [0x44d4fc]
mov eax, dword [0x44d4f8]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
xor edx, edx
mov dx, word [0x44d4fa]
and ecx, 0xffff
push ecx
and eax, 0xffff
push edx
push eax
push str.__02d:_02d:_02d__tDisable_Log_file_funciton__r_n
push 0x44d540
call esi
add esp, 0x14
call fcn.0040ac50
mov dword [0x42e5cc], 0
jmp 0x40621e
push 8
push 0x60
push esi
call ebx
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
push 0
push 0x439ec0
mov dword [0x42e5cc], 1
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ecx, dword [0x44d4fc]
mov eax, dword [0x44d4f8]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
xor edx, edx
mov dx, word [0x44d4fa]
and ecx, 0xffff
push ecx
and eax, 0xffff
push edx
push eax
push str.__02d:_02d:_02d__tEnable_Log_file_funciton__r_n
push 0x44d540
call esi
push str.V3.19
push str.XCY8C3X.EXE
push str.___s__s__r_n
push 0x44d760
call esi
add esp, 0x24
push 0x44d760
push 0x44d540
call edi
mov eax, dword [0x439fc8]
mov ecx, dword [0x439eb8]
push ecx
mov edx, dword [eax*4 + 0x439fcc]
mov ecx, dword [eax*4 + 0x431580]
mov eax, dword [eax*4 + 0x42e7f8]
shl edx, 7
mov edx, dword [edx + ecx]
mov ecx, dword [0x44d4fc]
push edx
push eax
mov eax, dword [0x44d4f8]
xor edx, edx
mov dx, word [0x44d4fa]
and ecx, 0xffff
push ecx
and eax, 0xffff
push edx
push eax
push str.__02d:_02d:_02d__tMfr.___s_t_Type___s_t_Job_:__d__r_n
push 0x44d760
call esi
add esp, 0x20
push 0x44d760
push 0x44d540
call edi
call fcn.0040ac50
push str.SoftwareHi_Lo_SystemsALL_100_
push 0x44d540
call esi
add esp, 8
push str.XCY8C3X.EXE
push 0x44d540
call edi
push 0x44d48c
push 0x44d740
push 0
push 0xf003f
push 0
push str.XCY8C3X.EXE
push 0
push 0x44d540
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ecx, dword [0x44d740]
push 4
push 0x42e5cc
push 4
push 0
push str.LogFile
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [0x44d740]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov esi, dword [esp + 0xb4]
mov edi, dword [sym.imp.USER32.dll_GetMenu]
push 0
push 0x6a
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetMenuState]
test al, 8
je 0x4062d1
push 0
push 0x6a
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [0x439ebc], 0
jmp 0x4062e9
push 8
push 0x6a
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [0x439ebc], 1
push str.SoftwareHi_Lo_SystemsALL_100_
push 0x44d540
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push str.XCY8C3X.EXE
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x44d48c
push 0x44d740
push 0
push 0xf003f
push 0
push str.XCY8C3X.EXE
push 0
push 0x44d540
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov eax, dword [0x44d740]
push 4
push 0x439ebc
push 4
push 0
push str.BeepSound
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [0x44d740]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov esi, dword [esp + 0xb4]
mov edi, dword [sym.imp.USER32.dll_GetMenu]
push 0
push 0x6b
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetMenuState]
test al, 8
je 0x4063a3
push 0
push 0x6b
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [0x439554], 0
jmp 0x4063bb
push 8
push 0x6b
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [0x439554], 1
push str.SoftwareHi_Lo_SystemsALL_100_
push 0x44d540
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push str.XCY8C3X.EXE
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x44d48c
push 0x44d740
push 0
push 0xf003f
push 0
push str.XCY8C3X.EXE
push 0
push 0x44d540
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edx, dword [0x44d740]
push 4
push 0x439554
push 4
push 0
push str.AutoProgram
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0x406679
mov esi, dword [esp + 0xb4]
mov edi, dword [sym.imp.USER32.dll_GetMenu]
push 0
push 0x6d
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetMenuState]
test al, 8
je 0x406463
push 0
push 0x6d
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [0x439ea4], 0
jmp 0x40647b
push 8
push 0x6d
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [0x439ea4], 1
push str.SoftwareHi_Lo_SystemsALL_100_
push 0x44d540
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push str.XCY8C3X.EXE
push 0x44d540
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x44d48c
push 0x44d740
push 0
push 0xf003f
push 0
push str.XCY8C3X.EXE
push 0
push 0x44d540
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ecx, dword [0x44d740]
push 4
push 0x439ea4
push 4
push 0
push str.AutoSave
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [0x44d740]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov esi, dword [esp + 0xb4]
mov edi, dword [sym.imp.USER32.dll_GetMenu]
push 0
push 0x6c
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetMenuState]
test al, 8
push 0
je 0x4065cc
mov eax, dword [0x44d514]
push 0x418770
push esi
push str.PASSWORD
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 1
jne case.default.0x405af2
push 0
push 0x6c
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
push str.SoftwareHi_Lo_SystemsALL_100_
push 0x44d540
mov dword [0x439568], 0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0x44d48c
push 0x44d740
push 0
push 0xf003f
push 0
push str.XCY8C3X.EXE
push 0
push 0x44d540
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ecx, dword [0x44d740]
push 4
push 0x439568
push 4
push 0
push str.CheckPassWord
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [0x44d740]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [0x44d514]
push 0x40b510
push esi
push str.CHANGE_PASSWORD
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 1
jne case.default.0x405af2
push 8
push 0x6c
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
push str.SoftwareHi_Lo_SystemsALL_100_
push 0x44d540
mov dword [0x439568], 1
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0x44d48c
push 0x44d740
push 0
push 0xf003f
push 0
push str.XCY8C3X.EXE
push 0
push 0x44d540
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ecx, dword [0x44d740]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
push 0x439568
push 4
push 0
push str.CheckPassWord
push ecx
call esi
mov edx, dword [0x44d740]
push 0x10
push 0x439558
push 1
push 0
push str.UserPassWord
push edx
call esi
mov eax, dword [0x44d740]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret