Function at 0x4917f6
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0xdb2
sub esp, 0x44
jmp 0x491932
mov dword [ebp - 0x48], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
xor al, 1
mov dword [ebp - 0x4c], eax
mov eax, dword [0x624638]
mov dword [ebp - 0x34], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491971
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048ed5c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x491a71
cmp eax, 0x10
je 0x491ac2
cmp eax, 0x1b
je 0x491ba7
cmp eax, 0x12
je 0x491cac
cmp eax, 0x11
je 0x491d08
cmp eax, 0xf
je 0x491d6d
cmp eax, 0x19
je 0x491f07
cmp eax, 0x1c
je 0x491f78
cmp eax, 0x1a
je 0x491fdc
cmp eax, 0x17
je 0x49204d
cmp eax, 0x18
je 0x49207c
cmp eax, 0x1d
je 0x49207c
cmp eax, 0x15
je 0x49207c
cmp eax, 0x16
je 0x49207c
cmp eax, 0x14
je 0x49212a
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491a34
push dword [ebp + 8]
call fcn.0048e911
jmp 0x491a3c
push dword [ebp + 8]
call fcn.0048e871
mov dword [ebp - 0x28], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491a61
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x492216
push dword [0x61e010]
call fcn.0048d7f7
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.004923ae
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491a99
call fcn.0048dbb9
jmp 0x491a9e
call fcn.0048dbf5
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491abd
mov eax, dword [0x624630]
mov dword [ebp - 0x28], eax
jmp 0x492216
push dword [ebp + 8]
call fcn.0048d7f7
push dword [ebp + 8]
call fcn.00451b56
mov eax, dword [0x624658]
cmp eax, 0
je 0x491af4
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], 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 0x491b42
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x62ec84]
call fcn.00458331
push eax
push 3
push dword [0x62ec74]
call fcn.00458331
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fd46
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.004917f6
mov dword [ebp + 8], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491b87
call fcn.0048e99a
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048ed5c
call fcn.00451d45
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491b9d
call fcn.0048dbb9
jmp 0x491ba2
call fcn.0048dbf5
jmp 0x492216
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491bcf
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
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 0x491c11
push dword [ebp - 0x28]
push 3
push dword [0x62ec84]
call fcn.00458331
push eax
push 3
push dword [0x62ec74]
call fcn.00458331
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fd46
push dword [0x61e0f8]
call fcn.0048d7f7
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.004917f6
mov dword [ebp + 8], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491c5c
call fcn.0048e99a
push eax
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048ed5c
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 - 0x28]
call fcn.0048feb0
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491c8e
call fcn.0048dbb9
jmp 0x491c93
call fcn.0048dbf5
mov eax, dword [0x624658]
cmp eax, 0
je 0x491ca7
mov eax, dword [0x624630]
mov dword [ebp - 0x28], eax
jmp 0x492216
push dword [ebp + 8]
call fcn.00451334
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491ccb
push dword [ebp - 0x28]
call fcn.0048e911
jmp 0x491cd3
push dword [ebp - 0x28]
call fcn.0048e871
mov dword [ebp - 0x28], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491cf8
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x492216
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491d1f
push dword [ebp + 8]
call fcn.00451b56
mov dword [ebp - 0x38], eax
jmp 0x491d2a
push dword [ebp + 8]
call fcn.0048e871
mov dword [ebp - 0x38], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
mov eax, dword [0x624658]
cmp eax, 0
je 0x491d5d
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x492216
push dword [ebp + 8]
call fcn.00451334
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 2
je 0x491e2c
cmp eax, 0x11
je 0x491e64
cmp eax, 0x18
je 0x491e96
cmp eax, 0x1d
je 0x491e96
cmp eax, 0x15
je 0x491e96
cmp eax, 0x16
je 0x491e96
cmp eax, 0x17
je 0x491ecf
mov eax, dword [0x624658]
cmp eax, 0
je 0x491e08
push dword [ebp - 0x28]
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.0048ed5c
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491e1c
push dword [ebp - 0x28]
call fcn.0048e911
jmp 0x491e24
push dword [ebp - 0x28]
call fcn.0048e853
mov dword [ebp - 0x28], eax
jmp 0x491f02
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x62ec84]
call fcn.00458331
push eax
push 3
push dword [0x62ec74]
call fcn.00458331
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fd46
jmp 0x491f02
mov eax, dword [0x624658]
cmp eax, 0
je 0x491e8c
push dword [ebp - 0x28]
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
push dword [ebp - 0x28]
call fcn.00451b56
jmp 0x491f02
xor eax, eax
push eax
push 0
push dword [ebp - 0x28]
push 0
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x28]
call fcn.004914e5
mov dword [ebp + 8], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491ecd
mov eax, dword [0x624630]
mov dword [ebp - 0x28], eax
jmp 0x491f02
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x62ec84]
call fcn.00458331
push eax
push 3
push dword [0x62ec74]
call fcn.00458331
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042fd46
jmp 0x492216
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], 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 - 0x28]
call fcn.0048feb0
mov dword [ebp + 8], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491f73
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491f55
call fcn.0048e99a
jmp 0x491f5a
mov eax, dword [0x624630]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
jmp 0x492216
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], 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 - 0x28]
call fcn.0048feb0
mov dword [ebp + 8], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x491fd7
push dword [0x624630]
push dword [ebp - 0x28]
push dword [ebp - 0x28]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
mov eax, dword [0x624630]
mov dword [ebp - 0x28], eax
jmp 0x492216
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x491ff0
push dword [ebp + 8]
call fcn.0048e911
jmp 0x491ff8
push dword [ebp + 8]
call fcn.0048e871
mov dword [ebp - 0x28], eax
mov eax, 0x19
xchg edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax], edx
mov eax, 0
xchg edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc], edx
mov eax, dword [0x624658]
cmp eax, 0
je 0x49203d
push dword [ebp - 0x28]
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x492216
push 0xb
push dword [0x62ec9c]
call fcn.00458331
push eax
push 9
push dword [0x62ec74]
call fcn.00458331
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fd46
jmp 0x492216
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x4920d4
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x49209a
push dword [ebp + 8]
call fcn.0048e911
jmp 0x4920a2
push dword [ebp + 8]
call fcn.0048e871
mov dword [ebp - 0x28], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x4920c7
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x492125
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jb 0x4920ef
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], 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 - 0x28]
push dword [ebp + 8]
call fcn.004914e5
mov dword [ebp + 8], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x492125
mov eax, dword [0x624630]
mov dword [ebp - 0x28], eax
jmp 0x492216
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jae 0x492152
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x492152
jmp 0x492156
xor eax, eax
jmp 0x492159
xor eax, eax
inc eax
cmp eax, 0
je 0x4921ca
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
push eax
call fcn.00450934
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov edx, dword [0x61dff8]
cmp eax, edx
je 0x492196
mov eax, dword [ebp - 0x44]
mov edx, dword [0x61dffc]
cmp eax, edx
je 0x492196
xor eax, eax
jmp 0x492199
xor eax, eax
inc eax
cmp eax, 0
je 0x4921ca
push 0xe
push dword [0x62ec9c]
call fcn.00458331
push eax
push 9
push dword [0x62ec74]
call fcn.00458331
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042fd46
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x4921de
push dword [ebp + 8]
call fcn.0048e911
jmp 0x4921e6
push dword [ebp + 8]
call fcn.0048e871
mov dword [ebp - 0x28], eax
mov eax, dword [0x624658]
cmp eax, 0
je 0x49220b
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ed5c
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 0x492233
call fcn.0049180a
mov eax, dword [ebp - 0x48]
xor al, 1
cmp eax, 0
je 0x492222
mov eax, dword [0x624658]
cmp eax, 0
je 0x49224b
mov eax, dword [ebp - 0x4c]
cmp eax, 0
je 0x49224b
jmp 0x49224f
xor eax, eax
jmp 0x492252
xor eax, eax
inc eax
cmp eax, 0
je 0x49226f
push dword [ebp - 0x28]
push dword [ebp - 0x30]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048ed5c
mov eax, dword [ebp + 8]
leave
ret 0x18