Function at 0x48db4f
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48dc86
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 [0x576d5c]
mov dword [ebp - 0x30], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48dcc5
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048b13f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48ddc5
cmp eax, 0x10
je 0x48de16
cmp eax, 0x1b
je 0x48defb
cmp eax, 0x12
je 0x48e000
cmp eax, 0x11
je 0x48e05c
cmp eax, 0xf
je 0x48e0c1
cmp eax, 0x19
je 0x48e25b
cmp eax, 0x1c
je 0x48e2cc
cmp eax, 0x1a
je 0x48e330
cmp eax, 0x17
je 0x48e3a1
cmp eax, 0x18
je 0x48e3d0
cmp eax, 0x1d
je 0x48e3d0
cmp eax, 0x15
je 0x48e3d0
cmp eax, 0x16
je 0x48e3d0
cmp eax, 0x14
je 0x48e47e
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dd88
push dword [ebp + 8]
call fcn.0048ad17
jmp 0x48dd90
push dword [ebp + 8]
call fcn.0048ac81
mov dword [ebp - 0x24], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48ddb5
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b13f
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e56a
push dword [0x570794]
call fcn.00489c99
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e6f8
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dded
call fcn.0048a024
jmp 0x48ddf2
call fcn.0048a05b
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48de11
mov eax, dword [0x576d54]
mov dword [ebp - 0x24], eax
jmp 0x48e56a
push dword [ebp + 8]
call fcn.00489c99
push dword [ebp + 8]
call fcn.0044fa4d
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48de48
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b13f
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 0x48de96
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x57fff0]
call fcn.00455ee3
push eax
push 3
push dword [0x57ffe0]
call fcn.00455ee3
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f986
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.0048db4f
mov dword [ebp + 8], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48dedb
call fcn.0048ad91
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.0048b13f
call fcn.0044fc19
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48def1
call fcn.0048a024
jmp 0x48def6
call fcn.0048a05b
jmp 0x48e56a
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48df23
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b13f
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 0x48df65
push dword [ebp - 0x24]
push 3
push dword [0x57fff0]
call fcn.00455ee3
push eax
push 3
push dword [0x57ffe0]
call fcn.00455ee3
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f986
push dword [0x57087c]
call fcn.00489c99
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.0048db4f
mov dword [ebp + 8], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48dfb0
call fcn.0048ad91
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048b13f
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.0048c22d
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dfe2
call fcn.0048a024
jmp 0x48dfe7
call fcn.0048a05b
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48dffb
mov eax, dword [0x576d54]
mov dword [ebp - 0x24], eax
jmp 0x48e56a
push dword [ebp + 8]
call fcn.0044f276
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e01f
push dword [ebp - 0x24]
call fcn.0048ad17
jmp 0x48e027
push dword [ebp - 0x24]
call fcn.0048ac81
mov dword [ebp - 0x24], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e04c
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b13f
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e56a
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e073
push dword [ebp + 8]
call fcn.0044fa4d
mov dword [ebp - 0x34], eax
jmp 0x48e07e
push dword [ebp + 8]
call fcn.0048ac81
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e0b1
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.0048b13f
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e56a
push dword [ebp + 8]
call fcn.0044f276
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 0x48e180
cmp eax, 0x11
je 0x48e1b8
cmp eax, 0x18
je 0x48e1ea
cmp eax, 0x1d
je 0x48e1ea
cmp eax, 0x15
je 0x48e1ea
cmp eax, 0x16
je 0x48e1ea
cmp eax, 0x17
je 0x48e223
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e15c
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.0048b13f
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e170
push dword [ebp - 0x24]
call fcn.0048ad17
jmp 0x48e178
push dword [ebp - 0x24]
call fcn.0048ac68
mov dword [ebp - 0x24], eax
jmp 0x48e256
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x57fff0]
call fcn.00455ee3
push eax
push 3
push dword [0x57ffe0]
call fcn.00455ee3
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f986
jmp 0x48e256
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e1e0
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.0048b13f
push dword [ebp - 0x24]
call fcn.0044fa4d
jmp 0x48e256
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.0048d843
mov dword [ebp + 8], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e221
mov eax, dword [0x576d54]
mov dword [ebp - 0x24], eax
jmp 0x48e256
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x57fff0]
call fcn.00455ee3
push eax
push 3
push dword [0x57ffe0]
call fcn.00455ee3
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f986
jmp 0x48e56a
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.0048c22d
mov dword [ebp + 8], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e2c7
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e2a9
call fcn.0048ad91
jmp 0x48e2ae
mov eax, dword [0x576d54]
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.0048b13f
jmp 0x48e56a
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.0048c22d
mov dword [ebp + 8], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e32b
push dword [0x576d54]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b13f
mov eax, dword [0x576d54]
mov dword [ebp - 0x24], eax
jmp 0x48e56a
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e344
push dword [ebp + 8]
call fcn.0048ad17
jmp 0x48e34c
push dword [ebp + 8]
call fcn.0048ac81
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 [0x576d7c]
cmp eax, 0
je 0x48e391
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.0048b13f
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e56a
push 0xb
push dword [0x580008]
call fcn.00455ee3
push eax
push 9
push dword [0x57ffe0]
call fcn.00455ee3
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f986
jmp 0x48e56a
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48e428
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e3ee
push dword [ebp + 8]
call fcn.0048ad17
jmp 0x48e3f6
push dword [ebp + 8]
call fcn.0048ac81
mov dword [ebp - 0x24], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e41b
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b13f
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e479
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 0x48e443
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.0048d843
mov dword [ebp + 8], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e479
mov eax, dword [0x576d54]
mov dword [ebp - 0x24], eax
jmp 0x48e56a
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 0x48e4a6
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48e4a6
jmp 0x48e4aa
xor eax, eax
jmp 0x48e4ad
xor eax, eax
inc eax
cmp eax, 0
je 0x48e51e
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
push eax
call fcn.0044e8d0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [0x57077c]
cmp eax, edx
je 0x48e4ea
mov eax, dword [ebp - 0x40]
mov edx, dword [0x570780]
cmp eax, edx
je 0x48e4ea
xor eax, eax
jmp 0x48e4ed
xor eax, eax
inc eax
cmp eax, 0
je 0x48e51e
push 0xe
push dword [0x580008]
call fcn.00455ee3
push eax
push 9
push dword [0x57ffe0]
call fcn.00455ee3
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f986
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e532
push dword [ebp + 8]
call fcn.0048ad17
jmp 0x48e53a
push dword [ebp + 8]
call fcn.0048ac81
mov dword [ebp - 0x24], eax
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e55f
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048b13f
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 0x48e587
call fcn.0048db5e
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48e576
mov eax, dword [0x576d7c]
cmp eax, 0
je 0x48e59f
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48e59f
jmp 0x48e5a3
xor eax, eax
jmp 0x48e5a6
xor eax, eax
inc eax
cmp eax, 0
je 0x48e5c3
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048b13f
mov eax, dword [ebp + 8]
leave
ret 0x18