Function at 0x403bb0
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x340
mov eax, dword [0x42c400]
xor eax, esp
mov dword [esp + 0x33c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x34c]
push esi
push edi
xor ebx, ebx
push 0x103
lea eax, [esp + 0x245]
push ebx
push eax
mov dword [esp + 0x20], ebp
mov byte [esp + 0x24c], bl
call fcn.0041c150
add esp, 0xc
push 0x103
lea ecx, [esp + 0x35]
push ebx
push ecx
mov byte [esp + 0x3c], bl
call fcn.0041c150
add esp, 0xc
push 0x103
lea edx, [esp + 0x13d]
push ebx
push edx
mov byte [esp + 0x144], bl
call fcn.0041c150
add esp, 0xc
push 0x104
lea eax, [esp + 0x244]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x30]
push ecx
lea ebx, [esp + 0x244]
call fcn.00406f20
lea eax, [esp + 0x34]
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x403c55
sub eax, edx
lea edi, [eax - 1]
xor ebx, ebx
cmp edi, ebx
jbe 0x403c9d
lea esp, [esp]
cmp byte [esp + edi + 0x30], 0x2e
je 0x403c7e
sub edi, 1
jne 0x403c70
jmp 0x403c9b
push edi
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x140]
push eax
call fcn.004149d5
add esp, 0xc
mov byte [esp + edi + 0x138], bl
cmp edi, ebx
jne 0x403cb3
xor eax, eax
mov cl, byte [esp + eax + 0x30]
mov byte [esp + eax + 0x138], cl
add eax, 1
cmp cl, bl
jne 0x403ca1
lea eax, [esp + 0x138]
call fcn.0040b7a0
cmp eax, ebx
je 0x403ce5
lea edi, [esp + 0x138]
mov ecx, eax
sub edi, eax
mov edi, edi
mov dl, byte [ecx]
mov byte [edi + ecx], dl
add ecx, 1
cmp dl, bl
jne 0x403cd0
push eax
call fcn.0041336e
add esp, 4
lea eax, [esp + 0x138]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x403cf0
sub eax, edx
mov esi, eax
mov edi, ebx
je 0x403d1e
lea ebx, [esp + edi + 0x138]
call fcn.0040a980
test eax, eax
ja 0x403e5a
add edi, 1
cmp edi, esi
jb 0x403d01
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ebp, eax
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x403d30
sub eax, edx
mov esi, eax
mov edi, ebx
je 0x403d5a
lea ebx, [edi + ebp]
call fcn.0040a980
test eax, eax
ja 0x403e68
add edi, 1
cmp edi, esi
jb 0x403d41
xor ebx, ebx
push 0x103
lea eax, [esp + 0x245]
push ebx
push eax
mov byte [esp + 0x24c], bl
call fcn.0041c150
add esp, 0xc
push 0x103
lea ecx, [esp + 0x35]
push ebx
push ecx
mov byte [esp + 0x3c], bl
call fcn.0041c150
add esp, 0xc
push 0x103
lea edx, [esp + 0x13d]
push ebx
push edx
mov byte [esp + 0x144], bl
call fcn.0041c150
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor ecx, ecx
push eax
push ebx
push 0x400
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
cmp edi, ebx
je 0x403e1c
push str.NtQueryInformationProcess
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ebx
push 0x18
lea ecx, [esp + 0x20]
push ecx
push ebx
push edi
call eax
test eax, eax
push edi
jne 0x403eef
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
jne 0x403efa
push 0x4257c8
push 0x4e1
push str..Setup.cpp
push 1
mov ecx, str.ResolveServerIP
call fcn.00405d70
push 0x4257c8
push 0x4e1
push str..Setup.cpp
push 1
mov ecx, str.ResolveServerIP
call fcn.00405a90
add esp, 0x20
jmp 0x4040b0
mov esi, ebp
call fcn.0040aa40
mov ebx, esi
jmp 0x4040b4
mov ebx, dword [esp + 0x14]
xor ecx, ecx
test ebx, ebx
je 0x403ea8
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], ecx
movzx ecx, al
push ecx
movzx edx, ah
mov ecx, eax
push edx
shr ecx, 0x10
and ecx, 0xff
push ecx
shr eax, 0x18
push eax
push str._d._d._d._d
push ebx
call fcn.00413567
add esp, 0x18
jmp 0x4040b4
movzx edx, al
push edx
mov dword [0x42e388], ecx
mov dword [0x42e38c], ecx
mov dword [0x42e390], ecx
mov dword [0x42e394], ecx
movzx ecx, ah
mov edx, eax
push ecx
shr edx, 0x10
and edx, 0xff
push edx
shr eax, 0x18
push eax
push str._d._d._d._d
push 0x42e388
call fcn.00413567
add esp, 0x18
jmp 0x4040b4
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x403e1c
lea edx, [esp + 0x240]
call fcn.004064c0
test eax, eax
jne 0x403f48
push 0x4257ec
push 0x4e7
push str..Setup.cpp
push 1
mov ecx, str.ResolveServerIP
call fcn.00405d70
push 0x4257ec
push 0x4e7
push str..Setup.cpp
push 1
mov ecx, str.ResolveServerIP
call fcn.00405a90
add esp, 0x20
jmp 0x4040b0
lea edx, [esp + 0x30]
push edx
lea ebx, [esp + 0x244]
call fcn.00406f20
lea eax, [esp + 0x34]
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x403f63
sub eax, edx
lea edi, [eax - 1]
test edi, edi
jbe 0x403fa3
cmp byte [esp + edi + 0x30], 0x2e
je 0x403f83
sub edi, 1
jne 0x403f75
jmp 0x403fa1
push edi
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x140]
push ecx
call fcn.004149d5
add esp, 0xc
mov byte [esp + edi + 0x138], 0
test edi, edi
jne 0x403fc2
xor eax, eax
jmp 0x403fb0
mov cl, byte [esp + eax + 0x30]
mov byte [esp + eax + 0x138], cl
add eax, 1
test cl, cl
jne 0x403fb0
lea eax, [esp + 0x138]
call fcn.0040b7a0
test eax, eax
je 0x403ff5
lea edi, [esp + 0x138]
mov ecx, eax
sub edi, eax
lea ecx, [ecx]
mov dl, byte [ecx]
mov byte [edi + ecx], dl
add ecx, 1
test dl, dl
jne 0x403fe0
push eax
call fcn.0041336e
add esp, 4
lea eax, [esp + 0x138]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x404000
sub eax, edx
mov esi, eax
mov edi, 0
je 0x4040b0
jmp 0x404020
lea ebx, [esp + edi + 0x138]
call fcn.0040a980
test eax, eax
ja 0x404039
add edi, 1
cmp edi, esi
jb 0x404020
jmp 0x4040b0
mov edx, dword [esp + 0x14]
xor ecx, ecx
test edx, edx
je 0x40406e
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
movzx ecx, al
push ecx
movzx ecx, ah
push ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
push ecx
shr eax, 0x18
push eax
push str._d._d._d._d
push edx
jmp 0x4040a8
movzx edx, al
push edx
mov dword [0x42e388], ecx
mov dword [0x42e38c], ecx
mov dword [0x42e390], ecx
mov dword [0x42e394], ecx
movzx ecx, ah
mov edx, eax
push ecx
shr edx, 0x10
and edx, 0xff
push edx
shr eax, 0x18
push eax
push str._d._d._d._d
push 0x42e388
call fcn.00413567
add esp, 0x18
mov ebx, dword [esp + 0x14]
call fcn.0040aad0
test eax, eax
je 0x404218
push 0x103
lea eax, [esp + 0x35]
push 0
push eax
mov byte [esp + 0x3c], 0
call fcn.0041c150
add esp, 0xc
lea eax, [esp + 0x30]
call fcn.0040b3a0
lea eax, [esp + 0x30]
add eax, 0xffffffff
lea ebx, [ebx]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4040f0
mov ecx, dword [str.IsAgent_]
mov edx, dword [0x425720]
mov dword [eax], ecx
mov cx, word [0x425724]
mov dword [eax + 4], edx
mov word [eax + 8], cx
lea eax, [esp + 0x30]
add eax, 0xffffffff
lea ecx, [ecx]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x404120
mov edx, dword [str.IsaManage.dll]
mov ecx, dword [0x42572c]
push ebx
mov dword [eax], edx
mov edx, dword [0x425730]
mov dword [eax + 4], ecx
mov cx, word [0x425734]
push 0x425800
push 0x510
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
push str..Setup.cpp
push 3
mov ecx, str.ResolveServerIP
call fcn.00405d70
add esp, 0x14
push ebx
push 0x425800
push 0x510
push str..Setup.cpp
push 3
mov ecx, str.ResolveServerIP
call fcn.00405a90
add esp, 0x14
lea edx, [esp + 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x404211
push str.IsiWriteDb_s
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40420a
mov ecx, ebx
lea esi, [ecx + 1]
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x4041b3
sub ecx, esi
push ecx
push ebx
push str.ServerIP
push 0x425750
call eax
push ebx
push 0x425838
push 0x51b
push str..Setup.cpp
push 3
mov ecx, str.ResolveServerIP
call fcn.00405d70
add esp, 0x24
push ebx
push 0x425838
push 0x51b
push str..Setup.cpp
push 3
mov ecx, str.ResolveServerIP
call fcn.00405a90
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
jmp 0x40421a
xor eax, eax
mov ecx, dword [esp + 0x34c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041310b
add esp, 0x340
ret