Function at 0x54a9c0
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x77a7e7
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x70]
push eax
call fcn.00521170
fldz
mov dword [ebx], vtable.CWECamera.0
fst dword [ebx + 0x28]
fst dword [ebx + 0x2c]
lea edi, [ebx + 0x70]
fst dword [ebx + 0x30]
xor esi, esi
fst dword [ebx + 0x54]
mov dword [esp + 0x68], esi
fst dword [ebx + 0x58]
fst dword [ebx + 0x5c]
fst dword [ebx + 0x64]
fst dword [ebx + 0x68]
fst dword [ebx + 0x6c]
fld1
fst dword [edi]
fst dword [edi + 0x10]
fst dword [edi + 0x20]
fxch st(1)
fst dword [edi + 4]
fst dword [edi + 8]
fst dword [edi + 0xc]
fst dword [edi + 0x14]
fst dword [edi + 0x18]
fst dword [edi + 0x1c]
mov dword [ebx + 0x94], esi
mov dword [ebx + 0x98], esi
mov dword [ebx + 0x9c], esi
mov dword [ebx + 0xa0], esi
mov dword [ebx + 0xcc], esi
mov dword [ebx + 0xd0], esi
mov dword [ebx + 0xd4], esi
mov dword [ebx + 0xd8], esi
mov dword [ebx + 0xdc], esi
mov dword [ebx + 0xe0], esi
mov dword [ebx + 0xe4], esi
mov dword [ebx + 0xe8], esi
fst dword [ebx + 0xf0]
fst dword [ebx + 0xf4]
fst dword [ebx + 0xf8]
fst dword [ebx + 0xfc]
fst dword [ebx + 0x104]
fst dword [ebx + 0x108]
fst dword [ebx + 0x10c]
fst dword [ebx + 0x110]
fst dword [ebx + 0x118]
fst dword [ebx + 0x11c]
fst dword [ebx + 0x120]
fst dword [ebx + 0x124]
fst dword [ebx + 0x12c]
fst dword [ebx + 0x130]
fst dword [ebx + 0x134]
fst dword [ebx + 0x138]
fxch st(1)
fst dword [ebx + 0x100]
fst dword [ebx + 0x114]
fst dword [ebx + 0x128]
fst dword [ebx + 0x13c]
fst dword [ebx + 0x140]
fxch st(1)
fst dword [ebx + 0x144]
fst dword [ebx + 0x148]
fst dword [ebx + 0x14c]
fst dword [ebx + 0x150]
fst dword [ebx + 0x158]
fst dword [ebx + 0x15c]
fst dword [ebx + 0x160]
fst dword [ebx + 0x164]
fst dword [ebx + 0x16c]
fst dword [ebx + 0x170]
fst dword [ebx + 0x174]
fstp dword [ebx + 0x178]
fst dword [ebx + 0x154]
fst dword [ebx + 0x168]
fstp dword [ebx + 0x17c]
mov dword [ebx + 0x48], esi
fld dword [0x7bd234]
push esi
push 0x82
fstp dword [ebx + 0x60]
push str..CCamera.cpp
push 0x1c4
mov dword [ebx + 0x4c], esi
call sub.Storm.dll_Ordinal_401
mov dword [esp + 0x70], eax
mov dword [esp + 0x14], eax
cmp eax, esi
mov byte [esp + 0x68], 2
je 0x54aba3
mov ecx, eax
call fcn.0058f4a0
jmp 0x54aba5
xor eax, eax
push esi
mov edx, 0x7bd20c
mov ecx, str.WorldEditMisc
mov byte [esp + 0x6c], 1
mov dword [ebx + 0xc8], eax
mov dword [ebx + 0x44], esi
call fcn.004b8a10
fstp dword [ebx + 0x40]
mov ecx, ebx
call fcn.00549410
fld dword [0x7bd1bc]
fst dword [esp + 0x3c]
mov ecx, 9
fld dword [0x7bd1c0]
lea esi, [esp + 0x3c]
fst dword [esp + 0x40]
fst dword [esp + 0x48]
fst dword [esp + 0x50]
fstp dword [esp + 0x58]
fst dword [esp + 0x44]
fst dword [esp + 0x4c]
fst dword [esp + 0x54]
fstp dword [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
call fcn.00612ed0
mov ebp, eax
cmp ebp, dword [ebx + 0x98]
lea esi, [ebx + 0x94]
jbe 0x54ac4c
cmp ebp, dword [esi]
jbe 0x54ac4c
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x54ac32
push ebp
mov ecx, esi
call fcn.00549500
mov ecx, eax
xor edx, edx
mov eax, ebp
div ecx
mov edi, ebp
test edx, edx
je 0x54ac44
sub ecx, edx
add ecx, ebp
mov edi, ecx
push edi
mov ecx, esi
call fcn.00549560
xor eax, eax
cmp ebp, eax
mov dword [esi + 4], ebp
mov dword [esp + 0x70], eax
jle 0x54aca7
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x74]
call fcn.00612ee0
mov edx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp + 0x70]
mov ecx, 8
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebx + 0x9c]
add edi, edx
add eax, 1
add edx, 0x20
cmp eax, ebp
mov ecx, 8
lea esi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x70], eax
mov dword [esp + 0x14], edx
jl 0x54ac5d
xor eax, eax
push eax
mov ecx, ebx
mov dword [ebx + 0xa4], eax
call fcn.0054a310
mov eax, ebx
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4