Function at 0x48d673
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48d7aa
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 [0x575ccc]
mov dword [ebp - 0x30], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48d7e9
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048ac63
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48d8e9
cmp eax, 0x10
je 0x48d93a
cmp eax, 0x1b
je 0x48da1f
cmp eax, 0x12
je 0x48db24
cmp eax, 0x11
je 0x48db80
cmp eax, 0xf
je 0x48dbe5
cmp eax, 0x19
je 0x48dd7f
cmp eax, 0x1c
je 0x48ddf0
cmp eax, 0x1a
je 0x48de54
cmp eax, 0x17
je 0x48dec5
cmp eax, 0x18
je 0x48def4
cmp eax, 0x1d
je 0x48def4
cmp eax, 0x15
je 0x48def4
cmp eax, 0x16
je 0x48def4
cmp eax, 0x14
je 0x48dfa2
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d8ac
push dword [ebp + 8]
call fcn.0048a83b
jmp 0x48d8b4
push dword [ebp + 8]
call fcn.0048a7a5
mov dword [ebp - 0x24], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48d8d9
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac63
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e08e
push dword [0x56f704]
call fcn.004897bd
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e21c
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d911
call fcn.00489b48
jmp 0x48d916
call fcn.00489b7f
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48d935
mov eax, dword [0x575cc4]
mov dword [ebp - 0x24], eax
jmp 0x48e08e
push dword [ebp + 8]
call fcn.004897bd
push dword [ebp + 8]
call fcn.0044f575
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48d96c
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac63
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 0x48d9ba
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x57ef34]
call fcn.00455a0b
push eax
push 3
push dword [0x57ef24]
call fcn.00455a0b
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.0048d673
mov dword [ebp + 8], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48d9ff
call fcn.0048a8b5
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.0048ac63
call fcn.0044f741
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48da15
call fcn.00489b48
jmp 0x48da1a
call fcn.00489b7f
jmp 0x48e08e
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48da47
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac63
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 0x48da89
push dword [ebp - 0x24]
push 3
push dword [0x57ef34]
call fcn.00455a0b
push eax
push 3
push dword [0x57ef24]
call fcn.00455a0b
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f8d3
push dword [0x56f7ec]
call fcn.004897bd
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.0048d673
mov dword [ebp + 8], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48dad4
call fcn.0048a8b5
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048ac63
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.0048bd51
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48db06
call fcn.00489b48
jmp 0x48db0b
call fcn.00489b7f
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48db1f
mov eax, dword [0x575cc4]
mov dword [ebp - 0x24], eax
jmp 0x48e08e
push dword [ebp + 8]
call fcn.0044ed9e
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48db43
push dword [ebp - 0x24]
call fcn.0048a83b
jmp 0x48db4b
push dword [ebp - 0x24]
call fcn.0048a7a5
mov dword [ebp - 0x24], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48db70
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac63
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e08e
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48db97
push dword [ebp + 8]
call fcn.0044f575
mov dword [ebp - 0x34], eax
jmp 0x48dba2
push dword [ebp + 8]
call fcn.0048a7a5
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48dbd5
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.0048ac63
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e08e
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 0x48dca4
cmp eax, 0x11
je 0x48dcdc
cmp eax, 0x18
je 0x48dd0e
cmp eax, 0x1d
je 0x48dd0e
cmp eax, 0x15
je 0x48dd0e
cmp eax, 0x16
je 0x48dd0e
cmp eax, 0x17
je 0x48dd47
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48dc80
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.0048ac63
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dc94
push dword [ebp - 0x24]
call fcn.0048a83b
jmp 0x48dc9c
push dword [ebp - 0x24]
call fcn.0048a78c
mov dword [ebp - 0x24], eax
jmp 0x48dd7a
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x57ef34]
call fcn.00455a0b
push eax
push 3
push dword [0x57ef24]
call fcn.00455a0b
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f8d3
jmp 0x48dd7a
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48dd04
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.0048ac63
push dword [ebp - 0x24]
call fcn.0044f575
jmp 0x48dd7a
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.0048d367
mov dword [ebp + 8], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48dd45
mov eax, dword [0x575cc4]
mov dword [ebp - 0x24], eax
jmp 0x48dd7a
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x57ef34]
call fcn.00455a0b
push eax
push 3
push dword [0x57ef24]
call fcn.00455a0b
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f8d3
jmp 0x48e08e
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.0048bd51
mov dword [ebp + 8], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48ddeb
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48ddcd
call fcn.0048a8b5
jmp 0x48ddd2
mov eax, dword [0x575cc4]
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.0048ac63
jmp 0x48e08e
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.0048bd51
mov dword [ebp + 8], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48de4f
push dword [0x575cc4]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac63
mov eax, dword [0x575cc4]
mov dword [ebp - 0x24], eax
jmp 0x48e08e
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48de68
push dword [ebp + 8]
call fcn.0048a83b
jmp 0x48de70
push dword [ebp + 8]
call fcn.0048a7a5
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 [0x575cec]
cmp eax, 0
je 0x48deb5
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.0048ac63
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48e08e
push 0xb
push dword [0x57ef4c]
call fcn.00455a0b
push eax
push 9
push dword [0x57ef24]
call fcn.00455a0b
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f8d3
jmp 0x48e08e
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48df4c
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48df12
push dword [ebp + 8]
call fcn.0048a83b
jmp 0x48df1a
push dword [ebp + 8]
call fcn.0048a7a5
mov dword [ebp - 0x24], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48df3f
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac63
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48df9d
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 0x48df67
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.0048d367
mov dword [ebp + 8], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48df9d
mov eax, dword [0x575cc4]
mov dword [ebp - 0x24], eax
jmp 0x48e08e
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 0x48dfca
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48dfca
jmp 0x48dfce
xor eax, eax
jmp 0x48dfd1
xor eax, eax
inc eax
cmp eax, 0
je 0x48e042
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 [0x56f6ec]
cmp eax, edx
je 0x48e00e
mov eax, dword [ebp - 0x40]
mov edx, dword [0x56f6f0]
cmp eax, edx
je 0x48e00e
xor eax, eax
jmp 0x48e011
xor eax, eax
inc eax
cmp eax, 0
je 0x48e042
push 0xe
push dword [0x57ef4c]
call fcn.00455a0b
push eax
push 9
push dword [0x57ef24]
call fcn.00455a0b
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f8d3
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48e056
push dword [ebp + 8]
call fcn.0048a83b
jmp 0x48e05e
push dword [ebp + 8]
call fcn.0048a7a5
mov dword [ebp - 0x24], eax
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48e083
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ac63
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 0x48e0ab
call fcn.0048d682
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48e09a
mov eax, dword [0x575cec]
cmp eax, 0
je 0x48e0c3
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48e0c3
jmp 0x48e0c7
xor eax, eax
jmp 0x48e0ca
xor eax, eax
inc eax
cmp eax, 0
je 0x48e0e7
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048ac63
mov eax, dword [ebp + 8]
leave
ret 0x18