Function at 0x506c50
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x434
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
test eax, eax
push ebx
mov ebx, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x434], ebx
mov dword [ebp - 0x424], edi
jne 0x506ce0
push eax
push str.self
push 0x25c
push str.........CommonClassLibRuntimeWindow.cpp
mov eax, 4
call fcn.004f1f50
push eax
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
jne 0x506ce0
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
test edi, edi
je 0x507483
push esi
mov esi, dword [0x60037c]
test esi, esi
jne 0x506d09
call fcn.004b69b0
push eax
call fcn.0047a430
mov esi, eax
add esp, 4
mov dword [0x60037c], esi
push esi
push edi
mov dword [ebp - 0x41c], 0
call fcn.004ff5b0
add esp, 8
test al, al
je 0x506d31
push esi
push edi
call fcn.004ff620
add esp, 8
mov dword [ebp - 0x41c], eax
xor esi, esi
mov dword [ebp - 0x40c], esi
call fcn.004b5e10
push eax
call fcn.0047a430
push eax
push edi
call fcn.004ff5b0
add esp, 0xc
test al, al
je 0x506d5a
mov dword [ebp - 0x40c], edi
mov esi, edi
mov edx, dword [ebp - 0x418]
cmp byte [edx + 0xa0], 0
mov dword [ebp - 0x414], SysStringLen
je 0x507173
test ebx, ebx
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x408], ebx
je 0x506d8e
add dword [ebx], 1
mov edi, 1
mov esi, 0x57f8f4
lea eax, [ebp - 0x410]
mov dword [ebp - 0x410], 0
call fcn.004ab970
mov edi, dword [ebp - 0x410]
test edi, edi
je 0x506dbe
mov dword [edi + 0x10], 0x600
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.0052fd70
add esp, 8
push eax
lea ecx, [ebp - 0x410]
push ecx
lea edx, [ebp - 0x408]
push edx
lea eax, [ebp - 0x428]
push eax
call fcn.004ac650
add esp, 0xc
push eax
lea ecx, [ebp - 0x408]
push ecx
call fcn.004ac650
mov esi, dword [ebp - 0x428]
add esp, 0xc
test esi, esi
je 0x506e0c
call fcn.004ab850
test edi, edi
je 0x506e17
mov esi, edi
call fcn.004ab850
mov esi, dword [ebp - 0x420]
test esi, esi
je 0x506e26
call fcn.004ab850
test ebx, ebx
je 0x506e31
mov esi, ebx
call fcn.004ab850
mov eax, dword [ebp - 0x418]
mov edi, dword [eax + 0x90]
lea edx, [ebp - 0x408]
push edx
call fcn.004fe4f0
test al, al
je 0x5070d1
mov dword [ebp - 0x420], ebx
jmp 0x506e60
add dword [ebp - 0x414], 1
test ebx, ebx
je 0x506e6e
add dword [ebx], 1
mov edi, 1
mov esi, 0x57f8f4
lea eax, [ebp - 0x410]
mov dword [ebp - 0x410], 0
call fcn.004ab970
mov ebx, dword [ebp - 0x410]
test ebx, ebx
je 0x506e9e
mov dword [ebx + 0x10], 0x600
mov ecx, dword [ebp - 0x414]
push ecx
lea edx, [ebp - 0x42c]
push edx
call fcn.0052fd70
add esp, 8
push eax
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x420]
push ecx
lea edx, [ebp - 0x430]
push edx
call fcn.004ac650
add esp, 0xc
push eax
lea eax, [ebp - 0x428]
push eax
call fcn.004ac650
add esp, 0xc
cmp byte [0x5f49d5], 0
mov edi, eax
jne 0x506eff
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [ebp - 0x408]
cmp ecx, edi
je 0x506f37
cmp dword [ebp - 0x408], 0
je 0x506f28
mov esi, dword [ebp - 0x408]
call fcn.004ab850
mov edi, dword [edi]
test edi, edi
mov dword [ebp - 0x408], edi
je 0x506f37
add dword [edi], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x428]
test esi, esi
je 0x506f93
cmp byte [0x5f49d5], 0
jne 0x506f67
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5f3a18
call edi
test esi, esi
je 0x506f86
add dword [esi], 0xffffffff
jne 0x506f86
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x506f99
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [ebp - 0x430]
test esi, esi
je 0x506fe2
cmp byte [0x5f49d5], 0
jne 0x506fbe
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
test esi, esi
je 0x506fd7
add dword [esi], 0xffffffff
jne 0x506fd7
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
je 0x507021
cmp byte [0x5f49d5], 0
jne 0x507001
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
add dword [ebx], 0xffffffff
jne 0x507016
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x42c]
test esi, esi
je 0x50706a
cmp byte [0x5f49d5], 0
jne 0x507046
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
test esi, esi
je 0x50705f
add dword [esi], 0xffffffff
jne 0x50705f
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x434]
test esi, esi
je 0x5070af
cmp byte [0x5f49d5], 0
jne 0x50708f
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
add dword [esi], 0xffffffff
jne 0x5070a4
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x418]
mov edi, dword [eax + 0x90]
lea edx, [ebp - 0x408]
push edx
call fcn.004fe4f0
test al, al
mov ebx, esi
jne 0x506e60
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x5070e6
mov ecx, dword [ebp - 0x414]
mov dword [eax + 0x40], ecx
jmp 0x507136
mov eax, dword [ebp - 0x41c]
test eax, eax
je 0x507136
mov edx, dword [0x60037c]
push edx
push eax
call fcn.004ff750
mov edi, dword [eax + 0x18]
add esp, 8
test edi, edi
jne 0x507123
push 0x280
push str.........CommonClassLibRuntimeWindow.cpp
xor esi, esi
mov edx, 0x598290
lea ecx, [edi + 4]
call fcn.004f1fc0
add esp, 8
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x424]
push eax
push ecx
call edi
add esp, 8
cmp dword [ebp - 0x408], 0
je 0x50714a
mov esi, dword [ebp - 0x408]
call fcn.004ab850
mov esi, dword [ebp - 0x40c]
test esi, esi
je 0x5071ed
mov ecx, dword [ebp - 0x418]
mov dword [esi + 0x60], ecx
mov eax, dword [ecx + 0xb8]
test eax, eax
je 0x5071d7
mov eax, dword [eax + 0x3c]
mov dword [esi + 0x5c], eax
jmp 0x5071dd
test esi, esi
je 0x507182
mov edx, dword [esi + 0x40]
mov dword [ebp - 0x414], edx
jmp 0x507150
cmp dword [ebp - 0x41c], 0
je 0x5071ed
mov eax, dword [0x60037c]
mov ecx, dword [ebp - 0x41c]
push eax
push ecx
call fcn.004ff750
mov edi, dword [eax + 0x10]
add esp, 8
test edi, edi
jne 0x5071c3
push 0x28e
push str.........CommonClassLibRuntimeWindow.cpp
xor esi, esi
mov edx, 0x598290
lea ecx, [edi + 4]
call fcn.004f1fc0
add esp, 8
mov edx, dword [ebp - 0x424]
push edx
call edi
add esp, 4
mov dword [ebp - 0x414], eax
jmp 0x5071ed
mov ecx, dword [ecx + 0x3c]
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0x3c], 0
jne 0x5071ed
test ebx, ebx
mov dword [esi + 0x3c], ebx
je 0x5071ed
add dword [ebx], 1
test ebx, ebx
mov dword [ebp - 0x410], ebx
je 0x5071fa
add dword [ebx], 1
cmp dword [ebp - 0x414], 0
jl 0x5072c4
mov edi, 1
mov esi, 0x57f8f4
lea eax, [ebp - 0x408]
mov dword [ebp - 0x408], 0
call fcn.004ab970
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x507237
mov dword [eax + 0x10], 0x600
mov edx, dword [ebp - 0x414]
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.0052fd70
add esp, 8
push eax
lea ecx, [ebp - 0x408]
push ecx
lea edx, [ebp - 0x410]
push edx
lea eax, [ebp - 0x430]
push eax
call fcn.004ac650
add esp, 0xc
push eax
lea ecx, [ebp - 0x42c]
push ecx
call fcn.004ac650
add esp, 0xc
mov ebx, eax
lea edi, [ebp - 0x410]
call fcn.004abdf0
mov esi, dword [ebp - 0x42c]
test esi, esi
je 0x507297
call fcn.004ab850
mov esi, dword [ebp - 0x430]
test esi, esi
je 0x5072a6
call fcn.004ab850
mov esi, dword [ebp - 0x420]
test esi, esi
je 0x5072b5
call fcn.004ab850
mov esi, dword [ebp - 0x408]
test esi, esi
je 0x5072c4
call fcn.004ab850
mov esi, dword [ebp - 0x424]
mov edi, dword [ebp - 0x418]
mov ecx, dword [edi + 0x90]
push esi
lea eax, [ebp - 0x410]
call fcn.0045d0b0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5072ef
add eax, 1
mov dword [esi + 0xc], eax
cmp byte [edi + 0xa0], 0
je 0x507451
cmp dword [ebp - 0x40c], 0
je 0x507451
mov edx, dword [ebp - 0x40c]
cmp dword [edx + 0x5c], 0
je 0x507451
call fcn.004107b0
push eax
call fcn.0047a430
push eax
mov eax, esi
push eax
call fcn.004ff5b0
add esp, 0xc
test al, al
jne 0x507451
mov ebx, dword [ebp - 0x40c]
mov byte [0x5f49b3], 1
call fcn.00418d70
mov ecx, edi
mov edi, dword [ecx + 0x90]
mov byte [0x5f49b3], 0
call fcn.004108d0
mov edi, eax
cmp byte [edi + 8], 0
je 0x507379
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5073f4
mov edx, dword [eax + 4]
mov dword [edi + 0xc], edx
jmp 0x50737d
mov byte [edi + 8], 1
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5073f4
cmp byte [edi + 8], 0
je 0x5073f4
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x40c]
cmp eax, dword [ecx + 4]
jne 0x507360
mov edx, ecx
mov ecx, dword [edx + 0x38]
test ecx, ecx
je 0x507360
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
call edx
mov esi, eax
test esi, esi
je 0x507360
cmp esi, dword [ebx + 0x38]
jne 0x507360
mov ecx, dword [ebp - 0x40c]
mov edx, dword [ecx + 0x38]
mov eax, dword [esi]
mov eax, dword [eax + 0x174]
push edx
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0x7c]
mov ecx, esi
call eax
test eax, eax
je 0x507360
mov ecx, dword [ebp - 0x40c]
mov ecx, dword [ecx + 0x38]
mov edx, dword [eax]
mov edx, dword [edx + 0x170]
push ecx
mov ecx, eax
call edx
jmp 0x507360
mov eax, dword [edi]
mov edx, dword [eax]
push 1
mov ecx, edi
call edx
mov esi, dword [ebp - 0x40c]
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x507427
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
call edx
test eax, eax
je 0x507427
movzx ecx, byte [eax + 0x4d]
mov edx, dword [eax]
mov edx, dword [edx + 0x118]
push ecx
mov ecx, eax
call edx
mov edx, dword [0x5b4bf8]
mov eax, esi
call fcn.0047c7a0
test eax, eax
je 0x50743e
push esi
call eax
add esp, 4
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x507451
mov eax, dword [ecx]
mov edx, dword [eax + 0xf4]
push 0
call edx
mov ecx, dword [ebp - 0x41c]
test ecx, ecx
je 0x507473
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x507473
add eax, 0xffffffff
mov dword [ecx + 0xc], eax
jne 0x507473
push ecx
call fcn.004ff480
add esp, 4
mov esi, dword [ebp - 0x410]
test esi, esi
je 0x507482
call fcn.004ab850
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret