Function at 0x48dd70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48dea7
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 0x48dee6
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048b360
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48dfe6
cmp eax, 0x10
je 0x48e037
cmp eax, 0x1b
je 0x48e11c
cmp eax, 0x12
je 0x48e221
cmp eax, 0x11
je 0x48e27d
cmp eax, 0xf
je 0x48e2e2
cmp eax, 0x19
je 0x48e47c
cmp eax, 0x1c
je 0x48e4ed
cmp eax, 0x1a
je 0x48e551
cmp eax, 0x17
je 0x48e5c2
cmp eax, 0x18
je 0x48e5f1
cmp eax, 0x1d
je 0x48e5f1
cmp eax, 0x15
je 0x48e5f1
cmp eax, 0x16
je 0x48e5f1
cmp eax, 0x14
je 0x48e69f
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dfa9
push dword [ebp + 8]
call fcn.0048af38
jmp 0x48dfb1
push dword [ebp + 8]
call fcn.0048aea2
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48dfd6
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b360
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e78b
push dword [0x5718dc]
call fcn.00489eba
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e919
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e00e
call fcn.0048a245
jmp 0x48e013
call fcn.0048a27c
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e032
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e78b
push dword [ebp + 8]
call fcn.00489eba
push dword [ebp + 8]
call fcn.0044fd59
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e069
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b360
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 0x48e0b7
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x5824f8]
call fcn.004561ef
push eax
push 3
push dword [0x5824e8]
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.0048dd70
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e0fc
call fcn.0048afb2
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.0048b360
call fcn.0044ff25
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e112
call fcn.0048a245
jmp 0x48e117
call fcn.0048a27c
jmp 0x48e78b
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e144
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b360
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 0x48e186
push dword [ebp - 0x24]
push 3
push dword [0x5824f8]
call fcn.004561ef
push eax
push 3
push dword [0x5824e8]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
push dword [0x5719c4]
call fcn.00489eba
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.0048dd70
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e1d1
call fcn.0048afb2
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048b360
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.0048c44e
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e203
call fcn.0048a245
jmp 0x48e208
call fcn.0048a27c
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e21c
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e78b
push dword [ebp + 8]
call fcn.0044f582
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e240
push dword [ebp - 0x24]
call fcn.0048af38
jmp 0x48e248
push dword [ebp - 0x24]
call fcn.0048aea2
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e26d
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b360
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e78b
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e294
push dword [ebp + 8]
call fcn.0044fd59
mov dword [ebp - 0x34], eax
jmp 0x48e29f
push dword [ebp + 8]
call fcn.0048aea2
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 0x48e2d2
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.0048b360
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e78b
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 0x48e3a1
cmp eax, 0x11
je 0x48e3d9
cmp eax, 0x18
je 0x48e40b
cmp eax, 0x1d
je 0x48e40b
cmp eax, 0x15
je 0x48e40b
cmp eax, 0x16
je 0x48e40b
cmp eax, 0x17
je 0x48e444
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e37d
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.0048b360
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e391
push dword [ebp - 0x24]
call fcn.0048af38
jmp 0x48e399
push dword [ebp - 0x24]
call fcn.0048ae89
mov dword [ebp - 0x24], eax
jmp 0x48e477
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x5824f8]
call fcn.004561ef
push eax
push 3
push dword [0x5824e8]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e477
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e401
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.0048b360
push dword [ebp - 0x24]
call fcn.0044fd59
jmp 0x48e477
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.0048da64
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e442
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e477
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x5824f8]
call fcn.004561ef
push eax
push 3
push dword [0x5824e8]
call fcn.004561ef
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fa34
jmp 0x48e78b
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.0048c44e
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e4e8
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e4ca
call fcn.0048afb2
jmp 0x48e4cf
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.0048b360
jmp 0x48e78b
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.0048c44e
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e54c
push dword [0x577ef4]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b360
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e78b
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e565
push dword [ebp + 8]
call fcn.0048af38
jmp 0x48e56d
push dword [ebp + 8]
call fcn.0048aea2
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 0x48e5b2
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.0048b360
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e78b
push 0xb
push dword [0x582510]
call fcn.004561ef
push eax
push 9
push dword [0x5824e8]
call fcn.004561ef
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fa34
jmp 0x48e78b
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48e649
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e60f
push dword [ebp + 8]
call fcn.0048af38
jmp 0x48e617
push dword [ebp + 8]
call fcn.0048aea2
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e63c
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b360
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e69a
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 0x48e664
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.0048da64
mov dword [ebp + 8], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e69a
mov eax, dword [0x577ef4]
mov dword [ebp - 0x24], eax
jmp 0x48e78b
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 0x48e6c7
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48e6c7
jmp 0x48e6cb
xor eax, eax
jmp 0x48e6ce
xor eax, eax
inc eax
cmp eax, 0
je 0x48e73f
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 0x48e70b
mov eax, dword [ebp - 0x40]
mov edx, dword [0x5718c8]
cmp eax, edx
je 0x48e70b
xor eax, eax
jmp 0x48e70e
xor eax, eax
inc eax
cmp eax, 0
je 0x48e73f
push 0xe
push dword [0x582510]
call fcn.004561ef
push eax
push 9
push dword [0x5824e8]
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 0x48e753
push dword [ebp + 8]
call fcn.0048af38
jmp 0x48e75b
push dword [ebp + 8]
call fcn.0048aea2
mov dword [ebp - 0x24], eax
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e780
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b360
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 0x48e7a8
call fcn.0048dd7f
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48e797
mov eax, dword [0x577f1c]
cmp eax, 0
je 0x48e7c0
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48e7c0
jmp 0x48e7c4
xor eax, eax
jmp 0x48e7c7
xor eax, eax
inc eax
cmp eax, 0
je 0x48e7e4
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048b360
mov eax, dword [ebp + 8]
leave
ret 0x18