Function at 0x48dd88
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48debf
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 [0x577efc]
mov dword [ebp - 0x30], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48defe
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048b378
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48dffe
cmp eax, 0x10
je 0x48e04f
cmp eax, 0x1b
je 0x48e134
cmp eax, 0x12
je 0x48e239
cmp eax, 0x11
je 0x48e295
cmp eax, 0xf
je 0x48e2fa
cmp eax, 0x19
je 0x48e494
cmp eax, 0x1c
je 0x48e505
cmp eax, 0x1a
je 0x48e569
cmp eax, 0x17
je 0x48e5da
cmp eax, 0x18
je 0x48e609
cmp eax, 0x1d
je 0x48e609
cmp eax, 0x15
je 0x48e609
cmp eax, 0x16
je 0x48e609
cmp eax, 0x14
je 0x48e6b7
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dfc1
push dword [ebp + 8]
call fcn.0048af50
jmp 0x48dfc9
push dword [ebp + 8]
call fcn.0048aeba
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48dfee
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b378
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7a3
push dword [0x5718dc]
call fcn.00489ed2
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e931
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e026
call fcn.0048a25d
jmp 0x48e02b
call fcn.0048a294
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e04a
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e7a3
push dword [ebp + 8]
call fcn.00489ed2
push dword [ebp + 8]
call fcn.0044fd59
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e081
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b378
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 0x48e0cf
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x5824f8]
call fcn.00456207
push eax
push 3
push dword [0x5824e8]
call fcn.00456207
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.0048dd88
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e114
call fcn.0048afca
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.0048b378
call fcn.0044ff25
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e12a
call fcn.0048a25d
jmp 0x48e12f
call fcn.0048a294
jmp 0x48e7a3
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e15c
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b378
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 0x48e19e
push dword [ebp - 0x24]
push 3
push dword [0x5824f8]
call fcn.00456207
push eax
push 3
push dword [0x5824e8]
call fcn.00456207
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
push dword [0x5719c4]
call fcn.00489ed2
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.0048dd88
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e1e9
call fcn.0048afca
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048b378
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.0048c466
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e21b
call fcn.0048a25d
jmp 0x48e220
call fcn.0048a294
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e234
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e7a3
push dword [ebp + 8]
call fcn.0044f582
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e258
push dword [ebp - 0x24]
call fcn.0048af50
jmp 0x48e260
push dword [ebp - 0x24]
call fcn.0048aeba
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e285
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b378
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7a3
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e2ac
push dword [ebp + 8]
call fcn.0044fd59
mov dword [ebp - 0x34], eax
jmp 0x48e2b7
push dword [ebp + 8]
call fcn.0048aeba
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e2ea
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.0048b378
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7a3
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 0x48e3b9
cmp eax, 0x11
je 0x48e3f1
cmp eax, 0x18
je 0x48e423
cmp eax, 0x1d
je 0x48e423
cmp eax, 0x15
je 0x48e423
cmp eax, 0x16
je 0x48e423
cmp eax, 0x17
je 0x48e45c
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e395
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.0048b378
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e3a9
push dword [ebp - 0x24]
call fcn.0048af50
jmp 0x48e3b1
push dword [ebp - 0x24]
call fcn.0048aea1
mov dword [ebp - 0x24], eax
jmp 0x48e48f
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x5824f8]
call fcn.00456207
push eax
push 3
push dword [0x5824e8]
call fcn.00456207
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e48f
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e419
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.0048b378
push dword [ebp - 0x24]
call fcn.0044fd59
jmp 0x48e48f
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.0048da7c
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e45a
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e48f
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x5824f8]
call fcn.00456207
push eax
push 3
push dword [0x5824e8]
call fcn.00456207
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e7a3
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.0048c466
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e500
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e4e2
call fcn.0048afca
jmp 0x48e4e7
mov eax, dword [0x577ef4]
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.0048b378
jmp 0x48e7a3
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.0048c466
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e564
push dword [0x577ef4]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b378
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e7a3
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e57d
push dword [ebp + 8]
call fcn.0048af50
jmp 0x48e585
push dword [ebp + 8]
call fcn.0048aeba
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 [0x577f1c]
cmp eax, 0
je 0x48e5ca
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.0048b378
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e7a3
push 0xb
push dword [0x582510]
call fcn.00456207
push eax
push 9
push dword [0x5824e8]
call fcn.00456207
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fa34
jmp 0x48e7a3
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48e661
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e627
push dword [ebp + 8]
call fcn.0048af50
jmp 0x48e62f
push dword [ebp + 8]
call fcn.0048aeba
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e654
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b378
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e6b2
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 0x48e67c
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.0048da7c
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e6b2
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e7a3
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 0x48e6df
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48e6df
jmp 0x48e6e3
xor eax, eax
jmp 0x48e6e6
xor eax, eax
inc eax
cmp eax, 0
je 0x48e757
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 [0x5718c4]
cmp eax, edx
je 0x48e723
mov eax, dword [ebp - 0x40]
mov edx, dword [0x5718c8]
cmp eax, edx
je 0x48e723
xor eax, eax
jmp 0x48e726
xor eax, eax
inc eax
cmp eax, 0
je 0x48e757
push 0xe
push dword [0x582510]
call fcn.00456207
push eax
push 9
push dword [0x5824e8]
call fcn.00456207
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fa34
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e76b
push dword [ebp + 8]
call fcn.0048af50
jmp 0x48e773
push dword [ebp + 8]
call fcn.0048aeba
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
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.0048b378
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 0x48e7c0
call fcn.0048dd97
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48e7af
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e7d8
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48e7d8
jmp 0x48e7dc
xor eax, eax
jmp 0x48e7df
xor eax, eax
inc eax
cmp eax, 0
je 0x48e7fc
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048b378
mov eax, dword [ebp + 8]
leave
ret 0x18