Function at 0x2d87ba82
Capabilities:
Print debug messages

Disassembly:
push 0x1c
mov eax, 0x2d8cdad0
call fcn.2d802137
mov dword [ebp - 0x1c], ecx
mov esi, dword [ebp + 0x10]
xor ebx, ebx
mov byte [ebp - 0x18], bl
push dword [ebp - 0x18]
mov dword [ebp - 0x20], ebx
push dword [esi + 4]
mov dword [ebp - 4], ebx
push dword [esi]
call fcn.2d87a79d
add esp, 0xc
mov byte [ebp - 0x18], bl
push dword [ebp - 0x18]
push dword [esi + 4]
push dword [esi]
call fcn.2d87a79d
add esp, 0xc
mov ecx, esi
push dword [esi + 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.2d87a79d
mov edi, dword [esi + 4]
xor edx, edx
mov eax, dword [esi]
mov ecx, edi
and dword [ebp - 0x18], edx
sub ecx, eax
add ecx, 3
shr ecx, 2
cmp eax, edi
cmova ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x2d87bb10
mov esi, dword [eax]
cmp byte [esi + 0x200], 0
je 0x2d87bafb
inc ebx
cmp dword [esi + 0x220], 0
mov esi, dword [ebp + 0x10]
je 0x2d87bb08
inc ebx
add eax, 4
inc edx
cmp edx, ecx
jne 0x2d87baef
xor ecx, ecx
mov eax, ebx
push 0x28
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.2d87a79d
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x2d87bb36
call fcn.2d87a79d
imul eax, ebx, 0x28
mov ebx, dword [ebp + 0x10]
push eax
push 0
push ebx
call sub.MSVCR120.dll_memset
mov ecx, dword [ebp - 0x1c]
xor eax, eax
inc eax
add esp, 0xc
mov word [ecx + 6], ax
xor ecx, ecx
mov eax, dword [ebp + 0x14]
mov word [eax], cx
mov esi, dword [esi]
mov dword [ebp + 0x10], ecx
cmp esi, edi
je 0x2d87bc67
mov edx, dword [esi]
mov dword [ebp - 0x18], edx
lea eax, [edx + 0x200]
cmp byte [eax], 0
je 0x2d87bc45
cmp byte [edx + 0x226], 0
je 0x2d87bb8a
mov ecx, dword [ebp + 0x14]
inc word [ecx]
push 0
push 0x20
push eax
call fcn.2d87a79d
add esp, 0xc
push eax
mov eax, dword [ebp - 0x18]
add eax, 0x200
push eax
call fcn.2d87a79d
mov dword [ebp - 0x14], eax
pop ecx
pop ecx
test eax, eax
jne 0x2d87bbbe
mov ecx, dword [ebp + 0x10]
movzx eax, cx
imul eax, eax, 0x28
mov byte [eax + ebx], 0
jmp 0x2d87bc34
push 0
push 0x7fffffff
push eax
call fcn.2d87a79d
add esp, 0xc
push eax
push dword [ebp - 0x14]
call fcn.2d87a79d
push 0
push 0x7fffffff
push dword [ebp - 0x14]
call fcn.2d87a79d
mov ecx, eax
mov dword [ebp - 0x28], 0x1e
add esp, 0x14
mov dword [ebp - 0x24], ecx
cmp ecx, 0x1e
lea edx, [ebp - 0x28]
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x24]
cmovae eax, edx
mov edx, dword [eax]
movzx eax, cx
imul eax, eax, 0x28
push edx
push dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
add eax, ebx
push eax
call sub.MSVCR120.dll_memcpy
mov eax, dword [ebp - 0x28]
add esp, 0xc
add eax, dword [ebp - 0x24]
push dword [ebp - 0x14]
mov byte [eax + ebx], 0
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
push 0x2d8db2b8
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x220]
test edx, edx
jne 0x2d87bc52
inc ecx
jmp 0x2d87bc5f
movzx eax, cx
imul eax, eax, 0x28
add ecx, 2
mov dword [eax + ebx + 0x48], edx
add esi, 4
jmp 0x2d87bb5c
push 0x2d8db2b8
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
push 2
push dword [ebp + 0xc]
call fcn.2d832759
mov esi, dword [ebp - 0x1c]
mov edx, eax
mov eax, dword [ebp + 8]
pop ecx
pop ecx
movzx ecx, ax
mov eax, dword [esi]
mov eax, dword [eax + ecx*4]
mov dword [eax], edx
mov eax, dword [esi]
mov eax, dword [eax + ecx*4]
mov dword [eax + 4], ebx
mov eax, dword [esi]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp + 0x10]
mov word [eax + 8], cx
xor eax, eax
inc eax
jmp 0x2d87bcbf
call fcn.2d80191f
ret 0x10