Function at 0x53ad90
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x64c828
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
push esi
mov esi, ecx
mov dword [esi], 0x679c04
mov eax, dword [0x6fa5dc]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0xc], esi
je 0x53add8
push 0x690a10
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], str.Object_already_exist.
call fcn.005e0f72
push ebp
push edi
mov dword [0x6fa5dc], esi
push 6
mov dword [esi], 0x679c08
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], 0x3b83126f
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], 0x41700000
mov dword [esi + 0x30], 0x43480000
mov dword [esi + 0x34], 0x3d888889
mov dword [esi + 0x38], 0x3ba3d70a
mov dword [esi + 0x3c], 0x3f800000
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], 0xa
mov edi, dword [0x6fa56c]
mov ebp, 0xf
push str.MinFps
lea ecx, [esp + 0x3c]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00401500
push 4
push str.Time
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401500
mov edx, dword [edi]
lea eax, [esi + 0x2c]
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
mov byte [esp + 0x64], 2
call dword [edx + 0x14]
mov ecx, dword [esp + 0x30]
neg al
sbb al, al
inc al
cmp ecx, 0x10
mov byte [esp + 0x13], al
jb 0x53aeb9
mov edx, dword [esp + 0x1c]
push edx
call fcn.005e0f6d
mov al, byte [esp + 0x17]
add esp, 4
cmp dword [esp + 0x4c], 0x10
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x58], bl
jb 0x53aee1
mov eax, dword [esp + 0x38]
push eax
call fcn.005e0f6d
mov al, byte [esp + 0x17]
add esp, 4
cmp al, bl
je 0x53af78
push 6
push str.MinFps
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00401500
push 4
push str.Time
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], 3
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401500
mov edx, dword [edi]
lea eax, [esi + 0x2c]
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
mov byte [esp + 0x64], 4
call dword [edx + 0x3c]
cmp dword [esp + 0x30], 0x10
jb 0x53af54
mov edx, dword [esp + 0x1c]
push edx
call fcn.005e0f6d
add esp, 4
cmp dword [esp + 0x4c], 0x10
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x58], bl
jb 0x53af78
mov eax, dword [esp + 0x38]
push eax
call fcn.005e0f6d
add esp, 4
push 6
push str.MaxFps
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00401500
push 4
push str.Time
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], 5
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401500
mov edx, dword [edi]
lea eax, [esi + 0x30]
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
mov byte [esp + 0x64], 6
call dword [edx + 0x14]
mov ecx, dword [esp + 0x30]
neg al
sbb al, al
inc al
cmp ecx, 0x10
mov byte [esp + 0x13], al
jb 0x53aff3
mov edx, dword [esp + 0x1c]
push edx
call fcn.005e0f6d
mov al, byte [esp + 0x17]
add esp, 4
cmp dword [esp + 0x4c], 0x10
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x58], bl
jb 0x53b01b
mov eax, dword [esp + 0x38]
push eax
call fcn.005e0f6d
mov al, byte [esp + 0x17]
add esp, 4
cmp al, bl
je 0x53b0b7
push 6
push str.MinFps
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00401500
push 4
push str.Time
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], 7
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00401500
mov edx, dword [edi]
lea eax, [esi + 0x30]
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
mov byte [esp + 0x64], 8
call dword [edx + 0x3c]
mov eax, dword [esp + 0x30]
mov edi, 0x10
cmp eax, edi
jb 0x53b094
mov edx, dword [esp + 0x1c]
push edx
call fcn.005e0f6d
add esp, 4
cmp dword [esp + 0x4c], edi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x58], bl
jb 0x53b0b7
mov eax, dword [esp + 0x38]
push eax
call fcn.005e0f6d
add esp, 4
fld dword [0x666888]
mov ecx, esi
fdiv dword [esi + 0x2c]
mov dword [esi + 0xc], 0x53a800
mov dword [esi + 8], fcn.0053a940
mov dword [esi + 0x10], 0x53a990
fstp dword [esi + 0x34]
fld dword [0x666888]
fdiv dword [esi + 0x30]
fstp dword [esi + 0x38]
call fcn.0053a940
mov ecx, dword [esp + 0x50]
pop edi
pop ebp
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x4c
ret