Function at 0x462d10
Capabilities:
Terminate process

Disassembly:
mov eax, 0x1004
call fcn.004afaa0
mov eax, dword [0x4df210]
xor eax, esp
mov dword [esp + 0x1000], eax
push ebx
mov ebx, dword [esp + 0x1010]
test ebx, 0x400
push ebp
mov ebp, dword [esp + 0x1010]
push esi
push edi
mov esi, ecx
mov edi, edx
je 0x462d52
push edi
push esi
push ebp
call dword [0x4e9b9c]
add esp, 0xc
and ebx, 2
jne 0x462d65
test byte [esp + 0x101c], 4
je 0x462f71
push esi
push ebp
push edi
push str.Debug_Assertion_Failed._n_nExpression_:__s_nLine_:__d_nFile_:__s_n_n
mov eax, 0x1000
lea edi, [esp + 0x20]
call fcn.0042b3a0
add esp, 0x10
test eax, eax
je 0x462d9d
xor al, al
mov ecx, dword [esp + 0x1010]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048cf20
add esp, 0x1004
ret
test byte [esp + 0x101c], 8
je 0x462e97
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
cmp byte [eax], 0
je 0x462dc5
add eax, 1
sub ecx, 1
jne 0x462db6
jmp 0x462dc9
test ecx, ecx
jne 0x462e0f
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x462deb
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str.CallStack:_n
call fcn.004304f0
test eax, eax
jne 0x462d82
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x462e18
add eax, 1
sub ecx, 1
jne 0x462e00
jmp 0x462e1c
mov edx, 0x1000
sub edx, ecx
jmp 0x462dd0
test ecx, ecx
jne 0x462e60
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x462e3e
mov eax, dword [0x4e9a90]
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
call fcn.004304f0
test eax, eax
jne 0x462d82
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
cmp byte [eax], 0
je 0x462e69
add eax, 1
sub ecx, 1
jne 0x462e51
jmp 0x462e6d
mov edx, 0x1000
sub edx, ecx
jmp 0x462e23
test ecx, ecx
jne 0x462eb5
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x462e8f
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, 0x4c8f48
call fcn.004304f0
test eax, eax
jne 0x462d82
xor esi, esi
test ebx, ebx
mov ecx, 0x1000
lea eax, [esp + 0x10]
je 0x462f21
cmp byte [eax], 0
je 0x462ebe
add eax, 1
sub ecx, 1
jne 0x462ea6
jmp 0x462ec2
mov edx, 0x1000
sub edx, ecx
jmp 0x462e74
test ecx, ecx
jne 0x462f18
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x462ee4
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str._press__ok__to_advance__press__cancel__to_exit_
call fcn.004304f0
test eax, eax
jne 0x462d82
push 0x11
push str.BSLib_Debug_Module
lea eax, [esp + 0x18]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
jne 0x462f71
mov al, byte [esp + 0x101c]
shr al, 4
not al
and al, 1
jmp 0x462d84
mov edx, 0x1000
sub edx, ecx
jmp 0x462ec9
cmp byte [eax], 0
je 0x462f30
add eax, 1
sub ecx, 1
jne 0x462f21
jmp 0x462f34
test ecx, ecx
jne 0x462f79
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x462f56
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str._press__ok__to_exit_program_
call fcn.004304f0
test eax, eax
jne 0x462d82
push 0x10
push str.BSLib_Debug_Module
lea ecx, [esp + 0x18]
push ecx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, 0x1000
sub edx, ecx
jmp 0x462f3b