Function at 0x48d647
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48d77e
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 [0x5726a4]
mov dword [ebp - 0x30], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48d7bd
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048ac43
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48d8bd
cmp eax, 0x10
je 0x48d90e
cmp eax, 0x1b
je 0x48d9f3
cmp eax, 0x12
je 0x48daf8
cmp eax, 0x11
je 0x48db54
cmp eax, 0xf
je 0x48dbb9
cmp eax, 0x19
je 0x48dd53
cmp eax, 0x1c
je 0x48ddc4
cmp eax, 0x1a
je 0x48de28
cmp eax, 0x17
je 0x48de99
cmp eax, 0x18
je 0x48dec8
cmp eax, 0x1d
je 0x48dec8
cmp eax, 0x15
je 0x48dec8
cmp eax, 0x16
je 0x48dec8
cmp eax, 0x14
je 0x48df76
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d880
push dword [ebp + 8]
call fcn.0048a81b
jmp 0x48d888
push dword [ebp + 8]
call fcn.0048a785
mov dword [ebp - 0x24], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48d8ad
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac43
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e062
push dword [0x56c0dc]
call fcn.004897e3
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e1f0
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d8e5
call fcn.00489b44
jmp 0x48d8ea
call fcn.00489b7b
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48d909
mov eax, dword [0x57269c]
mov dword [ebp - 0x24], eax
jmp 0x48e062
push dword [ebp + 8]
call fcn.004897e3
push dword [ebp + 8]
call fcn.0044f3b7
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48d940
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac43
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 0x48d98e
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x57b6fc]
call fcn.004557d4
push eax
push 3
push dword [0x57b6ec]
call fcn.004557d4
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f6b1
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.0048d647
mov dword [ebp + 8], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48d9d3
call fcn.0048a895
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.0048ac43
call fcn.0044f583
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d9e9
call fcn.00489b44
jmp 0x48d9ee
call fcn.00489b7b
jmp 0x48e062
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48da1b
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac43
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 0x48da5d
push dword [ebp - 0x24]
push 3
push dword [0x57b6fc]
call fcn.004557d4
push eax
push 3
push dword [0x57b6ec]
call fcn.004557d4
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f6b1
push dword [0x56c1c4]
call fcn.004897e3
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.0048d647
mov dword [ebp + 8], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48daa8
call fcn.0048a895
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048ac43
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.0048bd31
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dada
call fcn.00489b44
jmp 0x48dadf
call fcn.00489b7b
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48daf3
mov eax, dword [0x57269c]
mov dword [ebp - 0x24], eax
jmp 0x48e062
push dword [ebp + 8]
call fcn.0044ebe0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48db17
push dword [ebp - 0x24]
call fcn.0048a81b
jmp 0x48db1f
push dword [ebp - 0x24]
call fcn.0048a785
mov dword [ebp - 0x24], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48db44
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac43
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e062
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48db6b
push dword [ebp + 8]
call fcn.0044f3b7
mov dword [ebp - 0x34], eax
jmp 0x48db76
push dword [ebp + 8]
call fcn.0048a785
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48dba9
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.0048ac43
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e062
push dword [ebp + 8]
call fcn.0044ebe0
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 0x48dc78
cmp eax, 0x11
je 0x48dcb0
cmp eax, 0x18
je 0x48dce2
cmp eax, 0x1d
je 0x48dce2
cmp eax, 0x15
je 0x48dce2
cmp eax, 0x16
je 0x48dce2
cmp eax, 0x17
je 0x48dd1b
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48dc54
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.0048ac43
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dc68
push dword [ebp - 0x24]
call fcn.0048a81b
jmp 0x48dc70
push dword [ebp - 0x24]
call fcn.0048a76c
mov dword [ebp - 0x24], eax
jmp 0x48dd4e
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x57b6fc]
call fcn.004557d4
push eax
push 3
push dword [0x57b6ec]
call fcn.004557d4
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f6b1
jmp 0x48dd4e
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48dcd8
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.0048ac43
push dword [ebp - 0x24]
call fcn.0044f3b7
jmp 0x48dd4e
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.0048d33b
mov dword [ebp + 8], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48dd19
mov eax, dword [0x57269c]
mov dword [ebp - 0x24], eax
jmp 0x48dd4e
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x57b6fc]
call fcn.004557d4
push eax
push 3
push dword [0x57b6ec]
call fcn.004557d4
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f6b1
jmp 0x48e062
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.0048bd31
mov dword [ebp + 8], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48ddbf
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dda1
call fcn.0048a895
jmp 0x48dda6
mov eax, dword [0x57269c]
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.0048ac43
jmp 0x48e062
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.0048bd31
mov dword [ebp + 8], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48de23
push dword [0x57269c]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac43
mov eax, dword [0x57269c]
mov dword [ebp - 0x24], eax
jmp 0x48e062
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48de3c
push dword [ebp + 8]
call fcn.0048a81b
jmp 0x48de44
push dword [ebp + 8]
call fcn.0048a785
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 [0x5726c4]
cmp eax, 0
je 0x48de89
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.0048ac43
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e062
push 0xb
push dword [0x57b714]
call fcn.004557d4
push eax
push 9
push dword [0x57b6ec]
call fcn.004557d4
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f6b1
jmp 0x48e062
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48df20
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dee6
push dword [ebp + 8]
call fcn.0048a81b
jmp 0x48deee
push dword [ebp + 8]
call fcn.0048a785
mov dword [ebp - 0x24], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48df13
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac43
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48df71
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 0x48df3b
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.0048d33b
mov dword [ebp + 8], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48df71
mov eax, dword [0x57269c]
mov dword [ebp - 0x24], eax
jmp 0x48e062
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 0x48df9e
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48df9e
jmp 0x48dfa2
xor eax, eax
jmp 0x48dfa5
xor eax, eax
inc eax
cmp eax, 0
je 0x48e016
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
push eax
call fcn.0044e23a
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [0x56c0c4]
cmp eax, edx
je 0x48dfe2
mov eax, dword [ebp - 0x40]
mov edx, dword [0x56c0c8]
cmp eax, edx
je 0x48dfe2
xor eax, eax
jmp 0x48dfe5
xor eax, eax
inc eax
cmp eax, 0
je 0x48e016
push 0xe
push dword [0x57b714]
call fcn.004557d4
push eax
push 9
push dword [0x57b6ec]
call fcn.004557d4
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f6b1
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e02a
push dword [ebp + 8]
call fcn.0048a81b
jmp 0x48e032
push dword [ebp + 8]
call fcn.0048a785
mov dword [ebp - 0x24], eax
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48e057
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac43
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 0x48e07f
call fcn.0048d656
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48e06e
mov eax, dword [0x5726c4]
cmp eax, 0
je 0x48e097
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48e097
jmp 0x48e09b
xor eax, eax
jmp 0x48e09e
xor eax, eax
inc eax
cmp eax, 0
je 0x48e0bb
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048ac43
mov eax, dword [ebp + 8]
leave
ret 0x18