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

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x20]
xor ecx, ecx
xor edx, edx
push ebx
mov cl, byte [eax + 1]
mov dh, byte [eax]
xor edx, ecx
xor ecx, ecx
mov cl, byte [eax + 2]
push ebp
shl edx, 8
xor edx, ecx
xor ecx, ecx
mov cl, byte [eax + 3]
push esi
mov esi, dword [esp + 0x24]
xor ebx, ebx
shl edx, 8
mov bl, byte [eax + 5]
xor edx, ecx
mov ecx, dword [esi]
push edi
xor edx, ecx
xor ecx, ecx
mov ch, byte [eax + 4]
mov edi, dword [esi + 4]
xor ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 6]
mov ebp, dword [esi + 0xc]
shl ecx, 8
xor ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 7]
mov dword [esp + 0x18], edx
shl ecx, 8
xor ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 9]
xor edi, ecx
xor ecx, ecx
mov dword [esp + 0x14], edi
mov ch, byte [eax + 8]
xor ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0xa]
shl ecx, 8
xor ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0xb]
shl ecx, 8
xor ecx, ebx
mov ebx, dword [esi + 8]
xor ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0xd]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov ch, byte [eax + 0xc]
xor ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0xe]
shl ecx, 8
xor ecx, ebx
xor ebx, ebx
mov bl, byte [eax + 0xf]
xor eax, eax
shl ecx, 8
xor ecx, ebx
xor ecx, ebp
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov cl, byte [esp + 0x31]
mov al, byte [esp + 0x22]
mov ebx, dword [ecx*4 + 0x490840]
mov eax, dword [eax*4 + 0x490440]
mov ecx, edx
xor eax, ebx
shr ecx, 0x18
xor eax, dword [ecx*4 + 0x490040]
mov ecx, edi
and ecx, 0xff
shr edi, 0x18
mov ebx, dword [ecx*4 + 0x490c40]
mov ecx, dword [esi + 0x10]
xor eax, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1a]
xor eax, ecx
xor ecx, ecx
mov dword [esp + 0x1c], eax
mov cl, byte [esp + 0x21]
mov ebp, dword [ebx*4 + 0x490440]
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x30]
mov ecx, dword [ecx*4 + 0x490840]
and edi, 0xff
xor ecx, ebp
xor ecx, ebx
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x14]
xor ecx, ebx
xor ecx, edi
xor ebx, ebx
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov cl, byte [esp + 0x16]
mov bl, dh
mov edx, dword [esp + 0x30]
mov ecx, dword [ecx*4 + 0x490440]
mov ebp, dword [ebx*4 + 0x490840]
shr edx, 0x18
xor ecx, ebp
mov ebp, dword [edx*4 + 0x490040]
mov edx, dword [esp + 0x20]
and edx, 0xff
xor ecx, ebp
mov ebp, dword [esi + 0x18]
mov edi, dword [edx*4 + 0x490c40]
xor edx, edx
mov dl, byte [esp + 0x15]
xor ecx, edi
xor ecx, ebp
mov ebx, dword [edx*4 + 0x490840]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
xor ecx, ecx
mov cl, byte [esp + 0x32]
shr edx, 0x18
mov ecx, dword [ecx*4 + 0x490440]
mov ebp, dword [edx*4 + 0x490040]
mov edx, dword [esp + 0x18]
and edx, 0xff
xor ecx, ebx
xor ecx, ebp
xor ebx, ebx
mov edi, dword [edx*4 + 0x490c40]
mov edx, dword [esi + 0x1c]
xor ecx, edi
mov edi, eax
xor ecx, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov cl, byte [esp + 0x22]
mov bl, dh
shr edi, 0x18
mov ecx, dword [ecx*4 + 0x490440]
mov ebp, dword [ebx*4 + 0x490840]
xor ecx, ebp
mov ebp, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x10]
mov ebx, dword [esi + 0x20]
and edi, 0xff
xor ecx, ebp
xor ecx, dword [edi*4 + 0x490c40]
xor ecx, ebx
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov cl, byte [esp + 0x21]
mov ecx, dword [ecx*4 + 0x490840]
xor ebx, ebx
mov bl, byte [esp + 0x1e]
mov edi, dword [ebx*4 + 0x490440]
xor ecx, edi
mov edi, dword [esp + 0x10]
shr edi, 0x18
mov ebx, dword [edi*4 + 0x490040]
mov edi, edx
and edi, 0xff
xor ecx, ebx
shr edx, 0x18
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x24]
xor ecx, ebx
xor ebx, ebx
xor ecx, edi
mov bl, ah
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov cl, byte [esp + 0x12]
mov ebp, dword [ebx*4 + 0x490840]
mov ebx, dword [esi + 0x2c]
and eax, 0xff
mov ecx, dword [ecx*4 + 0x490440]
xor ecx, ebp
mov ebp, dword [edx*4 + 0x490040]
mov edx, dword [esp + 0x20]
xor ecx, ebp
and edx, 0xff
mov edi, dword [edx*4 + 0x490c40]
mov edx, dword [esi + 0x28]
xor ecx, edi
xor ecx, edx
xor edx, edx
mov dl, byte [esp + 0x11]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov ebp, dword [edx*4 + 0x490840]
mov cl, byte [esp + 0x2a]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx*4 + 0x490440]
shr edx, 0x18
xor ecx, ebp
mov ebp, dword [eax*4 + 0x490c40]
mov edi, dword [edx*4 + 0x490040]
xor eax, eax
xor ecx, edi
xor edx, edx
mov dl, byte [esp + 0x31]
xor ecx, ebp
xor ecx, ebx
mov edi, dword [edx*4 + 0x490840]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov al, byte [esp + 0x22]
mov eax, dword [eax*4 + 0x490440]
xor eax, edi
mov edi, edx
shr edi, 0x18
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x14]
xor eax, ebx
mov ebx, edi
and ebx, 0xff
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0x30]
xor eax, ebp
xor eax, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1a]
mov dword [esp + 0x1c], eax
xor eax, eax
mov ebp, dword [ebx*4 + 0x490440]
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x30]
mov al, ch
mov eax, dword [eax*4 + 0x490840]
xor eax, ebp
xor eax, ebx
and edi, 0xff
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x34]
xor eax, ebx
xor ebx, ebx
xor eax, edi
mov bl, dh
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov ebp, dword [ebx*4 + 0x490840]
xor eax, eax
mov al, byte [esp + 0x16]
mov ebx, dword [esi + 0x3c]
shr edx, 0x18
mov eax, dword [eax*4 + 0x490440]
xor eax, ebp
mov ebp, dword [edx*4 + 0x490040]
mov edx, ecx
xor eax, ebp
and edx, 0xff
shr ecx, 0x18
mov edi, dword [edx*4 + 0x490c40]
mov edx, dword [esi + 0x38]
xor eax, edi
mov edi, dword [ecx*4 + 0x490040]
mov ecx, dword [esp + 0x18]
xor eax, edx
mov dword [esp + 0x28], eax
xor eax, eax
mov al, byte [esp + 0x32]
xor edx, edx
mov dl, byte [esp + 0x15]
and ecx, 0xff
mov eax, dword [eax*4 + 0x490440]
mov ebp, dword [edx*4 + 0x490840]
xor edx, edx
xor eax, ebp
mov ebp, dword [ecx*4 + 0x490c40]
xor eax, edi
mov dl, byte [esp + 0x29]
xor eax, ebp
xor ecx, ecx
mov edi, dword [edx*4 + 0x490840]
xor eax, ebx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov cl, byte [esp + 0x22]
mov ecx, dword [ecx*4 + 0x490440]
xor ecx, edi
mov edi, edx
shr edi, 0x18
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x10]
xor ecx, ebx
mov ebx, edi
and ebx, 0xff
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0x40]
xor ecx, ebp
xor ecx, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1e]
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov ebp, dword [ebx*4 + 0x490440]
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x28]
mov cl, ah
and edi, 0xff
mov ecx, dword [ecx*4 + 0x490840]
xor ecx, ebp
xor ecx, ebx
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x44]
xor ecx, ebx
xor ecx, edi
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov cl, byte [esp + 0x12]
xor ebx, ebx
mov ecx, dword [ecx*4 + 0x490440]
mov bl, dh
mov edx, dword [esp + 0x28]
mov ebp, dword [ebx*4 + 0x490840]
mov ebx, dword [esi + 0x4c]
shr edx, 0x18
xor ecx, ebp
mov ebp, dword [edx*4 + 0x490040]
mov edx, eax
and edx, 0xff
xor ecx, ebp
shr eax, 0x18
mov edi, dword [edx*4 + 0x490c40]
mov edx, dword [esi + 0x48]
xor ecx, edi
mov edi, dword [eax*4 + 0x490040]
mov eax, dword [esp + 0x1c]
xor ecx, edx
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov cl, byte [esp + 0x2a]
xor edx, edx
mov dl, byte [esp + 0x11]
and eax, 0xff
mov ecx, dword [ecx*4 + 0x490440]
mov ebp, dword [edx*4 + 0x490840]
xor edx, edx
xor ecx, ebp
mov ebp, dword [eax*4 + 0x490c40]
xor ecx, edi
mov dl, byte [esp + 0x31]
xor ecx, ebp
xor eax, eax
mov edi, dword [edx*4 + 0x490840]
xor ecx, ebx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov al, byte [esp + 0x22]
mov eax, dword [eax*4 + 0x490440]
xor eax, edi
mov edi, edx
shr edi, 0x18
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x14]
xor eax, ebx
mov ebx, edi
and ebx, 0xff
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0x50]
xor eax, ebp
xor eax, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1a]
mov dword [esp + 0x1c], eax
xor eax, eax
mov ebp, dword [ebx*4 + 0x490440]
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x30]
mov al, ch
and edi, 0xff
mov eax, dword [eax*4 + 0x490840]
xor eax, ebp
xor eax, ebx
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x54]
xor eax, ebx
xor eax, edi
xor ebx, ebx
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [esp + 0x16]
mov bl, dh
mov edx, dword [esp + 0x30]
mov eax, dword [eax*4 + 0x490440]
mov ebp, dword [ebx*4 + 0x490840]
shr edx, 0x18
xor eax, ebp
mov ebp, dword [edx*4 + 0x490040]
mov edx, ecx
xor eax, ebp
and edx, 0xff
mov ebx, dword [esi + 0x5c]
shr ecx, 0x18
mov edi, dword [edx*4 + 0x490c40]
mov edx, dword [esi + 0x58]
xor eax, edi
mov edi, dword [ecx*4 + 0x490040]
mov ecx, dword [esp + 0x18]
xor eax, edx
mov dword [esp + 0x28], eax
xor eax, eax
mov al, byte [esp + 0x32]
xor edx, edx
mov dl, byte [esp + 0x15]
and ecx, 0xff
mov eax, dword [eax*4 + 0x490440]
mov ebp, dword [edx*4 + 0x490840]
xor edx, edx
xor eax, ebp
mov ebp, dword [ecx*4 + 0x490c40]
xor eax, edi
mov dl, byte [esp + 0x29]
xor eax, ebp
xor ecx, ecx
mov edi, dword [edx*4 + 0x490840]
xor eax, ebx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov cl, byte [esp + 0x22]
mov ecx, dword [ecx*4 + 0x490440]
xor ecx, edi
mov edi, edx
shr edi, 0x18
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x10]
xor ecx, ebx
mov ebx, edi
and ebx, 0xff
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0x60]
xor ecx, ebp
xor ecx, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1e]
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov ebp, dword [ebx*4 + 0x490440]
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x28]
mov cl, ah
and edi, 0xff
mov ecx, dword [ecx*4 + 0x490840]
xor ecx, ebp
xor ecx, ebx
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x64]
xor ecx, ebx
xor ecx, edi
xor ebx, ebx
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov cl, byte [esp + 0x12]
mov bl, dh
mov edx, dword [esp + 0x28]
mov ecx, dword [ecx*4 + 0x490440]
mov ebp, dword [ebx*4 + 0x490840]
shr edx, 0x18
xor ecx, ebp
mov ebp, dword [edx*4 + 0x490040]
mov edx, eax
and edx, 0xff
xor ecx, ebp
mov edi, dword [edx*4 + 0x490c40]
mov edx, dword [esi + 0x68]
xor ecx, edi
xor ecx, edx
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov cl, byte [esp + 0x2a]
xor edx, edx
mov dl, byte [esp + 0x11]
mov ecx, dword [ecx*4 + 0x490440]
shr eax, 0x18
mov ebp, dword [edx*4 + 0x490840]
mov ebx, dword [esi + 0x6c]
mov edi, dword [eax*4 + 0x490040]
mov eax, dword [esp + 0x1c]
and eax, 0xff
xor ecx, ebp
xor ecx, edi
xor edx, edx
mov ebp, dword [eax*4 + 0x490c40]
mov dl, byte [esp + 0x31]
xor ecx, ebp
xor eax, eax
mov edi, dword [edx*4 + 0x490840]
xor ecx, ebx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov al, byte [esp + 0x22]
mov eax, dword [eax*4 + 0x490440]
xor eax, edi
mov edi, edx
shr edi, 0x18
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x14]
xor eax, ebx
mov ebx, edi
and ebx, 0xff
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0x70]
xor eax, ebp
xor eax, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1a]
mov dword [esp + 0x1c], eax
xor eax, eax
mov ebp, dword [ebx*4 + 0x490440]
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x30]
mov al, ch
and edi, 0xff
mov eax, dword [eax*4 + 0x490840]
xor eax, ebp
xor eax, ebx
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x74]
xor eax, ebx
xor eax, edi
xor ebx, ebx
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [esp + 0x16]
mov bl, dh
mov edx, dword [esp + 0x30]
mov eax, dword [eax*4 + 0x490440]
mov ebp, dword [ebx*4 + 0x490840]
shr edx, 0x18
xor eax, ebp
mov ebp, dword [edx*4 + 0x490040]
mov edx, ecx
and edx, 0xff
xor eax, ebp
shr ecx, 0x18
mov edi, dword [edx*4 + 0x490c40]
mov edx, dword [esi + 0x78]
xor eax, edi
mov edi, dword [ecx*4 + 0x490040]
xor eax, edx
xor edx, edx
mov dl, byte [esp + 0x15]
mov dword [esp + 0x28], eax
xor eax, eax
mov ecx, dword [esp + 0x18]
mov al, byte [esp + 0x32]
mov ebp, dword [edx*4 + 0x490840]
mov eax, dword [eax*4 + 0x490440]
xor eax, ebp
xor eax, edi
and ecx, 0xff
mov ebp, dword [ecx*4 + 0x490c40]
mov ebx, dword [esi + 0x7c]
xor eax, ebp
xor ecx, ecx
xor eax, ebx
xor edx, edx
mov dl, byte [esp + 0x29]
mov dword [esp + 0x20], eax
mov cl, byte [esp + 0x22]
mov edi, dword [edx*4 + 0x490840]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx*4 + 0x490440]
xor ecx, edi
mov edi, edx
shr edi, 0x18
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x10]
xor ecx, ebx
mov ebx, edi
and ebx, 0xff
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0x80]
xor ecx, ebp
xor ecx, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1e]
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov ebp, dword [ebx*4 + 0x490440]
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x28]
mov cl, ah
and edi, 0xff
mov ecx, dword [ecx*4 + 0x490840]
xor ecx, ebp
xor ecx, ebx
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x84]
xor ecx, ebx
xor ecx, edi
xor ebx, ebx
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov cl, byte [esp + 0x12]
mov bl, dh
mov edx, dword [esp + 0x28]
mov ecx, dword [ecx*4 + 0x490440]
mov ebp, dword [ebx*4 + 0x490840]
shr edx, 0x18
xor ecx, ebp
mov ebx, dword [esi + 0x8c]
mov ebp, dword [edx*4 + 0x490040]
mov edx, eax
and edx, 0xff
xor ecx, ebp
shr eax, 0x18
mov edi, dword [edx*4 + 0x490c40]
mov edx, dword [esi + 0x88]
xor ecx, edi
mov edi, dword [eax*4 + 0x490040]
mov eax, dword [esp + 0x1c]
xor ecx, edx
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov cl, byte [esp + 0x2a]
xor edx, edx
mov dl, byte [esp + 0x11]
and eax, 0xff
mov ecx, dword [ecx*4 + 0x490440]
mov ebp, dword [edx*4 + 0x490840]
xor ecx, ebp
mov ebp, dword [eax*4 + 0x490c40]
xor ecx, edi
xor eax, eax
xor ecx, ebp
xor ecx, ebx
xor edx, edx
mov dl, byte [esp + 0x31]
mov dword [esp + 0x20], ecx
mov al, byte [esp + 0x22]
mov eax, dword [eax*4 + 0x490440]
mov edi, dword [edx*4 + 0x490840]
mov edx, dword [esp + 0x18]
xor eax, edi
mov edi, edx
shr edi, 0x18
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x14]
xor eax, ebx
mov ebx, edi
and ebx, 0xff
shr edi, 0x18
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0x90]
xor eax, ebp
xor eax, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1a]
mov dword [esp + 0x1c], eax
xor eax, eax
mov ebp, dword [ebx*4 + 0x490440]
mov ebx, dword [edi*4 + 0x490040]
mov edi, dword [esp + 0x30]
mov al, ch
and edi, 0xff
mov eax, dword [eax*4 + 0x490840]
xor eax, ebp
xor eax, ebx
mov ebx, dword [edi*4 + 0x490c40]
mov edi, dword [esi + 0x94]
xor eax, ebx
xor eax, edi
xor ebx, ebx
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [esp + 0x16]
mov bl, dh
mov eax, dword [eax*4 + 0x490440]
mov edx, dword [ebx*4 + 0x490840]
xor eax, edx
mov edx, dword [esp + 0x30]
shr edx, 0x18
mov ebx, dword [edx*4 + 0x490040]
mov edx, ecx
and edx, 0xff
xor eax, ebx
mov ebx, dword [esi + 0x98]
mov ebp, dword [edx*4 + 0x490c40]
xor edx, edx
mov dl, byte [esp + 0x15]
xor eax, ebp
xor eax, ebx
mov edi, dword [edx*4 + 0x490840]
mov dword [esp + 0x28], eax
xor eax, eax
mov edx, dword [esi + 0x9c]
mov al, byte [esp + 0x32]
shr ecx, 0x18
mov eax, dword [eax*4 + 0x490440]
mov ebp, dword [ecx*4 + 0x490040]
mov ecx, dword [esp + 0x18]
and ecx, 0xff
xor eax, edi
xor eax, ebp
mov edi, dword [ecx*4 + 0x490c40]
xor eax, edi
mov edi, dword [esp + 0x2c]
xor eax, edx
cmp edi, 0xa
mov dword [esp + 0x20], eax
jle 0x47eeaf
xor ecx, ecx
xor edx, edx
mov cl, byte [esp + 0x22]
mov dl, byte [esp + 0x29]
mov ecx, dword [ecx*4 + 0x490440]
mov ebx, dword [edx*4 + 0x490840]
mov edx, dword [esp + 0x1c]
xor ecx, ebx
mov ebx, edx
shr ebx, 0x18
mov ebp, dword [ebx*4 + 0x490040]
xor ecx, ebp
mov ebp, dword [esp + 0x10]
mov ebx, ebp
and ebx, 0xff
shr ebp, 0x18
xor ecx, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0xa0]
xor ecx, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1e]
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov cl, ah
mov ecx, dword [ecx*4 + 0x490840]
xor ecx, dword [ebx*4 + 0x490440]
mov ebx, dword [ebp*4 + 0x490040]
xor ecx, ebx
mov ebx, dword [esp + 0x28]
and ebx, 0xff
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0xa4]
xor ecx, ebp
mov ebp, dword [esi + 0xa8]
xor ecx, ebx
xor ebx, ebx
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov cl, byte [esp + 0x12]
mov bl, dh
mov ecx, dword [ecx*4 + 0x490440]
mov edx, dword [ebx*4 + 0x490840]
xor ecx, edx
mov edx, dword [esp + 0x28]
shr edx, 0x18
mov ebx, dword [edx*4 + 0x490040]
mov edx, eax
and edx, 0xff
xor ecx, ebx
shr eax, 0x18
mov ebx, dword [edx*4 + 0x490c40]
xor edx, edx
mov dl, byte [esp + 0x11]
xor ecx, ebx
xor ecx, ebp
mov ebp, dword [eax*4 + 0x490040]
mov eax, dword [esp + 0x1c]
mov ebx, dword [edx*4 + 0x490840]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov cl, byte [esp + 0x2a]
and eax, 0xff
mov ecx, dword [ecx*4 + 0x490440]
mov edx, dword [eax*4 + 0x490c40]
xor ecx, ebx
xor eax, eax
xor ecx, ebp
mov ebp, dword [esi + 0xac]
mov al, byte [esp + 0x31]
xor ecx, edx
xor ecx, ebp
xor edx, edx
mov ebx, dword [eax*4 + 0x490840]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov dl, byte [esp + 0x22]
mov edx, dword [edx*4 + 0x490440]
xor edx, ebx
mov ebx, eax
shr ebx, 0x18
mov ebp, dword [ebx*4 + 0x490040]
xor edx, ebp
mov ebp, dword [esp + 0x14]
mov ebx, ebp
and ebx, 0xff
shr ebp, 0x18
xor edx, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0xb0]
xor edx, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1a]
mov dword [esp + 0x1c], edx
xor edx, edx
mov dl, ch
mov edx, dword [edx*4 + 0x490840]
xor edx, dword [ebx*4 + 0x490440]
mov ebx, dword [ebp*4 + 0x490040]
xor edx, ebx
mov ebx, dword [esp + 0x30]
and ebx, 0xff
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0xb4]
xor edx, ebp
mov ebp, dword [esi + 0xb8]
xor edx, ebx
xor ebx, ebx
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [esp + 0x16]
mov bl, ah
mov edx, dword [edx*4 + 0x490440]
mov eax, dword [ebx*4 + 0x490840]
xor edx, eax
mov eax, dword [esp + 0x30]
shr eax, 0x18
mov ebx, dword [eax*4 + 0x490040]
mov eax, ecx
and eax, 0xff
xor edx, ebx
shr ecx, 0x18
mov ebx, dword [eax*4 + 0x490c40]
xor eax, eax
mov al, byte [esp + 0x15]
xor edx, ebx
xor edx, ebp
mov ebx, dword [eax*4 + 0x490840]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edx
xor edx, edx
mov dl, byte [esp + 0x32]
and eax, 0xff
mov edx, dword [edx*4 + 0x490440]
mov ebp, dword [eax*4 + 0x490c40]
xor edx, ebx
mov ebx, dword [ecx*4 + 0x490040]
xor edx, ebx
mov ebx, dword [esi + 0xbc]
xor edx, ebp
xor edx, ebx
cmp edi, 0xc
mov eax, edx
mov dword [esp + 0x20], eax
jle 0x47eeaf
xor ecx, ecx
xor edx, edx
mov cl, byte [esp + 0x22]
mov dl, byte [esp + 0x29]
mov ecx, dword [ecx*4 + 0x490440]
mov ebx, dword [edx*4 + 0x490840]
mov edx, dword [esp + 0x1c]
xor ecx, ebx
mov ebx, edx
shr ebx, 0x18
mov ebp, dword [ebx*4 + 0x490040]
xor ecx, ebp
mov ebp, dword [esp + 0x10]
mov ebx, ebp
and ebx, 0xff
shr ebp, 0x18
xor ecx, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0xc0]
xor ecx, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1e]
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov cl, ah
mov ecx, dword [ecx*4 + 0x490840]
xor ecx, dword [ebx*4 + 0x490440]
mov ebx, dword [ebp*4 + 0x490040]
xor ecx, ebx
mov ebx, dword [esp + 0x28]
and ebx, 0xff
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0xc4]
xor ecx, ebp
mov ebp, dword [esi + 0xc8]
xor ecx, ebx
xor ebx, ebx
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov cl, byte [esp + 0x12]
mov bl, dh
mov ecx, dword [ecx*4 + 0x490440]
mov edx, dword [ebx*4 + 0x490840]
xor ecx, edx
mov edx, dword [esp + 0x28]
shr edx, 0x18
mov ebx, dword [edx*4 + 0x490040]
mov edx, eax
and edx, 0xff
xor ecx, ebx
shr eax, 0x18
mov ebx, dword [edx*4 + 0x490c40]
xor edx, edx
mov dl, byte [esp + 0x11]
xor ecx, ebx
xor ecx, ebp
mov ebp, dword [eax*4 + 0x490040]
mov eax, dword [esp + 0x1c]
mov ebx, dword [edx*4 + 0x490840]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov cl, byte [esp + 0x2a]
and eax, 0xff
mov ecx, dword [ecx*4 + 0x490440]
mov edx, dword [eax*4 + 0x490c40]
xor ecx, ebx
xor eax, eax
xor ecx, ebp
mov ebp, dword [esi + 0xcc]
mov al, byte [esp + 0x31]
xor ecx, edx
xor ecx, ebp
xor edx, edx
mov ebx, dword [eax*4 + 0x490840]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov dl, byte [esp + 0x22]
mov edx, dword [edx*4 + 0x490440]
xor edx, ebx
mov ebx, eax
shr ebx, 0x18
mov ebp, dword [ebx*4 + 0x490040]
xor edx, ebp
mov ebp, dword [esp + 0x14]
mov ebx, ebp
and ebx, 0xff
shr ebp, 0x18
xor edx, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0xd0]
xor edx, ebx
xor ebx, ebx
mov bl, byte [esp + 0x1a]
mov dword [esp + 0x1c], edx
xor edx, edx
mov dl, ch
mov edx, dword [edx*4 + 0x490840]
xor edx, dword [ebx*4 + 0x490440]
mov ebx, dword [ebp*4 + 0x490040]
xor edx, ebx
mov ebx, dword [esp + 0x30]
and ebx, 0xff
mov ebp, dword [ebx*4 + 0x490c40]
mov ebx, dword [esi + 0xd4]
xor edx, ebp
mov ebp, dword [esi + 0xd8]
xor edx, ebx
xor ebx, ebx
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [esp + 0x16]
mov bl, ah
mov edx, dword [edx*4 + 0x490440]
mov eax, dword [ebx*4 + 0x490840]
xor edx, eax
mov eax, dword [esp + 0x30]
shr eax, 0x18
mov ebx, dword [eax*4 + 0x490040]
mov eax, ecx
and eax, 0xff
xor edx, ebx
shr ecx, 0x18
mov ebx, dword [eax*4 + 0x490c40]
xor eax, eax
mov al, byte [esp + 0x15]
xor edx, ebx
xor edx, ebp
mov ebp, dword [ecx*4 + 0x490040]
mov ebx, dword [eax*4 + 0x490840]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edx
xor edx, edx
mov dl, byte [esp + 0x32]
and eax, 0xff
mov edx, dword [edx*4 + 0x490440]
mov ecx, dword [eax*4 + 0x490c40]
mov eax, dword [esi + 0xdc]
xor edx, ebx
xor edx, ebp
xor edx, ecx
xor eax, edx
mov dword [esp + 0x20], eax
xor ecx, ecx
xor edx, edx
mov cl, byte [esp + 0x22]
mov dl, byte [esp + 0x29]
shl edi, 4
mov ecx, dword [ecx*4 + 0x491040]
mov edx, dword [edx*4 + 0x491040]
and ecx, 0xff0000
and edx, 0xff00
xor ecx, edx
mov edx, dword [esp + 0x1c]
add esi, edi
mov edi, edx
mov ebp, dword [esp + 0x10]
shr edi, 0x18
mov ebx, dword [esi]
mov edi, dword [edi*4 + 0x491040]
and edi, 0xff000000
xor ecx, edi
mov edi, ebp
and edi, 0xff
shr ebp, 0x18
mov edi, dword [edi*4 + 0x491040]
and edi, 0xff
xor ecx, edi
mov edi, dword [esp + 0x34]
xor ecx, ebx
mov ebx, ecx
mov byte [edi + 3], cl
shr ebx, 0x18
mov byte [edi], bl
mov ebx, ecx
shr ebx, 0x10
mov byte [edi + 1], bl
mov ebx, ecx
shr ebx, 8
mov byte [edi + 2], bl
xor ecx, ecx
mov cl, byte [esp + 0x1e]
xor ebx, ebx
mov bl, ah
mov ecx, dword [ecx*4 + 0x491040]
mov ebx, dword [ebx*4 + 0x491040]
and ecx, 0xff0000
and ebx, 0xff00
xor ecx, ebx
mov ebx, dword [ebp*4 + 0x491040]
and ebx, 0xff000000
xor ecx, ebx
mov ebx, dword [esp + 0x28]
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x491040]
and ebx, 0xff
xor ecx, ebx
mov ebx, dword [esi + 4]
xor ecx, ebx
mov ebx, ecx
mov byte [edi + 7], cl
shr ebx, 0x18
mov byte [edi + 4], bl
mov ebx, ecx
shr ebx, 0x10
mov byte [edi + 5], bl
mov ebx, ecx
shr ebx, 8
mov byte [edi + 6], bl
xor ecx, ecx
mov cl, byte [esp + 0x12]
xor ebx, ebx
mov bl, dh
mov ecx, dword [ecx*4 + 0x491040]
mov ebx, dword [ebx*4 + 0x491040]
and ecx, 0xff0000
and ebx, 0xff00
xor ecx, ebx
mov ebx, dword [esp + 0x28]
shr ebx, 0x18
mov ebx, dword [ebx*4 + 0x491040]
and ebx, 0xff000000
xor ecx, ebx
mov ebx, eax
and ebx, 0xff
and edx, 0xff
shr eax, 0x18
mov ebx, dword [ebx*4 + 0x491040]
and ebx, 0xff
xor ecx, ebx
mov ebx, dword [esi + 8]
xor ecx, ebx
mov ebx, ecx
mov byte [edi + 0xb], cl
shr ebx, 0x18
mov byte [edi + 8], bl
mov ebx, ecx
shr ebx, 0x10
mov byte [edi + 9], bl
mov ebx, ecx
shr ebx, 8
mov byte [edi + 0xa], bl
mov eax, dword [eax*4 + 0x491040]
xor ecx, ecx
xor ebx, ebx
mov cl, byte [esp + 0x2a]
mov bl, byte [esp + 0x11]
mov edx, dword [edx*4 + 0x491040]
mov ebp, dword [esi + 0xc]
mov ecx, dword [ecx*4 + 0x491040]
mov ebx, dword [ebx*4 + 0x491040]
and ecx, 0xff0000
and ebx, 0xff00
xor ecx, ebx
and eax, 0xff000000
xor ecx, eax
and edx, 0xff
xor ecx, edx
xor ecx, ebp
mov eax, ecx
mov edx, ecx
shr eax, 0x18
mov byte [edi + 0xc], al
mov eax, ecx
shr edx, 0x10
shr eax, 8
mov byte [edi + 0xd], dl
mov byte [edi + 0xe], al
mov byte [edi + 0xf], cl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret