Function at 0x100c3744
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x101d9590]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor eax, eax
xor edi, edi
push 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], edi
call sub.msvcrt.dll_malloc
mov esi, eax
pop ecx
test esi, esi
je 0x100c3786
push 0x140
call sub.msvcrt.dll_malloc
pop ecx
test eax, eax
jne 0x100c3790
push esi
call sub.msvcrt.dll_free
pop ecx
mov ecx, 0x8007000e
mov dword [ebp - 0x20], ecx
jmp 0x100c37db
and dword [esi + 4], edi
mov dword [esi], eax
mov dword [esi + 8], 0xa
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
add eax, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, eax
jae 0x100c37c8
push esi
push ebx
lea eax, [ebp - 0x24]
call fcn.100c3619
test eax, eax
je 0x100c38be
mov eax, dword [ebx + 0x10]
add eax, dword [ebx + 0x14]
cmp dword [ebp - 0x24], eax
jb 0x100c37ab
mov edi, esi
mov dword [ebp - 0x2c], edi
xor esi, esi
test esi, esi
je 0x100c37d8
call fcn.100c266b
mov ecx, dword [ebp - 0x20]
test ecx, ecx
js 0x100c390f
mov esi, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100c3800
mov edi, eax
push edi
call fcn.100c2ada
add edi, 0x20
dec esi
jne 0x100c37f1
mov edi, dword [ebp - 0x2c]
lea esi, [ebx + 0x20]
mov dword [ebx + 0x1b8], esi
and dword [esi], 0
and dword [esi + 0x194], 0
mov eax, dword [ebx + 0x1bc]
test eax, eax
je 0x100c382b
push eax
call fcn.100c4624
test eax, eax
je 0x100c38f2
fldz
and dword [ebx], 0
push ebx
fstp qword [ebp - 0xc]
push dword [ebx + 0x1c]
call fcn.1016479e
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x100c38ab
lea esi, [ecx + 0xc]
mov dword [ebp - 0x28], esi
mov edi, eax
push dword [ebx + 0x1c]
call fcn.101647de
mov eax, dword [esi + 4]
dec eax
mov dword [ebp - 0x34], eax
mov eax, dword [esi]
mov dword [ebp - 0x30], eax
je 0x100c388f
mov edi, dword [ebp - 0x34]
mov esi, eax
fld dword [esi]
push esi
lea eax, [ebp - 0x1c]
fstp qword [ebp - 0x1c]
fld dword [esi + 4]
push eax
push dword [ebx + 0x1c]
fstp qword [ebp - 0x14]
call fcn.10164950
add esi, 8
dec edi
jne 0x100c386b
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
push dword [ebx + 0x1c]
call fcn.10164a5d
dec edi
add esi, 0x20
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], esi
test edi, edi
jne 0x100c3850
mov edi, dword [ebp - 0x2c]
lea esi, [ebx + 0x20]
push dword [ebx + 0x1c]
call fcn.10164a83
mov eax, dword [ebx]
test eax, eax
jns 0x100c38d5
mov dword [ebp - 0x20], eax
jmp 0x100c38f2
push 0x1000690c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0x20], 0x80004005
jmp 0x100c37cf
mov eax, dword [ebx + 0x1bc]
test eax, eax
je 0x100c38f2
mov ecx, dword [eax + 0x18]
test ecx, ecx
jns 0x100c38eb
mov dword [ebp - 0x20], ecx
jmp 0x100c38f2
push edi
push eax
call fcn.100c4bcc
mov eax, dword [esi + 0x194]
test eax, eax
je 0x100c390f
mov edi, dword [eax + 0x194]
push eax
call sub.msvcrt.dll_free
pop ecx
mov eax, edi
test edi, edi
jne 0x100c38fc
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x100c391b
call fcn.100c266b
mov eax, dword [ebx + 0x1bc]
pop edi
pop esi
test eax, eax
je 0x100c392d
push eax
call fcn.100c400e
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
xor ecx, ebp
call fcn.101becf5
leave
ret