Function at 0x10020cb0
Capabilities:
Check if file exists
Get common file path
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d9844
mov eax, dword fs:[0]
push eax
sub esp, 0x7d8
mov eax, dword [0x100fb074]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7e0], edx
mov ebx, ecx
mov dword [ebp - 0x7e4], ebx
mov eax, dword [ebp + 0x10]
push 0x104
mov dword [ebp - 0x7dc], eax
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x644]
push 0x104
push 0
push eax
call fcn.100b7060
add esp, 0xc
mov dword [ebp - 0x7c8], 0x104
lea ecx, [ebp - 0x7ac]
mov dword [ebp - 0x79c], 0
mov dword [ebp - 0x798], 0xf
mov byte [ebp - 0x7ac], 0
push 0x19
push str.Application360chrome.exe
call fcn.10001800
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x7c4]
push 0x1d
push str.User_DataDefaultPreferences
mov dword [ebp - 0x7b4], 0
mov dword [ebp - 0x7b0], 0xf
mov byte [ebp - 0x7c4], 0
call fcn.10001800
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x750], 0xf
mov byte [ebp - 0x764], 0
mov ecx, str.360chrome.exe
mov byte [ebp - 4], 2
call fcn.10009fd0
test eax, eax
je 0x10020dc3
mov edi, 0xfffffffe
jmp 0x10021b81
push ebx
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
call ebx
test eax, eax
jne 0x10020dd7
xor edi, edi
jmp 0x10021b81
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x644]
add esp, 0xc
push 0
push 0x1c
push eax
push 0
call edi
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
mov esi, dword [sym.imp.SHLWAPI.dll_SHGetValueA]
lea eax, [ebp - 0x7c8]
add esp, 0xc
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x7d0]
push eax
push 0x100e86f4
push str.360ChromeURL_shellopencommand
push 0x80000000
call esi
test eax, eax
jne 0x10021057
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020e55
sub ecx, edx
cmp ecx, 5
jb 0x10021057
push ecx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
cmp eax, 0xffffffff
je 0x10021057
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
push eax
push 0
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b6e0
push eax
lea ecx, [ebp - 0x764]
call fcn.1000a6a0
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x10020f06
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10020efc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c66
push edx
push ecx
call fcn.100b4813
add esp, 8
push 0
push 0x100e86f4
lea ecx, [ebp - 0x77c]
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x768], 0xf
mov byte [ebp - 0x77c], 0
call fcn.10001800
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x794]
push 1
push 0x100edc94
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0xf
mov byte [ebp - 0x794], 0
call fcn.10001800
lea eax, [ebp - 0x77c]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0x794]
lea ecx, [ebp - 0x764]
call fcn.1001b5c0
add esp, 4
lea ecx, [ebp - 0x764]
push eax
call fcn.1000e7a0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x780]
cmp edx, 0x10
jb 0x10020fcd
mov ecx, dword [ebp - 0x794]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10020fc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c6b
push edx
push ecx
call fcn.100b4813
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x1002100b
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10021001
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c70
push edx
push ecx
call fcn.100b4813
add esp, 8
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call ebx
test eax, eax
je 0x10021057
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360Chrome_path1___s_n
jmp 0x1002192c
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x7c8]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x7d0]
push eax
push 0x100e86f4
push str.SoftwareMicrosoftWindowsCurrentVersionApp_Paths360chrome.exe
push 0x80000001
call esi
test eax, eax
jne 0x100212a6
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100210a4
sub ecx, edx
cmp ecx, 5
jb 0x100212a6
push ecx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
cmp eax, 0xffffffff
je 0x100212a6
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
push eax
push 0
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b6e0
push eax
lea ecx, [ebp - 0x764]
call fcn.1000a6a0
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x10021155
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002114b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c75
push edx
push ecx
call fcn.100b4813
add esp, 8
push 0
push 0x100e86f4
lea ecx, [ebp - 0x794]
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0xf
mov byte [ebp - 0x794], 0
call fcn.10001800
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x77c]
push 1
push 0x100edc94
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x768], 0xf
mov byte [ebp - 0x77c], 0
call fcn.10001800
lea eax, [ebp - 0x794]
mov byte [ebp - 4], 6
push eax
lea edx, [ebp - 0x77c]
lea ecx, [ebp - 0x764]
call fcn.1001b5c0
add esp, 4
lea ecx, [ebp - 0x764]
push eax
call fcn.1000e7a0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x1002121c
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10021212
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c7a
push edx
push ecx
call fcn.100b4813
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x780]
cmp edx, 0x10
jb 0x1002125a
mov ecx, dword [ebp - 0x794]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10021250
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c7f
push edx
push ecx
call fcn.100b4813
add esp, 8
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call ebx
test eax, eax
je 0x100212a6
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360Chrome_path2___s_n
jmp 0x1002192c
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x7c8]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x7d0]
push eax
push str.DisplayIcon
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall360Chrome
push 0x80000001
call esi
test eax, eax
jne 0x100214f5
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100212f3
sub ecx, edx
cmp ecx, 5
jb 0x100214f5
push ecx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
cmp eax, 0xffffffff
je 0x100214f5
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
push eax
push 0
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b6e0
push eax
lea ecx, [ebp - 0x764]
call fcn.1000a6a0
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x100213a4
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002139a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c84
push edx
push ecx
call fcn.100b4813
add esp, 8
push 0
push 0x100e86f4
lea ecx, [ebp - 0x794]
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0xf
mov byte [ebp - 0x794], 0
call fcn.10001800
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x77c]
push 1
push 0x100edc94
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x768], 0xf
mov byte [ebp - 0x77c], 0
call fcn.10001800
lea eax, [ebp - 0x794]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x77c]
lea ecx, [ebp - 0x764]
call fcn.1001b5c0
add esp, 4
lea ecx, [ebp - 0x764]
push eax
call fcn.1000e7a0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x1002146b
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10021461
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c89
push edx
push ecx
call fcn.100b4813
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x780]
cmp edx, 0x10
jb 0x100214a9
mov ecx, dword [ebp - 0x794]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002149f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c8e
push edx
push ecx
call fcn.100b4813
add esp, 8
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call ebx
test eax, eax
je 0x100214f5
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360Chrome_path3___s_n
jmp 0x1002192c
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x11c]
push 0
push 0x1c
push eax
push 0
call edi
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10021523
sub ecx, edx
lea eax, [ebp - 0x11c]
push ecx
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push str.360ChromeChrome_
lea ecx, [ebp - 0x764]
call fcn.100015b0
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call ebx
test eax, eax
je 0x1002159b
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360Chrome_path4___s_n
jmp 0x1002192c
push 0x104
lea eax, [ebp - 0x74c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x224]
push 0x104
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x7d8]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x1002161e
lea eax, [ebp - 0x7d4]
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
js 0x10021612
lea eax, [ebp - 0x74c]
push eax
push dword [ebp - 0x7d4]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
mov eax, dword [ebp - 0x7d8]
push dword [ebp - 0x7d4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x7d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
xor ecx, ecx
mov al, byte [ebp + ecx - 0x74c]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x225], al
test al, al
jne 0x10021620
lea ecx, [ebp - 0x224]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10021640
mov eax, dword [0x100ee4b4]
mov dword [ecx], eax
mov eax, dword [0x100ee4b8]
mov dword [ecx + 4], eax
mov eax, dword [0x100ee4bc]
mov dword [ecx + 8], eax
mov eax, dword [0x100ee4c0]
mov dword [ecx + 0xc], eax
mov ax, word [0x100ee4c4]
mov word [ecx + 0x10], ax
mov al, byte [0x100ee4c6]
mov byte [ecx + 0x12], al
lea eax, [ebp - 0x224]
push eax
call ebx
test eax, eax
je 0x10021b7e
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
lea ecx, [ebp - 0x224]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100216b0
push 0
push 0
sub ecx, edx
lea eax, [ebp - 0x224]
push ecx
push eax
push 0
push 0
mov dword [ebp - 0x7cc], ecx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
lea esi, [edi*2 + 2]
push esi
call fcn.100bd8fa
add esp, 4
mov ebx, eax
push esi
push 0
push ebx
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x224]
push edi
push ebx
push dword [ebp - 0x7cc]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor eax, eax
lea edx, [ebp - 0x11c]
mov ecx, ebx
mov word [ebx + edi*2], ax
call fcn.1001b630
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10021730
sub ecx, edx
lea eax, [ebp - 0x11c]
push ecx
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
cmp eax, 0xffffffff
je 0x10021b7e
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
push eax
push 0
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b6e0
push eax
lea ecx, [ebp - 0x764]
call fcn.1000a6a0
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x100217d8
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100217ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c93
push edx
push ecx
call fcn.100b4813
add esp, 8
push 0
push 0x100e86f4
lea ecx, [ebp - 0x794]
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0xf
mov byte [ebp - 0x794], 0
call fcn.10001800
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x77c]
push 1
push 0x100edc94
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x768], 0xf
mov byte [ebp - 0x77c], 0
call fcn.10001800
lea eax, [ebp - 0x794]
mov byte [ebp - 4], 0xa
push eax
lea edx, [ebp - 0x77c]
lea ecx, [ebp - 0x764]
call fcn.1001b5c0
add esp, 4
lea ecx, [ebp - 0x764]
push eax
call fcn.1000e7a0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x1002189f
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10021895
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c98
push edx
push ecx
call fcn.100b4813
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x780]
cmp edx, 0x10
jb 0x100218dd
mov ecx, dword [ebp - 0x794]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100218d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021c9d
push edx
push ecx
call fcn.100b4813
add esp, 8
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x10021b7e
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360Chrome_path5___s_n
call fcn.100043d0
add esp, 8
lea eax, [ebp - 0x11c]
push 0x104
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea ecx, [ebp - 0x764]
cmp dword [ebp - 0x750], 0x10
lea edx, [ebp - 0x11c]
cmovae ecx, dword [ebp - 0x764]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x10021966
push 0x104
lea eax, [ebp - 0x53c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x53c]
push 0x104
push eax
call fcn.100c3c1c
add esp, 0xc
lea eax, [ebp - 0x434]
push 0x104
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x434]
push 0x104
push eax
call fcn.100c3c1c
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
lea eax, [ebp - 0x434]
add esp, 0xc
push eax
call esi
lea ecx, [ebp - 0x434]
call fcn.1001a900
test eax, eax
je 0x100219fa
xor edi, edi
jmp 0x10021b81
sub esp, 8
lea edx, [ebp - 0x644]
push dword [ebp - 0x7dc]
push ecx
push 1
push ecx
push dword [ebp - 0x7e0]
lea ecx, [ebp - 0x11c]
push dword [ebp - 0x7e4]
call fcn.1001ea80
mov edi, eax
mov dword [ebp - 0x788], 0
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0
push 0x104
lea eax, [ebp - 0x32c]
mov byte [ebp - 4], 0xb
push 0
push eax
call fcn.100b7060
add esp, 0x2c
lea eax, [ebp - 0x53c]
push eax
call esi
push 0x100ee4f8
lea edx, [ebp - 0x788]
lea ecx, [ebp - 0x53c]
call fcn.100267b0
mov ecx, dword [ebp - 0x784]
mov eax, 0x7e07e07f
mov ebx, dword [ebp - 0x788]
add esp, 4
sub ecx, ebx
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10021b31
mov esi, ebx
mov ebx, eax
nop dword [eax]
push 0x104
lea eax, [ebp - 0x32c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x32c]
push esi
push 0x104
push eax
call fcn.100c3c1c
add esp, 0xc
lea eax, [ebp - 0x32c]
push str.Preferences
push 0x104
push eax
call fcn.100c3c76
add esp, 4
lea edx, [ebp - 0x644]
push dword [ebp - 0x7dc]
push ecx
push 0
push ecx
push dword [ebp - 0x7e0]
lea ecx, [ebp - 0x32c]
push dword [ebp - 0x7e4]
call fcn.1001ea80
add esp, 0x20
add esi, 0x104
mov edi, eax
sub ebx, 1
jne 0x10021ab0
mov ebx, dword [ebp - 0x788]
test ebx, ebx
je 0x10021b81
mov ecx, dword [ebp - 0x780]
mov eax, 0x7e07e07f
sub ecx, ebx
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0x104
mov eax, ebx
cmp ecx, 0x1000
jb 0x10021b72
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021ca2
push ecx
push ebx
call fcn.100b4813
add esp, 8
jmp 0x10021b81
or edi, 0xffffffff
mov edx, dword [ebp - 0x750]
cmp edx, 0x10
jb 0x10021bbb
mov ecx, dword [ebp - 0x764]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10021bb1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021ca7
push edx
push ecx
call fcn.100b4813
add esp, 8
mov edx, dword [ebp - 0x7b0]
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x750], 0xf
mov byte [ebp - 0x764], 0
cmp edx, 0x10
jb 0x10021c10
mov ecx, dword [ebp - 0x7c4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10021c06
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021cac
push edx
push ecx
call fcn.100b4813
add esp, 8
mov edx, dword [ebp - 0x798]
cmp edx, 0x10
jb 0x10021c46
mov ecx, dword [ebp - 0x7ac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10021c3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021cb1
push edx
push ecx
call fcn.100b4813
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b47d2
mov esp, ebp
pop ebp
ret 0x14
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
int3