Function at 0x4032b0
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43de3a
mov eax, dword fs:[0]
push eax
sub esp, 0x188
mov eax, dword [0x455440]
xor eax, esp
mov dword [esp + 0x180], eax
push ebx
push esi
push edi
mov eax, dword [0x455440]
xor eax, esp
push eax
lea eax, [esp + 0x198]
mov dword fs:[0], eax
mov ebx, edx
mov dword [esp + 0x70], ebx
mov edi, ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x24], 0
call fcn.004020a0
mov dword [esp + 0x1a0], 0
lea ecx, [esp + 0x8c]
call fcn.00407790
mov byte [esp + 0x1a0], 1
xor ecx, ecx
mov al, byte [ebx + 8]
mov ebx, 5
test al, al
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
cmovne ebx, ecx
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x24], ebx
push eax
push str.YABROWSER
mov ecx, edi
call fcn.0040d770
test eax, eax
setne al
or esi, 0xffffffff
test al, al
jne 0x4033d0
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x78]
call fcn.004030f0
mov byte [esp + 0x1a0], 2
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0xcc]
call fcn.00405660
push 4
push 0
lea ecx, [esp + 0x94]
mov dword [esp + 0xe0], ebx
call fcn.00408570
mov byte [esp + 0x1a0], 1
lea eax, [esp + 0x4c]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 1
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4033c9
push eax
call fcn.00422f1c
add esp, 4
xor bl, bl
jmp 0x4040aa
cmp byte [esp + 0x74], 0
je 0x403f22
push str.44.0.2403.3043
lea ecx, [esp + 0x1c]
call fcn.004051f0
mov byte [esp + 0x1a0], 5
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x50]
call fcn.0040dce0
mov esi, eax
mov byte [esp + 0x1a0], 6
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x78]
call fcn.004030f0
mov byte [esp + 0x1a0], 7
mov ecx, eax
push esi
call fcn.0040e1c0
mov bl, al
mov byte [esp + 0x1a0], 6
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 6
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x403452
push ecx
call fcn.00422f1c
add esp, 4
mov byte [esp + 0x1a0], 5
lea eax, [esp + 0x4c]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 5
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x40347b
push eax
call fcn.00422f1c
add esp, 4
mov byte [esp + 0x1a0], 1
or esi, 0xffffffff
mov edx, dword [esp + 0x18]
mov ecx, esi
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4034a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test bl, bl
je 0x403e14
push str.Bug_version
push 0x6e
push str.StartNewDownload
call fcn.004110a0
add esp, 0xc
push str.Checking_branding
push 0x6f
push str.StartNewDownload
call fcn.004110a0
add esp, 0xc
lea ecx, [esp + 0x2c]
mov edx, 3
call fcn.00401c10
mov byte [esp + 0x1a0], 0xd
push ecx
call fcn.0040fbb0
add esp, 4
mov edx, 3
test al, al
je 0x403534
lea ecx, [esp + 0x4c]
call fcn.00401c10
mov byte [esp + 0x1a0], 0xe
lea ecx, [esp + 0x18]
push 0xf
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x2c], 1
call fcn.0040f570
mov dword [esp + 0x1a0], 0xf
mov ebx, 3
jmp 0x40356e
lea ecx, [esp + 0x60]
call fcn.00401c10
mov dword [esp + 0x1a0], 0x10
lea ecx, [esp + 0x14]
push 0x1c
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x2c], 4
call fcn.0040f570
mov dword [esp + 0x1a0], 0x11
mov ebx, 0xc
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.00405c60
add eax, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x1a0], 0x16
test bl, 8
je 0x4035ab
and ebx, 0xfffffff7
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], ebx
call fcn.00401d60
mov byte [esp + 0x1a0], 0x17
test bl, 4
je 0x4035c8
and ebx, 0xfffffffb
lea ecx, [esp + 0x60]
mov dword [esp + 0x24], ebx
call fcn.004056f0
mov byte [esp + 0x1a0], 0x18
test bl, 2
je 0x4035e5
and ebx, 0xfffffffd
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.00401d60
mov byte [esp + 0x1a0], 0x19
test bl, 1
je 0x403602
and ebx, 0xfffffffe
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], ebx
call fcn.004056f0
mov byte [esp + 0x1a0], 0x1a
mov eax, dword [esp + 0x30]
dec dword [eax]
jne 0x40363e
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x403632
mov ecx, ebx
call fcn.00406ca0
push ebx
call fcn.00422ded
add esp, 4
mov dword [esp + 0x2c], 0
push dword [esp + 0x30]
call fcn.00422ded
add esp, 4
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.YandexUpdateryabrowser_appinfo.xml
call fcn.004051f0
mov byte [esp + 0x1a4], 0x1b
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x1a8], 0x1a
lea ecx, [esp + 0x28]
call fcn.0040c6e0
mov byte [esp + 0x1a0], 0x1c
lea ecx, [esp + 0x20]
push eax
call fcn.00402ab0
mov byte [esp + 0x1a0], 0x1a
lea eax, [esp + 0x18]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 0x1a
mov ecx, esi
mov edx, dword [esp + 0x18]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4036b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 3
push dword [esp + 0x24]
lea eax, [esp + 0x110]
lea ecx, [esp + 0x10c]
mov dword [esp + 0x10c], eax
call fcn.00405ce0
mov byte [esp + 0x1a0], 0x20
lea ecx, [esp + 0x18]
push str.Search_appinfo.xml_in
call fcn.00404e20
mov byte [esp + 0x1a0], 0x21
mov edx, eax
push dword [esp + 0x104]
lea ecx, [esp + 0x18]
call fcn.00404f50
add esp, 4
mov byte [esp + 0x1a0], 0x22
push dword [eax]
push 0x75
push str.StartNewDownload
call fcn.004110a0
add esp, 0xc
mov byte [esp + 0x1a0], 0x21
mov ecx, esi
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403745
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x1a0], 0x20
mov ecx, esi
mov edx, dword [esp + 0x18]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40376a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x1a0], 0x1a
lea ecx, [esp + 0x108]
mov eax, dword [esp + 0x104]
cmp eax, ecx
je 0x40378d
push eax
call fcn.00422f1c
add esp, 4
push dword [esp + 0x20]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x403dc2
push str.appinfo_exists._Get_branding
push 0x78
push str.StartNewDownload
call fcn.004110a0
add esp, 0xc
lea ecx, [esp + 0x14]
push 0x44a8b5
call fcn.00404e20
mov byte [esp + 0x1a0], 0x25
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xf4]
call fcn.00401e30
mov byte [esp + 0x1a0], 0x27
mov ecx, esi
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403804
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov byte [esp + 0x1a0], 0x2a
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x100]
call fcn.00411770
mov byte [esp + 0x1a0], 0x2b
lea ecx, [esp + 0x2c]
push ecx
mov ecx, eax
call fcn.00411820
mov ebx, eax
mov dword [esp + 0x10], ebx
mov byte [esp + 0x1a0], 0x2a
mov eax, dword [esp + 0x50]
test eax, eax
je 0x403870
push eax
call fcn.00420000
add esp, 4
lea ecx, [esp + 0x18]
call fcn.00405030
mov byte [esp + 0x1a0], 0x2c
xor esi, esi
test ebx, ebx
je 0x403920
jmp 0x403890
push esi
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x34]
call fcn.00411940
mov byte [esp + 0x1a0], 0x2d
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004116b0
mov byte [esp + 0x1a0], 0x2e
mov edx, str.VersionUrl
mov ecx, eax
call fcn.00405470
mov byte [esp + 0x2b], al
mov byte [esp + 0x1a0], 0x2d
or edx, 0xffffffff
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff0
lea ecx, [ebx + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4038f1
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x1a0], 0x2c
mov eax, dword [esp + 0x50]
test eax, eax
je 0x40390a
push eax
call fcn.00420000
add esp, 4
cmp byte [esp + 0x2b], 0
jne 0x403aa3
inc esi
cmp esi, dword [esp + 0x10]
jb 0x403890
or esi, 0xffffffff
push str.VersionUrl_from_appinfo.xml
push 0x88
push str.StartNewDownload
call fcn.004110a0
add esp, 0xc
lea eax, [esp + 0x108]
lea ecx, [esp + 0x104]
mov dword [esp + 0x104], eax
push 3
push dword [esp + 0x1c]
call fcn.00405ce0
mov byte [esp + 0x1a0], 0x33
push dword [esp + 0x104]
push 0x89
push str.StartNewDownload
call fcn.004110a0
add esp, 0xc
mov byte [esp + 0x1a0], 0x2c
mov eax, dword [esp + 0x104]
lea ecx, [esp + 0x108]
cmp eax, ecx
je 0x40399e
push eax
call fcn.00422f1c
add esp, 4
push str.update_info_browser___w____
lea ecx, [esp + 0x18]
call fcn.004051f0
mov byte [esp + 0x1a0], 0x34
lea eax, [esp + 0x14]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.0040e2f0
mov byte [esp + 0x1a0], 0x36
mov ecx, esi
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4039e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov byte [esp + 0x1a0], 0x38
lea eax, [esp + 0x108]
push 0xfde9
push dword [esp + 0x1c]
lea ecx, [esp + 0x10c]
mov dword [esp + 0x10c], eax
call fcn.00405ce0
mov byte [esp + 0x1a0], 0x39
lea eax, [esp + 0x60]
push ecx
push eax
push dword [esp + 0x10c]
lea ecx, [esp + 0x48]
call fcn.0040e660
mov ebx, eax
mov byte [esp + 0x1a0], 0x38
mov ecx, dword [esp + 0x104]
lea eax, [esp + 0x108]
cmp ecx, eax
je 0x403a76
push ecx
call fcn.00422f1c
add esp, 4
cmp ebx, 1
jbe 0x403cf6
cmp dword [esp + 0x64], 1
ja 0x403b26
push 0x80070057
push 0x30a
mov edx, str.ATL::CAtlArray_class_ATL::CStringT_wchar_t_class_ATL::StrTraitATL_wchar_t_class_ATL::ChTraitsCRT_wchar_t______class_ATL::CElementTraits_class_ATL::CStringT_wchar_t_class_ATL::StrTraitATL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_________::operator___
mov ecx, str.C:Program_FilesMicrosoft_Visual_Studio_12.0VC_atlmfcinclude_atlcoll.h
call fcn.0040bca0
push esi
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x34]
call fcn.00411940
mov byte [esp + 0x1a0], 0x30
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.00411710
mov byte [esp + 0x1a0], 0x31
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.00402ab0
mov byte [esp + 0x1a0], 0x30
or esi, 0xffffffff
mov edx, dword [esp + 0x14]
mov ecx, esi
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403b04
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x1a0], 0x2c
mov eax, dword [esp + 0x50]
test eax, eax
je 0x403923
push eax
call fcn.00420000
add esp, 4
jmp 0x403923
mov ecx, dword [esp + 0x60]
mov edx, str.yandex
lea ecx, [ecx + 4]
call fcn.00405470
mov ebx, dword [esp + 0x1c]
test al, al
je 0x403cfa
cmp ebx, 5
je 0x403cfa
sub esp, 0x10
lea ecx, [esp + 0x84]
mov eax, esp
mov dword [esp + 0x20], esp
push eax
call fcn.004030f0
mov byte [esp + 0x1b0], 0x3a
push ebx
push 3
mov byte [esp + 0x1b8], 0x38
lea ecx, [esp + 0xa4]
call fcn.00408810
push str.Branding_is_yandex
push 0x93
push str.StartNewDownload
call fcn.004110a0
add esp, 0xc
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push str.silent
call fcn.0040d770
test eax, eax
jne 0x403bd3
push 0x44a8b5
push ecx
push str.silent
mov ecx, edi
call fcn.0040d5e0
add esp, 4
mov ecx, eax
call fcn.00405300
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push str.update
call fcn.0040d770
test eax, eax
jne 0x403c0e
push 0x44a8b5
push ecx
push str.update
mov ecx, edi
call fcn.0040d5e0
add esp, 4
mov ecx, eax
call fcn.00405300
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push str.do_not_launch_browser
call fcn.0040d770
test eax, eax
jne 0x403c49
push 0x44a8b5
push ecx
push str.do_not_launch_browser
mov ecx, edi
call fcn.0040d5e0
add esp, 4
mov ecx, eax
call fcn.00405300
push dword [esp + 0x70]
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.http:__download.cdn.yandex.net_downloadable_soft_browser_recover_ru_Yandex.exe
call fcn.00405110
mov byte [esp + 0x1ac], 0x3b
mov byte [esp + 0x1ac], 0x38
call fcn.00402b20
mov byte [esp + 0x1a0], 0x36
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x403c99
mov edx, dword [esp + 0x64]
call fcn.00406fc0
push dword [esp + 0x60]
call fcn.00422f1c
add esp, 4
mov byte [esp + 0x1a0], 0x2c
lea ecx, [esp + 0x3c]
call fcn.004043f0
mov byte [esp + 0x1a0], 0x2a
lea ecx, [esp + 0x18]
call fcn.00404ef0
mov byte [esp + 0x1a0], 0x27
lea ecx, [esp + 0x2c]
call fcn.00404370
mov byte [esp + 0x1a0], 0x1a
lea ecx, [esp + 0xec]
call fcn.00401fe0
mov byte [esp + 0x1a0], 1
lea ecx, [esp + 0x20]
call fcn.00401d60
jmp 0x4040a8
mov ebx, dword [esp + 0x1c]
push str.Branding_isnt_yandex
push 0xa0
push str.StartNewDownload
call fcn.004110a0
add esp, 0xc
mov byte [esp + 0x1a0], 0x36
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x403d36
mov edx, dword [esp + 0x64]
call fcn.00406fc0
push dword [esp + 0x60]
call fcn.00422f1c
add esp, 4
mov byte [esp + 0x1a0], 0x2c
lea ecx, [esp + 0x3c]
call fcn.004043f0
mov byte [esp + 0x1a0], 0x2a
mov ecx, esi
mov edx, dword [esp + 0x18]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403d6c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x1a0], 0x27
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x403dac
mov edi, dword [esp + 0x30]
test edi, edi
je 0x403da3
lea esi, [eax + 4]
mov eax, dword [esi]
test eax, eax
je 0x403d96
push eax
call fcn.00420000
add esp, 4
add esi, 8
dec edi
jne 0x403d87
mov eax, dword [esp + 0x2c]
or esi, 0xffffffff
push eax
call fcn.00422f1c
add esp, 4
mov byte [esp + 0x1a0], 0x1a
lea ecx, [esp + 0xec]
call fcn.00401fe0
jmp 0x403ddd
push str.appinfo_doesnt_exist._Do_standart_logic
push 0xa4
push str.StartNewDownload
call fcn.004110a0
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov byte [esp + 0x1a0], 1
lea eax, [esp + 0x20]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 1
mov ecx, esi
mov edx, dword [esp + 0x20]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403e18
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x403e18
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x78]
call fcn.004030f0
mov byte [esp + 0x1a0], 0x41
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0xcc]
call fcn.00405660
push 0
push 0
lea ecx, [esp + 0x94]
mov dword [esp + 0xe0], ebx
call fcn.00408570
mov byte [esp + 0x1a0], 1
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x403e7f
push eax
call fcn.00422f1c
add esp, 4
lea ecx, [esp + 0x74]
call fcn.00403150
xor ebx, ebx
mov esi, 2
test al, al
sete bl
xor ecx, ecx
test al, al
lea eax, [esp + 0x3c]
push eax
cmovne esi, ecx
lea ecx, [esp + 0x78]
call fcn.004030f0
mov byte [esp + 0x1a0], 0x44
lea eax, [esp + 0x3c]
xorps xmm0, xmm0
mov dword [esp + 0xac], 0
push eax
lea ecx, [esp + 0xcc]
movlpd qword [esp + 0xa8], xmm0
call fcn.00405660
push esi
push 1
lea ecx, [esp + 0x94]
mov dword [esp + 0xe0], ebx
call fcn.00408570
mov byte [esp + 0x1a0], 1
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x403f18
push eax
call fcn.00422f1c
add esp, 4
xor bl, bl
or esi, 0xffffffff
jmp 0x4040aa
cmp ebx, 5
jne 0x403f5e
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
sub esp, 0x10
call fcn.0040db50
mov byte [esp + 0x1b0], 0x47
push ebx
push 2
mov byte [esp + 0x1b8], 1
lea ecx, [esp + 0xa4]
call fcn.00408810
xor bl, bl
jmp 0x4040aa
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push str.YBDEFAULT
call fcn.0040d770
test eax, eax
je 0x403fb8
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push str.make_browser_default_after_import
call fcn.0040d770
test eax, eax
jne 0x403fb8
push 0x44a8b5
push ecx
push str.make_browser_default_after_import
mov ecx, edi
call fcn.0040d5e0
add esp, 4
mov ecx, eax
call fcn.00405300
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push str.send_statistics
call fcn.0040d770
test eax, eax
jne 0x403ff3
push 0x44a8b5
push ecx
push str.send_statistics
mov ecx, edi
call fcn.0040d5e0
add esp, 4
mov ecx, eax
call fcn.00405300
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push str.YBNOLAUNCH
call fcn.0040d770
test eax, eax
je 0x40404d
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push str.do_not_launch_browser
call fcn.0040d770
test eax, eax
jne 0x40404d
push 0x44a8b5
push ecx
push str.do_not_launch_browser
mov ecx, edi
call fcn.0040d5e0
add esp, 4
mov ecx, eax
call fcn.00405300
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
sub esp, 0x10
call fcn.0040db50
mov byte [esp + 0x1b0], 0x48
push ebx
push 3
mov byte [esp + 0x1b8], 1
lea ecx, [esp + 0xa4]
call fcn.00408810
push dword [esp + 0x70]
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.http:__downloader.yandex.net_downloadable_soft_browser_pseudoportal_ru_Yandex.exe
call fcn.00405110
mov byte [esp + 0x1ac], 0x49
mov byte [esp + 0x1ac], 1
call fcn.00402b20
mov bl, 1
mov byte [esp + 0x1a0], 0
lea ecx, [esp + 0x8c]
call fcn.00404210
mov dword [esp + 0x1a0], 0x4a
lea eax, [esp + 0x7c]
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 0x4a
mov dword [esp + 0x10], eax
mov byte [esp + 0x1a0], 0x4a
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4040f6
push eax
call fcn.00422f1c
add esp, 4
mov dword [esp + 0x1a0], 0xffffffff
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1a0], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 0x1a0], 0xffffffff
mov edi, dword [esp + 0x78]
add edi, 0xfffffff0
lea eax, [edi + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x40413e
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov al, bl
mov ecx, dword [esp + 0x198]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x180]
xor ecx, esp
call fcn.00422df2
mov esp, ebp
pop ebp
ret