Function at 0x43d450
Capabilities:
Create thread

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49bbc2
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 8
push esi
push edi
mov eax, dword [0x4cc06c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov dword [edi], vtable.CapabilitiesManager.0
lea esi, [edi + 4]
mov dword [ebp - 4], 0
lea eax, [esi + 8]
mov dword [esi], vtable.Thread.0
push eax
push 4
push esi
push 0x43a050
push 0
mov byte [esi + 0xc], 0
push 0
mov byte [esi + 0xd], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 4], eax
push dword [ebx + 8]
mov byte [ebp - 4], 1
mov dword [esi], vtable.RemoteViewerCore.1.0
lea esi, [edi + 0x14]
mov ecx, esi
mov dword [edi], vtable.RemoteViewerCore.0
call fcn.00431710
push esi
lea ecx, [edi + 0x20]
mov byte [ebp - 4], 2
call fcn.00447d20
lea eax, [edi + 0x84]
mov dword [edi + 0x80], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea ecx, [edi + 0xa0]
mov dword [edi + 0x9c], 0
call fcn.00449ab0
add edi, 0x120
mov byte [ebp - 4], 5
mov dword [ebp - 0x18], edi
mov dword [edi], esi
lea esi, [edi + 4]
mov dword [ebp - 0x18], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0044acc0
mov dword [esi], eax
mov dword [edi + 0xc], 7
mov byte [edi + 0x10], 1
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x14]
lea eax, [esi + 0xa0]
push eax
lea eax, [esi + 0x14]
push eax
lea ecx, [esi + 0x3b4]
push ecx
lea edi, [esi + 0x3d0]
push edi
lea ecx, [esi + 0x134]
call fcn.00445b40
lea ecx, [esi + 0x244]
mov byte [ebp - 4], 7
call fcn.00444b40
add esi, 0x288
mov byte [ebp - 4], 8
mov dword [ebp - 0x18], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00430720
mov dword [esi], eax
mov byte [ebp - 4], 9
mov esi, dword [ebp - 0x14]
lea ecx, [esi + 0x290]
call fcn.00444b40
lea ecx, [esi + 0x2d4]
mov byte [ebp - 4], 0xa
call fcn.00444b40
add esi, 0x318
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x18], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00430720
mov dword [esi], eax
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x14]
lea ecx, [esi + 0x320]
call fcn.00444b40
add esi, 0x364
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x18], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00430720
mov dword [esi], eax
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x14]
add esi, 0x36c
mov dword [ebp - 0x18], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00430720
mov dword [esi], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [eax + method.LocalMutex.virtual_0], vtable.LocalMutex.0
add eax, 0x378
push eax
call esi
mov eax, dword [ebp - 0x14]
mov dword [eax + method.LocalMutex.virtual_0], vtable.LocalMutex.0
add eax, 0x398
push eax
call esi
mov eax, dword [ebp - 0x14]
mov dword [eax + method.LocalMutex.virtual_0], vtable.LocalMutex.0
add eax, 0x3b8
push eax
call esi
mov dword [edi], vtable.FrameBuffer.0
xorps xmm0, xmm0
mov dword [edi + 4], vtable.Dimension.0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x24], 0
movups xmmword [edi + 0x10], xmm0
mov word [edi + 0x20], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x3f8], 0
mov dword [eax + 0x3fc], 0
mov dword [eax + 0x400], 0
mov dword [eax + 0x404], 0x4b13dc
mov dword [eax + 0x408], 0
mov dword [eax + 0x40c], 0
mov dword [eax + 0x410], 0x4b6b30
mov dword [eax + 0x414], 0x4b13dc
mov dword [eax + 0x418], 0
mov dword [eax + 0x41c], 0
mov dword [eax + 0x434], 0
movups xmmword [eax + 0x420], xmm0
mov word [eax + 0x430], 0
mov dword [eax + 0x438], 0x4b6bb8
add eax, 0x43c
push eax
call esi
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
movups xmmword [eax + 0x456], xmm0
mov word [eax + 0x466], 0
mov dword [eax + 0x468], 0x4b6bb8
add eax, 0x46c
push eax
call esi
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x488], 0x4b6bb8
add eax, 0x48c
push eax
call esi
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x4a8], 0x4b6bb8
add eax, 0x4ac
push eax
call esi
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x4d0], 1
add eax, 0x4d4
mov dword [ebp - 0x18], eax
lea esi, [eax + 4]
mov dword [eax], vtable.StringStorage.0
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
push esi
push 1
mov ecx, esi
mov byte [ebp - 4], 0x1b
call fcn.004217f0
mov eax, dword [esi + 4]
sub eax, dword [esi]
sar eax, 1
add eax, eax
push eax
push 0x4b0eac
push dword [esi]
call fcn.00473660
add esp, 0xc
mov esi, dword [ebp - 0x14]
lea eax, [esi + 0x14]
mov byte [esi + 0x4e4], 0
push eax
push edi
lea eax, [esi + 0x3b4]
push eax
lea ecx, [esi + 0x4ec]
call fcn.004482b0
mov ecx, esi
mov byte [ebp - 4], 0x1d
call fcn.0043d960
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4