Function at 0x412f80
Capabilities:
Terminate process

Disassembly:
mov eax, 0x1004
call fcn.0047f400
mov eax, dword [0x4e0c44]
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 0x412fc2
push edi
push esi
push ebp
call dword [0x4f72b0]
add esp, 0xc
and ebx, 2
jne 0x412fd5
test byte [esp + 0x101c], 4
je 0x4131e1
push esi
push ebp
push edi
push str.Debug_Assertion_Failed._n_nExpression_:__s_nLine_:__d_nFile_:__s_n_n
mov ecx, 0x1000
lea edi, [esp + 0x20]
call fcn.004137a0
add esp, 0x10
test eax, eax
je 0x41300d
xor al, al
mov ecx, dword [esp + 0x1010]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0047e4dd
add esp, 0x1004
ret
test byte [esp + 0x101c], 8
je 0x413107
mov edx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
cmp byte [eax], 0
je 0x413035
add eax, 1
sub edx, 1
jne 0x413026
jmp 0x413039
test edx, edx
jne 0x41307f
mov esi, 0x80070057
xor ecx, ecx
test esi, esi
mov eax, esi
jl 0x41305b
mov edx, 0x1000
sub edx, ecx
lea ecx, [esp + ecx + 0x10]
mov eax, str.CallStack:_n
call fcn.00413800
test eax, eax
jne 0x412ff2
mov edx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x413088
add eax, 1
sub edx, 1
jne 0x413070
jmp 0x41308c
mov ecx, 0x1000
sub ecx, edx
jmp 0x413040
test edx, edx
jne 0x4130d0
mov esi, 0x80070057
xor ecx, ecx
test esi, esi
mov eax, esi
jl 0x4130ae
mov eax, dword [0x4f5e64]
mov edx, 0x1000
sub edx, ecx
lea ecx, [esp + ecx + 0x10]
call fcn.00413800
test eax, eax
jne 0x412ff2
mov edx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
cmp byte [eax], 0
je 0x4130d9
add eax, 1
sub edx, 1
jne 0x4130c1
jmp 0x4130dd
mov ecx, 0x1000
sub ecx, edx
jmp 0x413093
test edx, edx
jne 0x413125
mov esi, 0x80070057
xor ecx, ecx
test esi, esi
mov eax, esi
jl 0x4130ff
mov edx, 0x1000
sub edx, ecx
lea ecx, [esp + ecx + 0x10]
mov eax, 0x4c5560
call fcn.00413800
test eax, eax
jne 0x412ff2
xor esi, esi
test ebx, ebx
mov edx, 0x1000
lea eax, [esp + 0x10]
je 0x413191
cmp byte [eax], 0
je 0x41312e
add eax, 1
sub edx, 1
jne 0x413116
jmp 0x413132
mov ecx, 0x1000
sub ecx, edx
jmp 0x4130e4
test edx, edx
jne 0x413188
mov esi, 0x80070057
xor ecx, ecx
test esi, esi
mov eax, esi
jl 0x413154
mov edx, 0x1000
sub edx, ecx
lea ecx, [esp + ecx + 0x10]
mov eax, str._press__ok__to_advance__press__cancel__to_exit_
call fcn.00413800
test eax, eax
jne 0x412ff2
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 0x4131e1
mov al, byte [esp + 0x101c]
shr al, 4
not al
and al, 1
jmp 0x412ff4
mov ecx, 0x1000
sub ecx, edx
jmp 0x413139
cmp byte [eax], 0
je 0x4131a0
add eax, 1
sub edx, 1
jne 0x413191
jmp 0x4131a4
test edx, edx
jne 0x4131e9
mov esi, 0x80070057
xor ecx, ecx
test esi, esi
mov eax, esi
jl 0x4131c6
mov edx, 0x1000
sub edx, ecx
lea ecx, [esp + ecx + 0x10]
mov eax, str._press__ok__to_exit_program_
call fcn.00413800
test eax, eax
jne 0x412ff2
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 ecx, 0x1000
sub ecx, edx
jmp 0x4131ab