Function at 0x422900
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x472cb2
mov eax, dword fs:[0]
push eax
sub esp, 0x1bc
mov eax, dword [0x49c00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xorps xmm0, xmm0
mov dword [ebp - 0x64], 0
push 4
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0x74]
push str.main
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
call fcn.00405f10
mov dword [ebp - 4], 0
mov dword [ebp - 0x34], vtable.IMDXPixelShaderFactory.0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], 0x47fc28
mov dword [ebp - 0x2c], 0x6b
call fcn.00407d80
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x74]
call fcn.00405e80
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov esi, eax
mov dword [ebp - 0x80], 0
push 3
xor eax, eax
mov dword [ebp - 0x7c], 0
push 0x480900
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 7
mov word [ebp - 0x90], ax
call fcn.00404600
mov byte [ebp - 4], 5
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x78]
call fcn.00407a80
mov byte [ebp - 4], 6
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 7
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x78]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x90]
call fcn.00404570
mov dword [ebp - 0x2c], 0x76
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov dword [ebp - 0x9c], 0
mov esi, eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 7
push 7
xor eax, eax
lea ecx, [ebp - 0xac]
push str.image3d
mov word [ebp - 0xac], ax
call fcn.00404600
mov byte [ebp - 4], 9
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x94]
call fcn.00407a80
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x7c], esi
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x94]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xac]
call fcn.00404570
mov dword [ebp - 0x2c], 0x73
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov esi, eax
mov dword [ebp - 0xb8], 0
push 5
xor eax, eax
mov dword [ebp - 0xb4], 0
push str.solid
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 7
mov word [ebp - 0xc8], ax
call fcn.00404600
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00407a80
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x98], esi
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb0]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc8]
call fcn.00404570
mov dword [ebp - 0x2c], 0x6d
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov esi, eax
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
xor eax, eax
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 7
push 4
push str.mesh
lea ecx, [ebp - 0xe4]
mov word [ebp - 0xe4], ax
call fcn.00404600
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0xcc]
call fcn.00407a80
mov byte [ebp - 4], 0x12
mov dword [ebp - 0xb4], esi
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xcc]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00404570
mov dword [ebp - 0x2c], 0xb4
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov esi, eax
mov dword [ebp - 0xf0], 0
push 7
xor eax, eax
mov dword [ebp - 0xec], 0
push str.meshMat
lea ecx, [ebp - 0x100]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 7
mov word [ebp - 0x100], ax
call fcn.00404600
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00407a80
mov byte [ebp - 4], 0x16
mov dword [ebp - 0xd0], esi
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xe8]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x100]
call fcn.00404570
mov dword [ebp - 0x2c], 0x71
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov esi, eax
mov dword [ebp - 0x10c], 0
xor eax, eax
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 7
mov word [ebp - 0x11c], ax
push 9
push str.particles
lea ecx, [ebp - 0x11c]
call fcn.00404600
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x104]
call fcn.00407a80
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0xec], esi
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x104]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x11c]
call fcn.00404570
mov dword [ebp - 0x2c], 0x78
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov esi, eax
mov dword [ebp - 0x128], 0
push 0xf
xor eax, eax
mov dword [ebp - 0x124], 0
push str.solid_light_dir
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 7
mov word [ebp - 0x138], ax
call fcn.00404600
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x120]
call fcn.00407a80
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x108], esi
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x120]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x138]
call fcn.00404570
mov dword [ebp - 0x2c], 0x90
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov esi, eax
mov dword [ebp - 0x144], 0
xor eax, eax
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 7
mov word [ebp - 0x154], ax
push 7
push str.texMesh
lea ecx, [ebp - 0x154]
call fcn.00404600
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x13c]
call fcn.00407a80
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x124], esi
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x13c]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x154]
call fcn.00404570
mov dword [ebp - 0x2c], 0x97
call fcn.0040dbd0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d8d0
mov esi, eax
mov dword [ebp - 0x1b8], 0
push 6
xor eax, eax
mov dword [ebp - 0x1b4], 0
push str.points
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 7
mov word [ebp - 0x1c8], ax
call fcn.00404600
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x158]
call fcn.00407a80
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x140], esi
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x198]
mov ecx, edi
push eax
call fcn.0040df70
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x158]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c8]
call fcn.00404570
xorps xmm0, xmm0
mov dword [ebp - 0x160], 0
push 4
mov dword [ebp - 0x15c], 0
lea ecx, [ebp - 0x170]
push str.main
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x160], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x15c], 0xf
movq qword [ebp - 0x3c], xmm0
mov byte [ebp - 0x170], 0
call fcn.00405f10
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x5c], vtable.MObject.0
mov dword [ebp - 0x58], 1
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x5c], vtable.IMDXVertexShaderFactory.0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x170]
push eax
mov dword [ebp - 0x5c], 0x480b9c
mov dword [ebp - 0x50], 0x6c
call fcn.00407d80
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x170]
call fcn.00405e80
call fcn.0040dbd0
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004106a0
mov esi, eax
mov dword [ebp - 0x17c], 0
push 3
xor eax, eax
mov dword [ebp - 0x178], 0
push 0x480900
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 7
mov word [ebp - 0x18c], ax
call fcn.00404600
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x174]
call fcn.00407a80
mov byte [ebp - 4], 0x30
mov dword [ebp - 0x15c], esi
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x198]
lea ecx, [edi + 8]
push eax
call fcn.0040df70
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x174]
call fcn.00404570
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x18c]
call fcn.00404570
mov dword [ebp - 0x50], 0x74
call fcn.0040dbd0
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004106a0
mov esi, eax
mov dword [ebp - 0x1a0], 0
push 5
xor eax, eax
mov dword [ebp - 0x19c], 0
push str.solid
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 7
mov word [ebp - 0x1b0], ax
call fcn.00404600
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0x190]
call fcn.00407a80
mov byte [ebp - 4], 0x34
mov dword [ebp - 0x178], esi
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x198]
lea ecx, [edi + 8]
push eax
call fcn.0040df70
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x190]
call fcn.00407120
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1b0]
call fcn.00404570
mov dword [ebp - 0x50], 0x75
call fcn.0040dbd0
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004106a0
push str.solid_common_alpha
lea ecx, [ebp - 0x1b0]
mov esi, eax
call fcn.004047c0
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x1b0]
push esi
push eax
mov ecx, edi
call fcn.0040dd90
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1b0]
call fcn.00404570
mov dword [ebp - 0x50], 0x6e
call fcn.0040dbd0
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004106a0
push str.mesh
lea ecx, [ebp - 0x1b0]
mov esi, eax
call fcn.004047c0
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x1b0]
push esi
push eax
mov ecx, edi
call fcn.0040dd90
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1b0]
call fcn.00404570
mov dword [ebp - 0x50], 0x72
call fcn.0040dbd0
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004106a0
push str.particles
lea ecx, [ebp - 0x1b0]
mov esi, eax
call fcn.004047c0
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x1b0]
push esi
push eax
mov ecx, edi
call fcn.0040dd90
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1b0]
call fcn.00404570
mov dword [ebp - 0x50], 0x79
call fcn.0040dbd0
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004106a0
push str.solid_light_dir
lea ecx, [ebp - 0x1b0]
mov esi, eax
call fcn.004047c0
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x1b0]
push esi
push eax
mov ecx, edi
call fcn.0040dd90
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1b0]
call fcn.00404570
mov dword [ebp - 0x50], 0x91
call fcn.0040dbd0
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004106a0
push str.texMesh
lea ecx, [ebp - 0x1b0]
mov esi, eax
call fcn.004047c0
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x1b0]
push esi
push eax
mov ecx, edi
call fcn.0040dd90
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1b0]
call fcn.00404570
mov dword [ebp - 0x50], 0x98
call fcn.0040dbd0
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004106a0
push str.points
lea ecx, [ebp - 0x1b0]
mov esi, eax
call fcn.004047c0
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x1b0]
push esi
push eax
mov ecx, edi
call fcn.0040dd90
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1b0]
call fcn.00404570
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x5c]
call fcn.00410630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.0040d870
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046c079
mov esp, ebp
pop ebp
ret 4