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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x584fda
mov eax, dword fs:[0]
push eax
sub esp, 0x100
push ebx
push esi
push edi
mov eax, dword [0x5eb6e0]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor edi, edi
push edi
push edi
mov dword [esp + 0x18], edi
mov eax, dword [ebx + 0x20]
push 0x402
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
lea esi, [esp + 0x7c]
mov eax, 0x5f38c8
call fcn.00405ff0
push 0x6c
mov dword [esp + 0x11c], edi
call fcn.0045337b
mov esi, eax
add esp, 4
mov dword [esp + 0x40], esi
mov byte [esp + 0x118], 1
cmp esi, edi
je 0x4283e8
mov ecx, esi
call fcn.00455ee7
mov dword [esi], vtable.CDownloadCore.0
mov dword [esi + 0x60], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x64], edi
jmp 0x4283ea
xor esi, esi
mov byte [esp + 0x118], 0
mov eax, dword [esp + 0x7c]
push ecx
add eax, 0xfffffff0
mov dword [ebx + 0xb0], esi
mov dword [esp + 0x44], esp
mov esi, esp
push eax
mov dword [esp + 0x48], eax
call fcn.00403760
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebx + 0xb0]
add esp, 4
call fcn.00415330
cmp eax, edi
jne 0x428440
mov ecx, dword [ebx + 0xb0]
cmp ecx, edi
je 0x42843a
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebx + 0xb0], edi
xor esi, esi
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], vtable.CArray_class_CInstallInfo__class_CInstallInfo__.0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
lea edi, [esp + 0x60]
call fcn.004244c0
push 0xb
lea ecx, [esp + 0x40]
push ecx
mov ecx, 0x5f38c8
mov byte [esp + 0x120], 3
call fcn.00432310
push 0x10
push str.softwareinfo.ini
lea ecx, [esp + 0x44]
mov byte [esp + 0x120], 4
call fcn.00405900
cmp dword [0x5f3994], esi
jne 0x4284ad
call fcn.004117a0
test eax, eax
je 0x4284cc
push 0x40004
push str.For_Debbuger
push str.Skip_All_
mov ecx, ebx
call fcn.00456173
cmp eax, 6
je 0x428a91
lea ecx, [esp + 0x4c]
mov dword [ebx + 0xa4], 0x14
call fcn.00464e0c
mov byte [esp + 0x118], 5
mov dword [esp + 0x14], 1
call fcn.00453e50
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
je 0x4286ef
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x118], 6
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x14]
push 0x5b1fe0
push edx
call fcn.00404130
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
add edi, 0xfffffff0
add esp, 8
mov dword [esp + 0x84], esp
mov ebx, esp
call edx
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
jl 0x428566
cmp eax, dword [edi]
jne 0x428566
mov esi, edi
mov eax, 1
lock xadd dword [edx], eax
jmp 0x4285a1
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x428dd6
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [edi + 0x10]
push edx
lea eax, [eax + eax + 2]
push eax
lea ecx, [esi + 0x10]
push ecx
call fcn.0055065e
add esp, 0x10
add esi, 0x10
mov dword [ebx], esi
push ecx
mov byte [esp + 0x120], 7
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.ORDER_Essential
call fcn.00403320
mov byte [esp + 0x120], 8
mov esi, dword [esp + 0x44]
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [esp + 0x28], esp
mov dword [esp + 0x28], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4285fb
cmp eax, dword [esi]
jne 0x4285fb
mov ebx, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x428636
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x428dd6
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.0055065e
add esp, 0x10
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x2c]
add ebx, 0x10
mov dword [ecx], ebx
push edx
mov byte [esp + 0x128], 6
call fcn.00413730
add esp, 0x10
mov byte [esp + 0x118], 9
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
je 0x4286f9
push eax
mov eax, dword [esp + 0x18]
push eax
push str.DownloadEssential_Loop__d___s__r_n
mov eax, 0x5f38b8
call fcn.004053d0
mov edx, dword [esp + 0x60]
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
push edx
lea ecx, [esp + 0x54]
call fcn.004651ad
mov byte [esp + 0x118], 6
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4286bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x118], 5
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4286de
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
inc dword [esp + 0x14]
call fcn.00453e50
test eax, eax
jne 0x428503
push 0x80004005
call fcn.004038e0
add eax, 0xfffffff0
mov byte [esp + 0x118], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42871d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x118], 5
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428745
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x5f3a74]
mov ecx, dword [esp + 0x54]
push edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0x20], ecx
call fcn.0042d590
mov eax, dword [0x5f3a74]
mov ecx, dword [esp + 0x2c]
push eax
mov eax, dword [0x5f3a70]
push ecx
call fcn.0042d840
xor ebx, ebx
cmp dword [esp + 0x54], ebx
mov dword [esp + 0x14], ebx
jle 0x428a1a
xor esi, esi
cmp dword [esp + 0x30], esi
jle 0x428820
mov edx, dword [esp + 0x2c]
add edx, 8
mov dword [esp + 0x10], edx
lea esp, [esp]
test esi, esi
jl 0x428a8c
cmp esi, dword [esp + 0x30]
jge 0x428a8c
test ebx, ebx
jl 0x428a8c
cmp ebx, dword [esp + 0x54]
jge 0x428a8c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x4286ef
mov edi, dword [esp + 0x50]
mov eax, dword [edi + ebx*4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x428806
test dx, dx
je 0x428802
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x428806
add eax, 4
add ecx, 4
test dx, dx
jne 0x4287e0
xor eax, eax
jmp 0x42880b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x42887d
add dword [esp + 0x10], 0x1c
inc esi
cmp esi, dword [esp + 0x30]
jl 0x4287a0
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x64]
mov dword [esp + 0x14], 0
push eax
test ebx, ebx
jl 0x428a8c
cmp ebx, dword [esp + 0x5c]
jge 0x428a8c
mov edx, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x20]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
sub esi, 0x10
mov dword [esp + 0x50], esp
mov edi, esp
call edx
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x428898
cmp eax, dword [esi]
jne 0x428898
mov ebx, esi
mov eax, 1
lock xadd dword [edx], eax
jmp 0x4288d3
mov ecx, dword [edi + ebx*4]
push ecx
push str._s_is_already_downloaded__r_n
mov eax, 0x5f38b8
call fcn.004053d0
add esp, 8
jmp 0x428a0b
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x428dd6
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.0055065e
add esp, 0x10
mov ecx, dword [ebp + 8]
add ebx, 0x10
push ecx
mov dword [edi], ebx
call fcn.00426730
test eax, eax
je 0x4289ce
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x54]
jge 0x428a8c
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x68]
mov ecx, edx
mov ecx, dword [eax + ecx*4]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x428955
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x428947
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x428947
push eax
call fcn.00403760
mov edi, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x42893e
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add edi, 0x10
mov dword [esp + 0x68], edi
jmp 0x428955
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.004036a0
mov esi, dword [esp + 0x30]
test esi, esi
jl 0x428a8c
lea ecx, [esi + 1]
push ecx
lea ebx, [esp + 0x2c]
call fcn.0042d590
mov eax, dword [esp + 0x2c]
lea edx, [esi*8]
sub edx, esi
lea ecx, [esp + 0x60]
lea esi, [eax + edx*4]
push ecx
mov ecx, esi
call fcn.004037d0
lea edx, [esp + 0x64]
lea ecx, [esi + 4]
push edx
call fcn.004037d0
lea eax, [esp + 0x68]
lea ecx, [esi + 8]
push eax
call fcn.004037d0
mov ecx, dword [esp + 0x6c]
mov dword [esi + 0xc], ecx
lea edx, [esp + 0x70]
add esi, 0x10
push edx
mov ecx, esi
call fcn.004037d0
lea eax, [esp + 0x74]
lea ecx, [esi + 4]
push eax
call fcn.004037d0
mov ecx, dword [esp + 0x78]
mov dword [esi + 8], ecx
cmp dword [esp + 0x10], 0
je 0x4289dd
mov dword [esp + 0x24], 0
mov eax, 0x3c
cdq
idiv dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc edx
push 0
imul eax, edx
add eax, 0x14
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push 0x402
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, dword [esp + 0x54]
mov dword [esp + 0x14], ebx
jl 0x428782
mov edi, dword [esp + 0x30]
push 0x5f3bb0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
call fcn.00550ad9
add esp, 4
sub eax, dword [0x5f3ba8]
sbb edx, dword [0x5f3bac]
mov dword [esp + 0x48], edx
js 0x428a53
jg 0x428a4e
cmp eax, 0x7fffffff
jbe 0x428a53
mov eax, SysReAllocString
push 0x5f3bb0
mov dword [0x5f3b64], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20]
push 0
push 0x50
push 0x402
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x118], 4
call fcn.0046505e
jmp 0x428ac5
call fcn.00453d3c
push 6
push str.Dummmy
lea ecx, [esp + 0x70]
call fcn.004036a0
push 1
lea ebx, [esp + 0x2c]
call fcn.0042d590
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x60]
call fcn.0042d990
mov edi, dword [esp + 0x30]
mov dword [esp + 0x24], 1
push edi
mov ebx, 0x5f3a6c
call fcn.0042d590
mov ecx, dword [0x5f3a70]
mov esi, dword [esp + 0x2c]
push edi
push ecx
mov eax, esi
call fcn.0042d840
xor ebx, ebx
test edi, edi
jle 0x428b12
test ebx, ebx
jl 0x428a8c
cmp ebx, edi
jge 0x428a8c
mov edx, dword [esi]
mov eax, dword [esi + 8]
push edx
push eax
push str.DOWNLOADED_LIST___s____s___r_n
mov eax, 0x5f38b8
call fcn.004053d0
inc ebx
add esp, 0xc
add esi, 0x1c
cmp ebx, edi
jl 0x428ae9
lea edi, [esp + 0x84]
call fcn.00401eb0
mov byte [esp + 0x118], 0xa
mov ecx, 9
mov esi, 0x5f399c
lea edi, [esp + 0x84]
rep movsd dword es:[edi], dword [esi]
mov edi, 0x5f39c0
lea esi, [esp + 0xa8]
call fcn.00401080
mov ecx, dword [0x5f3a00]
mov eax, dword [0x5f3a08]
mov edx, dword [0x5f3a04]
mov esi, dword [esp + 0x104]
mov dword [esp + 0xe8], ecx
mov ecx, dword [0x5f3a0c]
mov dword [esp + 0xf4], ecx
mov ecx, dword [0x5f3a18]
mov dword [esp + 0xf0], eax
mov eax, dword [0x5f3a14]
mov dword [esp + 0x100], ecx
mov ecx, dword [0x5f3a1c]
mov dword [esp + 0xfc], eax
mov dword [esp + 0xec], edx
mov edx, dword [0x5f3a10]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
mov dword [esp + 0xf8], edx
cmp eax, esi
je 0x428c07
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x428bf6
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x428bf6
push eax
call fcn.00403760
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x428bea
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x104], ebx
jmp 0x428c07
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x10c]
call fcn.004036a0
mov ecx, dword [0x5f3a20]
mov esi, dword [esp + 0x108]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x428c6b
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x428c5a
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x428c5a
push eax
call fcn.00403760
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x428c4e
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x108], ebx
jmp 0x428c6b
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x110]
call fcn.004036a0
lea esi, [esp + 0x20]
mov eax, 0x5f38c8
call fcn.00424610
mov byte [esp + 0x118], 0xb
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
mov ebx, 1
mov dword [esp + 0x10], ebx
jne 0x428cb2
lea esi, [esp + 0x1c]
mov eax, 0x5f38c8
call fcn.00424640
mov edx, dword [eax]
cmp dword [edx - 0xc], 0
mov ebx, 3
mov byte [esp + 0x1b], 1
je 0x428cb7
mov byte [esp + 0x1b], 0
test bl, 2
je 0x428ce3
mov eax, dword [esp + 0x1c]
and ebx, 0xfffffffd
add eax, 0xfffffff0
mov dword [esp + 0x10], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428ce3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x118], 0xa
test bl, 1
je 0x428d13
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428d13
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x1b], 0
je 0x429123
call fcn.00453e50
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x428d38
push 0x80004005
call fcn.004038e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x118], 0xc
call fcn.00453e50
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x428d6a
push 0x80004005
call fcn.004038e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x118], 0xd
mov esi, dword [esp + 0xac]
lea ecx, [esp + 0x1c]
push ecx
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
lea ebx, [esp + 0x28]
mov dword [esp + 0x4c], esp
mov dword [esp + 0x18], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x428dc2
cmp eax, dword [esi]
jne 0x428dc2
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x428dfe
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x428ddb
call fcn.00403750
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0055065e
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 8]
add edi, 0x10
mov dword [ecx], edi
push edx
mov ecx, ebx
lea edx, [esp + 0x20]
call fcn.0042bcc0
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
je 0x428f6d
cmp dword [0x5f3994], 0
jne 0x428e3e
call fcn.004117a0
test eax, eax
je 0x428eb9
call fcn.00453e50
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x428e58
push 0x80004005
call fcn.004038e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x118], 0xf
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x14]
push str.Downloaded_SetupGuide__s_
push edx
call fcn.00404130
mov esi, dword [esp + 0x1c]
add esp, 0xc
push 0
push 0
push esi
call fcn.0045e837
lea eax, [esi - 0x10]
mov byte [esp + 0x118], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428eb9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
push str.Downloaded_Manual__s__r_n
mov eax, 0x5f38b8
call fcn.004053d0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
push eax
call fcn.00403760
add eax, 0x10
add esp, 0xc
mov dword [esp + 0x44], eax
mov byte [esp + 0x118], 0x10
mov edi, dword [0x5f3a60]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x428f4c
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x428f3d
mov edx, dword [esi]
cmp edx, dword [edi]
jne 0x428f3d
push esi
call fcn.00403760
mov dword [esp + 0x14], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x428f2e
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov ecx, dword [esp + 0x10]
add ecx, 0x10
mov dword [0x5f3a60], ecx
jmp 0x428f4c
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, 0x5f3a60
call fcn.004036a0
mov byte [esp + 0x118], 0xe
lea edx, [esi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x428f6d
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ebx, dword [esp + 0x20]
cmp dword [ebx - 0xc], 0
je 0x4290af
cmp dword [0x5f3994], 0
jne 0x428f8d
call fcn.004117a0
test eax, eax
je 0x429004
call fcn.00453e50
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x428fa7
push 0x80004005
call fcn.004038e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
push ebx
lea ecx, [esp + 0x14]
push str.Downloaded_PanelGuide__s_
push ecx
mov byte [esp + 0x124], 0x11
call fcn.00404130
mov esi, dword [esp + 0x1c]
add esp, 0xc
push 0
push 0
push esi
call fcn.0045e837
lea eax, [esi - 0x10]
mov byte [esp + 0x118], 0xe
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x429004
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ebx
push str.Downloaded_PanelGuide__s__r_n
mov eax, 0x5f38b8
call fcn.004053d0
lea eax, [ebx - 0x10]
push eax
call fcn.00403760
add eax, 0x10
add esp, 0xc
mov dword [esp + 0x44], eax
mov byte [esp + 0x118], 0x12
mov edi, dword [0x5f3a64]
lea esi, [eax - 0x10]
add edi, 0xfffffff0
cmp esi, edi
je 0x42908e
cmp dword [edi + 0xc], 0
jl 0x42907f
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x42907f
push esi
call fcn.00403760
mov dword [esp + 0x14], eax
add esp, 4
lea eax, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x429071
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, dword [esp + 0x10]
add eax, 0x10
mov dword [0x5f3a64], eax
jmp 0x42908e
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, 0x5f3a64
call fcn.004036a0
mov byte [esp + 0x118], 0xe
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4290af
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov byte [esp + 0x118], 0xd
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4290d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0xfffffff0
mov byte [esp + 0x118], 0xc
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4290fb
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [esp + 0x118], 0xa
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429123
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0xb0]
test ecx, ecx
je 0x429143
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [esi + 0xb0], 0
mov ecx, dword [esi + 0x20]
push 0
push 0x64
push 0x402
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [esp + 0x24]
push edx
push str.Download_Web_Essential_Exit_bRet__d__r_n
mov eax, 0x5f38b8
call fcn.004053d0
mov byte [esp + 0x120], 4
mov eax, dword [esp + 0x110]
add eax, 0xfffffff0
add esp, 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429198
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x104]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4291bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esp + 0xa8]
call fcn.00401fa0
mov byte [esp + 0x118], 3
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4291ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [esp + 0x60]
call fcn.00426690
mov byte [esp + 0x118], 0
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x429228
mov edi, dword [esp + 0x30]
test edi, edi
jle 0x42921f
mov esi, ebx
call fcn.00426690
add esi, 0x1c
sub edi, 1
jne 0x429212
push ebx
call fcn.004533aa
add esp, 4
mov dword [esp + 0x118], 0xffffffff
mov eax, dword [esp + 0x40]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x429250
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4