Function at 0x48d563
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48d69a
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 [0x575cfc]
mov dword [ebp - 0x30], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48d6d9
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048ab53
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48d7d9
cmp eax, 0x10
je 0x48d82a
cmp eax, 0x1b
je 0x48d90f
cmp eax, 0x12
je 0x48da14
cmp eax, 0x11
je 0x48da70
cmp eax, 0xf
je 0x48dad5
cmp eax, 0x19
je 0x48dc6f
cmp eax, 0x1c
je 0x48dce0
cmp eax, 0x1a
je 0x48dd44
cmp eax, 0x17
je 0x48ddb5
cmp eax, 0x18
je 0x48dde4
cmp eax, 0x1d
je 0x48dde4
cmp eax, 0x15
je 0x48dde4
cmp eax, 0x16
je 0x48dde4
cmp eax, 0x14
je 0x48de92
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d79c
push dword [ebp + 8]
call fcn.0048a72b
jmp 0x48d7a4
push dword [ebp + 8]
call fcn.0048a695
mov dword [ebp - 0x24], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48d7c9
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab53
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48df7e
push dword [0x56f734]
call fcn.004896ad
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e10c
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d801
call fcn.00489a38
jmp 0x48d806
call fcn.00489a6f
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48d825
mov eax, dword [0x575cf4]
mov dword [ebp - 0x24], eax
jmp 0x48df7e
push dword [ebp + 8]
call fcn.004896ad
push dword [ebp + 8]
call fcn.0044f575
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48d85c
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab53
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 0x48d8aa
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x57ef64]
call fcn.004558fb
push eax
push 3
push dword [0x57ef54]
call fcn.004558fb
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f8d3
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.0048d563
mov dword [ebp + 8], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48d8ef
call fcn.0048a7a5
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.0048ab53
call fcn.0044f741
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d905
call fcn.00489a38
jmp 0x48d90a
call fcn.00489a6f
jmp 0x48df7e
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48d937
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab53
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 0x48d979
push dword [ebp - 0x24]
push 3
push dword [0x57ef64]
call fcn.004558fb
push eax
push 3
push dword [0x57ef54]
call fcn.004558fb
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f8d3
push dword [0x56f81c]
call fcn.004896ad
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.0048d563
mov dword [ebp + 8], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48d9c4
call fcn.0048a7a5
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048ab53
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.0048bc41
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d9f6
call fcn.00489a38
jmp 0x48d9fb
call fcn.00489a6f
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48da0f
mov eax, dword [0x575cf4]
mov dword [ebp - 0x24], eax
jmp 0x48df7e
push dword [ebp + 8]
call fcn.0044ed9e
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48da33
push dword [ebp - 0x24]
call fcn.0048a72b
jmp 0x48da3b
push dword [ebp - 0x24]
call fcn.0048a695
mov dword [ebp - 0x24], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48da60
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab53
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48df7e
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48da87
push dword [ebp + 8]
call fcn.0044f575
mov dword [ebp - 0x34], eax
jmp 0x48da92
push dword [ebp + 8]
call fcn.0048a695
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48dac5
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.0048ab53
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48df7e
push dword [ebp + 8]
call fcn.0044ed9e
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 0x48db94
cmp eax, 0x11
je 0x48dbcc
cmp eax, 0x18
je 0x48dbfe
cmp eax, 0x1d
je 0x48dbfe
cmp eax, 0x15
je 0x48dbfe
cmp eax, 0x16
je 0x48dbfe
cmp eax, 0x17
je 0x48dc37
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48db70
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.0048ab53
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48db84
push dword [ebp - 0x24]
call fcn.0048a72b
jmp 0x48db8c
push dword [ebp - 0x24]
call fcn.0048a67c
mov dword [ebp - 0x24], eax
jmp 0x48dc6a
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x57ef64]
call fcn.004558fb
push eax
push 3
push dword [0x57ef54]
call fcn.004558fb
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f8d3
jmp 0x48dc6a
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48dbf4
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.0048ab53
push dword [ebp - 0x24]
call fcn.0044f575
jmp 0x48dc6a
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.0048d257
mov dword [ebp + 8], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48dc35
mov eax, dword [0x575cf4]
mov dword [ebp - 0x24], eax
jmp 0x48dc6a
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x57ef64]
call fcn.004558fb
push eax
push 3
push dword [0x57ef54]
call fcn.004558fb
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f8d3
jmp 0x48df7e
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.0048bc41
mov dword [ebp + 8], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48dcdb
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dcbd
call fcn.0048a7a5
jmp 0x48dcc2
mov eax, dword [0x575cf4]
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.0048ab53
jmp 0x48df7e
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.0048bc41
mov dword [ebp + 8], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48dd3f
push dword [0x575cf4]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab53
mov eax, dword [0x575cf4]
mov dword [ebp - 0x24], eax
jmp 0x48df7e
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dd58
push dword [ebp + 8]
call fcn.0048a72b
jmp 0x48dd60
push dword [ebp + 8]
call fcn.0048a695
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 [0x575d1c]
cmp eax, 0
je 0x48dda5
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.0048ab53
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48df7e
push 0xb
push dword [0x57ef7c]
call fcn.004558fb
push eax
push 9
push dword [0x57ef54]
call fcn.004558fb
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f8d3
jmp 0x48df7e
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48de3c
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48de02
push dword [ebp + 8]
call fcn.0048a72b
jmp 0x48de0a
push dword [ebp + 8]
call fcn.0048a695
mov dword [ebp - 0x24], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48de2f
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab53
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48de8d
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 0x48de57
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.0048d257
mov dword [ebp + 8], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48de8d
mov eax, dword [0x575cf4]
mov dword [ebp - 0x24], eax
jmp 0x48df7e
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 0x48deba
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48deba
jmp 0x48debe
xor eax, eax
jmp 0x48dec1
xor eax, eax
inc eax
cmp eax, 0
je 0x48df32
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
push eax
call fcn.0044e3f8
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [0x56f71c]
cmp eax, edx
je 0x48defe
mov eax, dword [ebp - 0x40]
mov edx, dword [0x56f720]
cmp eax, edx
je 0x48defe
xor eax, eax
jmp 0x48df01
xor eax, eax
inc eax
cmp eax, 0
je 0x48df32
push 0xe
push dword [0x57ef7c]
call fcn.004558fb
push eax
push 9
push dword [0x57ef54]
call fcn.004558fb
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f8d3
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48df46
push dword [ebp + 8]
call fcn.0048a72b
jmp 0x48df4e
push dword [ebp + 8]
call fcn.0048a695
mov dword [ebp - 0x24], eax
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48df73
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab53
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 0x48df9b
call fcn.0048d572
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48df8a
mov eax, dword [0x575d1c]
cmp eax, 0
je 0x48dfb3
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48dfb3
jmp 0x48dfb7
xor eax, eax
jmp 0x48dfba
xor eax, eax
inc eax
cmp eax, 0
je 0x48dfd7
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048ab53
mov eax, dword [ebp + 8]
leave
ret 0x18