Function at 0x2d8938b4
Capabilities:
Print debug messages

Disassembly:
push 0x60
mov eax, 0x2d8f2c8a
call fcn.2d8084f1
mov dword [ebp - 0x5c], ecx
movzx eax, word [ebp + 8]
mov esi, dword [ebp + 0x10]
and dword [ebp - 0x60], 0
and dword [ebp - 4], 0
mov dword [ebp - 0x54], eax
push dword [ebp - 0x54]
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 - 0x58], eax
call fcn.2d89cbbb
add esp, 0xc
lea eax, [ebp - 0x48]
push dword [ebp - 0x54]
push dword [esi + 4]
push dword [esi]
push eax
call fcn.2d89cbbb
add esp, 0x10
lea eax, [ebp - 0x64]
mov ecx, esi
push dword [esi + 4]
push dword [ebp - 0x48]
push eax
call fcn.2d89cbbb
mov ebx, dword [esi + 4]
xor edi, edi
mov eax, dword [esi]
mov dword [ebp - 0x68], ebx
jmp 0x2d893941
mov ecx, dword [eax]
lea edx, [edi + 1]
cmp byte [ecx + 0x200], 0
cmove edx, edi
cmp dword [ecx + 0x220], 0
lea edi, [edx + 1]
cmove edi, edx
add eax, 4
cmp eax, ebx
jne 0x2d893922
xor ecx, ecx
mov eax, edi
push 0x28
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.2d89cbbb
mov ebx, eax
mov dword [ebp - 0x60], ebx
pop ecx
test ebx, ebx
je 0x2d893bc7
imul eax, edi, 0x28
push eax
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x5c]
xor eax, eax
inc eax
add esp, 0xc
xor edx, edx
mov word [ecx + 6], ax
mov ecx, dword [ebp - 0x58]
mov word [ecx], dx
mov esi, dword [esi]
mov dword [ebp - 0x50], edx
cmp esi, dword [ebp - 0x68]
je 0x2d893b67
mov ecx, dword [esi]
mov dword [ebp - 0x64], ecx
lea edi, [ecx + 0x200]
cmp byte [edi], 0
je 0x2d893b3f
cmp byte [ecx + 0x226], 0
je 0x2d8939bb
mov eax, dword [ebp - 0x58]
inc word [eax]
push 0
push 0x20
push edi
call fcn.2d89cbbb
add esp, 0xc
push eax
push edi
call fcn.2d89cbbb
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x2d8939e9
mov edx, dword [ebp - 0x50]
movzx eax, dx
imul eax, eax, 0x28
mov byte [eax + ebx], 0
jmp 0x2d893b2b
push 0
push 0x7fffffff
push edi
call fcn.2d89cbbb
add esp, 0xc
push eax
push edi
call fcn.2d89cbbb
push 0
push 0x7fffffff
push edi
call fcn.2d89cbbb
mov edx, dword [ebp - 0x50]
add esp, 0x14
push 0x1e
pop ecx
cmp eax, ecx
cmovb ecx, eax
movzx eax, dx
imul eax, eax, 0x28
push ecx
push edi
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], eax
add eax, ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x48]
xor ecx, ecx
add eax, dword [ebp - 0x4c]
add esp, 0xc
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], 7
mov byte [eax + ebx], cl
xor eax, eax
mov word [ebp - 0x2c], ax
mov dword [ebp - 0x34], ecx
mov byte [ebp - 0x44], cl
lea ecx, [ebp - 0x44]
push edi
mov byte [ebp - 4], 1
mov dword [ebp - 0x30], 0xf
call fcn.2d82c3ac
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.2d8361de
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 1
pop ecx
pop ecx
cmp eax, 0x10
jb 0x2d893abf
mov ecx, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov byte [ebp - 4], 3
cmp eax, 0x1000
jb 0x2d893ab2
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.2d89cbbb
mov eax, dword [ebp - 0x4c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x48]
push eax
push ecx
call fcn.2d89cbbb
pop ecx
pop ecx
mov byte [ebp - 4], 1
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 0x2d893b1a
mov ecx, dword [ebp - 0x2c]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], ecx
mov byte [ebp - 4], 4
cmp eax, 0x1000
jb 0x2d893b0d
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.2d89cbbb
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4c]
push eax
push ecx
call fcn.2d89cbbb
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 0x2d904040
call dword [sym.imp.kernel32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0x50]
xor eax, eax
mov ecx, dword [ebp - 0x64]
inc eax
mov ecx, dword [ecx + 0x220]
test ecx, ecx
jne 0x2d893b4d
mov ecx, eax
jmp 0x2d893b5d
movzx eax, dx
imul eax, eax, 0x28
push 2
mov dword [eax + ebx + 0x48], ecx
xor eax, eax
pop ecx
inc eax
add esi, 4
add edx, ecx
jmp 0x2d89398c
push 0x2d904040
call dword [sym.imp.kernel32.dll_OutputDebugStringW]
push 2
push dword [ebp - 0x6c]
call fcn.2d83e821
mov edi, dword [ebp - 0x5c]
mov edx, eax
mov eax, dword [ebp - 0x54]
pop ecx
pop ecx
movzx ecx, ax
mov eax, dword [edi]
mov eax, dword [eax + ecx*4]
mov dword [eax], edx
mov eax, dword [edi]
mov edx, dword [ebp - 0x50]
mov eax, dword [eax + ecx*4]
mov dword [eax + 4], ebx
mov eax, dword [edi]
mov eax, dword [eax + ecx*4]
mov word [eax + 8], dx
xor eax, eax
inc eax
jmp 0x2d893bbf
call fcn.2d80866d
ret 0x10
call fcn.2d89cbbb
int3