Function at 0x497560
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x434
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
test edi, edi
jne 0x49759d
cmp dword [ebp + 0xc], ecx
je 0x49759d
push 0x1a8e
push str.........Commonplugin.cpp
xor esi, esi
mov edx, str.methods__methodCount__0
lea ecx, [edi + 4]
call fcn.004f1fc0
add esp, 8
cmp dword [ebp + 0xc], 0
mov dword [ebp - 0x424], 0
jle 0x497b27
mov eax, dword [ebp + 8]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x414], edi
mov dword [ebp - 0x420], edi
cmp byte [ebp + 0x10], 0
je 0x4975da
mov ecx, dword [ebp - 0x420]
mov dword [ebp - 0x40c], ecx
jmp 0x4975e6
mov edx, dword [ebp - 0x414]
mov dword [ebp - 0x40c], edx
cmp byte [0x5f49d5], 0
mov dword [ebp - 0x410], 0
jne 0x49760b
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, 1
lea ebx, [ebp - 0x410]
call fcn.004ab8c0
mov esi, dword [ebp - 0x410]
test esi, esi
je 0x497647
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
push ecx
add eax, edi
push 0x57e72c
push eax
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x49765d
mov dword [esi + 0x10], 0x600
mov eax, dword [ebp - 0x40c]
mov esi, dword [eax + 8]
xor edi, edi
test esi, esi
mov dword [ebp - 0x408], edi
je 0x4976e8
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x497677
sub eax, edx
cmp byte [0x5f49d5], cl
mov edi, eax
jne 0x49769e
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ebx, [ebp - 0x408]
call fcn.004ab8c0
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x4976d2
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
push ecx
add eax, 1
push esi
push eax
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x4976e8
mov dword [edi + 0x10], 0x600
mov esi, dword [ebp + 8]
test esi, esi
je 0x4976f2
add dword [esi], 1
lea ecx, [ebp - 0x408]
push ecx
lea edx, [ebp - 0x410]
push edx
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x42c]
push ecx
call fcn.004ac650
add esp, 0xc
push eax
lea edx, [ebp - 0x428]
push edx
call fcn.004ac650
mov ebx, dword [ebp - 0x42c]
add esp, 0xc
test ebx, ebx
je 0x497773
cmp byte [0x5f49d5], 0
jne 0x49774b
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test ebx, ebx
je 0x497768
add dword [ebx], 0xffffffff
jne 0x497768
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x4977ba
cmp byte [0x5f49d5], 0
jne 0x497792
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5f3a18
call ebx
add dword [esi], 0xffffffff
jne 0x4977ad
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4977c0
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test edi, edi
je 0x4977ff
cmp byte [0x5f49d5], 0
jne 0x4977df
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call ebx
add dword [edi], 0xffffffff
jne 0x4977f4
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x410]
test esi, esi
je 0x497844
cmp byte [0x5f49d5], 0
jne 0x497824
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call ebx
add dword [esi], 0xffffffff
jne 0x497839
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x40c]
cmp dword [esi], 0xffffffff
jne 0x4978a2
push 0
push str.method__function____REALproc__REALnoImplementation
push 0x1a99
push str.........Commonplugin.cpp
push str.Failed_Assertion
push 4
push str.Runtime_Error__d:__s_nPress_OK_to_Continue_nPress_Cancel_to_Quit._n_nPlease_report_what_caused_this_error_nalong_with_the_information_below._n_n_s:__d_nFailure_Condition:__s_n_s
lea eax, [ebp - 0x404]
push 0x400
push eax
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea ecx, [ebp - 0x404]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x497b7e
mov ebx, dword [ebp - 0x428]
test ebx, ebx
je 0x4978d9
cmp dword [ebx + 0x10], 0x8000100
je 0x4978d9
push 0x8000100
push ecx
mov eax, esp
lea edx, [ebp - 0x418]
mov dword [eax], ebx
add dword [ebx], 1
push edx
call fcn.00529150
mov edi, dword [ebp - 0x418]
add esp, 0xc
jmp 0x4978e8
test ebx, ebx
mov edi, ebx
mov dword [ebp - 0x418], edi
je 0x4978e8
add dword [ebx], 1
mov eax, dword [esi]
push eax
lea eax, [ebp - 0x418]
call fcn.0049a460
test edi, edi
je 0x497939
cmp byte [0x5f49d5], 0
jne 0x497915
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [edi], 0xffffffff
jne 0x49792e
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esi + 4], 0xffffffff
je 0x497abe
mov edi, 4
mov esi, str..Set
lea eax, [ebp - 0x408]
mov dword [ebp - 0x408], 0
call fcn.004ab970
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x497973
mov dword [edi + 0x10], 0x600
lea ecx, [ebp - 0x408]
push ecx
lea edx, [ebp - 0x428]
push edx
lea eax, [ebp - 0x430]
push eax
call fcn.004ac650
mov eax, dword [eax]
add esp, 0xc
test eax, eax
je 0x4979c7
cmp dword [eax + 0x10], 0x8000100
je 0x4979c7
test eax, eax
push 0x8000100
push ecx
mov ecx, esp
mov dword [ecx], eax
je 0x4979b0
add dword [eax], 1
lea ecx, [ebp - 0x41c]
push ecx
call fcn.00529150
mov esi, dword [ebp - 0x41c]
add esp, 0xc
jmp 0x4979d6
mov esi, eax
test esi, esi
mov dword [ebp - 0x41c], esi
je 0x4979d6
add dword [esi], 1
mov edx, dword [ebp - 0x40c]
mov eax, dword [edx + 4]
push eax
lea eax, [ebp - 0x41c]
call fcn.0049a460
test esi, esi
je 0x497a2e
cmp byte [0x5f49d5], 0
jne 0x497a0a
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [esi], 0xffffffff
jne 0x497a23
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x430]
test esi, esi
je 0x497a7b
cmp byte [0x5f49d5], 0
jne 0x497a53
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x497a70
add dword [esi], 0xffffffff
jne 0x497a70
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x497abe
cmp byte [0x5f49d5], 0
jne 0x497a9a
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [edi], 0xffffffff
jne 0x497ab3
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
je 0x497b01
cmp byte [0x5f49d5], 0
jne 0x497add
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [ebx], 0xffffffff
jne 0x497af6
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x424]
add dword [ebp - 0x420], 0xc
add dword [ebp - 0x414], 0x10
add eax, 1
cmp eax, dword [ebp + 0xc]
mov dword [ebp - 0x424], eax
jl 0x4975c6
mov esi, dword [ebp + 8]
test esi, esi
je 0x497b6d
cmp byte [0x5f49d5], 0
jne 0x497b49
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [esi], 0xffffffff
jne 0x497b62
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]