Function at 0x2d892fe6
Capabilities:
Print debug messages

Disassembly:
push 0x60
mov eax, 0x2d8efdc8
call fcn.2d80853f
mov dword [ebp - 0x60], ecx
movzx eax, word [ebp + 8]
xor ebx, ebx
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x58], eax
push dword [ebp - 0x58]
mov eax, dword [ebp + 0xc]
push dword [esi + 4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x14]
push dword [esi]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 4], ebx
call fcn.2d8970b7
add esp, 0xc
lea eax, [ebp - 0x48]
push dword [ebp - 0x58]
push dword [esi + 4]
push dword [esi]
push eax
call fcn.2d8970b7
add esp, 0x10
push dword [ebp - 0x48]
mov byte [ebp - 4], 1
push dword [esi + 4]
push dword [esi + 4]
call fcn.2d8970b7
mov dword [esi + 4], eax
mov edi, eax
mov eax, dword [esi]
add esp, 0xc
mov byte [ebp - 4], bl
jmp 0x2d893077
mov ecx, dword [eax]
lea edx, [ebx + 1]
cmp byte [ecx + 0x200], 0
cmove edx, ebx
cmp dword [ecx + 0x220], 0
lea ebx, [edx + 1]
cmove ebx, edx
add eax, 4
cmp eax, edi
jne 0x2d893058
xor ecx, ecx
mov eax, ebx
push 0x28
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.2d8970b7
pop ecx
mov ecx, eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x64], ecx
test ecx, ecx
je 0x2d89330e
imul eax, ebx, 0x28
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x60]
xor eax, eax
inc eax
xor edx, edx
add esp, 0xc
mov word [ecx + 6], ax
mov ecx, dword [ebp - 0x5c]
mov word [ecx], dx
xor ecx, ecx
mov esi, dword [esi]
mov dword [ebp - 0x50], ecx
cmp esi, edi
je 0x2d8932ab
mov edx, dword [esi]
mov dword [ebp - 0x68], edx
lea ebx, [edx + 0x200]
cmp byte [ebx], 0
je 0x2d893281
cmp byte [edx + 0x226], 0
je 0x2d8930f5
mov eax, dword [ebp - 0x5c]
inc word [eax]
push 0
push 0x20
push ebx
call fcn.2d8970b7
add esp, 0xc
push eax
push ebx
call fcn.2d8970b7
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x2d893125
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
movzx eax, dx
imul eax, eax, 0x28
mov byte [eax + ecx], bl
jmp 0x2d89326d
push 0
push 0x7fffffff
push ebx
call fcn.2d8970b7
add esp, 0xc
push eax
push ebx
call fcn.2d8970b7
push 0
push 0x7fffffff
push ebx
call fcn.2d8970b7
mov edx, dword [ebp - 0x50]
add esp, 0x14
push 0x1e
pop ecx
cmp eax, ecx
cmovb ecx, eax
movzx eax, dx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x54]
push ecx
push ebx
mov dword [ebp - 0x48], ecx
add eax, edx
mov dword [ebp - 0x4c], edx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x48]
xor edx, edx
add eax, dword [ebp - 0x4c]
add esp, 0xc
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], 7
mov byte [eax + ecx], dl
xor eax, eax
mov word [ebp - 0x2c], ax
push ebx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], dl
call fcn.2d82bc14
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.2d8359fe
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 2
pop ecx
pop ecx
cmp eax, 0x10
jb 0x2d893201
mov ecx, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov byte [ebp - 4], 4
cmp eax, 0x1000
jb 0x2d8931f4
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.2d8970b7
mov eax, dword [ebp - 0x4c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x48]
push eax
push ecx
call fcn.2d8970b7
pop ecx
pop ecx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.kernel32.dll_OutputDebugStringW]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0
cmp eax, 8
jb 0x2d89325c
mov ecx, dword [ebp - 0x2c]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], ecx
mov byte [ebp - 4], 5
cmp eax, 0x1000
jb 0x2d89324f
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.2d8970b7
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4c]
push eax
push ecx
call fcn.2d8970b7
pop ecx
pop ecx
mov byte [ebp - 4], 0
and dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
push 0x2d900030
call dword [sym.imp.kernel32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 0x50]
xor eax, eax
mov edx, dword [ebp - 0x68]
inc eax
mov edx, dword [edx + 0x220]
test edx, edx
je 0x2d89329e
movzx eax, cx
mov ecx, dword [ebp - 0x54]
imul eax, eax, 0x28
push 2
mov dword [eax + ecx + 0x48], edx
mov ecx, dword [ebp - 0x50]
pop eax
add ecx, eax
add esi, 4
xor eax, eax
inc eax
jmp 0x2d8930c7
push 0x2d900030
call dword [sym.imp.kernel32.dll_OutputDebugStringW]
push 2
push dword [ebp - 0x6c]
call fcn.2d83e3d1
mov ebx, dword [ebp - 0x60]
mov edx, eax
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
movzx ecx, ax
mov eax, dword [ebx]
mov eax, dword [eax + ecx*4]
mov dword [eax], edx
mov eax, dword [ebx]
mov edx, dword [ebp - 0x54]
mov eax, dword [eax + ecx*4]
mov dword [eax + 4], edx
mov eax, dword [ebx]
mov edx, dword [ebp - 0x50]
mov eax, dword [eax + ecx*4]
mov word [eax + 8], dx
xor eax, eax
inc eax
jmp 0x2d893306
call fcn.2d8086fe
ret 0x10
call fcn.2d8970b7
int3