Function at 0x70231920
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x70319576
mov eax, dword fs:[0]
push eax
sub esp, 0x458
mov eax, dword [0x7034b250]
xor eax, esp
mov dword [esp + 0x450], eax
push ebx
push esi
push edi
mov eax, dword [0x7034b250]
xor eax, esp
push eax
lea eax, [esp + 0x468]
mov dword fs:[0], eax
test byte [0x7036e624], 1
mov edi, ecx
jne 0x70231984
or dword [0x7036e624], 1
call fcn.7021b8d0
push 0x7031ac80
call fcn.702e1d65
add esp, 4
mov eax, 0x7036e628
call fcn.7021cc20
test eax, eax
je 0x70231c11
push str.msedge.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ebx, eax
test ebx, ebx
je 0x70231c16
push 0x208
lea eax, [esp + 0x258]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea esi, [edi + 0x14]
push esi
add edi, 0x10
lea ecx, [esp + 0x258]
push edi
push ecx
call fcn.702156d0
add esp, 0xc
test eax, eax
je 0x70231c11
cmp dword [edi], 0
jne 0x702319ed
cmp dword [esi], 0
je 0x70231c11
push 0x20a
lea edx, [esp + 0x48]
push 0
push edx
call fcn.702e95e0
mov ecx, dword [0x70359468]
add esp, 0xc
push 0x104
lea eax, [esp + 0x48]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str...chrmsafe.dat
lea edx, [esp + 0x48]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x70231c11
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x70231c11
lea ecx, [esp + 0x2c]
push ecx
call fcn.7028e780
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x474], 0
call fcn.7028e780
lea eax, [esp + 0x2c]
mov byte [esp + 0x470], 1
call fcn.70231cf0
lea eax, [esp + 0x14]
call fcn.70231cf0
cmp dword [0x7035a084], 1
je 0x70231a9f
mov ecx, dword [esi]
lea eax, [esp + 0x2c]
push eax
mov eax, dword [edi]
push ecx
push 7
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x54]
call fcn.702b3f00
mov ecx, dword [esi]
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi]
push ecx
push 8
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x54]
call fcn.702b3f00
cmp byte [0x7034d42b], 0
je 0x70231baa
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
sub ecx, esi
mov eax, 0xe070381d
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x70231baa
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x20]
mov esi, dword [esi + 0x128]
mov dword [0x70353f94], ecx
test edi, edi
je 0x70231baa
test esi, esi
je 0x70231baa
push 0x7032a778
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [edi + ebx]
lea edx, [esi + ebx]
mov dword [0x703594e8], eax
mov dword [0x703594e0], ecx
mov dword [0x703594e4], edx
test eax, eax
je 0x70231baa
test ecx, ecx
je 0x70231baa
test edx, edx
je 0x70231baa
xor eax, eax
push 0x703594e8
mov edi, 0x70230f60
mov dword [0x703594d0], eax
mov dword [0x703594d4], eax
mov dword [0x703594d8], eax
mov dword [0x703594dc], eax
call fcn.7022cbd0
add esp, 4
test eax, eax
je 0x70231baa
cmp dword [0x703594e0], 0
je 0x70231b8f
push 0x703594e0
mov edi, 0x70230ec0
call fcn.7022cbd0
add esp, 4
cmp dword [0x703594e4], 0
je 0x70231baa
push 0x703594e4
mov edi, 0x70230f20
call fcn.7022cbd0
add esp, 4
cmp byte [0x7034d436], 0
je 0x70231bff
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0xe070381d
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x70231bff
test eax, eax
ja 0x70231bd9
call fcn.702e2961
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
test eax, eax
je 0x70231bff
add eax, ebx
mov dword [0x703594ec], eax
je 0x70231bff
push 0x703594ec
mov edi, 0x70231900
call fcn.7022cbd0
add esp, 4
lea esi, [esp + 0x14]
call fcn.70231cc0
lea esi, [esp + 0x2c]
call fcn.70231cc0
mov eax, 1
mov ecx, dword [esp + 0x468]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x450]
xor ecx, esp
call fcn.702e1c2f
mov esp, ebp
pop ebp
ret