Function at 0x4078d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x470817
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x49d00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
call fcn.00418ab0
mov dword [ebp - 4], 0
lea ecx, [ebx + 0x27c]
mov dword [ebx], vtable.rg_n::rg_n37386.2.0
mov dword [ebx + method.rg_n::rg_n37386.1.virtual_0], vtable.rg_n::rg_n37386.1.0
mov dword [ebx + method.rg_n::rg_n37386.virtual_0], vtable.rg_n::rg_n37386.0
call fcn.00419620
mov byte [ebp - 4], 1
lea ecx, [ebx + 0x3dc]
call fcn.00419bd0
mov byte [ebp - 4], 2
lea ecx, [ebx + 0x57c]
call fcn.00419620
mov byte [ebp - 4], 3
lea esi, [ebx + 0x6dc]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.00416800
mov byte [ebp - 4], 4
mov ecx, esi
mov dword [esi + method.IContainerEventListener.virtual_0], vtable.IListBoxEventListener.0
mov dword [esi], vtable.rg_n11251::rg_n11869.1.0
mov dword [esi + method.rg_n11251::rg_n11869.virtual_0], vtable.rg_n11251::rg_n11869.0
call fcn.0041a300
mov byte [ebp - 4], 5
lea ecx, [ebx + 0x84c]
call fcn.00419620
mov byte [ebp - 4], 6
lea esi, [ebx + 0x9ac]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.00416800
mov byte [ebp - 4], 7
mov ecx, esi
mov dword [esi + method.IContainerEventListener.virtual_0], vtable.IListBoxEventListener.0
mov dword [esi], vtable.rg_n11251::rg_n11869.1.0
mov dword [esi + method.rg_n11251::rg_n11869.virtual_0], vtable.rg_n11251::rg_n11869.0
call fcn.0041a300
mov byte [ebp - 4], 8
lea ecx, [ebx + 0xb1c]
call fcn.0041a8b0
mov byte [ebp - 4], 9
lea eax, [ebx + 0xc7c]
mov dword [ebp - 0x14], eax
mov dword [eax], vtable.CVolObject.0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov byte [ebp - 4], 0xa
mov dword [eax], vtable.rg_n1::rg_n6163.0
mov byte [ebp - 4], 0xb
lea ecx, [ebx + 0xc88]
call fcn.004025e0
mov byte [ebp - 4], 0xc
lea ecx, [ebx + 0xcc0]
call fcn.004025e0
mov byte [ebp - 4], 0xd
lea ecx, [ebx + 0xcec]
call fcn.004025e0
mov byte [ebp - 4], 0xe
lea ecx, [ebx + 0xd18]
call fcn.004025e0
mov byte [ebp - 4], 0xf
lea ecx, [ebx + 0xd44]
call fcn.004025e0
mov byte [ebp - 4], 0x10
lea ecx, [ebx + 0xd74]
call fcn.0040cc40
mov byte [ebp - 4], 0x11
cmp dword [0x4a1e58], 0x40
jl 0x407a9a
push 0x4a1e5c
call fcn.00440560
mov edi, dword [0x4a1e54]
add esp, 4
test edi, edi
je 0x407a8c
mov eax, dword [edi]
mov dword [0x4a1e54], eax
mov dword [0x4a1e5c], 1
test edi, edi
jne 0x407ab5
push 0x40
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
test edi, edi
je 0x407b82
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 0x12
mov dword [edi], vtable.CRefObject.0
mov dword [edi + 4], 1
mov byte [ebp - 4], 0x13
lea eax, [edi + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push eax
mov dword [edi], vtable.CVolEventObjectPointer.0
call esi
mov byte [ebp - 4], 0x14
lea eax, [edi + 0x24]
push eax
call esi
mov byte [ebp - 4], 0x15
mov dword [edi + 8], 0
mov dword [edi + 0x3c], ebx
mov byte [ebp - 4], 0x11
xorps xmm0, xmm0
lea ecx, [ebp - 0x40]
mov dword [ebx + 0x131c], edi
mov dword [ebx + 0xcb4], 0
movsd qword [ebx + 0xcb8], xmm0
mov dword [ebx + 0xd70], 0
call fcn.004025e0
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x40], vtable.CWConstString.0
mov dword [ebp - 0x34], 0x482944
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x40]
push eax
mov ecx, ebx
call fcn.0041c910
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x40]
call fcn.00401ad0
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov dword [eax + 0x94], 0
mov dword [ebp - 4], 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xffffffffffffffff
call fcn.00457262
int3