Function at 0x401240
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x384
push ebx
push ebp
mov bl, 0x30
mov ebp, ecx
mov byte [esp + 0x2c], bl
mov byte [esp + 0x30], bl
mov dl, 0x2b
mov cl, 5
mov bl, 0xa
mov byte [esp + 0x24], dl
mov byte [esp + 0x27], cl
mov byte [esp + 0x28], cl
mov byte [esp + 0x33], bl
mov byte [esp + 0x34], dl
mov byte [esp + 0x3d], bl
mov al, 6
mov cl, 0xa0
mov dl, 0x82
xor ebx, ebx
push esi
push edi
mov byte [esp + 0x28], 0x60
mov byte [esp + 0x29], 0x48
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], 1
mov byte [esp + 0x31], 2
mov byte [esp + 0x32], cl
mov byte [esp + 0x33], 0x3e
mov byte [esp + 0x35], 0x3c
mov byte [esp + 0x36], cl
mov byte [esp + 0x37], 0xe
mov byte [esp + 0x39], 0xc
mov byte [esp + 0x3a], al
mov byte [esp + 0x3d], al
mov byte [esp + 0x3e], 1
mov byte [esp + 0x3f], 4
mov byte [esp + 0x40], 1
mov byte [esp + 0x41], dl
mov byte [esp + 0x42], 0x37
mov byte [esp + 0x43], 2
mov byte [esp + 0x44], 2
mov byte [esp + 0x46], 0xa2
mov byte [esp + 0x47], 0x2a
mov byte [esp + 0x48], 4
mov byte [esp + 0x49], 0x28
mov byte [esp + 0x4a], 0x4e
mov byte [esp + 0x4b], 0x54
mov byte [esp + 0x4c], 0x4c
mov byte [esp + 0x4d], 0x4d
mov byte [esp + 0x4e], 0x53
mov byte [esp + 0x4f], 0x53
mov byte [esp + 0x50], 0x50
mov byte [esp + 0x51], bl
mov byte [esp + 0x52], 1
mov byte [esp + 0x53], bl
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], 0x15
mov byte [esp + 0x57], dl
mov byte [esp + 0x58], 8
mov byte [esp + 0x59], cl
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], bl
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], bl
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], bl
mov byte [esp + 0x65], bl
mov byte [esp + 0x66], bl
mov byte [esp + 0x67], bl
mov byte [esp + 0x68], bl
mov byte [esp + 0x69], bl
mov byte [esp + 0x6a], al
mov byte [esp + 0x6b], 1
push 0x40
mov byte [esp + 0x70], 0xb1
mov byte [esp + 0x71], 0x1d
mov byte [esp + 0x72], bl
mov byte [esp + 0x73], bl
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], 0xf
mov word [ebp + 0xa8], 0x19
mov byte [ebp + 0xab], 1
mov word [ebp + 0xb4], 0x58
mov word [ebp + 0xb6], 0x4a
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x40143d
mov al, byte [ebp + 0xfc]
xor edx, edx
inc word [ebp + 0xfc]
mov dx, word [ebp + 0xfe]
mov byte [esp + 0x13], al
mov ecx, 0x10
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov byte [esi], 0xfe
mov ax, word [0x413394]
lea ecx, [esi + 1]
mov edi, 1
mov word [ecx], ax
mov al, byte [0x413396]
mov word [esi + 0xc], di
mov word [esi + 0xe], 0x1f
mov byte [ecx + 2], al
mov cl, byte [esp + 0x13]
mov dword [esi + 0x10], ebx
mov byte [esi + 0x18], cl
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], ebx
mov word [esi + 4], 0x40
mov word [esi + 6], di
jmp 0x40143f
xor esi, esi
lea edi, [ebp + 0x64]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp + 0x60]
push 0xa2
mov dword [edi], ebx
call dword [sym.imp.WS2_32.dll_htons]
lea esi, [ebp + 8]
mov word [ebp + 0x62], ax
mov ecx, esi
call fcn.00403180
push 4
push edi
mov ecx, esi
call fcn.00403000
lea eax, [ebp + 0x64]
push 0x40
push eax
mov ecx, esi
call fcn.00403000
lea eax, [ebp + 0xa8]
push 0x18
push eax
mov ecx, esi
call fcn.00403000
lea edx, [esp + 0x28]
push 0x4a
push edx
mov ecx, esi
call fcn.00403000
push 0x400
mov ecx, esi
call fcn.00403090
push eax
push ebx
mov ecx, esi
call fcn.004031c0
push eax
mov ecx, ebp
call fcn.004047b0
mov ecx, ebp
call fcn.004047d0
lea esi, [ebp + 0x34]
push ebx
lea eax, [esp + 0x24]
push 8
push eax
mov ecx, esi
mov byte [esp + 0x2c], 0x4e
mov byte [esp + 0x2d], 0x54
mov byte [esp + 0x2e], 0x4c
mov byte [esp + 0x2f], 0x4d
mov byte [esp + 0x30], 0x53
mov byte [esp + 0x31], 0x53
mov byte [esp + 0x32], 0x50
mov byte [esp + 0x33], bl
mov dword [esp + 0x24], esi
call fcn.004031f0
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x1c], ebp
jge 0x401516
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x384
ret 4
push 0x38
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edx, eax
add esp, 4
cmp edx, ebx
je 0x401537
mov ecx, 0xe
xor eax, eax
mov edi, edx
mov dword [esp + 0x14], edx
rep stosd dword es:[edi], eax
jmp 0x40153b
mov dword [esp + 0x14], ebx
push ebx
push ebp
mov ecx, esi
call fcn.00403260
mov edi, dword [esp + 0x14]
mov ecx, 0xe
mov esi, eax
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea edi, [esp + 0x75]
mov byte [esp + 0x74], bl
mov edx, dword [esp + 0x14]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov si, word [edx + 0x32]
xor ecx, ecx
mov eax, 0x4130c4
cmp word [eax], si
je 0x401586
add eax, 0x26
inc ecx
cmp eax, 0x413396
jl 0x401574
jmp 0x4015b4
lea eax, [ecx + ecx*8]
lea ebp, [esp + 0x74]
lea ecx, [ecx + eax*2]
xor eax, eax
lea edi, [ecx*2 + str.Vista]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cx, word [edx + 0x28]
push ecx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, dword [esp + 0x20]
mov ebp, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov word [ebp], bx
add esp, 4
mov edx, dword [eax + 0x2c]
xor edi, edi
mov di, word [eax + 0x28]
add edx, esi
push ebx
push edx
call fcn.00403260
mov esi, eax
mov eax, edi
mov edi, ebp
mov ecx, eax
xor eax, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
xor edx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov si, word [ebp]
mov ecx, 0x3f
lea edi, [esp + 0x95]
mov byte [esp + 0x94], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp si, bx
mov dword [esp + 0x1c], esi
stosb byte es:[edi], al
jbe 0x40167f
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x94]
add edx, 2
rep stosd dword es:[edi], eax
mov ax, word [edx + ebp]
cmp ax, bx
je 0x40167f
and eax, 0xffff
add edx, 2
mov ecx, eax
lea edi, [esp + 0x94]
lea esi, [edx + ebp]
mov dword [esp + 0x18], eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp word [esp + 0x1c], 3
rep movsb byte es:[edi], byte [esi]
je 0x40167f
mov esi, eax
add edx, esi
mov ax, word [edx + ebp]
cmp ax, bx
mov dword [esp + 0x1c], eax
ja 0x401626
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x195]
mov byte [esp + 0x194], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x74]
lea edx, [esp + 0x94]
stosb byte es:[edi], al
mov eax, dword [esp + 0x398]
push ecx
push edx
push eax
lea ecx, [esp + 0x1a0]
push str._s__S__s_n
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edx, [esp + 0x1a8]
push edx
call fcn.0040ebf0
push ebp
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x30]
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x20
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x384
ret 4