Function at 0x4417a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50d423
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x100
push ebx
mov ebx, ecx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x14], 1
push esi
push edi
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebp - 4], 0
mov edi, 1
mov dword [ebp - 0x14], edi
call fcn.00440810
mov edx, eax
test edx, edx
jne 0x441803
mov dword [ebp - 0x14], eax
jmp 0x441b04
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
lea esi, [ecx + 1]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441820
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x74]
call fcn.00402ea0
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x1e], 0x859dbbbb
mov dword [ebp - 0x1a], 0x8b8a8d99
mov word [ebp - 0x16], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 8
jb 0x441850
lea ecx, [ebp - 0x1e]
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441867
sub ecx, edx
lea eax, [ebp - 0x1e]
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.0046b590
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x74]
call fcn.00440aa0
mov esi, dword [ebp - 0x44]
cmp esi, dword [ebp - 0x40]
je 0x441ae5
lea ecx, [ecx]
mov byte [ebp - 4], 3
mov eax, closesocket
mov ecx, dword [ebp - 0x64]
sub eax, ecx
cmp eax, 1
jb 0x441b1e
cmp dword [ebp - 0x60], 0xf
lea eax, [ebp - 0x74]
jbe 0x4418d3
mov eax, dword [ebp - 0x74]
push 1
push 0x51f9bc
push ecx
push eax
push ecx
push dword [ebp - 0x78]
lea ecx, [ebp - 0xac]
call fcn.00470ea0
or edi, 8
lea edx, [ebp - 0xac]
push esi
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x14], edi
call fcn.0046d2f0
add esp, 4
mov byte [ebp - 4], 4
and edi, 0xfffffff7
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xac]
call fcn.00402c80
mov dword [ebp - 0x36], 0x898aa9bb
xor eax, eax
mov dword [ebp - 0x32], 0x9a839984
mov dword [ebp - 0x2e], 0x91b0ac9c
mov dword [ebp - 0x2a], 0x98809b90
mov dword [ebp - 0x26], 0x9f8bd683
mov dword [ebp - 0x22], 0x100cc98
jmp 0x441950
lea ecx, [eax - 0x19]
xor byte [ebp + eax - 0x36], cl
inc eax
cmp eax, 0x16
jb 0x441950
lea eax, [ebp - 0x36]
mov byte [ebp - 0x1f], 0
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x94]
call fcn.0046d070
add esp, 4
mov byte [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], al
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x94]
cmp dword [ebp - 0x80], 0xf
jbe 0x4419b4
mov ecx, dword [ebp - 0x94]
lea eax, [ebp - 0xd]
push eax
lea edx, [ebp - 0x5c]
call fcn.00440ce0
sub esp, 0x14
lea eax, [ebp - 0x5c]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.00468b20
mov byte [ebp - 4], 8
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xc4]
mov dl, byte [ebp - 0xd]
call fcn.004412b0
add esp, 0x18
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x10c]
push esi
call fcn.00468b20
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xf4]
call fcn.00468b20
mov byte [ebp - 4], 0xa
or edi, 2
mov dword [ebp - 0x14], edi
lea ecx, [ebp - 0x10c]
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x441a36
mov ecx, eax
call fcn.0047e270
add dword [ebx + 4], 0x30
jmp 0x441a3e
push eax
mov ecx, ebx
call fcn.00474a00
and edi, 0xfffffffd
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xf4]
call fcn.00402c80
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x10c]
call fcn.00402c80
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xc4]
call fcn.00402c80
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x441aa9
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x441a9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x441b23
push ecx
push edx
call fcn.004dfaf3
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x94]
call fcn.00402c80
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xdc]
call fcn.00402c80
add esi, 0x18
cmp esi, dword [ebp - 0x40]
jne 0x4418b0
mov dword [ebp - 0x14], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44]
call fcn.0046ac50
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.00402c80
mov dword [ebp - 4], 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004025a0
call fcn.004e4d70
int3