Function at 0x48dda0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48ded7
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 [0x577ef4]
mov dword [ebp - 0x30], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48df16
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048b390
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48e016
cmp eax, 0x10
je 0x48e067
cmp eax, 0x1b
je 0x48e14c
cmp eax, 0x12
je 0x48e251
cmp eax, 0x11
je 0x48e2ad
cmp eax, 0xf
je 0x48e312
cmp eax, 0x19
je 0x48e4ac
cmp eax, 0x1c
je 0x48e51d
cmp eax, 0x1a
je 0x48e581
cmp eax, 0x17
je 0x48e5f2
cmp eax, 0x18
je 0x48e621
cmp eax, 0x1d
je 0x48e621
cmp eax, 0x15
je 0x48e621
cmp eax, 0x16
je 0x48e621
cmp eax, 0x14
je 0x48e6cf
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dfd9
push dword [ebp + 8]
call fcn.0048af68
jmp 0x48dfe1
push dword [ebp + 8]
call fcn.0048aed2
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e006
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b390
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7bb
push dword [0x5718d4]
call fcn.00489eea
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e949
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e03e
call fcn.0048a275
jmp 0x48e043
call fcn.0048a2ac
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e062
mov eax, dword [0x577eec]
mov dword [ebp - 0x24], eax
jmp 0x48e7bb
push dword [ebp + 8]
call fcn.00489eea
push dword [ebp + 8]
call fcn.0044fd59
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e099
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b390
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 0x48e0e7
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x5824f0]
call fcn.0045621f
push eax
push 3
push dword [0x5824e0]
call fcn.0045621f
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.0048dda0
mov dword [ebp + 8], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e12c
call fcn.0048afe2
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.0048b390
call fcn.0044ff25
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e142
call fcn.0048a275
jmp 0x48e147
call fcn.0048a2ac
jmp 0x48e7bb
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e174
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b390
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 0x48e1b6
push dword [ebp - 0x24]
push 3
push dword [0x5824f0]
call fcn.0045621f
push eax
push 3
push dword [0x5824e0]
call fcn.0045621f
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
push dword [0x5719bc]
call fcn.00489eea
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.0048dda0
mov dword [ebp + 8], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e201
call fcn.0048afe2
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048b390
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.0048c47e
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e233
call fcn.0048a275
jmp 0x48e238
call fcn.0048a2ac
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e24c
mov eax, dword [0x577eec]
mov dword [ebp - 0x24], eax
jmp 0x48e7bb
push dword [ebp + 8]
call fcn.0044f582
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e270
push dword [ebp - 0x24]
call fcn.0048af68
jmp 0x48e278
push dword [ebp - 0x24]
call fcn.0048aed2
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e29d
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b390
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7bb
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e2c4
push dword [ebp + 8]
call fcn.0044fd59
mov dword [ebp - 0x34], eax
jmp 0x48e2cf
push dword [ebp + 8]
call fcn.0048aed2
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e302
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.0048b390
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7bb
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 0x48e3d1
cmp eax, 0x11
je 0x48e409
cmp eax, 0x18
je 0x48e43b
cmp eax, 0x1d
je 0x48e43b
cmp eax, 0x15
je 0x48e43b
cmp eax, 0x16
je 0x48e43b
cmp eax, 0x17
je 0x48e474
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e3ad
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.0048b390
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e3c1
push dword [ebp - 0x24]
call fcn.0048af68
jmp 0x48e3c9
push dword [ebp - 0x24]
call fcn.0048aeb9
mov dword [ebp - 0x24], eax
jmp 0x48e4a7
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x5824f0]
call fcn.0045621f
push eax
push 3
push dword [0x5824e0]
call fcn.0045621f
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e4a7
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e431
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.0048b390
push dword [ebp - 0x24]
call fcn.0044fd59
jmp 0x48e4a7
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.0048da94
mov dword [ebp + 8], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e472
mov eax, dword [0x577eec]
mov dword [ebp - 0x24], eax
jmp 0x48e4a7
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x5824f0]
call fcn.0045621f
push eax
push 3
push dword [0x5824e0]
call fcn.0045621f
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e7bb
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.0048c47e
mov dword [ebp + 8], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e518
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e4fa
call fcn.0048afe2
jmp 0x48e4ff
mov eax, dword [0x577eec]
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.0048b390
jmp 0x48e7bb
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.0048c47e
mov dword [ebp + 8], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e57c
push dword [0x577eec]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b390
mov eax, dword [0x577eec]
mov dword [ebp - 0x24], eax
jmp 0x48e7bb
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e595
push dword [ebp + 8]
call fcn.0048af68
jmp 0x48e59d
push dword [ebp + 8]
call fcn.0048aed2
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 [0x577f14]
cmp eax, 0
je 0x48e5e2
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.0048b390
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7bb
push 0xb
push dword [0x582508]
call fcn.0045621f
push eax
push 9
push dword [0x5824e0]
call fcn.0045621f
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fa34
jmp 0x48e7bb
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48e679
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e63f
push dword [ebp + 8]
call fcn.0048af68
jmp 0x48e647
push dword [ebp + 8]
call fcn.0048aed2
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e66c
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b390
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e6ca
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 0x48e694
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.0048da94
mov dword [ebp + 8], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e6ca
mov eax, dword [0x577eec]
mov dword [ebp - 0x24], eax
jmp 0x48e7bb
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 0x48e6f7
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48e6f7
jmp 0x48e6fb
xor eax, eax
jmp 0x48e6fe
xor eax, eax
inc eax
cmp eax, 0
je 0x48e76f
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 [0x5718bc]
cmp eax, edx
je 0x48e73b
mov eax, dword [ebp - 0x40]
mov edx, dword [0x5718c0]
cmp eax, edx
je 0x48e73b
xor eax, eax
jmp 0x48e73e
xor eax, eax
inc eax
cmp eax, 0
je 0x48e76f
push 0xe
push dword [0x582508]
call fcn.0045621f
push eax
push 9
push dword [0x5824e0]
call fcn.0045621f
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fa34
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e783
push dword [ebp + 8]
call fcn.0048af68
jmp 0x48e78b
push dword [ebp + 8]
call fcn.0048aed2
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e7b0
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b390
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 0x48e7d8
call fcn.0048ddaf
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48e7c7
mov eax, dword [0x577f14]
cmp eax, 0
je 0x48e7f0
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48e7f0
jmp 0x48e7f4
xor eax, eax
jmp 0x48e7f7
xor eax, eax
inc eax
cmp eax, 0
je 0x48e814
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048b390
mov eax, dword [ebp + 8]
leave
ret 0x18