Function at 0x404240
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x324
mov eax, dword [0x42c400]
xor eax, esp
mov dword [esp + 0x320], eax
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x103
lea eax, [esp + 0x229]
push ebx
push eax
xor ebp, ebp
mov byte [esp + 0x230], bl
call fcn.0041c150
add esp, 0xc
push 0x103
lea ecx, [esp + 0x121]
push ebx
push ecx
mov byte [esp + 0x128], bl
call fcn.0041c150
add esp, 0xc
push 0x103
lea edx, [esp + 0x19]
push ebx
push edx
mov byte [esp + 0x20], bl
call fcn.0041c150
add esp, 0xc
push 0x104
lea eax, [esp + 0x228]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x11c]
push ecx
lea ebx, [esp + 0x228]
call fcn.00406f20
lea eax, [esp + 0x120]
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4042e2
sub eax, edx
lea esi, [eax - 1]
xor ebx, ebx
cmp esi, ebx
jbe 0x40432c
mov al, 0x2e
jmp 0x404300
cmp byte [esp + esi + 0x11c], al
je 0x404310
sub esi, 1
jne 0x404300
jmp 0x40432a
push esi
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004149d5
add esp, 0xc
mov byte [esp + esi + 0x14], bl
cmp esi, ebx
jne 0x404342
xor eax, eax
mov cl, byte [esp + eax + 0x11c]
mov byte [esp + eax + 0x14], cl
add eax, 1
cmp cl, bl
jne 0x404330
lea ecx, [esp + 0x14]
push str.Agent
push ecx
or eax, 0xffffffff
call fcn.0040b960
add esp, 8
test eax, eax
je 0x404365
mov ebp, 1
jmp 0x4044bb
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push str.Agent
push eax
or eax, 0xffffffff
call fcn.0040b960
add esp, 8
test eax, eax
je 0x40438a
mov ebp, 1
jmp 0x4044bb
push 0x103
lea edx, [esp + 0x229]
push ebx
push edx
mov byte [esp + 0x230], bl
call fcn.0041c150
add esp, 0xc
push 0x103
lea eax, [esp + 0x19]
push ebx
push eax
mov byte [esp + 0x20], bl
call fcn.0041c150
add esp, 0xc
push 0x103
lea ecx, [esp + 0x121]
push ebx
push ecx
mov byte [esp + 0x128], bl
call fcn.0041c150
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.00406750
add esp, 4
cmp eax, ebx
jne 0x40442c
push 0x4257c8
push 0x55b
push str..Setup.cpp
push 1
mov ecx, str.ResolveAgentMode
call fcn.00405d70
push 0x4257c8
push 0x55b
push str..Setup.cpp
push 1
mov ecx, str.ResolveAgentMode
call fcn.00405a90
add esp, 0x20
jmp 0x4044bb
lea edx, [esp + 0x224]
mov ecx, eax
call fcn.004064c0
test eax, eax
jne 0x404479
push 0x4257ec
push 0x561
push str..Setup.cpp
push 1
mov ecx, str.ResolveAgentMode
call fcn.00405d70
push 0x4257ec
push 0x561
push str..Setup.cpp
push 1
mov ecx, str.ResolveAgentMode
call fcn.00405a90
add esp, 0x20
jmp 0x4044bb
lea edx, [esp + 0x14]
push edx
lea ebx, [esp + 0x228]
call fcn.00406f20
add esp, 4
lea ebx, [esp + 0x11c]
lea edi, [esp + 0x14]
call fcn.00406fb0
mov eax, ebx
push str.Agent
push eax
or eax, 0xffffffff
call fcn.0040b960
add esp, 8
test eax, eax
je 0x4044b9
mov ebp, 1
xor ebx, ebx
push 0x103
lea ecx, [esp + 0x19]
push ebx
push ecx
mov byte [esp + 0x20], bl
call fcn.0041c150
add esp, 0xc
lea eax, [esp + 0x14]
call fcn.0040b3a0
lea eax, [esp + 0x14]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
cmp cl, bl
jne 0x4044e2
mov edx, dword [str.IsAgent_]
mov ecx, dword [0x425720]
mov dword [eax], edx
mov dx, word [0x425724]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [esp + 0x14]
add eax, 0xffffffff
nop
mov cl, byte [eax + 1]
add eax, 1
cmp cl, bl
jne 0x404510
cmp ebp, ebx
mov ecx, dword [str.IsaManage.dll]
mov edx, dword [0x42572c]
mov dword [eax], ecx
mov ecx, dword [0x425730]
mov dword [eax + 4], edx
mov dx, word [0x425734]
mov dword [eax + 8], ecx
mov word [eax + 0xc], dx
mov eax, 0x425870
jne 0x40454d
mov eax, 0x42587c
push eax
push 0x425888
push 0x57a
push str..Setup.cpp
push 3
mov ecx, str.ResolveAgentMode
call fcn.00405d70
add esp, 0x14
cmp ebp, ebx
mov eax, 0x425870
jne 0x40457a
mov eax, 0x42587c
push eax
push 0x425888
push 0x57a
push str..Setup.cpp
push 3
mov ecx, str.ResolveAgentMode
call fcn.00405a90
add esp, 0x14
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
cmp esi, ebx
je 0x404636
push str.IsiWriteDb_l
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x40462f
xor ecx, ecx
cmp ebp, ebx
setne cl
push ecx
push str.SetupMode
push 0x425750
call eax
add esp, 0xc
cmp ebp, ebx
mov eax, 0x425870
jne 0x4045e3
mov eax, 0x42587c
push eax
push 0x4258c0
push 0x585
push str..Setup.cpp
push 3
mov ecx, str.ResolveAgentMode
call fcn.00405d70
add esp, 0x14
cmp ebp, ebx
mov eax, 0x425870
jne 0x404610
mov eax, 0x42587c
push eax
push 0x4258c0
push 0x585
push str..Setup.cpp
push 3
mov ecx, str.ResolveAgentMode
call fcn.00405a90
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [esp + 0x330]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.0041310b
add esp, 0x324
ret