Function at 0x405a40
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58e34f
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x602c90]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
push ebx
push 0x68
push 0x66
mov ecx, edi
mov dword [ebp - 0x14], ebx
call fcn.00482c6d
mov dword [ebp - 4], ebx
mov dword [edi], vtable.CAirInstallerDlg.0
mov dword [edi + 0x94], vtable.CAirInstallerDlg.1.0
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405aa9
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x154], eax
mov byte [ebp - 4], 1
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405ad9
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x158], eax
mov byte [ebp - 4], 2
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405b09
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x15c], eax
mov byte [ebp - 4], 3
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405b39
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x160], eax
mov byte [ebp - 4], 4
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405b69
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x164], eax
mov byte [ebp - 4], 5
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405b99
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x168], eax
mov byte [ebp - 4], 6
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405bc9
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x16c], eax
mov byte [ebp - 4], 7
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405bf9
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x170], eax
mov byte [ebp - 4], 8
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405c29
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x174], eax
lea ecx, [edi + 0x178]
push ecx
mov byte [ebp - 4], 9
call fcn.00464cb0
lea esi, [edi + 0x2fb80]
push esi
mov byte [ebp - 4], 0xa
call fcn.0044c4a0
mov dword [esi], vtable.CTrayIcon.0
mov dword [esi + 0x98], ebx
lea edx, [edi + 0x2fc20]
push edx
mov byte [ebp - 4], 0xb
call fcn.00423ab0
lea eax, [edi + 0x2fc60]
push eax
mov byte [ebp - 4], 0xc
call fcn.0045b9b0
mov byte [ebp - 4], 0xd
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405ca5
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc6c], eax
mov byte [ebp - 4], 0xe
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405cd5
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc74], eax
mov byte [ebp - 4], 0xf
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405d05
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc78], eax
mov byte [ebp - 4], 0x10
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405d35
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc84], eax
mov byte [ebp - 4], 0x11
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405d65
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc88], eax
mov byte [ebp - 4], 0x12
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405d95
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc8c], eax
mov byte [ebp - 4], 0x13
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405dc5
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc90], eax
mov byte [ebp - 4], 0x14
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405df5
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc94], eax
mov byte [ebp - 4], 0x15
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405e25
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fc98], eax
lea eax, [edi + 0x2fca4]
push eax
mov byte [ebp - 4], 0x16
call fcn.00431be0
lea ecx, [edi + 0x2fcd8]
push ecx
mov byte [ebp - 4], 0x17
call fcn.0044cc00
mov byte [ebp - 4], 0x18
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405e75
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fd78], eax
mov byte [ebp - 4], 0x19
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405ea5
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fd88], eax
mov byte [ebp - 4], 0x1a
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405ed5
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fd8c], eax
mov byte [ebp - 4], 0x1b
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405f05
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fdb8], eax
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405f31
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fdbc], eax
push ebx
push ebx
push ebx
push ebx
lea ecx, [edi + 0x2fdc0]
mov byte [ebp - 4], 0x1c
call fcn.00485ac2
mov byte [ebp - 4], 0x1d
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405f74
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fdd4], eax
mov byte [ebp - 4], 0x1e
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405fa4
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fde0], eax
mov byte [ebp - 4], 0x1f
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x405fd4
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fde4], eax
mov byte [ebp - 4], 0x20
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x406004
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x2fde8], eax
lea ecx, [ebp - 0x54]
push ecx
mov byte [ebp - 4], 0x21
call fcn.0043eb70
mov byte [ebp - 4], 0x22
push 0x5c232c
lea ecx, [ebp - 0x2c]
mov byte [edi + 0x2fc58], 0
call fcn.00401d80
push eax
lea ecx, [edi + 0x2fc74]
mov byte [ebp - 4], 0x23
call fcn.00405100
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40606e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x2c]
mov byte [edi + 0x2fc5d], 1
mov word [edi + 0x2fc5b], 0
mov dword [edi + 0x2fd90], ebx
call fcn.00401d80
lea esi, [edi + 0x154]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x24
call fcn.00405100
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4060c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x68
call fcn.00473506
cmp eax, ebx
je 0x4060db
push 0x68
push eax
mov ecx, esi
call fcn.00401f60
push esi
call fcn.00461750
mov ecx, esi
call fcn.00404e50
mov ecx, eax
call fcn.00404ed0
push eax
mov ecx, esi
call fcn.00405100
push 1
push 2
push 0x15
call dword [sym.imp.urlmon.dll_CoInternetSetFeatureEnabled]
push 0x5c232c
lea ecx, [ebp - 0x2c]
call fcn.00401d80
push eax
lea ecx, [edi + 0x2fdd4]
mov byte [ebp - 4], 0x25
call fcn.00405100
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406143
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x2c]
call fcn.00401d80
push eax
lea ecx, [edi + 0x174]
mov byte [ebp - 4], 0x26
call fcn.00405100
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406183
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0047977b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40619d
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0x27
call fcn.0044aeb0
push 0x5c232c
lea ecx, [ebp - 0x30]
call fcn.00401d80
push eax
lea ecx, [edi + 0x2fd88]
mov byte [ebp - 4], 0x28
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4061f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x30]
call fcn.00401d80
push eax
lea ecx, [edi + 0x2fd8c]
mov byte [ebp - 4], 0x29
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406238
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x30]
call fcn.00401d80
push eax
lea ecx, [edi + 0x2fc6c]
mov byte [ebp - 4], 0x2a
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406278
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0044b690
call fcn.0047a7f9
call fcn.0047a7f9
mov eax, dword [eax + 0xc]
push 0x80
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x4000c
mov ecx, edi
mov dword [edi + 0x2fd94], eax
call fcn.00481658
push 0x5c232c
lea ecx, [ebp - 0x30]
mov dword [edi + 0x2fdac], ebx
mov dword [edi + 0x2fda4], ebx
mov dword [edi + 0x2fd9c], ebx
mov dword [edi + 0x2fd98], ebx
mov dword [edi + 0x2fdc8], ebx
mov dword [edi + 0x2fc70], ebx
mov dword [edi + 0x2fdd8], ebx
mov dword [edi + 0x2fddc], ebx
mov word [edi + 0x2fc59], 0
call fcn.00401d80
push eax
lea ecx, [edi + 0x158]
mov byte [ebp - 4], 0x2b
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406321
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x30]
call fcn.00401d80
push eax
lea ecx, [edi + 0x15c]
mov byte [ebp - 4], 0x2c
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406361
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x30]
call fcn.00401d80
push eax
lea ecx, [edi + 0x160]
mov byte [ebp - 4], 0x2d
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4063a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x30]
call fcn.00401d80
push eax
lea ecx, [edi + 0x164]
mov byte [ebp - 4], 0x2e
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4063e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x30]
call fcn.00401d80
push eax
lea ecx, [edi + 0x168]
mov byte [ebp - 4], 0x2f
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406421
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x30]
call fcn.00401d80
push eax
lea ecx, [edi + 0x16c]
mov byte [ebp - 4], 0x30
call fcn.00405100
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406461
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi + 0x160]
push eax
lea eax, [edi + 0x2fca4]
push eax
call fcn.00432370
push 0x5c2234
lea ecx, [ebp - 0x3c]
call fcn.00401d80
mov esi, eax
push str.AirInstaller_Starting...__nVersion:
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x31
call fcn.00401d80
lea ecx, [edi + 0x2fdd4]
push ecx
push eax
lea ecx, [ebp - 0x34]
push ecx
mov byte [ebp - 4], 0x32
call fcn.00420d00
add esp, 0xc
push esi
push eax
lea edx, [ebp - 0x30]
mov bl, 0x33
push edx
mov byte [ebp - 4], bl
call fcn.00420d00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x34
call fcn.0043f300
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4064ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40650f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406532
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406555
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0047977b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40656f
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
push 0x6b
mov byte [ebp - 4], 0x35
call fcn.00473506
test eax, eax
je 0x406598
push 0x6b
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401f60
lea ecx, [ebp - 0x1c]
call fcn.00404e50
mov ecx, eax
call fcn.00404ed0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00405100
push 0x5c25c8
lea ecx, [ebp - 0x30]
call fcn.00401d80
mov esi, eax
push 0x5c25cc
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x36
call fcn.00401d80
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea edx, [ebp - 0x38]
push edx
mov byte [ebp - 4], 0x37
call fcn.00420d00
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x3c]
mov bl, 0x38
push eax
mov byte [ebp - 4], bl
call fcn.00420d00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x39
call fcn.0043f300
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406625
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406648
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40666b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40668e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x28]
call fcn.00401d80
push 0x73
mov byte [ebp - 4], 0x3a
call fcn.00473506
test eax, eax
je 0x406754
push 0x73
push eax
lea ecx, [ebp - 0x28]
call fcn.00401f60
test eax, eax
je 0x406754
push str._AFFILIATE_IMAGE
lea ecx, [ebp - 0x38]
call fcn.00401d80
push 0x5c221c
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x3b
push ecx
mov dword [ebp - 0x14], 1
call fcn.00420dc0
add esp, 0xc
mov dword [ebp - 4], 0x3c
mov esi, dword [eax]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 3
call fcn.00404e50
mov ecx, eax
call fcn.00404ed0
xor ecx, ecx
test esi, esi
setne cl
test ecx, ecx
jne 0x40671f
push 0x80004005
call fcn.00401090
mov eax, dword [eax]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x406747
test cx, cx
je 0x406743
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x406747
add eax, 4
add esi, 4
test cx, cx
jne 0x406721
xor eax, eax
jmp 0x40674c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x406754
mov bl, 1
jmp 0x406756
xor bl, bl
mov dword [ebp - 4], 0x3b
test byte [ebp - 0x14], 2
je 0x406786
mov eax, dword [ebp - 0x3c]
and dword [ebp - 0x14], 0xfffffffd
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406786
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0x3a
test byte [ebp - 0x14], 1
je 0x4067b6
mov eax, dword [ebp - 0x38]
and dword [ebp - 0x14], 0xfffffffe
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4067b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x40689c
push 0x5c25c8
lea ecx, [ebp - 0x30]
call fcn.00401d80
mov esi, eax
push str.Affiliate_Image:
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x3d
call fcn.00401d80
lea ecx, [ebp - 0x28]
push ecx
push eax
lea edx, [ebp - 0x38]
push edx
mov byte [ebp - 4], 0x3e
call fcn.00420d00
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x3c]
mov bl, 0x3f
push eax
mov byte [ebp - 4], bl
call fcn.00420d00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x40
call fcn.0043f300
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406833
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406856
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406879
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40689c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x24]
call fcn.00401d80
push 0x74
mov byte [ebp - 4], 0x41
call fcn.00473506
test eax, eax
je 0x406963
push 0x74
push eax
lea ecx, [ebp - 0x24]
call fcn.00401f60
test eax, eax
je 0x406963
push str._PRODUCT_IMAGE
lea ecx, [ebp - 0x38]
call fcn.00401d80
push 0x5c221c
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x42
or dword [ebp - 0x14], 4
push ecx
call fcn.00420dc0
add esp, 0xc
mov dword [ebp - 4], 0x43
or dword [ebp - 0x14], 8
mov esi, dword [eax]
lea ecx, [ebp - 0x24]
call fcn.00404e50
mov ecx, eax
call fcn.00404ed0
xor ecx, ecx
test esi, esi
setne cl
test ecx, ecx
jne 0x406927
push 0x80004005
call fcn.00401090
mov eax, dword [eax]
lea esp, [esp]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x406956
test cx, cx
je 0x406952
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x406956
add eax, 4
add esi, 4
test cx, cx
jne 0x406930
xor eax, eax
jmp 0x40695b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x406963
mov bl, 1
jmp 0x406965
xor bl, bl
mov dword [ebp - 4], 0x42
test byte [ebp - 0x14], 8
je 0x406995
mov eax, dword [ebp - 0x3c]
and dword [ebp - 0x14], 0xfffffff7
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406995
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0x41
test byte [ebp - 0x14], 4
je 0x4069c1
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4069c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x406aa7
push 0x5c25c8
lea ecx, [ebp - 0x30]
call fcn.00401d80
mov esi, eax
push str.Product_Image:
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x44
call fcn.00401d80
lea ecx, [ebp - 0x24]
push ecx
push eax
lea edx, [ebp - 0x38]
push edx
mov byte [ebp - 4], 0x45
call fcn.00420d00
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x3c]
mov bl, 0x46
push eax
mov byte [ebp - 4], bl
call fcn.00420d00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x47
call fcn.0043f300
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a3e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406a84
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406aa7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x20]
call fcn.00401d80
push 0x84
mov byte [ebp - 4], 0x48
call fcn.00473506
test eax, eax
je 0x406bcb
push 0x84
push eax
lea ecx, [ebp - 0x20]
call fcn.00401f60
test eax, eax
je 0x406bcb
mov ecx, dword [ebp - 0x20]
cmp dword [ecx - 0xc], 0
je 0x406bcb
push 0x5c25c8
lea ecx, [ebp - 0x30]
call fcn.00401d80
mov esi, eax
push str.Download_Url:
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x49
call fcn.00401d80
lea edx, [ebp - 0x20]
push edx
push eax
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0x4a
call fcn.00420d00
add esp, 0xc
push esi
push eax
lea ecx, [ebp - 0x3c]
mov bl, 0x4b
push ecx
mov byte [ebp - 4], bl
call fcn.00420d00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x4c
call fcn.0043f300
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406b62
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406b85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ba8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406bcb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c232c
lea ecx, [ebp - 0x18]
call fcn.00401d80
push 0x75
mov byte [ebp - 4], 0x4d
call fcn.00473506
test eax, eax
je 0x406cf4
push 0x75
push eax
lea ecx, [ebp - 0x18]
call fcn.00401f60
test eax, eax
je 0x406cf4
lea ecx, [ebp - 0x18]
call fcn.00404e50
mov ecx, eax
call fcn.00404ed0
push eax
lea ecx, [ebp - 0x18]
call fcn.00405100
push 0x5c25c8
lea ecx, [ebp - 0x30]
call fcn.00401d80
mov esi, eax
push str.Host_Browser:
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x4e
call fcn.00401d80
lea ecx, [ebp - 0x18]
push ecx
push eax
lea edx, [ebp - 0x38]
push edx
mov byte [ebp - 4], 0x4f
call fcn.00420d00
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x3c]
mov bl, 0x50
push eax
mov byte [ebp - 4], bl
call fcn.00420d00
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x51
call fcn.0043f300
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406c8b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406cae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406cd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406cf4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [edi + 0x170]
sub eax, 0x10
push eax
call fcn.00405370
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x3c], esi
lea edx, [ebp - 0x3c]
lea ecx, [edi + 0x17c]
push edx
mov byte [ebp - 4], 0x52
call fcn.00405100
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x4d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406d3f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [edi + 0x2fdf0], 0
call fcn.0047977b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406d63
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x3c], esi
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [edi + 0x2fde0]
mov byte [ebp - 4], 0x53
call fcn.00405100
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x4d
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406da5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0047977b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406dbf
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x3c], esi
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [edi + 0x2fde4]
mov byte [ebp - 4], 0x54
call fcn.00405100
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x4d
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406e01
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0047977b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406e1b
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x3c], esi
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [edi + 0x2fde8]
mov byte [ebp - 4], 0x55
call fcn.00405100
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x4d
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x406e5d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
mov byte [edi + 0x2fdec], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406e87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406eaa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ecd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406ef0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f13
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ebx, [ebp - 0x4c]
mov byte [ebp - 4], 0x57
call fcn.00421170
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f65
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406f88
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4