Function at 0x40c300
Capabilities:
Accept command line arguments
Initialize winsock library

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1cc
mov dword [esp], 0x40c1b0
mov eax, dword [esp + 0x1e0]
lea ebx, [esp + 0x30]
mov esi, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1e8]
mov dword [0x42e1e4], eax
call fcn.004014d0
mov dword [esp], 0
call fcn.0040b1d0
mov dword [esp + 4], ebx
mov dword [esp], 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
sub esp, 8
mov dword [esp], str.1.9.1
call sub.libgcrypt_20.dll_gcry_check_version
test eax, eax
je 0x40c62b
call sub.libgpg_error_0.dll_gpg_err_init
mov dword [esp], sub.libgcrypt_20.dll_gcry_realloc
call sub.libgpg_error_0.dll_gpgrt_set_alloc_func
mov dword [esp], 1
call sub.libgpg_error_0.dll__gpg_w32_gettext_use_utf8
mov dword [esp], 0xfde9
call dword [sym.imp.KERNEL32.dll_SetConsoleCP]
sub esp, 4
test eax, eax
jne 0x40c4a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 6
jne 0x40c4c7
mov dword [esp], 0
call sub.libgpg_error_0.dll__gpgrt_get_std_stream
mov dword [esp], 1
call sub.libgpg_error_0.dll__gpgrt_get_std_stream
mov dword [esp], 2
call sub.libgpg_error_0.dll__gpgrt_get_std_stream
mov dword [esp], 0x40c1f0
call sub.libgpg_error_0.dll_gpgrt_set_usage_outfnc
mov dword [esp], 0x4160c0
call sub.libgpg_error_0.dll_gpgrt_set_fixed_string_mapper
mov dword [esp], fcn.0040ea30
call sub.libgpg_error_0.dll_gpgrt_log_set_socket_dir_cb
call dword [sym.imp.KERNEL32.dll_GetSystemDEPPolicy]
cmp eax, 1
ja 0x40c550
mov dword [esp], 0x5f
call sub.libgpg_error_0.dll_gpgrt_strusage
test eax, eax
je 0x40c41c
cmp byte [eax], 0x31
je 0x40c4f0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
test eax, eax
je 0x40c5f8
movzx eax, word [eax]
mov edx, ecx
test ax, ax
jne 0x40c44c
jmp 0x40c48c
movzx eax, word [edx + 2]
add edx, 2
test ax, ax
je 0x40c48c
cmp ax, 0x7f
jbe 0x40c440
mov dword [esp], ecx
xor ebp, ebp
call fcn.0040b960
test eax, eax
je 0x40c515
lea edx, [esp + 0x2c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00413960
test eax, eax
je 0x40c612
mov dword [edi], eax
mov eax, dword [esp + 0x2c]
mov dword [esi], eax
add esp, 0x1cc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0xfde9
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
sub esp, 4
test eax, eax
jne 0x40c3ac
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 6
je 0x40c3ac
mov dword [esp], eax
call fcn.00408f70
mov dword [esp], str.SetConsoleCP_failed:__s_n
mov dword [esp + 4], eax
call sub.libgpg_error_0.dll_gpgrt_log_info
mov dword [esp], str.Warning:_Garbled_console_data_possible_n
call sub.libgpg_error_0.dll_gpgrt_log_info
jmp 0x40c3ac
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
test eax, eax
je 0x40c5f8
mov dword [esp], ecx
mov ebp, 1
call fcn.0040b960
test eax, eax
jne 0x40c464
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 0x1e0], str.parsing_command_line_failed:__s_n
mov dword [esp + 0x1e4], eax
add esp, 0x1cc
pop ebx
pop esi
pop edi
pop ebp
jmp sub.libgpg_error_0.dll_gpgrt_log_error
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea edx, [esp + 0x2c]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetProcessDEPPolicy]
sub esp, 0xc
test eax, eax
je 0x40c5d0
test byte [esp + 0x2c], 1
jne 0x40c403
mov dword [esp], 1
call dword [sym.imp.KERNEL32.dll_SetProcessDEPPolicy]
sub esp, 4
test eax, eax
jne 0x40c403
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], eax
call fcn.00408f70
mov edx, dword [esp + 0x1c]
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
mov dword [esp], str.Warning:_Enabling_DEP_failed:__s___d__d__n
call sub.libgpg_error_0.dll_gpgrt_log_info
jmp 0x40c403
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], eax
call fcn.00408f70
mov dword [esp], str.error_getting_DEP_policy:__s_n
mov dword [esp + 4], eax
call sub.libgpg_error_0.dll_gpgrt_log_info
jmp 0x40c403
mov dword [esp + 0x1e0], str.GetCommandLineW_failed_n
add esp, 0x1cc
pop ebx
pop esi
pop edi
pop ebp
jmp sub.libgpg_error_0.dll_gpgrt_log_error
mov dword [esp + 4], 0x425d3d
mov dword [esp], str.parsing_command_line_failed:__s_n
call sub.libgpg_error_0.dll_gpgrt_log_error
jmp 0x40c48c
mov dword [esp], 0
call sub.libgcrypt_20.dll_gcry_check_version
mov dword [esp], str._s_is_too_old__need__s__have__s__n
mov ebx, eax
call sub.libgpg_error_0.dll__gpg_w32_gettext
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.1.9.1
mov dword [esp + 4], str.libgcrypt
mov dword [esp], eax
call sub.libgpg_error_0.dll_gpgrt_log_fatal
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
ret