Function at 0x46e3d0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53e91a
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x58ec74]
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.0046ddf0
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.0046ddf0
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.00409450
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.00409450
cmp dword [ebp - 0x90], 0
mov byte [ebp - 4], 5
je 0x46e5aa
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], 0x1b7
movq xmm0, qword [ebp - 0xf8]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkAXSPVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
cmp dword [ebp - 0xa8], 0
je 0x46e609
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], 0x1b9
movq xmm0, qword [ebp - 0xf8]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkAXSPVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
lea eax, [ebp - 0xe0]
push eax
call fcn.0047e820
mov esi, dword [ebp - 0xdc]
add esp, 4
mov edi, dword [eax]
test esi, esi
je 0x46e645
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46e645
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46e645
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test edi, edi
je 0x46e692
lea eax, [ebp - 0xe0]
push eax
call fcn.0047e820
add esp, 4
mov ecx, dword [eax]
mov byte [ebp - 4], 6
call fcn.0047f390
mov esi, dword [ebp - 0xdc]
mov byte [ebp - 4], 5
test esi, esi
je 0x46e692
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46e692
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46e692
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, 0x58e3d0
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.004100e0
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 0x46e7a5
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 0x46e7ea
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46e7e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46eca4
push edx
push ecx
call fcn.004f8f7d
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 0x46e897
cmp eax, 0x7fffffff
ja 0x46ec9f
mov edi, eax
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x46e868
mov edi, SysReAllocString
jmp 0x46e873
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.00409650
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 0x46e980
cmp dword [ebp - 0x18], eax
je 0x46e917
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], 0x1c9
movq xmm0, qword [ebp - 0x11c]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkAXSPVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
lea eax, [ebp - 0x100]
push eax
call fcn.0047e820
mov esi, dword [ebp - 0xfc]
add esp, 4
mov edi, dword [eax]
test esi, esi
je 0x46e953
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46e953
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46e953
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test edi, edi
je 0x46ea58
lea eax, [ebp - 0x108]
push eax
call fcn.0047e820
add esp, 4
mov ecx, dword [eax]
mov byte [ebp - 4], 0xb
call fcn.0047f390
mov esi, dword [ebp - 0x104]
jmp 0x46ea33
cmp dword [ebp - 0x18], 0
je 0x46e9d3
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], 0x1cf
movq xmm0, qword [ebp - 0x128]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkAXSPVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
lea eax, [ebp - 0x110]
push eax
call fcn.0047e820
mov esi, dword [ebp - 0x10c]
add esp, 4
mov edi, dword [eax]
test esi, esi
je 0x46ea0f
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46ea0f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46ea0f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test edi, edi
je 0x46ea58
lea eax, [ebp - 0xf4]
push eax
call fcn.0047e820
add esp, 4
mov ecx, dword [eax]
mov byte [ebp - 4], 0xc
call fcn.0047f390
mov esi, dword [ebp - 0xf0]
test esi, esi
je 0x46ea58
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46ea58
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46ea58
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 0x46ea90
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46ea86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46eca4
push edx
push ecx
call fcn.004f8f7d
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 0x46eae0
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46ead6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46eca4
push edx
push ecx
call fcn.004f8f7d
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 0x46eb10
mov edi, dword [ebp - 0xdc]
jmp 0x46e740
mov edx, dword [ebp - 0xbc]
cmp edx, 8
jb 0x46eb50
mov ecx, dword [ebp - 0xd0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46eb46
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46eca4
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x46eb8a
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46eb80
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46eca9
push edx
push ecx
call fcn.004f8f7d
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 0x46ebdf
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46ebd5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ecae
push edx
push ecx
call fcn.004f8f7d
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 0x46ec37
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46ec2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ecb3
push edx
push ecx
call fcn.004f8f7d
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 0x46ec84
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46ec7a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ecb8
push edx
push ecx
call fcn.004f8f7d
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.004f8f3c
mov esp, ebp
pop ebp
ret
call fcn.00403ec0
call fcn.00514793
call fcn.00514793
call fcn.00514793
call fcn.00514793
call fcn.00514793
int3