Function at 0x1000fcf8
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov esi, ecx
mov eax, dword [0x1006800c]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [ecx]
mov ecx, dword [eax + 4]
add ecx, esi
lea edi, [ebp - 0x24]
push edi
call fcn.10011a6a
mov ecx, edi
push 0x1006b084
call fcn.10024174
mov edi, eax
mov eax, dword [eax]
mov ebx, dword [eax + 0x2c]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 0xa
call ebx
mov edi, eax
lea ebx, [ebp - 0x24]
mov ecx, ebx
call fcn.1001394e
movzx eax, di
mov ecx, esi
push eax
call fcn.100023f0
mov ecx, esi
call fcn.10001880
xor eax, eax
dec eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebp - 0x28], ebx
mov dword [ebx + 8], eax
lea ecx, [esi + 4]
lea edi, [ebp - 0x18]
mov dword [ebp - 0x30], ecx
push edi
call fcn.10008d8e
mov ebx, dword [edi + 4]
cmp ebx, 0x7ffffff8
jae 0x1000ff1a
mov ecx, dword [ebp - 0x18]
cmp ebx, 4
jbe 0x1000fdbf
mov dword [ebp - 0x2c], ecx
mov edi, ebx
or edi, 3
inc edi
js 0x1000ff22
lea eax, [edi + edi]
push eax
call fcn.1002b23f
add esp, 4
mov dword [ebp - 0x24], eax
or edi, 0x80000000
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebp - 0x2c]
jmp 0x1000fdc5
lea eax, [ebp - 0x24]
mov byte [eax + 0xb], bl
lea edi, [eax + ebx*2]
cmp eax, ecx
ja 0x1000fdd4
cmp edi, ecx
ja 0x1000fefc
test ebx, ebx
je 0x1000fde5
add ebx, ebx
push ebx
push ecx
push eax
call fcn.1002e9e0
add esp, 0xc
mov word [edi], 0
mov eax, dword [0x1006aafc]
test al, 0x10
je 0x1000fe1f
movzx eax, byte [ebp - 0x19]
mov ecx, eax
and ecx, 0x7f
test al, al
cmovs ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x24]
cmovns eax, edx
push ecx
push eax
push 0x1006acbc
call fcn.100065e4
add esp, 0xc
mov eax, dword [0x1006aafc]
test al, 0x20
je 0x1000fe63
cmp dword [0x1006aa88], 0
je 0x1000fe63
lea eax, [ebp - 0x24]
movzx ecx, byte [eax + 0xb]
mov edx, ecx
and edx, 0x7f
test cl, cl
cmovs edx, dword [eax + 4]
cmovs eax, dword [eax]
push edx
push eax
push 0x1006aa44
call fcn.100065e4
add esp, 0xc
cmp dword [esi + 0x88], 2
jl 0x1000fe63
mov ecx, 0x1006aa44
call fcn.10001880
test byte [0x1006aafc], 0x40
je 0x1000fe8b
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1000fe8b
cmp byte [ebp - 0x19], 0
jns 0x1000fe82
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [esi + 0x88], 3
jne 0x1000fe9a
call dword [sym.imp.KERNEL32.dll_DebugBreak]
cmp byte [ebp - 0x19], 0
jns 0x1000feab
push dword [ebp - 0x24]
call fcn.1002b2c4
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov dword [esi + eax], 0x1005c9f4
mov dword [esi + 4], 0x1005ca00
cmp byte [esi + 0x2f], 0
jns 0x1000fecf
push dword [esi + 0x24]
call fcn.1002b2c4
add esp, 4
add esi, 0x38
mov edi, dword [ebp - 0x30]
mov ecx, edi
call fcn.10001582
mov ecx, edi
call fcn.10001380
mov ecx, esi
call fcn.10001000
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002bd4a
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
push str.char_traits::copy:_source_and_destination_ranges_overlap
push str._std::__is_pointer_in_range___s1____s1____n____s2_
push 0x138
push str....._third_partylibc_srcinclude__stringchar_traits.h
push str._s:_d:_assertion__s_failed:__s_n
call fcn.1002a56c
lea ecx, [ebp - 0x24]
call fcn.10006574
call fcn.10053b5d
int3