Function at 0x41cf20
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x150
mov esi, esp
mov dword [esi + 0x138], ebp
mov dword [esi + 0x13c], esp
mov dword [esi + 0x148], 0xffffffff
mov dword [esi + 0x144], 0x5136e0
mov dword [esi + 0x38], ecx
lea eax, [esi + 0x140]
mov ecx, dword fs:[0]
mov dword [esi + 0x140], ecx
mov dword fs:[0], eax
mov edi, dword [0x6d1ebc]
lea ebx, [edi + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [edi + 0x51]
mov dword [esi + 0x148], 0
mov byte [esi + 4], al
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [esi + 4], 0
mov eax, str.SOFTWAREPoliciesAdobeAcrobat_ReaderDCFeatureLockDowncProtectedModeConfigFiles
mov edx, str.SoftwarePoliciesAdobeAdobe_AcrobatDCFeatureLockDowncProtectedModeConfigFiles
mov dword [esi + 0x148], 0xffffffff
lea ecx, [esi + 0x3c]
cmove edx, eax
push 1
push edx
push 0x80000002
call fcn.004098d0
cmp dword [esi + 0x3c], 0
je 0x41d452
mov dword [esi + 0x148], 6
lea eax, [esi + 0x60]
push 0x658578
push eax
call fcn.00415fb0
add esp, 8
mov dword [esi + 0x148], 7
push 0
push 0
lea eax, [esi + 0x60]
push eax
call fcn.00429c90
add esp, 0xc
xor ebx, ebx
test al, al
jne 0x41d02c
jmp 0x41d458
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
test bl, bl
mov ebx, dword [esi + 4]
je 0x41d456
lea eax, [esi + 0x48]
mov dword [esi + 0x5c], 7
mov dword [esi + 0x58], 0
mov word [esi + 0x48], 0
mov dword [esi + 0x148], 8
lea ecx, [esi + 0x3c]
push eax
mov dword [esi + 4], ebx
push ebx
call fcn.004a19a0
test eax, eax
je 0x41d070
xor ebx, ebx
jmp 0x41d40f
cmp dword [esi + 0x5c], 7
lea eax, [esi + 0x48]
mov dword [esi + 0x34], 7
mov dword [esi + 0x30], 0
mov word [esi + 0x20], 0
jbe 0x41d090
mov eax, dword [esi + 0x48]
lea edx, [esi + 0x20]
mov dword [esi + 0x148], 9
lea ecx, [esi + 0x3c]
push edx
push eax
call fcn.004075a0
push 0x65857a
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.005dfd60
add esp, 0xc
mov eax, dword [esi + 0x30]
cmp dword [esi + 0x34], 7
lea ecx, [esi + 0x20]
jbe 0x41d0cb
mov ecx, dword [esi + 0x20]
mov ebx, dword [esi + 0x8c]
mov edx, dword [esi + 0x88]
mov edi, ebx
sub edi, edx
cmp edi, eax
jae 0x41d109
mov dword [esi + 0x148], 0xe
sub esp, 0x10
movzx edx, byte [esi + 8]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esi + 0x78]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.0040b010
jmp 0x41d136
lea edi, [edx + eax]
cmp ebx, 7
lea ebx, [esi + 0x78]
mov dword [esi + 0x88], edi
jbe 0x41d11d
mov ebx, dword [esi + 0x78]
add eax, eax
lea edx, [ebx + edx*2]
push eax
push ecx
push edx
call fcn.0061e340
add esp, 0xc
mov word [ebx + edi*2], 0
lea eax, [esi + 0x78]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 8], xmm0
movsd qword [esi + 0x10], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], 0
mov ecx, dword [esi + 0x8c]
cmp ecx, 8
jb 0x41d1a4
mov eax, dword [esi + 0x78]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x41d19a
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x41d4bc
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
cmp dword [esi + 0x30], 0
mov dword [esi + 0x148], 0xa
je 0x41d1e0
push 0
push 0
lea eax, [esi + 8]
push eax
call fcn.00429c90
add esp, 0xc
test al, al
je 0x41d1e0
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 8]
push eax
call fcn.004aeb80
add esp, 8
test eax, eax
je 0x41d264
push 0
call fcn.00410ec0
add esp, 4
test al, al
je 0x41d390
push 0
call fcn.00410ec0
add esp, 4
test al, al
je 0x41d255
lea ecx, [esi + 0x78]
push 0
push 0xb77
push str.policy_configurator.cpp
call fcn.0041f9f0
mov dword [esi + 0x148], 0xb
push str.Custom_policy_file_sanity_checks_failed:
lea eax, [esi + 0x88]
push eax
call fcn.005df800
add esp, 8
cmp dword [esi + 0x1c], 7
lea ecx, [esi + 8]
jbe 0x41d23e
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.00424400
add esp, 8
lea ecx, [esi + 0x78]
call fcn.00424810
jmp 0x41d390
push 0
call fcn.00410ec0
add esp, 4
jmp 0x41d390
cmp dword [esi + 0x1c], 7
lea eax, [esi + 8]
jbe 0x41d270
mov eax, dword [esi + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41d2f1
push 0
call fcn.00410ec0
add esp, 4
test al, al
je 0x41d36c
push 0
call fcn.00410ec0
add esp, 4
test al, al
je 0x41d362
lea ecx, [esi + 0x78]
push 0
push 0xb69
push str.policy_configurator.cpp
call fcn.0041f9f0
mov dword [esi + 0x148], 0xd
push str.Found_custom_policy_file:
lea eax, [esi + 0x88]
push eax
call fcn.005df800
add esp, 8
cmp dword [esi + 0x1c], 7
lea ecx, [esi + 8]
jbe 0x41d2dd
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.00424400
add esp, 8
lea ecx, [esi + 0x78]
call fcn.00424810
jmp 0x41d36c
push 0
call fcn.00410ec0
add esp, 4
test al, al
je 0x41d390
push 0
call fcn.00410ec0
add esp, 4
test al, al
je 0x41d443
lea ecx, [esi + 0x78]
push 0
push 0xb70
push str.policy_configurator.cpp
call fcn.0041f9f0
mov dword [esi + 0x148], 0xc
push str.Custom_policy_file_NOT_found:
lea eax, [esi + 0x88]
push eax
call fcn.005df800
add esp, 8
cmp dword [esi + 0x1c], 7
lea ecx, [esi + 8]
jbe 0x41d353
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.00424400
add esp, 8
jmp 0x41d248
push 0
call fcn.00410ec0
add esp, 4
cmp dword [esi + 0x1c], 7
lea eax, [esi + 8]
jbe 0x41d378
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x148], 0xa
push eax
call fcn.00417ee0
nop dword [eax + eax]
mov ecx, dword [esi + 0x1c]
mov edi, dword [esi + 4]
cmp ecx, 8
jb 0x41d3ce
mov eax, dword [esi + 8]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x41d3c4
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x41d4cb
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov ecx, dword [esi + 0x34]
cmp ecx, 8
jb 0x41d409
mov eax, dword [esi + 0x20]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x41d3ff
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x41d4da
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
inc edi
mov bl, 1
mov dword [esi + 4], edi
mov ecx, dword [esi + 0x5c]
cmp ecx, 8
jb 0x41d021
mov eax, dword [esi + 0x48]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x41d017
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jb 0x41d010
jmp 0x41d4ad
push 0
call fcn.00410ec0
add esp, 4
jmp 0x41d390
xor ebx, ebx
jmp 0x41d48f
mov bl, 1
mov ecx, dword [esi + 0x74]
cmp ecx, 8
jb 0x41d48f
mov eax, dword [esi + 0x60]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x41d485
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x41d4e9
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
lea ecx, [esi + 0x3c]
call fcn.004080a0
mov eax, dword [esi + 0x140]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x148], 4
call fcn.006207e0
mov dword [esi + 0x148], 1
call fcn.006207e0
mov dword [esi + 0x148], 2
call fcn.006207e0
mov dword [esi + 0x148], 3
call fcn.006207e0
mov dword [esi + 0x148], 5
call fcn.006207e0
nop dword [eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x14c]
mov ebp, dword [esi + 0x138]
call fcn.0061de80
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x10
lea esi, [ebp - 0x14c]
mov ebp, dword [esi + 0x138]
mov ecx, dword [esi + 0x8c]
cmp ecx, 8
jb 0x41d56a
mov eax, dword [esi + 0x78]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x41d560
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x41d589
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 7
mov word [esi + 0x78], 0
add esp, 0x10
pop ebp
ret
call fcn.006207e0
nop
push ebp
sub esp, 0x10
lea esi, [ebp - 0x14c]
mov ebp, dword [esi + 0x138]
lea ecx, [esi + 0x78]
call fcn.00424810
add esp, 0x10
pop ebp
ret