Function at 0x41b501
Capabilities:
Get geographical location
Parse pe header

Disassembly:
push ebp
sub esp, 0x5c
lea ebp, [esp - 4]
mov eax, dword [0x47e150]
xor eax, ebp
mov dword [ebp + 0x5c], eax
push 0x120
mov eax, 0x46127a
call fcn.00441509
mov ebx, ecx
xor edi, edi
lea eax, [ebx + 0x27c]
mov dword [ebp + 0x30], edi
fld dword [eax]
fstp dword [ebp - 0x30]
fld dword [0x465a48]
fcomp dword [eax]
fnstsw ax
test ah, 0x44
jp 0x41b54c
fld dword [0x464bd0]
fstp dword [ebp - 0x30]
push 0xa
call fcn.0041d4fe
fld dword [ebp - 0x30]
push ecx
fstp qword [esp]
push str._.4g
push eax
mov dword [ebp - 0x9c], eax
call fcn.004435b7
push 0x14
push dword [ebp - 0x9c]
lea eax, [ebp + 0x34]
push eax
call fcn.00443919
add esp, 0x1c
mov esi, 0x464a71
push esi
lea ecx, [ebp + 0xc]
call fcn.00403d41
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 1
call fcn.0041316c
push esi
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 2
call fcn.00403d41
push esi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00403d41
push esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00403d41
lea eax, [ebp + 0x28]
push 0x94
push eax
mov byte [ebp - 4], 5
call fcn.004088eb
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 6
call fcn.00403b64
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.0040127f
push str.http:__install2.optimum_installer.com
lea ecx, [ebp + 0xc]
call fcn.00403bb1
push str._config_
lea ecx, [ebp + 0xc]
call fcn.00403c91
mov eax, dword [ebp - 0x70]
push dword [eax - 0xc]
lea ecx, [ebp + 0xc]
push eax
call fcn.00403a5f
push str._offers.json_version1.0
lea ecx, [ebp + 0xc]
call fcn.00403c91
push str.pidinstaller
lea ecx, [ebp + 0xc]
call fcn.00403c91
push str.ts
lea ecx, [ebp + 0xc]
call fcn.00403c91
lea eax, [ebp + 0x28]
push 0x93
push eax
call fcn.004088eb
pop ecx
pop ecx
mov eax, dword [eax]
push dword [eax - 0xc]
lea ecx, [ebp + 0xc]
push eax
mov byte [ebp - 4], 7
call fcn.00403a5f
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.0040127f
push ecx
lea eax, [ebp + 0xc]
mov dword [ebp + 0x28], esp
mov ecx, esp
push eax
call fcn.00403601
lea eax, [ebp + 0x28]
push eax
call fcn.004091b3
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 8
call fcn.00403b64
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.0040127f
lea ecx, [ebp - 0x74]
call fcn.00403409
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push edi
push edi
push 0xffffffffffffffff
push eax
push edi
mov edi, 0xfde9
push edi
call esi
xor ecx, ecx
push 2
pop edx
mov dword [ebp + 0x28], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041d4fe
pop ecx
lea ecx, [ebp - 0x74]
mov dword [ebp], eax
call fcn.00403409
push dword [ebp + 0x28]
push dword [ebp]
push 0xffffffffffffffff
push eax
push 0
push edi
call esi
push dword [ebp]
call fcn.00417cfb
pop ecx
push dword [ebp]
mov dword [ebp - 0x78], eax
call fcn.0041d4f3
pop ecx
lea ecx, [ebp - 0x98]
call fcn.0040d13d
lea eax, [ebp - 0x120]
push eax
push dword [ebx + 0x20]
mov byte [ebp - 4], 9
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x41cf66
lea eax, [ebp - 0xf4]
push eax
call fcn.0041896d
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xa
call fcn.0040d1ac
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 9
call fcn.0040c907
mov esi, str.headers
push esi
lea ecx, [ebp - 0x4c]
call fcn.00409b87
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x80]
xor edi, edi
inc edi
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0xb
mov dword [ebp + 0x30], edi
call fcn.0040610c
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407b7e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41b7e8
push esi
lea ecx, [ebp - 0x2c]
call fcn.00409b87
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xc
mov dword [ebp + 0x30], 3
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41b7ec
mov byte [ebp + 0x2e], 0
test byte [ebp + 0x30], 2
je 0x41b801
and dword [ebp + 0x30], 0xfffffffd
push 0
push edi
lea ecx, [ebp - 0x2c]
call fcn.00406474
test byte [ebp + 0x30], 1
mov dword [ebp - 4], 9
je 0x41b81d
and dword [ebp + 0x30], 0xfffffffe
push 0
push edi
lea ecx, [ebp - 0x4c]
call fcn.00406474
cmp byte [ebp + 0x2e], 0
je 0x41b94f
push esi
lea ecx, [ebp - 0x4c]
call fcn.00409b87
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xd
call fcn.0040dd5a
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
push 0
push edi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xf
call fcn.00406474
push 0
lea ecx, [ebp - 0x28]
call fcn.00404a11
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
lea eax, [ebp + 0x34]
push eax
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x28], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x10
call fcn.0040d156
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.0041b0b7
push 0x4657e0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x11
call fcn.004033e7
test eax, eax
jne 0x41b8d1
fld1
lea ecx, [ebp + 0x20]
fcomp dword [ebp - 0x30]
fnstsw ax
test ah, 0x44
jp 0x41b8c7
push str.http:__cdn.install.oibundles2.com_installerpackage_wisedownloads_muted_muted_optimum_header.jpg
jmp 0x41b8cc
push str.http:__cdn.install.oibundles2.com_installerpackage_wisedownloads_muted_muted_optimum_header_125.jpg
call fcn.00403bb1
and dword [ebx + 0x2a0], 0
mov eax, dword [ebp - 0x118]
sub esp, 0x10
mov dword [ebx + 0x2a4], eax
mov dword [ebx + 0x2a8], 0x52
mov edi, esp
lea esi, [ebx + 0x29c]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x20]
mov dword [ebp + 0x28], esp
mov ecx, esp
push eax
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
mov ecx, dword [ebp + 0x20]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x280], eax
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0xf
call fcn.0040c907
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.004064bf
push dword [ebp - 0x28]
call fcn.0041d4f3
xor edi, edi
pop ecx
inc edi
mov esi, str.progress
push esi
lea ecx, [ebp - 0x4c]
mov byte [ebp + 0x27], 0
call fcn.00409b87
or dword [ebp + 0x30], 4
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x80]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x12
call fcn.0040610c
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407b7e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41b9cf
push esi
lea ecx, [ebp - 0x2c]
call fcn.00409b87
or dword [ebp + 0x30], 8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x13
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41b9d3
mov byte [ebp + 0x2e], 0
test byte [ebp + 0x30], 8
je 0x41b9e8
and dword [ebp + 0x30], 0xfffffff7
push 0
push edi
lea ecx, [ebp - 0x2c]
call fcn.00406474
test byte [ebp + 0x30], 4
mov dword [ebp - 4], 9
je 0x41ba04
and dword [ebp + 0x30], 0xfffffffb
push 0
push edi
lea ecx, [ebp - 0x4c]
call fcn.00406474
cmp byte [ebp + 0x2e], 0
je 0x41ba0e
mov byte [ebp + 0x27], 1
lea eax, [ebp]
push 0x95
push eax
call fcn.004088eb
pop ecx
pop ecx
cmp byte [ebp + 0x27], 0
mov byte [ebp - 4], 0x14
jne 0x41bc03
push 0x467600
lea ecx, [ebp]
call fcn.004033e7
test eax, eax
jne 0x41bc03
call fcn.0041f689
push eax
lea ecx, [ebp + 0x1c]
call fcn.004138d7
mov byte [ebp - 4], 0x15
call fcn.0041f689
push eax
lea ecx, [ebp + 0x30]
call fcn.004138d7
fld dword [0x464bd0]
fcomp dword [ebp - 0x30]
mov byte [ebp - 4], 0x16
lea ecx, [ebp + 0x1c]
mov esi, str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_Cityville_Banner_Installer_Portuguese_125.jpg
fnstsw ax
test ah, 0x44
jnp 0x41ba82
mov esi, str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_Cityville_Banner_Installer_Portuguese.jpg
push esi
call fcn.00403bb1
push esi
lea ecx, [ebp + 0x30]
call fcn.00403bb1
mov eax, dword [ebp - 0x118]
sub esp, 0x10
mov dword [ebx + 0x294], eax
mov dword [ebx + 0x290], 0xd6
mov dword [ebx + 0x298], 0x210
mov edi, esp
lea esi, [ebx + 0x28c]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x1c]
mov dword [ebp + 0x28], esp
mov ecx, esp
push eax
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
add esp, 0x14
sub esp, 0x10
mov dword [ebx + 0x284], eax
mov eax, dword [ebp - 0x118]
mov dword [ebx + 0x2b4], eax
mov dword [ebx + 0x2b0], 0xd6
mov dword [ebx + 0x2b8], 0x210
mov edi, esp
lea esi, [ebx + 0x2ac]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x30]
mov dword [ebp + 0x28], esp
mov ecx, esp
push eax
mov byte [ebx + 0x334], 1
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
and dword [ebp - 0x104], 0
add esp, 0x14
push str.http:__cxpfy.com_inline_oneclick__productidinstalleruseriduser_idkeywordcityville_offer
lea ecx, [ebp + 0x20]
mov dword [ebx + 0x288], eax
mov dword [ebp - 0x100], 0xd6
mov dword [ebp - 0xfc], 0x2a8
mov dword [ebp - 0xf8], 0x266
call fcn.00403d41
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x17
call fcn.0040936e
lea edi, [ebx + 0x2e4]
mov eax, dword [edi + 8]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov ecx, edi
call fcn.00419c96
lea esi, [ebx + 0x2f8]
mov eax, dword [esi + 8]
lea ecx, [ebp + 0x20]
push ecx
push eax
mov ecx, esi
call fcn.0041a8d8
push edi
lea ecx, [ebx + 0x2bc]
call fcn.0041a02c
push esi
lea ecx, [ebx + 0x2d0]
call fcn.0041aab1
lea ecx, [ebx + 0x30c]
mov eax, dword [ecx + 8]
lea edx, [ebp - 0x104]
push edx
push eax
call fcn.00419c96
lea ecx, [ebx + 0x320]
mov eax, dword [ecx + 8]
lea edx, [ebp + 0x20]
push edx
push eax
call fcn.0041a8d8
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.0040127f
mov ecx, dword [ebp + 0x30]
add ecx, 0xfffffff0
call fcn.0040127f
mov ecx, dword [ebp + 0x1c]
jmp 0x41cf2d
lea eax, [ebp + 0x28]
push 0x9d
push eax
mov byte [ebp + 0x1b], 0
mov byte [ebp + 0x27], 0
call fcn.004088eb
pop ecx
pop ecx
push dword [eax]
call fcn.004435ac
pop ecx
mov ecx, dword [ebp + 0x28]
cmp eax, edi
setne byte [ebp + 0x2f]
add ecx, 0xfffffff0
call fcn.0040127f
cmp byte [ebp + 0x2f], 0
je 0x41cda8
push esi
lea ecx, [ebp - 0x4c]
call fcn.00409b87
or dword [ebp + 0x30], 0x10
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x80]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x18
call fcn.0040610c
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407b7e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41bcb5
push esi
lea ecx, [ebp - 0x2c]
call fcn.00409b87
or dword [ebp + 0x30], 0x20
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x19
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f46
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41bcb9
mov byte [ebp + 0x2e], 0
test byte [ebp + 0x30], 0x20
je 0x41bcce
and dword [ebp + 0x30], 0xffffffdf
push 0
push edi
lea ecx, [ebp - 0x2c]
call fcn.00406474
test byte [ebp + 0x30], 0x10
push 0x14
pop edi
mov dword [ebp - 4], edi
je 0x41bcea
and dword [ebp + 0x30], 0xffffffef
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00406474
push str.progress
lea ecx, [ebp - 0x4c]
call fcn.00409b87
cmp byte [ebp + 0x2e], 0
je 0x41bf40
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1a
call fcn.0040dd5a
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1c
call fcn.00406474
mov esi, str.images
push esi
lea ecx, [ebp - 0x110]
call fcn.00409b87
or dword [ebp + 0x30], 0x40
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x1d
call fcn.0040610c
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407b7e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41bdac
push esi
lea ecx, [ebp - 0x2c]
call fcn.00409b87
or dword [ebp + 0x30], 0x80
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x1e
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41bdb0
mov byte [ebp + 0x2e], 0
test byte [ebp + 0x30], 0x80
je 0x41bdc8
and dword [ebp + 0x30], 0xffffff7f
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.00406474
test byte [ebp + 0x30], 0x40
mov dword [ebp - 4], 0x1c
je 0x41bde7
and dword [ebp + 0x30], 0xffffffbf
push edi
push 1
lea ecx, [ebp - 0x110]
call fcn.00406474
cmp byte [ebp + 0x2e], 0
je 0x41bef1
push esi
lea ecx, [ebp - 0x110]
mov byte [ebp + 0x1b], 1
call fcn.00409b87
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1f
call fcn.0040dd5a
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
push edi
push 1
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x21
call fcn.00406474
push edi
lea ecx, [ebp - 0x28]
call fcn.00404a11
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
lea eax, [ebp + 0x34]
push eax
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x22
call fcn.0040d156
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041b0b7
mov eax, dword [ebp - 0x118]
sub esp, 0x10
mov dword [ebx + 0x294], eax
mov dword [ebx + 0x290], 0xd6
mov dword [ebx + 0x298], 0x210
mov edi, esp
lea esi, [ebx + 0x28c]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x28]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x23
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
mov ecx, dword [ebp + 0x28]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x284], eax
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x21
call fcn.0040c907
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1c
call fcn.004064bf
push dword [ebp - 0x28]
call fcn.0041d4f3
pop ecx
lea edi, [ebx + 0x2f8]
push edi
lea esi, [ebx + 0x2e4]
push esi
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x28], esp
mov ecx, esp
push eax
call fcn.0040d156
mov ecx, ebx
call fcn.0041b24c
push esi
lea ecx, [ebx + 0x2bc]
call fcn.0041a02c
push edi
lea ecx, [ebx + 0x2d0]
call fcn.0041aab1
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x14
call fcn.0040c907
jmp 0x41c4cb
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x80]
mov esi, 0x100
or dword [ebp + 0x30], esi
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x24
call fcn.0040610c
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407b7e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41bfb9
push str.progress
lea ecx, [ebp - 0x2c]
call fcn.00409b87
or dword [ebp + 0x30], 0x200
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x25
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41bfbd
mov byte [ebp + 0x2e], 0
test dword [ebp + 0x30], 0x200
je 0x41bfd9
and dword [ebp + 0x30], 0xfffffdff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00406474
mov dword [ebp - 4], edi
test dword [ebp + 0x30], esi
je 0x41bff4
and dword [ebp + 0x30], 0xfffffeff
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00406474
cmp byte [ebp + 0x2e], 0
je 0x41c4cb
push str.progress
lea ecx, [ebp - 0xb8]
call fcn.00409b87
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x26
call fcn.0040dd5a
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x28
call fcn.00406474
mov byte [ebp + 0x2e], 0
mov dword [ebp + 0x1c], edi
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
mov esi, str.criteria
sar eax, 2
cmp dword [ebp + 0x1c], eax
jae 0x41c4b6
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x28]
call fcn.00404a11
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
push esi
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x29
call fcn.00409b87
or dword [ebp + 0x30], 0x400
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x2a
call fcn.0040610c
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407b7e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41c0f8
push esi
lea ecx, [ebp - 0x4c]
call fcn.00409b87
or dword [ebp + 0x30], 0x800
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x2b
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c0fc
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x800
je 0x41c117
and dword [ebp + 0x30], 0xfffff7ff
push edi
push 1
lea ecx, [ebp - 0x4c]
call fcn.00406474
test dword [ebp + 0x30], 0x400
mov dword [ebp - 4], 0x29
je 0x41c13c
and dword [ebp + 0x30], 0xfffffbff
push edi
push 1
lea ecx, [ebp - 0xd4]
call fcn.00406474
cmp byte [ebp + 0x2f], 0
je 0x41c28d
push esi
lea ecx, [ebp - 0xd4]
call fcn.00409b87
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x2c
call fcn.0040dd5a
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
push edi
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x2e
call fcn.00406474
xor esi, esi
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
sar eax, 2
cmp esi, eax
jae 0x41c24b
push esi
lea ecx, [ebp - 0x48]
call fcn.00404a11
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
push str.type
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x2f
call fcn.0040d156
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041b0b7
push 0x465be8
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x30
call fcn.0040d156
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.0041b0b7
push str.country
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x31
call fcn.004033e7
cmp eax, edi
jne 0x41c262
push edi
push dword [ebp]
lea ecx, [ebp + 0x20]
call fcn.00405d89
cmp eax, 0xffffffff
jle 0x41c262
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
mov byte [ebp + 0x2e], 1
call fcn.0040127f
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x2e
call fcn.0040c907
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x29
call fcn.004064bf
push dword [ebp - 0x48]
call fcn.0041d4f3
pop ecx
jmp 0x41c291
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.0040127f
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x2e
call fcn.0040c907
inc esi
jmp 0x41c184
mov byte [ebp + 0x2e], 1
cmp byte [ebp + 0x2e], 0
je 0x41c802
mov edi, str.images
push edi
lea ecx, [ebp - 0x4c]
call fcn.00409b87
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x54]
mov esi, 0x1000
or dword [ebp + 0x30], esi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x32
call fcn.0040610c
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407b7e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41c31e
push edi
lea ecx, [ebp - 0xd4]
call fcn.00409b87
or dword [ebp + 0x30], 0x2000
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x33
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c322
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x2000
je 0x41c341
and dword [ebp + 0x30], 0xffffdfff
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.00406474
mov dword [ebp - 4], 0x29
test dword [ebp + 0x30], esi
je 0x41c360
and dword [ebp + 0x30], 0xffffefff
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.00406474
cmp byte [ebp + 0x2f], 0
je 0x41c46c
push edi
lea ecx, [ebp - 0xd4]
mov byte [ebp + 0x1b], 1
call fcn.00409b87
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x34
call fcn.0040dd5a
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
push 0
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x36
call fcn.00406474
push 0
lea ecx, [ebp - 0x48]
call fcn.00404a11
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
lea eax, [ebp + 0x34]
push eax
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x37
call fcn.0040d156
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041b0b7
mov eax, dword [ebp - 0x118]
sub esp, 0x10
mov dword [ebx + 0x294], eax
mov dword [ebx + 0x290], 0xd6
mov dword [ebx + 0x298], 0x210
mov edi, esp
lea esi, [ebx + 0x28c]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x28]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x38
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
mov ecx, dword [ebp + 0x28]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x284], eax
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x36
call fcn.0040c907
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x29
call fcn.004064bf
push dword [ebp - 0x48]
call fcn.0041d4f3
pop ecx
lea edi, [ebx + 0x2f8]
push edi
lea esi, [ebx + 0x2e4]
push esi
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
call fcn.0040d156
mov ecx, ebx
call fcn.0041b24c
push esi
lea ecx, [ebx + 0x2bc]
call fcn.0041a02c
push edi
lea ecx, [ebx + 0x2d0]
call fcn.0041aab1
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x28
call fcn.0040c907
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
call fcn.004064bf
push dword [ebp - 0x28]
call fcn.0041d4f3
pop ecx
mov edi, str.finished
push edi
lea ecx, [ebp - 0xb8]
call fcn.00409b87
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x80]
mov esi, 0x4000
or dword [ebp + 0x30], esi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x39
call fcn.0040610c
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407b7e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41c55d
push edi
lea ecx, [ebp - 0xd4]
call fcn.00409b87
or dword [ebp + 0x30], 0x8000
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x3a
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f46
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c561
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x8000
je 0x41c580
and dword [ebp + 0x30], 0xffff7fff
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.00406474
mov dword [ebp - 4], 0x14
test dword [ebp + 0x30], esi
je 0x41c5a2
and dword [ebp + 0x30], 0xffffbfff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00406474
cmp byte [ebp + 0x2f], 0
push edi
je 0x41c816
lea ecx, [ebp - 0xd4]
mov byte [ebx + 0x334], 1
call fcn.00409b87
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x3b
call fcn.0040dd5a
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
push 0
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x3d
call fcn.00406474
push str.images
lea ecx, [ebp - 0x2c]
call fcn.00409b87
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x54]
mov esi, 0x10000
or dword [ebp + 0x30], esi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x3e
call fcn.0040610c
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407b7e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41c679
push str.images
lea ecx, [ebp - 0xb8]
call fcn.00409b87
or dword [ebp + 0x30], 0x20000
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x3f
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c67d
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x20000
je 0x41c69c
and dword [ebp + 0x30], 0xfffdffff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00406474
mov dword [ebp - 4], 0x3d
test dword [ebp + 0x30], esi
je 0x41c6bb
and dword [ebp + 0x30], 0xfffeffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00406474
cmp byte [ebp + 0x2f], 0
je 0x41c7cb
push str.images
lea ecx, [ebp - 0xb8]
mov byte [ebp + 0x27], 1
call fcn.00409b87
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x40
call fcn.0040dd5a
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
push 0
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x42
call fcn.00406474
push 0
lea ecx, [ebp - 0x28]
call fcn.00404a11
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
lea eax, [ebp + 0x34]
push eax
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x43
call fcn.0040d156
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041b0b7
mov eax, dword [ebp - 0x118]
sub esp, 0x10
mov dword [ebx + 0x2b4], eax
mov dword [ebx + 0x2b0], 0xd6
mov dword [ebx + 0x2b8], 0x210
mov edi, esp
lea esi, [ebx + 0x2ac]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x28]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x44
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
mov ecx, dword [ebp + 0x28]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x288], eax
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x42
call fcn.0040c907
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3d
call fcn.004064bf
push dword [ebp - 0x28]
call fcn.0041d4f3
pop ecx
lea eax, [ebx + 0x320]
push eax
lea eax, [ebx + 0x30c]
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
call fcn.0040d156
mov ecx, ebx
call fcn.0041b24c
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x14
call fcn.0040c907
jmp 0x41cda8
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x28
call fcn.0040c907
inc dword [ebp + 0x1c]
jmp 0x41c04a
lea ecx, [ebp - 0xb8]
call fcn.00409b87
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x80]
mov esi, 0x40000
or dword [ebp + 0x30], esi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x45
call fcn.0040610c
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407b7e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41c8a2
push edi
lea ecx, [ebp - 0xd4]
call fcn.00409b87
or dword [ebp + 0x30], 0x80000
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x46
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c8a6
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x80000
je 0x41c8c5
and dword [ebp + 0x30], 0xfff7ffff
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.00406474
mov dword [ebp - 4], 0x14
test dword [ebp + 0x30], esi
je 0x41c8e7
and dword [ebp + 0x30], 0xfffbffff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00406474
cmp byte [ebp + 0x2f], 0
je 0x41cda8
push edi
lea ecx, [ebp - 0xd4]
call fcn.00409b87
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x47
call fcn.0040dd5a
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
push 0
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x49
call fcn.00406474
and dword [ebp + 0x1c], 0
mov byte [ebp + 0x2e], 0
mov edi, 0x100000
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
sar eax, 2
cmp dword [ebp + 0x1c], eax
jae 0x41cd93
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x48]
call fcn.00404a11
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
mov esi, str.criteria
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x4a
call fcn.00409b87
or dword [ebp + 0x30], edi
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x4b
call fcn.0040610c
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407b7e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41c9e8
push esi
lea ecx, [ebp - 0xb8]
call fcn.00409b87
or dword [ebp + 0x30], 0x200000
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x4c
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c9ec
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x200000
je 0x41ca0b
and dword [ebp + 0x30], 0xffdfffff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00406474
mov dword [ebp - 4], 0x4a
test dword [ebp + 0x30], edi
je 0x41ca2a
and dword [ebp + 0x30], 0xffefffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00406474
cmp byte [ebp + 0x2f], 0
je 0x41cb7b
push esi
lea ecx, [ebp - 0xb8]
call fcn.00409b87
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x4d
call fcn.0040dd5a
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x4f
call fcn.00406474
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
sar eax, 2
cmp esi, eax
jae 0x41cb39
push esi
lea ecx, [ebp - 0x28]
call fcn.00404a11
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
push str.type
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x50
call fcn.0040d156
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.0041b0b7
push 0x465be8
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x51
call fcn.0040d156
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041b0b7
push str.country
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 0x52
call fcn.004033e7
test eax, eax
jne 0x41cb50
push eax
push dword [ebp]
lea ecx, [ebp + 0x28]
call fcn.00405d89
cmp eax, 0xffffffff
jle 0x41cb50
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp + 0x2e], 1
call fcn.0040127f
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x4f
call fcn.0040c907
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4a
call fcn.004064bf
push dword [ebp - 0x28]
call fcn.0041d4f3
pop ecx
jmp 0x41cb7f
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
call fcn.0040127f
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x4f
call fcn.0040c907
inc esi
jmp 0x41ca72
mov byte [ebp + 0x2e], 1
cmp byte [ebp + 0x2e], 0
je 0x41ce43
mov edi, str.images
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebx + 0x334], 1
call fcn.00409b87
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x54]
mov esi, 0x400000
or dword [ebp + 0x30], esi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x53
call fcn.0040610c
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407b7e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00417fc1
test al, al
jne 0x41cc13
push edi
lea ecx, [ebp - 0xb8]
call fcn.00409b87
or dword [ebp + 0x30], 0x800000
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x54
call fcn.0040dd5a
mov ecx, dword [eax]
call fcn.00417f3d
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41cc17
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x800000
je 0x41cc36
and dword [ebp + 0x30], 0xff7fffff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00406474
mov dword [ebp - 4], 0x4a
test dword [ebp + 0x30], esi
je 0x41cc55
and dword [ebp + 0x30], 0xffbfffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00406474
cmp byte [ebp + 0x2f], 0
je 0x41cd61
push edi
lea ecx, [ebp - 0xb8]
mov byte [ebp + 0x27], 1
call fcn.00409b87
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x55
call fcn.0040dd5a
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.004187e8
push 0
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x57
call fcn.00406474
push 0
lea ecx, [ebp - 0x28]
call fcn.00404a11
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.0041896d
lea eax, [ebp + 0x34]
push eax
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x58
call fcn.0040d156
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041b0b7
mov eax, dword [ebp - 0x118]
sub esp, 0x10
mov dword [ebx + 0x2b4], eax
mov dword [ebx + 0x2b0], 0xd6
mov dword [ebx + 0x2b8], 0x210
mov edi, esp
lea esi, [ebx + 0x2ac]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x28]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x59
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
mov ecx, dword [ebp + 0x28]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x288], eax
call fcn.0040127f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x57
call fcn.0040c907
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4a
call fcn.004064bf
push dword [ebp - 0x28]
call fcn.0041d4f3
pop ecx
lea eax, [ebx + 0x320]
push eax
lea eax, [ebx + 0x30c]
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
call fcn.0040d156
mov ecx, ebx
call fcn.0041b24c
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x49
call fcn.0040c907
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x14
call fcn.004064bf
push dword [ebp - 0x48]
call fcn.0041d4f3
pop ecx
lea eax, [ebp + 0x28]
push 0x9d
push eax
call fcn.004088eb
pop ecx
pop ecx
push dword [eax]
mov esi, 0x1000000
or dword [ebp + 0x30], esi
call fcn.004435ac
pop ecx
cmp eax, 1
je 0x41cddd
cmp byte [ebp + 0x1b], 0
je 0x41cddd
cmp byte [ebp + 0x27], 0
mov byte [ebp + 0x2f], 0
jne 0x41cde1
mov byte [ebp + 0x2f], 1
test dword [ebp + 0x30], esi
je 0x41cdf1
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
call fcn.0040127f
cmp byte [ebp + 0x2f], 0
je 0x41cf39
call fcn.0041f689
push eax
lea ecx, [ebp + 0x20]
call fcn.004138d7
mov byte [ebp - 4], 0x5a
call fcn.0041f689
push eax
lea ecx, [ebp + 0x1c]
call fcn.004138d7
fld dword [0x464bd0]
fcomp dword [ebp - 0x30]
mov byte [ebp - 4], 0x5b
lea ecx, [ebp + 0x20]
fnstsw ax
test ah, 0x44
jp 0x41ce57
push str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_progress_gears_125.jpg
call fcn.00403bb1
push str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_progress_finished_125.jpg
jmp 0x41ce66
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x49
call fcn.0040c907
inc dword [ebp + 0x1c]
jmp 0x41c93e
push str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_progress_gears.jpg
call fcn.00403bb1
push str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_progress_finished.jpg
lea ecx, [ebp + 0x1c]
call fcn.00403bb1
cmp byte [ebp + 0x1b], 0
jne 0x41cec3
mov eax, dword [ebp - 0x118]
sub esp, 0x10
mov dword [ebx + 0x294], eax
mov dword [ebx + 0x290], 0xd6
mov dword [ebx + 0x298], 0x210
mov edi, esp
lea esi, [ebx + 0x28c]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x20]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
add esp, 0x14
mov dword [ebx + 0x284], eax
cmp byte [ebp + 0x27], 0
jne 0x41cf1f
mov eax, dword [ebp - 0x118]
sub esp, 0x10
mov dword [ebx + 0x2b4], eax
mov dword [ebx + 0x2b0], 0xd6
mov dword [ebx + 0x2b8], 0x210
mov edi, esp
lea esi, [ebx + 0x2ac]
and dword [esi], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x1c]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebx + 0x334], 1
movsd dword es:[edi], dword [esi]
call fcn.00403601
call fcn.00413eb8
add esp, 0x14
mov dword [ebx + 0x288], eax
mov ecx, dword [ebp + 0x1c]
add ecx, 0xfffffff0
call fcn.0040127f
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x14
call fcn.0040127f
cmp dword [ebp - 0x78], 0
je 0x41cf50
mov ecx, dword [ebp - 0x78]
call fcn.00418856
push dword [ebp - 0x78]
call fcn.0041d4f3
pop ecx
lea ecx, [ebp - 0x98]
call fcn.0040b56e
mov ecx, dword [ebp]
add ecx, 0xfffffff0
call fcn.0040127f
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 5
call fcn.0040c907
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.0040127f
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff0
call fcn.0040127f
mov ecx, dword [ebp - 0x124]
add ecx, 0xfffffff0
call fcn.0040127f
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 1
call fcn.00413179
push dword [ebp - 0x9c]
call fcn.0041d4f3
pop ecx
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0040127f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x5c]
xor ecx, ebp
call fcn.004414c7
add ebp, 0x60
leave
ret