Function at 0x41fd37
Capabilities:
Read file via mapping

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
cmp dword [esi + 8], ebx
mov dword [esp + 0x10], esi
jne 0x4200f0
mov ebp, str.GlobalVpnStatusSharedMem
mov dword [esp + 0x14], ebx
push ebp
push ebx
push 6
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
cmp eax, ebx
mov dword [esi + 8], eax
je 0x41fe0b
cmp dword [0x441ff4], ebx
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x41fdfe
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41fd9c
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41fdfe
cmp eax, 3
jle 0x41fdfe
call edi
mov dword [esp + 0x14], eax
call esi
cmp dword [0x43d564], ebx
mov dword [esp + 0x18], eax
jge 0x41fdba
mov eax, dword [0x441fa0]
mov dword [0x43d564], eax
call fcn.0041c4b1
test eax, eax
je 0x41fdea
push 3
push dword [0x43d564]
push 0x65
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilityVpnSharedMem.cpp
call fcn.0041c4e1
push ebp
push str._s_shared_memory_already_exists._It_has_reading_and_writing_attributes._n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push dword [esp + 0x14]
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [esp + 0x14], 1
jmp 0x41ffc0
cmp dword [0x441ff4], ebx
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x41fe9c
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41fe3a
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41fe9c
cmp eax, 3
jle 0x41fe9c
call edi
mov dword [esp + 0x18], eax
call esi
cmp dword [0x43d564], ebx
mov dword [esp + 0x1c], eax
jge 0x41fe58
mov eax, dword [0x441fa0]
mov dword [0x43d564], eax
call fcn.0041c4b1
test eax, eax
je 0x41fe88
push 3
push dword [0x43d564]
push 0x6a
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilityVpnSharedMem.cpp
call fcn.0041c4e1
push ebp
push str._s_shared_memory_does_not_exist_Now_begin_to_create_it_n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push dword [esp + 0x18]
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebp
push 0x2ad8
push ebx
push 0x8000004
push ebx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ecx, dword [esp + 0x10]
cmp eax, ebx
mov dword [ecx + 8], eax
jne 0x41ff36
cmp dword [0x441ff4], ebx
je 0x42005c
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x41feeb
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42005c
cmp eax, 1
jle 0x42005c
call edi
mov edi, eax
call esi
cmp dword [0x43d564], ebx
mov ebp, eax
jge 0x41ff05
mov eax, dword [0x441fa0]
mov dword [0x43d564], eax
call fcn.0041c4b1
test eax, eax
je 0x42004e
push 1
push dword [0x43d564]
push 0x6e
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilityVpnSharedMem.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.failed_to_create_file_mapping_for_vpn_status_shard_memory__error_code__d_n
jmp 0x420042
push eax
call fcn.0041cbb6
test eax, eax
pop ecx
jne 0x41ffc0
cmp dword [0x441ff4], ebx
je 0x41ffc0
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x41ff64
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41ffc0
cmp eax, 1
jle 0x41ffc0
call edi
mov ebp, eax
call esi
cmp dword [0x43d564], ebx
mov dword [esp + 0x1c], eax
jge 0x41ff80
mov eax, dword [0x441fa0]
mov dword [0x43d564], eax
call fcn.0041c4b1
test eax, eax
je 0x41ffaf
push 1
push dword [0x43d564]
push 0x73
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilityVpnSharedMem.cpp
call fcn.0041c4e1
push str.Set_kernel_object_to_low_integrity_failed__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebp
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ebp, dword [esp + 0x10]
push ebx
push ebx
push ebx
push 6
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp eax, ebx
mov dword [ebp + 4], eax
jne 0x420063
cmp dword [0x441ff4], ebx
je 0x42005c
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x420000
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x42005c
cmp eax, 1
jle 0x42005c
call edi
mov edi, eax
call esi
cmp dword [0x43d564], ebx
mov ebp, eax
jge 0x42001a
mov eax, dword [0x441fa0]
mov dword [0x43d564], eax
call fcn.0041c4b1
test eax, eax
je 0x42004e
push 1
push dword [0x43d564]
push 0x7a
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilityVpnSharedMem.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.failed_to_get_map_view_for_vpn_status_shard_memory__error_code__d_n
call fcn.0041c506
pop ecx
pop ecx
call fcn.0041c4cc
push edi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x4200f3
cmp dword [esp + 0x14], ebx
jne 0x4200f0
mov dword [eax], 0xc355
cmp dword [0x441ff4], ebx
je 0x4200f0
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x420096
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x4200f0
cmp eax, 3
jle 0x4200f0
call edi
mov edi, eax
call esi
cmp dword [0x43d564], ebx
mov esi, eax
jge 0x4200b0
mov eax, dword [0x441fa0]
mov dword [0x43d564], eax
call fcn.0041c4b1
test eax, eax
je 0x4200e2
push 3
push dword [0x43d564]
push 0x80
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilityVpnSharedMem.cpp
call fcn.0041c4e1
push str.The_share_memory_version_is_5.0__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push edi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret