Function at 0x1003bad0
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x30
mov ecx, dword [ebp + 8]
mov eax, 0x80
mov dword [ebp - 0x10], eax
cmp dword [ecx + 0x24], 0
je 0x1003bb20
push edi
mov edi, dword [ebp + 0x10]
push ebx
push esi
nop
mov ecx, eax
xor esi, esi
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], ecx
test eax, eax
je 0x1003bb12
add eax, 0x20
je 0x1003bb24
push eax
call fcn.1000efa0
mov edx, eax
add esp, 4
test edx, edx
jne 0x1003bb26
push 0x10005690
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
xor edx, edx
mov eax, edx
mov ecx, 0x20
and eax, 0x1f
sub ecx, eax
mov dword [edx + ecx - 4], ecx
lea ebx, [edx + ecx]
test ebx, ebx
je 0x1003bb12
mov eax, dword [ebp + 0xc]
mov ecx, ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], ecx
cmp eax, 1
ja 0x1003bc50
mov eax, ebx
mov dword [ebp - 0xc], eax
test edi, edi
je 0x1003bc61
mov edi, 0x80
mov dword [ebp - 0xc], ebx
test edi, edi
je 0x1003bb80
lea eax, [edi + 0x20]
test eax, eax
je 0x1003bb95
push eax
call fcn.1000efa0
mov edx, eax
add esp, 4
test edx, edx
jne 0x1003bb97
push 0x10005690
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edi, dword [ebp + 0x10]
xor esi, esi
jmp 0x1003bc5e
xor edx, edx
mov eax, edx
mov ecx, 0x20
and eax, 0x1f
sub ecx, eax
mov dword [edx + ecx - 4], ecx
lea esi, [edx + ecx]
test esi, esi
je 0x1003bb80
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x1003bbdb
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1003bbc3
mov eax, dword [eax]
jmp 0x1003bbc8
mov eax, 1
push eax
push ecx
push 0x10006a40
push edi
push esi
call fcn.100244b0
add esp, 0x14
jmp 0x1003bbed
push dword [eax + 0x20]
push 0x10006a4c
push edi
push esi
call fcn.100244b0
add esp, 0x10
test eax, eax
jns 0x1003bc14
sub esi, dword [esi - 4]
je 0x1003bbff
push esi
call fcn.1000efc0
add esp, 4
add edi, edi
cmp edi, 0x10000
jb 0x1003bb66
mov edi, dword [ebp + 0x10]
xor esi, esi
jmp 0x1003bc5e
push esi
push pe_nt_image_headers32
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
dec eax
push eax
push dword [ebp - 0xc]
call fcn.1003b0b0
mov edi, dword [ebp + 0x10]
add esp, 0x18
test eax, eax
js 0x1003be94
mov eax, dword [ebp - 0x14]
mov ebx, eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jmp 0x1003bc64
xor esi, esi
mov dword [ebp - 0xc], ebx
cmp eax, 3
ja case.default.0x1003bc73
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x2c], esi
jmp dword [eax*4 + 0x1003bec0]
lea eax, [ecx - 1]
mov dword [ebp - 0x24], eax
test ebx, ebx
jne 0x1003bc88
test eax, eax
jne 0x1003bc8f
cmp eax, 0x7fffffff
jbe 0x1003bca7
mov ecx, dword [ebp - 4]
mov edx, 0x80070057
test eax, eax
je 0x1003bde1
mov byte [ebx], 0
jmp 0x1003bde1
test eax, eax
jne 0x1003bcc5
test ebx, ebx
jne 0x1003bcb9
mov edx, 0x80070057
jmp 0x1003bdde
mov edx, 0x8007007a
mov ecx, eax
jmp 0x1003bde4
push ecx
push 0x10006ab4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push ecx
mov edx, eax
mov ecx, ebx
call fcn.1003b230
add ebx, dword [ebp - 0x1c]
mov edx, eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x1c]
test edx, edx
jns 0x1003bcfa
cmp edx, 0x8007007a
jne 0x1003bdde
mov ecx, eax
jmp 0x1003bde4
dec ecx
mov dword [ebp - 0x24], ecx
test ebx, ebx
jne 0x1003bd0d
test ecx, ecx
jne 0x1003bd15
cmp ecx, 0x7fffffff
jbe 0x1003bd2d
test ecx, ecx
mov edx, 0x80070057
mov ecx, dword [ebp - 4]
je 0x1003bde1
mov byte [ebx], 0
jmp 0x1003bde1
test ecx, ecx
jne 0x1003bd49
test ebx, ebx
jne 0x1003bd3f
mov edx, 0x80070057
jmp 0x1003bdde
mov edx, 0x8007007a
jmp 0x1003bde4
push ecx
push 0x10006ac8
jmp 0x1003bdb3
dec ecx
mov dword [ebp - 0x24], ecx
test ebx, ebx
jne 0x1003bd5d
test ecx, ecx
jne 0x1003bd15
cmp ecx, 0x7fffffff
ja 0x1003bd15
test ecx, ecx
jne 0x1003bd74
test ebx, ebx
jne 0x1003bd3f
mov edx, 0x80070057
jmp 0x1003bdde
push ecx
push 0x10006ae4
jmp 0x1003bdb3
dec ecx
mov dword [ebp - 0x24], ecx
test ebx, ebx
jne 0x1003bd88
test ecx, ecx
jne 0x1003bd90
cmp ecx, 0x7fffffff
jbe 0x1003bd9e
mov edx, 0x80070057
test ecx, ecx
je 0x1003bdde
mov byte [ebx], 0
jmp 0x1003bdde
test ecx, ecx
jne 0x1003bdad
test ebx, ebx
jne 0x1003bd3f
mov edx, 0x80070057
jmp 0x1003bdde
push ecx
push 0x10006afc
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
mov edx, ecx
mov ecx, ebx
push eax
call fcn.1003b230
mov ecx, dword [ebp - 0x24]
mov edx, eax
add ebx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c]
test edx, edx
jns 0x1003bdec
cmp edx, 0x8007007a
je 0x1003bde4
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
test edx, edx
js 0x1003be90
lea eax, [ecx - 1]
test eax, eax
je 0x1003be7b
cmp eax, 0x7fffffff
ja 0x1003be7b
lea esi, [eax - 1]
mov dword [ebp - 0x1c], 0
lea eax, [ebp + 0x18]
push eax
push dword [ebp + 0x14]
push esi
push ebx
call dword [sym.imp.msvcrt.dll__vsnprintf]
add esp, 0x10
test eax, eax
js 0x1003be29
cmp eax, esi
ja 0x1003be29
mov eax, dword [ebp - 0x1c]
jne 0x1003be32
jmp 0x1003be2e
mov eax, 0x8007007a
mov byte [esi + ebx], 0
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xc], ebx
test eax, eax
js 0x1003be90
mov eax, dword [ebp + 8]
push ebx
push dword [eax + 0x24]
call fcn.10040cb0
mov eax, esi
add esp, 8
test eax, eax
je 0x1003be62
sub eax, dword [eax - 4]
je 0x1003be62
push eax
call fcn.1000efc0
add esp, 4
sub ebx, dword [ebx - 4]
je 0x1003bb1d
push ebx
call fcn.1000efc0
add esp, 4
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x2c]
mov esi, edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xc], ecx
test eax, eax
je 0x1003be90
mov byte [ebx], 0
mov dword [ebp - 0xc], ecx
test esi, esi
je case.default.0x1003bc73
sub esi, dword [esi - 4]
je case.default.0x1003bc73
push esi
call fcn.1000efc0
add esp, 4
mov eax, dword [ebp - 0xc]
sub eax, dword [eax - 4]
je 0x1003beb3
push eax
call fcn.1000efc0
add esp, 4
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1003baf0