Function at 0x4052e0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Query environment variable
Query or enumerate registry value
Receive data
Receive data on socket
Resolve dns
Resolve function by parsing pe exports
Send data
Send data on socket
Set registry value
Set socket configuration

Disassembly:
mov eax, 0x1200
call fcn.00406f30
mov eax, dword [0x417024]
xor eax, esp
mov dword [esp + 0x11fc], eax
mov eax, dword [esp + 0x1204]
push ebx
push esi
mov esi, dword [esp + 0x1214]
push edi
xor ebx, ebx
push 0x8000
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.004060ca
push 0x8000
mov dword [0x418a4c], eax
call fcn.004060ca
add esp, 8
push 0x28
push 0x418a80
push str.CGPClinic
mov dword [0x418c28], eax
mov byte [0x418a80], bl
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov al, byte [esi]
cmp al, bl
je 0x405394
cmp al, 0x2f
je 0x405394
push 0x20
push esi
call fcn.00406e70
add esp, 8
cmp eax, ebx
je 0x40536b
mov byte [eax], bl
mov edi, 0x418a80
mov ecx, esi
sub edi, esi
mov dl, byte [ecx]
mov byte [ecx + edi], dl
inc ecx
cmp dl, bl
jne 0x405374
cmp eax, ebx
je 0x405394
inc eax
push 0x2f
push eax
call fcn.00406e70
add esp, 8
cmp eax, ebx
je 0x405394
mov esi, eax
push 0x418a80
lea ecx, [esp + 0x20c]
push str.SoftwareCompleteGP_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0xc]
push edx
push 0x418aa8
push ebx
push 0xf003f
push ebx
push ebx
push ebx
lea eax, [esp + 0x224]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ecx, dword [0x418c28]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [esp + 0xc], 0x8000
mov byte [ecx], bl
mov eax, dword [0x418c28]
lea edx, [esp + 0xc]
push edx
mov edx, dword [0x418aa8]
push eax
lea ecx, [esp + 0x18]
push ecx
push ebx
push str.SMSProvider
push edx
call edi
mov eax, dword [0x418c28]
push eax
call fcn.004068ca
add esp, 4
mov dword [0x418c3c], eax
call fcn.00403ef0
mov ecx, dword [0x418aa8]
test eax, eax
jne 0x40543a
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 1
call fcn.00406dc7
push ebp
lea edx, [esp + 0x14]
push edx
push 0x418a58
lea eax, [esp + 0x20]
push eax
push ebx
push str.SMSSendDays
push ecx
mov dword [esp + 0x2c], 7
mov dword [0x418a58], ebx
mov word [0x418a5c], bx
mov byte [0x418a5e], bl
call edi
mov ecx, dword [0x418aa8]
lea edx, [esp + 0x14]
push edx
push 0x418ac8
lea eax, [esp + 0x20]
push eax
push ebx
push str.SMSLastRun
push ecx
mov dword [esp + 0x2c], 8
mov dword [0x418ac8], ebx
mov dword [0x418acc], ebx
call edi
mov ecx, dword [0x418aa8]
lea edx, [esp + 0x14]
push edx
push 0x418c30
lea eax, [esp + 0x20]
push eax
push ebx
push str.SMSInFuture
mov ebp, 4
push ecx
mov dword [esp + 0x2c], ebp
mov dword [0x418c30], 1
call edi
mov ecx, dword [0x418aa8]
lea edx, [esp + 0x14]
push edx
push 0x418aac
lea eax, [esp + 0x20]
push eax
push ebx
push str.SMSNotifyUid
push ecx
mov dword [esp + 0x2c], ebp
mov dword [0x418aac], 1
call edi
mov ecx, dword [0x418aa8]
lea edx, [esp + 0x14]
push edx
push 0x418ac4
lea eax, [esp + 0x20]
push eax
push ebx
push str.SMSRunTime
push ecx
mov dword [esp + 0x2c], ebp
mov dword [0x418ac4], 0x384
call edi
push 0x414d58
push esi
call fcn.00406ad5
add esp, 8
test eax, eax
jne 0x405561
mov edx, dword [esp + 0x20]
push ebx
push 0x404c50
push ebx
push 0x6a
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov eax, dword [0x418aa8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
call fcn.00406dc7
push 0x414d54
push esi
call fcn.00406ad5
add esp, 8
test eax, eax
jne 0x40557e
mov esi, 1
mov dword [esp + 0x24], esi
jmp 0x405580
mov esi, ebx
lea ecx, [esp + 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
mov word [esp + 0x44], ax
xor edx, edx
push 0x418a40
lea eax, [esp + 0x3c]
xor ecx, ecx
push eax
mov word [esp + 0x4e], dx
mov word [esp + 0x48], cx
mov word [esp + 0x4a], dx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov ecx, dword [0x418a40]
cmp ecx, dword [0x418ac8]
jne 0x405602
mov edx, dword [0x418a44]
cmp edx, dword [0x418acc]
jne 0x405602
cmp esi, ebx
je 0x4055f0
push 0x10104
push str.CompleteGP
push str.You_have_already_sent_messages_Today__Are_you_sure_you_want_to_resend_them_
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x405602
mov eax, dword [0x418aa8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
call fcn.00406dc7
cmp esi, ebx
jne 0x405626
movzx ecx, word [esp + 0x3c]
cmp byte [ecx + 0x418a58], bl
jne 0x405626
mov edx, dword [0x418aa8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
call fcn.00406dc7
mov eax, dword [0x418aa8]
push 8
push 0x418a40
push 0xb
push ebx
push str.SMSLastRun
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov esi, dword [0x418c30]
push 0xc9
mov eax, esi
cdq
push 0x2a69c000
push edx
push eax
call fcn.00406f60
add dword [0x418a40], eax
movzx ecx, word [esp + 0x3c]
adc dword [0x418a44], edx
lea eax, [ecx + esi + 1]
cdq
mov ecx, 7
idiv ecx
mov ebp, 7
mov dword [esp + 0x1c], 1
mov ecx, edx
mov eax, ecx
sub eax, esi
add eax, 7
cdq
idiv ebp
mov dword [esp + 0x14], ecx
cmp byte [edx + 0x418a58], bl
jne 0x4056da
lea ecx, [ecx]
lea eax, [ecx + 1]
cdq
mov ecx, 7
idiv ecx
mov ebp, dword [esp + 0x1c]
inc ebp
mov dword [esp + 0x1c], ebp
mov ecx, edx
cmp ebp, 0xa
je 0x40589b
mov eax, ecx
sub eax, esi
add eax, 7
cdq
mov ebp, 7
idiv ebp
cmp byte [edx + 0x418a58], bl
je 0x4056a0
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x38]
push eax
push 0x418a40
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx ecx, word [esp + 0x3e]
movzx edx, word [esp + 0x3a]
movzx eax, word [esp + 0x38]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x48]
dec edx
sub eax, 0x76c
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
push ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], eax
call fcn.004067ba
mov ebp, edx
add esp, 4
lea edx, [esp + 0x7c]
push edx
push 0x101
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebp
call sub.WSOCK32.dll_WSAStartup
mov eax, 2
mov dword [esp + 0x6c], ebx
push 0xbde
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov word [esp + 0x70], ax
call sub.WSOCK32.dll_htons
push 0x418a80
lea ecx, [esp + 0x210]
push str.CompleteGP_s
push ecx
mov word [esp + 0x7a], ax
mov word [0x418c20], ax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x414cf0
lea edx, [esp + 0x210]
push edx
call sub.WSOCK32.dll_getservbyname
cmp eax, ebx
je 0x4057c4
mov ax, word [eax + 8]
mov word [esp + 0x6e], ax
mov word [0x418c20], ax
mov eax, dword [str.127.00.1]
mov ecx, dword [0x414ce8]
mov dl, byte [0x414cec]
mov dword [esp + 0x20c], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x418aa8]
mov dword [esp + 0x214], ecx
lea ecx, [esp + 0x210]
push ecx
mov byte [esp + 0x21c], dl
lea edx, [esp + 0x20]
push edx
push ebx
push str.Server
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], 0x800
call edi
lea ecx, [esp + 0x20c]
push 0x2c
push ecx
call fcn.00406e70
add esp, 8
cmp eax, ebx
je 0x40582e
mov byte [eax], bl
lea edx, [esp + 0x20c]
push 0x3b
push edx
call fcn.00406e70
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x405865
lea eax, [esi + 1]
push eax
call fcn.00406935
add esp, 4
push eax
call sub.WSOCK32.dll_htons
mov word [0x418c20], ax
mov word [esp + 0x6e], ax
mov byte [esi], bl
lea ecx, [esp + 0x20c]
push ecx
call sub.WSOCK32.dll_inet_addr
mov dword [0x418c34], eax
cmp eax, 0xffffffff
jne 0x4058b7
lea edx, [esp + 0x20c]
push edx
call sub.WSOCK32.dll_gethostbyname
cmp eax, ebx
je 0x4058b2
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [0x418c34], eax
jmp 0x4058b7
mov edx, dword [0x418aa8]
push edx
mov dword [esp + 0x18], ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
call fcn.00406dc7
mov eax, dword [0x418c34]
push ebx
mov esi, 1
push esi
push 2
mov dword [esp + 0x7c], eax
call sub.WSOCK32.dll_socket
push 0x10
lea edx, [esp + 0x70]
push edx
push eax
mov dword [0x418a48], eax
call sub.WSOCK32.dll_connect
mov eax, dword [0x418a4c]
mov byte [eax], bl
mov edx, dword [0x418a4c]
mov ecx, 0xc
mov word [edx + 1], cx
mov eax, dword [0x418a4c]
mov dword [eax + 3], 0x20005
mov ecx, dword [0x418a4c]
mov byte [ecx + 7], bl
mov edx, dword [0x418a4c]
mov dword [edx + 8], ebx
mov eax, dword [0x418a4c]
movzx ecx, word [eax + 1]
mov edx, dword [0x418a48]
push ebx
push ecx
push eax
push edx
call sub.WSOCK32.dll_send
xor ecx, ecx
mov dword [esp + 0x10], ecx
lea ecx, [ecx]
mov eax, dword [0x418c28]
push ebx
push 0x8000
add eax, ecx
mov ecx, dword [0x418a48]
push eax
push ecx
call sub.WSOCK32.dll_recv
cmp eax, ebx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jle 0x405961
add ecx, eax
mov dword [esp + 0x10], ecx
cmp ecx, 0xe
jb 0x405930
mov edx, dword [0x418c28]
movzx edi, word [edx]
cmp ecx, edi
jge 0x4059a8
mov edi, edi
push ebx
push 0x8000
add edx, ecx
push edx
mov edx, dword [0x418a48]
push edx
call sub.WSOCK32.dll_recv
cmp eax, ebx
mov dword [esp + 0x18], eax
jle 0x405f55
mov ecx, dword [esp + 0x10]
mov edx, dword [0x418c28]
add ecx, eax
mov dword [esp + 0x10], ecx
movzx edi, word [edx]
cmp ecx, edi
jl 0x405970
cmp eax, ebx
jle 0x405f55
cmp dword [edx + 2], ebx
jl 0x405f55
mov eax, dword [edx + 6]
mov dword [0x418ab0], eax
mov ecx, dword [edx + 0xe]
mov dword [0x417fc4], ecx
cmp eax, ebx
jne 0x4059d8
mov eax, dword [0x418c34]
mov dword [0x418ab0], eax
mov cx, word [edx + 0xa]
mov word [0x418abc], cx
mov edx, dword [edx + 0x18]
mov dword [0x417fcc], edx
cmp edx, ebx
je 0x405a2d
mov eax, dword [0x417fc8]
cmp eax, ebx
je 0x405a08
push eax
call fcn.00405fed
mov edx, dword [0x417fcc]
add esp, 4
push edx
call fcn.004060ca
mov edx, dword [0x417fcc]
mov ecx, dword [0x418c28]
push edx
add ecx, 0x1c
push ecx
push eax
mov dword [0x417fc8], eax
call fcn.004061a0
add esp, 0x10
mov edx, dword [0x418a48]
push 0x414ccc
push str.Microsoft_SQL
push edx
call fcn.004044b0
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x18], eax
jl 0x405f31
cmp eax, 2
je 0x405f31
mov eax, dword [0x418a4c]
mov byte [eax], 1
mov ecx, dword [0x418a4c]
mov dword [ecx + 6], 3
mov edx, dword [0x418a4c]
mov dword [edx + 0xa], ebx
mov eax, dword [0x418a4c]
mov byte [eax + 3], bl
mov ecx, dword [0x418a4c]
mov byte [ecx + 4], 0x20
mov edx, dword [0x418a4c]
mov byte [edx + 5], bl
mov eax, dword [0x418a4c]
mov dword [eax + 0xe], ebx
mov ecx, dword [0x418a4c]
mov dword [ecx + 0x12], ebx
mov edx, dword [0x418a4c]
mov dword [edx + 0x16], ebx
mov eax, dword [0x418a4c]
mov dword [eax + 0x1a], ebx
mov ecx, dword [0x418a4c]
mov dword [ecx + 0x1e], ebx
mov edx, dword [0x418a4c]
mov dword [edx + 0x22], ebx
mov eax, dword [0x418a4c]
mov byte [eax + 0x26], bl
mov ecx, dword [0x418a4c]
mov byte [ecx + 0x27], bl
mov eax, dword [0x418a4c]
mov dword [esp + 0x10], 0x28
mov edx, 0x28
mov word [eax + 1], dx
mov ecx, dword [esp + 0x10]
mov edx, dword [0x418a4c]
mov eax, dword [0x418a48]
push ebx
push ecx
push edx
push eax
call sub.WSOCK32.dll_send
mov ecx, dword [0x418c28]
mov edx, dword [0x418a48]
push 0x4043e0
push 0x1c
push 2
push ecx
push edx
push ebx
call fcn.00403ff0
mov dword [0x417fc0], eax
mov eax, dword [0x418a30]
add esp, 0x18
cmp eax, ebx
je 0x405b48
push fcn.00405fed
push 0x4042d0
push 0x4043d0
call eax
jmp 0x405b4e
call dword [0x418c44]
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x1c], ebx
je 0x405ec9
lea esp, [esp]
mov eax, dword [0x418a4c]
mov byte [eax], 1
mov ecx, dword [0x418a4c]
mov dword [ecx + 6], 0x3c
mov edx, dword [0x418a4c]
mov dword [edx + 0xa], ebx
mov eax, dword [0x418a4c]
mov byte [eax + 3], bl
mov ecx, dword [0x418a4c]
mov byte [ecx + 4], 0x1e
mov edx, dword [0x418a4c]
mov byte [edx + 5], bl
mov eax, dword [0x418a4c]
mov dword [eax + 0xe], 0x71
mov ecx, dword [0x418a4c]
mov dword [ecx + 0x12], ebx
mov edx, dword [0x418a4c]
mov dword [edx + 0x16], ebx
mov eax, dword [0x418a4c]
mov edx, 9
mov dword [eax + 0x1a], edx
mov ecx, dword [0x418a4c]
mov dword [ecx + 0x1e], 6
mov eax, dword [0x418a4c]
mov dword [eax + 0x22], ebx
mov ecx, dword [0x418a4c]
mov byte [ecx + 0x26], 2
mov eax, dword [0x418a4c]
mov byte [eax + 0x27], 0xfd
mov ecx, dword [0x418a4c]
lea eax, [ecx + 0x28]
mov edi, eax
sub edi, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], edi
mov byte [eax], 4
mov dword [eax + esi], ecx
mov dword [eax + esi + 4], ebp
add dword [esp + 0x10], edx
add eax, esi
mov byte [eax + 8], 1
add eax, 8
mov dword [eax + esi], 0xffff
add eax, esi
add eax, 4
mov ecx, 5
add dword [esp + 0x10], ecx
mov byte [eax], 1
mov dword [eax + esi], ebx
add dword [esp + 0x10], ecx
add eax, esi
mov byte [eax + 4], 1
add eax, 4
mov dword [eax + 1], esi
mov eax, dword [esp + 0x10]
mov edx, dword [0x418a4c]
add eax, ecx
mov dword [esp + 0x10], eax
mov word [edx + 1], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [0x418a4c]
mov edx, dword [0x418a48]
push ebx
push eax
push ecx
push edx
call sub.WSOCK32.dll_send
mov eax, dword [0x418c28]
mov ecx, dword [0x418a48]
push 0x404400
push 0x18
push 4
push eax
push ecx
push ebx
call fcn.00403ff0
mov edi, eax
add esp, 0x18
cmp edi, ebx
je 0x405eb1
lea esp, [esp]
mov edx, dword [0x418a4c]
mov byte [edx], 1
mov eax, dword [0x418a4c]
mov dword [eax + 6], 0x30068
mov ecx, dword [0x418a4c]
mov dword [ecx + 0xa], ebx
mov edx, dword [0x418a4c]
mov byte [edx + 3], bl
mov eax, dword [0x418a4c]
mov byte [eax + 4], bl
mov ecx, dword [0x418a4c]
mov byte [ecx + 5], 1
mov edx, dword [0x418a4c]
mov dword [edx + 0xe], esi
mov eax, dword [0x418a4c]
mov dword [eax + 0x12], ebx
mov ecx, dword [0x418a4c]
mov dword [ecx + 0x16], ebx
mov edx, dword [0x418a4c]
mov dword [edx + 0x1a], esi
mov eax, dword [0x418a4c]
mov dword [eax + 0x1e], ebx
mov ecx, dword [0x418a4c]
mov dword [ecx + 0x22], ebx
mov edx, dword [0x418a4c]
mov byte [edx + 0x26], bl
mov eax, dword [0x418a4c]
mov byte [eax + 0x27], bl
mov ecx, dword [0x418a4c]
lea eax, [ecx + 0x28]
mov edx, eax
sub edx, ecx
mov dword [esp + 0x10], edx
mov byte [eax], 1
mov ecx, dword [edi + 0x14]
mov dword [eax + 1], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [0x418a4c]
add eax, 5
mov dword [esp + 0x10], eax
mov word [edx + 1], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [0x418a4c]
mov edx, dword [0x418a48]
push ebx
push eax
push ecx
push edx
call sub.WSOCK32.dll_send
mov eax, dword [0x418c28]
mov ecx, dword [0x418a48]
push fcn.00404410
push 0x1c
push 5
push eax
push ecx
push ebx
call fcn.00403ff0
mov esi, eax
add esp, 0x18
cmp esi, ebx
je 0x405e97
mov eax, dword [esi + 0x10]
test al, 0x46
jne 0x405e88
test al, 8
je 0x405e88
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x20], ecx
test al, 0x10
je 0x405db4
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x20], ecx
cmp byte [ecx], bl
je 0x405e88
mov edx, dword [edi + 0xc]
mov ecx, 0x414a40
cmp edx, ebx
je 0x405de1
mov eax, dword [0x417fc0]
cmp eax, ebx
je 0x405de1
cmp dword [eax + 8], edx
je 0x405dde
mov eax, dword [eax]
cmp eax, ebx
jne 0x405dd1
jmp 0x405de1
mov ecx, dword [eax + 0xc]
mov ebp, dword [esp + 0x34]
push 1
mov byte [esp + 0xa10], bl
mov eax, dword [edi + 8]
lea edx, [esp + 0xa10]
push edx
cdq
add eax, dword [esp + 0x38]
adc edx, ebp
push edx
mov edx, dword [esi + 8]
push eax
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esp + 0x34]
push edx
push ecx
mov ecx, dword [esp + 0x48]
push eax
push ebx
push ecx
call dword [0x418c38]
test eax, eax
jne 0x405e84
mov eax, dword [edi + 0x14]
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0xa0c]
push edx
mov edx, dword [esi + 8]
push eax
push ecx
push edx
lea eax, [esp + 0x21c]
push str.SMS:__s__s___d_____s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
cmp dword [esp + 0x24], ebx
je 0x405e6b
push 0x10030
push str.CompleteGP
lea ecx, [esp + 0x214]
push ecx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x405e88
mov eax, dword [0x418aac]
push ebx
lea edx, [esp + 0x210]
push edx
push eax
call fcn.00404aa0
add esp, 0xc
jmp 0x405e88
inc dword [esp + 0x28]
push esi
call fcn.00404410
push esi
call fcn.00405fed
add esp, 8
mov esi, dword [edi]
push edi
call fcn.00405fed
add esp, 4
mov edi, esi
cmp esi, ebx
mov esi, 1
jne 0x405ca0
add dword [esp + 0x30], 0x15180
adc ebp, ebx
sub dword [esp + 0x1c], esi
mov dword [esp + 0x34], ebp
jne 0x405b60
mov ecx, dword [esp + 0x2c]
push ecx
call dword [0x418c2c]
mov edx, dword [0x418a48]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, dword [0x418aa8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call sub.WSOCK32.dll_WSACleanup
cmp dword [esp + 0x24], ebx
je 0x405f2b
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x210]
push str._d_Messages_Sent.
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x10040
push str.CompleteGP
lea eax, [esp + 0x214]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebx
call fcn.00406dc7
mov ecx, dword [0x418a48]
push ecx
call sub.WSOCK32.dll_closesocket
mov edx, dword [0x418aa8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call sub.WSOCK32.dll_WSACleanup
push esi
call fcn.00406dc7
mov eax, dword [0x418a48]
push eax
call sub.WSOCK32.dll_closesocket
push esi
call fcn.00406dc7
int3