Function at 0x4aa1a0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov dword [ebp - 4], ecx
mov dword [ebp - 0x1c], 0xffffffff
movzx eax, byte [ebp + 8]
test eax, eax
je 0x4aa1e7
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x8c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x94]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x9c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x70]
mov dword [ebp - 0x18], edx
jmp 0x4aa214
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x90]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x98]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xa0]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x74]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 1
je 0x4aa251
cmp dword [ebp - 0x20], 2
je 0x4aa282
cmp dword [ebp - 0x20], 3
je 0x4aa2b3
jmp 0x4aa2df
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x7c]
push eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp + 0xc]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00401160
add esp, 0x20
mov dword [ebp - 0x1c], eax
jmp 0x4aa2df
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x7c]
push eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp + 0xc]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.004011c0
add esp, 0x20
mov dword [ebp - 0x1c], eax
jmp 0x4aa2df
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x7c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp + 0xc]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00401260
add esp, 0x1c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4aa2f2
push str.ret___0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4aa36a
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp + 0x14]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp + 0xc]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
shr edx, 6
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
and eax, 0x8000003f
jns 0x4aa32d
dec eax
or eax, 0xffffffc0
inc eax
mov dword [ebp - 0x14], eax
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x4aa352
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x8c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x94], edx
jmp 0x4aa36a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x90], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x98], eax
mov esp, ebp
pop ebp
ret 0x10