Function at 0x46e150
Capabilities:
Terminate process

Disassembly:
mov eax, 0x1004
call fcn.004c2450
mov eax, dword [0x4fb164]
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 0x46e192
push edi
push esi
push ebp
call dword [0x4ffea8]
add esp, 0xc
and ebx, 2
jne 0x46e1a5
test byte [esp + 0x101c], 4
je 0x46e3b1
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.0040a3a0
add esp, 0x10
test eax, eax
je 0x46e1dd
xor al, al
mov ecx, dword [esp + 0x1010]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a2094
add esp, 0x1004
ret
test byte [esp + 0x101c], 8
je 0x46e2d7
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
cmp byte [eax], 0
je 0x46e205
add eax, 1
sub ecx, 1
jne 0x46e1f6
jmp 0x46e209
test ecx, ecx
jne 0x46e24f
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x46e22b
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str.CallStack:_n
call fcn.00402ce0
test eax, eax
jne 0x46e1c2
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x46e258
add eax, 1
sub ecx, 1
jne 0x46e240
jmp 0x46e25c
mov edx, 0x1000
sub edx, ecx
jmp 0x46e210
test ecx, ecx
jne 0x46e2a0
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x46e27e
mov eax, dword [0x4ffd70]
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
call fcn.00402ce0
test eax, eax
jne 0x46e1c2
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
cmp byte [eax], 0
je 0x46e2a9
add eax, 1
sub ecx, 1
jne 0x46e291
jmp 0x46e2ad
mov edx, 0x1000
sub edx, ecx
jmp 0x46e263
test ecx, ecx
jne 0x46e2f5
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x46e2cf
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, 0x4e1f28
call fcn.00402ce0
test eax, eax
jne 0x46e1c2
xor esi, esi
test ebx, ebx
mov ecx, 0x1000
lea eax, [esp + 0x10]
je 0x46e361
cmp byte [eax], 0
je 0x46e2fe
add eax, 1
sub ecx, 1
jne 0x46e2e6
jmp 0x46e302
mov edx, 0x1000
sub edx, ecx
jmp 0x46e2b4
test ecx, ecx
jne 0x46e358
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x46e324
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str._press__ok__to_advance__press__cancel__to_exit_
call fcn.00402ce0
test eax, eax
jne 0x46e1c2
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 0x46e3b1
mov al, byte [esp + 0x101c]
shr al, 4
not al
and al, 1
jmp 0x46e1c4
mov edx, 0x1000
sub edx, ecx
jmp 0x46e309
cmp byte [eax], 0
je 0x46e370
add eax, 1
sub ecx, 1
jne 0x46e361
jmp 0x46e374
test ecx, ecx
jne 0x46e3b9
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x46e396
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str._press__ok__to_exit_program_
call fcn.00402ce0
test eax, eax
jne 0x46e1c2
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 0x46e37b