Function at 0x461a80
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x450
mov eax, dword [0x48602c]
xor eax, ebp
mov dword [ebp - 0x60], eax
push esi
push edi
mov dword [ebp - 0x28], 0
call fcn.0044d9d0
push 0xc9b028
call fcn.004508d0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x461b04
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp + 0x10]
push eax
call fcn.00454510
add esp, 4
test eax, eax
je 0x461ad5
xor eax, eax
jmp 0x462029
push 0xc9b028
call fcn.004508d0
add esp, 4
mov dword [ebp - 0x28], eax
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x28], 0
je 0x461b04
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
cmp ecx, 3
jl 0x461abe
cmp dword [ebp - 0x28], 0
jne 0x461b62
mov dword [ebp - 0x54], 0xffffffff
call fcn.00453270
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xffffffff
je 0x461b30
mov eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x50], 0xffffffff
push 0
push 0
push 0
push 0x461660
push 0
push 0
call dword [sym.imp.MSVCR80.dll__beginthreadex]
add esp, 0x18
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0xffffffff
je 0x461b62
mov ecx, dword [ebp - 0x54]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x54], 0xffffffff
cmp dword [ebp - 0x28], 0
jne 0x461b8a
call fcn.00447060
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x461b8a
mov ecx, dword [ebp - 0x58]
call fcn.00446cd0
test eax, eax
je 0x461b8a
mov ecx, dword [ebp - 0x58]
call fcn.00442fc0
call fcn.004512e0
test eax, eax
je 0x461c25
mov edx, dword [0x14a3bc8]
and edx, 1
jne 0x461bc1
mov eax, dword [0x14a3bc8]
or eax, 1
mov dword [0x14a3bc8], eax
call fcn.004125b0
push 0x467fb0
call fcn.0043adec
add esp, 4
mov dword [ebp - 0x5c], 0x14a2c60
push str.Amat
lea ecx, [ebp - 0x1e0]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.Amat.dat
lea edx, [ebp - 0x160]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.Amat.dll
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
sub esp, 0x180
mov ecx, 0x60
lea esi, [ebp - 0x1e0]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x20]
call eax
jmp 0x461cc6
call fcn.004511b0
test eax, eax
je 0x461cc6
mov ecx, dword [0x14a3bc8]
and ecx, 1
jne 0x461c5e
mov edx, dword [0x14a3bc8]
or edx, 1
mov dword [0x14a3bc8], edx
call fcn.004125b0
push 0x467fb0
call fcn.0043adec
add esp, 4
mov dword [ebp - 0x1e4], 0x14a2c60
push str.Amcn
lea eax, [ebp - 0x368]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.Amcn.dat
lea ecx, [ebp - 0x2e8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.Amcn.dll
lea edx, [ebp - 0x268]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
sub esp, 0x180
mov ecx, 0x60
lea esi, [ebp - 0x368]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x1e4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 0x20]
call eax
cmp dword [ebp - 0x28], 0
jne 0x461cf7
push 0x64
push 0x486a70
push 0x67
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x64
push 0x486b40
push 0x6d
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
jmp 0x461dfd
mov dword [ebp - 0x378], 0
xor eax, eax
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], eax
mov word [ebp - 0x440], 0
push 0xc6
push 0
lea ecx, [ebp - 0x43e]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [ebp - 0x378]
push edx
call dword [sym.imp.RPCRT4.dll_UuidCreate]
movzx eax, byte [ebp - 0x369]
push eax
movzx ecx, byte [ebp - 0x36a]
push ecx
movzx edx, byte [ebp - 0x36b]
push edx
movzx eax, byte [ebp - 0x36c]
push eax
movzx ecx, byte [ebp - 0x36d]
push ecx
movzx edx, byte [ebp - 0x36e]
push edx
movzx eax, byte [ebp - 0x36f]
push eax
movzx ecx, byte [ebp - 0x370]
push ecx
movzx edx, word [ebp - 0x372]
push edx
movzx eax, word [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x378]
push ecx
push str._08x__04x__04x__x_x_x_x_x_x_x_x
lea edx, [ebp - 0x440]
push edx
call dword [sym.imp.MSVCR80.dll__swprintf]
add esp, 0x34
push str.Title
push 0x486a70
call dword [sym.imp.MSVCR80.dll_wcscpy]
add esp, 8
push str.Class
push 0x486b40
call dword [sym.imp.MSVCR80.dll_wcscpy]
add esp, 8
lea eax, [ebp - 0x440]
push eax
push 0x486a70
call dword [sym.imp.MSVCR80.dll_wcscat]
add esp, 8
lea ecx, [ebp - 0x440]
push ecx
push 0x486b40
call dword [sym.imp.MSVCR80.dll_wcscat]
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.004618e0
add esp, 4
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00461960
add esp, 0x10
test eax, eax
jne 0x461e55
cmp dword [0xc9b028], 0
je 0x461e4e
cmp dword [0xc9b028], 0xffffffff
je 0x461e4e
mov ecx, dword [0xc9b028]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0xc9b028], 0xffffffff
xor eax, eax
jmp 0x462029
call fcn.00461670
mov ecx, eax
call fcn.00401780
test eax, eax
jne 0x461ed9
cmp dword [0xc9b028], 0
je 0x461e98
cmp dword [0xc9b028], 0xffffffff
je 0x461e8e
mov edx, dword [0xc9b028]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0xc9b028], 0xffffffff
mov dword [0xc9b028], 0
call sub.Comn.dll_GetObjectLog
mov dword [ebp - 0x44c], eax
push 0xc8
push 0x47adc0
call fcn.004615a0
add esp, 8
push eax
push str._s:_Init_share_mem_err.
mov eax, dword [ebp - 0x44c]
push eax
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
xor eax, eax
jmp 0x462029
mov ecx, dword [0x14a3c70]
and ecx, 1
jne 0x461f0a
mov edx, dword [0x14a3c70]
or edx, 1
mov dword [0x14a3c70], edx
mov ecx, 0x14a3c6c
call fcn.00401370
push 0x467f00
call fcn.0043adec
add esp, 4
lea ecx, [ebp - 0x24]
call fcn.00401060
push 0x47adf0
lea ecx, [ebp - 0x24]
call fcn.004010e0
push eax
mov ecx, 0x14a3c6c
call fcn.004013c0
test eax, eax
jne 0x461f85
call sub.Comn.dll_GetObjectLog
mov dword [ebp - 0x450], eax
push 0xd0
push 0x47ae64
call fcn.004615a0
add esp, 8
push eax
push str._s:_Create_global_event_err.
mov eax, dword [ebp - 0x450]
push eax
mov ecx, dword [ebp - 0x450]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
add esp, 0xc
mov dword [ebp - 0x444], 0
lea ecx, [ebp - 0x24]
call fcn.004010b0
mov eax, dword [ebp - 0x444]
jmp 0x462029
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00454740
add esp, 4
push 0x6d
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov dword [ebp - 0x2c], eax
push 0
push 0
push 0
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x461fe0
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x461fde
lea ecx, [ebp - 0x48]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [ebp - 0x48]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x461fa0
cmp dword [0xc9b028], 0
je 0x462012
cmp dword [0xc9b028], 0xffffffff
je 0x462008
mov eax, dword [0xc9b028]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0xc9b028], 0xffffffff
mov dword [0xc9b028], 0
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x448], ecx
lea ecx, [ebp - 0x24]
call fcn.004010b0
mov eax, dword [ebp - 0x448]
pop edi
pop esi
mov ecx, dword [ebp - 0x60]
xor ecx, ebp
call fcn.0043ad38
mov esp, ebp
pop ebp
ret 0x10