Function at 0x407ee0
Capabilities:
Create thread
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f84a9
mov eax, dword fs:[0]
push eax
sub esp, 0x130
mov eax, dword [0x5370e4]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push esi
push edi
mov eax, dword [0x5370e4]
xor eax, esp
push eax
lea eax, [esp + 0x140]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
cmp esi, ebx
je 0x407f45
mov eax, esi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f30
sub eax, edx
push eax
push esi
mov ecx, 0x544ef0
call fcn.00402130
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f50
sub eax, edx
push eax
push esi
mov ecx, 0x544ed4
call fcn.00402130
push 0x74
call fcn.0041ef16
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x148], ebx
mov edi, 0x10
cmp eax, ebx
je 0x407f9f
mov ecx, dword [0x544ef4]
cmp dword [0x544f08], edi
jae 0x407f96
mov ecx, 0x544ef4
push ecx
push eax
call fcn.004094e0
jmp 0x407fa1
xor eax, eax
mov dword [esp + 0x148], 0xffffffff
mov esi, 0x549ddc
mov dword [0x549f14], eax
call fcn.0040d7c0
jmp 0x407fc0
lea eax, [ebx + 0x8715]
push eax
push str.127.0.0.1:_d
lea ecx, [esp + 0x3c]
push 0x100
push ecx
call fcn.00429a39
lea eax, [esp + 0x44]
add esp, 0x10
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408000
sub eax, edx
push eax
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x20]
call fcn.00402130
mov dword [esp + 0x148], 1
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x30], edi
jae 0x408031
lea ecx, [esp + 0x1c]
xor eax, eax
sub esp, 0x18
mov edx, esp
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
call fcn.0040e6d0
add esp, 0x18
mov dword [0x549ccc], eax
test eax, eax
je 0x4080a7
push 0x83c
call fcn.00429546
mov esi, eax
mov ecx, 0x544658
add esp, 4
sub ecx, esi
mov edi, 0x83c
mov dl, byte [ecx + eax]
xor dl, 0xb3
mov byte [eax], dl
inc eax
sub edi, 1
jne 0x408075
lea eax, [esi + 0x395]
mov ecx, esi
call fcn.0040e000
push esi
test eax, eax
je 0x4080fb
call fcn.00429469
add esp, 4
xor eax, eax
mov dword [0x549ccc], eax
lea edi, [eax + 0x10]
inc ebx
cmp ebx, 0xa
jge 0x4080da
mov dword [esp + 0x148], 0xffffffff
cmp dword [esp + 0x30], edi
jb 0x4080d0
mov eax, dword [esp + 0x1c]
push eax
call fcn.0041ef45
mov eax, dword [0x549ccc]
add esp, 4
test eax, eax
je 0x407fc0
jmp 0x40811c
mov eax, 0x549ddc
call fcn.0040d8b0
cmp dword [esp + 0x30], edi
jb 0x4080f7
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0041ef45
add esp, 4
xor al, al
jmp 0x408151
call fcn.00429469
add esp, 4
cmp dword [esp + 0x30], 0x10
jb 0x408117
mov edx, dword [esp + 0x1c]
push edx
call fcn.0041ef45
add esp, 4
mov eax, dword [0x549ccc]
mov dword [eax + 0x60], 0x410ef0
lea eax, [esp + 0x10]
push eax
push 0
push 0x549ddc
push 0x407ea0
push 0
push 0
mov dword [0x549d98], 0x52566c
call fcn.0042a294
mov dword [0x549dd8], eax
add esp, 0x18
mov al, 1
mov ecx, dword [esp + 0x140]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.00428ddf
mov esp, ebp
pop ebp
ret