Function at 0x401210
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b4b36
mov eax, dword fs:[0]
push eax
sub esp, 0xb80
mov eax, dword [0x4fb008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 0x10]
lea ecx, [ebp - 0xa18]
push 0
mov dword [ebp - 0xa0c], edi
call fcn.00406130
mov dword [ebp - 4], 0
lea eax, [ebp - 0x9d8]
push eax
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
mov dword [ebp - 0x9e0], 0
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [ebp - 0xa18]
mov dword [ebp - 0x9c0], eax
mov byte [ebp - 4], 1
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov eax, dword [0x4ffeb0]
lea ecx, [ebp - 0x9bc]
test eax, eax
cmovne ecx, eax
mov dword [0x4ffeb0], ecx
mov byte [ebp - 4], 2
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
lea eax, [ebp - 0x9ec]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], 0x4ccc88
push 0x410fc0
mov dword [0x4ffd20], eax
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov byte [ebp - 4], 3
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov eax, dword [0x4ffd10]
lea ecx, [ebp - 0xa08]
test eax, eax
cmovne ecx, eax
mov dword [0x4ffd10], ecx
mov byte [ebp - 4], 4
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xa08], 0x4cc3f4
mov dword [ebp - 0xa04], ebx
mov dword [ebp - 0x49c], str._service
mov dword [ebp - 0x498], 0
mov dword [ebp - 0x494], str._configapp
mov dword [ebp - 0x490], 0
mov dword [ebp - 0x48c], str._configservice
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], str._setservicecontrolpass
mov dword [ebp - 0x480], 0
mov dword [ebp - 0x47c], str._setservicevncpass
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], str._checkservicepasswords
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], str._controlservice
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], str._controlapp
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], str._desktopserver
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], str._queryconnection
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0x4c62c0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], str._logout
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], str._install
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], str._remove
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], str._reinstall
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], str._start
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], str._stop
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
mov dword [ebp - 0x9fc], 0
mov dword [ebp - 0x9f8], 0
mov dword [ebp - 0x9f4], 0
lea eax, [ebp - 0x9fc]
mov byte [ebp - 4], 7
push eax
push 1
mov ecx, eax
call fcn.00404970
mov eax, dword [ebp - 0x9f8]
mov ecx, dword [ebp - 0x9fc]
sub eax, ecx
sar eax, 1
add eax, eax
push eax
push 0x4cc34c
push ecx
call fcn.0049ae40
add esp, 0xc
push edi
lea ecx, [ebp - 0xa34]
mov byte [ebp - 4], 9
call fcn.0041c050
lea eax, [ebp - 0xa34]
mov byte [ebp - 4], 0xa
push eax
push 0x11
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x9b8]
call fcn.00404d70
lea ecx, [ebp - 0xa30]
mov dword [ebp - method.CommandLineArgs.virtual_0], vtable.CommandLineArgs.0
call fcn.00405160
mov dword [ebp - 4], 8
jmp 0x40159c
mov ecx, dword [ebp - 0x9b4]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4015cf
mov eax, dword [ebp - 0xa00]
lea ecx, [ebp - 0xa00]
push dword [esi + 4]
call dword [eax + 4]
mov eax, dword [ebp - 0x9fc]
test eax, eax
je 0x402cf1
mov edx, str._service
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x40160a
test si, si
je 0x401606
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x40160a
add ecx, 4
add edx, 4
test si, si
jne 0x4015e4
xor ecx, ecx
jmp 0x40160f
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x401a46
lea eax, [ebp - 0x7a4]
mov dword [ebp - method.Service.virtual_0], vtable.Service.0
mov dword [ebp - 0xa0c], eax
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
mov dword [ebp - 0x7a0], ecx
mov dword [ebp - 0x79c], ecx
mov dword [ebp - 0x798], ecx
lea eax, [ebp - 0x7a0]
mov byte [ebp - 4], 0xc
push eax
push 1
mov ecx, eax
call fcn.00404970
mov eax, dword [ebp - 0x79c]
mov ecx, dword [ebp - 0x7a0]
sub eax, ecx
sar eax, 1
add eax, eax
push eax
push 0x4cc34c
push ecx
call fcn.0049ae40
add esp, 0xc
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x7a8]
mov dword [0x4ffd24], eax
lea ecx, [ebp - 0x7a4]
mov eax, dword [ebp - 0x7a4]
push 0x4c6434
call dword [eax + 4]
mov byte [ebp - 4], 0xf
push ecx
lea ecx, [ebp - 0x768]
mov dword [ebp - method.TvnService.1.virtual_0], vtable.TvnService.1.0
mov dword [ebp - method.TvnService.2.virtual_0], vtable.TvnService.2.0
mov dword [ebp - method.TvnService.virtual_0], vtable.TvnService.0
call fcn.0041dc00
push ecx
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x75c]
mov dword [ebp - 0x760], 0
call fcn.00450e40
sub esp, 8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x6ac]
call fcn.00452110
lea eax, [ebp - 0x9e8]
mov dword [ebp - 0x608], eax
lea eax, [ebp - 0x9f0]
mov dword [ebp - 0x604], eax
mov byte [ebp - 4], 0x13
mov ecx, 0x4fc4b0
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 4]
mov dword [reloc.WS2_32.dll_accept], 0x80000002
mov byte [ebp - 4], 0x14
mov ecx, 0x4fc4b0
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
lea ecx, [ebp - 0x7a8]
mov byte [ebp - 4], 0x13
call fcn.0041c890
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 4], 0x12
call fcn.00411f10
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x4017fd
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x4017d5
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d0c
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x1a
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x1b
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x1c
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x1d
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x4018b5
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
xor eax, eax
jmp 0x403cee
mov edx, str._configapp
mov ecx, eax
nop dword [eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401a76
test si, si
je 0x401a72
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401a76
add ecx, 4
add edx, 4
test si, si
jne 0x401a50
xor ecx, ecx
jmp 0x401a7b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4028b9
mov edx, str._configservice
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401ab6
test si, si
je 0x401ab2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401ab6
add ecx, 4
add edx, 4
test si, si
jne 0x401a90
xor ecx, ecx
jmp 0x401abb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4028b9
mov edx, str._setservicecontrolpass
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401af6
test si, si
je 0x401af2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401af6
add ecx, 4
add edx, 4
test si, si
jne 0x401ad0
xor ecx, ecx
jmp 0x401afb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4028b9
mov edx, str._setservicevncpass
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401b36
test si, si
je 0x401b32
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401b36
add ecx, 4
add edx, 4
test si, si
jne 0x401b10
xor ecx, ecx
jmp 0x401b3b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4028b9
mov edx, str._controlservice
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401b76
test si, si
je 0x401b72
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401b76
add ecx, 4
add edx, 4
test si, si
jne 0x401b50
xor ecx, ecx
jmp 0x401b7b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4028b9
mov edx, str._controlapp
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401bb6
test si, si
je 0x401bb2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401bb6
add ecx, 4
add edx, 4
test si, si
jne 0x401b90
xor ecx, ecx
jmp 0x401bbb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4028b9
mov edx, str._checkservicepasswords
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401bf6
test si, si
je 0x401bf2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401bf6
add ecx, 4
add edx, 4
test si, si
jne 0x401bd0
xor ecx, ecx
jmp 0x401bfb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4028b9
mov edx, 0x4c62c0
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401c36
test si, si
je 0x401c32
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401c36
add ecx, 4
add edx, 4
test si, si
jne 0x401c10
xor ecx, ecx
jmp 0x401c3b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4025b0
mov edx, str._logout
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401c76
test si, si
je 0x401c72
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401c76
add ecx, 4
add edx, 4
test si, si
jne 0x401c50
xor ecx, ecx
jmp 0x401c7b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4025b0
mov edx, str._desktopserver
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401cb6
test si, si
je 0x401cb2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401cb6
add ecx, 4
add edx, 4
test si, si
jne 0x401c90
xor ecx, ecx
jmp 0x401cbb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x401fa6
mov byte [ebp - 4], 0x43
call fcn.00411570
push edi
lea ecx, [ebp - 0xa44]
call fcn.0041c050
lea eax, [ebp - 0xa44]
mov byte [ebp - 4], 0x44
push eax
push ecx
push ebx
lea ecx, [ebp - 0x9ac]
call fcn.00412a50
lea ecx, [ebp - 0x9ac]
mov byte [ebp - 4], 0x45
call fcn.004136e0
lea ecx, [ebp - 0x9ac]
mov edi, eax
call fcn.00413450
lea ecx, [ebp - 0xa40]
mov dword [ebp - method.CommandLineArgs.virtual_0], vtable.CommandLineArgs.0
call fcn.00405160
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x401dbe
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x401d96
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d16
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x46
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x47
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x48
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x49
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x401e76
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x9dc]
mov edx, dword [ebp - 0x9dc]
call dword [edx + 8]
jmp 0x403cc0
mov edx, str._queryconnection
mov ecx, eax
nop dword [eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x401fd6
test si, si
je 0x401fd2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x401fd6
add ecx, 4
add edx, 4
test si, si
jne 0x401fb0
xor ecx, ecx
jmp 0x401fdb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x4022b4
call fcn.00411510
push ecx
push ebx
lea ecx, [ebp - 0xa9c]
mov byte [ebp - 4], 0x51
call fcn.004200c0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xa80]
push edi
mov dword [ebp - method.QueryConnectionApplication.virtual_0], vtable.QueryConnectionApplication.0
call fcn.00403eb0
lea ecx, [ebp - 0xa9c]
mov byte [ebp - 4], 0x53
call fcn.00410650
lea ecx, [ebp - 0xa9c]
mov edi, eax
call fcn.00410620
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x4020cc
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x4020a4
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d20
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x54
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x55
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x56
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x57
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x402184
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x9dc]
mov edx, dword [ebp - 0x9dc]
call dword [edx + 8]
jmp 0x403cc0
mov edx, str._install
mov ecx, eax
nop dword [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x4022e6
test si, si
je 0x4022e2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4022e6
add ecx, 4
add edx, 4
test si, si
jne 0x4022c0
xor ecx, ecx
jmp 0x4022eb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4023e3
mov edx, str._remove
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x402326
test si, si
je 0x402322
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x402326
add ecx, 4
add edx, 4
test si, si
jne 0x402300
xor ecx, ecx
jmp 0x40232b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4023e3
mov edx, str._reinstall
mov ecx, eax
nop word [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
jne 0x402366
test si, si
je 0x402362
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x402366
add ecx, 4
add edx, 4
test si, si
jne 0x402340
xor ecx, ecx
jmp 0x40236b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4023e3
mov edx, str._start
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x40239c
test si, si
je 0x402398
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x40239c
add ecx, 4
add edx, 4
test si, si
jne 0x402376
xor ecx, ecx
jmp 0x4023a1
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4023e3
mov ecx, str._stop
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4023d6
test dx, dx
je 0x4023d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4023d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4023b0
xor eax, eax
jmp 0x4023db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x402cf1
call fcn.00411510
push str.TvnWindowsApplicationClass
lea ecx, [ebp - 0xa64]
mov dword [ebp - method.WindowsApplication.virtual_0], vtable.WindowsApplication.0
mov dword [ebp - 0xa6c], ebx
mov dword [ebp - 0xa68], 0
call fcn.00403eb0
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0xa54]
push edi
mov dword [ebp - method.ServiceControlApplication.virtual_0], vtable.ServiceControlApplication.0
call fcn.00403eb0
lea ecx, [ebp - 0xa70]
mov byte [ebp - 4], 0x60
call fcn.004138e0
lea ecx, [ebp - 0xa70]
mov edi, eax
call fcn.004138b0
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x4024e5
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x4024bd
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d2a
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x61
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x62
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x63
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x64
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x40259d
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x66
jmp 0x403cb1
call fcn.00411510
push ecx
push ebx
lea ecx, [ebp - 0xac8]
mov byte [ebp - 4], 0x35
call fcn.004200c0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xaac]
push edi
mov dword [ebp - method.AdditionalActionApplication.virtual_0], vtable.AdditionalActionApplication.0
call fcn.00403eb0
lea ecx, [ebp - 0xac8]
mov byte [ebp - 4], 0x37
call fcn.00412650
lea ecx, [ebp - 0xac8]
mov edi, eax
call fcn.00412620
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x402699
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x402671
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d2f
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x38
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x39
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x3a
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x3b
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x402751
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x9dc]
mov edx, dword [ebp - 0x9dc]
call dword [edx + 8]
jmp 0x403cc0
mov eax, dword [vtable.LocalMutex.0]
mov ecx, 0x4fc4b0
call dword [eax + 4]
mov byte [0x4ffd1c], 1
mov byte [ebp - 4], 0x20
mov ecx, 0x4fc4b0
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x5f4]
push str.TvnWindowsApplicationClass
mov dword [ebp - method.WindowsApplication.virtual_0], vtable.WindowsApplication.0
mov dword [ebp - 0x5fc], ebx
mov dword [ebp - 0x5f8], 0
call fcn.00403eb0
mov dword [ebp - method.Notificator.virtual_0], vtable.Notificator.0
lea eax, [ebp - 0x5d8]
mov dword [ebp - method.Thread.virtual_0], vtable.Thread.0
push eax
push 4
lea eax, [ebp - 0x5e0]
mov byte [ebp - 0x5d4], 0
push eax
push 0x46ef80
push 0
push 0
mov byte [ebp - 0x5d3], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x5dc], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5d0]
push 0
mov dword [ebp - method.ControlApplication.2.virtual_0], vtable.ControlApplication.2.0
mov dword [ebp - method.ControlApplication.virtual_0], vtable.ControlApplication.0
mov dword [ebp - method.ControlApplication.1.virtual_0], vtable.ControlApplication.1.0
call fcn.00406130
push 0
lea ecx, [ebp - 0x5c4]
mov byte [ebp - 4], 0x25
call fcn.00468370
xorps xmm0, xmm0
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
lea eax, [ebp - 0x4b0]
mov dword [ebp - 0x4ac], 0
movups xmmword [ebp - 0x4c0], xmm0
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 0
lea eax, [ebp - 0x4ac]
mov byte [ebp - 4], 0x27
push eax
push 1
mov ecx, eax
call fcn.00404970
mov eax, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x4ac]
sub eax, ecx
sar eax, 1
add eax, eax
push eax
push 0x4cc34c
push ecx
call fcn.0049ae40
add esp, 0xc
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x4b0]
mov eax, dword [ebp - 0x4b0]
push edi
mov byte [ebp - 0x4a0], 0
call dword [eax + 4]
mov dword [ebp - 0xa1c], 0x323b
lea eax, [ebp - 0xa20]
mov dword [ebp - 0xa20], 8
push eax
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
cmp eax, 1
jne 0x403d39
call fcn.004554c0
lea ecx, [ebp - 0x600]
mov byte [ebp - 4], 0x29
call fcn.0040a5e0
lea ecx, [ebp - 0x600]
mov edi, eax
call fcn.0040a4b0
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x402b09
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x402ae1
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d5e
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x2a
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x2b
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x2c
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x2d
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x402bc1
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x9dc]
mov edx, dword [ebp - 0x9dc]
call dword [edx + 8]
jmp 0x403cc0
call fcn.00411510
lea eax, [ebp - 0x9f0]
push eax
push edi
push ecx
push ebx
lea ecx, [ebp - 0xb88]
call fcn.00411760
push 0x400
lea eax, [ebp - 0x414]
mov byte [ebp - 4], 0x67
push 0
push eax
call fcn.00499160
add esp, 0xc
lea eax, [ebp - 0x414]
push 0x400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp byte [ebp - 0x40b], 0x6a
jne 0x402f1d
cmp byte [ebp - 0x40a], 0x6f
jne 0x402f1d
cmp byte [ebp - 0x409], 0x68
jne 0x402f1d
cmp byte [ebp - 0x408], 0x6e
jne 0x402f1d
lea ecx, [ebp - 0xb88]
call fcn.00411950
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x402e15
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x402ded
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d68
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x68
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x69
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x6a
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x6b
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x402ecd
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
xor eax, eax
jmp 0x403cee
mov cl, byte [ebp - 0x411]
mov al, byte [ebp - 0x410]
cmp cl, 0x61
jne 0x403110
cmp al, 0x6e
jne 0x403110
cmp byte [ebp - 0x40f], cl
jne 0x403110
cmp byte [ebp - 0x40e], 0x6c
jne 0x403110
cmp byte [ebp - 0x40d], 0x79
jne 0x403110
lea ecx, [ebp - 0xb88]
call fcn.00411950
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x403008
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x402fe0
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d6d
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x6e
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x6f
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x70
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x71
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x4030c0
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
xor eax, eax
jmp 0x403cee
cmp byte [ebp - 0x412], 0x5c
jne 0x4032f8
cmp cl, 0x74
jne 0x4032f8
cmp al, 0x61
jne 0x4032f8
cmp byte [ebp - 0x40f], 0x73
jne 0x4032f8
cmp byte [ebp - 0x40e], 0x6b
jne 0x4032f8
lea ecx, [ebp - 0xb88]
call fcn.00411950
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x4031f0
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x4031c8
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d72
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x74
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x75
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x76
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x77
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x4032a8
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
xor eax, eax
jmp 0x403cee
mov cl, byte [ebp - 0x414]
lea esi, [ebp - 0x414]
xor edx, edx
test cl, cl
je 0x403961
mov bl, cl
cmp bl, 0x5c
lea eax, [edx + 1]
mov bl, byte [esi + 1]
lea esi, [esi + 1]
cmovne eax, edx
mov edx, eax
test bl, bl
jne 0x403310
cmp edx, 2
jne 0x40353b
lea eax, [ebp - 0x414]
mov dl, cl
cmp dl, 0x5c
je 0x403343
mov dl, byte [eax + 1]
inc eax
test dl, dl
jne 0x403336
mov dl, byte [eax + 1]
inc eax
xor esi, esi
test dl, dl
je 0x403961
cmp dl, 0x5c
je 0x40335f
mov dl, byte [eax + 1]
inc eax
inc esi
test dl, dl
jne 0x403351
cmp esi, 7
jne 0x403961
cmp cl, 0x43
jne 0x403961
cmp byte [ebp - 0x413], 0x3a
jne 0x403961
cmp byte [ebp - 0x405], 0x3a
je 0x403961
lea ecx, [ebp - 0xb88]
call fcn.00411950
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x403433
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x40340b
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d77
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x7a
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x7b
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x7c
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x7d
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x4034eb
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x7f
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
xor eax, eax
jmp 0x403cee
cmp edx, 7
jne 0x403750
lea edx, [ebp - 0x414]
xor esi, esi
nop dword [eax]
cmp cl, 0x5c
mov eax, edx
mov cl, byte [edx + 1]
cmovne eax, esi
inc edx
mov esi, eax
test cl, cl
jne 0x403550
test esi, esi
je 0x403961
xor eax, eax
cmp byte [esi + 1], al
je 0x403961
inc eax
cmp byte [esi + eax + 1], 0
jne 0x403575
cmp eax, 0x16
jne 0x403961
cmp byte [ebp - 0x3ef], 0x54
jne 0x403961
cmp byte [ebp - 0x3ee], 0x65
jne 0x403961
lea ecx, [ebp - 0xb88]
call fcn.00411950
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x403648
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x403620
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d7c
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x80
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x81
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x82
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x83
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x403700
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
xor eax, eax
jmp 0x403cee
cmp edx, 6
jne 0x403961
lea edx, [ebp - 0x414]
xor esi, esi
cmp cl, 0x5c
mov eax, edx
mov cl, byte [edx + 1]
cmovne eax, esi
inc edx
mov esi, eax
test cl, cl
jne 0x403761
test esi, esi
je 0x403961
xor eax, eax
cmp byte [esi + 1], al
je 0x403961
inc eax
cmp byte [esi + eax + 1], 0
jne 0x403786
cmp eax, 0x24
jne 0x403961
cmp byte [ebp - 0x3ef], 0x54
jne 0x403961
cmp byte [ebp - 0x3ee], 0x65
jne 0x403961
lea ecx, [ebp - 0xb88]
call fcn.00411950
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x403859
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x403831
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d81
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x86
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x87
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x88
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x89
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x403911
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
xor eax, eax
jmp 0x403cee
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov ecx, 0x804
cmp ax, cx
je 0x403b36
mov ecx, 0x404
cmp ax, cx
je 0x403b36
lea ecx, [ebp - 0xb88]
call fcn.00411950
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x403a2e
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x403a06
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d86
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x8c
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x8d
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x8e
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x8f
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x90
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x403ae6
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
xor eax, eax
jmp 0x403cee
lea ecx, [ebp - 0xb88]
call fcn.004119b0
lea ecx, [ebp - 0xb88]
mov edi, eax
call fcn.00411950
lea ecx, [ebp - 0x9fc]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00404840
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x9b8]
test ecx, ecx
je 0x403beb
mov edx, dword [ebp - 0x9b4]
push ecx
call fcn.004054f0
mov ecx, dword [ebp - 0x9b0]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x9b8]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x403bc3
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403d8b
push ecx
push esi
call fcn.00497c44
add esp, 8
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov byte [ebp - 4], 0x92
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_ResourceLoader_.virtual_0], vtable.Singleton_class_ResourceLoader_.0
call dword [eax + 4]
mov dword [0x4ffd10], 0
mov byte [ebp - 4], 0x93
mov ecx, 0x4fc5c8
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov byte [ebp - 4], 0x94
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
mov dword [ebp - method.Singleton_class_CrashHook_.virtual_0], vtable.Singleton_class_CrashHook_.0
call dword [eax + 4]
mov dword [0x4ffeb0], 0
mov byte [ebp - 4], 0x95
mov ecx, 0x4fc5e4
mov eax, dword [vtable.LocalMutex.0]
call dword [eax + 8]
mov dword [ebp - method.WinEventLogWriter.virtual_0], vtable.WinEventLogWriter.0
mov dword [ebp - method.WinEventLogWriter.2.virtual_0], vtable.WinEventLogWriter.2.0
mov dword [ebp - method.WinEventLogWriter.1.virtual_0], vtable.WinEventLogWriter.1.0
mov byte [ebp - 4], 0x96
lea ecx, [ebp - 0x9dc]
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - method.WinEventLog.virtual_0], vtable.WinEventLog.0
call dword [eax + 4]
mov eax, dword [ebp - 0x9e0]
test eax, eax
je 0x403ca3
push eax
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov dword [ebp - 0x9e0], 0
mov byte [ebp - 4], 0x97
mov eax, dword [ebp - 0x9dc]
lea ecx, [ebp - 0x9dc]
call dword [eax + 8]
lea eax, [ebp - 0x9d8]
mov dword [ebp - method.LocalMutex.virtual_0], vtable.LocalMutex.0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xa18]
mov dword [ebp - method.Lockable.virtual_0], vtable.Lockable.0
call fcn.00406230
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004976fb
mov esp, ebp
pop ebp
ret 0x10
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
lea eax, [ebp - 0xadc]
push str.Cannot_initialize_common_controls_ex.
push eax
call fcn.00405ab0
add esp, 8
lea eax, [ebp - 0xadc]
push 0x4f88b0
push eax
call fcn.00499378
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
call fcn.0049e989
int3