Function at 0x4669f8
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4bc17b
call fcn.004bb6d8
sub esp, 0x8c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], 0x2c03342e
mov dword [ebp - 0x20], 0x722ba7b7
mov dword [ebp - 0x1c], 0x6ecd
xor ebx, ebx
cmp dword [ebp - 0x1c], 0x71ac
jle 0x466a5a
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xaccad8
call fcn.00420294
inc edi
cmp edi, 0x1d87
jl 0x466a35
inc esi
cmp esi, 0x2120
jl 0x466a33
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x1c], 0x6e16
jge 0x466a75
mov edx, 0xab9e48
mov ecx, 0xaccad8
call fcn.0042204a
or dword [ebp - 4], 0xffffffff
jmp 0x466a9b
mov dword [ebp - 0x14], ebx
push 2
pop edi
jmp 0x466ab1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0x4129b857
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x466aa3
mov dword [ebp - 0x14], ebx
jmp 0x466ad7
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x466ad4
push 0x1a6c
push 0x1429
call dword [0xad04c8]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe7
je 0x466abb
xor esi, esi
inc esi
cmp dword [ebp - 0x14], ebx
je 0x466b04
mov dword [ebp - 0x1c], 0x16a205b2
mov dword [ebp - 0x24], 6
mov edx, esi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x1c], ecx
jmp 0x466b6b
mov dword [ebp - 0x1c], 0xb7b83196
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x14], ebx
jmp 0x466b23
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x5c], ebx
jne 0x466b28
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x466b17
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], 0x48ce941f
jne 0x466b3a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setg dl
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x24], 0x1c2d
cmp dword [ebp - 0x24], 0x1f8b
jle 0x466bbf
push 0x176c
push 0x1032
push esi
push ebx
push 0x1e89
call dword [0xad040c]
mov edi, ebx
mov esi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xaccad8
call fcn.00420294
inc esi
cmp esi, 0x6648
jl 0x466b96
inc edi
cmp edi, 0x39ca
jl 0x466b94
xor esi, esi
inc esi
push 2
pop edi
mov dword [ebp - 4], edi
cmp dword [ebp - 0x24], 0x1bf9
jge 0x466bda
mov edx, 0xab9e80
mov ecx, 0xaccad8
call fcn.0042204a
or dword [ebp - 4], 0xffffffff
jmp 0x466c06
push 9
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], 0xade0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x466c96
push edi
lea ecx, [ebp - 0x74]
call fcn.004203d8
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], 0x551b32e2
mov dword [ebp - 0x20], ebx
jmp 0x466c4a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x466c3e
mov eax, dword [ebp - 0x74]
cmp dword [eax + 4], 0x6e7f737a
jge 0x466c77
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov ecx, esi
jmp 0x466c79
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
add eax, ecx
jne 0x466c87
cmp dword [ebp - 0x1c], ebx
mov eax, ebx
je 0x466c89
mov eax, esi
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x74]
call fcn.004204aa
jmp 0x466ca7
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x466ca7
push ebx
push ebx
call dword [0xad0490]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x466cc3
push ebx
push ebx
push 0x8ab
push 0x268e
push ebx
call dword [0xad047c]
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0
je 0x466f44
push edi
lea ecx, [ebp - 0x54]
call fcn.004203d8
mov dword [ebp - 0x14], 0xc08901f2
mov dword [ebp - 0x20], ebx
jmp 0x466cf4
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x466ce4
mov dword [ebp - 0x2c], 0x78d8
mov dword [ebp - 0x38], 0xab9e9c
cmp dword [ebp - 0x2c], 0x79e7
jle 0x466d5f
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
or eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x98]
call fcn.0040195e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x466d31
mov eax, dword [eax]
push eax
call fcn.004a5f37
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x98]
call fcn.004207b4
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x4056
jl 0x466d17
inc edi
cmp edi, 0x5845
jl 0x466d12
push 2
pop edi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x466e4f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x466e32
mov dword [ebp - 0x28], 0x6927
cmp dword [ebp - 0x28], 0x69c9
jle 0x466de1
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edi, eax
mov dword [ebp - 0x1c], 0x1868
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, eax
mov ebx, 0x7990
mov eax, edi
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xaccad8
call fcn.00420294
dec esi
dec ebx
jne 0x466da2
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x5702
jl 0x466d9b
dec edi
dec dword [ebp - 0x1c]
jne 0x466d96
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x3a36
jl 0x466d8d
xor esi, esi
inc esi
push 2
pop edi
call dword [0xad032c]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x28], 0x68be
jge 0x466e06
mov edx, 0xab9eb8
mov ecx, 0xaccad8
call fcn.0042204a
or dword [ebp - 4], 0xffffffff
jmp 0x466e32
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x466e47
push ebx
push 0x194
call dword [0xad04d0]
dec dword [ebp - 0x14]
jmp 0x466d62
mov dword [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x7636
jge 0x466e68
push dword [ebp - 0x38]
call fcn.004a5f37
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x466e94
mov dword [ebp - 0x14], ebx
jmp 0x466f22
push 3
lea ecx, [ebp - 0x68]
call fcn.004203d8
mov dword [ebp - 0x20], ebx
jmp 0x466eb7
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x466eab
mov edx, dword [ebp - 0x68]
mov dword [edx + 8], esi
mov dword [ebp - 0x1c], 0xfffffff6
mov dword [ebp - 0x1c], ebx
jmp 0x466efe
mov dword [ebp - 0x20], 4
mov ecx, dword [edx + 8]
mov eax, dword [ebp - 0x54]
cmp dword [eax + ecx*4], ebx
jne 0x466f03
mov dword [ebp - 0x20], ebx
jmp 0x466ef6
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0x3d783989
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x466ee6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x466ecf
dec dword [edx + 8]
jns 0x466ec3
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], esi
mov dword [edx + 8], esi
lea ecx, [ebp - 0x68]
call fcn.004204aa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x466e9c
lea ecx, [ebp - 0x54]
call fcn.004204aa
push 0x1ce7
push 0x918
push ebx
call dword [0xad046c]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x2c], 0xddd1
mov dword [ebp - 0x38], 0xb17b722b
mov dword [ebp - 0x28], 0x97b0
mov dword [ebp - 0x1c], ebx
jmp 0x466f73
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x34], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x466f65
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x467017
push esi
lea ecx, [ebp - 0x80]
call fcn.004203d8
mov dword [ebp - 0x1c], ebx
jmp 0x466fa2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
mov dword [eax + ecx*4], 0xd68f985
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x466f92
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x34]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x467006
push 0x1c49
push 0x36e
push ebx
call dword [0xad0320]
lea ecx, [ebp - 0x80]
call fcn.004204aa
dec dword [ebp - 0x14]
jns 0x466f84
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret