Function at 0x415225
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46150c
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x4861f4]
xor eax, esp
mov dword [esp + 0x3d0], eax
push ebx
push esi
push edi
mov eax, dword [0x4861f4]
xor eax, esp
push eax
lea eax, [esp + 0x3e8]
mov dword fs:[0], eax
push dword [0x48f9c8]
mov ebx, ecx
lea esi, [ebx + 0x188]
push str.Bootstrapper::parseCmdLine_params_counter___d
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], esi
call fcn.00408d9c
cmp dword [0x48f9c8], 1
pop ecx
pop ecx
jne 0x415294
mov byte [ebx + 0x53], 1
mov eax, dword [ebx]
mov edi, dword [0x48f9d0]
mov ecx, ebx
call dword [eax + 0xac]
push eax
push str.Bootstrapper::parseCmdLine_protocol_scheme___S
mov dword [esp + 0x1c], eax
call fcn.00408d9c
pop ecx
pop ecx
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [esp + 0x18]
push dword [edi + 4]
call dword [sym.imp.SHLWAPI.dll_StrCmpNW]
test eax, eax
jne 0x41576a
push dword [edi + 4]
lea eax, [esp + 0x74]
mov dword [esp + 0x18], 0x2b
call fcn.00407f7d
and dword [esp + 0x3f0], 0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x18]
lea edi, [esp + 0x74]
call fcn.00427c20
pop ecx
push 0
push 1
mov esi, edi
mov byte [esp + 0x3f8], 2
call fcn.004094ae
lea eax, [esp + 0x48]
push eax
call fcn.0041d3af
mov byte [esp + 0x3f0], 3
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
push 0x1c
cdq
pop ecx
idiv ecx
and dword [esp + 0x10], 0
test eax, eax
jbe 0x4155f3
push 0x46d088
push dword [esp + 0x14]
lea esi, [esp + 0x38]
call fcn.0041d324
push eax
call fcn.00407fd0
mov edi, eax
cmp edi, 0xffffffff
je 0x4154b5
push edi
push dword [esp + 0x14]
call fcn.0041d324
push eax
xor ebx, ebx
lea esi, [esp + 0x15c]
call fcn.0041ca6e
lea eax, [esp + 0xf4]
mov ecx, esi
mov byte [esp + 0x3f0], 4
call fcn.0041ca28
mov esi, eax
lea eax, [esp + 0xcc]
lea ecx, [esp + 0x154]
call fcn.0041ca48
mov ebx, eax
lea eax, [esp + 0xec]
lea ecx, [esp + 0x154]
call fcn.0041ca28
push dword [esi + 4]
push dword [esi]
push dword [ebx + 4]
push dword [ebx]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x114]
push eax
call fcn.004205f9
add esp, 0x1c
push 0xffffffffffffffff
push dword [esp + 0x14]
lea esi, [esp + 0x38]
lea ebx, [edi + 1]
call fcn.0041d324
push eax
lea esi, [esp + 0x178]
call fcn.0041ca6e
sub esp, 0x1c
mov byte [esp + 0x40c], 5
lea eax, [esp + 0x18c]
mov esi, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00407fa0
sub esp, 0x1c
mov byte [esp + 0x428], 6
lea eax, [esp + 0x18c]
mov esi, esp
mov dword [esp + 0x60], esp
push eax
call fcn.00407fa0
lea ebx, [esp + 0x154]
mov byte [esp + 0x428], 5
call fcn.00420627
add esp, 0x38
lea ecx, [esp + 0x8c]
push ecx
mov ecx, eax
mov byte [esp + 0x3f4], 7
call fcn.0042066c
lea eax, [esp + 0x8c]
push eax
lea edi, [esp + 0x114]
lea ebx, [esp + 0x4c]
mov byte [esp + 0x3f4], 8
call fcn.0041d428
lea edi, [esp + 0x8c]
call fcn.00407203
lea edi, [esp + 0x11c]
call fcn.00407203
push 0
push 1
lea esi, [esp + 0x178]
call fcn.004094ae
jmp 0x4155bb
push dword [esp + 0x10]
call fcn.0041d324
push eax
lea esi, [esp + 0x158]
call fcn.00407fa0
lea eax, [esp + 0xd4]
mov ecx, esi
mov byte [esp + 0x3f0], 9
call fcn.0041ca28
mov esi, eax
lea eax, [esp + 0xdc]
lea ecx, [esp + 0x154]
call fcn.0041ca48
mov edi, eax
lea eax, [esp + 0xc4]
lea ecx, [esp + 0x154]
call fcn.0041ca28
push dword [esi + 4]
push dword [esi]
push dword [edi + 4]
push dword [edi]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0xfc]
push eax
call fcn.004205f9
mov eax, esp
mov dword [esp + 0x44], esp
push 0x46a914
call fcn.00407f7d
sub esp, 0x1c
mov byte [esp + 0x428], 0xa
lea eax, [esp + 0x18c]
mov esi, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.00407fa0
lea ebx, [esp + 0x154]
mov byte [esp + 0x428], 9
call fcn.00420627
add esp, 0x38
lea ecx, [esp + 0x8c]
push ecx
mov ecx, eax
mov byte [esp + 0x3f4], 0xb
call fcn.0042066c
lea eax, [esp + 0x8c]
push eax
lea edi, [esp + 0x108]
lea ebx, [esp + 0x4c]
mov byte [esp + 0x3f4], 0xc
call fcn.0041d428
lea edi, [esp + 0x8c]
call fcn.00407203
lea edi, [esp + 0x11c]
call fcn.00407203
push 0
push 1
lea esi, [esp + 0x15c]
mov byte [esp + 0x3f8], 3
call fcn.004094ae
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
push 0x1c
cdq
pop ecx
idiv ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], eax
jb 0x415344
mov ebx, dword [esp + 0x1c]
push 0x46d08c
lea eax, [esp + 0x158]
call fcn.00407f7d
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x4c]
mov byte [esp + 0x3f4], 0xd
call fcn.0040a49e
mov edi, dword [esp + 0x60]
mov esi, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
test eax, eax
jne 0x415638
call fcn.00443060
cmp esi, edi
je 0x415655
lea ecx, [esi + 0xc]
lea eax, [esp + 0x154]
call fcn.00409ae5
test al, al
jne 0x415655
lea eax, [esp + 0x14]
jmp 0x415669
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
push 0
push 1
lea esi, [esp + 0x15c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
mov byte [esp + 0x3f8], 3
call fcn.004094ae
mov esi, dword [esp + 0x60]
test edi, edi
je 0x41569c
cmp edi, dword [esp + 0x48]
je 0x4156a1
call fcn.00443060
cmp dword [esp + 0x2c], esi
je 0x415712
lea esi, [esp + 0x28]
call fcn.0043bddc
mov edx, eax
add edx, 0x1c
lea ecx, [esp + 0x170]
call fcn.0042776b
push 0xffffffffffffffff
push 0
lea esi, [ebx + 0x118]
push eax
mov ecx, esi
mov byte [esp + 0x3fc], 0xe
call fcn.004090a7
push 0
push 1
lea ecx, [esp + 0x178]
mov byte [esp + 0x3f8], 3
call fcn.00409216
cmp dword [esi + 0x18], 0x10
jb 0x4156fe
mov esi, dword [esi + 4]
jmp 0x415701
add esi, 4
push esi
mov esi, dword [esp + 0x28]
push str.Bootstrapper::parseCmdLine:_browserTracerId__value___s
call fcn.00408d9c
pop ecx
pop ecx
mov eax, dword [ebx]
lea ecx, [esp + 0x48]
push ecx
mov ecx, ebx
call dword [eax + 0xd4]
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0x3f4], 2
call fcn.0041d400
lea esi, [esp + 0x30]
call fcn.0041e00b
push dword [esp + 0x30]
call fcn.00442b52
pop ecx
mov ecx, dword [esp + 0x3e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3d0]
xor ecx, esp
call fcn.00442b5d
mov esp, ebp
pop ebp
ret
xor eax, eax
inc eax
cmp dword [0x48f9c8], eax
mov dword [esp + 0x10], eax
jle 0x415746
mov ecx, dword [0x48f9d0]
mov edi, dword [ecx + eax*4]
mov esi, dword [esp + 0x24]
push edi
push eax
push str.Bootstrapper::parseCmdLine_paramIndex___d__value___S
mov dword [esp + 0x20], edi
call fcn.00408d9c
add esp, 0xc
push str._wait
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x4157dd
mov eax, dword [esp + 0x10]
lea ecx, [eax + 1]
cmp ecx, dword [0x48f9c8]
jge 0x415b93
mov ecx, dword [0x48f9d0]
push dword [ecx + eax*4 + 4]
call fcn.004442e4
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [esp + 0x10]
jmp 0x41594f
push str._ide
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415969
push str.option:_ide
call fcn.00408d9c
lea ecx, [esp + 0x174]
mov dword [ebx + 0x48], 1
mov dword [esp], 0x4683f0
call fcn.00407ed3
lea edx, [esp + 0x170]
lea ecx, [esp + 0x70]
mov dword [esp + 0x3f0], 0x10
call fcn.004277de
lea edi, [ebx + 0x16c]
push 0xffffffffffffffff
push edi
xor ebx, ebx
mov byte [esp + 0x3f8], 0x11
call fcn.00409306
push ebx
push 1
lea esi, [esp + 0x78]
call fcn.004094ae
or dword [esp + 0x3f0], 0xffffffff
push ebx
push 1
lea ecx, [esp + 0x178]
call fcn.00409216
mov edx, dword [esp + 0x10]
lea eax, [edx + 1]
cmp eax, dword [0x48f9c8]
jge 0x41594b
mov ecx, dword [0x48f9d0]
mov edx, dword [ecx + edx*4 + 4]
cmp word [edx], 0x2d
je 0x41594b
lea edx, [esp + 0x18c]
push edx
mov dword [esp + 0x14], eax
push dword [ecx + eax*4]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
je 0x41594b
push 0x46c5fc
push edi
call fcn.0040b755
push str._fileLocation
lea ecx, [esp + 0x158]
call fcn.00407ed3
lea edx, [esp + 0x154]
lea ecx, [esp + 0x8c]
mov dword [esp + 0x3f0], 0x12
call fcn.004277de
push 0xffffffffffffffff
push ebx
mov esi, edi
mov byte [esp + 0x3f8], 0x13
call fcn.00409261
push ebx
push 1
lea esi, [esp + 0x94]
call fcn.004094ae
or dword [esp + 0x3f0], 0xffffffff
push ebx
push 1
lea ecx, [esp + 0x15c]
call fcn.00409216
push 0x46d148
push edi
call fcn.0040b755
mov eax, dword [0x48f9d0]
mov ecx, dword [esp + 0x10]
push dword [eax + ecx*4]
push edi
call fcn.0040b755
push 0x46c5f8
push edi
call fcn.0040b755
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [0x48f9c8]
mov dword [esp + 0x10], eax
jl 0x415779
jmp 0x415746
push 0x46d150
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x41598b
push str.option:_q
call fcn.00408d9c
pop ecx
mov byte [ebx + 0x57], 0
jmp 0x41594f
push str._qbg
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x4159b1
push str.option:_qbg
call fcn.00408d9c
pop ecx
mov byte [ebx + 0x57], 0
mov byte [ebx + 0x58], 1
jmp 0x41594f
push str._qbgnorun
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x4159e1
push str.option:_qbgnorun
call fcn.00408d9c
pop ecx
mov byte [ebx + 0x57], 0
mov byte [ebx + 0x58], 1
mov byte [ebx + 0xc0], 1
jmp 0x41594f
push str._alluser
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415a06
push str.option:_alluser
call fcn.00408d9c
pop ecx
mov byte [ebx + 0x59], 0
jmp 0x41594f
mov eax, dword [esp + 0x14]
mov edi, str._browser
push edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415a2f
push str.option:_browser
call fcn.00408d9c
mov dword [ebx + 0x48], 1
mov eax, edi
jmp 0x415a57
mov edi, dword [esp + 0x14]
push str._uninstall
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415a68
push str.option:_Uninstall
call fcn.00408d9c
mov byte [ebx + 0x54], 1
mov eax, 0x46a914
lea esi, [ebx + 0x16c]
pop ecx
call fcn.0040938c
jmp 0x41594f
push str._install
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415a89
push str.option:_Install
call fcn.00408d9c
mov byte [ebx + 0x5d], 1
jmp 0x415aa8
push str._failIfNotUpToDate
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415ac5
push str.option:_FailIfNotUpToDate
call fcn.00408d9c
mov byte [ebx + 0x55], 1
pop ecx
lea esi, [ebx + 0x16c]
mov eax, 0x46a914
call fcn.0040938c
mov dword [ebx + 0x48], 0xa
jmp 0x41594f
push str._force
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415aea
push str.option:_force
call fcn.00408d9c
pop ecx
mov byte [ebx + 0x52], 1
jmp 0x41594f
push str._debug
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415b0f
push str.option:_debug
call fcn.00408d9c
pop ecx
mov byte [ebx + 0x56], 1
jmp 0x41594f
push str._prePlay
mov eax, edi
call fcn.0040c60f
pop ecx
test eax, eax
jne 0x415b44
push str.option:_prePlay
call fcn.00408d9c
pop ecx
lea esi, [ebx + 0x16c]
mov eax, str._nop
call fcn.0040938c
mov byte [ebx + 0x5c], 1
jmp 0x41594f
push dword [0x48f9c8]
mov eax, dword [ebx]
lea ecx, [esp + 0x14]
push ecx
push dword [0x48f9d0]
mov ecx, ebx
call dword [eax + 0xd8]
test al, al
jne 0x41594f
cmp dword [ebx + 0x180], 0
je 0x415b81
push 0x46c5fc
lea eax, [ebx + 0x16c]
push eax
call fcn.0040b755
push edi
lea eax, [ebx + 0x16c]
push eax
call fcn.0040b755
jmp 0x41594f
push edi
push str.Bad_argument__s
lea esi, [esp + 0x178]
call fcn.0042799c
pop ecx
pop ecx
push eax
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x3f8], 0xf
call fcn.00401281
push 0x47a298
lea eax, [esp + 0x4c]
push eax
call fcn.00446b8d
int3