Function at 0x48a4f1
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48a628
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 [0x53dd04]
mov dword [ebp - 0x30], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a667
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.00487ae1
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48a767
cmp eax, 0x10
je 0x48a7b8
cmp eax, 0x1b
je 0x48a89d
cmp eax, 0x12
je 0x48a9a2
cmp eax, 0x11
je 0x48a9fe
cmp eax, 0xf
je 0x48aa63
cmp eax, 0x19
je 0x48abfd
cmp eax, 0x1c
je 0x48ac6e
cmp eax, 0x1a
je 0x48acd2
cmp eax, 0x17
je 0x48ad43
cmp eax, 0x18
je 0x48ad72
cmp eax, 0x1d
je 0x48ad72
cmp eax, 0x15
je 0x48ad72
cmp eax, 0x16
je 0x48ad72
cmp eax, 0x14
je 0x48ae20
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48a72a
push dword [ebp + 8]
call fcn.004876b9
jmp 0x48a732
push dword [ebp + 8]
call fcn.00487623
mov dword [ebp - 0x24], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a757
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.00487ae1
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48af0c
push dword [0x53773c]
call fcn.0048663b
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048b09a
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48a78f
call fcn.004869c6
jmp 0x48a794
call fcn.004869fd
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a7b3
mov eax, dword [0x53dcfc]
mov dword [ebp - 0x24], eax
jmp 0x48af0c
push dword [ebp + 8]
call fcn.0048663b
push dword [ebp + 8]
call fcn.0044c3f3
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a7ea
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.00487ae1
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 0x48a838
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x547494]
call fcn.00452889
push eax
push 3
push dword [0x547484]
call fcn.00452889
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042c0ce
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.0048a4f1
mov dword [ebp + 8], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a87d
call fcn.00487733
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.00487ae1
call fcn.0044c5bf
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48a893
call fcn.004869c6
jmp 0x48a898
call fcn.004869fd
jmp 0x48af0c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a8c5
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.00487ae1
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 0x48a907
push dword [ebp - 0x24]
push 3
push dword [0x547494]
call fcn.00452889
push eax
push 3
push dword [0x547484]
call fcn.00452889
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042c0ce
push dword [0x537824]
call fcn.0048663b
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.0048a4f1
mov dword [ebp + 8], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a952
call fcn.00487733
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.00487ae1
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.00488bcf
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48a984
call fcn.004869c6
jmp 0x48a989
call fcn.004869fd
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a99d
mov eax, dword [0x53dcfc]
mov dword [ebp - 0x24], eax
jmp 0x48af0c
push dword [ebp + 8]
call fcn.0044bc1c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48a9c1
push dword [ebp - 0x24]
call fcn.004876b9
jmp 0x48a9c9
push dword [ebp - 0x24]
call fcn.00487623
mov dword [ebp - 0x24], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48a9ee
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.00487ae1
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48af0c
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48aa15
push dword [ebp + 8]
call fcn.0044c3f3
mov dword [ebp - 0x34], eax
jmp 0x48aa20
push dword [ebp + 8]
call fcn.00487623
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48aa53
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.00487ae1
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48af0c
push dword [ebp + 8]
call fcn.0044bc1c
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 0x48ab22
cmp eax, 0x11
je 0x48ab5a
cmp eax, 0x18
je 0x48ab8c
cmp eax, 0x1d
je 0x48ab8c
cmp eax, 0x15
je 0x48ab8c
cmp eax, 0x16
je 0x48ab8c
cmp eax, 0x17
je 0x48abc5
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48aafe
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.00487ae1
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48ab12
push dword [ebp - 0x24]
call fcn.004876b9
jmp 0x48ab1a
push dword [ebp - 0x24]
call fcn.0048760a
mov dword [ebp - 0x24], eax
jmp 0x48abf8
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x547494]
call fcn.00452889
push eax
push 3
push dword [0x547484]
call fcn.00452889
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042c0ce
jmp 0x48abf8
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48ab82
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.00487ae1
push dword [ebp - 0x24]
call fcn.0044c3f3
jmp 0x48abf8
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.0048a1e5
mov dword [ebp + 8], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48abc3
mov eax, dword [0x53dcfc]
mov dword [ebp - 0x24], eax
jmp 0x48abf8
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x547494]
call fcn.00452889
push eax
push 3
push dword [0x547484]
call fcn.00452889
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042c0ce
jmp 0x48af0c
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.00488bcf
mov dword [ebp + 8], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48ac69
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48ac4b
call fcn.00487733
jmp 0x48ac50
mov eax, dword [0x53dcfc]
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.00487ae1
jmp 0x48af0c
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.00488bcf
mov dword [ebp + 8], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48accd
push dword [0x53dcfc]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.00487ae1
mov eax, dword [0x53dcfc]
mov dword [ebp - 0x24], eax
jmp 0x48af0c
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48ace6
push dword [ebp + 8]
call fcn.004876b9
jmp 0x48acee
push dword [ebp + 8]
call fcn.00487623
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 [0x53dd24]
cmp eax, 0
je 0x48ad33
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.00487ae1
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48af0c
push 0xb
push dword [0x5474ac]
call fcn.00452889
push eax
push 9
push dword [0x547484]
call fcn.00452889
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042c0ce
jmp 0x48af0c
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48adca
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48ad90
push dword [ebp + 8]
call fcn.004876b9
jmp 0x48ad98
push dword [ebp + 8]
call fcn.00487623
mov dword [ebp - 0x24], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48adbd
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.00487ae1
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48ae1b
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 0x48ade5
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.0048a1e5
mov dword [ebp + 8], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48ae1b
mov eax, dword [0x53dcfc]
mov dword [ebp - 0x24], eax
jmp 0x48af0c
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 0x48ae48
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48ae48
jmp 0x48ae4c
xor eax, eax
jmp 0x48ae4f
xor eax, eax
inc eax
cmp eax, 0
je 0x48aec0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
push eax
call fcn.0044b276
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [0x537724]
cmp eax, edx
je 0x48ae8c
mov eax, dword [ebp - 0x40]
mov edx, dword [0x537728]
cmp eax, edx
je 0x48ae8c
xor eax, eax
jmp 0x48ae8f
xor eax, eax
inc eax
cmp eax, 0
je 0x48aec0
push 0xe
push dword [0x5474ac]
call fcn.00452889
push eax
push 9
push dword [0x547484]
call fcn.00452889
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042c0ce
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48aed4
push dword [ebp + 8]
call fcn.004876b9
jmp 0x48aedc
push dword [ebp + 8]
call fcn.00487623
mov dword [ebp - 0x24], eax
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48af01
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.00487ae1
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 0x48af29
call fcn.0048a500
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48af18
mov eax, dword [0x53dd24]
cmp eax, 0
je 0x48af41
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48af41
jmp 0x48af45
xor eax, eax
jmp 0x48af48
xor eax, eax
inc eax
cmp eax, 0
je 0x48af65
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.00487ae1
mov eax, dword [ebp + 8]
leave
ret 0x18