Function at 0x41f920
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x22c
mov eax, dword [0x46f008]
xor eax, esp
mov dword [esp + 0x228], eax
push ebx
push esi
mov esi, ecx
push edi
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x41f949
mov eax, dword [esi]
lea edi, [esi + 0x10]
xor ecx, ecx
mov dword [edi], 0
mov word [eax], cx
mov eax, dword [0x473904]
test eax, eax
jne 0x41facd
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.SHGetKnownFolderPath
push str.shell32.dll
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x473904], eax
test eax, eax
jne 0x41facd
cmp dword [0x4738f8], eax
jne 0x41f9cb
push str.SHGetFolderPathW
push str.shell32.dll
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
mov eax, dword [0x473904]
mov dword [0x4738f8], ecx
test eax, eax
jne 0x41facd
test ecx, ecx
jne 0x41f9cb
push 0x7f
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x41fb5b
lea eax, [esp + 0x10]
push str._EAC_Service___Warning__Falling_back_to_deprecated_SHGetFolderPathW_WinAPI.
push eax
call fcn.00412330
add esp, 8
lea eax, [esp + 0x10]
cmp dword [esp + 0x24], 0x10
jb 0x41f9ec
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x41fa29
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41fa1f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41fb76
push edx
push ecx
call fcn.0041fbbf
add esp, 8
lea eax, [esp + 0x28]
mov dword [esp + 0x20], 0
push eax
push 0
push 0
push 0x1a
push 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
call dword [0x4738f8]
test eax, eax
jne 0x41fb5b
lea ecx, [esp + 0x28]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fa60
sub ecx, edx
lea eax, [esp + 0x28]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.00401680
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [edi]
sub eax, ecx
cmp eax, 0xe
jb 0x41fab4
lea ebx, [ecx + 0xe]
mov dword [edi], ebx
cmp edx, 8
jb 0x41fa96
mov esi, dword [esi]
push 0x1c
lea eax, [esi + ecx*2]
push 0x4685d4
push eax
call fcn.00437380
add esp, 0xc
xor eax, eax
mov word [esi + ebx*2], ax
jmp 0x41fb5b
push 0xe
push 0x4685d4
push dword [esp + 0x14]
mov ecx, esi
push 0xe
call fcn.004045d0
jmp 0x41fb5b
lea ecx, [esp + 0xc]
push ecx
push 0
push 0
push 0x459440
call eax
test eax, eax
jne 0x41fb5b
mov edx, dword [esp + 0xc]
mov ecx, edx
lea ebx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41faf0
sub ecx, ebx
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00401680
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [edi]
sub eax, ecx
cmp eax, 0xe
jb 0x41fb3d
lea ebx, [ecx + 0xe]
mov dword [edi], ebx
cmp edx, 8
jb 0x41fb22
mov esi, dword [esi]
push 0x1c
lea eax, [esi + ecx*2]
push 0x4685d4
push eax
call fcn.00437380
add esp, 0xc
xor eax, eax
mov word [esi + ebx*2], ax
jmp 0x41fb51
push 0xe
push 0x4685d4
push dword [esp + 0x14]
mov ecx, esi
push 0xe
call fcn.004045d0
push dword [esp + 0xc]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [edi], 0
mov ecx, dword [esp + 0x234]
pop edi
pop esi
setne al
pop ebx
xor ecx, esp
call fcn.0041fb7c
mov esp, ebp
pop ebp
ret
call fcn.00439d3f
int3