Function at 0x47a000
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x42c
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, edx
mov eax, dword [edi]
test eax, eax
mov dword [ebp - 0x41c], edi
je 0x47a02e
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x40c], eax
jmp 0x47a038
mov dword [ebp - 0x40c], 0
mov esi, dword [ecx + 0x14]
test esi, esi
mov dword [ebp - 0x408], esi
je 0x47a413
push ebx
mov ebx, dword [ebp - 0x40c]
mov eax, ebx
shl eax, 4
mov dword [ebp - 0x418], eax
jmp 0x47a06c
mov esi, dword [ebp - 0x408]
mov ebx, dword [ebp - 0x40c]
cmp dword [esi + 0x44], 3
je 0x47a401
cmp ebx, dword [edi + 0x38]
jl 0x47a0ce
push 0
push str.propertyCtr___out__properties.count
push 0x14c
push str.........CommonObject_ModelObjectDefinitionConverter.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 ecx, [ebp - 0x404]
push 0x400
push ecx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea edx, [ebp - 0x404]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x47a423
cmp ebx, dword [esi + 0x40]
je 0x47a126
push 0
push str.propertyCtr__ivar__mPropertyTableIndex
push 0x14d
push str.........CommonObject_ModelObjectDefinitionConverter.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 0x47a423
mov ebx, dword [edi + 0x3c]
add ebx, dword [ebp - 0x418]
mov edi, 1
mov esi, 0x57f5f0
lea eax, [ebp - 0x414]
mov dword [ebp - 0x414], 0
call fcn.004ab970
mov eax, dword [ebp - 0x414]
test eax, eax
je 0x47a15f
mov dword [eax + 0x10], 0x600
mov esi, 0x57f5f0
lea eax, [ebp - 0x410]
mov dword [ebp - 0x410], 0
call fcn.004ab970
mov eax, dword [ebp - 0x410]
test eax, eax
je 0x47a18a
mov dword [eax + 0x10], 0x600
mov esi, dword [ebp - 0x408]
mov ecx, dword [esi + 0x20]
lea edx, [ebp - 0x414]
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.0047b250
push eax
lea ecx, [ebp - 0x410]
push ecx
add esi, 0x1c
lea edx, [ebp - 0x428]
push esi
push edx
call fcn.004ac650
add esp, 0xc
push eax
lea eax, [ebp - 0x42c]
push eax
call fcn.004ac650
add esp, 0xc
push eax
lea ecx, [ebp - 0x424]
push ecx
call fcn.004ac650
mov esi, dword [ebp - 0x42c]
add esp, 0xc
test esi, esi
je 0x47a232
cmp byte [0x5f49d5], 0
jne 0x47a206
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 0x47a225
add dword [esi], 0xffffffff
jne 0x47a225
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x47a238
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [ebp - 0x428]
test esi, esi
je 0x47a281
cmp byte [0x5f49d5], 0
jne 0x47a25d
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
test esi, esi
je 0x47a276
add dword [esi], 0xffffffff
jne 0x47a276
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x420]
test esi, esi
je 0x47a2ca
cmp byte [0x5f49d5], 0
jne 0x47a2a6
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
test esi, esi
je 0x47a2bf
add dword [esi], 0xffffffff
jne 0x47a2bf
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x410]
test esi, esi
je 0x47a30f
cmp byte [0x5f49d5], 0
jne 0x47a2ef
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
add dword [esi], 0xffffffff
jne 0x47a304
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x414]
test esi, esi
je 0x47a354
cmp byte [0x5f49d5], 0
jne 0x47a334
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
add dword [esi], 0xffffffff
jne 0x47a349
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [0x5f49d5], 0
jne 0x47a36f
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
mov esi, dword [ebp - 0x424]
test esi, esi
je 0x47a383
add dword [esi], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x408]
add dword [ebp - 0x40c], 1
add dword [ebp - 0x418], 0x10
test esi, esi
mov dword [ebx], esi
mov edx, dword [eax + 0x3c]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 0x2c]
mov dword [ebx + 8], ecx
mov edx, dword [eax + 0x34]
mov dword [ebx + 0xc], edx
je 0x47a3f5
cmp byte [0x5f49d5], 0
jne 0x47a3d5
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call edi
add dword [esi], 0xffffffff
jne 0x47a3ea
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp - 0x41c]
mov esi, dword [ebp - 0x408]
mov eax, dword [esi + 0x14]
test eax, eax
mov dword [ebp - 0x408], eax
jne 0x47a060
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00566120
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]