Function at 0x5dc760
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xec
mov dword [esp + 0x14], eax
mov ebp, edx
mov dword [esp + 0x18], ecx
mov eax, ecx
or eax, edx
test al, 3
jne 0x5dd50c
mov eax, dword [edx]
xor eax, dword [ecx]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 4]
xor eax, dword [ecx + 4]
mov dword [esp + 0x64], eax
mov eax, dword [edx + 8]
xor eax, dword [ecx + 8]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0xc]
xor eax, dword [ecx + 0xc]
mov dword [esp + 0x6c], eax
mov eax, dword [edx + 0x10]
xor eax, dword [ecx + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x14]
xor eax, dword [ecx + 0x14]
mov dword [esp + 0x74], eax
mov eax, dword [edx + 0x18]
xor eax, dword [ecx + 0x18]
mov dword [esp + 0x78], eax
mov eax, dword [edx + 0x1c]
xor eax, dword [ecx + 0x1c]
mov dword [esp + 0x7c], eax
mov al, byte [esp + 0x60]
mov byte [esp + 0xc0], al
mov al, byte [esp + 0x61]
mov byte [esp + 0xc4], al
mov al, byte [esp + 0x62]
mov byte [esp + 0xc8], al
mov al, byte [esp + 0x63]
mov byte [esp + 0xcc], al
mov al, byte [esp + 0x64]
mov byte [esp + 0xd0], al
mov al, byte [esp + 0x65]
mov byte [esp + 0xd4], al
mov al, byte [esp + 0x66]
mov byte [esp + 0xd8], al
mov al, byte [esp + 0x67]
mov byte [esp + 0xdc], al
mov al, byte [esp + 0x68]
mov byte [esp + 0xc1], al
mov al, byte [esp + 0x69]
mov byte [esp + 0xc5], al
mov al, byte [esp + 0x6a]
mov byte [esp + 0xc9], al
mov al, byte [esp + 0x6b]
mov byte [esp + 0xcd], al
mov al, byte [esp + 0x6c]
mov byte [esp + 0xd1], al
mov al, byte [esp + 0x6d]
mov byte [esp + 0xd5], al
mov al, byte [esp + 0x6e]
mov byte [esp + 0xd9], al
mov al, byte [esp + 0x6f]
mov byte [esp + 0xdd], al
mov al, byte [esp + 0x70]
mov byte [esp + 0xc2], al
mov al, byte [esp + 0x71]
mov byte [esp + 0xc6], al
mov al, byte [esp + 0x72]
mov byte [esp + 0xca], al
mov al, byte [esp + 0x73]
mov byte [esp + 0xce], al
mov al, byte [esp + 0x74]
mov byte [esp + 0xd2], al
mov al, byte [esp + 0x75]
mov byte [esp + 0xd6], al
mov al, byte [esp + 0x76]
mov byte [esp + 0xda], al
mov al, byte [esp + 0x77]
mov byte [esp + 0xde], al
mov al, byte [esp + 0x78]
mov byte [esp + 0xc3], al
mov al, byte [esp + 0x79]
mov byte [esp + 0xc7], al
mov al, byte [esp + 0x7a]
mov byte [esp + 0xcb], al
mov al, byte [esp + 0x7b]
mov byte [esp + 0xcf], al
mov al, byte [esp + 0x7c]
mov byte [esp + 0xd3], al
mov al, byte [esp + 0x7d]
mov byte [esp + 0xd7], al
mov al, byte [esp + 0x7e]
mov byte [esp + 0xdb], al
mov al, byte [esp + 0x7f]
mov byte [esp + 0xdf], al
lea eax, [esp + 0xa0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
lea eax, [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.005d57d0
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
lea esi, [ebp + 8]
mov ecx, 6
lea edi, [esp + 0x40]
mov dword [esp + 0x1c], esi
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x80]
xor eax, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x84]
xor eax, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
lea esi, [edi + 8]
mov cl, 6
lea edi, [esp + 0x80]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x80]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x84]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], 0x18
lea edi, [esp + 0x88]
mov dword [esp + 4], edi
lea ecx, [esp + 0x80]
mov dword [esp], ecx
call sub.msvcrt.dll_memmove
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x80]
mov dword [esp + 0x98], esi
mov ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x84]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x40]
xor edx, dword [esp + 0x80]
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x44]
xor eax, dword [esp + 0x84]
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0x48]
xor ebx, dword [esp + 0x88]
mov dword [esp + 0x68], ebx
mov edx, dword [esp + 0x4c]
xor edx, dword [esp + 0x8c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x50]
xor edx, dword [esp + 0x90]
mov dword [esp + 0x28], edx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x54]
xor edx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x74], edx
xor esi, dword [esp + 0x58]
mov dword [esp + 0x78], esi
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x7c], ecx
mov dl, byte [esp + 0x20]
mov byte [esp + 0xc0], dl
mov dl, byte [esp + 0x61]
mov byte [esp + 0xc4], dl
mov dl, byte [esp + 0x62]
mov byte [esp + 0xc8], dl
mov dl, byte [esp + 0x63]
mov byte [esp + 0xcc], dl
mov byte [esp + 0xd0], al
mov al, byte [esp + 0x65]
mov byte [esp + 0xd4], al
mov al, byte [esp + 0x66]
mov byte [esp + 0xd8], al
mov al, byte [esp + 0x67]
mov byte [esp + 0xdc], al
mov byte [esp + 0xc1], bl
mov al, byte [esp + 0x69]
mov byte [esp + 0xc5], al
mov al, byte [esp + 0x6a]
mov byte [esp + 0xc9], al
mov al, byte [esp + 0x6b]
mov byte [esp + 0xcd], al
mov al, byte [esp + 0x24]
mov byte [esp + 0xd1], al
mov al, byte [esp + 0x6d]
mov byte [esp + 0xd5], al
mov al, byte [esp + 0x6e]
mov byte [esp + 0xd9], al
mov al, byte [esp + 0x6f]
mov byte [esp + 0xdd], al
mov al, byte [esp + 0x28]
mov byte [esp + 0xc2], al
mov al, byte [esp + 0x71]
mov byte [esp + 0xc6], al
mov al, byte [esp + 0x72]
mov byte [esp + 0xca], al
mov al, byte [esp + 0x73]
mov byte [esp + 0xce], al
mov al, byte [esp + 0x2c]
mov byte [esp + 0xd2], al
mov al, byte [esp + 0x75]
mov byte [esp + 0xd6], al
mov al, byte [esp + 0x76]
mov byte [esp + 0xda], al
mov al, byte [esp + 0x77]
mov byte [esp + 0xde], al
mov eax, esi
mov byte [esp + 0xc3], al
mov al, byte [esp + 0x79]
mov byte [esp + 0xc7], al
mov al, byte [esp + 0x7a]
mov byte [esp + 0xcb], al
mov al, byte [esp + 0x7b]
mov byte [esp + 0xcf], al
mov byte [esp + 0xd3], cl
mov al, byte [esp + 0x7d]
mov byte [esp + 0xd7], al
mov al, byte [esp + 0x7e]
mov byte [esp + 0xdb], al
mov al, byte [esp + 0x7f]
mov byte [esp + 0xdf], al
lea eax, [esp + 0xa8]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x1c]
mov dword [esp + 8], esi
lea esi, [esp + 0xc0]
mov dword [esp + 4], esi
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.005d57d0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], 0x18
lea esi, [esp + 0x48]
mov dword [esp + 4], esi
lea esi, [esp + 0x40]
mov dword [esp], esi
call sub.msvcrt.dll_memmove
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
not byte [esp + 0x5f]
not byte [esp + 0x5d]
not byte [esp + 0x5c]
not byte [esp + 0x58]
not byte [esp + 0x57]
not byte [esp + 0x54]
not byte [esp + 0x52]
not byte [esp + 0x51]
not byte [esp + 0x4e]
not byte [esp + 0x4c]
not byte [esp + 0x4a]
not byte [esp + 0x48]
not byte [esp + 0x47]
not byte [esp + 0x45]
not byte [esp + 0x43]
not byte [esp + 0x41]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], 0x18
mov dword [esp + 4], edi
lea esi, [esp + 0x80]
mov dword [esp], esi
call sub.msvcrt.dll_memmove
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x80]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x84]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], 0x18
mov dword [esp + 4], edi
lea esi, [esp + 0x80]
mov dword [esp], esi
call sub.msvcrt.dll_memmove
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x80]
mov dword [esp + 0x98], esi
mov ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x84]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x40]
xor edx, dword [esp + 0x80]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x44]
xor eax, dword [esp + 0x84]
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0x48]
xor ebx, dword [esp + 0x88]
mov dword [esp + 0x68], ebx
mov edx, dword [esp + 0x4c]
xor edx, dword [esp + 0x8c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x50]
xor edx, dword [esp + 0x90]
mov dword [esp + 0x24], edx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x54]
xor edx, dword [esp + 0x94]
mov dword [esp + 0x28], edx
mov dword [esp + 0x74], edx
xor esi, dword [esp + 0x58]
mov dword [esp + 0x78], esi
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x7c], ecx
mov dl, byte [esp + 0x1c]
mov byte [esp + 0xc0], dl
mov dl, byte [esp + 0x61]
mov byte [esp + 0xc4], dl
mov dl, byte [esp + 0x62]
mov byte [esp + 0xc8], dl
mov dl, byte [esp + 0x63]
mov byte [esp + 0xcc], dl
mov byte [esp + 0xd0], al
mov al, byte [esp + 0x65]
mov byte [esp + 0xd4], al
mov al, byte [esp + 0x66]
mov byte [esp + 0xd8], al
mov al, byte [esp + 0x67]
mov byte [esp + 0xdc], al
mov byte [esp + 0xc1], bl
mov al, byte [esp + 0x69]
mov byte [esp + 0xc5], al
mov al, byte [esp + 0x6a]
mov byte [esp + 0xc9], al
mov al, byte [esp + 0x6b]
mov byte [esp + 0xcd], al
mov al, byte [esp + 0x20]
mov byte [esp + 0xd1], al
mov al, byte [esp + 0x6d]
mov byte [esp + 0xd5], al
mov al, byte [esp + 0x6e]
mov byte [esp + 0xd9], al
mov al, byte [esp + 0x6f]
mov byte [esp + 0xdd], al
mov al, byte [esp + 0x24]
mov byte [esp + 0xc2], al
mov al, byte [esp + 0x71]
mov byte [esp + 0xc6], al
mov al, byte [esp + 0x72]
mov byte [esp + 0xca], al
mov al, byte [esp + 0x73]
mov byte [esp + 0xce], al
mov al, byte [esp + 0x28]
mov byte [esp + 0xd2], al
mov al, byte [esp + 0x75]
mov byte [esp + 0xd6], al
mov al, byte [esp + 0x76]
mov byte [esp + 0xda], al
mov al, byte [esp + 0x77]
mov byte [esp + 0xde], al
mov eax, esi
mov byte [esp + 0xc3], al
mov al, byte [esp + 0x79]
mov byte [esp + 0xc7], al
mov al, byte [esp + 0x7a]
mov byte [esp + 0xcb], al
mov al, byte [esp + 0x7b]
mov byte [esp + 0xcf], al
mov byte [esp + 0xd3], cl
mov al, byte [esp + 0x7d]
mov byte [esp + 0xd7], al
mov al, byte [esp + 0x7e]
mov byte [esp + 0xdb], al
mov al, byte [esp + 0x7f]
mov byte [esp + 0xdf], al
lea eax, [esp + 0xb0]
mov dword [esp + 0xc], eax
lea eax, [ebp + 0x10]
mov dword [esp + 8], eax
lea esi, [esp + 0xc0]
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call fcn.005d57d0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], 0x18
lea eax, [esp + 0x48]
mov dword [esp + 4], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], 0x18
mov dword [esp + 4], edi
lea eax, [esp + 0x80]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x80]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x84]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], 0x18
mov dword [esp + 4], edi
lea eax, [esp + 0x80]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x80]
mov dword [esp + 0x98], esi
mov ecx, dword [esp + 0x3c]
xor ecx, dword [esp + 0x84]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x40]
xor edx, dword [esp + 0x80]
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x44]
xor eax, dword [esp + 0x84]
mov dword [esp + 0x14], eax
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0x48]
xor edi, dword [esp + 0x88]
mov dword [esp + 0x68], edi
mov eax, dword [esp + 0x4c]
xor eax, dword [esp + 0x8c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x90]
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x54]
xor eax, dword [esp + 0x94]
mov dword [esp + 0x24], eax
mov dword [esp + 0x74], eax
xor esi, dword [esp + 0x58]
mov dword [esp + 0x78], esi
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x7c], ecx
mov byte [esp + 0xc0], dl
mov dl, byte [esp + 0x61]
mov byte [esp + 0xc4], dl
mov dl, byte [esp + 0x62]
mov byte [esp + 0xc8], dl
mov dl, byte [esp + 0x63]
mov byte [esp + 0xcc], dl
mov al, byte [esp + 0x14]
mov byte [esp + 0xd0], al
mov al, byte [esp + 0x65]
mov byte [esp + 0xd4], al
mov al, byte [esp + 0x66]
mov byte [esp + 0xd8], al
mov al, byte [esp + 0x67]
mov byte [esp + 0xdc], al
mov eax, edi
mov byte [esp + 0xc1], al
mov al, byte [esp + 0x69]
mov byte [esp + 0xc5], al
mov al, byte [esp + 0x6a]
mov byte [esp + 0xc9], al
mov al, byte [esp + 0x6b]
mov byte [esp + 0xcd], al
mov al, byte [esp + 0x1c]
mov byte [esp + 0xd1], al
mov al, byte [esp + 0x6d]
mov byte [esp + 0xd5], al
mov al, byte [esp + 0x6e]
mov byte [esp + 0xd9], al
mov al, byte [esp + 0x6f]
mov byte [esp + 0xdd], al
mov al, byte [esp + 0x20]
mov byte [esp + 0xc2], al
mov al, byte [esp + 0x71]
mov byte [esp + 0xc6], al
mov al, byte [esp + 0x72]
mov byte [esp + 0xca], al
mov al, byte [esp + 0x73]
mov byte [esp + 0xce], al
mov al, byte [esp + 0x24]
mov byte [esp + 0xd2], al
mov al, byte [esp + 0x75]
mov byte [esp + 0xd6], al
mov al, byte [esp + 0x76]
mov byte [esp + 0xda], al
mov al, byte [esp + 0x77]
mov byte [esp + 0xde], al
mov eax, esi
mov byte [esp + 0xc3], al
mov al, byte [esp + 0x79]
mov byte [esp + 0xc7], al
mov al, byte [esp + 0x7a]
mov byte [esp + 0xcb], al
mov al, byte [esp + 0x7b]
mov byte [esp + 0xcf], al
mov byte [esp + 0xd3], cl
mov al, byte [esp + 0x7d]
mov byte [esp + 0xd7], al
mov al, byte [esp + 0x7e]
mov byte [esp + 0xdb], al
mov al, byte [esp + 0x7f]
mov byte [esp + 0xdf], al
lea eax, [esp + 0xb8]
mov dword [esp + 0xc], eax
lea eax, [ebp + 0x18]
mov dword [esp + 8], eax
lea eax, [esp + 0xc0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.005d57d0
mov al, byte [esp + 0xbe]
mov cl, byte [esp + 0xbf]
mov edi, 0xc
lea esi, [esp + 0xa2]
mov dl, al
lea esi, [esi]
mov bl, byte [esp + 0xa3]
xor bl, byte [esp + 0xa1]
xor bl, byte [esp + 0xa5]
xor bl, byte [esp + 0xa7]
xor bl, byte [esp + 0xb9]
xor ebx, ecx
mov ecx, ebx
shl ecx, 8
mov al, byte [esp + 0xa2]
xor eax, dword [esp + 0xa0]
xor eax, dword [esp + 0xa4]
xor al, byte [esp + 0xa6]
xor eax, dword [esp + 0xb8]
xor edx, eax
xor eax, eax
mov al, dl
or ecx, eax
mov ebx, ecx
mov dword [esp + 8], 0x1e
mov dword [esp + 4], esi
lea eax, [esp + 0xa0]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov dl, bl
mov byte [esp + 0xbe], bl
shr bx, 8
mov cl, bl
mov byte [esp + 0xbf], bl
dec edi
jne 0x5dd250
mov edi, dword [esp + 0x18]
mov eax, edi
test al, 3
jne 0x5dd546
mov eax, dword [edi]
xor dword [esp + 0xa0], eax
mov eax, dword [edi + 4]
xor dword [esp + 0xa4], eax
mov eax, dword [edi + 8]
xor dword [esp + 0xa8], eax
mov eax, dword [edi + 0xc]
xor dword [esp + 0xac], eax
mov eax, dword [edi + 0x10]
xor dword [esp + 0xb0], eax
mov eax, dword [edi + 0x14]
xor dword [esp + 0xb4], eax
mov eax, dword [edi + 0x18]
xor dword [esp + 0xb8], eax
mov eax, dword [edi + 0x1c]
xor dword [esp + 0xbc], eax
mov al, byte [esp + 0xa3]
xor al, byte [esp + 0xa1]
xor al, byte [esp + 0xa5]
xor al, byte [esp + 0xa7]
xor al, byte [esp + 0xb9]
xor al, byte [esp + 0xbf]
mov edi, eax
shl edi, 8
mov al, byte [esp + 0xa2]
xor eax, dword [esp + 0xa0]
xor eax, dword [esp + 0xa4]
xor al, byte [esp + 0xa6]
xor eax, dword [esp + 0xb8]
xor al, byte [esp + 0xbe]
mov cl, al
xor eax, eax
mov al, cl
or edi, eax
mov dword [esp + 8], 0x1e
mov dword [esp + 4], esi
lea eax, [esp + 0xa0]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov eax, edi
mov byte [esp + 0xbe], al
mov eax, edi
shr ax, 8
mov byte [esp + 0xbf], al
test ebp, 3
jne 0x5dd526
mov eax, dword [ebp]
xor dword [esp + 0xa0], eax
mov eax, dword [ebp + 4]
xor dword [esp + 0xa4], eax
mov eax, dword [ebp + 8]
xor dword [esp + 0xa8], eax
mov eax, dword [ebp + 0xc]
xor dword [esp + 0xac], eax
mov eax, dword [ebp + 0x10]
xor dword [esp + 0xb0], eax
mov eax, dword [ebp + 0x14]
xor dword [esp + 0xb4], eax
mov eax, dword [ebp + 0x18]
xor dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x1c]
xor dword [esp + 0xbc], eax
mov cl, byte [esp + 0xbe]
mov al, byte [esp + 0xbf]
mov edi, 0x3d
lea esi, [esi]
mov bl, byte [esp + 0xa3]
xor bl, byte [esp + 0xa1]
xor bl, byte [esp + 0xa5]
xor bl, byte [esp + 0xa7]
xor bl, byte [esp + 0xb9]
xor ebx, eax
mov eax, ebx
shl eax, 8
mov dl, byte [esp + 0xa2]
xor edx, dword [esp + 0xa0]
xor edx, dword [esp + 0xa4]
xor dl, byte [esp + 0xa6]
xor edx, dword [esp + 0xb8]
xor ecx, edx
xor edx, edx
mov dl, cl
or eax, edx
mov ebx, eax
mov dword [esp + 8], 0x1e
mov dword [esp + 4], esi
lea eax, [esp + 0xa0]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov cl, bl
mov byte [esp + 0xbe], bl
shr bx, 8
mov al, bl
mov byte [esp + 0xbf], bl
dec edi
jne 0x5dd440
mov eax, dword [esp + 0xa0]
mov dword [ebp], eax
mov eax, dword [esp + 0xbc]
mov dword [ebp + 0x1c], eax
lea edi, [ebp + 4]
and edi, 0xfffffffc
sub ebp, edi
lea esi, [esp + 0xa0]
sub esi, ebp
lea ecx, [ebp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, 1
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
nop
mov dl, byte [ecx + eax]
xor dl, byte [ebp + eax]
mov byte [esp + eax + 0x60], dl
inc eax
cmp eax, 0x20
jne 0x5dd510
jmp 0x5dc7ce
xor eax, eax
nop
lea esi, [esi]
mov cl, byte [ebp + eax]
xor byte [esp + eax + 0xa0], cl
inc eax
cmp eax, 0x20
jne 0x5dd530
jmp 0x5dd42a
mov edx, edi
xor eax, eax
lea esi, [esi]
mov cl, byte [edx + eax]
xor byte [esp + eax + 0xa0], cl
inc eax
cmp eax, 0x20
jne 0x5dd550
jmp 0x5dd33c