Function at 0x401000
Capabilities:
Read file on windows
Write file on windows

Disassembly:
xor eax, eax
mov dword [0x40389c], eax
mov dword [0x4038a0], eax
mov dword [0x4038a4], eax
mov dword [0x4038ac], eax
mov dword [0x4038b4], eax
mov dword [0x4038a8], eax
push 0x108
push 0x403028
call sub.KERNEL32.dll_RtlZeroMemory
push 0x108
push 0x403130
call sub.KERNEL32.dll_RtlZeroMemory
push 0x108
push 0x403238
call sub.KERNEL32.dll_RtlZeroMemory
push 0x108
push 0x403340
call sub.KERNEL32.dll_RtlZeroMemory
push 0x108
push 0x403448
call sub.KERNEL32.dll_RtlZeroMemory
push 0x124
push 0x403550
call sub.KERNEL32.dll_RtlZeroMemory
push 0x228
push 0x403674
call sub.KERNEL32.dll_RtlZeroMemory
push 0x108
push 0x403028
push 0
call sub.KERNEL32.dll_GetModuleFileNameA
push 0x403130
push 0x403028
call fcn.004017d4
push 0x403238
push 0x403028
call fcn.004017d4
push 0x403340
push 0x403028
call fcn.004017d4
push 0x403448
push 0x403028
call fcn.004017d4
push 0x403550
push 0x403028
call fcn.004017d4
push 0x403674
push 0x403028
call fcn.004017d4
push str.RadAsm2masm.ini
push 0x403238
call sub.KERNEL32.dll_lstrcatA
push str.RadAsm2_fasm.ini
push 0x403340
call sub.KERNEL32.dll_lstrcatA
push str.RadAsm2RadASM.ini
push 0x403448
call sub.KERNEL32.dll_lstrcatA
push str.masm32_bin_r_n_r_n
push 0x403550
call sub.KERNEL32.dll_lstrcatA
push str.fasm__r_n2include_
push 0x403674
call sub.KERNEL32.dll_lstrcatA
push 0x403130
push 0x403674
call sub.KERNEL32.dll_lstrcatA
push str.fasmINCLUDE_r_n_r_n
push 0x403674
call sub.KERNEL32.dll_lstrcatA
push 0x403238
call fcn.00401800
mov dword [0x40389c], eax
cmp eax, 0xffffffff
jne 0x401189
push 0x10
push 0x4020e2
push 0x4020b7
push 0
call sub.user32.dll_MessageBoxA
jmp 0x4016b1
push 0x403340
call fcn.00401800
mov dword [0x4038a0], eax
cmp eax, 0xffffffff
jne 0x4011b5
push 0x10
push 0x40212f
push 0x402104
push 0
call sub.user32.dll_MessageBoxA
jmp 0x4016b1
push 0x403448
call fcn.00401800
mov dword [0x4038a4], eax
cmp eax, 0xffffffff
jne 0x4011e1
push 0x10
push 0x40217c
push 0x402151
push 0
call sub.user32.dll_MessageBoxA
jmp 0x4016b1
push 0
push 0x80
push 4
push 0
push 1
push 0xc0000000
push 0x403238
call sub.KERNEL32.dll_CreateFileA
mov dword [0x4038b8], eax
cmp dword [0x4038b8], 0xffffffff
jne 0x401223
push 0x10
push 0x4021cb
push 0x4021a0
push 0
call sub.user32.dll_MessageBoxA
jmp 0x40137a
push dword [0x40389c]
push 0x40
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x4038ac], eax
push 0
push 0x4038b0
push dword [0x40389c]
push dword [0x4038ac]
push dword [0x4038b8]
call sub.KERNEL32.dll_ReadFile
push 0
push 0
push 0
push dword [0x4038b8]
call sub.KERNEL32.dll_SetFilePointer
push dword [0x4038b8]
call sub.KERNEL32.dll_SetEndOfFile
jmp 0x4012e7
push 0
push 0x4038b0
push 0x76
push 0x401271
push dword [0x4038b8]
call sub.KERNEL32.dll_WriteFile
push 0x403550
call sub.KERNEL32.dll_lstrlenA
push 0
push 0x4038b0
push eax
push 0x403550
push dword [0x4038b8]
call sub.KERNEL32.dll_WriteFile
push 0x4021ed
push dword [0x4038ac]
push 1
call fcn.00401710
dec eax
add eax, dword [0x4038ac]
mov dword [0x4038b4], eax
push dword [0x4038b4]
call sub.KERNEL32.dll_lstrlenA
push 0
push 0x4038b0
push eax
push dword [0x4038b4]
push dword [0x4038b8]
call sub.KERNEL32.dll_WriteFile
push dword [0x4038ac]
call sub.KERNEL32.dll_GlobalFree
push dword [0x4038b8]
call sub.KERNEL32.dll_CloseHandle
push 0
push 0x80
push 4
push 0
push 1
push 0xc0000000
push 0x403340
call sub.KERNEL32.dll_CreateFileA
mov dword [0x4038b8], eax
cmp dword [0x4038b8], 0xffffffff
jne 0x4013bc
push 0x10
push 0x402222
push 0x4021f7
push 0
call sub.user32.dll_MessageBoxA
jmp 0x401509
push dword [0x4038a0]
push 0x40
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x4038ac], eax
push 0
push 0x4038b0
push dword [0x4038a0]
push dword [0x4038ac]
push dword [0x4038b8]
call sub.KERNEL32.dll_ReadFile
push 0
push 0
push 0
push dword [0x4038b8]
call sub.KERNEL32.dll_SetFilePointer
push dword [0x4038b8]
call sub.KERNEL32.dll_SetEndOfFile
jmp 0x401476
push 0
push 0x4038b0
push 0x6c
push 0x40140a
push dword [0x4038b8]
call sub.KERNEL32.dll_WriteFile
push 0x403674
call sub.KERNEL32.dll_lstrlenA
push 0
push 0x4038b0
push eax
push 0x403674
push dword [0x4038b8]
call sub.KERNEL32.dll_WriteFile
push str._CharTab_
push dword [0x4038ac]
push 1
call fcn.00401710
dec eax
add eax, dword [0x4038ac]
mov dword [0x4038b4], eax
push dword [0x4038b4]
call sub.KERNEL32.dll_lstrlenA
push 0
push 0x4038b0
push eax
push dword [0x4038b4]
push dword [0x4038b8]
call sub.KERNEL32.dll_WriteFile
push dword [0x4038ac]
call sub.KERNEL32.dll_GlobalFree
push dword [0x4038b8]
call sub.KERNEL32.dll_CloseHandle
jmp 0x40157f
push 4
push 0x4022f6
push 0x40224e
push 0
call sub.user32.dll_MessageBoxA
cmp eax, 6
jne 0x4015a4
lea eax, [0x40150b]
mov dword [0x4038a8], eax
jmp 0x4015b4
cmp eax, 7
jne 0x4015b4
lea eax, [0x401545]
mov dword [0x4038a8], eax
push 0
push 0x80
push 4
push 0
push 1
push 0xc0000000
push 0x403448
call sub.KERNEL32.dll_CreateFileA
mov dword [0x4038b8], eax
cmp dword [0x4038b8], 0xffffffff
jne 0x4015f6
push 0x10
push 0x402340
push 0x402315
push 0
call sub.user32.dll_MessageBoxA
jmp 0x4016b1
push dword [0x4038a4]
push 0x40
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x4038ac], eax
push 0
push 0x4038b0
push dword [0x4038a4]
push dword [0x4038ac]
push dword [0x4038b8]
call sub.KERNEL32.dll_ReadFile
push 0
push 0
push 0
push dword [0x4038b8]
call sub.KERNEL32.dll_SetFilePointer
push dword [0x4038b8]
call sub.KERNEL32.dll_SetEndOfFile
push str._Assembler_
push dword [0x4038ac]
push 1
call fcn.00401710
dec eax
add eax, dword [0x4038ac]
mov dword [0x4038b4], eax
push dword [0x4038a8]
call sub.KERNEL32.dll_lstrlenA
push eax
push dword [0x4038b4]
push dword [0x4038a8]
call fcn.004017b0
push 0
push 0x4038b0
push dword [0x4038a4]
push dword [0x4038ac]
push dword [0x4038b8]
call sub.KERNEL32.dll_WriteFile
push dword [0x4038ac]
call sub.KERNEL32.dll_GlobalFree
push dword [0x4038b8]
call sub.KERNEL32.dll_CloseHandle
xor eax, eax
push eax
call sub.KERNEL32.dll_ExitProcess
ret