Function at 0x4c4999
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
sub esp, 0x34c
lea ebp, [esp - 4]
mov eax, dword [0x61dc40]
xor eax, ebp
mov dword [ebp + 0x34c], eax
push 0x48
mov eax, 0x5be6d7
call fcn.00598f5e
mov eax, dword [ebp + 0x358]
mov dword [ebp - 0x1c], eax
xor ebx, ebx
xor eax, eax
push 0x206
mov word [ebp + 0xc0], ax
lea eax, [ebp + 0xc2]
push ebx
push eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], ebx
call fcn.00596530
add esp, 0xc
push str.ttslist.dat
call fcn.004040a8
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
lea eax, [ebp + 0xc0]
push eax
call esi
lea eax, [ebp + 0xc0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4c4a2e
push str.gwdlist.dat
call fcn.004040a8
push eax
lea eax, [ebp + 0xc0]
push eax
call esi
lea eax, [ebp + 0xc0]
push eax
lea esi, [ebp - 0x20]
lea edi, [ebp - 0x2c]
call fcn.00418d13
pop ecx
test eax, eax
je 0x4c4e83
lea eax, [ebp + 0x90]
mov dword [ebp - 4], ebx
push eax
xor ebx, ebx
call fcn.0054af1d
lea eax, [ebp]
push eax
mov byte [ebp - 4], 1
call fcn.00548b11
mov byte [ebp - 4], 2
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x54]
call fcn.004050c6
lea eax, [ebp + 0x90]
push eax
lea eax, [ebp - 0x54]
push eax
lea ebx, [ebp]
mov byte [ebp - 4], 3
call fcn.00548b5a
push 0
push 1
lea ecx, [ebp - 0x54]
mov bl, al
mov byte [ebp - 4], 2
call fcn.00407567
test bl, bl
je 0x4c4e63
cmp byte [ebp + 0x98], 0
je 0x4c4e63
lea eax, [ebp + 0x90]
call fcn.0054bd37
test al, al
je 0x4c4e63
mov edx, 0x5e6520
lea ecx, [ebp + 0x90]
call fcn.0054b949
mov edi, eax
cmp byte [edi + 8], 0
je 0x4c4e63
call fcn.0054bd37
test al, al
je 0x4c4e63
mov edx, str.switch
mov ecx, edi
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 1
jne 0x4c4e63
mov ecx, esi
call fcn.0054b340
test eax, eax
je 0x4c4e63
mov ecx, esi
call fcn.0054b340
test eax, eax
je 0x4c4e63
mov edx, str.flagname
mov ecx, edi
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 4
jne 0x4c4b3f
cmp dword [esi], 0
jne 0x4c4b51
mov edx, str.gwdflagname
mov ecx, edi
call fcn.0054b949
push eax
call fcn.0054b224
cmp byte [esi + 8], 4
jne 0x4c4e63
mov esi, dword [esi]
test esi, esi
je 0x4c4e63
push esi
lea ebx, [ebp - 0x18]
call fcn.0047f402
pop ecx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
je 0x4c4e5b
push eax
push 0x5db9e0
push 0x103
push 0x6ca2f8
call fcn.0058f42f
add esp, 0x10
mov edx, str.sites
lea ecx, [ebp + 0x90]
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
je 0x4c4e58
call fcn.0054bd25
test al, al
je 0x4c4e58
xor edi, edi
mov eax, esi
call fcn.0054b6cc
cmp edi, eax
jae 0x4c4c26
push edi
mov ecx, esi
call fcn.0054b71c
mov cl, byte [eax + 8]
test cl, cl
je 0x4c4c23
cmp cl, 4
jne 0x4c4c23
mov eax, dword [eax]
test eax, eax
je 0x4c4c23
push eax
lea ebx, [ebp - 0x14]
call fcn.0047f402
pop ecx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
jne 0x4c4c05
mov byte [ebp - 4], 4
jmp 0x4c4c1b
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x1c]
add eax, 0x10
call fcn.004402ba
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.00407b6b
inc edi
jmp 0x4c4bc3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x1c]
sar ecx, 2
test ecx, ecx
jbe 0x4c4e58
mov edx, str.codetxt
lea ecx, [ebp + 0x90]
call fcn.0054b949
mov esi, eax
mov al, byte [esi + 8]
test al, al
je 0x4c4d9a
cmp al, 4
jne 0x4c4d9a
cmp dword [esi], 0
je 0x4c4d9a
mov eax, dword [0x63696c]
mov ecx, 0x63696c
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 6
push dword [esi]
lea ebx, [ebp - 0x28]
call fcn.0047f402
pop ecx
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 7
push dword [ebp - 0x28]
call fcn.00426d4b
pop ecx
pop ecx
test eax, eax
je 0x4c4d80
mov esi, dword [ebp - 0x1c]
push esi
lea eax, [ebp - 0x20]
push eax
call fcn.0041874a
xor eax, eax
mov edi, 0x80
push edi
mov byte [ebp - 4], 8
push eax
mov word [ebp + 0x2c8], ax
lea eax, [ebp + 0x2ca]
push eax
call fcn.00596530
add esp, 0xc
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x2c8]
push eax
lea eax, [ebp - 0x30]
push eax
push 0x5df64c
push str.Softwarehao123JuziBrowser
push 0x80000001
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x38], edi
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea eax, [ebp + 0x2c8]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040be27
push str.:juzi
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 9
call fcn.0041891d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 0xc]
push 0x40
push eax
lea ebx, [ebp + 0x2c8]
call fcn.0046fd60
mov eax, ebx
push eax
push dword [ebp - 0x20]
mov ecx, 0x824
mov edi, 0x6c9230
call fcn.00405374
mov eax, dword [ebp - 0x14]
add esp, 0x10
add eax, 0xfffffff0
mov dword [ebp - 0x24], 1
call fcn.00407b6b
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.00407b6b
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
call fcn.00407b6b
lea eax, [esi - 0x10]
jmp 0x4c4e53
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
call fcn.00407b6b
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.00407b6b
mov edx, str.gwdcodeurl
lea ecx, [ebp + 0x90]
call fcn.0054b949
mov cl, byte [eax + 8]
test cl, cl
je 0x4c4e58
cmp cl, 4
jne 0x4c4e58
mov eax, dword [eax]
test eax, eax
je 0x4c4e58
push eax
lea ebx, [ebp - 0x34]
call fcn.0047f402
pop ecx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x34]
cmp dword [eax - 0xc], 0
je 0x4c4e50
push eax
mov edi, 0x5db9e0
push edi
push 0x823
push 0x6c9230
call fcn.0058f42f
add esp, 0x10
mov edx, str.gwdcodecharset
lea ecx, [ebp + 0x90]
call fcn.0054b949
mov cl, byte [eax + 8]
test cl, cl
je 0x4c4e46
cmp cl, 4
jne 0x4c4e46
mov eax, dword [eax]
test eax, eax
je 0x4c4e46
push eax
lea ebx, [ebp - 0x30]
call fcn.0047f402
mov esi, dword [ebp - 0x30]
cmp dword [esi - 0xc], 0
pop ecx
je 0x4c4e3e
push esi
push edi
push 0x3f
push 0x6ca278
call fcn.0058f42f
add esp, 0x10
lea eax, [esi - 0x10]
call fcn.00407b6b
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], 1
add eax, 0xfffffff0
call fcn.00407b6b
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.00407b6b
lea eax, [ebp]
call fcn.0040b0d5
lea ecx, [ebp + 0x90]
mov byte [ebp - 4], 0
call fcn.0054b1a0
push dword [ebp - 0x2c]
call fcn.0058f807
pop ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x34c]
xor ecx, ebp
call fcn.0058f3cf
add ebp, 0x350
leave
ret 4