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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
add eax, 0x100
mov dword [ebp - 4], eax
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + ecx]
shl eax, 0x18
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 0xc]
movzx ecx, byte [edx + ecx]
shl ecx, 0x10
or eax, ecx
mov edx, 1
shl edx, 1
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
shl edx, 8
or eax, edx
mov ecx, 1
imul edx, ecx, 3
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
or eax, edx
mov dword [ebp - 8], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
xor eax, dword [edx + ecx]
mov dword [ebp - 8], eax
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + eax]
shl edx, 0x18
mov eax, 1
imul ecx, eax, 5
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
shl ecx, 0x10
or edx, ecx
mov eax, 1
imul ecx, eax, 6
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
shl ecx, 8
or edx, ecx
mov eax, 1
imul ecx, eax, 7
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
or edx, ecx
mov dword [ebp - 0xc], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
xor edx, dword [ecx + eax]
mov dword [ebp - 0xc], edx
mov eax, 1
shl eax, 3
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + eax]
shl edx, 0x18
mov eax, 1
imul ecx, eax, 9
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
shl ecx, 0x10
or edx, ecx
mov eax, 1
imul ecx, eax, 0xa
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
shl ecx, 8
or edx, ecx
mov eax, 1
imul ecx, eax, 0xb
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
or edx, ecx
mov dword [ebp - 0x10], edx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
xor edx, dword [ecx + eax]
mov dword [ebp - 0x10], edx
mov eax, 1
imul ecx, eax, 0xc
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + ecx]
shl eax, 0x18
mov ecx, 1
imul edx, ecx, 0xd
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
shl edx, 0x10
or eax, edx
mov ecx, 1
imul edx, ecx, 0xe
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
shl edx, 8
or eax, edx
mov ecx, 1
imul edx, ecx, 0xf
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
or eax, edx
mov dword [ebp - 0x14], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
xor eax, dword [edx + ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 8]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x14]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x10]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x18], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0xc]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x14]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x10]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x1c], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x10]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x14]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x20], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x14]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x10]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x18]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x24]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x20]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x1c]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 8], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x24]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x20]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0xc], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x20]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x24]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x10], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x24]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x20]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x1c]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x18]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 8]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x14]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x10]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x18], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0xc]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x14]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x10]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x1c], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x10]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x14]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x20], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x14]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x10]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x18]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x24]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x20]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x1c]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 8], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x24]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x20]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0xc], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x20]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x24]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x10], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x24]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x20]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x1c]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x18]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 8]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x14]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x10]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x18], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0xc]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x14]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x10]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x1c], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x10]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x14]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x20], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x14]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x10]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x18]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x24]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x20]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x1c]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 8], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x24]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x20]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0xc], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x20]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x24]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x10], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x24]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x20]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x1c]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x18]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 8]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x14]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x10]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x18], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0xc]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x14]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x10]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x1c], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x10]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x14]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x20], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x14]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x10]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x18]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x24]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x20]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x1c]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 8], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x24]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x20]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0xc], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x20]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x24]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x10], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x24]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x20]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x1c]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x18]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 8]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x14]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x10]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x18], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0xc]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x14]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x10]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x1c], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x10]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x14]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x20], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x14]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x10]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x200], 0xa
jle 0x403f52
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x18]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x24]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x20]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x1c]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 8], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x24]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x20]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0xc], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x20]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x24]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x10], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x24]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x20]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x1c]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x18]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 8]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x14]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x10]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x18], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0xc]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x14]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x10]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x1c], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x10]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x14]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x20], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x14]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x10]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x200], 0xc
jle 0x4041d2
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x18]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x24]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x20]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x1c]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 8], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x24]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x20]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0xc], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x20]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x24]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x10], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x24]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x20]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x1c]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0x18]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 8]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x14]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0x10]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x18], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0xc]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 0x14]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x10]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x1c], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x10]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax]
xor eax, dword [edx*4 + 0x437860]
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x437c60]
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x438060]
movzx ecx, byte [ebp - 0x14]
xor eax, dword [ecx*4 + 0x438460]
mov dword [ebp - 0x20], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x14]
shr edx, 0x18
movzx eax, dl
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx]
xor ecx, dword [eax*4 + 0x437860]
mov edx, dword [ebp - 0x10]
shr edx, 0x10
movzx eax, dl
xor ecx, dword [eax*4 + 0x437c60]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x438060]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x438460]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 4]
add eax, 0x10
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x18]
shr edx, 0x18
movzx eax, dl
mov edx, dword [eax*4 + str.R_tj068_]
shl edx, 0x18
mov eax, dword [ebp - 4]
xor edx, dword [eax + ecx]
mov ecx, dword [ebp - 0x24]
shr ecx, 0x10
movzx eax, cl
mov ecx, dword [eax*4 + str.R_tj068_]
shl ecx, 0x10
xor edx, ecx
mov eax, dword [ebp - 0x20]
shr eax, 8
movzx ecx, al
mov eax, dword [ecx*4 + str.R_tj068_]
shl eax, 8
xor edx, eax
movzx ecx, byte [ebp - 0x1c]
xor edx, dword [ecx*4 + str.R_tj068_]
mov dword [ebp - 8], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [edx*4 + str.R_tj068_]
shl ecx, 0x18
mov edx, dword [ebp - 4]
xor ecx, dword [edx + eax]
mov eax, dword [ebp - 0x18]
shr eax, 0x10
movzx edx, al
mov eax, dword [edx*4 + str.R_tj068_]
shl eax, 0x10
xor ecx, eax
mov edx, dword [ebp - 0x24]
shr edx, 8
movzx eax, dl
mov edx, dword [eax*4 + str.R_tj068_]
shl edx, 8
xor ecx, edx
movzx eax, byte [ebp - 0x20]
xor ecx, dword [eax*4 + str.R_tj068_]
mov dword [ebp - 0xc], ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x20]
shr ecx, 0x18
movzx edx, cl
mov ecx, dword [edx*4 + str.R_tj068_]
shl ecx, 0x18
mov edx, dword [ebp - 4]
xor ecx, dword [edx + eax]
mov eax, dword [ebp - 0x1c]
shr eax, 0x10
movzx edx, al
mov eax, dword [edx*4 + str.R_tj068_]
shl eax, 0x10
xor ecx, eax
mov edx, dword [ebp - 0x18]
shr edx, 8
movzx eax, dl
mov edx, dword [eax*4 + str.R_tj068_]
shl edx, 8
xor ecx, edx
movzx eax, byte [ebp - 0x24]
xor ecx, dword [eax*4 + str.R_tj068_]
mov dword [ebp - 0x10], ecx
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 0x24]
shr edx, 0x18
movzx eax, dl
mov edx, dword [eax*4 + str.R_tj068_]
shl edx, 0x18
mov eax, dword [ebp - 4]
xor edx, dword [eax + ecx]
mov ecx, dword [ebp - 0x20]
shr ecx, 0x10
movzx eax, cl
mov ecx, dword [eax*4 + str.R_tj068_]
shl ecx, 0x10
xor edx, ecx
mov eax, dword [ebp - 0x1c]
shr eax, 8
movzx ecx, al
mov eax, dword [ecx*4 + str.R_tj068_]
shl eax, 8
xor edx, eax
movzx ecx, byte [ebp - 0x18]
xor edx, dword [ecx*4 + str.R_tj068_]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 8]
shr eax, 0x18
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edx], al
mov eax, dword [ebp - 8]
shr eax, 0x10
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 0x10]
mov byte [edx + ecx], al
mov eax, dword [ebp - 8]
shr eax, 8
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp + 0x10]
mov byte [edx + ecx], al
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp + 0x10]
mov al, byte [ebp - 8]
mov byte [edx + ecx], al
mov eax, dword [ebp - 0xc]
shr eax, 0x18
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp + 0x10]
mov byte [edx + ecx], al
mov eax, dword [ebp - 0xc]
shr eax, 0x10
mov ecx, 1
imul edx, ecx, 5
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edx], al
mov eax, dword [ebp - 0xc]
shr eax, 8
mov ecx, 1
imul edx, ecx, 6
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edx], al
mov eax, 1
imul ecx, eax, 7
mov edx, dword [ebp + 0x10]
mov al, byte [ebp - 0xc]
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x10]
shr eax, 0x18
mov ecx, 1
shl ecx, 3
mov edx, dword [ebp + 0x10]
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x10]
shr eax, 0x10
mov ecx, 1
imul edx, ecx, 9
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edx], al
mov eax, dword [ebp - 0x10]
shr eax, 8
mov ecx, 1
imul edx, ecx, 0xa
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edx], al
mov eax, 1
imul ecx, eax, 0xb
mov edx, dword [ebp + 0x10]
mov al, byte [ebp - 0x10]
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x14]
shr eax, 0x18
mov ecx, 1
imul edx, ecx, 0xc
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edx], al
mov eax, dword [ebp - 0x14]
shr eax, 0x10
mov ecx, 1
imul edx, ecx, 0xd
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edx], al
mov eax, dword [ebp - 0x14]
shr eax, 8
mov ecx, 1
imul edx, ecx, 0xe
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edx], al
mov eax, 1
imul ecx, eax, 0xf
mov edx, dword [ebp + 0x10]
mov al, byte [ebp - 0x14]
mov byte [edx + ecx], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret