Function at 0x44c200
Capabilities:
Encode data using xor
Encrypt data using des

Disassembly:
sub esp, 0xbb8
push ebx
mov ebx, dword [esp + 0xbc8]
push esi
push edi
xor edi, edi
lea esi, [esp + 0x29]
xor ecx, ecx
mov cl, byte [edi + ebx]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
and eax, reloc.WSOCK32.dll_accept
jns 0x44c232
dec eax
or eax, 0xfffffffe
inc eax
mov byte [esi - 1], al
mov eax, ecx
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
and eax, reloc.WSOCK32.dll_accept
jns 0x44c24c
dec eax
or eax, 0xfffffffe
inc eax
mov byte [esi], al
mov eax, ecx
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
and eax, reloc.WSOCK32.dll_accept
jns 0x44c265
dec eax
or eax, 0xfffffffe
inc eax
mov byte [esi + 1], al
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and eax, reloc.WSOCK32.dll_accept
jns 0x44c27f
dec eax
or eax, 0xfffffffe
inc eax
mov byte [esi + 2], al
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
and eax, reloc.WSOCK32.dll_accept
jns 0x44c299
dec eax
or eax, 0xfffffffe
inc eax
mov byte [esi + 3], al
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
and eax, reloc.WSOCK32.dll_accept
jns 0x44c2b3
dec eax
or eax, 0xfffffffe
inc eax
mov byte [esi + 4], al
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, reloc.WSOCK32.dll_accept
jns 0x44c2c9
dec eax
or eax, 0xfffffffe
inc eax
and ecx, reloc.WSOCK32.dll_accept
mov byte [esi + 5], al
jns 0x44c2d9
dec ecx
or ecx, 0xfffffffe
inc ecx
mov byte [esi + 6], cl
inc edi
add esi, 8
cmp edi, 8
jl 0x44c216
xor eax, eax
xor ecx, ecx
mov cl, byte [eax + str.80_]
inc eax
cmp eax, 0x38
mov dl, byte [esp + ecx + 0x28]
mov byte [esp + eax + 0x6b], dl
jl 0x44c2eb
mov ecx, 7
lea esi, [esp + 0x88]
lea edi, [esp + 0xd4]
push ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [esp + 0x70]
lea edi, [esp + 0x30c]
mov dword [esp + 0x10], 1
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
lea edi, [esp + 0x571]
or eax, 0xffffffff
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0xbd8]
test edx, edx
jne 0x44c364
mov edx, dword [esp + 0x10]
xor eax, eax
mov al, byte [edx + 0x4abe67]
mov esi, eax
jmp 0x44c36e
xor edx, edx
mov dl, byte [eax + str._Y__m__d__H:_M:_S]
mov esi, edx
lea ebp, [esp + ecx + 0x329]
lea edx, [esp + 0x30c]
xor eax, eax
sub ebp, edx
mov bl, byte [esp + eax + 0x30c]
lea edx, [eax + ebp]
mov byte [esp + edx + 0x30c], bl
mov bl, byte [esp + eax + 0xd8]
lea edx, [eax + ebp]
inc eax
cmp eax, 0x1c
mov byte [esp + edx + 0xd8], bl
jl 0x44c380
test esi, esi
jle 0x44c438
lea edi, [esp + ecx + 0xf6]
mov dword [esp + 0x18], esi
mov dl, byte [esp + ecx + 0x329]
lea eax, [esp + ecx + 0x329]
mov al, byte [edi - 1]
mov ecx, edi
mov byte [esp + 0x1f], al
lea esi, [esp + 0xd9]
xor eax, eax
sub ecx, esi
lea esi, [ecx + eax]
mov bl, byte [esp + esi + 0x30d]
lea esi, [esp + esi + 0x30c]
mov byte [esi], bl
lea esi, [esp + ecx + 0xd9]
lea ebx, [ecx + eax]
inc eax
mov dword [esp + 0x20], ebx
mov bl, byte [esi + eax - 1]
mov esi, dword [esp + 0x20]
cmp eax, 0x1b
mov byte [esp + esi + 0xd8], bl
jl 0x44c3dd
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
dec eax
mov byte [esp + ecx + 0x344], dl
mov dl, byte [esp + 0x1f]
mov byte [esp + ecx + 0x110], dl
mov dword [esp + 0x18], eax
jne 0x44c3bb
mov edi, dword [esp + 0x24]
xor eax, eax
lea edx, [eax + ebp]
mov dl, byte [esp + edx + 0x30c]
mov byte [esp + eax + 0x70], dl
lea edx, [eax + ebp]
inc eax
mov dl, byte [esp + edx + 0xd8]
cmp eax, 0x1c
mov byte [esp + eax + 0x8b], dl
jl 0x44c43a
xor eax, eax
xor edx, edx
mov dl, byte [eax + 0x4abb68]
inc eax
cmp eax, 0x30
mov dl, byte [esp + edx + 0x70]
mov byte [edi + eax - 1], dl
jl 0x44c461
mov eax, dword [esp + 0x10]
add ecx, 0x1d
inc eax
add edi, 0x31
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
dec eax
mov dword [esp + 0x28], ecx
cmp eax, 0xffffffef
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edi
jg 0x44c349
mov ebx, dword [esp + 0xbcc]
xor edi, edi
lea ecx, [esp + 0x71]
xor eax, eax
mov al, byte [edi + ebx]
mov esi, eax
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
and eax, reloc.WSOCK32.dll_accept
jns 0x44c4c9
dec eax
or eax, 0xfffffffe
inc eax
mov byte [ecx - 1], al
mov eax, esi
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
and eax, reloc.WSOCK32.dll_accept
jns 0x44c4e3
dec eax
or eax, 0xfffffffe
inc eax
mov byte [ecx], al
mov eax, esi
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
and eax, reloc.WSOCK32.dll_accept
jns 0x44c4fc
dec eax
or eax, 0xfffffffe
inc eax
mov byte [ecx + 1], al
mov eax, esi
cdq
and edx, 0xf
add eax, edx
sar eax, 4
and eax, reloc.WSOCK32.dll_accept
jns 0x44c516
dec eax
or eax, 0xfffffffe
inc eax
mov byte [ecx + 2], al
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
and eax, reloc.WSOCK32.dll_accept
jns 0x44c530
dec eax
or eax, 0xfffffffe
inc eax
mov byte [ecx + 3], al
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
and eax, reloc.WSOCK32.dll_accept
jns 0x44c54a
dec eax
or eax, 0xfffffffe
inc eax
mov byte [ecx + 4], al
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, reloc.WSOCK32.dll_accept
jns 0x44c560
dec eax
or eax, 0xfffffffe
inc eax
mov edx, esi
mov byte [ecx + 5], al
and edx, reloc.WSOCK32.dll_accept
jns 0x44c572
dec edx
or edx, 0xfffffffe
inc edx
mov byte [ecx + 6], dl
inc edi
add ecx, 8
cmp edi, 8
jl 0x44c4ad
xor eax, eax
xor ecx, ecx
mov cl, byte [eax + str.91__]
inc eax
cmp eax, 0x40
mov dl, byte [esp + ecx + 0x70]
mov byte [esp + eax + 0x2b], dl
jl 0x44c584
mov ecx, 8
lea esi, [esp + 0x4c]
lea edi, [esp + 0x30c]
mov ebp, 0x21
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
lea esi, [esp + 0x2c]
lea edi, [esp + 0xd8]
lea edx, [esp + 0xd8]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
sub edx, ebp
xor eax, eax
lea esi, [esp + edi + 0x884]
xor ecx, ecx
mov cl, byte [eax + 0x4abb98]
add ecx, ebp
inc eax
cmp eax, 0x30
mov cl, byte [esp + ecx + 0x2eb]
mov byte [esi + eax - 1], cl
jl 0x44c5d7
xor eax, eax
lea ecx, [esp + edi + 0x571]
mov bl, byte [esi + eax]
xor byte [ecx + eax], bl
inc eax
cmp eax, 0x30
jl 0x44c5fb
lea ecx, [esp + 0x2d]
lea eax, [esp + edi + 0x572]
mov esi, 8
mov bl, byte [eax - 1]
add eax, 6
mov byte [ecx - 1], bl
mov bl, byte [eax - 6]
mov byte [ecx], bl
mov bl, byte [eax - 5]
mov byte [ecx + 1], bl
mov bl, byte [eax - 4]
mov byte [ecx + 2], bl
mov bl, byte [eax - 3]
mov byte [ecx + 3], bl
mov bl, byte [eax - 2]
mov byte [ecx + 4], bl
add ecx, 7
dec esi
jne 0x44c617
xor eax, eax
lea ecx, [eax*8]
sub ecx, eax
mov bl, byte [esp + ecx + 0x2c]
shl bl, 1
add bl, byte [esp + ecx + 0x31]
mov byte [esp + 0x14], bl
mov bl, byte [esp + ecx + 0x2d]
shl bl, 1
add bl, byte [esp + ecx + 0x2e]
shl bl, 1
add bl, byte [esp + ecx + 0x2f]
shl bl, 1
add bl, byte [esp + ecx + 0x30]
cmp eax, 7
mov byte [esp + 0x18], bl
ja case.default.0x44c67f
jmp dword [eax*4 + 0x44c8fc]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
and esi, 0xff
mov cl, byte [ecx + esi + 0x4abc68]
jmp 0x44c78d
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
and esi, 0xff
mov cl, byte [ecx + esi + 0x4abca8]
jmp 0x44c78d
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
and esi, 0xff
mov cl, byte [ecx + esi + 0x4abce8]
jmp 0x44c78d
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
and esi, 0xff
mov cl, byte [ecx + esi + 0x4abd28]
jmp 0x44c78d
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
and esi, 0xff
mov cl, byte [ecx + esi + 0x4abd68]
jmp 0x44c78d
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
and esi, 0xff
mov cl, byte [ecx + esi + 0x4abda8]
jmp 0x44c78d
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
and esi, 0xff
mov cl, byte [ecx + esi + 0x4abde8]
jmp 0x44c78d
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
and esi, 0xff
mov cl, byte [ecx + esi + 0x4abe28]
mov byte [esp + 0x10], cl
mov ecx, dword [esp + 0x10]
and ecx, 0xff
mov esi, ecx
shr esi, 3
mov ebx, esi
and ebx, reloc.WSOCK32.dll_accept
jns 0x44c7af
dec ebx
or ebx, 0xfffffffe
inc ebx
mov esi, ecx
mov byte [esp + eax*4 + 0xb4], bl
shr esi, 2
mov ebx, esi
and ebx, reloc.WSOCK32.dll_accept
jns 0x44c7ca
dec ebx
or ebx, 0xfffffffe
inc ebx
mov esi, ecx
mov byte [esp + eax*4 + 0xb5], bl
shr esi, 1
mov ebx, esi
and ebx, reloc.WSOCK32.dll_accept
jns 0x44c7e4
dec ebx
or ebx, 0xfffffffe
inc ebx
and ecx, reloc.WSOCK32.dll_accept
mov byte [esp + eax*4 + 0xb6], bl
jns 0x44c7f8
dec ecx
or ecx, 0xfffffffe
inc ecx
mov byte [esp + eax*4 + 0xb7], cl
inc eax
cmp eax, 8
jl 0x44c645
xor eax, eax
xor ecx, ecx
mov cl, byte [eax + 0x4abc48]
inc eax
cmp eax, 0x20
mov cl, byte [esp + ecx + 0xb4]
mov byte [esp + eax + 0x6f], cl
jl 0x44c80b
mov ecx, edx
lea esi, [esp + 0xd8]
sub ecx, esi
xor eax, eax
add ecx, ebp
lea esi, [ecx + eax]
mov bl, byte [esp + esi + 0xd8]
lea esi, [esp + ecx + 0x32d]
xor bl, byte [esp + eax + 0x70]
mov byte [esi + eax], bl
lea esi, [ecx + eax]
lea ebx, [esp + ecx + 0xf9]
inc eax
mov dword [esp + 0x20], ebx
mov bl, byte [esp + esi + 0x30c]
mov esi, dword [esp + 0x20]
cmp eax, 0x20
mov byte [esi + eax - 1], bl
jl 0x44c833
add edi, 0x31
add ebp, 0x21
cmp edi, 0x310
jl 0x44c5ce
xor eax, eax
pop ebp
mov dl, byte [esp + eax + 0x518]
mov cl, byte [esp + eax + 0x2e4]
mov byte [esp + eax + 0x28], dl
mov byte [esp + eax + 0x48], cl
inc eax
cmp eax, 0x20
jl 0x44c883
xor eax, eax
xor edx, edx
mov dl, byte [eax + 0x4abc08]
inc eax
cmp eax, 0x40
mov cl, byte [esp + edx + 0x28]
mov byte [esp + eax + 0x6b], cl
jl 0x44c8a1
mov esi, dword [esp + 0xbcc]
xor eax, eax
lea edi, [esp + 0x73]
mov byte [eax + esi], 0
xor ecx, ecx
mov dl, byte [edi + ecx - 7]
mov bl, byte [eax + esi]
add dl, bl
shl dl, 1
inc ecx
mov byte [eax + esi], dl
cmp ecx, 7
jl 0x44c8ca
mov cl, byte [edi]
add edi, 8
add dl, cl
mov byte [eax + esi], dl
inc eax
cmp eax, 8
jl 0x44c8c4
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xbb8
ret