Function at 0x10019f20
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [0x101c0618]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x10], 1
jne 0x1001a17d
mov edx, dword [esi + 8]
push ebx
push edi
test edx, edx
je 0x1001a02c
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10019f53
sub ecx, edi
je 0x1001a02c
mov edi, dword [esi + 4]
test edi, edi
je 0x10019f8f
mov ecx, edi
lea ebx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10019f70
sub ecx, ebx
je 0x10019f8f
push edi
push dword [esi + 0xc]
push edx
push str._s__d_:_s:
call fcn.1001f2b0
add esp, 0x10
jmp 0x10019fa0
push dword [esi + 0xc]
push edx
push str._s__d_:
call fcn.1001f2b0
add esp, 0xc
lea edi, [eax + 1]
push edi
call fcn.100b45a3
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10019fbf
push str.Out_of_memory__
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x1001a02c
push edi
push 0
push ebx
call fcn.100ec480
mov edx, dword [esi + 4]
add esp, 0xc
test edx, edx
je 0x1001a007
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x98], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10019fe0
sub ecx, dword [ebp - 0x98]
je 0x1001a007
push edx
push dword [esi + 0xc]
push dword [esi + 8]
push str._s__d_:_s:
push edi
push ebx
call fcn.1001f380
add esp, 0x18
jmp 0x1001a01c
push dword [esi + 0xc]
push dword [esi + 8]
push str._s__d_:
push edi
push ebx
call fcn.1001f380
add esp, 0x14
push ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push ebx
call fcn.100b46bc
add esp, 4
lea eax, [ebp - 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x80
lea eax, [ebp - 0x84]
push 0
push eax
call fcn.100ec480
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
movzx eax, word [ebp - 0x86]
push eax
movzx eax, word [ebp - 0x88]
push eax
movzx eax, word [ebp - 0x8a]
push eax
movzx eax, word [ebp - 0x8c]
add eax, 8
push eax
push str.___d:_d:_d:_d__TID:0x_0xd
lea eax, [ebp - 0x84]
push 0x3f
push eax
call fcn.100084b0
lea ecx, [ebp - 0x84]
add esp, 0x20
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001a0a0
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 2]
mov dword [ebp - 0x98], esi
call fcn.100084a0
mov ebx, eax
lea eax, [ebp + 0x10]
push eax
push 0
push dword [ebp + 0xc]
mov ecx, dword [ebx]
push 0
push 0
push dword [ebx + 4]
or ecx, 2
push ecx
call fcn.10107e71
or ecx, 0xffffffff
mov edx, 2
test eax, eax
cmovs eax, ecx
xor ecx, ecx
inc eax
add esi, eax
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100b45a3
mov edi, eax
add esp, 0x20
test edi, edi
jne 0x1001a122
push 0x10174f3c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b4568
mov esp, ebp
pop ebp
ret
lea eax, [esi + esi]
push eax
push 0
push edi
call fcn.100ec480
lea eax, [ebp - 0x84]
push eax
push esi
push edi
call fcn.1010b855
push 0x10174f5c
push esi
push edi
call fcn.1010b780
lea eax, [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x98]
sub esi, eax
push 0
push dword [ebp + 0xc]
push esi
lea eax, [edi + eax*2]
push eax
push dword [ebx + 4]
push dword [ebx]
call fcn.10107eb9
add esp, 0x40
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push edi
call fcn.100b46bc
add esp, 4
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.100b4568
mov esp, ebp
pop ebp
ret