Function at 0x549d10
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 ebx
push esi
mov ebx, ecx
xor esi, esi
cmp ebx, esi
push edi
mov dword [ebp - 0x414], ebx
jne 0x549d8c
push esi
push str.image
push 0x3f0
push 0x59e880
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 - 0x408]
push 0x400
push eax
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea ecx, [ebp - 0x408]
push ecx
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x549d8c
push esi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [ebx + 0x20], esi
je 0x549db7
mov ecx, dword [ebx + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x410]
push eax
call edx
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x418], eax
jmp 0x549dcd
cmp dword [ebx + 0x34], esi
je 0x549dc7
mov ecx, dword [ebx + 0x2c]
mov dword [ebp - 0x418], ecx
jmp 0x549dcd
mov dword [ebp - 0x418], esi
cmp dword [ebx + 0x20], esi
je 0x549df8
mov ecx, dword [ebx + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x40c]
push eax
call edx
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x41c], eax
jmp 0x549e0e
cmp dword [ebx + 0x34], esi
je 0x549e08
mov ecx, dword [ebx + 0x30]
mov dword [ebp - 0x41c], ecx
jmp 0x549e0e
mov dword [ebp - 0x41c], esi
cmp dword [0x5f5998], esi
jne 0x549f90
call fcn.004d9cf0
mov esi, eax
call fcn.00479330
mov edx, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x418]
push 0x20
push edx
push ecx
push eax
mov dword [0x5f5998], eax
call fcn.004d9980
mov edx, dword [0x5f5998]
push 0
push edx
call fcn.004d9660
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x549e74
push 0x3fc
push 0x59e880
xor esi, esi
mov edx, 0x580878
lea ecx, [eax + 4]
call fcn.004f1fc0
add esp, 8
push 0xffffff
push 0
push edi
call fcn.004f48a0
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x418]
add esp, 0xc
push eax
push ecx
push 0
push 0
push edi
call fcn.004f3f90
add esp, 0x14
test edi, edi
je 0x549ebb
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x549ebb
add eax, 0xffffffff
mov dword [edi + 0xc], eax
jne 0x549ebb
push edi
call fcn.004ff480
add esp, 4
mov edx, dword [0x5f5998]
push 0
push edx
call fcn.004d9510
mov esi, eax
add esp, 8
test esi, esi
mov dword [ebp - 0x40c], esi
jne 0x549ef2
push 0x403
push 0x59e880
mov edx, str.mask
lea ecx, [eax + 4]
call fcn.004f1fc0
add esp, 8
push 0
push esi
call fcn.004d9660
mov edi, eax
add esp, 8
test edi, edi
jne 0x549f25
push 0x405
push 0x59e880
xor esi, esi
mov edx, 0x580878
lea ecx, [eax + 4]
call fcn.004f1fc0
mov esi, dword [ebp - 0x40c]
add esp, 8
push 0x808080
push 0
push edi
call fcn.004f48a0
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x418]
add esp, 0xc
push eax
push ecx
push 0
push 0
push edi
call fcn.004f3f90
add esp, 0x14
test edi, edi
je 0x549f6c
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x549f6c
add eax, 0xffffffff
mov dword [edi + 0xc], eax
jne 0x549f6c
push edi
call fcn.004ff480
add esp, 4
test esi, esi
je 0x549f90
mov edx, dword [ebp - 0x40c]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x549f90
add eax, 0xffffffff
mov ecx, edx
mov dword [ecx + 0xc], eax
jne 0x549f90
push edx
call fcn.004ff480
add esp, 4
call fcn.004d9cf0
mov esi, eax
call fcn.00479330
mov esi, eax
mov eax, dword [ebx + 0x20]
test eax, eax
mov dword [ebp - 0x410], esi
je 0x549fb0
mov eax, dword [eax + 0x1c]
jmp 0x549fb2
xor eax, eax
mov ecx, dword [ebp - 0x418]
push eax
mov eax, dword [ebp - 0x41c]
push eax
push ecx
push esi
call fcn.004d9980
push 0
push esi
call fcn.004d9510
add esp, 0x18
cmp dword [ebx + 0x28], 0
mov dword [ebp - 0x40c], eax
je 0x549fef
mov edx, ebx
push 0
push edx
call fcn.004d9510
add esp, 8
mov ebx, eax
jmp 0x549ff1
xor ebx, ebx
mov esi, dword [ebp - 0x40c]
test esi, esi
jne 0x54a053
push esi
push str.retMask
push 0x415
push 0x59e880
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 - 0x408]
push 0x400
push eax
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea ecx, [ebp - 0x408]
push ecx
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x54a053
push esi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, dword [ebp - 0x414]
cmp dword [edx + 0x28], 0
je 0x54a110
push 0
push esi
call fcn.004d9660
mov edi, eax
add esp, 8
test edi, edi
jne 0x54a096
push 0x41d
push 0x59e880
xor esi, esi
mov edx, str.retMaskGfx
lea ecx, [eax + 4]
call fcn.004f1fc0
mov esi, dword [ebp - 0x40c]
add esp, 8
push 0xffffd8f0
push 0xffffd8f0
push 0
push 0
push 0xffffd8f0
push 0xffffd8f0
push 0
push 0
push ebx
push edi
call fcn.004f4d40
add esp, 0x28
test ebx, ebx
je 0x54a0d8
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x54a0d8
add eax, 0xffffffff
mov dword [ebx + 0xc], eax
jne 0x54a0d8
push ebx
call fcn.004ff480
add esp, 4
test edi, edi
je 0x54a0f4
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x54a0f4
add eax, 0xffffffff
mov dword [edi + 0xc], eax
jne 0x54a0f4
push edi
call fcn.004ff480
add esp, 4
test esi, esi
je 0x54a110
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x54a110
add eax, 0xffffffff
mov dword [esi + 0xc], eax
jne 0x54a110
push esi
call fcn.004ff480
add esp, 4
mov eax, dword [ebp - 0x414]
cmp dword [eax + 0x28], 0
je 0x54a1dc
mov ecx, eax
push 0
push ecx
call fcn.004d9510
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x54a14f
push 0x427
push 0x59e880
xor esi, esi
mov edx, str.picMask
lea ecx, [eax + 4]
call fcn.004f1fc0
add esp, 8
push 0
push ebx
call fcn.004d9660
mov edi, eax
add esp, 8
test edi, edi
jne 0x54a17c
push 0x429
push 0x59e880
xor esi, esi
mov edx, str.picMaskGfx
lea ecx, [eax + 4]
call fcn.004f1fc0
add esp, 8
push 0
push 0
push edi
call fcn.004f48a0
mov edx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
add esp, 0xc
push edx
push eax
push 0
push 0
push edi
call fcn.004f3f90
add esp, 0x14
test edi, edi
je 0x54a1c0
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x54a1c0
add eax, 0xffffffff
mov dword [edi + 0xc], eax
jne 0x54a1c0
push edi
call fcn.004ff480
add esp, 4
test ebx, ebx
je 0x54a1dc
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x54a1dc
add eax, 0xffffffff
mov dword [ebx + 0xc], eax
jne 0x54a1dc
push ebx
call fcn.004ff480
add esp, 4
mov ecx, dword [ebp - 0x410]
push 0
push ecx
call fcn.004d9660
mov esi, eax
add esp, 8
test esi, esi
mov dword [ebp - 0x40c], esi
jne 0x54a251
push eax
push str.retGfx
push 0x432
push 0x59e880
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 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 esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x54a251
push esi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edi, dword [ebp - 0x414]
push 0xffffd8f0
push 0xffffd8f0
push 0
push 0
push 0xffffd8f0
push 0xffffd8f0
push 0
push 0
push edi
push esi
call fcn.004f4d40
add esp, 0x28
test esi, esi
je 0x54a299
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x54a299
add eax, 0xffffffff
mov dword [esi + 0xc], eax
jne 0x54a299
push esi
call fcn.004ff480
add esp, 4
cmp dword [edi + 0x28], 0
je 0x54a343
mov ecx, edi
push 0
push ecx
call fcn.004d9510
mov ebx, eax
push 0
push ebx
call fcn.004d9660
mov edx, dword [ebp - 0x410]
push 0
push edx
mov edi, eax
call fcn.004d9510
push 0xffffd8f0
push 0xffffd8f0
push 0
push 0
push 0xffffd8f0
push 0xffffd8f0
push 0
mov esi, eax
push 0
push esi
push edi
call fcn.004f4d40
add esp, 0x40
test esi, esi
je 0x54a30b
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x54a30b
add eax, 0xffffffff
mov dword [esi + 0xc], eax
jne 0x54a30b
push esi
call fcn.004ff480
add esp, 4
test edi, edi
je 0x54a327
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x54a327
add eax, 0xffffffff
mov dword [edi + 0xc], eax
jne 0x54a327
push edi
call fcn.004ff480
add esp, 4
test ebx, ebx
je 0x54a343
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x54a343
add eax, 0xffffffff
mov dword [ebx + 0xc], eax
jne 0x54a343
push ebx
call fcn.004ff480
add esp, 4
mov eax, dword [ebp - 0x410]
push 0
push eax
call fcn.004d9510
mov edi, eax
push 0
push edi
call fcn.004d9660
mov ecx, dword [0x5f5998]
mov edx, dword [ebp - 0x40c]
push 0xffffd8f0
push 0xffffd8f0
push 0
push 0
push 0xffffd8f0
push 0xffffd8f0
push 0
push 0
push ecx
push edx
mov esi, eax
call fcn.004f4d40
add esp, 0x38
test esi, esi
je 0x54a3ab
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x54a3ab
add eax, 0xffffffff
mov dword [esi + 0xc], eax
jne 0x54a3ab
push esi
call fcn.004ff480
add esp, 4
test edi, edi
je 0x54a3c7
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x54a3c7
add eax, 0xffffffff
mov dword [edi + 0xc], eax
jne 0x54a3c7
push edi
call fcn.004ff480
add esp, 4
mov eax, dword [ebp - 0x414]
cmp dword [eax + 0x1c], 0
je 0x54a4d7
mov esi, dword [ebp - 0x410]
push 0
push esi
call fcn.004d9510
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x40c], eax
mov eax, dword [edx + 0x3c]
add esp, 8
call eax
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx]
mov dword [ebp - 0x414], eax
mov eax, dword [edx + 0x3c]
call eax
mov ebx, eax
mov eax, 0xffff
xor edi, edi
cmp dword [ebp - 0x418], edi
mov word [ebp - 0x42c], ax
mov word [ebp - 0x42a], ax
mov word [ebp - 0x428], ax
jle 0x54a4b9
xor esi, esi
cmp dword [ebp - 0x41c], esi
jle 0x54a4aa
lea esp, [esp]
mov edx, dword [ebx]
mov edx, dword [edx + 0xd8]
xor eax, eax
mov word [ebp - 0x424], ax
mov dword [ebp - 0x422], eax
lea eax, [ebp - 0x424]
push eax
push esi
push edi
mov ecx, ebx
call edx
cmp word [ebp - 0x424], 0xffff
jne 0x54a49f
mov eax, 0xffff
cmp word [ebp - 0x422], ax
jne 0x54a49f
cmp word [ebp - 0x420], ax
jne 0x54a49f
mov ecx, dword [ebp - 0x414]
mov eax, dword [ecx]
mov eax, dword [eax + 0xdc]
lea edx, [ebp - 0x42c]
push edx
push esi
push edi
call eax
add esi, 1
cmp esi, dword [ebp - 0x41c]
jl 0x54a440
add edi, 1
cmp edi, dword [ebp - 0x418]
jl 0x54a432
mov ecx, dword [ebp - 0x40c]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x54a4d7
add eax, 0xffffffff
mov dword [ecx + 0xc], eax
jne 0x54a4d7
push ecx
call fcn.004ff480
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x410]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret