Function at 0x448cc0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1ac
mov eax, dword [0x6aab00]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, 1
xor esi, esi
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x158], edi
test ebx, ebx
jne 0x448d1f
push str.DecryptData_Decrypt_GetLen_Failed___n
call fcn.00448aa0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0054cec4
mov esp, ebp
pop ebp
ret
push ebx
call fcn.0044cdd2
add esp, 4
mov dword [ebp - 0x1a0], eax
test eax, eax
jne 0x448d52
push str.DecryptData_new_BYTE_Failed___n
call fcn.00448aa0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0054cec4
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x17c], esi
je 0x449e51
push ebx
call fcn.0044cdd2
mov ebx, eax
add esp, 4
xor eax, eax
mov esi, 0xa
mov dword [ebp - 0x190], ebx
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], esi
mov edx, eax
mov ecx, eax
and edx, 3
mov dword [ebp - 0x170], ebx
mov bl, byte [eax + 0x6b07f4]
shr ecx, 2
lea edx, [ebp + edx - 0x24]
inc eax
mov byte [edx + ecx*4], bl
mov ebx, dword [ebp - 0x170]
cmp eax, 0x10
jb 0x448da6
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], ecx
xor edi, edi
xor eax, eax
mov dword [ebp - 0x3c], edx
xor ecx, ecx
lea ecx, [ecx]
cmp edi, esi
jg 0x448eeb
cmp ecx, 4
jge 0x448e1d
cmp eax, 4
jge 0x448e17
mov esi, dword [ebp + ecx*4 - 0x44]
lea edx, [eax + edi*4]
inc ecx
inc eax
mov dword [ebp + edx*4 - 0x138], esi
cmp ecx, 4
jl 0x448dfd
mov esi, dword [ebp - 0x13c]
cmp eax, 4
jne 0x448e25
inc edi
xor eax, eax
cmp ecx, 4
jl 0x448df0
cmp edi, esi
jg 0x448eeb
mov dword [ebp - 0x178], 0x669090
lea esp, [esp]
movzx edx, byte [ebp - 0x37]
mov cl, byte [ebp - 0x44]
xor cl, byte [edx + str.cw]
movzx edx, byte [ebp - 0x36]
movzx edx, byte [edx + str.cw]
xor byte [ebp - 0x43], dl
movzx edx, byte [ebp - 0x35]
movzx edx, byte [edx + str.cw]
xor byte [ebp - 0x42], dl
movzx edx, byte [ebp - 0x38]
movzx edx, byte [edx + str.cw]
xor byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x178]
xor cl, byte [edx]
add edx, 4
mov byte [ebp - 0x44], cl
mov dword [ebp - 0x178], edx
mov ecx, 1
mov edx, dword [ebp + ecx*4 - 0x48]
xor dword [ebp + ecx*4 - 0x44], edx
inc ecx
cmp ecx, 4
jl 0x448e90
xor ecx, ecx
cmp edi, esi
jg 0x448ee5
cmp ecx, 4
jge 0x448ed0
lea esp, [esp]
cmp eax, 4
jge 0x448eca
mov esi, dword [ebp + ecx*4 - 0x44]
lea edx, [eax + edi*4]
inc ecx
inc eax
mov dword [ebp + edx*4 - 0x138], esi
cmp ecx, 4
jl 0x448eb0
mov esi, dword [ebp - 0x13c]
cmp eax, 4
jne 0x448ed8
inc edi
xor eax, eax
cmp ecx, 4
jl 0x448ea0
cmp edi, esi
jle 0x448e40
mov ebx, dword [ebp - 0x190]
cmp dword [ebp - 0x150], 1
jne 0x448fdd
mov ecx, 1
cmp esi, ecx
jle 0x448fdd
lea eax, [ebp - 0x126]
jmp 0x448f10
movzx edx, byte [eax + 1]
mov edx, dword [edx*4 + 0x668c90]
movzx esi, byte [eax - 1]
xor edx, dword [esi*4 + 0x668490]
movzx esi, byte [eax]
xor edx, dword [esi*4 + 0x668890]
movzx esi, byte [eax - 2]
xor edx, dword [esi*4 + 0x668090]
inc ecx
mov dword [eax - 2], edx
movzx edx, byte [eax + 5]
mov edx, dword [edx*4 + 0x668c90]
movzx esi, byte [eax + 4]
xor edx, dword [esi*4 + 0x668890]
movzx esi, byte [eax + 3]
xor edx, dword [esi*4 + 0x668490]
movzx esi, byte [eax + 2]
xor edx, dword [esi*4 + 0x668090]
add eax, 0x10
mov dword [eax - 0xe], edx
movzx edx, byte [eax - 7]
mov edx, dword [edx*4 + 0x668c90]
movzx esi, byte [eax - 8]
xor edx, dword [esi*4 + 0x668890]
movzx esi, byte [eax - 9]
xor edx, dword [esi*4 + 0x668490]
movzx esi, byte [eax - 0xa]
xor edx, dword [esi*4 + 0x668090]
mov dword [eax - 0xa], edx
movzx edx, byte [eax - 3]
movzx esi, byte [eax - 4]
mov edx, dword [edx*4 + 0x668c90]
xor edx, dword [esi*4 + 0x668890]
movzx esi, byte [eax - 5]
xor edx, dword [esi*4 + 0x668490]
movzx esi, byte [eax - 6]
xor edx, dword [esi*4 + 0x668090]
mov dword [eax - 6], edx
mov esi, dword [ebp - 0x13c]
cmp ecx, esi
jl 0x448f10
mov ecx, dword [ebp - 0x154]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x158], 0
lea eax, [edi*8]
cmp ecx, 2
je 0x449009
cmp dword [ebp - 0x150], 0
je 0x449e20
test eax, eax
jle 0x449e20
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
sub ecx, 0
je 0x4499d4
dec ecx
je 0x449526
dec ecx
jne 0x449e20
mov ecx, dword [ebp - 0x14c]
mov ebx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x140]
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x180], eax
test eax, eax
jle 0x449e17
lea eax, [esi - 1]
add esi, esi
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + esi*8 - 0x148]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp + esi*8 - 0x138]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x188], 0
jmp 0x4490dc
mov edi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x160]
mov ebx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x188], 0
jmp 0x4490dc
mov edi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x160]
mov ebx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
xor ebx, dword [ebp - 0x134]
xor edx, dword [ebp - 0x130]
xor edi, dword [ebp - 0x12c]
mov eax, ebx
xor ecx, dword [ebp - 0x138]
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
mov esi, edi
shr esi, 0x18
mov esi, dword [esi*4 + 0x666b90]
xor esi, dword [ebx*4 + 0x666790]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
xor esi, dword [ebx*4 + 0x666390]
movzx ebx, cl
xor esi, dword [ebx*4 + 0x665f90]
mov dword [ebp - 0x2c], edx
mov ebx, edi
shr ebx, 0x10
movzx ebx, bl
shr edx, 8
movzx edx, dl
mov dword [ebp - 0x170], edx
mov edx, dword [ebx*4 + 0x666790]
mov ebx, dword [ebp - 0x170]
xor edx, dword [ebx*4 + 0x666390]
mov ebx, ecx
shr ebx, 0x18
xor edx, dword [ebx*4 + 0x666b90]
movzx ebx, al
xor edx, dword [ebx*4 + 0x665f90]
mov ebx, edi
shr ebx, 8
mov dword [ebp - 0x28], edi
movzx edi, bl
mov edi, dword [edi*4 + 0x666390]
mov ebx, eax
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x666b90]
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
xor edi, dword [ebx*4 + 0x666790]
movzx ebx, byte [ebp - 0x2c]
xor edi, dword [ebx*4 + 0x665f90]
mov ebx, dword [ebp - 0x2c]
shr eax, 0x10
shr ebx, 0x18
mov dword [ebp - 0x170], ebx
movzx ebx, al
mov eax, dword [ebp - 0x170]
mov eax, dword [eax*4 + 0x666b90]
xor eax, dword [ebx*4 + 0x666790]
shr ecx, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x666390]
movzx ecx, byte [ebp - 0x28]
xor eax, dword [ecx*4 + 0x665f90]
mov dword [ebp - 0x14], esi
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x184]
cmp eax, 1
jle 0x449319
lea ebx, [ebp - 0x124]
dec eax
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x18c], eax
jmp 0x449213
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebx]
mov eax, dword [ebx - 4]
xor ecx, edx
mov edx, dword [ebx + 4]
xor edx, edi
xor eax, esi
mov esi, dword [ebx + 8]
xor esi, dword [ebp - 8]
mov ebx, edx
shr ebx, 0x10
movzx edi, bl
mov dword [ebp - 0x28], esi
shr esi, 0x18
mov esi, dword [esi*4 + 0x666b90]
xor esi, dword [edi*4 + 0x666790]
mov ebx, ecx
shr ebx, 8
movzx edi, bl
xor esi, dword [edi*4 + 0x666390]
mov ebx, dword [ebp - 0x28]
shr ebx, 0x10
movzx edi, al
xor esi, dword [edi*4 + 0x665f90]
movzx edi, bl
mov edi, dword [edi*4 + 0x666790]
mov ebx, edx
shr ebx, 8
movzx ebx, bl
xor edi, dword [ebx*4 + 0x666390]
mov ebx, eax
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x666b90]
movzx ebx, cl
xor edi, dword [ebx*4 + 0x665f90]
mov ebx, dword [ebp - 0x28]
shr ebx, 8
mov dword [ebp - 0x10], edi
movzx edi, bl
mov edi, dword [edi*4 + 0x666390]
mov ebx, ecx
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x666b90]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
xor edi, dword [ebx*4 + 0x666790]
movzx ebx, dl
xor edi, dword [ebx*4 + 0x665f90]
mov ebx, dword [ebp - 0x178]
shr edx, 0x18
mov edx, dword [edx*4 + 0x666b90]
shr ecx, 0x10
movzx ecx, cl
xor edx, dword [ecx*4 + 0x666790]
movzx ecx, byte [ebp - 0x28]
shr eax, 8
movzx eax, al
xor edx, dword [eax*4 + 0x666390]
add ebx, 0x10
xor edx, dword [ecx*4 + 0x665f90]
dec dword [ebp - 0x18c]
mov dword [ebp - 8], edx
mov dword [ebp - 0x178], ebx
jne 0x449210
mov dword [ebp - 0x14], esi
mov al, byte [ebp - 0x167]
movzx ecx, byte [ebp - 0x168]
add cl, cl
mov dl, al
shr dl, 7
or dl, cl
mov byte [ebp - 0x168], dl
movzx edx, byte [ebp - 0x166]
shr dl, 7
add al, al
or dl, al
mov al, byte [ebp - 0x165]
mov byte [ebp - 0x167], dl
movzx edx, byte [ebp - 0x166]
add dl, dl
mov cl, al
shr cl, 7
or cl, dl
mov byte [ebp - 0x166], cl
movzx ecx, byte [ebp - 0x164]
shr cl, 7
add al, al
or cl, al
mov al, byte [ebp - 0x163]
mov byte [ebp - 0x165], cl
movzx ecx, byte [ebp - 0x164]
add cl, cl
mov dl, al
shr dl, 7
or dl, cl
movzx ecx, byte [ebp - 0x162]
mov byte [ebp - 0x164], dl
movzx edx, byte [ebp - 0x162]
shr dl, 7
add al, al
or dl, al
mov al, byte [ebp - 0x161]
mov byte [ebp - 0x163], dl
add cl, cl
mov dl, al
shr dl, 7
or cl, dl
mov byte [ebp - 0x162], cl
movzx ecx, byte [ebp - 0x160]
shr cl, 7
add al, al
or cl, al
mov al, byte [ebp - 0x15f]
mov byte [ebp - 0x161], cl
movzx ecx, byte [ebp - 0x160]
add cl, cl
mov dl, al
shr dl, 7
or dl, cl
mov byte [ebp - 0x160], dl
movzx edx, byte [ebp - 0x15e]
shr dl, 7
add al, al
or dl, al
mov al, byte [ebp - 0x15d]
mov byte [ebp - 0x15f], dl
movzx edx, byte [ebp - 0x15e]
mov ebx, dword [ebp - 0x188]
mov cl, al
shr cl, 7
add dl, dl
or cl, dl
mov byte [ebp - 0x15e], cl
movzx ecx, byte [ebp - 0x15c]
shr cl, 7
add al, al
or cl, al
mov al, byte [ebp - 0x15b]
mov byte [ebp - 0x15d], cl
movzx ecx, byte [ebp - 0x15c]
mov dl, al
shr dl, 7
add cl, cl
or dl, cl
mov byte [ebp - 0x15c], dl
movzx edx, byte [ebp - 0x15a]
movzx ecx, byte [ebp - 0x15a]
shr dl, 7
add al, al
or dl, al
movzx eax, byte [ebp - 0x159]
shr al, 7
add cl, cl
or al, cl
mov byte [ebp - 0x15b], dl
mov byte [ebp - 0x15a], al
mov al, bl
and al, 7
mov byte [ebp - 0x169], al
mov eax, ebx
cdq
and edx, 7
add eax, edx
mov edx, dword [ebp - 0x17c]
sar eax, 3
movzx edx, byte [eax + edx]
mov cl, 7
sub cl, byte [ebp - 0x169]
mov esi, dword [ebp - 0x190]
shr dl, cl
movzx ecx, byte [ebp - 0x159]
and dl, 1
add cl, cl
or dl, cl
movzx ecx, byte [ebp - 0x14]
mov byte [ebp - 0x159], dl
movzx edx, byte [ebp - 0x174]
xor edx, ecx
movzx edx, byte [edx*4 + 0x665f91]
xor dl, byte [ebp - 0x194]
movzx ecx, byte [ebp - 0x169]
and dl, 0x80
shr dl, cl
inc ebx
mov dword [ebp - 0x188], ebx
xor byte [eax + esi], dl
cmp ebx, 0x80
jl 0x4490c4
mov eax, dword [ebp - 0x180]
dec eax
mov dword [ebp - 0x180], eax
test eax, eax
jg 0x4490a0
mov ebx, esi
jmp 0x449e1d
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x168], ecx
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x164], edx
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x180], eax
test eax, eax
jle 0x449e20
mov eax, esi
add eax, eax
mov ecx, dword [ebp + eax*8 - 0x138]
mov edx, dword [ebp + eax*8 - 0x134]
dec esi
mov dword [ebp - 0x194], ecx
mov ecx, dword [ebp + eax*8 - 0x130]
mov dword [ebp - 0x1a8], esi
mov esi, dword [ebp - 0x17c]
mov dword [ebp - 0x188], edx
mov edx, dword [ebp + eax*8 - 0x12c]
mov dword [ebp - 0x18c], ecx
lea ecx, [esi + 0xc]
lea eax, [ebx + 8]
sub esi, ebx
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x17c], esi
mov esi, dword [esi + eax]
mov edi, dword [ecx]
xor edi, dword [ebp - 0x178]
xor esi, dword [ebp - 0x18c]
mov ebx, dword [ecx - 8]
mov edx, dword [ebp - 0x194]
xor edx, dword [ecx - 0xc]
xor ebx, dword [ebp - 0x188]
mov eax, edi
shr eax, 8
movzx ecx, al
mov eax, esi
shr eax, 0x10
mov dword [ebp - 0x30], ebx
movzx eax, al
shr ebx, 0x18
mov dword [ebp - 0x174], eax
mov eax, dword [ecx*4 + 0x667390]
mov ecx, dword [ebp - 0x174]
xor eax, dword [ecx*4 + 0x667790]
movzx ecx, dl
xor eax, dword [ebx*4 + 0x667b90]
mov dword [ebp - 0x2c], esi
xor eax, dword [ecx*4 + 0x666f90]
mov ecx, edi
shr ecx, 0x10
shr esi, 0x18
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x667790]
xor ecx, dword [esi*4 + 0x667b90]
mov ebx, edx
shr ebx, 8
movzx esi, bl
xor ecx, dword [esi*4 + 0x667390]
movzx esi, byte [ebp - 0x30]
xor ecx, dword [esi*4 + 0x666f90]
mov ebx, dword [ebp - 0x30]
mov esi, edi
shr ebx, 8
mov dword [ebp - 0x28], edi
movzx edi, bl
shr esi, 0x18
mov esi, dword [esi*4 + 0x667b90]
xor esi, dword [edi*4 + 0x667390]
mov ebx, edx
shr ebx, 0x10
movzx edi, bl
xor esi, dword [edi*4 + 0x667790]
mov ebx, dword [ebp - 0x2c]
movzx edi, bl
xor esi, dword [edi*4 + 0x666f90]
shr ebx, 8
movzx edi, bl
mov ebx, dword [ebp - 0x30]
mov edi, dword [edi*4 + 0x667390]
shr ebx, 0x10
movzx ebx, bl
xor edi, dword [ebx*4 + 0x667790]
shr edx, 0x18
xor edi, dword [edx*4 + 0x667b90]
movzx edx, byte [ebp - 0x28]
xor edi, dword [edx*4 + 0x666f90]
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edi
cmp edx, 1
jle 0x449815
mov ebx, edx
add ebx, ebx
lea ebx, [ebp + ebx*8 - 0x134]
dec edx
mov dword [ebp - 0x198], ebx
mov dword [ebp - 0x174], edx
lea ecx, [ecx]
mov edx, dword [ebx - 4]
xor edx, eax
mov eax, dword [ebx]
xor eax, ecx
mov ecx, dword [ebx + 4]
xor ecx, esi
mov esi, dword [ebx + 8]
xor esi, edi
mov dword [ebp - 0x30], eax
mov eax, esi
mov ebx, ecx
shr ebx, 0x10
movzx edi, bl
shr eax, 8
movzx eax, al
mov eax, dword [eax*4 + 0x667390]
xor eax, dword [edi*4 + 0x667790]
mov edi, dword [ebp - 0x30]
shr edi, 0x18
xor eax, dword [edi*4 + 0x667b90]
mov ebx, esi
shr ebx, 0x10
movzx edi, dl
xor eax, dword [edi*4 + 0x666f90]
movzx edi, bl
mov edi, dword [edi*4 + 0x667790]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
shr ecx, 0x18
xor edi, dword [ecx*4 + 0x667b90]
mov ecx, edx
shr ecx, 8
movzx ecx, cl
xor edi, dword [ecx*4 + 0x667390]
movzx ecx, byte [ebp - 0x30]
xor edi, dword [ecx*4 + 0x666f90]
shr ebx, 8
mov ecx, edi
movzx edi, bl
mov dword [ebp - 0x28], esi
shr esi, 0x18
mov esi, dword [esi*4 + 0x667b90]
xor esi, dword [edi*4 + 0x667390]
mov ebx, edx
shr ebx, 0x10
movzx edi, bl
xor esi, dword [edi*4 + 0x667790]
mov ebx, dword [ebp - 0x2c]
movzx edi, bl
xor esi, dword [edi*4 + 0x666f90]
shr ebx, 8
movzx edi, bl
mov ebx, dword [ebp - 0x30]
mov edi, dword [edi*4 + 0x667390]
shr ebx, 0x10
movzx ebx, bl
xor edi, dword [ebx*4 + 0x667790]
mov ebx, dword [ebp - 0x198]
shr edx, 0x18
xor edi, dword [edx*4 + 0x667b90]
movzx edx, byte [ebp - 0x28]
xor edi, dword [edx*4 + 0x666f90]
sub ebx, 0x10
dec dword [ebp - 0x174]
mov dword [ebp - 0x198], ebx
jne 0x449700
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
xor esi, dword [ebp - 0x120]
xor eax, dword [ebp - 0x128]
xor edi, dword [ebp - 0x11c]
mov edx, esi
xor ecx, dword [ebp - 0x124]
movzx esi, al
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0x14], bl
mov ebx, edi
shr ebx, 8
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0x13], bl
mov ebx, edx
shr ebx, 0x10
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0x12], bl
mov esi, ecx
shr esi, 0x18
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0x11], bl
movzx esi, cl
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0x10], bl
mov ebx, eax
shr ebx, 8
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0xf], bl
mov ebx, edi
shr ebx, 0x10
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0xe], bl
mov esi, edx
shr esi, 0x18
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0xd], bl
movzx esi, dl
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0xc], bl
mov ebx, ecx
shr ebx, 8
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [ebp - 0xb], bl
mov ebx, eax
shr ebx, 0x10
shr edx, 8
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
movzx edx, dl
movzx edx, byte [edx + 0x667f90]
mov esi, edi
shr esi, 0x18
mov byte [ebp - 0xa], bl
movzx ebx, byte [esi + 0x667f90]
shr ecx, 0x10
mov byte [ebp - 7], dl
mov dword [ebp - 0x28], edi
movzx esi, byte [ebp - 0x28]
movzx ecx, cl
movzx edx, byte [ecx + 0x667f90]
mov byte [ebp - 9], bl
movzx ebx, byte [esi + 0x667f90]
mov esi, dword [ebp - 0x10]
xor esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0xc]
xor edi, dword [ebp - 0x130]
mov byte [ebp - 6], dl
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x138]
shr eax, 0x18
mov al, byte [eax + 0x667f90]
xor edx, dword [ebp - 0x168]
mov byte [ebp - 8], bl
mov byte [ebp - 5], al
mov ebx, dword [ebp - 8]
xor ebx, dword [ebp - 0x12c]
xor esi, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ecx - 0xc]
xor edi, dword [ebp - 0x160]
xor ebx, dword [ebp - 0x15c]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x170]
mov dword [eax - 8], edx
mov edx, dword [ecx - 8]
mov dword [eax - 4], esi
mov esi, dword [ebp - 0x17c]
mov dword [ebp - 0x164], edx
mov edx, dword [esi + eax]
mov dword [ebp - 0x160], edx
mov dword [eax], edi
mov edx, dword [ecx]
mov dword [ebp - 0x15c], edx
mov edx, dword [ebp - 0x180]
dec edx
mov dword [eax + 4], ebx
add ecx, 0x10
add eax, 0x10
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x180], edx
test edx, edx
jg 0x4495c3
jmp 0x449e17
mov dword [ebp - 0x180], eax
test eax, eax
jle 0x449e20
mov edi, dword [ebp - 0x17c]
mov eax, esi
add eax, eax
mov ecx, dword [ebp + eax*8 - 0x138]
mov edx, dword [ebp + eax*8 - 0x134]
dec esi
mov dword [ebp - 0x194], ecx
mov ecx, dword [ebp + eax*8 - 0x130]
mov dword [ebp - 0x188], edx
mov edx, dword [ebp + eax*8 - 0x12c]
sub edi, ebx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x170], esi
lea eax, [ebx + 2]
mov dword [ebp - 0x17c], edi
mov esi, dword [eax + edi + 6]
xor esi, dword [ebp - 0x18c]
mov edx, dword [eax + edi + 2]
xor edx, dword [ebp - 0x188]
mov dword [ebp - 0xc], esi
mov esi, dword [eax + edi + 0xa]
xor esi, dword [ebp - 0x178]
mov ecx, dword [eax + edi - 2]
xor ecx, dword [ebp - 0x194]
mov ebx, esi
shr ebx, 8
mov dword [ebp - 8], esi
movzx esi, bl
mov esi, dword [esi*4 + 0x667390]
mov ebx, dword [ebp - 0xc]
shr ebx, 0x10
movzx ebx, bl
xor esi, dword [ebx*4 + 0x667790]
mov ebx, edx
shr ebx, 0x18
xor esi, dword [ebx*4 + 0x667b90]
movzx ebx, cl
xor esi, dword [ebx*4 + 0x666f90]
mov ebx, dword [ebp - 8]
shr ebx, 0x10
mov dword [eax - 2], esi
movzx esi, bl
mov esi, dword [esi*4 + 0x667790]
mov ebx, dword [ebp - 0xc]
shr ebx, 0x18
xor esi, dword [ebx*4 + 0x667b90]
mov ebx, ecx
shr ebx, 8
movzx ebx, bl
xor esi, dword [ebx*4 + 0x667390]
movzx ebx, dl
xor esi, dword [ebx*4 + 0x666f90]
mov ebx, edx
mov dword [eax + 2], esi
mov esi, dword [ebp - 8]
shr ebx, 8
movzx ebx, bl
shr esi, 0x18
mov esi, dword [esi*4 + 0x667b90]
xor esi, dword [ebx*4 + 0x667390]
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
xor esi, dword [ebx*4 + 0x667790]
movzx ebx, byte [ebp - 0xc]
xor esi, dword [ebx*4 + 0x666f90]
mov ebx, dword [ebp - 0xc]
mov dword [eax + 6], esi
shr edx, 0x10
shr ebx, 8
movzx esi, bl
movzx ebx, dl
mov edx, dword [esi*4 + 0x667390]
xor edx, dword [ebx*4 + 0x667790]
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x667b90]
movzx ecx, byte [ebp - 8]
xor edx, dword [ecx*4 + 0x666f90]
mov ecx, dword [ebp - 0x170]
mov dword [eax + 0xa], edx
cmp ecx, 1
jle 0x449cb0
mov esi, dword [eax + 6]
mov edi, dword [eax + 2]
mov dword [ebp - 0x174], edx
mov edx, dword [ebp - 0x170]
add ecx, ecx
dec edx
mov dword [ebp - 0x184], esi
lea esi, [ebp + ecx*8 - 0x134]
mov dword [ebp - 0x198], edx
jmp 0x449b86
mov edi, dword [ebp - 0x19c]
mov edx, dword [esi]
xor edx, edi
mov edi, dword [esi + 4]
xor edi, dword [ebp - 0x184]
mov ecx, dword [esi - 4]
mov dword [ebp - 0xc], edi
mov edi, dword [esi + 8]
xor edi, dword [ebp - 0x174]
xor ecx, dword [eax - 2]
mov ebx, edi
shr ebx, 8
mov dword [ebp - 8], edi
movzx edi, bl
mov edi, dword [edi*4 + 0x667390]
mov ebx, dword [ebp - 0xc]
shr ebx, 0x10
movzx ebx, bl
xor edi, dword [ebx*4 + 0x667790]
mov ebx, edx
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x667b90]
movzx ebx, cl
xor edi, dword [ebx*4 + 0x666f90]
mov ebx, dword [ebp - 8]
shr ebx, 0x10
mov dword [eax - 2], edi
movzx edi, bl
mov edi, dword [edi*4 + 0x667790]
mov ebx, dword [ebp - 0xc]
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x667b90]
mov ebx, ecx
shr ebx, 8
movzx ebx, bl
xor edi, dword [ebx*4 + 0x667390]
movzx ebx, dl
xor edi, dword [ebx*4 + 0x666f90]
mov ebx, edx
mov dword [ebp - 0x19c], edi
mov dword [eax + 2], edi
mov edi, dword [ebp - 8]
shr edi, 0x18
mov edi, dword [edi*4 + 0x667b90]
shr ebx, 8
movzx ebx, bl
xor edi, dword [ebx*4 + 0x667390]
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
xor edi, dword [ebx*4 + 0x667790]
movzx ebx, byte [ebp - 0xc]
xor edi, dword [ebx*4 + 0x666f90]
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x184], edi
mov dword [eax + 6], edi
shr ebx, 8
shr edx, 0x10
movzx edi, bl
mov edi, dword [edi*4 + 0x667390]
movzx edx, dl
xor edi, dword [edx*4 + 0x667790]
shr ecx, 0x18
xor edi, dword [ecx*4 + 0x667b90]
movzx ecx, byte [ebp - 8]
xor edi, dword [ecx*4 + 0x666f90]
sub esi, 0x10
dec dword [ebp - 0x198]
mov ecx, edi
mov dword [ebp - 0x174], ecx
mov dword [eax + 0xa], ecx
jne 0x449b80
mov edi, dword [ebp - 0x17c]
mov esi, dword [eax + 6]
xor esi, dword [ebp - 0x120]
mov ecx, dword [eax - 2]
xor ecx, dword [ebp - 0x128]
mov dword [ebp - 0xc], esi
mov esi, dword [eax + 0xa]
xor esi, dword [ebp - 0x11c]
mov edx, dword [eax + 2]
mov dword [ebp - 8], esi
xor edx, dword [ebp - 0x124]
movzx esi, cl
movzx ebx, byte [esi + 0x667f90]
mov byte [eax - 2], bl
mov ebx, dword [ebp - 8]
shr ebx, 8
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [eax - 1], bl
mov ebx, dword [ebp - 0xc]
shr ebx, 0x10
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [eax], bl
mov esi, edx
shr esi, 0x18
movzx ebx, byte [esi + 0x667f90]
mov byte [eax + 1], bl
movzx esi, dl
movzx ebx, byte [esi + 0x667f90]
mov byte [eax + 2], bl
mov ebx, ecx
shr ebx, 8
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [eax + 3], bl
mov ebx, dword [ebp - 8]
shr ebx, 0x10
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov esi, dword [ebp - 0xc]
mov byte [eax + 4], bl
shr esi, 0x18
movzx ebx, byte [esi + 0x667f90]
movzx esi, byte [ebp - 0xc]
mov byte [eax + 5], bl
movzx ebx, byte [esi + 0x667f90]
mov byte [eax + 6], bl
mov ebx, edx
shr ebx, 8
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov byte [eax + 7], bl
mov ebx, ecx
shr ebx, 0x10
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
mov esi, dword [ebp - 8]
mov byte [eax + 8], bl
shr esi, 0x18
movzx ebx, byte [esi + 0x667f90]
movzx esi, byte [ebp - 8]
mov byte [eax + 9], bl
movzx ebx, byte [esi + 0x667f90]
mov byte [eax + 0xa], bl
mov ebx, dword [ebp - 0xc]
shr ebx, 8
shr edx, 0x10
movzx esi, bl
movzx ebx, byte [esi + 0x667f90]
movzx edx, dl
mov byte [eax + 0xb], bl
mov dl, byte [edx + 0x667f90]
shr ecx, 0x18
mov byte [eax + 0xc], dl
mov cl, byte [ecx + 0x667f90]
mov edx, dword [ebp - 0x138]
xor dword [eax - 2], edx
mov edx, dword [ebp - 0x130]
mov byte [eax + 0xd], cl
mov ecx, dword [ebp - 0x134]
xor dword [eax + 2], ecx
mov ecx, dword [ebp - 0x12c]
xor dword [eax + 0xa], ecx
mov ecx, dword [ebp - 0x180]
xor dword [eax + 6], edx
dec ecx
add eax, 0x10
mov dword [ebp - 0x180], ecx
test ecx, ecx
jg 0x449a32
mov ebx, dword [ebp - 0x190]
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebx]
cmp edi, eax
jl 0x449e42
sub edi, eax
mov eax, dword [ebp - 0x1a0]
lea esi, [edi - 1]
push esi
lea edx, [ebx + 1]
push edx
push eax
call fcn.005544a0
add esp, 0xc
jmp 0x449e44
xor esi, esi
push ebx
call fcn.0044cdc7
add esp, 4
test esi, esi
jne 0x449e71
push str.DecryptData_Decrypt_Failed___n
call fcn.00448aa0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0054cec4
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1ac]
mov dword [ecx], edx
mov ecx, dword [ebp - 4]
pop edi
mov dword [eax], esi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.0054cec4
mov esp, ebp
pop ebp
ret