Function at 0x413ce8
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
mov dword [0x45dbe0], ebx
mov dword [0x45dbdc], ecx
mov dword [0x45dbd8], edx
mov dword [0x45dbd4], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbcc], edx
mov dword [0x45dbc8], ebx
mov dword [0x45dbc4], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e098]
xor ecx, dword [0x45e068]
xor edx, dword [0x45e038]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e09c]
xor ecx, dword [0x45e06c]
xor edx, dword [0x45e03c]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0a0]
xor ecx, dword [0x45e070]
xor edx, dword [0x45e040]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0a4]
xor ecx, dword [0x45e074]
xor edx, dword [0x45e044]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0a8]
xor ecx, dword [0x45e078]
xor edx, dword [0x45e048]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0ac]
xor ecx, dword [0x45e07c]
xor edx, dword [0x45e04c]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0b0]
xor ecx, dword [0x45e080]
xor edx, dword [0x45e050]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0b4]
xor ecx, dword [0x45e084]
xor edx, dword [0x45e054]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0b8]
xor ecx, dword [0x45e088]
xor edx, dword [0x45e058]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0bc]
xor ecx, dword [0x45e08c]
xor edx, dword [0x45e05c]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0c0]
xor ecx, dword [0x45e090]
xor edx, dword [0x45e060]
mov eax, dword [0x45dbe0]
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbc8]
xor ebx, eax
shr eax, 8
xor ecx, esi
shr esi, 8
xor edx, edi
shr edi, 8
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbe0], ebx
mov dword [0x45dbd4], ecx
mov dword [0x45dbc8], edx
and ebx, 0xff
and ecx, 0xff
and edx, 0xff
add ebx, dword [0x45dbdc]
add ecx, dword [0x45dbd0]
add edx, dword [0x45dbc4]
imul ebx, ebx, 0x8088405
inc ebx
imul ecx, ecx, 0x8088405
inc ecx
imul edx, edx, 0x8088405
inc edx
mov dword [0x45dbdc], ebx
mov dword [0x45dbd0], ecx
mov dword [0x45dbc4], edx
shr ebx, 0x18
mov eax, dword [0x45dbd8]
shr ecx, 0x18
mov esi, dword [0x45dbcc]
shr edx, 0x18
mov edi, dword [0x45dbc0]
xor ebx, eax
xor ecx, esi
xor edx, edi
shr eax, 8
and ebx, 0xff
shr esi, 8
and ecx, 0xff
shr edi, 8
and edx, 0xff
mov ebx, dword [ebx*4 + 0x46a138]
mov ecx, dword [ecx*4 + 0x46a138]
mov edx, dword [edx*4 + 0x46a138]
xor ebx, eax
xor ecx, esi
xor edx, edi
mov dword [0x45dbd8], ebx
mov dword [0x45dbcc], ecx
mov dword [0x45dbc0], edx
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbcc]
and ebx, 0xffff
shr eax, 0x18
mov edx, dword [0x45dbc0]
and ecx, 0xffff
shr ebx, 2
and edx, 0xffff
shr ecx, 2
movzx ebx, byte [ebx + 0x466138]
movzx ecx, byte [ecx + 0x466138]
shr edx, 2
movzx edx, byte [edx + 0x466138]
xor ebx, dword [0x45e0c4]
jne 0x414cdb
xor ecx, dword [0x45e094]
jne 0x414cdb
xor edx, dword [0x45e064]
ret