Function at 0x402aa2
Capabilities:
Accept command line arguments
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
call fcn.00402e2e
test eax, eax
je 0x402dce
call fcn.00402fde
test eax, eax
je 0x402dce
push 0x1c
call fcn.00402df4
xor esi, esi
pop ecx
test eax, eax
je 0x402ae2
push str.REPLACE_WITH_CONFIG
mov ecx, eax
call fcn.004015dc
mov ebx, eax
jmp 0x402ae4
mov ebx, esi
push edi
push 0x4c
mov dword [ebp - 0x18], ebx
call fcn.00402df4
pop ecx
test eax, eax
je 0x402aff
mov ecx, eax
call fcn.00401849
mov edi, eax
jmp 0x402b01
mov edi, esi
mov ecx, ebx
mov dword [ebp - 0x1c], edi
call fcn.0040180d
push eax
mov ecx, ebx
call fcn.00401809
push eax
push str.IP:__s__port:__d
call fcn.00402069
add esp, 0xc
mov ecx, ebx
call fcn.00401811
push eax
push str.Upload_directory:__s
call fcn.004020af
pop ecx
pop ecx
mov ecx, ebx
call fcn.00401801
movzx eax, al
push eax
push str.Age_filter:_0x_x
call fcn.004020af
pop ecx
pop ecx
mov ecx, ebx
call fcn.00401805
movzx eax, al
push eax
push str.Size_filter:_0x_x
call fcn.004020af
pop ecx
pop ecx
mov ecx, ebx
call fcn.004017fd
movzx eax, al
push eax
push str.Extension_filter:_0x_x
call fcn.004020af
pop ecx
pop ecx
mov ecx, edi
call fcn.00401c0f
test eax, eax
jne 0x402bad
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
call esi
push eax
push 0x89
push str.C:ProjectsClientClientmain.cpp
push str._ERROR___s:_d__ConsoleContext__IsInitialized_failed._Last_error:__d__0x_lx_
call fcn.004020af
add esp, 0x14
jmp 0x402da1
call fcn.00402e96
test eax, eax
jne 0x402bf4
push 0x91
push str.C:ProjectsClientClientmain.cpp
push str._ERROR___s:_d__Program_is_already_launched
call fcn.004020af
add esp, 0xc
push 0x10
lea ecx, [ebp - 0x28]
call fcn.00402716
mov eax, dword [ebp - 0x24]
mov ecx, edi
shr eax, 1
push eax
push dword [ebp - 0x28]
call fcn.00401fa4
lea ecx, [ebp - 0x28]
call fcn.0040279a
jmp 0x402da1
lea eax, [ebp - 4]
mov dword [ebp - 4], esi
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x402c2f
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
call esi
push eax
push 0x9f
push str.C:ProjectsClientClientmain.cpp
push str._ERROR___s:_d__CommandLineToArgvW_failed._Last_error:__d__0x_lx_
jmp 0x402ba0
cmp dword [ebp - 4], 1
push esi
je 0x402bcf
push esi
push esi
push 0x402593
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
jne 0x402c69
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
call esi
push eax
push 0xaf
push str.C:ProjectsClientClientmain.cpp
push str._ERROR___s:_d__CreateThread_failed._Last_error:__d__0x_lx_
jmp 0x402ba0
mov eax, dword [ebp - 4]
xor ecx, ecx
push 4
pop edx
mul edx
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], esi
seto cl
mov dword [ebp - 8], 5
neg ecx
or ecx, eax
push ecx
call fcn.004039a0
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x24], eax
push ecx
push eax
lea eax, [ebp - 8]
mov dword [ebp - 0x14], esi
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 4]
push dword [ebp - 0x20]
call fcn.004027ba
add esp, 0x20
cmp dword [ebp - 0xc], esi
je 0x402cc2
push edi
call fcn.00402978
jmp 0x402da0
cmp dword [ebp - 0x10], esi
je 0x402d1e
call fcn.00402ef8
test eax, eax
jne 0x402cf0
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
call esi
push eax
push 0xc9
push str.C:ProjectsClientClientmain.cpp
push str._ERROR___s:_d__Utils::GetCurrentConsoleWindow_failed._Last_error:__d__0x_lx_
jmp 0x402ba0
push 1
push eax
call fcn.00402f10
pop ecx
pop ecx
test eax, eax
jne 0x402d1e
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
call esi
push eax
push 0xd1
push str.C:ProjectsClientClientmain.cpp
push str._ERROR___s:_d__Utils::HideConsoleWindow_failed._Last_error:__d__0x_lx_
jmp 0x402ba0
cmp dword [ebp - 8], esi
jne 0x402d2a
push 0x11
jmp 0x402bcf
mov ecx, edi
call fcn.00401b12
test eax, eax
jne 0x402d55
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
call esi
push eax
push 0xe2
push str.C:ProjectsClientClientmain.cpp
push str._ERROR___s:_d__ConsoleContext__InitCUI_failed._Last_error:__d__0x_lx_
jmp 0x402ba0
push 0x14
call fcn.00402df4
pop ecx
test eax, eax
je 0x402d6f
push edi
push ebx
push dword [ebp - 8]
mov ecx, eax
call fcn.004033ed
mov esi, eax
push esi
push edi
push dword [ebp - 0x14]
push dword [ebp - 0x24]
call fcn.004028d2
add esp, 0x10
mov ecx, esi
call fcn.00403703
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
test esi, esi
je 0x402da1
mov ecx, esi
call fcn.00403534
push 0x14
push esi
call fcn.00403980
pop ecx
pop ecx
test edi, edi
je 0x402db6
mov ecx, edi
call fcn.004018ec
push 0x4c
push edi
call fcn.00403980
pop ecx
pop ecx
pop edi
test ebx, ebx
je 0x402dee
mov ecx, ebx
call fcn.0040179e
push 0x1c
push ebx
call fcn.00403980
pop ecx
pop ecx
jmp 0x402dee
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
call esi
push eax
push 0x76
push str.C:ProjectsClientClientmain.cpp
push str._ERROR___s:_d__Memory::Init___WinSock::Init_failed._Last_error:__d__0x_lx_
call fcn.004020af
add esp, 0x14
pop esi
xor eax, eax
pop ebx
leave
ret