Function at 0x1001a820
Capabilities:
Terminate process

Disassembly:
mov eax, 0x1004
call fcn.10068d20
mov eax, dword [0x100880b0]
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 0x1001a862
push edi
push esi
push ebp
call dword [0x1008c284]
add esp, 0xc
and ebx, 2
jne 0x1001a875
test byte [esp + 0x101c], 4
je 0x1001aa81
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.10006240
add esp, 0x10
test eax, eax
je 0x1001a8ad
xor al, al
mov ecx, dword [esp + 0x1010]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10046377
add esp, 0x1004
ret
test byte [esp + 0x101c], 8
je 0x1001a9a7
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
cmp byte [eax], 0
je 0x1001a8d5
add eax, 1
sub ecx, 1
jne 0x1001a8c6
jmp 0x1001a8d9
test ecx, ecx
jne 0x1001a91f
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x1001a8fb
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str.CallStack:_n
call fcn.10015430
test eax, eax
jne 0x1001a892
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x1001a928
add eax, 1
sub ecx, 1
jne 0x1001a910
jmp 0x1001a92c
mov edx, 0x1000
sub edx, ecx
jmp 0x1001a8e0
test ecx, ecx
jne 0x1001a970
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x1001a94e
mov eax, dword [0x1008c10c]
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
call fcn.10015430
test eax, eax
jne 0x1001a892
mov ecx, 0x1000
lea eax, [esp + 0x10]
xor esi, esi
cmp byte [eax], 0
je 0x1001a979
add eax, 1
sub ecx, 1
jne 0x1001a961
jmp 0x1001a97d
mov edx, 0x1000
sub edx, ecx
jmp 0x1001a933
test ecx, ecx
jne 0x1001a9c5
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x1001a99f
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, 0x1007a4d0
call fcn.10015430
test eax, eax
jne 0x1001a892
xor esi, esi
test ebx, ebx
mov ecx, 0x1000
lea eax, [esp + 0x10]
je 0x1001aa31
cmp byte [eax], 0
je 0x1001a9ce
add eax, 1
sub ecx, 1
jne 0x1001a9b6
jmp 0x1001a9d2
mov edx, 0x1000
sub edx, ecx
jmp 0x1001a984
test ecx, ecx
jne 0x1001aa28
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x1001a9f4
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str._press__ok__to_advance__press__cancel__to_exit_
call fcn.10015430
test eax, eax
jne 0x1001a892
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 0x1001aa81
mov al, byte [esp + 0x101c]
shr al, 4
not al
and al, 1
jmp 0x1001a894
mov edx, 0x1000
sub edx, ecx
jmp 0x1001a9d9
cmp byte [eax], 0
je 0x1001aa40
add eax, 1
sub ecx, 1
jne 0x1001aa31
jmp 0x1001aa44
test ecx, ecx
jne 0x1001aa89
mov esi, 0x80070057
xor edx, edx
test esi, esi
mov eax, esi
jl 0x1001aa66
mov ecx, 0x1000
sub ecx, edx
lea edx, [esp + edx + 0x10]
mov eax, str._press__ok__to_exit_program_
call fcn.10015430
test eax, eax
jne 0x1001a892
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 0x1001aa4b