Function at 0x402cf0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x535619
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
mov dword [esp + 0x30], esi
mov eax, dword [esi + 0x10]
cmp eax, edi
je 0x402d2c
push eax
call fcn.0050d161
add esp, 4
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
mov ebp, dword [esi + 0xc]
cmp ebp, edi
jne 0x402d3a
xor eax, eax
jmp 0x40309c
cmp dword [ebp + 0x100], edi
jne 0x402d49
xor eax, eax
jmp 0x40309c
push ebx
push 0x4000
call fcn.0050d138
mov edi, eax
xor eax, eax
push 4
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
push str.1824
push ecx
mov dword [esi + 0x10], edi
mov dword [esp + 0x40], eax
call fcn.004edf70
add esp, 0x10
push 0x139d
call dword [sym.imp.WSOCK32.dll_htons]
mov word [esp + 0x30], ax
mov edx, dword [ebp + 0xf8]
mov ebx, dword [edx + 8]
lea edx, [esp + 0x4d]
push edx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x18], eax
push ecx
sar eax, 0x1f
mov al, byte [esp + 0x1c]
mov byte [esp + 0x54], al
call fcn.00402c50
lea eax, [edi + 8]
push 0x3ff8
push eax
lea ecx, [esp + 0x5c]
push 5
push ecx
push 5
push 3
call fcn.00402c70
mov esi, eax
mov edx, 0x4000
add esi, 8
add ebx, 0x14
movsx eax, si
sub edx, eax
add eax, edi
push edx
push eax
push 0x10
push ebx
push 0x10
push 7
call fcn.00402c70
add esp, 0x38
add esi, eax
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.00465010
mov edx, dword [esp + 0x10]
mov ebx, 0x4000
movsx ecx, si
mov eax, dword [edx - 8]
sub ebx, ecx
add ecx, edi
push ebx
push ecx
push eax
push edx
push eax
push 9
mov dword [esp + 0xe8], 0
call fcn.00402c70
add esi, eax
mov eax, dword [ebp + 0x100]
movsx ecx, si
mov edx, 0x4000
lea ebx, [esi + 4]
sub edx, ecx
add ecx, edi
push edx
push ecx
mov ecx, eax
shl ecx, 4
sub ecx, 0x10
shl eax, 4
push ecx
sub eax, 0x10
push 0
push eax
push 8
call fcn.00402c70
add esi, eax
mov eax, dword [ebp + 0xf8]
add esp, 0x30
mov eax, dword [eax]
test eax, eax
je 0x402ea1
movsx ecx, bx
add ecx, edi
mov dword [esp + 0x14], ecx
mov edx, eax
mov eax, dword [eax]
mov edx, dword [edx + 8]
add edx, 0x18
mov ebx, dword [edx]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov ebx, dword [edx + 8]
mov dword [ecx + 8], ebx
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x10
test eax, eax
mov dword [esp + 0x14], ecx
jne 0x402e72
lea eax, [ebp + 0xf0]
lea ecx, [esp + 0x10]
push eax
call fcn.0050d536
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x402eeb
lea edx, [esp + 0x14]
mov ecx, ebp
push edx
call fcn.004656e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xd4], 1
call fcn.0050d536
lea ecx, [esp + 0x14]
mov byte [esp + 0xd0], 0
call fcn.0050d3fd
lea ecx, [esp + 0x10]
call fcn.00506372
lea ecx, [esp + 0x10]
call fcn.0050627b
mov edx, dword [esp + 0x10]
mov ebx, 0x4000
movsx ecx, si
mov eax, dword [edx - 8]
sub ebx, ecx
add ecx, edi
push ebx
push ecx
push eax
push edx
push eax
push 1
call fcn.00402c70
add esp, 0x18
add esi, eax
lea eax, [esp + 0x38]
mov ecx, ebp
push eax
call fcn.00475a90
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xd4], 2
call fcn.0050d536
lea ecx, [esp + 0x38]
mov byte [esp + 0xd0], 0
call fcn.0050d3fd
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x402f87
lea ecx, [esp + 0x10]
call fcn.00506372
lea ecx, [esp + 0x10]
call fcn.0050627b
mov edx, dword [esp + 0x10]
mov ebx, 0x4000
movsx ecx, si
mov eax, dword [edx - 8]
sub ebx, ecx
add ecx, edi
push ebx
push ecx
push eax
push edx
push eax
jmp 0x402f9b
movsx eax, si
mov edx, 0x4000
sub edx, eax
add eax, edi
push edx
push eax
push 0
push 0
push 0
push 2
call fcn.00402c70
mov ebp, dword [esp + 0x4c]
add esi, eax
movsx ebx, si
add esp, 0x18
lea eax, [ebx + 0x10]
push esi
mov dword [ebp + 0x14], eax
call dword [sym.imp.WSOCK32.dll_htons]
mov ecx, dword [esp + 0x2c]
mov word [esp + 0x32], ax
mov dword [edi], ecx
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x5c]
mov dword [edi + 4], edx
call fcn.00401000
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x18]
push eax
push 8
push ecx
push ebx
push edi
lea edx, [esp + 0x34]
push 9
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0xec], 3
mov byte [esp + 0x3c], 0x79
mov byte [esp + 0x3d], 0x5c
mov byte [esp + 0x3e], 0x41
mov byte [esp + 0x3f], 0x45
mov byte [esp + 0x40], 0x5e
mov byte [esp + 0x41], 0xe3
mov byte [esp + 0x42], 0x48
mov byte [esp + 0x43], 0xc3
mov byte [esp + 0x44], 0xad
mov byte [esp + 0x34], 0x9c
mov byte [esp + 0x35], 0x87
mov byte [esp + 0x36], 0x68
mov byte [esp + 0x37], 0x11
mov byte [esp + 0x38], 0xda
mov byte [esp + 0x39], 0x37
mov byte [esp + 0x3a], 0x44
mov byte [esp + 0x3b], 0xc0
call fcn.00401e80
mov eax, dword [esp + 0x3c]
add ebx, edi
mov byte [esp + 0xd0], 0
mov dword [ebx], eax
mov ecx, dword [esp + 0x40]
mov dword [ebx + 4], ecx
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x5c]
mov dword [ebx + 8], edx
mov eax, dword [esp + 0x48]
mov dword [ebx + 0xc], eax
mov dword [ebp + 0x10], edi
call fcn.00401060
lea ecx, [esp + 0x10]
mov dword [esp + 0xd0], 0xffffffff
call fcn.0050d3fd
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0xc4
ret