Function at 0x48decc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48e003
mov dword [ebp - 0x44], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
xor al, 1
mov dword [ebp - 0x48], eax
mov eax, dword [0x576de4]
mov dword [ebp - 0x30], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e042
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048b4bc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48e142
cmp eax, 0x10
je 0x48e193
cmp eax, 0x1b
je 0x48e278
cmp eax, 0x12
je 0x48e37d
cmp eax, 0x11
je 0x48e3d9
cmp eax, 0xf
je 0x48e43e
cmp eax, 0x19
je 0x48e5d8
cmp eax, 0x1c
je 0x48e649
cmp eax, 0x1a
je 0x48e6ad
cmp eax, 0x17
je 0x48e71e
cmp eax, 0x18
je 0x48e74d
cmp eax, 0x1d
je 0x48e74d
cmp eax, 0x15
je 0x48e74d
cmp eax, 0x16
je 0x48e74d
cmp eax, 0x14
je 0x48e7fb
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e105
push dword [ebp + 8]
call fcn.0048b094
jmp 0x48e10d
push dword [ebp + 8]
call fcn.0048affe
mov dword [ebp - 0x24], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e132
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e8e7
push dword [0x57081c]
call fcn.0048a016
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048ea75
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e16a
call fcn.0048a3a1
jmp 0x48e16f
call fcn.0048a3d8
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e18e
mov eax, dword [0x576ddc]
mov dword [ebp - 0x24], eax
jmp 0x48e8e7
push dword [ebp + 8]
call fcn.0048a016
push dword [ebp + 8]
call fcn.0044fd59
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e1c5
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jb 0x48e213
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x5813e0]
call fcn.004561ef
push eax
push 3
push dword [0x5813d0]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
xor eax, eax
push eax
xor eax, eax
inc eax
push eax
xor eax, eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0048decc
mov dword [ebp + 8], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e258
call fcn.0048b10e
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048b4bc
call fcn.0044ff25
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e26e
call fcn.0048a3a1
jmp 0x48e273
call fcn.0048a3d8
jmp 0x48e8e7
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e2a0
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jb 0x48e2e2
push dword [ebp - 0x24]
push 3
push dword [0x5813e0]
call fcn.004561ef
push eax
push 3
push dword [0x5813d0]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
push dword [0x570904]
call fcn.0048a016
xor eax, eax
push eax
xor eax, eax
inc eax
push eax
xor eax, eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0048decc
mov dword [ebp + 8], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e32d
call fcn.0048b10e
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048b4bc
xor eax, eax
push eax
push dword [ebp + 0x18]
xor eax, eax
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x24]
call fcn.0048c5aa
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e35f
call fcn.0048a3a1
jmp 0x48e364
call fcn.0048a3d8
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e378
mov eax, dword [0x576ddc]
mov dword [ebp - 0x24], eax
jmp 0x48e8e7
push dword [ebp + 8]
call fcn.0044f582
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e39c
push dword [ebp - 0x24]
call fcn.0048b094
jmp 0x48e3a4
push dword [ebp - 0x24]
call fcn.0048affe
mov dword [ebp - 0x24], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e3c9
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e8e7
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e3f0
push dword [ebp + 8]
call fcn.0044fd59
mov dword [ebp - 0x34], eax
jmp 0x48e3fb
push dword [ebp + 8]
call fcn.0048affe
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e42e
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e8e7
push dword [ebp + 8]
call fcn.0044f582
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 2
je 0x48e4fd
cmp eax, 0x11
je 0x48e535
cmp eax, 0x18
je 0x48e567
cmp eax, 0x1d
je 0x48e567
cmp eax, 0x15
je 0x48e567
cmp eax, 0x16
je 0x48e567
cmp eax, 0x17
je 0x48e5a0
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e4d9
push dword [ebp - 0x24]
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e4ed
push dword [ebp - 0x24]
call fcn.0048b094
jmp 0x48e4f5
push dword [ebp - 0x24]
call fcn.0048afe5
mov dword [ebp - 0x24], eax
jmp 0x48e5d3
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x5813e0]
call fcn.004561ef
push eax
push 3
push dword [0x5813d0]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e5d3
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e55d
push dword [ebp - 0x24]
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
push dword [ebp - 0x24]
call fcn.0044fd59
jmp 0x48e5d3
xor eax, eax
push eax
push 0
push dword [ebp - 0x24]
push 0
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x24]
call fcn.0048dbc0
mov dword [ebp + 8], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e59e
mov eax, dword [0x576ddc]
mov dword [ebp - 0x24], eax
jmp 0x48e5d3
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x5813e0]
call fcn.004561ef
push eax
push 3
push dword [0x5813d0]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e8e7
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
xor eax, eax
push eax
push dword [ebp + 0x18]
xor eax, eax
push eax
xor eax, eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x24]
call fcn.0048c5aa
mov dword [ebp + 8], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e644
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e626
call fcn.0048b10e
jmp 0x48e62b
mov eax, dword [0x576ddc]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
jmp 0x48e8e7
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
xor eax, eax
push eax
push dword [ebp + 0x18]
xor eax, eax
inc eax
push eax
xor eax, eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x24]
call fcn.0048c5aa
mov dword [ebp + 8], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e6a8
push dword [0x576ddc]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [0x576ddc]
mov dword [ebp - 0x24], eax
jmp 0x48e8e7
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e6c1
push dword [ebp + 8]
call fcn.0048b094
jmp 0x48e6c9
push dword [ebp + 8]
call fcn.0048affe
mov dword [ebp - 0x24], eax
mov eax, 0x19
xchg edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], edx
mov eax, 0
xchg edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e70e
push dword [ebp - 0x24]
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e8e7
push 0xb
push dword [0x5813f8]
call fcn.004561ef
push eax
push 9
push dword [0x5813d0]
call fcn.004561ef
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fa34
jmp 0x48e8e7
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48e7a5
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e76b
push dword [ebp + 8]
call fcn.0048b094
jmp 0x48e773
push dword [ebp + 8]
call fcn.0048affe
mov dword [ebp - 0x24], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e798
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7f6
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jb 0x48e7c0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
xor eax, eax
push eax
push 0
push 0
push 0
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x24]
push dword [ebp + 8]
call fcn.0048dbc0
mov dword [ebp + 8], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e7f6
mov eax, dword [0x576ddc]
mov dword [ebp - 0x24], eax
jmp 0x48e8e7
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jae 0x48e823
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48e823
jmp 0x48e827
xor eax, eax
jmp 0x48e82a
xor eax, eax
inc eax
cmp eax, 0
je 0x48e89b
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
push eax
call fcn.0044ebdc
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [0x570804]
cmp eax, edx
je 0x48e867
mov eax, dword [ebp - 0x40]
mov edx, dword [0x570808]
cmp eax, edx
je 0x48e867
xor eax, eax
jmp 0x48e86a
xor eax, eax
inc eax
cmp eax, 0
je 0x48e89b
push 0xe
push dword [0x5813f8]
call fcn.004561ef
push eax
push 9
push dword [0x5813d0]
call fcn.004561ef
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fa34
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e8af
push dword [ebp + 8]
call fcn.0048b094
jmp 0x48e8b7
push dword [ebp + 8]
call fcn.0048affe
mov dword [ebp - 0x24], eax
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e8dc
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b4bc
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x14]
xor al, 1
cmp eax, 0
je 0x48e904
call fcn.0048dedb
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48e8f3
mov eax, dword [0x576e04]
cmp eax, 0
je 0x48e91c
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48e91c
jmp 0x48e920
xor eax, eax
jmp 0x48e923
xor eax, eax
inc eax
cmp eax, 0
je 0x48e940
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048b4bc
mov eax, dword [ebp + 8]
leave
ret 0x18