Function at 0x407330
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4536db
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x471078]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x407ccf
mov esi, 1
mov ebx, esi
cmp dword [ebp - 0x60], ebx
jle 0x407589
nop word [eax + eax]
mov edx, dword [eax + esi*4]
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
cmp word [edx], ax
jne 0x4073b0
xor ecx, ecx
jmp 0x4073c4
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4073b5
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.0040b5e0
push 0x465900
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
call fcn.0040ef50
test eax, eax
jne 0x4073f5
mov dword [0x474a90], 1
jmp 0x407560
push str._checkChromeInstalled
lea ecx, [ebp - 0x28]
call fcn.0040ef50
test eax, eax
jne 0x407415
mov dword [0x474a90], 2
jmp 0x407560
push str._setRelaunch
lea ecx, [ebp - 0x28]
call fcn.0040ef50
test eax, eax
jne 0x407435
mov dword [0x474a90], 3
jmp 0x407560
push str._checkChromeReactivation
lea ecx, [ebp - 0x28]
call fcn.0040ef50
test eax, eax
jne 0x407455
mov dword [0x474a90], 4
jmp 0x407560
push str._setReactivation
lea ecx, [ebp - 0x28]
call fcn.0040ef50
test eax, eax
jne 0x407475
mov dword [0x474a90], 5
jmp 0x407560
push str._checkGToolbar
lea ecx, [ebp - 0x28]
call fcn.0040ef50
test eax, eax
jne 0x407495
mov dword [0x474a90], 6
jmp 0x407560
push str._installChrome
lea ecx, [ebp - 0x28]
call fcn.0040ef50
test eax, eax
jne 0x4074b5
mov dword [0x474a90], 8
jmp 0x407560
push str._installGToolbar
lea ecx, [ebp - 0x28]
call fcn.0040ef50
test eax, eax
jne 0x4074d5
mov dword [0x474a90], 9
jmp 0x407560
push ecx
push str._bc
lea ecx, [ebp - 0x28]
call fcn.00409690
lea ecx, [ebp - 0x28]
test eax, eax
jne 0x407510
push 0xffffffffffffffff
push 4
lea eax, [ebp - 0x78]
push eax
call fcn.00409600
push eax
mov ecx, 0x474a94
mov byte [ebp - 4], 1
call fcn.004094a0
lea ecx, [ebp - 0x78]
call fcn.004097a0
jmp 0x407560
push str._default
call fcn.0040ef50
test eax, eax
jne 0x407527
mov byte [0x474aa0], 1
jmp 0x407560
push str._elevated
lea ecx, [ebp - 0x28]
call fcn.0040ef50
test eax, eax
jne 0x407541
mov byte [0x474aa1], 1
jmp 0x407560
push str._update_brandcodes
lea ecx, [ebp - 0x28]
call fcn.0040ef50
movzx ecx, byte [0x474aa2]
test eax, eax
cmove ecx, ebx
mov byte [0x474aa2], cl
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x40757c
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0040ca80
mov eax, dword [ebp - 0x7c]
inc esi
cmp esi, dword [ebp - 0x60]
jl 0x407390
push 0x34
lea eax, [ebp - 0x5c]
push 0
push eax
call fcn.00438180
xor eax, eax
mov dword [ebp - 0x64], 7
add esp, 0xc
mov dword [ebp - 0x68], 0
mov word [ebp - 0x78], ax
mov dword [ebp - 4], 2
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], eax
mov word [ebp - 0x5c], ax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
call fcn.0040ae90
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push ecx
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040df60
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x64]
cmp eax, 8
jb 0x40760d
inc eax
lea ecx, [ebp - 0x78]
push eax
push dword [ebp - 0x78]
call fcn.0040ca80
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edx, eax
mov dword [ebp - 0x64], 7
xor eax, eax
mov dword [ebp - 0x68], 0
mov word [ebp - 0x78], ax
cmp word [edx], ax
jne 0x407632
xor ecx, ecx
jmp 0x407646
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407637
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x78]
call fcn.0040b5e0
push ecx
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040df60
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x64]
cmp eax, 8
jb 0x40767a
inc eax
lea ecx, [ebp - 0x78]
push eax
push dword [ebp - 0x78]
call fcn.0040ca80
xor eax, eax
mov dword [ebp - 0x14], 7
xor ecx, ecx
mov word [ebp - 0x28], ax
cmp word [str.check_secure_browser], cx
mov eax, 0x14
mov dword [ebp - 0x18], 0
cmove eax, ecx
lea ecx, [ebp - 0x28]
push eax
push str.check_secure_browser
call fcn.0040b5e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0040ec30
mov esi, eax
mov eax, dword [ebp - 0x3c]
cmp esi, eax
je 0x4076fa
cmp dword [esi + 0x24], 8
lea edx, [esi + 0x10]
mov eax, dword [edx + 0x10]
jb 0x4076d7
mov edx, dword [edx]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
lea ebx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x28]
push ebx
push ecx
push eax
push dword [ebp - 0x18]
call fcn.0040f600
add esp, 0x10
test eax, eax
jns 0x4076fc
mov eax, dword [ebp - 0x3c]
mov esi, eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x407715
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0040ca80
mov eax, dword [0x474a90]
mov ecx, 7
cmp esi, edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], 0
cmovne eax, ecx
xor ecx, ecx
mov dword [0x474a90], eax
xor eax, eax
cmp word [str.install_secure_browser], cx
mov word [ebp - 0x28], ax
mov eax, 0x16
cmove eax, ecx
lea ecx, [ebp - 0x28]
push eax
push str.install_secure_browser
call fcn.0040b5e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa
mov edi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0040ec30
mov esi, eax
mov eax, dword [ebp - 0x3c]
cmp esi, eax
je 0x4077a5
cmp dword [esi + 0x24], 8
lea edx, [esi + 0x10]
mov eax, dword [edx + 0x10]
jb 0x407782
mov edx, dword [edx]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
lea ebx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x28]
push ebx
push ecx
push eax
push dword [ebp - 0x18]
call fcn.0040f600
add esp, 0x10
test eax, eax
jns 0x4077a7
mov eax, dword [ebp - 0x3c]
mov esi, eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x4077c0
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0040ca80
mov eax, dword [0x474a90]
cmp esi, edi
mov ebx, 0xa
mov dword [ebp - 0x14], 7
cmovne eax, ebx
mov dword [ebp - 0x18], 0
mov dword [0x474a90], eax
xor ecx, ecx
xor eax, eax
cmp word [str.config_def], cx
mov word [ebp - 0x28], ax
mov eax, ebx
cmove eax, ecx
lea ecx, [ebp - 0x28]
push eax
push str.config_def
call fcn.0040b5e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0040ec30
mov esi, eax
mov eax, dword [ebp - 0x3c]
cmp esi, eax
je 0x407856
cmp dword [esi + 0x24], 8
lea edx, [esi + 0x10]
mov eax, dword [edx + 0x10]
jb 0x40782e
mov edx, dword [edx]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
lea ebx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x28]
push ebx
push ecx
push eax
push dword [ebp - 0x18]
call fcn.0040f600
add esp, 0x10
mov ebx, 0xa
test eax, eax
jns 0x407858
mov eax, dword [ebp - 0x3c]
mov esi, eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x407871
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0040ca80
cmp esi, edi
je 0x4078f0
xor eax, eax
mov dword [ebp - 0x64], 7
cmp word [str.config_def], ax
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x68], 0
cmove ebx, eax
mov word [ebp - 0x78], ax
push ebx
push str.config_def
call fcn.0040b5e0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040fae0
mov eax, dword [ebp - 0x84]
add eax, 0x28
cmp eax, 0x474aa4
je 0x4078d7
push 0xffffffffffffffff
push 0
push eax
mov ecx, 0x474aa4
call fcn.0040b6e0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x64]
cmp eax, 8
jb 0x4078f0
inc eax
lea ecx, [ebp - 0x78]
push eax
push dword [ebp - 0x78]
call fcn.0040ca80
xor eax, eax
mov dword [ebp - 0x14], 7
xor ecx, ecx
mov word [ebp - 0x28], ax
cmp word [str.brandcode], cx
mov ebx, 9
mov eax, ebx
mov dword [ebp - 0x18], 0
cmove eax, ecx
lea ecx, [ebp - 0x28]
push eax
push str.brandcode
call fcn.0040b5e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
mov edi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0040ec30
mov esi, eax
mov eax, dword [ebp - 0x3c]
cmp esi, eax
je 0x407977
cmp dword [esi + 0x24], 8
lea edx, [esi + 0x10]
mov eax, dword [edx + 0x10]
jb 0x40794f
mov edx, dword [edx]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
lea ebx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x28]
push ebx
push ecx
push eax
push dword [ebp - 0x18]
call fcn.0040f600
add esp, 0x10
mov ebx, 9
test eax, eax
jns 0x407979
mov eax, dword [ebp - 0x3c]
mov esi, eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x407992
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0040ca80
cmp esi, edi
je 0x407af0
push 1
xor eax, eax
mov dword [ebp - 0x64], 7
push 0x466294
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x68], 0
mov word [ebp - 0x78], ax
call fcn.0040b5e0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x9c]
xor eax, eax
mov dword [ebp - 0x88], 7
cmp word [str.brandcode], ax
mov dword [ebp - 0x8c], 0
cmove ebx, eax
mov word [ebp - 0x9c], ax
push ebx
push str.brandcode
call fcn.0040b5e0
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040fae0
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0x78]
sub esp, 0xc
lea ecx, [ebp - 0x1c]
add edx, 0x28
push eax
call fcn.0040e720
add esp, 0x10
mov eax, dword [ebp - 0x88]
cmp eax, 8
jb 0x407a4c
inc eax
lea ecx, [ebp - 0x9c]
push eax
push dword [ebp - 0x9c]
call fcn.0040ca80
xor eax, eax
mov dword [ebp - 0x88], 7
mov dword [ebp - 0x8c], 0
mov word [ebp - 0x9c], ax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x64]
cmp eax, 8
jb 0x407a82
inc eax
lea ecx, [ebp - 0x78]
push eax
push dword [ebp - 0x78]
call fcn.0040ca80
mov edi, dword [ebp - 0x18]
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x64], 7
mov dword [ebp - 0x68], 0
mov word [ebp - 0x78], ax
cmp esi, edi
je 0x407ab8
push esi
mov ecx, 0x474a94
call fcn.00409350
add esi, 0x18
cmp esi, edi
jne 0x407aa0
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov byte [ebp - 4], 7
test esi, esi
je 0x407af0
push dword [ebp - 0x7c]
mov edx, edi
push ecx
mov ecx, esi
call fcn.0040fa90
mov ecx, dword [ebp - 0x14]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x1c]
add esp, 8
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.0040c930
xor eax, eax
mov dword [ebp - 0x14], 7
xor ecx, ecx
mov word [ebp - 0x28], ax
cmp word [str.default], ax
mov eax, 7
mov dword [ebp - 0x18], 0
cmove eax, ecx
lea ecx, [ebp - 0x28]
push eax
push str.default
call fcn.0040b5e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x13
mov edi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0040ec30
mov esi, eax
mov eax, dword [ebp - 0x3c]
cmp esi, eax
je 0x407b70
cmp dword [esi + 0x24], 8
lea edx, [esi + 0x10]
mov eax, dword [edx + 0x10]
jb 0x407b4d
mov edx, dword [edx]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
lea ebx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x28]
push ebx
push ecx
push eax
push dword [ebp - 0x18]
call fcn.0040f600
add esp, 0x10
test eax, eax
jns 0x407b72
mov eax, dword [ebp - 0x3c]
mov esi, eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x407b8b
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0040ca80
movzx eax, byte [0x474aa0]
cmp esi, edi
mov ecx, 1
mov dword [ebp - 0x14], 7
cmovne eax, ecx
mov dword [ebp - 0x18], 0
mov byte [0x474aa0], al
xor ecx, ecx
xor eax, eax
mov ebx, 3
cmp word [0x465b14], cx
mov word [ebp - 0x28], ax
mov eax, ebx
cmove eax, ecx
lea ecx, [ebp - 0x28]
push eax
push 0x465b14
call fcn.0040b5e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x14
mov edi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x44]
push eax
call fcn.0040ec30
mov esi, eax
mov eax, dword [ebp - 0x3c]
cmp esi, eax
je 0x407c28
cmp dword [esi + 0x24], 8
lea edx, [esi + 0x10]
mov eax, dword [edx + 0x10]
jb 0x407c00
mov edx, dword [edx]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
lea ebx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x28]
push ebx
push ecx
push eax
push dword [ebp - 0x18]
call fcn.0040f600
add esp, 0x10
mov ebx, 3
test eax, eax
jns 0x407c2a
mov eax, dword [ebp - 0x3c]
mov esi, eax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x407c43
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0040ca80
cmp esi, edi
je 0x407cbe
xor eax, eax
mov dword [ebp - 0x64], 7
cmp word [0x465b14], ax
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x68], 0
cmove ebx, eax
mov word [ebp - 0x78], ax
push ebx
push 0x465b14
call fcn.0040b5e0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040fae0
mov eax, dword [ebp - 0x84]
add eax, 0x28
cmp eax, 0x474abc
je 0x407ca9
push 0xffffffffffffffff
push 0
push eax
mov ecx, 0x474abc
call fcn.0040b6e0
mov eax, dword [ebp - 0x64]
cmp eax, 8
jb 0x407cbe
inc eax
lea ecx, [ebp - 0x78]
push eax
push dword [ebp - 0x78]
call fcn.0040ca80
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x5c]
call fcn.00409540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e04a
mov esp, ebp
pop ebp
ret