Function at 0x4072d0
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40d140
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x412024]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.004014d0
mov ecx, eax
test ecx, ecx
je 0x407604
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_Control
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0
call fcn.00404c10
test al, al
jne 0x407337
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_Control
lea ecx, [ebp - 0x14]
call fcn.00404d30
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
sete bl
or edi, 0xffffffff
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x407368
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
test bl, bl
je 0x407379
push 0
push 0x40e958
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
call fcn.004014d0
mov ecx, eax
test ecx, ecx
je 0x40760e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_ControlOD_Result.txt
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 1
call fcn.00404c10
test al, al
jne 0x4073b8
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_ControlOD_Result.txt
lea ecx, [ebp - 0x14]
call fcn.00404d30
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
mov eax, edi
sete bl
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4073e6
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004014d0
mov ecx, eax
test bl, bl
je 0x40751c
test ecx, ecx
je 0x407618
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_ControlOD_Result.txt
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 2
call fcn.00404c10
test al, al
jne 0x40742d
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_ControlOD_Result.txt
lea ecx, [ebp - 0x14]
call fcn.00404d30
mov dword [ebp - 4], 3
call fcn.004014d0
mov ecx, eax
test ecx, ecx
je 0x407622
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push str._is_not_exist__create_it_and_set_default_value_1.
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 4
call fcn.00404c10
test al, al
jne 0x407470
push str._is_not_exist__create_it_and_set_default_value_1.
lea ecx, [ebp - 0x10]
call fcn.00404d30
push ecx
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 5
mov ecx, esp
lea edx, [ebp - 0x14]
push eax
call fcn.0040b230
add esp, 4
call fcn.00407170
mov byte [ebp - 4], 3
add esp, 4
mov edx, dword [ebp - 0x10]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4074ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x4074cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x40e9c8
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_ControlOD_Result.txt
push 0x412750
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
add esp, 0xc
push 0x40e9d4
push 0x40e9d0
push dword [0x412750]
call fcn.00401180
add esp, 0xc
push dword [0x412750]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x40762c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_ControlOD_Result.txt
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 6
call fcn.00404c10
test al, al
jne 0x407554
push str.C:UsersPublicRoamingASUSASUS_Smart_Display_ControlOD_Result.txt
lea ecx, [ebp - 0x10]
call fcn.00404d30
mov dword [ebp - 4], 7
call fcn.004014d0
mov ecx, eax
test ecx, ecx
je 0x407636
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push str._is_already_exist__ready_to_initial_the_OD_status.
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.00404c10
test al, al
jne 0x407597
push str._is_already_exist__ready_to_initial_the_OD_status.
lea ecx, [ebp - 0x14]
call fcn.00404d30
push ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 9
mov ecx, esp
lea edx, [ebp - 0x10]
push eax
call fcn.0040b230
add esp, 4
call fcn.00407170
mov byte [ebp - 4], 7
add esp, 4
mov edx, dword [ebp - 0x14]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4075d3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x4075f2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00401220
push 0x80004005
call fcn.00401220
push 0x80004005
call fcn.00401220
push 0x80004005
call fcn.00401220
push 0x80004005
call fcn.00401220
push 0x80004005
call fcn.00401220
int3