Function at 0x46f030
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53fbba
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x58fc74]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
sub esp, 0x18
mov dword [ebp - 0xe4], 0
mov ecx, esp
mov dword [ebp - 0xdc], esp
xor eax, eax
push 7
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push str.EXEPATH
mov word [ecx], ax
call fcn.004040c0
sub esp, 0x18
mov dword [ebp - 4], 0
mov ecx, esp
xor eax, eax
push 0x13
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push str.SOFTWAREASUSAXSP_
mov word [ecx], ax
call fcn.004040c0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
push eax
mov ecx, esi
call fcn.0046ea50
sub esp, 0x18
mov dword [ebp - 4], 1
mov ecx, esp
mov dword [ebp - 0xdc], esp
xor eax, eax
push 7
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push str.VERSION
mov word [ecx], ax
call fcn.004040c0
sub esp, 0x18
mov byte [ebp - 4], 2
mov ecx, esp
xor eax, eax
push 0x13
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push str.SOFTWAREASUSAXSP_
mov word [ecx], ax
call fcn.004040c0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 1
push eax
mov ecx, esi
call fcn.0046ea50
cmp dword [ebp - 0x74], 8
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0xd1]
cmovae ecx, dword [ebp - 0x88]
push edx
mov byte [ebp - 4], 3
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x88]
push eax
push ecx
lea ecx, [ebp - 0xb8]
call fcn.00409670
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0xd1]
cmovae ecx, dword [ebp - 0x40]
mov byte [ebp - 4], 4
push edx
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x40]
push eax
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00409670
cmp dword [ebp - 0x90], 0
mov byte [ebp - 4], 5
je 0x46f20a
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xf8], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
cmovae eax, dword [ebp - 0xa0]
push eax
push str._check_regsiter_atkexComSvc_path_:__s
sub esp, 0xc
mov dword [ebp - 0xf4], 0x1d0
movq xmm0, qword [ebp - 0xf8]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkAXSPVersion
call fcn.0046e790
push eax
call fcn.00472660
add esp, 0x1c
cmp dword [ebp - 0xa8], 0
je 0x46f269
cmp dword [ebp - 0xa4], 0x10
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xf8], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
cmovae eax, dword [ebp - 0xb8]
push eax
push str._check_regsiter_atkexComSvc_version_:__s
sub esp, 0xc
mov dword [ebp - 0xf4], 0x1d2
movq xmm0, qword [ebp - 0xf8]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkAXSPVersion
call fcn.0046e790
push eax
call fcn.00472660
add esp, 0x1c
lea eax, [ebp - 0xe0]
push eax
call fcn.0047f470
mov esi, dword [ebp - 0xdc]
add esp, 4
mov edi, dword [eax]
test esi, esi
je 0x46f2a5
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46f2a5
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46f2a5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test edi, edi
je 0x46f2f2
lea eax, [ebp - 0xe0]
push eax
call fcn.0047f470
add esp, 4
mov ecx, dword [eax]
mov byte [ebp - 4], 6
call fcn.0047ffe0
mov esi, dword [ebp - 0xdc]
mov byte [ebp - 4], 5
test esi, esi
je 0x46f2f2
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46f2f2
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46f2f2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push 0xf
xor eax, eax
mov dword [ebp - 0xc0], 0
push str.atkexComSvc.exe
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
call fcn.004040c0
mov eax, dword [ebp - 0x30]
xor edx, edx
mov ecx, eax
mov byte [ebp - 4], 7
sub ecx, dword [ebp - 0xc0]
cmp eax, ecx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
cmovb ecx, eax
mov word [ebp - 0x58], dx
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x58]
push eax
call fcn.004040c0
lea ecx, [ebp - 0x40]
mov edi, 1
call fcn.00403b60
movups xmm0, xmmword [ebp - 0x58]
mov esi, 0x58f3d0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xec], esi
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x30], xmm0
nop dword [eax]
nop word [eax + eax]
xor eax, eax
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x58]
mov word [ebp - 0x58], ax
or edi, 2
mov eax, dword [ebp - 0x30]
add eax, dword [esi]
push eax
mov byte [ebp - 4], 9
mov dword [ebp - 0x44], 7
mov dword [ebp - 0xe4], edi
call fcn.00410300
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x58]
push eax
call fcn.00403f40
cmp dword [esi + 4], 8
lea eax, [esi - 0x10]
jb 0x46f405
mov eax, dword [eax]
push dword [esi]
lea ecx, [ebp - 0x58]
push eax
call fcn.00403f40
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x46f44a
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46f440
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46f904
push edx
push ecx
call fcn.004fa19d
add esp, 8
movups xmm1, xmmword [ebp - 0x58]
cmp dword [ebp - 0x44], 8
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0xd8]
movq xmm0, qword [ebp - 0x48]
movd ecx, xmm1
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x48]
cmovae edx, ecx
movq qword [ebp - 0x60], xmm0
movups xmmword [ebp - 0x70], xmm1
mov byte [ebp - 4], 8
mov dword [ebp - 0x18], 0
lea esi, [edx + eax*2]
mov dword [ebp - 0x14], 0xf
lea edx, [ebp - 0x70]
mov byte [ebp - 0x28], 0
cmovae edx, ecx
mov eax, esi
sub eax, edx
mov dword [ebp - 0xe4], edx
sar eax, 1
cmp eax, 0xf
jbe 0x46f4f7
cmp eax, 0x7fffffff
ja 0x46f8ff
mov edi, eax
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x46f4c8
mov edi, SysReAllocString
jmp 0x46f4d3
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.00404d10
mov cl, byte [ebp - 0x28]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x14], edi
mov byte [eax], cl
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0
push dword [ebp - 0xdc]
lea ecx, [ebp - 0x28]
push esi
push edx
call fcn.00409870
cmp dword [ebp - 0x5c], 8
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xa
cmovae eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x46f5e0
cmp dword [ebp - 0x18], eax
je 0x46f577
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov dword [ebp - 0x11c], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
cmovae eax, dword [ebp - 0x28]
push eax
push str._X__tFAIL_:_NOT_find__s
sub esp, 0xc
mov dword [ebp - 0x118], 0x1e2
movq xmm0, qword [ebp - 0x11c]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkAXSPVersion
call fcn.0046e790
push eax
call fcn.00472660
add esp, 0x1c
lea eax, [ebp - 0x100]
push eax
call fcn.0047f470
mov esi, dword [ebp - 0xfc]
add esp, 4
mov edi, dword [eax]
test esi, esi
je 0x46f5b3
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46f5b3
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46f5b3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test edi, edi
je 0x46f6b8
lea eax, [ebp - 0x108]
push eax
call fcn.0047f470
add esp, 4
mov ecx, dword [eax]
mov byte [ebp - 4], 0xb
call fcn.0047ffe0
mov esi, dword [ebp - 0x104]
jmp 0x46f693
cmp dword [ebp - 0x18], 0
je 0x46f633
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov dword [ebp - 0x128], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
cmovae eax, dword [ebp - 0x28]
push eax
push str._O__tPASS_:_____find__s
sub esp, 0xc
mov dword [ebp - 0x124], 0x1e8
movq xmm0, qword [ebp - 0x128]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkAXSPVersion
call fcn.0046e790
push eax
call fcn.00472660
add esp, 0x1c
lea eax, [ebp - 0x110]
push eax
call fcn.0047f470
mov esi, dword [ebp - 0x10c]
add esp, 4
mov edi, dword [eax]
test esi, esi
je 0x46f66f
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46f66f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46f66f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test edi, edi
je 0x46f6b8
lea eax, [ebp - 0xf4]
push eax
call fcn.0047f470
add esp, 4
mov ecx, dword [eax]
mov byte [ebp - 4], 0xc
call fcn.0047ffe0
mov esi, dword [ebp - 0xf0]
test esi, esi
je 0x46f6b8
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46f6b8
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46f6b8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x46f6f0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46f6e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46f904
push edx
push ecx
call fcn.004fa19d
add esp, 8
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 7
cmp edx, 8
jb 0x46f740
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46f736
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46f904
push edx
push ecx
call fcn.004fa19d
add esp, 8
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xec]
add eax, 0x18
add esi, 0x18
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xec], esi
cmp eax, 0x108
jae 0x46f770
mov edi, dword [ebp - 0xdc]
jmp 0x46f3a0
mov edx, dword [ebp - 0xbc]
cmp edx, 8
jb 0x46f7b0
mov ecx, dword [ebp - 0xd0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46f7a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46f904
push edx
push ecx
call fcn.004fa19d
add esp, 8
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x46f7ea
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46f7e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46f909
push edx
push ecx
call fcn.004fa19d
add esp, 8
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x46f83f
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46f835
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46f90e
push edx
push ecx
call fcn.004fa19d
add esp, 8
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp edx, 8
jb 0x46f897
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46f88d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46f913
push edx
push ecx
call fcn.004fa19d
add esp, 8
mov edx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
cmp edx, 8
jb 0x46f8e4
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46f8da
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46f918
push edx
push ecx
call fcn.004fa19d
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004fa15c
mov esp, ebp
pop ebp
ret
call fcn.00403ec0
call fcn.005159b3
call fcn.005159b3
call fcn.005159b3
call fcn.005159b3
call fcn.005159b3
int3