Function at 0x5047b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [0x5f3a94], eax
call fcn.005046f0
push eax
mov eax, dword [0x5f3a94]
mov ecx, dword [eax + 0x14]
xor edi, edi
push edi
push ecx
call fcn.00504570
add esp, 8
push eax
call fcn.00504700
mov esi, dword [0x5f3a94]
add esp, 8
cmp esi, edi
jne 0x504858
push edi
push str.sCurrentThread
push 0x56f
push str.........CommonClassLibRuntimeThread.cpp
lea eax, [edi + 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 edx, [ebp - 0x404]
push 0x400
push edx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea eax, [ebp - 0x404]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x504852
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov esi, dword [0x5f3a94]
push ebx
mov ebx, dword [esi + 0x14]
cmp ebx, edi
je 0x50493e
mov eax, dword [ebx + 8]
cmp eax, edi
je 0x504906
mov ecx, dword [ebx + 4]
cmp dword [ecx + 0x28], edi
jle 0x504906
mov edx, dword [0x5b2bb0]
mov ecx, dword [edx + 0x20]
mov esi, dword [eax + ecx*8]
cmp esi, edi
mov dword [ebp - 0x408], esi
je 0x504906
cmp dword [0x5f3a88], edi
jne 0x5048fe
push 0x10
call fcn.005662c8
mov edi, eax
xor eax, eax
add esp, 4
cmp edi, eax
je 0x5048f9
xor esi, esi
mov dword [edi], 0x57e814
mov dword [edi + 0xc], eax
mov dword [edi + 8], eax
mov dword [edi + 4], eax
call fcn.00564540
lea edx, [ebp - 0x40c]
push edx
mov dword [edi + 4], eax
mov dword [ebp - 0x40c], edi
call fcn.00404cc0
mov edx, dword [edi + 4]
test edx, edx
mov dword [edi], 0x599b2c
je 0x5048eb
call fcn.005645a0
mov dword [edi + 4], esi
mov esi, dword [ebp - 0x408]
mov dword [0x5f3a88], edi
jmp 0x5048fe
mov dword [0x5f3a88], eax
push ebx
call esi
add esp, 4
xor edi, edi
mov eax, dword [ebx + 0xc]
cmp eax, edi
mov dword [ebx + 0x18], edi
jle 0x504923
add eax, 0xffffffff
cmp eax, edi
mov dword [ebx + 0xc], eax
jne 0x504923
push ebx
call fcn.004ff480
add esp, 4
mov eax, dword [0x5f3a94]
mov dword [eax + 0x14], edi
mov ecx, dword [0x5f3a94]
xor esi, esi
call fcn.005041a0
mov esi, dword [0x5f3a94]
mov ecx, dword [0x5f3a90]
xor edx, edx
cmp ecx, edi
mov eax, ecx
pop ebx
je 0x50497a
lea ecx, [ecx]
cmp esi, eax
je 0x50495f
mov edx, eax
mov eax, dword [eax + 0x18]
cmp eax, edi
jne 0x504950
jmp 0x50497a
cmp edx, edi
je 0x504971
mov eax, dword [eax + 0x18]
mov dword [edx + 0x18], eax
mov esi, dword [0x5f3a94]
jmp 0x50497a
mov ecx, dword [eax + 0x18]
mov dword [0x5f3a90], ecx
mov eax, dword [0x5f3a84]
mov byte [esi + 0x2d], 1
mov edx, dword [0x5f3a94]
mov dword [edx + 0x18], eax
mov eax, dword [0x5f3a94]
xor edx, edx
cmp ecx, edi
mov dword [0x5f3a84], eax
mov dword [eax + 0x30], 8
mov eax, ecx
je 0x5049ba
cmp byte [eax + 0x2d], 0
jne 0x5049b3
add edx, 1
cmp edx, 1
jg 0x5049d2
mov eax, dword [eax + 0x18]
cmp eax, edi
jne 0x5049a5
mov ecx, dword [0x5f3a88]
cmp ecx, edi
je 0x5049cc
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [0x5f3a88], edi
push 1
call fcn.00503eb0
add esp, 4
mov edi, eax
mov dword [0x5f3a94], eax
call fcn.00504e10
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00566120
mov esp, ebp
pop ebp
ret