Function at 0x403b05
Capabilities:
Accept command line arguments
Move file
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8d4
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ebx, ebx
xor esi, esi
cmp esi, 0xc18
jne 0x403b2e
mov eax, 0x38d6
add dword [0x705444], eax
cmp dword [0x705444], 0xbc4
jne 0x403b41
push 0x40150c
call edi
inc esi
cmp esi, 0x319c8e
jl 0x403b1b
call fcn.00403af1
xor esi, esi
cmp dword [0x705444], ebx
jbe 0x403b9b
push esi
call fcn.00403855
cmp dword [0x705444], 0x1af
jne 0x403b92
push ebx
lea eax, [ebp - 0x8d4]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetNamedPipeHandleStateW]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
inc esi
cmp esi, dword [0x705444]
jb 0x403b59
mov esi, 0x91973f
cmp dword [0x705444], 0x465
jne 0x403bf6
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasExesLengthW]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoA]
push ebx
push ebx
lea eax, [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
push ebx
push 0x401548
call dword [sym.imp.KERNEL32.dll_GetConsoleTitleA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_HeapWalk]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetTapeParameters]
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalWire]
call dword [sym.imp.KERNEL32.dll_GetACP]
dec esi
jne 0x403ba0
cmp esi, 0x1c86a
jge 0x403c28
push ebx
call dword [sym.imp.USER32.dll_GetListBoxInfo]
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetComboBoxInfo]
push ebx
push ebx
call dword [sym.imp.USER32.dll_CharUpperBuffA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetCharABCWidthsA]
cmp esi, 0x1e9d5cb5
jle 0x403c42
cmp dword [ebp - 4], 0xace7c8
je 0x403c42
cmp dword [ebp - 0x2c], 0xad642ec
jne 0x403c4b
inc esi
cmp esi, 0x8e2a3adb
jb 0x403bf9
xor esi, esi
cmp dword [0x705444], 0x92
jne 0x403c60
push 0x401564
call edi
cmp esi, 0xa9a9
jne 0x403c74
push 0x429948
call edi
mov dword [0x705440], eax
inc esi
cmp esi, 0x25563
jl 0x403c4d
mov byte [0x429948], bl
xor esi, esi
cmp esi, 0x1c
jne 0x403c8f
call fcn.004039f3
inc esi
cmp esi, 0x3debc7
jl 0x403c85
push 0x418010
push dword [0x705444]
push dword [0x6f7d00]
call fcn.0040379b
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
xor esi, esi
cmp dword [0x705444], 0x10
jne 0x403cc2
push ebx
call edi
cmp esi, 0x1e674
jne 0x403ccf
call fcn.004039e5
inc esi
cmp esi, 0x3e4e2
jl 0x403cb6
mov esi, 0xdd7b3
cmp dword [0x705444], 0x21
jne 0x403d07
push 0x40157c
push 0x4015a0
push 0x4015a8
push 0x4015d4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push ebx
call dword [sym.imp.ADVAPI32.dll_AbortSystemShutdownW]
dec esi
jne 0x403cdd
call fcn.00403590
cmp dword [0x705444], 0x58c
jne 0x403dae
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeW]
push 0x4015f0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, dword [sym.imp.KERNEL32.dll_SearchPathA]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call esi
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueue]
push ebx
push ebx
push ebx
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstChangeNotificationA]
lea eax, [ebp - 4]
push eax
call edi
push ebx
call edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x4d4]
push eax
push ebx
push 0x401694
push 0x4016a8
push 0x4016b4
call esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push ebx
push ebx
push ebx
push 0x4016c8
push 0x4016ec
call dword [sym.imp.KERNEL32.dll_MoveFileWithProgressA]
call fcn.004039df
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret