Function at 0x401170
Capabilities:
Create directory
Get common file path
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47a340
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1e2f4
call fcn.0044c250
mov eax, dword [0x4a3e54]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x18], 0
movsx eax, byte [0x4a5248]
test eax, eax
jne 0x40128d
mov byte [ebp - 0x11c], 0
push 0x103
push 0
lea eax, [ebp - 0x11b]
push eax
call fcn.0044bc50
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
push 0
push 0
push 0x8005
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jl 0x401242
push str.CUCRTOOL
lea eax, [ebp - 0x11c]
push eax
call fcn.0044bce0
add esp, 8
push 0
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push str._roocerttool.log
lea eax, [ebp - 0x11c]
push eax
call fcn.0044bce0
add esp, 8
lea eax, [ebp - 0x11c]
push eax
push 0x4a5248
call fcn.0044bcd0
add esp, 8
jmp 0x40128d
push str.c:CUCRTOOL
lea eax, [ebp - 0x11c]
push eax
call fcn.0044bcd0
add esp, 8
push 0
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push str._roocerttool.log
lea eax, [ebp - 0x11c]
push eax
call fcn.0044bce0
add esp, 8
lea eax, [ebp - 0x11c]
push eax
push 0x4a5248
call fcn.0044bcd0
add esp, 8
mov dword [ebp - 0x120], 0
mov dword [ebp - 4], 0
mov byte [ebp - 0xa124], 0
push 0x9fff
push 0
lea eax, [ebp - 0xa123]
push eax
call fcn.0044bc50
add esp, 0xc
mov byte [ebp - 0x14124], 0
push 0x9fff
push 0
lea eax, [ebp - 0x14123]
push eax
call fcn.0044bc50
add esp, 0xc
mov dword [ebp - 0x14128], 0
mov byte [ebp - 0x1e128], 0
push 0x9fff
push 0
lea eax, [ebp - 0x1e127]
push eax
call fcn.0044bc50
add esp, 0xc
push 0xa000
push 0
lea eax, [ebp - 0xa124]
push eax
call fcn.0044bc50
add esp, 0xc
push 0xa000
push 0
lea eax, [ebp - 0x14124]
push eax
call fcn.0044bc50
add esp, 0xc
push 0xa000
push 0
lea eax, [ebp - 0x1e128]
push eax
call fcn.0044bc50
add esp, 0xc
lea eax, [ebp - 0x1e138]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea eax, [ebp + 0xc]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0xa124]
push edx
call fcn.0044bb62
add esp, 0xc
mov dword [ebp - 0x124], 0
lea eax, [ebp - 0xa124]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
movzx ecx, word [ebp - 0x1e12c]
push ecx
movzx edx, word [ebp - 0x1e12e]
push edx
movzx eax, word [ebp - 0x1e130]
push eax
movzx ecx, word [ebp - 0x1e132]
push ecx
movzx edx, word [ebp - 0x1e136]
push edx
push 0x47fa38
lea eax, [ebp - 0x14124]
push eax
call fcn.0044b485
add esp, 0x28
lea eax, [ebp - 0x14124]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [ebp - 0x14124]
push eax
push 0x47fa34
lea ecx, [ebp - 0x1e128]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov byte [ebp - 0x1e23c], 0
push 0x103
push 0
lea eax, [ebp - 0x1e23b]
push eax
call fcn.0044bc50
add esp, 0xc
push 0x4a5248
lea eax, [ebp - 0x1e23c]
push eax
call fcn.0044bcd0
add esp, 8
lea eax, [ebp - 0x1e23c]
mov dword [ebp - 0x1e240], eax
mov byte [ebp - 0x1e2c0], 0
push 0x7f
push 0
lea eax, [ebp - 0x1e2bf]
push eax
call fcn.0044bc50
add esp, 0xc
push 0x2e
mov eax, dword [ebp - 0x1e240]
push eax
call fcn.00401700
add esp, 8
mov dword [ebp - 0x1e304], eax
mov ecx, dword [ebp - 0x1e304]
mov dword [ebp - 0x1e240], ecx
cmp dword [ebp - 0x1e240], 0
je 0x401550
mov eax, dword [ebp - 0x1e240]
mov byte [eax], 0
push 0x47fa30
lea eax, [ebp - 0x1e23c]
push eax
call fcn.0044bce0
add esp, 8
push 0xa
lea eax, [ebp - 0x1e2c0]
push eax
movzx ecx, word [ebp - 0x1e138]
push ecx
call fcn.0044b9ba
add esp, 0xc
push eax
lea edx, [ebp - 0x1e23c]
push edx
call fcn.0044bce0
add esp, 8
push 0x47fa2c
lea eax, [ebp - 0x1e23c]
push eax
call fcn.0044bce0
add esp, 8
push 0xa
lea eax, [ebp - 0x1e2c0]
push eax
movzx ecx, word [ebp - 0x1e136]
push ecx
call fcn.0044b9ba
add esp, 0xc
push eax
lea edx, [ebp - 0x1e23c]
push edx
call fcn.0044bce0
add esp, 8
push 0x47fa2c
lea eax, [ebp - 0x1e23c]
push eax
call fcn.0044bce0
add esp, 8
push 0xa
lea eax, [ebp - 0x1e2c0]
push eax
movzx ecx, word [ebp - 0x1e132]
push ecx
call fcn.0044b9ba
add esp, 0xc
push eax
lea edx, [ebp - 0x1e23c]
push edx
call fcn.0044bce0
add esp, 8
push str..log
lea eax, [ebp - 0x1e23c]
push eax
call fcn.0044bce0
add esp, 8
push 0x47fa20
lea eax, [ebp - 0x1e23c]
push eax
call fcn.0044b90c
add esp, 8
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x401598
mov eax, dword [ebp - 0x120]
push eax
lea ecx, [ebp - 0x1e128]
push ecx
call fcn.0044b739
add esp, 8
mov eax, dword [ebp - 0x120]
push eax
call fcn.0044b6bd
add esp, 4
jmp 0x4015a7
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044b637
mov esp, ebp
pop ebp
ret