Function at 0x48e0d5
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48e20c
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 [0x577fe4]
mov dword [ebp - 0x30], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e24b
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048b6c5
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48e34b
cmp eax, 0x10
je 0x48e39c
cmp eax, 0x1b
je 0x48e481
cmp eax, 0x12
je 0x48e586
cmp eax, 0x11
je 0x48e5e2
cmp eax, 0xf
je 0x48e647
cmp eax, 0x19
je 0x48e7e1
cmp eax, 0x1c
je 0x48e852
cmp eax, 0x1a
je 0x48e8b6
cmp eax, 0x17
je 0x48e927
cmp eax, 0x18
je 0x48e956
cmp eax, 0x1d
je 0x48e956
cmp eax, 0x15
je 0x48e956
cmp eax, 0x16
je 0x48e956
cmp eax, 0x14
je 0x48ea04
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e30e
push dword [ebp + 8]
call fcn.0048b29d
jmp 0x48e316
push dword [ebp + 8]
call fcn.0048b207
mov dword [ebp - 0x24], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e33b
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b6c5
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48eaf0
push dword [0x5719c0]
call fcn.0048a21f
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048ec7e
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e373
call fcn.0048a5aa
jmp 0x48e378
call fcn.0048a5e1
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e397
mov eax, dword [0x577fdc]
mov dword [ebp - 0x24], eax
jmp 0x48eaf0
push dword [ebp + 8]
call fcn.0048a21f
push dword [ebp + 8]
call fcn.0044fdd9
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e3ce
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b6c5
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 0x48e41c
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x58260c]
call fcn.004562ba
push eax
push 3
push dword [0x5825fc]
call fcn.004562ba
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fac7
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.0048e0d5
mov dword [ebp + 8], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e461
call fcn.0048b317
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.0048b6c5
call fcn.0044ffa5
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e477
call fcn.0048a5aa
jmp 0x48e47c
call fcn.0048a5e1
jmp 0x48eaf0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e4a9
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b6c5
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 0x48e4eb
push dword [ebp - 0x24]
push 3
push dword [0x58260c]
call fcn.004562ba
push eax
push 3
push dword [0x5825fc]
call fcn.004562ba
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fac7
push dword [0x571aa8]
call fcn.0048a21f
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.0048e0d5
mov dword [ebp + 8], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e536
call fcn.0048b317
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048b6c5
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.0048c7b3
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e568
call fcn.0048a5aa
jmp 0x48e56d
call fcn.0048a5e1
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e581
mov eax, dword [0x577fdc]
mov dword [ebp - 0x24], eax
jmp 0x48eaf0
push dword [ebp + 8]
call fcn.0044f602
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e5a5
push dword [ebp - 0x24]
call fcn.0048b29d
jmp 0x48e5ad
push dword [ebp - 0x24]
call fcn.0048b207
mov dword [ebp - 0x24], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e5d2
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b6c5
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48eaf0
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e5f9
push dword [ebp + 8]
call fcn.0044fdd9
mov dword [ebp - 0x34], eax
jmp 0x48e604
push dword [ebp + 8]
call fcn.0048b207
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e637
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.0048b6c5
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48eaf0
push dword [ebp + 8]
call fcn.0044f602
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 0x48e706
cmp eax, 0x11
je 0x48e73e
cmp eax, 0x18
je 0x48e770
cmp eax, 0x1d
je 0x48e770
cmp eax, 0x15
je 0x48e770
cmp eax, 0x16
je 0x48e770
cmp eax, 0x17
je 0x48e7a9
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e6e2
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.0048b6c5
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e6f6
push dword [ebp - 0x24]
call fcn.0048b29d
jmp 0x48e6fe
push dword [ebp - 0x24]
call fcn.0048b1ee
mov dword [ebp - 0x24], eax
jmp 0x48e7dc
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x58260c]
call fcn.004562ba
push eax
push 3
push dword [0x5825fc]
call fcn.004562ba
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fac7
jmp 0x48e7dc
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e766
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.0048b6c5
push dword [ebp - 0x24]
call fcn.0044fdd9
jmp 0x48e7dc
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.0048ddc9
mov dword [ebp + 8], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e7a7
mov eax, dword [0x577fdc]
mov dword [ebp - 0x24], eax
jmp 0x48e7dc
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x58260c]
call fcn.004562ba
push eax
push 3
push dword [0x5825fc]
call fcn.004562ba
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fac7
jmp 0x48eaf0
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.0048c7b3
mov dword [ebp + 8], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e84d
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e82f
call fcn.0048b317
jmp 0x48e834
mov eax, dword [0x577fdc]
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.0048b6c5
jmp 0x48eaf0
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.0048c7b3
mov dword [ebp + 8], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e8b1
push dword [0x577fdc]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b6c5
mov eax, dword [0x577fdc]
mov dword [ebp - 0x24], eax
jmp 0x48eaf0
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e8ca
push dword [ebp + 8]
call fcn.0048b29d
jmp 0x48e8d2
push dword [ebp + 8]
call fcn.0048b207
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 [0x578004]
cmp eax, 0
je 0x48e917
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.0048b6c5
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48eaf0
push 0xb
push dword [0x582624]
call fcn.004562ba
push eax
push 9
push dword [0x5825fc]
call fcn.004562ba
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fac7
jmp 0x48eaf0
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48e9ae
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e974
push dword [ebp + 8]
call fcn.0048b29d
jmp 0x48e97c
push dword [ebp + 8]
call fcn.0048b207
mov dword [ebp - 0x24], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e9a1
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b6c5
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e9ff
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 0x48e9c9
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.0048ddc9
mov dword [ebp + 8], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48e9ff
mov eax, dword [0x577fdc]
mov dword [ebp - 0x24], eax
jmp 0x48eaf0
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 0x48ea2c
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48ea2c
jmp 0x48ea30
xor eax, eax
jmp 0x48ea33
xor eax, eax
inc eax
cmp eax, 0
je 0x48eaa4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
push eax
call fcn.0044ec5c
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [0x5719a8]
cmp eax, edx
je 0x48ea70
mov eax, dword [ebp - 0x40]
mov edx, dword [0x5719ac]
cmp eax, edx
je 0x48ea70
xor eax, eax
jmp 0x48ea73
xor eax, eax
inc eax
cmp eax, 0
je 0x48eaa4
push 0xe
push dword [0x582624]
call fcn.004562ba
push eax
push 9
push dword [0x5825fc]
call fcn.004562ba
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fac7
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48eab8
push dword [ebp + 8]
call fcn.0048b29d
jmp 0x48eac0
push dword [ebp + 8]
call fcn.0048b207
mov dword [ebp - 0x24], eax
mov eax, dword [0x578004]
cmp eax, 0
je 0x48eae5
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b6c5
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 0x48eb0d
call fcn.0048e0e4
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48eafc
mov eax, dword [0x578004]
cmp eax, 0
je 0x48eb25
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48eb25
jmp 0x48eb29
xor eax, eax
jmp 0x48eb2c
xor eax, eax
inc eax
cmp eax, 0
je 0x48eb49
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048b6c5
mov eax, dword [ebp + 8]
leave
ret 0x18