Function at 0x4452b0
Capabilities:
Get common file path
Read .ini file

Disassembly:
sub esp, 0xc3c
push ebx
push ebp
push esi
mov ebp, ecx
push edi
xor esi, esi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x226]
mov word [esp + 0x224], si
rep stosd dword es:[edi], eax
push str.GuardConfig.ini
mov ecx, 0x514ff8
stosw word es:[edi], ax
call fcn.00407c50
push eax
push str._sdata_s
lea eax, [esp + 0x230]
push 0x103
push eax
call dword [sym.imp.MSVCRT.dll__snwprintf]
lea ecx, [esp + 0x238]
push esi
push ecx
call fcn.00432970
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0x1c
test eax, eax
je 0x4454a9
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x636]
mov word [esp + 0x634], si
rep stosd dword es:[edi], eax
lea edx, [esp + 0x224]
stosw word es:[edi], ax
push edx
lea eax, [esp + 0x638]
push 0x104
push eax
push 0x514ff0
push str.LastGetRateTime
push str.freeze
call ebx
lea ecx, [esp + 0x634]
push ecx
call dword [sym.imp.MSVCRT.dll__wtoi64]
add esp, 4
lea edx, [esp + 0x224]
mov edi, eax
push edx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push str.HourDuration
push str.freeze
call esi
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x18], 0
call dword [sym.imp.MSVCRT.dll_time]
mov eax, dword [esp + 0x18]
add esp, 4
sub eax, edi
js 0x4454a9
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*8]
shl ecx, 4
cmp eax, ecx
jg 0x4454a9
lea edx, [esp + 0x224]
mov dword [0x5e98ac], 1
push edx
push 0
push str.UploadPercent
push str.freeze
call esi
mov dword [0x5e98a0], eax
lea eax, [esp + 0x224]
push eax
push 5
push str.HeartInterval
push str.freeze
call esi
lea ecx, [esp + 0x224]
mov dword [0x506330], eax
push ecx
push 0
push str.UploadMiddleDump
push str.freeze
call esi
lea edx, [esp + 0x224]
mov dword [0x5e98b0], eax
push edx
push 0x12c
push str.MaxCheckingTime
push str.freeze
call esi
mov dword [0x506338], eax
lea eax, [esp + 0x224]
push eax
push 1
push str.InnerCheckInterval
push str.freeze
call esi
lea ecx, [esp + 0x224]
mov dword [0x506334], eax
push ecx
push 0
push str.StopCheck
push str.freeze
call esi
mov dword [0x5e98b4], eax
mov eax, dword [0x5e98a0]
cmp eax, 0x64
jle 0x445489
mov eax, 0x64
xor edx, edx
pop edi
test eax, eax
setl dl
dec edx
pop esi
and edx, eax
pop ebp
mov dword [0x5e98a0], edx
mov eax, 1
pop ebx
add esp, 0xc3c
ret
mov dx, word [0x514ff0]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x42e]
mov word [esp + 0x42c], dx
mov word [esp + 0x83c], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x83e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x83c]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [esp + 0x83c]
push eax
push ecx
push str._sSeFreeze_d.ini
lea edx, [esp + 0x438]
push 0x104
push edx
call dword [sym.imp.MSVCRT.dll__snwprintf]
lea esi, [ebp + 0x24]
add esp, 0x14
mov ecx, esi
call fcn.0041a5b0
lea edx, [esi + 0x5d4e0]
push str.http:__s.se.360.cn_update_se_guardconfig.ini
mov ecx, 0x412
xor eax, eax
mov edi, edx
push 0x4f6170
push 0x824
push edx
rep stosd dword es:[edi], eax
call dword [sym.imp.MSVCRT.dll__snwprintf]
lea edx, [esi + 0x5d0d0]
mov ecx, 0x82
xor eax, eax
mov edi, edx
add esp, 0x10
rep stosd dword es:[edi], eax
lea eax, [esp + 0x42c]
push eax
push 0x4f6170
push 0x104
push edx
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x10
mov dword [ebp + 0x2488], 1
mov ecx, esi
mov dword [ebp + 0x26c8], 0x2710
call fcn.0041a4e0
mov ecx, esi
call fcn.0041a8e0
xor esi, esi
lea ecx, [esp + 0x42c]
push esi
push ecx
call fcn.00432970
add esp, 8
test eax, eax
jne 0x4455cc
mov dword [0x5e98ac], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc3c
ret
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x1e]
mov word [esp + 0x1c], si
rep stosd dword es:[edi], eax
lea edx, [esp + 0x42c]
stosw word es:[edi], ax
push edx
lea eax, [esp + 0x20]
push 0x104
push eax
push 0x514ff0
push str.UploadPercent
push str.freeze
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [esp + 0x224]
lea edx, [esp + 0x1c]
push ecx
push edx
push str.UploadPercent
push str.freeze
call esi
mov ebp, dword [sym.imp.MSVCRT.dll__wtoi]
lea eax, [esp + 0x1c]
push eax
call ebp
mov dword [0x5e98a0], eax
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
add esp, 4
lea ecx, [esp + 0x42c]
lea edx, [esp + 0x1c]
push ecx
push 0x104
push edx
push 0x514ff0
push str.HourDuration
push str.freeze
call ebx
lea eax, [esp + 0x224]
lea ecx, [esp + 0x1c]
push eax
push ecx
push str.HourDuration
push str.freeze
call esi
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x1c]
lea edx, [esp + 0x42c]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x20]
push 0x104
push eax
push 0x514ff0
push str.HeartInterval
push str.freeze
call ebx
lea ecx, [esp + 0x224]
lea edx, [esp + 0x1c]
push ecx
push edx
push str.HeartInterval
push str.freeze
call esi
lea eax, [esp + 0x1c]
push eax
call ebp
add esp, 4
mov dword [0x506330], eax
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x42c]
push ecx
push 0x104
lea edx, [esp + 0x24]
push edx
push 0x514ff0
push str.UploadMiddleDump
push str.freeze
call ebx
lea eax, [esp + 0x224]
lea ecx, [esp + 0x1c]
push eax
push ecx
push str.UploadMiddleDump
push str.freeze
call esi
lea edx, [esp + 0x1c]
push edx
call ebp
mov dword [0x5e98b0], eax
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x20]
add esp, 4
rep stosd dword es:[edi], eax
lea eax, [esp + 0x42c]
lea ecx, [esp + 0x1c]
push eax
push 0x104
push ecx
push 0x514ff0
push str.MaxCheckingTime
push str.freeze
call ebx
lea edx, [esp + 0x224]
lea eax, [esp + 0x1c]
push edx
push eax
push str.MaxCheckingTime
push str.freeze
call esi
lea ecx, [esp + 0x1c]
push ecx
call ebp
mov dword [0x506338], eax
add esp, 4
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x1c]
lea edx, [esp + 0x42c]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x20]
push 0x104
push eax
push 0x514ff0
push str.InnerCheckInterval
push str.freeze
call ebx
lea ecx, [esp + 0x224]
lea edx, [esp + 0x1c]
push ecx
push edx
push str.InnerCheckInterval
push str.freeze
call esi
lea eax, [esp + 0x1c]
push eax
call ebp
mov dword [0x506334], eax
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
add esp, 4
lea ecx, [esp + 0x42c]
lea edx, [esp + 0x1c]
push ecx
push 0x104
push edx
push 0x514ff0
push str.StopCheck
push str.freeze
call ebx
lea eax, [esp + 0x224]
lea ecx, [esp + 0x1c]
push eax
push ecx
push str.StopCheck
push str.freeze
call esi
lea edx, [esp + 0x1c]
push edx
call ebp
mov dword [0x5e98b4], eax
xor edx, edx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xa4a]
mov word [esp + 0xa48], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edx
push eax
call dword [sym.imp.MSVCRT.dll_time]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xa4c]
cdq
push 0xa
push ecx
push edx
push eax
call dword [sym.imp.MSVCRT.dll__i64tow]
add esp, 0x18
lea edx, [esp + 0x224]
lea eax, [esp + 0xa44]
push edx
push eax
push str.LastGetRateTime
push str.freeze
call esi
pop edi
mov eax, 1
pop esi
pop ebp
mov dword [0x5e98ac], eax
pop ebx
add esp, 0xc3c
ret