Function at 0x46f040
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53ea74
mov eax, dword fs:[0]
push eax
sub esp, 0x1c4
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
mov dword [ebp - 0x1a0], esi
sub esp, 0x18
xor edi, edi
mov ecx, esp
mov dword [ebp - 0x18c], edi
mov dword [ebp - 0x194], esp
xor eax, eax
push 4
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], 7
push str.PATH
mov word [ecx], ax
call fcn.004040c0
sub esp, 0x18
mov dword [ebp - 4], edi
mov ecx, esp
xor eax, eax
push 0x1d
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], 7
push str.SOFTWAREASUSAsusFanService_
mov word [ecx], ax
call fcn.004040c0
lea eax, [ebp - 0x130]
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 - 0x194], esp
xor eax, eax
push 7
mov dword [ecx + 0x10], edi
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 0x1d
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], 7
push str.SOFTWAREASUSAsusFanService_
mov word [ecx], ax
call fcn.004040c0
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 1
push eax
mov ecx, esi
call fcn.0046ddf0
cmp dword [ebp - 0x134], 8
lea ecx, [ebp - 0x148]
mov eax, dword [ebp - 0x138]
lea edx, [ebp - 0x179]
cmovae ecx, dword [ebp - 0x148]
push edx
mov byte [ebp - 4], 3
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x148]
cmovae ecx, dword [ebp - 0x148]
push eax
push ecx
lea ecx, [ebp - 0x178]
call fcn.00409450
cmp dword [ebp - 0x11c], 8
lea ecx, [ebp - 0x130]
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 0x179]
cmovae ecx, dword [ebp - 0x130]
mov byte [ebp - 4], 4
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x130]
cmovae ecx, dword [ebp - 0x130]
push edx
push eax
push ecx
lea ecx, [ebp - 0x160]
call fcn.00409450
mov byte [ebp - 4], 5
cmp dword [ebp - 0x150], edi
je 0x46f224
cmp dword [ebp - 0x14c], 0x10
lea eax, [ebp - 0x160]
mov dword [ebp - 0x1ac], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
cmovae eax, dword [ebp - 0x160]
push eax
push str._check_regsiter_FanControlService_path_:__s
sub esp, 0xc
mov dword [ebp - 0x1a8], 0x1f7
movq xmm0, qword [ebp - 0x1ac]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkFanServiceVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
cmp dword [ebp - 0x168], 0
je 0x46f283
cmp dword [ebp - 0x164], 0x10
lea eax, [ebp - 0x178]
mov dword [ebp - 0x1ac], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
cmovae eax, dword [ebp - 0x178]
push eax
push str._check_regsiter_FanControlService_version_:__s
sub esp, 0xc
mov dword [ebp - 0x1a8], 0x1f9
movq xmm0, qword [ebp - 0x1ac]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkFanServiceVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
mov esi, 0x58e4d8
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x19c], esi
nop dword [eax + eax]
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x40]
mov word [ebp - 0x40], ax
or edi, 1
mov eax, dword [ebp - 0x120]
add eax, dword [esi]
push eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x18c], edi
call fcn.004100e0
cmp dword [ebp - 0x11c], 8
lea eax, [ebp - 0x130]
push dword [ebp - 0x120]
cmovae eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x40]
push eax
call fcn.00403f40
cmp dword [esi + 4], 8
lea eax, [esi - 0x10]
jb 0x46f30e
mov eax, dword [eax]
push dword [esi]
lea ecx, [ebp - 0x40]
push eax
call fcn.00403f40
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x46f353
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46f349
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fd93
push edx
push ecx
call fcn.004f8f7d
add esp, 8
movups xmm1, xmmword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x58]
movq xmm0, qword [ebp - 0x30]
and edi, 0xfffffffe
cmp dword [ebp - 0x2c], 8
movd ecx, xmm1
movups xmmword [ebp - 0x58], xmm1
mov dword [ebp - 0x194], edi
cmovae edx, ecx
movq qword [ebp - 0x48], xmm0
mov byte [ebp - 4], 6
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
lea esi, [edx + eax*2]
mov byte [ebp - 0x28], 0
lea edx, [ebp - 0x58]
mov eax, esi
cmovae edx, ecx
sub eax, edx
mov dword [ebp - 0x190], edx
sar eax, 1
cmp eax, 0xf
jbe 0x46f3fd
cmp eax, 0x7fffffff
ja 0x46fd8e
mov edi, eax
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x46f3ce
mov edi, SysReAllocString
jmp 0x46f3d9
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 - 0x190]
mov dword [ebp - 0x14], edi
mov byte [eax], cl
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0
push dword [ebp - 0x1a0]
lea ecx, [ebp - 0x28]
push esi
push edx
call fcn.00409650
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 8
cmovae eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x46f4e6
cmp dword [ebp - 0x18], eax
je 0x46f47d
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov dword [ebp - 0x1d0], 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 - 0x1cc], 0x203
movq xmm0, qword [ebp - 0x1d0]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkFanServiceVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
lea eax, [ebp - 0x1b4]
push eax
call fcn.0047e820
mov esi, dword [ebp - 0x1b0]
add esp, 4
mov edi, dword [eax]
test esi, esi
je 0x46f4b9
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46f4b9
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46f4b9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test edi, edi
je 0x46f5be
lea eax, [ebp - 0x1bc]
push eax
call fcn.0047e820
add esp, 4
mov ecx, dword [eax]
mov byte [ebp - 4], 9
call fcn.0047f390
mov esi, dword [ebp - 0x1b8]
jmp 0x46f599
cmp dword [ebp - 0x18], 0
je 0x46f539
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov dword [ebp - 0x188], 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 - 0x184], 0x209
movq xmm0, qword [ebp - 0x188]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkFanServiceVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
lea eax, [ebp - 0x1c4]
push eax
call fcn.0047e820
mov esi, dword [ebp - 0x1c0]
add esp, 4
mov edi, dword [eax]
test esi, esi
je 0x46f575
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46f575
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46f575
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test edi, edi
je 0x46f5be
lea eax, [ebp - 0x1a8]
push eax
call fcn.0047e820
add esp, 4
mov ecx, dword [eax]
mov byte [ebp - 4], 0xa
call fcn.0047f390
mov esi, dword [ebp - 0x1a4]
test esi, esi
je 0x46f5be
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x46f5be
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x46f5be
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x46f5f6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46f5ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fd93
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 5
cmp edx, 8
jb 0x46f646
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46f63c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fd93
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov eax, dword [ebp - 0x198]
mov esi, dword [ebp - 0x19c]
add eax, 0x18
add esi, 0x18
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x19c], esi
cmp eax, 0x240
jae 0x46f676
mov edi, dword [ebp - 0x194]
jmp 0x46f2a0
mov ecx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x40]
push eax
call fcn.0046d7e0
push str.FanCalibrationData.xml
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0045ea40
add esp, 0xc
cmp dword [ebp - 0x104], 8
lea ecx, [ebp - 0x118]
mov eax, dword [ebp - 0x108]
lea edx, [ebp - 0x179]
cmovae ecx, dword [ebp - 0x118]
push edx
mov byte [ebp - 4], 0xc
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x118]
cmovae ecx, dword [ebp - 0x118]
push eax
push ecx
lea ecx, [ebp - 0x100]
call fcn.00409450
cmp dword [ebp - 0x104], 8
lea eax, [ebp - 0x118]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x118]
push eax
mov byte [ebp - 4], 0xd
call edi
test eax, eax
jne 0x46f73a
cmp dword [ebp - 0xf0], eax
je 0x46f799
cmp dword [ebp - 0xec], 0x10
lea eax, [ebp - 0x100]
mov dword [ebp - 0x184], 0x216
cmovae eax, dword [ebp - 0x100]
push eax
push str._X__tFAIL_:_NOT_find__s
jmp 0x46f767
cmp dword [ebp - 0xf0], 0
je 0x46f799
cmp dword [ebp - 0xec], 0x10
lea eax, [ebp - 0x100]
mov dword [ebp - 0x184], 0x21b
cmovae eax, dword [ebp - 0x100]
push eax
push str._O__tPASS_:_____find__s
sub esp, 0xc
mov dword [ebp - 0x188], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
movq xmm0, qword [ebp - 0x188]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkFanServiceVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
push str.ProfilesSilent__ASUS_.xml
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0045ea40
add esp, 0xc
cmp dword [ebp - 0xd4], 8
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x179]
cmovae ecx, dword [ebp - 0xe8]
push edx
mov byte [ebp - 4], 0xe
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0xe8]
cmovae ecx, dword [ebp - 0xe8]
push eax
push ecx
lea ecx, [ebp - 0xd0]
call fcn.00409450
cmp dword [ebp - 0xd4], 8
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0xf
cmovae eax, dword [ebp - 0xe8]
push eax
call edi
test eax, eax
jne 0x46f844
cmp dword [ebp - 0xc0], eax
je 0x46f8a3
cmp dword [ebp - 0xbc], 0x10
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x184], 0x223
cmovae eax, dword [ebp - 0xd0]
push eax
push str._X__tFAIL_:_NOT_find__s
jmp 0x46f871
cmp dword [ebp - 0xc0], 0
je 0x46f8a3
cmp dword [ebp - 0xbc], 0x10
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x184], 0x228
cmovae eax, dword [ebp - 0xd0]
push eax
push str._O__tPASS_:_____find__s
sub esp, 0xc
mov dword [ebp - 0x188], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
movq xmm0, qword [ebp - 0x188]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkFanServiceVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
push str.ProfilesStandard__ASUS_.xml
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0045ea40
add esp, 0xc
cmp dword [ebp - 0xa4], 8
lea ecx, [ebp - 0xb8]
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0x179]
cmovae ecx, dword [ebp - 0xb8]
push edx
mov byte [ebp - 4], 0x10
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0xb8]
cmovae ecx, dword [ebp - 0xb8]
push eax
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00409450
cmp dword [ebp - 0xa4], 8
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x11
cmovae eax, dword [ebp - 0xb8]
push eax
call edi
test eax, eax
jne 0x46f94e
cmp dword [ebp - 0x90], eax
je 0x46f9ad
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x184], 0x230
cmovae eax, dword [ebp - 0xa0]
push eax
push str._X__tFAIL_:_NOT_find__s
jmp 0x46f97b
cmp dword [ebp - 0x90], 0
je 0x46f9ad
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x184], 0x235
cmovae eax, dword [ebp - 0xa0]
push eax
push str._O__tPASS_:_____find__s
sub esp, 0xc
mov dword [ebp - 0x188], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
movq xmm0, qword [ebp - 0x188]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkFanServiceVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
push str.ProfilesTurbo__ASUS_.xml
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0045ea40
add esp, 0xc
cmp dword [ebp - 0x74], 8
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x179]
cmovae ecx, dword [ebp - 0x88]
push edx
mov byte [ebp - 4], 0x12
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x88]
push eax
push ecx
lea ecx, [ebp - 0x70]
call fcn.00409450
cmp dword [ebp - 0x74], 8
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x13
cmovae eax, dword [ebp - 0x88]
push eax
call edi
test eax, eax
jne 0x46fa3c
cmp dword [ebp - 0x60], eax
je 0x46fa8f
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
mov dword [ebp - 0x184], 0x23d
cmovae eax, dword [ebp - 0x70]
push eax
push str._X__tFAIL_:_NOT_find__s
jmp 0x46fa5d
cmp dword [ebp - 0x60], 0
je 0x46fa8f
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
mov dword [ebp - 0x184], 0x242
cmovae eax, dword [ebp - 0x70]
push eax
push str._O__tPASS_:_____find__s
sub esp, 0xc
mov dword [ebp - 0x188], str.d:jenkinsworkspace_asusfancontrolservice_asusfancontrolservice_spdlogger.cpp
movq xmm0, qword [ebp - 0x188]
mov eax, esp
push 2
movq qword [eax], xmm0
mov dword [eax + 8], str.SpdLogger::checkFanServiceVersion
call fcn.0046dbc0
push eax
call fcn.00471a00
add esp, 0x1c
mov edx, dword [ebp - 0x5c]
cmp edx, 0x10
jb 0x46fac3
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46fab9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fd93
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp edx, 8
jb 0x46fb12
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46fb08
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fd98
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov edx, dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
cmp edx, 0x10
jb 0x46fb63
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46fb59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fd9d
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, 8
jb 0x46fbbe
mov ecx, dword [ebp - 0xb8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46fbb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fda2
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov edx, dword [ebp - 0xbc]
xor eax, eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
cmp edx, 0x10
jb 0x46fc15
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46fc0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fda7
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
cmp edx, 8
jb 0x46fc70
mov ecx, dword [ebp - 0xe8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46fc66
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fdac
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov edx, dword [ebp - 0xec]
xor eax, eax
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 7
mov word [ebp - 0xe8], ax
cmp edx, 0x10
jb 0x46fcc7
mov ecx, dword [ebp - 0x100]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46fcbd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fdb1
push edx
push ecx
call fcn.004f8f7d
add esp, 8
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
cmp edx, 8
jb 0x46fd22
mov ecx, dword [ebp - 0x118]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46fd18
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46fdb6
push edx
push ecx
call fcn.004f8f7d
add esp, 8
xor eax, eax
mov dword [ebp - 0x108], 0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x104], 7
mov word [ebp - 0x118], ax
call fcn.00403b60
lea ecx, [ebp - 0x160]
call fcn.00404a80
lea ecx, [ebp - 0x178]
call fcn.00404a80
lea ecx, [ebp - 0x148]
call fcn.00403b60
lea ecx, [ebp - 0x130]
call fcn.00403b60
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
call fcn.00514793
call fcn.00514793
call fcn.00514793
int3