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

Disassembly:
imul edx, dword [0x40c02c], 0x8088405
inc edx
mov dword [0x40c02c], edx
mul edx
mov eax, edx
ret
push ebp
mov ebp, esp
push ecx
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
mov eax, ebx
add esp, 0xfffffffc
mov dword [esp], eax
mov ecx, edx
push ecx
mov eax, 0x4a08120
mov edx, 0x20480002
xor eax, edx
push eax
mov eax, ebp
push eax
mov eax, esi
push eax
mov eax, edi
push eax
mov esi, 0x3701991d
add esi, 0xe9277c21
mov eax, 0x2e0b6b76
add eax, 0xf25e5948
xor eax, esi
mov edi, 0
xor edi, eax
mov ebx, 0xffffffff
add edi, ebx
mov edx, dword [edi + 1]
mov eax, 0x5816c66a
add eax, 0xb19b6852
add eax, 0xff6fafba
add eax, 0xfaa88772
xor eax, edx
mov esi, 0x44fefd44
mov edi, 0x3bb5950a
xor edi, esi
xor eax, edi
je 0x406063
mov edi, edx
mov esi, edi
mov edi, 0x54
add esi, edi
mov eax, dword [esi - 0x54]
mov ecx, 0x38c416e7
mov ebx, 0x478f7ea9
xor ebx, ecx
xor eax, ebx
mov ebx, eax
mov ecx, 4
sub esp, ecx
mov dword [esp], ebx
pop ecx
mov eax, ecx
mov edi, eax
mov ebx, 0xfffffffc
add esp, ebx
mov dword [esp], edi
xor edx, edx
add edx, ecx
mov esi, 0xffffffff
xor edx, esi
and edx, 0xf41e97c5
and ecx, 0xbe1683a
or ecx, edx
mov edi, ecx
mov edx, edi
xchg esi, edx
xor esi, 0
jne 0x4060c9
mov edi, 0
mov edx, 0
xor edi, edx
push edi
mov edi, esp
add edi, 0x4e
dec edi
mov esi, dword [edi - 0x4d]
mov edi, 0xfffffffc
sub esp, edi
mov edx, 0
xor edx, esi
mov edi, 4
sub esp, edi
mov dword [esp], edx
push 0x5c10e8df
mov ebx, 0x235ba56e
pop edx
xor ebx, edx
xor esi, ebx
and esi, 0xffff
mov edi, esi
push edi
pop ebx
or ebx, ebx
jne 0x40611d
mov eax, 0xfffffff1
add eax, 0xf
push eax
mov ecx, esp
add ecx, 0x5b
dec ecx
mov eax, dword [ecx - 0x5a]
mov edx, 4
add esp, edx
mov edi, 4
sub esp, edi
xor edx, edx
add edx, esp
mov dword [edx], eax
mov ebx, 0x54ee355d
add ebx, 0xa7b9adbe
xor eax, ebx
sub ebx, ebx
add ebx, eax
or ebx, eax
jne 0x406168
mov edi, 0
mov ecx, 0
xor edi, ecx
push edi
mov ecx, esp
add ecx, 0x52
dec ecx
mov edx, dword [ecx - 0x51]
mov eax, 0xfffffffc
sub esp, eax
push 0x169d0ffa
mov ecx, 0x169d0ffa
pop ebx
xor ecx, ebx
xor ecx, edx
and ecx, edx
jne 0x406519
mov eax, 0x5ef97fba
xor eax, 0x25c76331
mov ebx, 0x8502b52d
add eax, ebx
mov ebx, eax
sub ebx, 1
mov edi, dword [ebx + 1]
mov ebx, edi
mov esi, ebx
mov ebx, 0xfffffffc
add esp, ebx
mov dword [esp], esi
mov eax, 0x2c042001
mov ebx, 0x40609114
xor eax, ebx
mov ebx, eax
xor ebx, 0xffffffff
and ebx, 0x6c246089
and eax, 0x93db9f76
or eax, ebx
push eax
pop ebx
mov ecx, 1
sub ebx, ecx
mov edi, dword [ebx + 1]
mov ebx, edi
mov edx, ebx
mov esi, edx
push esi
mov edx, esp
dec edx
mov esi, dword [edx + 1]
mov edx, 4
add esp, edx
push 0x2bccb966
mov ecx, 0x4e380866
pop edi
xor ecx, edi
push ecx
push 0x2dca7b3
mov edx, 0x30efcbd6
pop edi
xor edx, edi
push edx
mov ebx, 0x6a10656b
mov edi, 0x4620000
xor ebx, edi
push ebx
mov ebx, 0
xor ebx, esp
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], ebx
call esi
mov edx, 0x6e601a94
mov ecx, 0x919fe560
xor edx, ecx
sub esp, edx
mov edi, 0
xor edi, esi
mov ebx, 0xfffffffc
add esp, ebx
mov dword [esp], edi
pop edi
mov ecx, esp
add ecx, 0x44
dec ecx
mov ebx, dword [ecx - 0x43]
mov edx, 0xfffffffc
sub esp, edx
mov esi, 0x600745e5
xor esi, 0xe5072184
push esi
push 0x5878b0e2
mov ecx, 0x3d0ad8b6
pop edx
xor ecx, edx
push ecx
mov ecx, 0x274470f
xor ecx, 0x6d202f6c
push ecx
mov ecx, 0x54011510
mov edx, 0x20686243
xor ecx, edx
push ecx
push esp
pop ecx
mov edx, 0xfffffffc
add esp, edx
mov dword [esp], ecx
mov edx, 0xfffffffc
add esp, edx
mov edx, esp
mov ecx, edx
mov dword [ecx], eax
call ebx
rol edi, cl
rol dword [edx], 0x37
ret 0x8110
ror dword [esi], 0xc9
cmp eax, 0xc7cc01ef
sar esp, 0xff
invalid
inc dword [ebx]
loope 0x406315
rol byte [ebx], cl
aam 0x89
sbb bh, byte [ecx + 4]
sub esp, ecx
mov ebx, esp
mov dword [ebx], edi
mov ebx, 0x10de04ca
mov edi, 0x10de04ca
xor edi, ebx
xor edi, eax
mov ecx, esp
dec ecx
mov ebx, dword [ecx + 1]
mov ecx, 0xfffffffc
sub esp, ecx
push 0xd13633c8
mov edx, 0x1f99f1c8
pop ecx
xor edx, ecx
push edx
push 0x84f591f
mov ecx, 0x3a7c357a
pop esi
xor ecx, esi
push ecx
mov ecx, 0x5263036e
xor ecx, 0x3c116605
push ecx
push esp
pop ecx
sub esp, 4
mov esi, esp
mov dword [esi], ecx
call ebx
mov ecx, 0x12bfcc1d
mov esi, 0x12bfcc11
xor esi, ecx
add esp, esi
mov edx, 0xfffffffc
add esp, edx
mov edx, esp
xchg edx, ecx
mov dword [ecx], ebx
mov ecx, esp
add ecx, 0x44
mov esi, dword [ecx - 0x44]
mov ebx, 4
add esp, ebx
mov ecx, esp
sub ecx, 0x4a
mov ebx, dword [ecx + 0x4a]
mov ecx, 4
add esp, ecx
mov ecx, 0x3001060
mov edx, 0x40006001
xor ecx, edx
push ecx
push 0x14fe38f
mov ecx, 0x640790fc
pop edx
xor ecx, edx
push ecx
mov edx, 0x60034510
mov ecx, 0x5602a62
xor edx, ecx
push edx
push 0x33d6d2ce
mov edx, 0x63a2b789
pop ecx
xor edx, ecx
push edx
push esp
pop ecx
sub esp, 4
mov edx, esp
mov dword [edx], ecx
mov edx, eax
mov ecx, edx
sub esp, 4
mov edx, esp
mov dword [edx], ecx
call ebx
mov ecx, 0x1bcaa1c6
add ecx, 0xe4355e2a
sub esp, ecx
mov ecx, 0xfffffffc
add esp, ecx
mov edx, 0
xor edx, esp
mov dword [edx], ebx
mov ecx, esi
mov ebx, ecx
mov ecx, ebx
sub esp, 4
mov dword [esp], ecx
mov esi, 0xfffffffc
add esp, esi
push esp
pop edx
mov dword [edx], edi
mov ecx, 4
sub esp, ecx
push esp
pop ebx
mov dword [ebx], eax
mov edi, 0x1ce000
mov edx, 0x1a00
xor edi, edx
mov eax, 0x295ad543
mov esi, 0x29d9d5d3
xor esi, eax
xor edi, esi
push edi
pop eax
mov esi, 0xfffffffc
add esp, esi
mov dword [esp], eax
pop edx
pop ecx
xor esi, esi
add esi, edx
and esi, 1
sub edi, edi
add edi, esi
and edi, 0xffffffff
je 0x40648b
mov edi, esp
add edi, 0x4b
dec edi
mov esi, dword [edi - 0x4a]
mov ebx, 0xfffffffc
sub esp, ebx
push ecx
pop ebx
mov edi, 0xfffffffc
add esp, edi
mov dword [esp], ebx
mov edi, esi
sub esp, 4
mov dword [esp], edi
mov ecx, dword [esp]
add esp, 4
xor edi, edi
add edi, ecx
mov ebx, edi
add esp, 0xfffffffc
mov dword [esp], ebx
mov edi, 4
sub esp, edi
mov edi, esp
mov esi, edi
mov dword [esi], edx
call ecx
mov esi, esp
add esi, 0xffffffd8
dec esi
mov edi, dword [esi + 0x29]
mov eax, 4
add esp, eax
mov esi, 1
sub edi, esi
and edi, 0xc8ffffff
push edi
pop ebx
mov edx, ebx
sub esp, 4
mov dword [esp], edx
sub ecx, ecx
add ecx, edi
and ecx, 0xffffffff
jne 0x406441
mov edi, 0x6aa6450c
add edi, 0x9559bae8
sub esp, edi
push 0x237fcc66
mov esi, 0x237fcc6e
pop ecx
xor esi, ecx
add esp, esi
pop edx
mov edx, 0x86341a
mov ecx, 0x1e400040
xor edx, ecx
mov esi, 0x1e861f21
xor edx, esi
call edx
pop edi
mov esi, dword [esp]
add esp, 4
pop ebp
mov eax, 4
add esp, eax
mov edx, dword [esp]
add esp, 4
mov ebx, dword [esp]
sub esp, 0xfffffffc
pop eax
pop ecx
pop ebp
jmp 0x40279c