Function at 0x419df0
Capabilities:
Check if file exists
Get file attributes
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5f3be1
push eax
mov dword fs:[0], esp
sub esp, 0x244
mov edx, dword [esp + 0x254]
lea eax, [esp + 0xf4]
push ebx
push ebp
push esi
xor ebp, ebp
push edi
push ebp
push ebp
push ebp
push ebp
push pe_nt_image_headers32
lea ecx, [esp + 0x218]
push eax
push ecx
push edx
call fcn.005b2c80
add esp, 0x20
cmp eax, ebp
jne 0x41a828
lea eax, [esp + 0x104]
push ebp
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ebp
mov dword [esp + 0x7c], ebp
mov word [esp + 0x78], bp
call fcn.00402890
xor esi, esi
mov dword [esp + 0x25c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ebp
mov word [esp + 0x24], bp
mov edi, dword [esp + 0x6c]
mov byte [esp + 0x25c], 1
cmp edi, ebp
jne 0x419e8b
lea edi, [esp + 0x70]
mov eax, dword [0x6cee40]
cmp eax, ebp
jne 0x419e99
mov eax, 0x6cee44
mov ecx, 0x6a2688
test ecx, ecx
je 0x41a015
cmp eax, ebp
je 0x41a015
mov edx, str.idmmzcc5
test edx, edx
je 0x41a015
cmp edi, ebp
je 0x41a015
push eax
lea ecx, [esp + 0x48]
call fcn.0040d680
push str.idmmzcc5
lea ecx, [esp + 0x18]
mov byte [esp + 0x260], 2
call fcn.0040d680
push edi
lea ecx, [esp + 0x64]
mov byte [esp + 0x260], 3
call fcn.0040d680
mov bl, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x25c], bl
call fcn.00401070
push 0x6a2688
lea ecx, [esp + 0x30]
call fcn.00401ed0
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x60]
mov byte [esp + 0x25c], 5
call fcn.00401f50
push eax
call fcn.005c4b4a
add esp, 4
lea ecx, [esp + 0x14]
mov edi, eax
call fcn.00401f50
push eax
call fcn.005c4b4a
mov ebp, eax
add esp, 4
lea ecx, [esp + 0x44]
add ebp, esi
call fcn.00401f50
push eax
call fcn.005c4b4a
add ebp, edi
lea esi, [eax + ebp + 4]
lea ebp, [esi + esi]
push ebp
call fcn.005dd58d
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x20], edi
je 0x419fcc
mov ecx, ebp
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [esp + 0x60]
call fcn.00401f50
push eax
lea ecx, [esp + 0x18]
call fcn.00401f50
push eax
lea ecx, [esp + 0x4c]
call fcn.00401f50
push eax
lea ecx, [esp + 0x38]
call fcn.00401f50
push eax
mov eax, dword [esp + 0x30]
push esi
push eax
call fcn.005c4ada
mov ecx, dword [esp + 0x38]
push ecx
call fcn.005c4b4a
add esp, 0x1c
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x25c], bl
call fcn.00401070
lea ecx, [esp + 0x60]
mov byte [esp + 0x25c], 3
call fcn.00401070
lea ecx, [esp + 0x14]
mov byte [esp + 0x25c], 2
call fcn.00401070
lea ecx, [esp + 0x44]
mov byte [esp + 0x25c], 1
call fcn.00401070
mov esi, dword [esp + 0x20]
xor ebp, ebp
cmp esi, ebp
je 0x41a03f
push esi
call fcn.005c4b4a
lea eax, [esi + eax*2]
add esp, 4
cmp esi, eax
jae 0x41a03b
cmp word [esi], 0x2f
jne 0x41a034
mov word [esi], 0x5c
add esi, 2
cmp esi, eax
jb 0x41a029
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x38], ecx
mov word [esp + 0x3c], bp
cmp esi, ebp
mov byte [esp + 0x25c], 6
mov eax, esi
jne 0x41a060
lea eax, [esp + 0x24]
mov edx, 0x69ffbc
test edx, edx
je 0x41a13d
cmp eax, ebp
je 0x41a13d
push eax
lea ecx, [esp + 0x30]
call fcn.0040d680
mov bl, 7
lea ecx, [esp + 0x38]
mov byte [esp + 0x25c], bl
call fcn.00401070
push 0x69ffbc
lea ecx, [esp + 0x48]
call fcn.00401ed0
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x25c], 8
call fcn.00401f50
push eax
call fcn.005c4b4a
lea esi, [eax + esi + 2]
lea ebp, [esi + esi]
push ebp
call fcn.005dd58d
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x38], edi
je 0x41a116
mov ecx, ebp
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [esp + 0x2c]
call fcn.00401f50
push eax
lea ecx, [esp + 0x48]
call fcn.00401f50
push eax
mov eax, dword [esp + 0x40]
push esi
push eax
call fcn.005c4ada
mov ecx, dword [esp + 0x48]
push ecx
call fcn.005c4b4a
add esp, 0x14
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x25c], bl
call fcn.00401070
lea ecx, [esp + 0x2c]
mov byte [esp + 0x25c], 6
call fcn.00401070
mov ecx, dword [esp + 0x38]
xor ebp, ebp
cmp ecx, ebp
mov eax, ecx
jne 0x41a147
lea eax, [esp + 0x3c]
push 0x5c
push eax
call fcn.005c4a9a
add esp, 8
cmp eax, ebp
je 0x41a260
add eax, 2
mov word [eax], bp
mov eax, dword [esp + 0x38]
cmp eax, ebp
jne 0x41a16c
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x41a260
mov eax, dword [esp + 0x38]
cmp eax, ebp
jne 0x41a188
lea eax, [esp + 0x3c]
add eax, 6
push 0x5c
push eax
call fcn.005c4fbf
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x41a260
mov bl, 9
mov eax, dword [esp + 0x38]
cmp eax, ebp
jne 0x41a1ae
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], ebp
mov word [esp + 0x1c], bp
call fcn.00401f60
mov eax, dword [esp + 0x14]
mov byte [esp + 0x25c], bl
cmp eax, ebp
mov ecx, eax
jne 0x41a1da
lea ecx, [esp + 0x18]
mov eax, dword [esp + 0x38]
cmp eax, ebp
jne 0x41a1e6
lea eax, [esp + 0x3c]
mov edx, esi
sub edx, eax
sar edx, 1
mov word [ecx + edx*2], bp
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x41a1fc
lea eax, [esp + 0x18]
push ebp
push eax
call fcn.004890e0
add esp, 8
test eax, eax
jne 0x41a224
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x41a216
lea eax, [esp + 0x18]
push ebp
push eax
call fcn.004892c0
add esp, 8
test eax, eax
je 0x41a24f
add esi, 2
push 0x5c
push esi
call fcn.005c4fbf
add esp, 8
lea ecx, [esp + 0x14]
mov esi, eax
mov byte [esp + 0x25c], 6
call fcn.00401070
cmp esi, ebp
jne 0x41a1a2
jmp 0x41a260
lea ecx, [esp + 0x14]
mov byte [esp + 0x25c], 6
call fcn.00401070
push 0x2000
call fcn.005c541e
add esp, 4
cmp eax, ebp
mov dword [esp + 0x5c], eax
jne 0x41a2b5
lea ecx, [esp + 0x38]
mov byte [esp + 0x25c], 1
call fcn.00401070
lea ecx, [esp + 0x20]
mov byte [esp + 0x25c], 0
call fcn.00401070
lea ecx, [esp + 0x6c]
mov dword [esp + 0x25c], 0xffffffff
call fcn.00401070
mov eax, 0xffffff98
jmp 0x41a828
xor edi, edi
mov byte [esp + 0x13], 0
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
mov word [esp + 0x54], di
mov eax, dword [esp + 0x264]
mov byte [esp + 0x25c], 0xa
push eax
call fcn.005b3130
mov ebx, eax
add esp, 4
cmp ebx, edi
jne 0x41a7c5
mov eax, dword [esp + 0x20]
cmp eax, edi
jne 0x41a2f7
lea eax, [esp + 0x24]
push 0x6a2680
push eax
call fcn.005c62b7
mov esi, eax
add esp, 8
cmp esi, edi
jne 0x41a41d
mov eax, dword [esp + 0x20]
cmp eax, edi
jne 0x41a31b
lea eax, [esp + 0x24]
mov ecx, 0x6a2678
test ecx, ecx
je 0x41a3f4
cmp eax, edi
je 0x41a3f4
push eax
lea ecx, [esp + 0x30]
call fcn.0040d680
lea ecx, [esp + 0x50]
mov byte [esp + 0x25c], 0xb
call fcn.00401070
push 0x6a2678
lea ecx, [esp + 0x48]
call fcn.00401ed0
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x25c], 0xc
call fcn.00401f50
push eax
call fcn.005c4b4a
lea esi, [eax + esi + 2]
lea ebp, [esi + esi]
push ebp
call fcn.005dd58d
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x50], edi
je 0x41a3d0
mov ecx, ebp
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [esp + 0x2c]
call fcn.00401f50
push eax
lea ecx, [esp + 0x48]
call fcn.00401f50
push eax
mov eax, dword [esp + 0x58]
push esi
push eax
call fcn.005c4ada
mov ecx, dword [esp + 0x60]
push ecx
call fcn.005c4b4a
add esp, 0x14
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x25c], 0xb
call fcn.00401070
lea ecx, [esp + 0x2c]
mov byte [esp + 0x25c], 0xa
call fcn.00401070
xor edi, edi
mov eax, dword [esp + 0x50]
cmp eax, edi
jne 0x41a400
lea eax, [esp + 0x54]
push 0x6a2680
push eax
call fcn.005c62b7
mov esi, eax
add esp, 8
cmp esi, edi
je 0x41a7c5
mov byte [esp + 0x13], 1
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x264]
push 0x2000
push ebp
push edx
call fcn.005b3470
mov ebx, eax
add esp, 0xc
cmp ebx, edi
jl 0x41a472
jle 0x41a472
push esi
push 1
push ebx
push ebp
call fcn.005c614d
add esp, 0x10
cmp eax, 1
jne 0x41a46f
mov eax, dword [esp + 0x264]
push 0x2000
push ebp
push eax
call fcn.005b3470
mov ebx, eax
add esp, 0xc
cmp ebx, edi
jge 0x41a43d
jmp 0x41a472
or ebx, 0xffffffff
push esi
call fcn.005c60d0
lea ecx, [esp + 0x108]
push str.idmcchandler2.dll
push ecx
call fcn.005c4c40
add esp, 0xc
test eax, eax
jne 0x41a4ae
lea edx, [esp + 0x104]
push str.idmcchandler2_64.dll
push edx
call fcn.005c4c40
add esp, 8
test eax, eax
je 0x41a719
mov al, byte [esp + 0x13]
test al, al
je 0x41a4c4
mov eax, dword [esp + 0x50]
cmp eax, edi
jne 0x41a4d0
lea eax, [esp + 0x54]
jmp 0x41a4d0
mov eax, dword [esp + 0x20]
cmp eax, edi
jne 0x41a4d0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], edi
mov word [esp + 0x68], di
call fcn.00401f60
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edi
mov word [esp + 0x18], di
lea eax, [esp + 0x104]
push str.idmcchandler2.dll
push eax
mov byte [esp + 0x264], 0xe
call fcn.005c4c40
add esp, 8
mov edi, 0x6a2628
test eax, eax
jne 0x41a51f
mov edi, 0x6a25fc
mov esi, dword [0x6cee18]
test esi, esi
jne 0x41a52e
mov esi, 0x6cee1c
mov ecx, 0x6a0048
test ecx, ecx
je 0x41a656
test esi, esi
je 0x41a656
test edi, edi
je 0x41a656
push ecx
lea ecx, [esp + 0x7c]
call fcn.00401ed0
push esi
lea ecx, [esp + 0x30]
mov byte [esp + 0x260], 0xf
call fcn.0040d680
push edi
lea ecx, [esp + 0x48]
mov byte [esp + 0x260], 0x10
call fcn.0040d680
lea ecx, [esp + 0x14]
mov byte [esp + 0x25c], 0x11
call fcn.00401070
mov esi, dword [esp + 0x80]
lea ecx, [esp + 0x44]
call fcn.00401f50
push eax
call fcn.005c4b4a
add esp, 4
lea ecx, [esp + 0x2c]
mov edi, eax
call fcn.00401f50
push eax
call fcn.005c4b4a
add esi, edi
lea esi, [eax + esi + 3]
lea ebp, [esi + esi]
push ebp
call fcn.005dd58d
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x14], edi
je 0x41a61f
mov ecx, ebp
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [esp + 0x44]
call fcn.00401f50
push eax
lea ecx, [esp + 0x30]
call fcn.00401f50
push eax
lea ecx, [esp + 0x80]
call fcn.00401f50
push eax
mov eax, dword [esp + 0x20]
push esi
push eax
call fcn.005c4ada
mov ecx, dword [esp + 0x28]
push ecx
call fcn.005c4b4a
add esp, 0x18
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x25c], 0x10
call fcn.00401070
lea ecx, [esp + 0x2c]
mov byte [esp + 0x25c], 0xf
call fcn.00401070
lea ecx, [esp + 0x78]
mov byte [esp + 0x25c], 0xe
call fcn.00401070
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x41a662
lea eax, [esp + 0x18]
push 0
push 0
push eax
lea ecx, [esp + 0x6c]
call fcn.00401f50
push eax
call fcn.00488d40
add esp, 0x10
test eax, eax
jne 0x41a6f7
lea ecx, [esp + 0x2c]
call fcn.0041a850
lea ecx, [esp + 0x14]
mov byte [esp + 0x25c], 0x12
call fcn.00401f50
push eax
push 0x6a25f8
lea ecx, [esp + 0x34]
call fcn.00418890
push 0
push 0
lea ecx, [esp + 0x34]
call fcn.00401f50
push eax
lea ecx, [esp + 0x6c]
call fcn.00401f50
push eax
call fcn.00488d40
add esp, 0x10
test eax, eax
je 0x41a6e6
lea ecx, [esp + 0x14]
call fcn.00401f50
push eax
lea ecx, [esp + 0x30]
call fcn.00401f50
push eax
call fcn.00419c60
add esp, 8
lea ecx, [esp + 0x2c]
mov byte [esp + 0x25c], 0xe
call fcn.00401070
lea ecx, [esp + 0x14]
mov byte [esp + 0x25c], 0xd
call fcn.00401070
lea ecx, [esp + 0x60]
mov byte [esp + 0x25c], 0xa
call fcn.00401070
mov al, byte [esp + 0x13]
test al, al
je 0x41a7c9
lea edx, [esp + 0x104]
push str..dll
push edx
call fcn.005c4c40
add esp, 8
test eax, eax
je 0x41a7a7
lea eax, [esp + 0xc4]
push 0x40
push eax
lea ecx, [esp + 0x28]
call fcn.00401f50
push eax
call fcn.00419c80
add esp, 0xc
test eax, eax
je 0x41a79a
lea ecx, [esp + 0x84]
push 0x40
push ecx
lea ecx, [esp + 0x58]
call fcn.00401f50
push eax
call fcn.00419c80
add esp, 0xc
test eax, eax
je 0x41a79a
lea edx, [esp + 0x84]
lea eax, [esp + 0xc4]
push edx
push eax
call fcn.005c6000
add esp, 8
test eax, eax
je 0x41a7a7
mov ecx, dword [esp + 0x270]
mov dword [ecx], 1
lea ecx, [esp + 0x20]
call fcn.00401f50
push eax
lea ecx, [esp + 0x54]
call fcn.00401f50
push eax
call fcn.00419c60
add esp, 8
jmp 0x41a7c9
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x264]
push edx
call fcn.005b3660
push ebp
call fcn.005c4d0f
add esp, 8
lea ecx, [esp + 0x50]
mov byte [esp + 0x25c], 6
call fcn.00401070
lea ecx, [esp + 0x38]
mov byte [esp + 0x25c], 1
call fcn.00401070
lea ecx, [esp + 0x20]
mov byte [esp + 0x25c], 0
call fcn.00401070
lea ecx, [esp + 0x6c]
mov dword [esp + 0x25c], 0xffffffff
call fcn.00401070
mov eax, ebx
mov ecx, dword [esp + 0x254]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x250
ret