joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4eae40
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x810
mov eax, dword [0x5b00cc]
xor eax, esp
mov dword [esp + 0x80c], eax
test esi, esi
push ebx
push edi
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
jne 0x4eaebb
push 0
push str.array
push 0x4e8
push str.........CommonRuntimeArrayFoundation.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, [esp + 0x2c]
push 0x400
push eax
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea ecx, [esp + 0x18]
push ecx
push 0
call edi
cmp eax, 2
jne 0x4eaebb
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
cmp dword [esi + 0x20], 1
je 0x4eaf1c
push 0
push str.1__array__dimensions
push 0x4e9
push str.........CommonRuntimeArrayFoundation.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 edx, [esp + 0x42c]
push 0x400
push edx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea eax, [esp + 0x418]
push eax
push 0
call edi
cmp eax, 2
jne 0x4eaf1c
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov edx, dword [esi + 0x2c]
mov ecx, dword [ebp + 8]
cmp ecx, edx
je 0x4eb017
cmp ecx, 0xffffffff
jge 0x4eaf4e
mov ecx, dword [0x5f3a48]
call fcn.004f2580
pop edi
pop ebx
mov ecx, dword [esp + 0x80c]
xor ecx, esp
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 0x1c]
test ebx, ebx
je 0x4eaf8d
cmp ecx, edx
jge 0x4eaf8d
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x34]
test eax, eax
mov dword [esp + 0xc], eax
je 0x4eaf8d
lea edi, [ecx + 1]
cmp edi, edx
jg 0x4eaf8d
jmp 0x4eaf74
mov eax, dword [esp + 0xc]
mov ecx, dword [ebx + edi*8 + 4]
mov edx, dword [ebx + edi*8]
push ecx
push edx
call eax
add edi, 1
add esp, 8
cmp edi, dword [esi + 0x2c]
jle 0x4eaf70
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x24]
lea eax, [ecx*8 + 8]
cmp eax, edx
mov dword [esp + 0xc], edx
mov dword [esi + 0x24], eax
jge 0x4eafa6
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esi + 0x28], 0x10
jle 0x4eafc2
push eax
call fcn.005662c8
mov edi, dword [ebp + 8]
add esp, 4
mov dword [esi + 0x1c], eax
jmp 0x4eafcc
mov dword [esi + 0x1c], 0
or edi, 0xffffffff
test ebx, ebx
je 0x4eafec
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x4eafec
mov ecx, dword [esp + 0xc]
push ecx
push ebx
push eax
call fcn.00566500
push ebx
call fcn.0056612f
add esp, 0x10
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x4eb014
mov eax, dword [esi + 0x2c]
cmp edi, eax
jle 0x4eb014
mov edx, edi
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
push edx
lea eax, [ecx + eax*8 + 8]
push 0
push eax
call fcn.0056b660
add esp, 0xc
mov dword [esi + 0x2c], edi
mov ecx, dword [esp + 0x814]
pop edi
pop ebx
xor ecx, esp
call fcn.00566120
mov esp, ebp
pop ebp
ret
Function at 0x4eb1f0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
mov esi, dword [ebx + 0x2c]
add esi, 1
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
push edi
mov dword [ebp - 0x410], ebx
mov dword [ebp - 0x40c], esi
neg ecx
or ecx, eax
push ecx
call fcn.005662c8
mov edi, eax
add esp, 4
xor eax, eax
test esi, esi
jle 0x4eb24a
lea ecx, [ecx]
mov dword [edi + eax*4], eax
add eax, 1
cmp eax, esi
jl 0x4eb240
mov ebx, dword [ebx + 0x1c]
lea eax, [esi - 1]
push eax
call fcn.004efbc0
mov ecx, dword [ebp - 0x410]
add esp, 4
push esi
mov esi, dword [ecx + 0x1c]
push edi
call fcn.004ef850
xor ebx, ebx
add esp, 8
cmp ebx, dword [ebp + 0x10]
jae 0x4eb34e
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ebx*4]
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x3c]
push esi
call eax
add eax, 0xffffffff
add esp, 4
cmp eax, 7
ja case.0x4eb291.2
jmp dword [eax*4 + 0x4eb380]
mov edx, dword [ebp - 0x40c]
mov eax, dword [esi + 0x1c]
push edx
push edi
push eax
call fcn.004f08e0
add esp, 0xc
jmp 0x4eb342
mov ecx, dword [ebp - 0x40c]
mov edx, dword [esi + 0x1c]
push ecx
push edi
push edx
call fcn.004ee000
add esp, 0xc
jmp 0x4eb342
mov eax, dword [ebp - 0x40c]
mov ecx, dword [esi + 0x1c]
push eax
push edi
push ecx
call fcn.004ee100
add esp, 0xc
jmp 0x4eb342
mov edx, dword [ebp - 0x40c]
mov eax, dword [esi + 0x1c]
push edx
push edi
push eax
call fcn.004ee210
add esp, 0xc
jmp 0x4eb342
push 0
push 0x57e0a8
push 0x30f
push str.........CommonRuntimeArrayFoundation.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 - 0x408]
push 0x400
push ecx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea edx, [ebp - 0x408]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x4eb378
add ebx, 1
cmp ebx, dword [ebp + 0x10]
jb 0x4eb277
push edi
call fcn.0056612f
mov eax, dword [ebp + 0xc]
add esp, 4
test eax, eax
je 0x4eb367
push eax
call fcn.0056612f
add esp, 4
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]
Function at 0x4eb3f0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x404
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
test esi, esi
jne 0x4eb45f
push esi
push str.array
push 0x527
push str.........CommonRuntimeArrayFoundation.cpp
lea eax, [esi + 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 esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x4eb45f
push esi
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov edx, dword [esi + 0x18]
mov eax, dword [edx + 0x30]
test eax, eax
je 0x4eb475
fld dword [ebp + 0xc]
push ecx
fstp dword [esp]
call eax
add esp, 4
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x18]
push edi
lea edi, [eax + ecx*4]
mov eax, dword [edx + 0x34]
test eax, eax
je 0x4eb494
fld dword [edi]
push ecx
fstp dword [esp]
call eax
add esp, 4
fld dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
fstp dword [edi]
xor ecx, ebp
pop edi
call fcn.00566120
mov esp, ebp
pop ebp
ret
Function at 0x4eb8d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x808
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
test esi, esi
push edi
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
jne 0x4eb947
push 0
push str.array
push 0x4e8
push str.........CommonRuntimeArrayFoundation.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 edi
cmp eax, 2
jne 0x4eb947
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
cmp dword [esi + 0x20], 1
je 0x4eb9a6
push 0
push str.1__array__dimensions
push 0x4e9
push str.........CommonRuntimeArrayFoundation.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 edx, [ebp - 0x804]
push 0x400
push edx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea eax, [ebp - 0x804]
push eax
push 0
call edi
cmp eax, 2
jne 0x4eb9a6
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov edx, dword [esi + 0x2c]
mov eax, dword [ebp + 8]
cmp eax, edx
je 0x4eba9e
cmp eax, 0xffffffff
jge 0x4eb9d3
mov ecx, dword [0x5f3a48]
call fcn.004f2580
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x1c]
test ecx, ecx
push ebx
mov dword [ebp - 0x808], ecx
je 0x4eba13
cmp eax, edx
jge 0x4eba13
mov edi, dword [esi + 0x18]
mov ebx, dword [edi + 0x34]
test ebx, ebx
je 0x4eba13
lea edi, [eax + 1]
cmp edi, edx
jg 0x4eba13
fld dword [ecx + edi*4]
push ecx
fstp dword [esp]
call ebx
mov ecx, dword [ebp - 0x808]
add edi, 1
add esp, 4
cmp edi, dword [esi + 0x2c]
jle 0x4eb9f6
mov eax, dword [ebp + 8]
mov ebx, dword [esi + 0x24]
lea eax, [eax*4 + 4]
cmp eax, ebx
mov dword [esi + 0x24], eax
jge 0x4eba26
mov ebx, eax
test eax, eax
mov dword [esi + 0x28], 0x10
jle 0x4eba48
push eax
call fcn.005662c8
mov ecx, dword [ebp - 0x808]
mov edi, dword [ebp + 8]
add esp, 4
mov dword [esi + 0x1c], eax
jmp 0x4eba52
mov dword [esi + 0x1c], 0
or edi, 0xffffffff
test ecx, ecx
je 0x4eba74
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x4eba74
push ebx
push ecx
push eax
call fcn.00566500
mov ecx, dword [ebp - 0x808]
push ecx
call fcn.0056612f
add esp, 0x10
mov ecx, dword [esi + 0x1c]
test ecx, ecx
pop ebx
je 0x4eba9b
mov eax, dword [esi + 0x2c]
cmp edi, eax
jle 0x4eba9b
mov edx, edi
sub edx, eax
add edx, edx
add edx, edx
push edx
lea eax, [ecx + eax*4 + 4]
push 0
push eax
call fcn.0056b660
add esp, 0xc
mov dword [esi + 0x2c], edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.00566120
mov esp, ebp
pop ebp
ret
Function at 0x4ebda0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x2c]
add edi, 1
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005662c8
mov ebx, eax
add esp, 4
xor eax, eax
test edi, edi
jle 0x4ebdeb
mov dword [ebx + eax*4], eax
add eax, 1
cmp eax, edi
jl 0x4ebde1
lea eax, [edi - 1]
push eax
mov eax, dword [esi + 0x1c]
call fcn.004eff10
mov ecx, dword [esi + 0x1c]
add esp, 4
push edi
push ebx
push ecx
call fcn.004f0080
xor eax, eax
add esp, 0xc
cmp dword [ebp + 0x10], eax
mov dword [ebp - 0x40c], eax
ja 0x4ebe46
push ebx
call fcn.0056612f
mov eax, dword [ebp + 0xc]
add esp, 4
test eax, eax
je 0x4ebe2e
push eax
call fcn.0056612f
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x40c]
cmp eax, dword [ebp + 0x10]
jb 0x4ebe51
lea edx, [eax + 1]
mov dword [ebp + 0x10], edx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx + eax*4]
mov edx, dword [esi + 0x18]
mov eax, dword [edx + 0x3c]
push esi
call eax
add eax, 0xffffffff
add esp, 4
cmp eax, 7
ja case.0x4ebe6b.2
jmp dword [eax*4 + 0x4ebf28]
mov eax, dword [esi + 0x1c]
push edi
push ebx
push eax
call fcn.004f08e0
add esp, 0xc
jmp 0x4ebf01
mov ecx, dword [esi + 0x1c]
push edi
push ebx
push ecx
call fcn.004ee000
add esp, 0xc
jmp 0x4ebf01
mov edx, dword [esi + 0x1c]
push edi
push ebx
push edx
call fcn.004ee100
add esp, 0xc
jmp 0x4ebf01
mov eax, dword [esi + 0x1c]
push edi
push ebx
push eax
call fcn.004ee210
add esp, 0xc
jmp 0x4ebf01
push 0
push 0x57e0a8
push 0x30f
push str.........CommonRuntimeArrayFoundation.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 - 0x408]
push 0x400
push ecx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea edx, [ebp - 0x408]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x4ebf1e
mov eax, dword [ebp - 0x40c]
add eax, 1
cmp eax, dword [ebp + 0x10]
mov dword [ebp - 0x40c], eax
jb 0x4ebe40
jmp 0x4ebe15
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
Function at 0x4ebff0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 8], eax
test esi, esi
push edi
jne 0x4ec060
push esi
push str.array
push 0x527
push str.........CommonRuntimeArrayFoundation.cpp
lea eax, [esi + 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 - 0x40c]
push 0x400
push eax
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea ecx, [ebp - 0x40c]
push ecx
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x4ec060
push esi
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov edx, dword [esi + 0x18]
mov eax, dword [edx + 0x30]
test eax, eax
je 0x4ec078
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
call eax
add esp, 8
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x18]
lea edi, [eax + ecx*8]
mov eax, dword [edx + 0x34]
test eax, eax
je 0x4ec098
fld qword [edi]
sub esp, 8
fstp qword [esp]
call eax
add esp, 8
fld qword [ebp + 0xc]
mov ecx, dword [ebp - 8]
fstp qword [edi]
xor ecx, ebp
pop edi
call fcn.00566120
mov esp, ebp
pop ebp
ret
Function at 0x4ec4d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x838
mov eax, dword [0x5b00cc]
xor eax, esp
mov dword [esp + 0x834], eax
test esi, esi
push ebx
push edi
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
jne 0x4ec54b
push 0
push str.array
push 0x4e8
push str.........CommonRuntimeArrayFoundation.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, [esp + 0x54]
push 0x400
push eax
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea ecx, [esp + 0x40]
push ecx
push 0
call edi
cmp eax, 2
jne 0x4ec54b
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
cmp dword [esi + 0x20], 1
je 0x4ec5ac
push 0
push str.1__array__dimensions
push 0x4e9
push str.........CommonRuntimeArrayFoundation.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 edx, [esp + 0x454]
push 0x400
push edx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea eax, [esp + 0x440]
push eax
push 0
call edi
cmp eax, 2
jne 0x4ec5ac
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov edx, dword [esi + 0x2c]
mov eax, dword [ebp + 8]
cmp eax, edx
je 0x4ec6a5
cmp eax, 0xffffffff
jge 0x4ec5de
mov ecx, dword [0x5f3a48]
call fcn.004f2580
pop edi
pop ebx
mov ecx, dword [esp + 0x834]
xor ecx, esp
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x1c]
test ecx, ecx
mov dword [esp + 0x34], ecx
je 0x4ec61d
cmp eax, edx
jge 0x4ec61d
mov edi, dword [esi + 0x18]
mov ebx, dword [edi + 0x34]
test ebx, ebx
je 0x4ec61d
lea edi, [eax + 1]
cmp edi, edx
jg 0x4ec61d
mov edi, edi
fld qword [ecx + edi*8]
sub esp, 8
fstp qword [esp]
call ebx
mov ecx, dword [esp + 0x3c]
add edi, 1
add esp, 8
cmp edi, dword [esi + 0x2c]
jle 0x4ec600
mov eax, dword [ebp + 8]
mov ebx, dword [esi + 0x24]
lea eax, [eax*8 + 8]
cmp eax, ebx
mov dword [esi + 0x24], eax
jge 0x4ec630
mov ebx, eax
test eax, eax
mov dword [esi + 0x28], 0x10
jle 0x4ec650
push eax
call fcn.005662c8
mov ecx, dword [esp + 0x38]
mov edi, dword [ebp + 8]
add esp, 4
mov dword [esi + 0x1c], eax
jmp 0x4ec65a
mov dword [esi + 0x1c], 0
or edi, 0xffffffff
test ecx, ecx
je 0x4ec67a
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x4ec67a
push ebx
push ecx
push eax
call fcn.00566500
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0056612f
add esp, 0x10
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x4ec6a2
mov eax, dword [esi + 0x2c]
cmp edi, eax
jle 0x4ec6a2
mov edx, edi
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
push edx
lea eax, [ecx + eax*8 + 8]
push 0
push eax
call fcn.0056b660
add esp, 0xc
mov dword [esi + 0x2c], edi
mov ecx, dword [esp + 0x83c]
pop edi
pop ebx
xor ecx, esp
call fcn.00566120
mov esp, ebp
pop ebp
ret
Function at 0x4ec9c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x2c]
add edi, 1
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005662c8
mov ebx, eax
add esp, 4
xor eax, eax
test edi, edi
jle 0x4eca0b
mov dword [ebx + eax*4], eax
add eax, 1
cmp eax, edi
jl 0x4eca01
mov ecx, dword [esi + 0x1c]
lea eax, [edi - 1]
push eax
push ecx
call fcn.004f0380
mov edx, dword [esi + 0x1c]
push edi
push ebx
push edx
call fcn.004ee210
xor eax, eax
add esp, 0x14
cmp dword [ebp + 0x10], eax
mov dword [ebp - 0x40c], eax
ja 0x4eca66
push ebx
call fcn.0056612f
mov eax, dword [ebp + 0xc]
add esp, 4
test eax, eax
je 0x4eca4c
push eax
call fcn.0056612f
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x40c]
cmp eax, dword [ebp + 0x10]
jb 0x4eca71
lea ecx, [eax + 1]
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x3c]
push esi
call eax
add eax, 0xffffffff
add esp, 4
cmp eax, 7
ja case.0x4eca8b.2
jmp dword [eax*4 + 0x4ecb48]
mov ecx, dword [esi + 0x1c]
push edi
push ebx
push ecx
call fcn.004f08e0
add esp, 0xc
jmp 0x4ecb21
mov edx, dword [esi + 0x1c]
push edi
push ebx
push edx
call fcn.004ee000
add esp, 0xc
jmp 0x4ecb21
mov eax, dword [esi + 0x1c]
push edi
push ebx
push eax
call fcn.004ee100
add esp, 0xc
jmp 0x4ecb21
mov ecx, dword [esi + 0x1c]
push edi
push ebx
push ecx
call fcn.004ee210
add esp, 0xc
jmp 0x4ecb21
push 0
push 0x57e0a8
push 0x30f
push str.........CommonRuntimeArrayFoundation.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 edx, [ebp - 0x408]
push 0x400
push edx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea eax, [ebp - 0x408]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x4ecb3e
mov eax, dword [ebp - 0x40c]
add eax, 1
cmp eax, dword [ebp + 0x10]
mov dword [ebp - 0x40c], eax
jb 0x4eca60
jmp 0x4eca33
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
Function at 0x4ece00
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x2c]
add edi, 1
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005662c8
mov ebx, eax
add esp, 4
xor eax, eax
test edi, edi
jle 0x4ece4b
mov dword [ebx + eax*4], eax
add eax, 1
cmp eax, edi
jl 0x4ece41
mov ecx, dword [esi + 0x1c]
lea eax, [edi - 1]
push eax
push ebx
push ecx
call fcn.004f0700
mov edx, dword [esi + 0x1c]
add esp, 0xc
push edi
push ebx
push edx
call fcn.004f08e0
xor eax, eax
add esp, 0xc
cmp dword [ebp + 0x10], eax
mov dword [ebp - 0x40c], eax
ja 0x4ecea7
push ebx
call fcn.0056612f
mov eax, dword [ebp + 0xc]
add esp, 4
test eax, eax
je 0x4ece90
push eax
call fcn.0056612f
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x40c]
cmp eax, dword [ebp + 0x10]
jb 0x4eceb2
lea ecx, [eax + 1]
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x3c]
push esi
call eax
add eax, 0xffffffff
add esp, 4
cmp eax, 7
ja case.0x4ececc.2
jmp dword [eax*4 + 0x4ecf88]
mov ecx, dword [esi + 0x1c]
push edi
push ebx
push ecx
call fcn.004f08e0
add esp, 0xc
jmp 0x4ecf62
mov edx, dword [esi + 0x1c]
push edi
push ebx
push edx
call fcn.004ee000
add esp, 0xc
jmp 0x4ecf62
mov eax, dword [esi + 0x1c]
push edi
push ebx
push eax
call fcn.004ee100
add esp, 0xc
jmp 0x4ecf62
mov ecx, dword [esi + 0x1c]
push edi
push ebx
push ecx
call fcn.004ee210
add esp, 0xc
jmp 0x4ecf62
push 0
push 0x57e0a8
push 0x30f
push str.........CommonRuntimeArrayFoundation.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 edx, [ebp - 0x408]
push 0x400
push edx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea eax, [ebp - 0x408]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x4ecf7f
mov eax, dword [ebp - 0x40c]
add eax, 1
cmp eax, dword [ebp + 0x10]
mov dword [ebp - 0x40c], eax
jb 0x4ecea1
jmp 0x4ece77
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
Function at 0x4ed030
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x808
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
test esi, esi
push edi
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
jne 0x4ed0a7
push 0
push str.array
push 0x4e8
push str.........CommonRuntimeArrayFoundation.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 edi
cmp eax, 2
jne 0x4ed0a7
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
cmp dword [esi + 0x20], 1
je 0x4ed106
push 0
push str.1__array__dimensions
push 0x4e9
push str.........CommonRuntimeArrayFoundation.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 edx, [ebp - 0x804]
push 0x400
push edx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea eax, [ebp - 0x804]
push eax
push 0
call edi
cmp eax, 2
jne 0x4ed106
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov edx, dword [esi + 0x2c]
mov eax, dword [ebp + 8]
cmp eax, edx
je 0x4ed1fb
cmp eax, 0xffffffff
jge 0x4ed133
mov ecx, dword [0x5f3a48]
call fcn.004f2580
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x1c]
test ecx, ecx
push ebx
mov dword [ebp - 0x808], ecx
je 0x4ed170
cmp eax, edx
jge 0x4ed170
mov edi, dword [esi + 0x18]
mov ebx, dword [edi + 0x34]
test ebx, ebx
je 0x4ed170
lea edi, [eax + 1]
cmp edi, edx
jg 0x4ed170
mov ecx, dword [ecx + edi*4]
push ecx
call ebx
mov ecx, dword [ebp - 0x808]
add edi, 1
add esp, 4
cmp edi, dword [esi + 0x2c]
jle 0x4ed156
mov eax, dword [ebp + 8]
mov ebx, dword [esi + 0x24]
lea eax, [eax*4 + 4]
cmp eax, ebx
mov dword [esi + 0x24], eax
jge 0x4ed183
mov ebx, eax
test eax, eax
mov dword [esi + 0x28], 0x10
jle 0x4ed1a5
push eax
call fcn.005662c8
mov ecx, dword [ebp - 0x808]
mov edi, dword [ebp + 8]
add esp, 4
mov dword [esi + 0x1c], eax
jmp 0x4ed1af
mov dword [esi + 0x1c], 0
or edi, 0xffffffff
test ecx, ecx
je 0x4ed1d1
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x4ed1d1
push ebx
push ecx
push eax
call fcn.00566500
mov edx, dword [ebp - 0x808]
push edx
call fcn.0056612f
add esp, 0x10
mov ecx, dword [esi + 0x1c]
test ecx, ecx
pop ebx
je 0x4ed1f8
mov eax, dword [esi + 0x2c]
cmp edi, eax
jle 0x4ed1f8
mov edx, edi
sub edx, eax
add edx, edx
add edx, edx
push edx
lea eax, [ecx + eax*4 + 4]
push 0
push eax
call fcn.0056b660
add esp, 0xc
mov dword [esi + 0x2c], edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.00566120
mov esp, ebp
pop ebp
ret