Function at 0x404420
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov cl, byte [eax]
mov dl, byte [eax + 0xb]
xor cl, byte [ebx]
mov byte [ebp + 0xb], cl
mov cl, byte [eax + 1]
xor cl, byte [ebx + 1]
xor dl, byte [ebx + 0xb]
mov byte [ebp - 0x1b], cl
mov cl, byte [eax + 2]
xor cl, byte [ebx + 2]
mov ch, byte [eax + 5]
mov byte [ebp - 0x16], cl
mov cl, byte [eax + 3]
xor cl, byte [ebx + 3]
mov byte [ebp - 1], cl
mov cl, byte [eax + 4]
xor cl, byte [ebx + 4]
mov byte [ebp - 3], cl
mov cl, byte [eax + 6]
xor cl, byte [ebx + 6]
xor ch, byte [ebx + 5]
mov byte [ebp - 0x1c], cl
mov cl, byte [eax + 7]
xor cl, byte [ebx + 7]
mov byte [ebp - 0x18], cl
mov cl, byte [eax + 8]
xor cl, byte [ebx + 8]
mov byte [ebp - 0x17], dl
mov dl, byte [eax + 0xc]
xor dl, byte [ebx + 0xc]
mov byte [ebp - 8], cl
mov cl, byte [eax + 9]
xor cl, byte [ebx + 9]
mov byte [ebp - 0x15], dl
mov dl, byte [eax + 0xd]
xor dl, byte [ebx + 0xd]
mov byte [ebp - 4], cl
mov cl, byte [eax + 0xa]
xor cl, byte [ebx + 0xa]
mov byte [ebp - 2], dl
mov dl, byte [eax + 0xe]
mov al, byte [eax + 0xf]
xor al, byte [ebx + 0xf]
xor dl, byte [ebx + 0xe]
add ebx, 0x10
mov byte [ebp - 5], dl
movzx edx, al
movzx eax, al
mov dword [ebp + 0xc], ebx
movzx edi, cl
mov bl, byte [eax + str.cw]
movzx eax, cl
mov cl, byte [ebp + 0xb]
movzx esi, cl
mov dword [ebp - 0xc], edx
mov bh, byte [eax + str.cw]
movzx edx, ch
movzx eax, ch
movzx ecx, cl
mov dword [ebp + 8], esi
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx]
mov cl, byte [esi + str.cw]
xor al, bh
mov esi, dword [ebp + 0xc]
xor al, bl
mov byte [ebp - 0x1a], al
mov al, byte [edi + 0x5b5100]
xor al, byte [edx + 0x5b5000]
xor al, byte [esi + 1]
xor al, cl
xor al, bl
mov byte [ebp - 7], al
mov al, byte [edx + str.cw]
mov bl, byte [edi + 0x5b5000]
mov edi, esi
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
xor bl, byte [edx + 0x5b5100]
xor bl, byte [edi + 2]
xor bl, al
xor bl, cl
mov cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0x5b5100]
xor cl, byte [edi + 3]
xor cl, al
movzx edi, byte [ebp - 1]
movzx eax, byte [ebp - 5]
xor cl, bh
movzx esi, byte [ebp - 4]
mov byte [ebp - 0x1d], cl
movzx ecx, byte [ebp - 3]
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 3]
mov dword [ebp + 8], eax
movzx eax, byte [ebp - 1]
mov byte [ebp - 0x1e], bl
movzx ebx, byte [ebp - 5]
mov dword [ebp - 0xc], edi
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 4]
mov edi, dword [ebp + 0xc]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
xor al, dl
xor al, dh
mov byte [ebp - 1], al
mov eax, dword [ebp + 8]
mov cl, byte [eax + str.cw]
mov al, byte [ebx + 0x5b5100]
xor al, byte [esi + 0x5b5000]
xor al, byte [edi + 5]
mov edi, dword [ebp - 0xc]
xor al, cl
xor al, dl
mov dl, byte [ebx + 0x5b5000]
mov ebx, dword [ebp + 0xc]
mov byte [ebp - 5], al
xor dl, byte [edi + 0x5b5100]
mov al, byte [esi + str.cw]
xor dl, byte [ebx + 6]
xor dl, al
movzx esi, byte [ebp - 0x16]
xor dl, cl
mov ecx, dword [ebp + 8]
mov byte [ebp - 6], dl
mov dl, byte [edi + 0x5b5000]
movzx edi, byte [ebp - 2]
xor dl, byte [ecx + 0x5b5100]
xor dl, byte [ebx + 7]
movzx ecx, byte [ebp - 8]
xor dl, al
movzx eax, byte [ebp - 8]
xor dl, dh
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x18]
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 0x18]
mov byte [ebp - 0x19], dl
mov dword [ebp + 8], edi
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x16]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 2]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
xor al, bl
xor al, dl
mov byte [ebp - 8], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [edi + 0x5b5000]
xor al, byte [esi + 0x5b5100]
mov edi, dword [ebp + 0xc]
mov ah, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor al, byte [edi + 9]
xor al, cl
mov edi, dword [ebp + 8]
xor al, dl
mov edx, dword [ebp - 0xc]
mov byte [ebp - 3], al
mov al, byte [edi + str.cw]
xor ah, byte [edx + 0x5b5100]
xor ah, byte [esi + 0xa]
xor ah, al
movzx edi, byte [ebp - 0x17]
xor ah, cl
mov dword [ebp - 0xc], edi
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0xb], ah
mov edi, dword [ebp + 0xc]
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0xb]
xor cl, al
movzx edx, byte [ebp - 0x1b]
movzx eax, byte [ebp - 0x15]
xor cl, bl
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x17]
movzx esi, byte [ebp - 0x1c]
mov byte [ebp - 0x16], cl
movzx ecx, byte [ebp - 0x1b]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1c]
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 0x15]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 0xc]
xor al, bh
xor al, bl
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [edx + 0x5b5000]
xor al, byte [esi + 0x5b5100]
xor al, byte [edi + 0xd]
mov edi, dword [ebp - 0xc]
xor al, cl
xor al, bl
mov byte [ebp - 2], al
mov al, byte [edx + str.cw]
mov dl, byte [edi + 0x5b5100]
xor dl, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor dl, byte [esi + 0xe]
xor dl, al
xor dl, cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], dl
movzx edx, byte [ebp - 5]
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edi + 0x5b5000]
xor cl, byte [esi + 0xf]
movzx edi, byte [ebp + 0xb]
xor cl, al
xor cl, bh
add esi, 0x10
movzx eax, cl
mov dword [ebp - 0xc], eax
movzx eax, cl
movzx ecx, byte [ebp - 0x1a]
mov dword [ebp + 0xc], esi
movzx esi, byte [ebp - 0x1a]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp + 0xb]
mov dword [ebp + 8], esi
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 5]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, bh
xor al, bl
xor al, byte [ecx]
mov cl, byte [esi + str.cw]
mov esi, dword [ebp + 0xc]
mov byte [ebp - 0x15], al
mov al, byte [edi + 0x5b5100]
xor al, byte [edx + 0x5b5000]
xor al, byte [esi + 1]
xor al, cl
xor al, bl
mov byte [ebp - 0xd], al
mov al, byte [edx + str.cw]
mov edx, dword [ebp - 0xc]
mov bl, byte [edx + 0x5b5100]
xor bl, byte [edi + 0x5b5000]
mov edi, esi
mov esi, dword [ebp + 8]
xor bl, byte [edi + 2]
xor bl, al
xor bl, cl
mov cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0x5b5100]
xor cl, byte [edi + 3]
xor cl, al
movzx esi, byte [ebp - 3]
movzx eax, byte [ebp - 4]
xor cl, bh
movzx edi, byte [ebp - 0x1d]
mov byte [ebp - 0x17], cl
movzx ecx, byte [ebp - 1]
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 1]
mov dword [ebp + 8], eax
movzx eax, byte [ebp - 0x1d]
mov byte [ebp - 0x1b], bl
movzx ebx, byte [ebp - 4]
mov dword [ebp - 0xc], edi
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 3]
mov edi, dword [ebp + 0xc]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
xor al, dl
xor al, dh
mov byte [ebp - 3], al
mov eax, dword [ebp + 8]
mov cl, byte [eax + str.cw]
mov al, byte [ebx + 0x5b5100]
xor al, byte [esi + 0x5b5000]
xor al, byte [edi + 5]
mov edi, dword [ebp - 0xc]
xor al, cl
xor al, dl
mov dl, byte [ebx + 0x5b5000]
mov ebx, dword [ebp + 0xc]
mov byte [ebp - 5], al
xor dl, byte [edi + 0x5b5100]
mov al, byte [esi + str.cw]
xor dl, byte [ebx + 6]
xor dl, al
xor dl, cl
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x1a], dl
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edi + 0x5b5000]
xor cl, byte [ebx + 7]
movzx edi, byte [ebp - 2]
xor cl, al
movzx eax, byte [ebp - 8]
xor cl, dh
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x19]
mov dword [ebp + 8], eax
movzx eax, byte [ebp - 0x19]
mov byte [ebp - 0x1c], cl
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1e]
movzx ecx, byte [ebp - 8]
movzx esi, byte [ebp - 0x1e]
mov dword [ebp - 0xc], esi
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 2]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
xor al, bl
xor al, dl
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [edi + 0x5b5000]
xor al, byte [esi + 0x5b5100]
mov esi, dword [ebp + 0xc]
xor al, byte [esi + 9]
xor al, cl
mov esi, dword [ebp - 0xc]
xor al, dl
mov edx, dword [ebp + 8]
mov byte [ebp - 4], al
mov al, byte [edi + str.cw]
movzx edi, byte [ebp - 0x16]
mov ah, byte [edx + 0x5b5100]
xor ah, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp + 0xc]
xor ah, byte [esi + 0xa]
xor ah, al
xor ah, cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0xb], ah
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0xb]
xor cl, al
movzx esi, byte [ebp - 6]
movzx eax, byte [ebp - 0x18]
xor cl, bl
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x16]
movzx edx, byte [ebp - 7]
mov byte [ebp - 8], cl
movzx ecx, byte [ebp - 7]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 6]
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 0x18]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 0xc]
mov cl, byte [esi + 0x5b5100]
xor al, bh
xor cl, byte [edx + 0x5b5000]
xor al, bl
xor cl, byte [edi + 0xd]
mov edi, dword [ebp - 0xc]
xor cl, bl
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + str.cw]
xor cl, al
mov byte [ebp - 6], cl
mov cl, byte [edx + str.cw]
mov dl, byte [edi + 0x5b5100]
xor dl, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor dl, byte [esi + 0xe]
xor dl, cl
xor dl, al
mov eax, dword [ebp - 0x14]
mov byte [ebp - 7], dl
mov al, byte [eax + 0x5b5100]
xor al, byte [edi + 0x5b5000]
xor al, byte [esi + 0xf]
xor al, bh
movzx edi, byte [ebp + 0xb]
xor al, cl
movzx edx, byte [ebp - 5]
movzx ecx, al
add esi, 0x10
movzx eax, al
mov dword [ebp - 0xc], ecx
movzx ecx, byte [ebp - 0x15]
mov dword [ebp + 0xc], esi
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp + 0xb]
movzx esi, byte [ebp - 0x15]
mov dword [ebp + 8], esi
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 5]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx]
mov cl, byte [esi + str.cw]
xor al, bh
mov esi, dword [ebp + 0xc]
xor al, bl
mov byte [ebp - 5], al
mov al, byte [edi + 0x5b5100]
xor al, byte [edx + 0x5b5000]
xor al, byte [esi + 1]
xor al, cl
xor al, bl
mov byte [ebp - 0x19], al
mov al, byte [edx + str.cw]
mov edx, dword [ebp - 0xc]
mov bl, byte [edx + 0x5b5100]
xor bl, byte [edi + 0x5b5000]
mov edi, esi
mov esi, dword [ebp + 8]
xor bl, byte [edi + 2]
xor bl, al
xor bl, cl
mov cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0x5b5100]
xor cl, byte [edi + 3]
xor cl, al
movzx esi, byte [ebp - 4]
movzx eax, byte [ebp - 7]
xor cl, bh
movzx edi, byte [ebp - 0x17]
mov byte [ebp - 0x18], cl
movzx ecx, byte [ebp - 3]
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 3]
mov dword [ebp + 8], eax
movzx eax, byte [ebp - 0x17]
mov byte [ebp - 0x15], bl
movzx ebx, byte [ebp - 7]
mov dword [ebp - 0xc], edi
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 4]
mov edi, dword [ebp + 0xc]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
xor al, dl
xor al, dh
mov byte [ebp - 4], al
mov eax, dword [ebp + 8]
mov cl, byte [eax + str.cw]
mov al, byte [esi + 0x5b5000]
xor al, byte [ebx + 0x5b5100]
xor al, byte [edi + 5]
mov edi, dword [ebp - 0xc]
xor al, cl
xor al, dl
mov dl, byte [ebx + 0x5b5000]
mov ebx, dword [ebp + 0xc]
mov byte [ebp - 7], al
xor dl, byte [edi + 0x5b5100]
mov al, byte [esi + str.cw]
xor dl, byte [ebx + 6]
xor dl, al
movzx esi, byte [ebp - 0x1b]
xor dl, cl
mov dword [ebp - 0xc], esi
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x1d], dl
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edi + 0x5b5000]
xor cl, byte [ebx + 7]
xor cl, al
movzx edi, byte [ebp - 6]
movzx eax, byte [ebp - 1]
xor cl, dh
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x1c]
mov dword [ebp + 8], eax
movzx eax, byte [ebp - 0x1c]
mov byte [ebp - 0x16], cl
movzx ecx, byte [ebp - 6]
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1b]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 1]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
xor al, bl
xor al, dl
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [esi + 0x5b5100]
xor al, byte [edi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor al, byte [esi + 9]
mov esi, dword [ebp - 0xc]
xor al, cl
xor al, dl
mov edx, dword [ebp + 8]
mov byte [ebp - 6], al
mov al, byte [edi + str.cw]
movzx edi, byte [ebp - 8]
mov ah, byte [edx + 0x5b5100]
xor ah, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
mov dl, byte [edx + 0x5b5000]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp + 0xc]
xor ah, byte [esi + 0xa]
xor ah, al
xor ah, cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0xb], ah
xor dl, byte [ecx + 0x5b5100]
xor dl, byte [esi + 0xb]
movzx ecx, byte [ebp - 2]
xor dl, al
movzx eax, byte [ebp - 2]
xor dl, bl
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 8]
movzx esi, byte [ebp - 0x1a]
mov byte [ebp - 0x17], dl
movzx edx, byte [ebp - 0xd]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1a]
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 0xd]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 0xc]
xor al, bh
xor al, bl
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [esi + 0x5b5100]
xor al, byte [edx + 0x5b5000]
xor al, byte [edi + 0xd]
xor al, cl
mov edi, dword [ebp - 0xc]
xor al, bl
mov byte [ebp - 3], al
mov al, byte [edx + str.cw]
mov dl, byte [edi + 0x5b5100]
xor dl, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor dl, byte [esi + 0xe]
xor dl, al
xor dl, cl
mov cl, byte [edi + 0x5b5000]
mov byte [ebp - 0xd], dl
mov edx, dword [ebp - 0x14]
movzx edi, byte [ebp + 0xb]
xor cl, byte [edx + 0x5b5100]
xor cl, byte [esi + 0xf]
add esi, 0x10
xor cl, al
movzx edx, byte [ebp - 7]
xor cl, bh
mov dword [ebp + 0xc], esi
movzx eax, cl
mov dword [ebp - 0xc], eax
movzx esi, byte [ebp - 5]
movzx eax, cl
movzx ecx, byte [ebp - 5]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp + 0xb]
mov dword [ebp + 8], esi
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 7]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, bh
xor al, bl
xor al, byte [ecx]
mov cl, byte [esi + str.cw]
mov esi, dword [ebp + 0xc]
mov byte [ebp - 7], al
mov al, byte [edi + 0x5b5100]
xor al, byte [edx + 0x5b5000]
xor al, byte [esi + 1]
xor al, cl
xor al, bl
mov byte [ebp - 0x1a], al
mov al, byte [edx + str.cw]
mov edx, dword [ebp - 0xc]
mov bl, byte [edx + 0x5b5100]
xor bl, byte [edi + 0x5b5000]
mov edi, esi
mov esi, dword [ebp + 8]
xor bl, byte [edi + 2]
xor bl, al
xor bl, cl
mov cl, byte [esi + 0x5b5100]
xor cl, byte [edx + 0x5b5000]
xor cl, byte [edi + 3]
xor cl, al
movzx edi, byte [ebp - 0x18]
movzx eax, byte [ebp - 0xd]
xor cl, bh
movzx esi, byte [ebp - 6]
mov byte [ebp - 8], cl
movzx ecx, byte [ebp - 4]
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 4]
mov dword [ebp + 8], eax
movzx eax, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
movzx ebx, byte [ebp - 0xd]
mov dword [ebp - 0xc], edi
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 6]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
xor al, dl
xor al, dh
mov edi, dword [ebp + 0xc]
mov byte [ebp - 4], al
mov eax, dword [ebp + 8]
mov cl, byte [eax + str.cw]
mov al, byte [ebx + 0x5b5100]
xor al, byte [esi + 0x5b5000]
xor al, byte [edi + 5]
mov edi, dword [ebp - 0xc]
xor al, cl
xor al, dl
mov dl, byte [ebx + 0x5b5000]
mov ebx, dword [ebp + 0xc]
mov byte [ebp - 0xd], al
xor dl, byte [edi + 0x5b5100]
mov al, byte [esi + str.cw]
xor dl, byte [ebx + 6]
xor dl, al
movzx esi, byte [ebp - 0x15]
xor dl, cl
mov dword [ebp - 0xc], esi
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x1b], dl
mov dl, byte [edi + 0x5b5000]
movzx edi, byte [ebp - 3]
xor dl, byte [ecx + 0x5b5100]
xor dl, byte [ebx + 7]
xor dl, al
movzx ecx, byte [ebp - 1]
movzx eax, byte [ebp - 1]
xor dl, dh
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x16]
mov dword [ebp + 8], eax
movzx eax, byte [ebp - 0x16]
mov byte [ebp - 0x18], dl
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x15]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 3]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
xor al, bl
xor al, dl
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [edi + 0x5b5000]
xor al, byte [esi + 0x5b5100]
mov esi, dword [ebp + 0xc]
xor al, byte [esi + 9]
mov esi, dword [ebp - 0xc]
xor al, cl
xor al, dl
mov edx, dword [ebp + 8]
mov byte [ebp - 5], al
mov al, byte [edi + str.cw]
movzx edi, byte [ebp - 0x17]
mov ah, byte [edx + 0x5b5100]
xor ah, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xc], edi
xor ah, byte [esi + 0xa]
xor ah, al
xor ah, cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0xb], ah
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0xb]
movzx esi, byte [ebp - 0x1d]
xor cl, al
movzx eax, byte [ebp - 2]
xor cl, bl
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x17]
mov byte [ebp - 0x16], cl
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1d]
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 2]
movzx ecx, byte [ebp - 0x19]
movzx edx, byte [ebp - 0x19]
mov edi, dword [ebp + 0xc]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 0xc]
mov cl, byte [edx + 0x5b5000]
xor al, bh
xor cl, byte [esi + 0x5b5100]
xor al, bl
xor cl, byte [edi + 0xd]
mov edi, dword [ebp - 0xc]
xor cl, bl
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + str.cw]
xor cl, al
mov byte [ebp - 3], cl
mov cl, byte [edx + str.cw]
mov dl, byte [esi + 0x5b5000]
xor dl, byte [edi + 0x5b5100]
mov esi, dword [ebp + 0xc]
xor dl, byte [esi + 0xe]
xor dl, cl
xor dl, al
mov al, byte [edi + 0x5b5000]
mov byte [ebp - 6], dl
mov edx, dword [ebp - 0x14]
movzx edi, byte [ebp - 7]
xor al, byte [edx + 0x5b5100]
xor al, byte [esi + 0xf]
add esi, 0x10
xor al, bh
mov dword [ebp + 0xc], esi
xor al, cl
movzx esi, byte [ebp - 0xd]
movzx ecx, al
movzx eax, al
movzx ebx, byte [ebp + 0xb]
mov dword [ebp - 0xc], ecx
movzx ecx, byte [ebp - 7]
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp + 0xb]
mov dword [ebp + 8], edi
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 0xd]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, dh
xor al, dl
xor al, byte [ecx]
mov cl, byte [edi + str.cw]
mov edi, dword [ebp + 0xc]
mov byte [ebp - 7], al
mov al, byte [esi + 0x5b5000]
xor al, byte [ebx + 0x5b5100]
xor al, byte [edi + 1]
xor al, dl
xor al, cl
mov byte [ebp - 0x19], al
mov al, byte [esi + str.cw]
mov esi, dword [ebp - 0xc]
mov dl, byte [esi + 0x5b5100]
xor dl, byte [ebx + 0x5b5000]
mov ebx, edi
mov edi, dword [ebp + 8]
xor dl, byte [ebx + 2]
xor dl, al
xor dl, cl
mov cl, byte [edi + 0x5b5100]
xor cl, byte [esi + 0x5b5000]
xor cl, byte [ebx + 3]
xor cl, dh
mov byte [ebp - 0x17], dl
xor cl, al
movzx eax, byte [ebp - 6]
mov byte [ebp - 0x15], cl
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 6]
movzx ecx, byte [ebp - 4]
movzx ebx, byte [ebp - 4]
movzx esi, byte [ebp - 5]
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 8]
movzx edi, byte [ebp - 8]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp + 0xc]
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 5]
mov byte [ebp + 0xb], dh
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
xor al, dl
mov cl, byte [ebx + str.cw]
xor al, dh
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 0x5b5100]
xor al, byte [esi + 0x5b5000]
xor al, byte [edi + 5]
mov edi, dword [ebp - 0xc]
xor al, dl
mov edx, dword [ebp - 0x14]
xor al, cl
mov byte [ebp - 0xd], al
mov al, byte [esi + str.cw]
mov ah, byte [edi + 0x5b5100]
xor ah, byte [edx + 0x5b5000]
mov edx, dword [ebp + 0xc]
movzx esi, byte [ebp - 0x1c]
mov dword [ebp - 0xc], esi
xor ah, byte [edx + 6]
xor ah, al
xor ah, cl
mov cl, byte [ebx + 0x5b5100]
xor cl, byte [edi + 0x5b5000]
xor cl, byte [edx + 7]
xor cl, byte [ebp + 0xb]
xor cl, al
mov byte [ebp - 0x1d], ah
movzx eax, byte [ebp - 1]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x18]
mov dword [ebp + 8], eax
movzx eax, byte [ebp - 0x18]
movzx edi, byte [ebp - 3]
mov byte [ebp - 8], cl
movzx ecx, byte [ebp - 1]
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1c]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 3]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
xor al, bl
xor al, dl
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [edi + 0x5b5000]
xor al, byte [esi + 0x5b5100]
mov esi, dword [ebp + 0xc]
xor al, byte [esi + 9]
mov esi, dword [ebp - 0xc]
xor al, dl
mov edx, dword [ebp + 8]
xor al, cl
mov byte [ebp - 5], al
mov al, byte [edi + str.cw]
mov ah, byte [edx + 0x5b5100]
xor ah, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor ah, byte [esi + 0xa]
xor ah, al
xor ah, cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0xb], ah
movzx edi, byte [ebp - 0x16]
mov dword [ebp - 0xc], edi
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0xb]
xor cl, bl
movzx edx, byte [ebp - 0x1a]
xor cl, al
movzx esi, byte [ebp - 0x1b]
movzx eax, byte [ebp - 2]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x16]
mov edi, dword [ebp + 0xc]
mov byte [ebp - 0x18], cl
movzx ecx, byte [ebp - 0x1a]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1b]
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 2]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 0xc]
mov cl, byte [edx + 0x5b5000]
xor al, bh
xor cl, byte [esi + 0x5b5100]
xor al, bl
xor cl, byte [edi + 0xd]
mov edi, dword [ebp - 0xc]
xor cl, bl
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + str.cw]
xor cl, al
mov byte [ebp - 3], cl
mov cl, byte [edx + str.cw]
mov dl, byte [edi + 0x5b5100]
xor dl, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor dl, byte [esi + 0xe]
xor dl, cl
xor dl, al
mov al, byte [edi + 0x5b5000]
mov byte [ebp - 6], dl
mov edx, dword [ebp - 0x14]
movzx edi, byte [ebp + 0xb]
xor al, byte [edx + 0x5b5100]
xor al, byte [esi + 0xf]
add esi, 0x10
xor al, bh
movzx edx, byte [ebp - 0xd]
xor al, cl
mov dword [ebp + 0xc], esi
movzx ecx, al
movzx eax, al
movzx esi, byte [ebp - 7]
mov dword [ebp - 0xc], ecx
movzx ecx, byte [ebp - 7]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp + 0xb]
mov dword [ebp + 8], esi
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 0xd]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx]
mov cl, byte [esi + str.cw]
xor al, bh
mov esi, dword [ebp + 0xc]
xor al, bl
mov byte [ebp - 7], al
mov al, byte [edi + 0x5b5100]
xor al, byte [edx + 0x5b5000]
xor al, byte [esi + 1]
xor al, cl
xor al, bl
mov byte [ebp - 0x1a], al
mov al, byte [edx + str.cw]
mov edx, dword [ebp - 0xc]
mov bl, byte [edi + 0x5b5000]
mov edi, esi
mov esi, dword [ebp + 8]
xor bl, byte [edx + 0x5b5100]
xor bl, byte [edi + 2]
xor bl, al
xor bl, cl
mov cl, byte [esi + 0x5b5100]
xor cl, byte [edx + 0x5b5000]
xor cl, byte [edi + 3]
xor cl, al
movzx esi, byte [ebp - 5]
movzx eax, byte [ebp - 6]
xor cl, bh
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 6]
mov byte [ebp - 0x16], cl
movzx ecx, byte [ebp - 4]
movzx edi, byte [ebp - 0x15]
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 0x15]
mov byte [ebp - 0x1c], bl
movzx ebx, byte [ebp - 4]
mov byte [ebp + 0xb], dh
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 5]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
mov ch, byte [esi + 0x5b5000]
xor al, dl
mov cl, byte [ebx + str.cw]
xor al, dh
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x14]
xor ch, byte [eax + 0x5b5100]
mov eax, dword [ebp + 0xc]
xor ch, byte [eax + 5]
mov ah, byte [edi + 0x5b5100]
xor ch, cl
mov al, byte [esi + str.cw]
xor ch, dl
mov edx, dword [ebp - 0x14]
movzx esi, byte [ebp - 0x17]
mov byte [ebp - 0xd], ch
xor ah, byte [edx + 0x5b5000]
mov edx, dword [ebp + 0xc]
xor ah, byte [edx + 6]
xor ah, al
xor ah, cl
mov cl, byte [ebx + 0x5b5100]
xor cl, byte [edi + 0x5b5000]
xor cl, byte [edx + 7]
xor cl, al
mov byte [ebp - 0x1b], ah
movzx eax, byte [ebp - 1]
xor cl, byte [ebp + 0xb]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 8]
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 8]
movzx edi, byte [ebp - 3]
mov byte [ebp - 0x15], cl
movzx ecx, byte [ebp - 3]
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x17]
mov dword [ebp + 8], esi
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 1]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
xor al, bl
xor al, dl
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [esi + 0x5b5100]
xor al, byte [edi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor al, byte [esi + 9]
xor al, cl
mov esi, dword [ebp + 8]
xor al, dl
mov edx, dword [ebp - 0xc]
mov byte [ebp - 5], al
mov al, byte [edi + str.cw]
mov ah, byte [esi + 0x5b5000]
xor ah, byte [edx + 0x5b5100]
mov esi, dword [ebp + 0xc]
movzx edi, byte [ebp - 0x18]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp + 0xc]
xor ah, byte [esi + 0xa]
xor ah, al
xor ah, cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0xb], ah
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0xb]
xor cl, al
movzx edx, byte [ebp - 0x19]
movzx eax, byte [ebp - 2]
xor cl, bl
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x18]
movzx esi, byte [ebp - 0x1d]
mov byte [ebp - 8], cl
movzx ecx, byte [ebp - 0x19]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1d]
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 2]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 0xc]
mov cl, byte [edx + 0x5b5000]
xor al, bh
xor cl, byte [esi + 0x5b5100]
xor al, bl
xor cl, byte [edi + 0xd]
mov edi, dword [ebp - 0xc]
xor cl, bl
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + str.cw]
xor cl, al
mov byte [ebp - 3], cl
mov cl, byte [edx + str.cw]
mov dl, byte [edi + 0x5b5100]
xor dl, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor dl, byte [esi + 0xe]
xor dl, cl
xor dl, al
mov eax, dword [ebp - 0x14]
mov byte [ebp - 6], dl
mov al, byte [eax + 0x5b5100]
xor al, byte [edi + 0x5b5000]
xor al, byte [esi + 0xf]
movzx edi, byte [ebp - 7]
xor al, bh
movzx ebx, byte [ebp + 0xb]
xor al, cl
movzx ecx, al
add esi, 0x10
movzx eax, al
mov dword [ebp + 0xc], esi
movzx esi, byte [ebp - 0xd]
mov dword [ebp - 0xc], ecx
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp + 0xb]
movzx ecx, byte [ebp - 7]
mov dword [ebp + 8], edi
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 0xd]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx]
mov cl, byte [edi + str.cw]
xor al, dh
xor al, dl
mov edi, dword [ebp + 0xc]
mov byte [ebp - 7], al
mov al, byte [esi + 0x5b5000]
xor al, byte [ebx + 0x5b5100]
xor al, byte [edi + 1]
xor al, dl
xor al, cl
mov byte [ebp - 0x20], al
mov al, byte [esi + str.cw]
mov esi, dword [ebp - 0xc]
mov dl, byte [esi + 0x5b5100]
xor dl, byte [ebx + 0x5b5000]
mov ebx, edi
mov edi, dword [ebp + 8]
xor dl, byte [ebx + 2]
xor dl, al
xor dl, cl
mov cl, byte [esi + 0x5b5000]
xor cl, byte [edi + 0x5b5100]
xor cl, byte [ebx + 3]
xor cl, dh
movzx ebx, byte [ebp - 4]
xor cl, al
movzx edi, byte [ebp - 0x16]
movzx eax, byte [ebp - 6]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 6]
movzx esi, byte [ebp - 5]
mov byte [ebp - 0x17], cl
movzx ecx, byte [ebp - 4]
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 0x16]
mov byte [ebp - 0x19], dl
mov dword [ebp - 0xc], edi
mov edi, dword [ebp + 0xc]
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 5]
mov byte [ebp + 0xb], dh
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
xor al, dl
mov cl, byte [ebx + str.cw]
xor al, dh
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 0x5b5100]
xor al, byte [esi + 0x5b5000]
xor al, byte [edi + 5]
mov edi, dword [ebp - 0xc]
xor al, dl
mov edx, dword [ebp - 0x14]
xor al, cl
mov byte [ebp - 0xd], al
mov al, byte [esi + str.cw]
mov ah, byte [edi + 0x5b5100]
xor ah, byte [edx + 0x5b5000]
mov edx, dword [ebp + 0xc]
xor ah, byte [edx + 6]
xor ah, al
xor ah, cl
mov cl, byte [ebx + 0x5b5100]
xor cl, byte [edi + 0x5b5000]
xor cl, byte [edx + 7]
xor cl, byte [ebp + 0xb]
movzx edi, byte [ebp - 3]
xor cl, al
mov byte [ebp - 0x1f], ah
movzx eax, byte [ebp - 1]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x15]
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 0x15]
mov byte [ebp - 0x16], cl
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1c]
movzx ecx, byte [ebp - 1]
movzx esi, byte [ebp - 0x1c]
mov dword [ebp + 8], esi
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 3]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
xor al, bl
xor al, dl
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [esi + 0x5b5100]
xor al, byte [edi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor al, byte [esi + 9]
mov esi, dword [ebp + 8]
xor al, dl
mov edx, dword [ebp - 0xc]
xor al, cl
mov byte [ebp - 5], al
mov al, byte [edi + str.cw]
mov ah, byte [esi + 0x5b5000]
xor ah, byte [edx + 0x5b5100]
mov esi, dword [ebp + 0xc]
mov dl, byte [edx + 0x5b5000]
movzx edi, byte [ebp - 8]
mov dword [ebp - 0xc], edi
xor ah, byte [esi + 0xa]
xor ah, al
mov edi, dword [ebp + 0xc]
xor ah, cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp + 0xb], ah
xor dl, byte [ecx + 0x5b5100]
xor dl, byte [esi + 0xb]
movzx ecx, byte [ebp - 0x1a]
xor dl, bl
xor dl, al
movzx esi, byte [ebp - 0x1b]
movzx eax, byte [ebp - 2]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 8]
mov byte [ebp - 0x15], dl
movzx edx, byte [ebp - 0x1a]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1b]
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 2]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 0xc]
xor al, bh
xor al, bl
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [edx + 0x5b5000]
xor al, byte [esi + 0x5b5100]
xor al, byte [edi + 0xd]
mov edi, dword [ebp - 0xc]
xor al, bl
xor al, cl
mov byte [ebp - 3], al
mov al, byte [edx + str.cw]
mov dl, byte [edi + 0x5b5100]
xor dl, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor dl, byte [esi + 0xe]
xor dl, al
xor dl, cl
mov cl, byte [edi + 0x5b5000]
mov byte [ebp - 6], dl
mov edx, dword [ebp - 0x14]
xor cl, byte [edx + 0x5b5100]
xor cl, byte [esi + 0xf]
xor cl, al
movzx edi, byte [ebp + 0xb]
xor cl, bh
movzx edx, byte [ebp - 0xd]
movzx eax, cl
add esi, 0x10
mov dword [ebp - 0xc], eax
movzx eax, cl
movzx ecx, byte [ebp - 7]
mov dword [ebp + 0xc], esi
movzx esi, byte [ebp - 7]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp + 0xb]
mov dword [ebp + 8], esi
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 0xd]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, bh
xor al, bl
xor al, byte [ecx]
mov cl, byte [esi + str.cw]
mov esi, dword [ebp + 0xc]
mov byte [ebp - 0x1e], al
mov al, byte [edi + 0x5b5100]
xor al, byte [edx + 0x5b5000]
xor al, byte [esi + 1]
xor al, cl
xor al, bl
mov byte [ebp - 0x18], al
mov al, byte [edx + str.cw]
mov edx, dword [ebp - 0xc]
mov bl, byte [edx + 0x5b5100]
xor bl, byte [edi + 0x5b5000]
mov edi, esi
mov esi, dword [ebp + 8]
xor bl, byte [edi + 2]
xor bl, al
xor bl, cl
mov cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0x5b5100]
xor cl, byte [edi + 3]
xor cl, al
movzx edi, byte [ebp - 0x17]
movzx eax, byte [ebp - 6]
xor cl, bh
movzx esi, byte [ebp - 5]
mov byte [ebp - 7], cl
movzx ecx, byte [ebp - 4]
mov dh, byte [eax + str.cw]
movzx eax, byte [ebp - 4]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x17]
mov byte [ebp - 8], bl
movzx ebx, byte [ebp - 6]
mov dword [ebp - 0xc], edi
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 5]
mov edi, dword [ebp + 0xc]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
xor al, dl
xor al, dh
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [ebx + 0x5b5100]
xor al, byte [esi + 0x5b5000]
xor al, byte [edi + 5]
mov edi, dword [ebp - 0xc]
xor al, cl
xor al, dl
mov dl, byte [ebx + 0x5b5000]
mov ebx, dword [ebp + 0xc]
mov byte [ebp + 0xb], al
xor dl, byte [edi + 0x5b5100]
mov al, byte [esi + str.cw]
xor dl, byte [ebx + 6]
xor dl, al
movzx esi, byte [ebp - 0x19]
xor dl, cl
mov dword [ebp - 0x34], esi
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0x22], dl
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edi + 0x5b5000]
xor cl, byte [ebx + 7]
xor cl, al
movzx edi, byte [ebp - 3]
movzx eax, byte [ebp - 1]
xor cl, dh
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x16]
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 0x16]
mov byte [ebp - 6], cl
movzx ecx, byte [ebp - 1]
mov dl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x19]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 3]
mov al, byte [eax + 0x5b5100]
xor al, byte [ecx + 0x5b5000]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
xor al, bl
xor al, dl
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + str.cw]
mov al, byte [esi + 0x5b5100]
xor al, byte [edi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor al, byte [esi + 9]
mov esi, dword [ebp - 0x34]
xor al, cl
xor al, dl
mov edx, dword [ebp - 0xc]
mov byte [ebp - 0x19], al
mov al, byte [edi + str.cw]
movzx edi, byte [ebp - 0x15]
mov ah, byte [edx + 0x5b5100]
xor ah, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp + 0xc]
xor ah, byte [esi + 0xa]
xor ah, al
xor ah, cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0xd], ah
mov cl, byte [ecx + 0x5b5100]
xor cl, byte [edx + 0x5b5000]
xor cl, byte [esi + 0xb]
xor cl, al
movzx esi, byte [ebp - 0x1f]
movzx eax, byte [ebp - 2]
xor cl, bl
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x15]
movzx edx, byte [ebp - 0x20]
mov byte [ebp - 0x21], cl
movzx ecx, byte [ebp - 0x20]
mov bl, byte [eax + str.cw]
movzx eax, byte [ebp - 0x1f]
mov bh, byte [eax + str.cw]
movzx eax, byte [ebp - 2]
mov al, byte [eax + 0x5b5000]
xor al, byte [ecx + 0x5b5100]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 0xc]
mov cl, byte [esi + 0x5b5100]
xor al, bh
xor cl, byte [edx + 0x5b5000]
xor al, bl
xor cl, byte [edi + 0xd]
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + str.cw]
mov edi, dword [ebp - 0xc]
xor cl, bl
xor cl, al
mov byte [ebp - 0x1b], cl
mov cl, byte [edx + str.cw]
mov dl, byte [esi + 0x5b5000]
mov esi, dword [ebp + 0xc]
xor dl, byte [edi + 0x5b5100]
xor dl, byte [esi + 0xe]
xor dl, cl
xor dl, al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 0x5b5100]
xor al, byte [edi + 0x5b5000]
xor al, byte [esi + 0xf]
xor al, bh
movzx edi, byte [ebp - 0x19]
xor al, cl
movzx ebx, byte [ebp - 0xd]
movzx ecx, al
add esi, 0x10
movzx eax, al
mov dword [ebp - 0x4c], ecx
movzx ecx, byte [ebp + 0xb]
mov dword [ebp - 0x60], ecx
mov al, byte [eax + str.cw]
mov byte [ebp - 2], al
movzx eax, byte [ebp - 0xd]
mov dword [ebp - 0x3c], ebx
mov bh, byte [esi]
mov dword [ebp + 0xc], esi
mov al, byte [eax + str.cw]
mov byte [ebp - 0x1a], al
movzx eax, byte [ebp - 0x1e]
mov dword [ebp - 0x50], eax
mov al, byte [eax + str.cw]
mov byte [ebp - 1], al
mov al, byte [esi + 1]
mov byte [ebp - 0x2a], al
mov al, byte [ecx + str.cw]
mov byte [ebp - 0x17], al
mov al, byte [esi + 2]
mov byte [ebp - 0x26], al
mov al, byte [esi + 3]
movzx ecx, byte [ebp - 0x1d]
mov byte [ebp - 0x2e], al
movzx eax, dl
mov dword [ebp - 0x38], eax
movzx eax, dl
movzx edx, byte [ebp - 7]
mov dword [ebp - 0x58], edx
mov dh, byte [esi + 5]
mov al, byte [eax + str.cw]
mov byte [ebp - 0x15], al
movzx eax, byte [ebp - 7]
mov dword [ebp - 0x5c], ecx
mov al, byte [eax + str.cw]
mov byte [ebp - 0x20], al
mov al, byte [esi + 4]
mov byte [ebp - 0xd], al
mov al, byte [ecx + str.cw]
mov byte [ebp - 3], al
mov al, byte [edi + str.cw]
movzx ecx, byte [ebp - 0x1b]
mov byte [ebp - 0x28], al
mov al, byte [esi + 6]
mov byte [ebp - 0x2b], al
mov al, byte [esi + 7]
movzx esi, byte [ebp - 6]
mov byte [ebp - 0x27], al
movzx eax, byte [ebp - 0x1c]
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 6]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x34], esi
mov al, byte [eax + str.cw]
mov byte [ebp - 6], al
movzx eax, byte [ebp - 8]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 8]
mov al, byte [eax + str.cw]
mov esi, dword [ebp + 0xc]
mov byte [ebp - 5], al
mov al, byte [esi + 8]
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0xc]
mov bl, byte [esi + 0xa]
mov al, byte [eax + str.cw]
mov byte [ebp - 0x1f], al
mov al, byte [esi + 9]
mov byte [ebp - 7], al
mov al, byte [ecx + str.cw]
mov byte [ebp - 4], al
mov al, byte [esi + 0xb]
mov byte [ebp - 0x2c], al
movzx eax, byte [ebp - 0x21]
mov dword [ebp - 0x40], eax
movzx eax, byte [ebp - 0x21]
movzx esi, byte [ebp - 0x16]
movzx ecx, byte [ebp - 0x18]
mov dword [ebp - 0x54], ecx
mov al, byte [eax + str.cw]
mov byte [ebp - 0x24], al
movzx eax, byte [ebp - 0x22]
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x22]
mov al, byte [eax + str.cw]
mov byte [ebp - 8], al
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 0xc]
mov byte [ebp - 0x29], al
mov al, byte [esi + str.cw]
mov byte [ebp - 0x2d], al
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 0xd]
mov byte [ebp - 0x25], al
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 0x22], al
mov al, byte [ecx + 0xe]
mov dl, byte [ecx + 0xf]
add ecx, 0x10
mov byte [ebp - 0x21], al
movzx eax, byte [ebp + 0xb]
mov dword [ebp + 0xc], ecx
movzx ecx, byte [eax + 0x5b5100]
movzx eax, byte [ebp - 0x1e]
movzx eax, byte [eax + 0x5b5000]
xor ecx, eax
movzx eax, byte [ebp - 2]
xor ecx, eax
movzx eax, bh
xor ecx, eax
movzx eax, byte [ebp - 0x1a]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx]
mov ecx, dword [ebp + 0x10]
mov byte [ecx], al
mov eax, dword [ebp - 0x38]
movzx ecx, byte [edi + 0x5b5000]
mov edi, dword [ebp + 0x10]
movzx eax, byte [eax + 0x5b5100]
xor ecx, eax
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 3]
xor ecx, eax
movzx eax, byte [ebp - 0x20]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 1]
mov byte [edi + 1], al
mov eax, dword [ebp - 0x34]
movzx ecx, byte [eax + 0x5b5100]
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax + 0x5b5000]
xor ecx, eax
movzx eax, bl
xor ecx, eax
movzx eax, byte [ebp - 4]
xor ecx, eax
mov ebx, dword [ebp + 0x10]
movzx eax, byte [ebp - 0x1f]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 2]
mov byte [edi + 2], al
mov edi, dword [ebp - 0x40]
movzx eax, byte [esi + 0x5b5100]
mov esi, dword [ebp + 0x10]
movzx ecx, byte [edi + 0x5b5000]
xor ecx, eax
movzx eax, byte [ebp - 0x22]
xor ecx, eax
movzx eax, dl
xor ecx, eax
movzx eax, byte [ebp - 8]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 3]
mov byte [esi + 3], al
movzx eax, byte [ebp - 0x19]
movzx ecx, byte [eax + 0x5b5100]
movzx eax, byte [ebp - 0x1d]
movzx eax, byte [eax + 0x5b5000]
xor ecx, eax
movzx eax, byte [ebp - 0xd]
xor ecx, eax
movzx eax, byte [ebp - 0x20]
xor ecx, eax
movzx eax, byte [ebp - 0x15]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 4]
mov byte [esi + 4], al
mov eax, dword [ebp - 0x44]
movzx ecx, byte [eax + 0x5b5000]
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax + 0x5b5100]
xor ecx, eax
movzx eax, byte [ebp - 7]
xor ecx, eax
movzx eax, byte [ebp - 0x1f]
xor ecx, eax
movzx eax, byte [ebp - 6]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 5]
movzx ecx, byte [edi + 0x5b5100]
mov byte [esi + 5], al
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x4c]
movzx eax, byte [esi + 0x5b5000]
xor ecx, eax
movzx eax, byte [ebp - 0x21]
xor ecx, eax
movzx eax, byte [ebp - 0x22]
xor ecx, eax
movzx eax, byte [ebp - 0x2d]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 6]
movzx ecx, byte [edi + 0x5b5000]
mov byte [ebx + 6], al
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax + 0x5b5100]
xor ecx, eax
movzx eax, byte [ebp - 0x2e]
xor ecx, eax
movzx eax, byte [ebp - 0x17]
xor ecx, eax
movzx eax, byte [ebp - 0x1a]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 7]
mov byte [ebx + 7], al
movzx eax, byte [ebp - 0x1b]
movzx ecx, byte [eax + 0x5b5100]
movzx eax, byte [ebp - 0x1c]
movzx eax, byte [eax + 0x5b5000]
xor ecx, eax
movzx eax, byte [ebp - 0x23]
xor ecx, eax
movzx eax, byte [ebp - 5]
xor ecx, eax
movzx eax, byte [ebp - 6]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 8]
mov byte [ebx + 8], al
mov eax, dword [ebp - 0x54]
movzx ecx, byte [eax + 0x5b5000]
movzx eax, byte [esi + 0x5b5100]
xor ecx, eax
mov esi, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x2d]
xor ecx, eax
movzx eax, byte [ebp - 0x24]
xor ecx, eax
movzx eax, byte [ebp - 0x25]
xor ecx, eax
mov al, byte [ecx + str.cw]
mov ecx, dword [ebp + 0xc]
xor al, byte [ecx + 9]
mov byte [ebx + 9], al
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x5b5000]
movzx eax, byte [edi + 0x5b5100]
xor ecx, eax
mov edi, dword [ebp + 0xc]
movzx eax, byte [ebp - 0x26]
xor ecx, eax
movzx eax, byte [ebp - 0x17]
xor ecx, eax
movzx eax, byte [ebp - 1]
xor ecx, eax
mov al, byte [ecx + str.cw]
xor al, byte [edi + 0xa]
movzx ecx, byte [esi + 0x5b5000]
mov byte [ebx + 0xa], al
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax + 0x5b5100]
xor ecx, eax
movzx eax, byte [ebp - 0x27]
xor ecx, eax
movzx eax, byte [ebp - 0x28]
xor ecx, eax
movzx eax, byte [ebp - 0x15]
xor ecx, eax
mov al, byte [ecx + str.cw]
xor al, byte [edi + 0xb]
mov byte [ebx + 0xb], al
movzx eax, byte [ebp - 0x16]
movzx ecx, byte [eax + 0x5b5000]
movzx eax, byte [ebp - 0x18]
movzx eax, byte [eax + 0x5b5100]
xor ecx, eax
movzx eax, byte [ebp - 0x29]
xor ecx, eax
movzx eax, byte [ebp - 8]
xor ecx, eax
movzx eax, byte [ebp - 0x24]
xor ecx, eax
mov al, byte [ecx + str.cw]
xor al, byte [edi + 0xc]
mov byte [ebx + 0xc], al
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax + 0x5b5100]
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax + 0x5b5000]
xor ecx, eax
movzx eax, byte [ebp - 2]
xor ecx, eax
movzx eax, byte [ebp - 0x2a]
xor ecx, eax
movzx eax, byte [ebp - 1]
xor ecx, eax
mov al, byte [ecx + str.cw]
xor al, byte [edi + 0xd]
movzx ecx, byte [esi + 0x5b5100]
mov byte [ebx + 0xd], al
mov eax, dword [ebp - 0x38]
movzx eax, byte [eax + 0x5b5000]
xor ecx, eax
movzx eax, byte [ebp - 0x28]
xor ecx, eax
movzx eax, byte [ebp - 3]
xor ecx, eax
movzx eax, byte [ebp - 0x2b]
xor ecx, eax
mov al, byte [ecx + str.cw]
xor al, byte [edi + 0xe]
mov byte [ebx + 0xe], al
mov eax, dword [ebp - 0x34]
movzx ecx, byte [eax + 0x5b5000]
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x5b5100]
xor ecx, eax
movzx eax, byte [ebp - 0x2c]
xor ecx, eax
movzx eax, byte [ebp - 4]
xor ecx, eax
movzx eax, byte [ebp - 5]
xor ecx, eax
mov al, byte [ecx + str.cw]
xor al, byte [edi + 0xf]
pop edi
pop esi
mov byte [ebx + 0xf], al
pop ebx
mov esp, ebp
pop ebp
ret