Function at 0x422500
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x208
mov ax, word [0x43a310]
push ebx
push ebp
push esi
push edi
mov word [esp + 0x18], ax
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x1a]
push 0x20
rep stosd dword es:[edi], eax
push 0x4432e0
push 0
push 0
push 0
push 0x400
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetDateFormatA]
push 0x100
push 0x44d540
push 0
push 0
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x438264
push 0x4432e0
call edi
push 0x44d540
push 0x4432e0
call edi
mov eax, dword [esp + 0x220]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
test eax, eax
je 0x42262e
lea ecx, [esp + 0x18]
push 0x439894
push ecx
call esi
lea edx, [esp + 0x18]
push str.XCY8C3X.EXE
push edx
call edi
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
push 0x80
lea eax, [esp + eax + 0x20]
push 2
push 0
push 0
lea ecx, [esp + 0x2c]
mov byte [eax - 3], 0x63
push 0x40000000
mov byte [eax - 2], 0x66
push ecx
mov byte [eax - 1], 0x67
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x44ccf4], eax
jne 0x42261d
push str.Fail_to_Save_Programmer_Status.
push 0x44d540
call ebx
mov edx, dword [esp + 0x224]
add esp, 8
push 0x30
push 0
push 0x44d540
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x208
ret
push str.This_file_is_used_to_save_programmer_status_.
push 0x443304
call esi
jmp 0x42278a
mov edi, dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x44d4f0
call edi
mov eax, dword [0x44d4fc]
mov edx, dword [0x44d4f8]
xor ecx, ecx
and eax, 0xffff
mov cx, word [0x44d4fa]
push eax
and edx, 0xffff
push ecx
push edx
push str.__02d:_02d:_02d__tRun_Save_Job_Function___r_n
push 0x44d540
call ebx
call fcn.0040ac50
mov ebp, dword [esp + 0x230]
push ebp
call fcn.004022f0
add esp, 0x18
mov dword [0x44cc50], 0x4381c8
mov dword [0x44cc2c], 0x43819c
mov dword [0x44cc54], 6
push 0x44cc20
mov dword [0x44cc3c], 0x439998
mov dword [0x44cc5c], 0x438198
call sub.comdlg32.dll_GetSaveFileNameA
test eax, eax
jne 0x4226f1
push 0x44d4f0
call edi
mov eax, dword [0x44d4fc]
mov edx, dword [0x44d4f8]
xor ecx, ecx
and eax, 0xffff
mov cx, word [0x44d4fa]
push eax
and edx, 0xffff
push ecx
push edx
push str.__02d:_02d:_02d__tClose_Function___r_n
jmp 0x422c43
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push 0x439998
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x44ccf4], eax
jne 0x42276a
push 0x439998
push str.Cannot_write_to__s.
push 0x44d540
call ebx
add esp, 0xc
push 0x30
push 0
push 0x44d540
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x44d4f0
call edi
mov eax, dword [0x44d4fc]
mov edx, dword [0x44d4f8]
xor ecx, ecx
and eax, 0xffff
mov cx, word [0x44d4fa]
push eax
and edx, 0xffff
push ecx
push edx
jmp 0x422c3e
mov eax, dword [0x44d514]
push 0
push 0x4223d0
push ebp
push str.JOB_BOX
push eax
mov byte [0x437718], 0
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov ecx, dword [0x44d864]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push str.Saving_Job_file...
push 0
push 0x401
push ecx
call edi
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov ebp, dword [sym.imp.USER32.dll_SetCursor]
push eax
mov dword [0x44c0f8], eax
call ebp
push str.XCY8C3X.EXE
push 0x4432c0
mov dword [0x44d530], eax
call esi
mov edx, dword [0x439fc8]
mov dword [0x443300], 1
mov eax, dword [edx*4 + 0x42e7f8]
push eax
push 0x443404
call esi
mov eax, dword [0x439fc8]
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
mov eax, dword [ecx + edx]
push eax
push 0x443424
call esi
mov eax, dword [0x439fc8]
push str.V3.19
push 0x44344c
mov dword [0x443444], eax
mov ecx, dword [eax*4 + 0x439fcc]
mov dword [0x443448], ecx
call esi
mov edx, dword [0x439ea0]
mov eax, dword [0x439b98]
mov ecx, dword [0x439b9c]
mov dword [0x44345c], edx
mov edx, dword [0x439570]
mov dword [0x443c68], eax
mov eax, dword [0x439890]
mov dword [0x443c6c], ecx
mov ecx, dword [0x439eb4]
mov dword [0x443c70], edx
mov edx, dword [0x42e59c]
mov dword [0x443c74], eax
mov eax, dword [0x439eb0]
mov dword [0x443c78], ecx
mov ecx, dword [0x42e598]
mov dword [0x443c7c], edx
mov edx, dword [0x44d87c]
mov dword [0x443c80], eax
mov eax, dword [0x44c26c]
mov dword [0x443c84], ecx
mov cx, word [0x43a2fc]
mov dword [0x443c88], edx
mov edx, dword [0x42e554]
mov dword [0x443c8c], eax
mov eax, dword [0x43a17c]
mov word [0x443c90], cx
mov ecx, dword [0x43579c]
mov dword [0x443c94], edx
mov edx, dword [0x43a180]
mov dword [0x443c98], eax
mov eax, dword [0x43a184]
mov dword [0x443c9c], ecx
mov ecx, dword [0x43a188]
mov dword [0x443ca0], edx
mov edx, dword [0x4357a0]
mov dword [0x443ca4], eax
mov eax, dword [0x43a18c]
mov dword [0x443ca8], ecx
mov ecx, dword [0x43a190]
mov dword [0x443cac], edx
mov dword [0x443cb0], eax
mov dword [0x443cb4], ecx
mov eax, dword [0x43a198]
mov edx, dword [0x43a194]
mov ecx, dword [0x4357a4]
mov dword [0x443cbc], eax
mov eax, dword [0x42e558]
mov dword [0x443cb8], edx
mov edx, dword [0x4357a8]
mov dword [0x443cd0], eax
mov dword [0x443cc0], ecx
mov dword [0x443cc4], edx
mov word [0x443d10], 0x13
xor eax, eax
mov cx, word [eax*2 + 0x42e570]
mov word [eax*2 + 0x443d12], cx
mov edx, dword [0x443d10]
inc eax
and edx, 0xffff
cmp eax, edx
jl 0x422967
mov ecx, 6
xor eax, eax
mov word [0x443d38], cx
mov edx, dword [eax*4 + 0x44ccc0]
mov dword [eax*4 + 0x443d3c], edx
mov edx, dword [0x443d38]
inc eax
and edx, 0xffff
cmp eax, edx
jl 0x422996
mov word [0x443d54], cx
xor eax, eax
mov edx, dword [eax*4 + 0x44d8c0]
mov dword [eax*4 + 0x443d58], edx
mov edx, dword [eax*4 + 0x44c120]
mov dword [eax*4 + 0x443d70], edx
mov edx, dword [0x443d54]
inc eax
and edx, 0xffff
cmp eax, edx
jl 0x4229be
mov word [0x443d88], cx
xor eax, eax
mov ecx, dword [eax*4 + 0x44d460]
mov edx, dword [eax*4 + 0x44d440]
mov dword [eax*4 + 0x443d8c], ecx
mov dword [eax*4 + 0x443da4], edx
mov ecx, dword [0x443d88]
inc eax
and ecx, 0xffff
cmp eax, ecx
jl 0x4229f4
push 0x42e350
push 0x443464
call esi
mov eax, dword [0x439578]
mov edx, dword [0x44d49c]
mov dword [0x443460], eax
xor eax, eax
mov dword [0x443664], edx
mov dword [esp + 0x14], eax
xor esi, esi
mov cl, byte [esi + 0x4432c0]
push ecx
push eax
call fcn.00418560
add esp, 8
inc esi
cmp esi, 0xafc
mov dword [esp + 0x14], eax
jb 0x422a4b
mov eax, dword [0x44ccf4]
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
lea edx, [esp + 0x10]
push 0
push edx
push 0xafc
push 0x4432c0
push eax
call esi
cmp dword [esp + 0x10], 0xafc
je 0x422b27
mov ecx, dword [0x44ccf4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x44d530]
push edx
call ebp
mov eax, dword [0x44c0f8]
push eax
call dword [sym.imp.USER32.dll_DestroyCursor]
mov ecx, dword [esp + 0x21c]
push 0x10
push str.Job_function
push str.Fail_to_save_Job_file__
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edx, dword [0x44d864]
push str.Fail_to_save_Job_function
push 0
push 0x401
push edx
call edi
mov eax, dword [esp + 0x220]
test eax, eax
jne 0x422c52
push 0x44d4f0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [0x44d4fc]
mov edx, dword [0x44d4f8]
xor ecx, ecx
and eax, 0xffff
mov cx, word [0x44d4fa]
push eax
and edx, 0xffff
push ecx
push edx
jmp 0x422c3e
mov edx, dword [0x44ccf4]
lea eax, [esp + 0x10]
push 0
push eax
lea ecx, [esp + 0x1c]
push 2
push ecx
push edx
call esi
cmp dword [esp + 0x10], 2
je 0x422b69
mov eax, dword [0x44ccf4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x44d530]
push ecx
call ebp
mov edx, dword [0x44c0f8]
push edx
call dword [sym.imp.USER32.dll_DestroyCursor]
jmp 0x422bd6
mov edx, dword [0x44d51c]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
mov dword [0x44ccb4], eax
je 0x422b96
mov edx, dword [0x44d49c]
lea ecx, [esp + 0x10]
push 0
push ecx
push edx
push eax
mov eax, dword [0x44ccf4]
push eax
call esi
mov ecx, dword [0x44d51c]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [0x44ccf4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x44d530]
push eax
call ebp
mov ecx, dword [0x44c0f8]
push ecx
call dword [sym.imp.USER32.dll_DestroyCursor]
mov edx, dword [esp + 0x10]
mov eax, dword [0x44d49c]
cmp edx, eax
je 0x422c5f
mov eax, dword [esp + 0x21c]
push 0x10
push str.Job_function
push str.Fail_to_save_Job_file__
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x44d864]
push str.Fail_to_save_Job_function
push 0
push 0x401
push ecx
call edi
mov eax, dword [esp + 0x220]
test eax, eax
jne 0x422c52
push 0x44d4f0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov edx, dword [0x44d4fc]
mov ecx, dword [0x44d4f8]
xor eax, eax
and edx, 0xffff
mov ax, word [0x44d4fa]
push edx
and ecx, 0xffff
push eax
push ecx
push str.__02d:_02d:_02d__tFail_to_save_Job_Function___r_n
push 0x44d540
call ebx
add esp, 0x14
call fcn.0040ac50
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x208
ret
mov edx, dword [0x44d864]
push 0x43a0e0
push 0
push 0x401
push edx
call edi
mov eax, dword [esp + 0x220]
test eax, eax
jne 0x422cc5
push 0x44d4f0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [0x44d4fc]
mov edx, dword [0x44d4f8]
xor ecx, ecx
and eax, 0xffff
mov cx, word [0x44d4fa]
push 0x439998
push eax
and edx, 0xffff
push ecx
push edx
push str.__02d:_02d:_02d__tSave_Job_function_OK__File_Name_:__s__r_n
push 0x44d540
call ebx
add esp, 0x18
call fcn.0040ac50
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x208
ret