Function at 0x485131
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4b19e5
call fcn.004b0950
sub esp, 0xc0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x14], 0x1508
xor esi, esi
cmp dword [ebp - 0x14], 0x15d7
jle 0x4851d6
push esi
push 0xb77
push 0x12fe
push 0x22f7
push 0xe86
call dword [0xabd0e8]
mov edi, esi
mov dword [ebp - 0x18], esi
mov ebx, esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], 0x121
mov eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0xb4]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4851a2
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push esi
push 1
lea ecx, [ebp - 0xb4]
call fcn.0040b2b0
add edi, ebx
dec dword [ebp - 0x1c]
jne 0x485188
inc ebx
cmp ebx, 0x51ee
mov edi, dword [ebp - 0x18]
jl 0x48517e
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x7a17
jl 0x48517c
mov dword [ebp - 4], esi
cmp dword [ebp - 0x14], 0x11fe
jge 0x4851ed
push 0xaa6c2c
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x485213
mov eax, 0x36f6dd8d
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x28], 0xb1ab4456
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x1c], 0x7a05
cmp dword [ebp - 0x1c], 0x7b63
jle 0x4852a5
mov edi, esi
mov ebx, esi
mov eax, edi
mov ecx, ebx
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xcc]
call fcn.00401a01
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x48527e
mov eax, dword [eax]
push eax
call fcn.0049b1a7
pop ecx
push esi
push 1
lea ecx, [ebp - 0xcc]
call fcn.0040b2b0
inc ebx
cmp ebx, 0x6e72
jl 0x485260
inc edi
cmp edi, 0x16d0
jl 0x48525e
mov dword [ebp - 0x6c], 0xfffffffe
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1c], 0x76fc
jge 0x4852c7
push 0xaa6c64
call fcn.0049b1a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4852ed
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x38], 0x623c
cmp dword [ebp - 0x38], 0x6535
jle 0x485375
mov ebx, esi
mov edi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 0x495a
mov edi, esi
mov esi, dword [ebp - 0x1c]
mov eax, esi
mov ecx, edi
shl eax, cl
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
inc edi
cmp edi, 0x6b2d
jl 0x48531d
dec esi
mov dword [ebp - 0x1c], esi
dec dword [ebp - 0x18]
push 0
pop esi
jne 0x485318
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x2539
jl 0x48530e
inc ebx
cmp ebx, 0x313
jl 0x485309
push 0x15d4
push esi
push 0x24f6
push 0x884
call dword [0xabd518]
mov dword [ebp - 0x28], 1
mov dword [ebp - 4], 4
cmp dword [ebp - 0x38], 0x5f9f
jge 0x48539b
mov edx, 0xaa6c90
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x4853c1
mov dword [ebp - 0x28], 0xffffffff
push 3
lea ecx, [ebp - 0x9c]
call fcn.0040ac30
mov dword [ebp - 0x3c], 0xfd52a42b
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x2c], 0xc458a922
mov dword [ebp - 0x2c], 0x8069d1fe
push 9
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0x6996
cmp dword [ebp - 0x24], 0x6b93
jle 0x48546f
mov ebx, esi
mov dword [ebp - 0x18], esi
mov edi, esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x14], esi
mov eax, ebx
mov ecx, edi
sar eax, cl
mov dword [ebp - 0x3c], eax
mov ebx, esi
mov edi, esi
mov esi, dword [ebp - 0x3c]
mov eax, ebx
mov ecx, edi
sar eax, cl
or eax, esi
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
inc edi
cmp edi, 0x5d9d
jl 0x485427
inc ebx
cmp ebx, 0x3d4a
push 0
pop esi
jl 0x485422
mov edi, dword [ebp - 0x38]
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x56c7
mov ebx, dword [ebp - 0x18]
jl 0x485414
inc ebx
mov dword [ebp - 0x18], ebx
cmp ebx, 0x74db
jl 0x48540f
mov dword [ebp - 0x14], esi
jmp 0x485482
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68], 0xfffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x485474
mov dword [ebp - 4], 6
cmp dword [ebp - 0x24], 0x67ed
jge 0x4854a7
mov edx, 0xaa6ce0
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x4854cd
mov dword [ebp - 0x14], esi
jmp 0x4854e5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 0x70ed99ea
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4854d2
mov dword [ebp - 0x14], esi
jmp 0x4854fe
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], 0xfffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x4854f0
mov eax, dword [ebp - 0x64]
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x3c], 0xfffffff6
cmp dword [ebp - 0x2c], esi
jne 0x48553a
cmp dword [ebp - 0x30], esi
jne 0x48553a
mov eax, esi
jmp 0x48553d
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x84], ecx
cmp eax, 7
sbb eax, eax
inc eax
sub ecx, eax
mov eax, dword [ebp - 0x64]
add ecx, eax
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setg dl
mov dword [ebp - 0x20], edx
lea ecx, [ebp - 0x9c]
call fcn.0040ad02
mov edi, dword [ebp - 0x54]
cmp dword [edi], 0
je 0x4856b4
push dword [edi]
push esi
push dword [edi + 4]
call fcn.004987ed
call fcn.00485045
push dword [edi + 4]
call fcn.0049b27d
add esp, 0x10
mov dword [edi + 4], esi
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x20], 0xe1cf2bba
mov dword [ebp - 0x14], esi
jmp 0x4855cb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0x841b3c69
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4855bd
mov dword [ebp - 0x44], 3
cmp dword [ebp - 0x44], esi
jl 0x4856af
push 2
lea ecx, [ebp - 0x60]
call fcn.0040ac30
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2c], 0x6f9f1111
mov dword [ebp - 0x34], esi
jmp 0x485611
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0x34c865b4
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x485601
mov dword [ebp - 0x20], 0x2b3e
cmp dword [ebp - 0x20], 0x2d74
jle 0x485659
push esi
push 0x2639
call dword [0xabd528]
mov edi, esi
mov ebx, esi
mov esi, 0x25f0
mov eax, ebx
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
add ebx, edi
dec esi
jne 0x48563c
inc edi
cmp edi, 0x201a
jl 0x485635
mov dword [ebp - 4], 8
cmp dword [ebp - 0x20], 0x27b7
jge 0x485678
mov edx, 0xaa6d54
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x48569e
mov eax, dword [ebp - 0x44]
cmp dword [ebp + eax*4 - 0x80], esi
je 0x4856c5
lea ecx, [ebp - 0x60]
call fcn.0040ad02
mov eax, dword [ebp - 0x54]
mov dword [eax], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x80]
cmp dword [ebp - 0x44], eax
jl 0x48572b
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x18], esi
jmp 0x485720
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], esi
jl 0x48571d
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x14], esi
jmp 0x485706
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x4856f8
mov dword [ecx + 4], 7
cmp dword [ebp - 0x70], esi
jne 0x48571d
dec dword [ebp - 0x1c]
jns 0x4856f3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x4856dd
jmp 0x485876
mov dword [ebp - 0x30], 0x7da2
cmp dword [ebp - 0x30], 0x7f8f
jle 0x48578b
mov ebx, esi
mov dword [ebp - 0x20], esi
mov edi, esi
mov eax, ebx
cdq
idiv edi
mov ebx, edx
mov esi, 0x6a88
mov eax, ebx
cdq
push edx
push eax
mov ecx, 0xaba118
call fcn.0040a8db
dec ebx
dec esi
jne 0x48574e
inc edi
cmp edi, 0x39e9
mov ebx, dword [ebp - 0x20]
jl 0x485742
inc ebx
mov dword [ebp - 0x20], ebx
cmp ebx, 0xcbe
jl 0x485740
push esi
push 0x5e9
push esi
push 0xa83
call dword [0xabd124]
mov dword [ebp - 0x18], 1
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x30], 0x7c11
jge 0x4857b1
mov edx, 0xaa6d88
mov ecx, 0xaba118
call fcn.0040d553
or dword [ebp - 4], 0xffffffff
jmp 0x4857d7
mov dword [ebp - 0x2c], 0x5746ac1
cmp dword [ebp - 0x24], esi
jne 0x48584f
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x44]
imul ecx, dword [eax + 4]
xor edx, edx
cmp ecx, 0x38b4b72b
setg dl
mov eax, dword [ebp - 0x60]
cmp edx, dword [eax]
jne 0x48580f
cmp dword [ebp - 0x44], esi
je 0x48580f
xor edx, edx
inc edx
jmp 0x485811
mov edx, esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x78]
add ecx, eax
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setg dl
inc edx
je 0x485830
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x60]
mov dword [eax], 1
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x24], esi
jge 0x48584f
mov eax, esi
jmp 0x485852
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setl dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], 0x7c08a59c
lea ecx, [ebp - 0x60]
call fcn.0040ad02
dec dword [ebp - 0x44]
jmp 0x4855d8