Function at 0x48dd67
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48de9e
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 [0x577ecc]
mov dword [ebp - 0x30], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48dedd
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048b357
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48dfdd
cmp eax, 0x10
je 0x48e02e
cmp eax, 0x1b
je 0x48e113
cmp eax, 0x12
je 0x48e218
cmp eax, 0x11
je 0x48e274
cmp eax, 0xf
je 0x48e2d9
cmp eax, 0x19
je 0x48e473
cmp eax, 0x1c
je 0x48e4e4
cmp eax, 0x1a
je 0x48e548
cmp eax, 0x17
je 0x48e5b9
cmp eax, 0x18
je 0x48e5e8
cmp eax, 0x1d
je 0x48e5e8
cmp eax, 0x15
je 0x48e5e8
cmp eax, 0x16
je 0x48e5e8
cmp eax, 0x14
je 0x48e696
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dfa0
push dword [ebp + 8]
call fcn.0048af2f
jmp 0x48dfa8
push dword [ebp + 8]
call fcn.0048ae99
mov dword [ebp - 0x24], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48dfcd
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b357
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e782
push dword [0x5718ac]
call fcn.00489eb1
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e910
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e005
call fcn.0048a23c
jmp 0x48e00a
call fcn.0048a273
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e029
mov eax, dword [0x577ec4]
mov dword [ebp - 0x24], eax
jmp 0x48e782
push dword [ebp + 8]
call fcn.00489eb1
push dword [ebp + 8]
call fcn.0044fd59
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e060
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b357
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 0x48e0ae
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x5824c8]
call fcn.004561ef
push eax
push 3
push dword [0x5824b8]
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.0048dd67
mov dword [ebp + 8], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e0f3
call fcn.0048afa9
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.0048b357
call fcn.0044ff25
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e109
call fcn.0048a23c
jmp 0x48e10e
call fcn.0048a273
jmp 0x48e782
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e13b
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b357
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 0x48e17d
push dword [ebp - 0x24]
push 3
push dword [0x5824c8]
call fcn.004561ef
push eax
push 3
push dword [0x5824b8]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
push dword [0x571994]
call fcn.00489eb1
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.0048dd67
mov dword [ebp + 8], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e1c8
call fcn.0048afa9
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048b357
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.0048c445
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e1fa
call fcn.0048a23c
jmp 0x48e1ff
call fcn.0048a273
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e213
mov eax, dword [0x577ec4]
mov dword [ebp - 0x24], eax
jmp 0x48e782
push dword [ebp + 8]
call fcn.0044f582
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e237
push dword [ebp - 0x24]
call fcn.0048af2f
jmp 0x48e23f
push dword [ebp - 0x24]
call fcn.0048ae99
mov dword [ebp - 0x24], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e264
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b357
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e782
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e28b
push dword [ebp + 8]
call fcn.0044fd59
mov dword [ebp - 0x34], eax
jmp 0x48e296
push dword [ebp + 8]
call fcn.0048ae99
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e2c9
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.0048b357
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e782
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 0x48e398
cmp eax, 0x11
je 0x48e3d0
cmp eax, 0x18
je 0x48e402
cmp eax, 0x1d
je 0x48e402
cmp eax, 0x15
je 0x48e402
cmp eax, 0x16
je 0x48e402
cmp eax, 0x17
je 0x48e43b
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e374
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.0048b357
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e388
push dword [ebp - 0x24]
call fcn.0048af2f
jmp 0x48e390
push dword [ebp - 0x24]
call fcn.0048ae80
mov dword [ebp - 0x24], eax
jmp 0x48e46e
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x5824c8]
call fcn.004561ef
push eax
push 3
push dword [0x5824b8]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e46e
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e3f8
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.0048b357
push dword [ebp - 0x24]
call fcn.0044fd59
jmp 0x48e46e
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.0048da5b
mov dword [ebp + 8], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e439
mov eax, dword [0x577ec4]
mov dword [ebp - 0x24], eax
jmp 0x48e46e
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x5824c8]
call fcn.004561ef
push eax
push 3
push dword [0x5824b8]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e782
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.0048c445
mov dword [ebp + 8], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e4df
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e4c1
call fcn.0048afa9
jmp 0x48e4c6
mov eax, dword [0x577ec4]
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.0048b357
jmp 0x48e782
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.0048c445
mov dword [ebp + 8], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e543
push dword [0x577ec4]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b357
mov eax, dword [0x577ec4]
mov dword [ebp - 0x24], eax
jmp 0x48e782
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e55c
push dword [ebp + 8]
call fcn.0048af2f
jmp 0x48e564
push dword [ebp + 8]
call fcn.0048ae99
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 [0x577eec]
cmp eax, 0
je 0x48e5a9
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.0048b357
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e782
push 0xb
push dword [0x5824e0]
call fcn.004561ef
push eax
push 9
push dword [0x5824b8]
call fcn.004561ef
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fa34
jmp 0x48e782
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48e640
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e606
push dword [ebp + 8]
call fcn.0048af2f
jmp 0x48e60e
push dword [ebp + 8]
call fcn.0048ae99
mov dword [ebp - 0x24], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e633
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b357
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e691
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 0x48e65b
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.0048da5b
mov dword [ebp + 8], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e691
mov eax, dword [0x577ec4]
mov dword [ebp - 0x24], eax
jmp 0x48e782
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 0x48e6be
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48e6be
jmp 0x48e6c2
xor eax, eax
jmp 0x48e6c5
xor eax, eax
inc eax
cmp eax, 0
je 0x48e736
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 [0x571894]
cmp eax, edx
je 0x48e702
mov eax, dword [ebp - 0x40]
mov edx, dword [0x571898]
cmp eax, edx
je 0x48e702
xor eax, eax
jmp 0x48e705
xor eax, eax
inc eax
cmp eax, 0
je 0x48e736
push 0xe
push dword [0x5824e0]
call fcn.004561ef
push eax
push 9
push dword [0x5824b8]
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 0x48e74a
push dword [ebp + 8]
call fcn.0048af2f
jmp 0x48e752
push dword [ebp + 8]
call fcn.0048ae99
mov dword [ebp - 0x24], eax
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e777
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b357
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 0x48e79f
call fcn.0048dd76
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48e78e
mov eax, dword [0x577eec]
cmp eax, 0
je 0x48e7b7
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48e7b7
jmp 0x48e7bb
xor eax, eax
jmp 0x48e7be
xor eax, eax
inc eax
cmp eax, 0
je 0x48e7db
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048b357
mov eax, dword [ebp + 8]
leave
ret 0x18