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

Disassembly:
push ebp
sub esp, 0x5c
lea ebp, [esp - 4]
mov eax, dword [0x47d150]
xor eax, ebp
mov dword [ebp + 0x5c], eax
push 0x120
mov eax, 0x460a85
call fcn.00440e29
mov ebx, ecx
xor edi, edi
lea eax, [ebx + 0x27c]
mov dword [ebp + 0x30], edi
fld dword [eax]
fstp dword [ebp - 0x30]
fld dword [0x464a48]
fcomp dword [eax]
fnstsw ax
test ah, 0x44
jp 0x41ae7e
fld dword [0x463bd8]
fstp dword [ebp - 0x30]
push 0xa
call fcn.0041ce30
fld dword [ebp - 0x30]
push ecx
fstp qword [esp]
push str._.4g
push eax
mov dword [ebp - 0x9c], eax
call fcn.00442ed7
push 0x14
push dword [ebp - 0x9c]
lea eax, [ebp + 0x34]
push eax
call fcn.00443239
add esp, 0x1c
mov esi, 0x463a79
push esi
lea ecx, [ebp + 0xc]
call fcn.00403d4a
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 1
call fcn.004132c7
push esi
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 2
call fcn.00403d4a
push esi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00403d4a
push esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00403d4a
lea eax, [ebp + 0x28]
push 0x94
push eax
mov byte [ebp - 4], 5
call fcn.00408b7b
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 6
call fcn.00403b6d
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.0040127b
push str.http:__install2.optimum_installer.com
lea ecx, [ebp + 0xc]
call fcn.00403bba
push str._config_
lea ecx, [ebp + 0xc]
call fcn.00403c9a
mov eax, dword [ebp - 0x70]
push dword [eax - 0xc]
lea ecx, [ebp + 0xc]
push eax
call fcn.00403a68
push str._offers.json_version1.0
lea ecx, [ebp + 0xc]
call fcn.00403c9a
push str.pidinstaller
lea ecx, [ebp + 0xc]
call fcn.00403c9a
push str.ts
lea ecx, [ebp + 0xc]
call fcn.00403c9a
lea eax, [ebp + 0x28]
push 0x93
push eax
call fcn.00408b7b
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.00403a68
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.0040127b
push ecx
lea eax, [ebp + 0xc]
mov dword [ebp + 0x28], esp
mov ecx, esp
push eax
call fcn.0040360a
lea eax, [ebp + 0x28]
push eax
call fcn.00409443
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 8
call fcn.00403b6d
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.0040127b
lea ecx, [ebp - 0x74]
call fcn.00403412
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.0041ce30
pop ecx
lea ecx, [ebp - 0x74]
mov dword [ebp], eax
call fcn.00403412
push dword [ebp + 0x28]
push dword [ebp]
push 0xffffffffffffffff
push eax
push 0
push edi
call esi
push dword [ebp]
call fcn.00417891
pop ecx
push dword [ebp]
mov dword [ebp - 0x78], eax
call fcn.0041ce25
pop ecx
lea ecx, [ebp - 0x98]
call fcn.0040d3c1
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 0x41c898
lea eax, [ebp - 0xf4]
push eax
call fcn.004184bc
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xa
call fcn.0040d430
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 9
call fcn.0040cb8b
mov esi, str.headers
push esi
lea ecx, [ebp - 0x4c]
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407e0e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41b11a
push esi
lea ecx, [ebp - 0x2c]
call fcn.00409e0b
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xc
mov dword [ebp + 0x30], 3
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41b11e
mov byte [ebp + 0x2e], 0
test byte [ebp + 0x30], 2
je 0x41b133
and dword [ebp + 0x30], 0xfffffffd
push 0
push edi
lea ecx, [ebp - 0x2c]
call fcn.004064cb
test byte [ebp + 0x30], 1
mov dword [ebp - 4], 9
je 0x41b14f
and dword [ebp + 0x30], 0xfffffffe
push 0
push edi
lea ecx, [ebp - 0x4c]
call fcn.004064cb
cmp byte [ebp + 0x2e], 0
je 0x41b281
push esi
lea ecx, [ebp - 0x4c]
call fcn.00409e0b
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xd
call fcn.0040dfde
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.00418337
push 0
push edi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xf
call fcn.004064cb
push 0
lea ecx, [ebp - 0x28]
call fcn.00404a39
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
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.0040d3da
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.0041a9e9
push 0x4647e0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x11
call fcn.004033f0
test eax, eax
jne 0x41b203
fld1
lea ecx, [ebp + 0x20]
fcomp dword [ebp - 0x30]
fnstsw ax
test ah, 0x44
jp 0x41b1f9
push str.http:__cdn.install.oibundles2.com_installerpackage_wisedownloads_muted_muted_optimum_header.jpg
jmp 0x41b1fe
push str.http:__cdn.install.oibundles2.com_installerpackage_wisedownloads_muted_muted_optimum_header_125.jpg
call fcn.00403bba
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.0040360a
call fcn.00413ffa
mov ecx, dword [ebp + 0x20]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x280], eax
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0xf
call fcn.0040cb8b
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.00406516
push dword [ebp - 0x28]
call fcn.0041ce25
xor edi, edi
pop ecx
inc edi
mov esi, str.progress
push esi
lea ecx, [ebp - 0x4c]
mov byte [ebp + 0x27], 0
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407e0e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41b301
push esi
lea ecx, [ebp - 0x2c]
call fcn.00409e0b
or dword [ebp + 0x30], 8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x13
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41b305
mov byte [ebp + 0x2e], 0
test byte [ebp + 0x30], 8
je 0x41b31a
and dword [ebp + 0x30], 0xfffffff7
push 0
push edi
lea ecx, [ebp - 0x2c]
call fcn.004064cb
test byte [ebp + 0x30], 4
mov dword [ebp - 4], 9
je 0x41b336
and dword [ebp + 0x30], 0xfffffffb
push 0
push edi
lea ecx, [ebp - 0x4c]
call fcn.004064cb
cmp byte [ebp + 0x2e], 0
je 0x41b340
mov byte [ebp + 0x27], 1
lea eax, [ebp]
push 0x95
push eax
call fcn.00408b7b
pop ecx
pop ecx
cmp byte [ebp + 0x27], 0
mov byte [ebp - 4], 0x14
jne 0x41b535
push 0x466548
lea ecx, [ebp]
call fcn.004033f0
test eax, eax
jne 0x41b535
call fcn.0041efbb
push eax
lea ecx, [ebp + 0x1c]
call fcn.00413a19
mov byte [ebp - 4], 0x15
call fcn.0041efbb
push eax
lea ecx, [ebp + 0x30]
call fcn.00413a19
fld dword [0x463bd8]
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 0x41b3b4
mov esi, str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_Cityville_Banner_Installer_Portuguese.jpg
push esi
call fcn.00403bba
push esi
lea ecx, [ebp + 0x30]
call fcn.00403bba
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.0040360a
call fcn.00413ffa
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.0040360a
call fcn.00413ffa
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.00403d4a
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x17
call fcn.004095fe
lea edi, [ebx + 0x2e4]
mov eax, dword [edi + 8]
lea ecx, [ebp - 0x104]
push ecx
push eax
mov ecx, edi
call fcn.00419801
lea esi, [ebx + 0x2f8]
mov eax, dword [esi + 8]
lea ecx, [ebp + 0x20]
push ecx
push eax
mov ecx, esi
call fcn.0041a20a
push edi
lea ecx, [ebx + 0x2bc]
call fcn.00419b97
push esi
lea ecx, [ebx + 0x2d0]
call fcn.0041a3e3
lea ecx, [ebx + 0x30c]
mov eax, dword [ecx + 8]
lea edx, [ebp - 0x104]
push edx
push eax
call fcn.00419801
lea ecx, [ebx + 0x320]
mov eax, dword [ecx + 8]
lea edx, [ebp + 0x20]
push edx
push eax
call fcn.0041a20a
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.0040127b
mov ecx, dword [ebp + 0x30]
add ecx, 0xfffffff0
call fcn.0040127b
mov ecx, dword [ebp + 0x1c]
jmp 0x41c85f
lea eax, [ebp + 0x28]
push 0x9d
push eax
mov byte [ebp + 0x1b], 0
mov byte [ebp + 0x27], 0
call fcn.00408b7b
pop ecx
pop ecx
push dword [eax]
call fcn.00442ecc
pop ecx
mov ecx, dword [ebp + 0x28]
cmp eax, edi
setne byte [ebp + 0x2f]
add ecx, 0xfffffff0
call fcn.0040127b
cmp byte [ebp + 0x2f], 0
je 0x41c6da
push esi
lea ecx, [ebp - 0x4c]
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407e0e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41b5e7
push esi
lea ecx, [ebp - 0x2c]
call fcn.00409e0b
or dword [ebp + 0x30], 0x20
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x19
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417adc
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41b5eb
mov byte [ebp + 0x2e], 0
test byte [ebp + 0x30], 0x20
je 0x41b600
and dword [ebp + 0x30], 0xffffffdf
push 0
push edi
lea ecx, [ebp - 0x2c]
call fcn.004064cb
test byte [ebp + 0x30], 0x10
push 0x14
pop edi
mov dword [ebp - 4], edi
je 0x41b61c
and dword [ebp + 0x30], 0xffffffef
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.004064cb
push str.progress
lea ecx, [ebp - 0x4c]
call fcn.00409e0b
cmp byte [ebp + 0x2e], 0
je 0x41b872
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1a
call fcn.0040dfde
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1c
call fcn.004064cb
mov esi, str.images
push esi
lea ecx, [ebp - 0x110]
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407e0e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41b6de
push esi
lea ecx, [ebp - 0x2c]
call fcn.00409e0b
or dword [ebp + 0x30], 0x80
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x1e
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41b6e2
mov byte [ebp + 0x2e], 0
test byte [ebp + 0x30], 0x80
je 0x41b6fa
and dword [ebp + 0x30], 0xffffff7f
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.004064cb
test byte [ebp + 0x30], 0x40
mov dword [ebp - 4], 0x1c
je 0x41b719
and dword [ebp + 0x30], 0xffffffbf
push edi
push 1
lea ecx, [ebp - 0x110]
call fcn.004064cb
cmp byte [ebp + 0x2e], 0
je 0x41b823
push esi
lea ecx, [ebp - 0x110]
mov byte [ebp + 0x1b], 1
call fcn.00409e0b
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1f
call fcn.0040dfde
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.00418337
push edi
push 1
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x21
call fcn.004064cb
push edi
lea ecx, [ebp - 0x28]
call fcn.00404a39
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
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.0040d3da
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041a9e9
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.0040360a
call fcn.00413ffa
mov ecx, dword [ebp + 0x28]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x284], eax
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x21
call fcn.0040cb8b
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1c
call fcn.00406516
push dword [ebp - 0x28]
call fcn.0041ce25
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.0040d3da
mov ecx, ebx
call fcn.0041ab7e
push esi
lea ecx, [ebx + 0x2bc]
call fcn.00419b97
push edi
lea ecx, [ebx + 0x2d0]
call fcn.0041a3e3
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x14
call fcn.0040cb8b
jmp 0x41bdfd
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x80]
mov esi, pe_nt_image_headers32
or dword [ebp + 0x30], esi
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x24
call fcn.00406143
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407e0e
lea ecx, [ebp + 0x10]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41b8eb
push str.progress
lea ecx, [ebp - 0x2c]
call fcn.00409e0b
or dword [ebp + 0x30], 0x200
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x25
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2e], 1
test al, al
jne 0x41b8ef
mov byte [ebp + 0x2e], 0
test dword [ebp + 0x30], 0x200
je 0x41b90b
and dword [ebp + 0x30], 0xfffffdff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.004064cb
mov dword [ebp - 4], edi
test dword [ebp + 0x30], esi
je 0x41b926
and dword [ebp + 0x30], 0xfffffeff
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.004064cb
cmp byte [ebp + 0x2e], 0
je 0x41bdfd
push str.progress
lea ecx, [ebp - 0xb8]
call fcn.00409e0b
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x26
call fcn.0040dfde
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.00418337
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x28
call fcn.004064cb
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 0x41bde8
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x28]
call fcn.00404a39
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
push esi
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x29
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407e0e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41ba2a
push esi
lea ecx, [ebp - 0x4c]
call fcn.00409e0b
or dword [ebp + 0x30], 0x800
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x2b
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41ba2e
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x800
je 0x41ba49
and dword [ebp + 0x30], 0xfffff7ff
push edi
push 1
lea ecx, [ebp - 0x4c]
call fcn.004064cb
test dword [ebp + 0x30], 0x400
mov dword [ebp - 4], 0x29
je 0x41ba6e
and dword [ebp + 0x30], 0xfffffbff
push edi
push 1
lea ecx, [ebp - 0xd4]
call fcn.004064cb
cmp byte [ebp + 0x2f], 0
je 0x41bbbf
push esi
lea ecx, [ebp - 0xd4]
call fcn.00409e0b
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x2c
call fcn.0040dfde
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [eax]
call fcn.00418337
push edi
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x2e
call fcn.004064cb
xor esi, esi
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
sar eax, 2
cmp esi, eax
jae 0x41bb7d
push esi
lea ecx, [ebp - 0x48]
call fcn.00404a39
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
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.0040d3da
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041a9e9
push 0x464be8
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x30
call fcn.0040d3da
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.0041a9e9
push str.country
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x31
call fcn.004033f0
cmp eax, edi
jne 0x41bb94
push edi
push dword [ebp]
lea ecx, [ebp + 0x20]
call fcn.00405dc0
cmp eax, 0xffffffff
jle 0x41bb94
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
mov byte [ebp + 0x2e], 1
call fcn.0040127b
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x2e
call fcn.0040cb8b
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x29
call fcn.00406516
push dword [ebp - 0x48]
call fcn.0041ce25
pop ecx
jmp 0x41bbc3
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.0040127b
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x2e
call fcn.0040cb8b
inc esi
jmp 0x41bab6
mov byte [ebp + 0x2e], 1
cmp byte [ebp + 0x2e], 0
je 0x41c134
mov edi, str.images
push edi
lea ecx, [ebp - 0x4c]
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407e0e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41bc50
push edi
lea ecx, [ebp - 0xd4]
call fcn.00409e0b
or dword [ebp + 0x30], 0x2000
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x33
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41bc54
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x2000
je 0x41bc73
and dword [ebp + 0x30], 0xffffdfff
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.004064cb
mov dword [ebp - 4], 0x29
test dword [ebp + 0x30], esi
je 0x41bc92
and dword [ebp + 0x30], 0xffffefff
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.004064cb
cmp byte [ebp + 0x2f], 0
je 0x41bd9e
push edi
lea ecx, [ebp - 0xd4]
mov byte [ebp + 0x1b], 1
call fcn.00409e0b
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x34
call fcn.0040dfde
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [eax]
call fcn.00418337
push 0
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x36
call fcn.004064cb
push 0
lea ecx, [ebp - 0x48]
call fcn.00404a39
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
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.0040d3da
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041a9e9
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.0040360a
call fcn.00413ffa
mov ecx, dword [ebp + 0x28]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x284], eax
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x36
call fcn.0040cb8b
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x29
call fcn.00406516
push dword [ebp - 0x48]
call fcn.0041ce25
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.0040d3da
mov ecx, ebx
call fcn.0041ab7e
push esi
lea ecx, [ebx + 0x2bc]
call fcn.00419b97
push edi
lea ecx, [ebx + 0x2d0]
call fcn.0041a3e3
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x28
call fcn.0040cb8b
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
call fcn.00406516
push dword [ebp - 0x28]
call fcn.0041ce25
pop ecx
mov edi, str.finished
push edi
lea ecx, [ebp - 0xb8]
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407e0e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41be8f
push edi
lea ecx, [ebp - 0xd4]
call fcn.00409e0b
or dword [ebp + 0x30], 0x8000
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x3a
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417adc
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41be93
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x8000
je 0x41beb2
and dword [ebp + 0x30], 0xffff7fff
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.004064cb
mov dword [ebp - 4], 0x14
test dword [ebp + 0x30], esi
je 0x41bed4
and dword [ebp + 0x30], 0xffffbfff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.004064cb
cmp byte [ebp + 0x2f], 0
push edi
je 0x41c148
lea ecx, [ebp - 0xd4]
mov byte [ebx + 0x334], 1
call fcn.00409e0b
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x3b
call fcn.0040dfde
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
push 0
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x3d
call fcn.004064cb
push str.images
lea ecx, [ebp - 0x2c]
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407e0e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41bfab
push str.images
lea ecx, [ebp - 0xb8]
call fcn.00409e0b
or dword [ebp + 0x30], 0x20000
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x3f
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41bfaf
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x20000
je 0x41bfce
and dword [ebp + 0x30], 0xfffdffff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.004064cb
mov dword [ebp - 4], 0x3d
test dword [ebp + 0x30], esi
je 0x41bfed
and dword [ebp + 0x30], 0xfffeffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.004064cb
cmp byte [ebp + 0x2f], 0
je 0x41c0fd
push str.images
lea ecx, [ebp - 0xb8]
mov byte [ebp + 0x27], 1
call fcn.00409e0b
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x40
call fcn.0040dfde
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.00418337
push 0
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x42
call fcn.004064cb
push 0
lea ecx, [ebp - 0x28]
call fcn.00404a39
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
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.0040d3da
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041a9e9
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.0040360a
call fcn.00413ffa
mov ecx, dword [ebp + 0x28]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x288], eax
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x42
call fcn.0040cb8b
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3d
call fcn.00406516
push dword [ebp - 0x28]
call fcn.0041ce25
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.0040d3da
mov ecx, ebx
call fcn.0041ab7e
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x14
call fcn.0040cb8b
jmp 0x41c6da
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x28
call fcn.0040cb8b
inc dword [ebp + 0x1c]
jmp 0x41b97c
lea ecx, [ebp - 0xb8]
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x98]
call fcn.00407e0e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41c1d4
push edi
lea ecx, [ebp - 0xd4]
call fcn.00409e0b
or dword [ebp + 0x30], 0x80000
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x46
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c1d8
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x80000
je 0x41c1f7
and dword [ebp + 0x30], 0xfff7ffff
push 0
push 1
lea ecx, [ebp - 0xd4]
call fcn.004064cb
mov dword [ebp - 4], 0x14
test dword [ebp + 0x30], esi
je 0x41c219
and dword [ebp + 0x30], 0xfffbffff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.004064cb
cmp byte [ebp + 0x2f], 0
je 0x41c6da
push edi
lea ecx, [ebp - 0xd4]
call fcn.00409e0b
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x47
call fcn.0040dfde
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [eax]
call fcn.00418337
push 0
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x49
call fcn.004064cb
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 0x41c6c5
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x48]
call fcn.00404a39
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
mov esi, str.criteria
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x4a
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407e0e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41c31a
push esi
lea ecx, [ebp - 0xb8]
call fcn.00409e0b
or dword [ebp + 0x30], 0x200000
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x4c
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c31e
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x200000
je 0x41c33d
and dword [ebp + 0x30], 0xffdfffff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.004064cb
mov dword [ebp - 4], 0x4a
test dword [ebp + 0x30], edi
je 0x41c35c
and dword [ebp + 0x30], 0xffefffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.004064cb
cmp byte [ebp + 0x2f], 0
je 0x41c4ad
push esi
lea ecx, [ebp - 0xb8]
call fcn.00409e0b
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x4d
call fcn.0040dfde
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.00418337
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x4f
call fcn.004064cb
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
sar eax, 2
cmp esi, eax
jae 0x41c46b
push esi
lea ecx, [ebp - 0x28]
call fcn.00404a39
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
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.0040d3da
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.0041a9e9
push 0x464be8
sub esp, 0x20
lea eax, [ebp - 0xf4]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x51
call fcn.0040d3da
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041a9e9
push str.country
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 0x52
call fcn.004033f0
test eax, eax
jne 0x41c482
push eax
push dword [ebp]
lea ecx, [ebp + 0x28]
call fcn.00405dc0
cmp eax, 0xffffffff
jle 0x41c482
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp + 0x2e], 1
call fcn.0040127b
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x4f
call fcn.0040cb8b
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4a
call fcn.00406516
push dword [ebp - 0x28]
call fcn.0041ce25
pop ecx
jmp 0x41c4b1
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
call fcn.0040127b
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x4f
call fcn.0040cb8b
inc esi
jmp 0x41c3a4
mov byte [ebp + 0x2e], 1
cmp byte [ebp + 0x2e], 0
je 0x41c775
mov edi, str.images
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebx + 0x334], 1
call fcn.00409e0b
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.00406143
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407e0e
lea ecx, [ebp + 4]
push ecx
mov ecx, eax
call fcn.00404bc8
test al, al
jne 0x41c545
push edi
lea ecx, [ebp - 0xb8]
call fcn.00409e0b
or dword [ebp + 0x30], 0x800000
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x54
call fcn.0040dfde
mov ecx, dword [eax]
call fcn.00417ad3
mov byte [ebp + 0x2f], 1
test al, al
jne 0x41c549
mov byte [ebp + 0x2f], 0
test dword [ebp + 0x30], 0x800000
je 0x41c568
and dword [ebp + 0x30], 0xff7fffff
push 0
push 1
lea ecx, [ebp - 0xb8]
call fcn.004064cb
mov dword [ebp - 4], 0x4a
test dword [ebp + 0x30], esi
je 0x41c587
and dword [ebp + 0x30], 0xffbfffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.004064cb
cmp byte [ebp + 0x2f], 0
je 0x41c693
push edi
lea ecx, [ebp - 0xb8]
mov byte [ebp + 0x27], 1
call fcn.00409e0b
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x55
call fcn.0040dfde
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.00418337
push 0
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x57
call fcn.004064cb
push 0
lea ecx, [ebp - 0x28]
call fcn.00404a39
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
call fcn.004184bc
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.0040d3da
lea eax, [ebp + 0x28]
push eax
mov ecx, ebx
call fcn.0041a9e9
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.0040360a
call fcn.00413ffa
mov ecx, dword [ebp + 0x28]
add esp, 0x14
add ecx, 0xfffffff0
mov dword [ebx + 0x288], eax
call fcn.0040127b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x57
call fcn.0040cb8b
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4a
call fcn.00406516
push dword [ebp - 0x28]
call fcn.0041ce25
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.0040d3da
mov ecx, ebx
call fcn.0041ab7e
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x49
call fcn.0040cb8b
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x14
call fcn.00406516
push dword [ebp - 0x48]
call fcn.0041ce25
pop ecx
lea eax, [ebp + 0x28]
push 0x9d
push eax
call fcn.00408b7b
pop ecx
pop ecx
push dword [eax]
mov esi, 0x1000000
or dword [ebp + 0x30], esi
call fcn.00442ecc
pop ecx
cmp eax, 1
je 0x41c70f
cmp byte [ebp + 0x1b], 0
je 0x41c70f
cmp byte [ebp + 0x27], 0
mov byte [ebp + 0x2f], 0
jne 0x41c713
mov byte [ebp + 0x2f], 1
test dword [ebp + 0x30], esi
je 0x41c723
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
call fcn.0040127b
cmp byte [ebp + 0x2f], 0
je 0x41c86b
call fcn.0041efbb
push eax
lea ecx, [ebp + 0x20]
call fcn.00413a19
mov byte [ebp - 4], 0x5a
call fcn.0041efbb
push eax
lea ecx, [ebp + 0x1c]
call fcn.00413a19
fld dword [0x463bd8]
fcomp dword [ebp - 0x30]
mov byte [ebp - 4], 0x5b
lea ecx, [ebp + 0x20]
fnstsw ax
test ah, 0x44
jp 0x41c789
push str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_progress_gears_125.jpg
call fcn.00403bba
push str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_progress_finished_125.jpg
jmp 0x41c798
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x49
call fcn.0040cb8b
inc dword [ebp + 0x1c]
jmp 0x41c270
push str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_progress_gears.jpg
call fcn.00403bba
push str.http:__cdn.install.wisedownloads.com_installerpackage_wisedownloads_muted_progress_finished.jpg
lea ecx, [ebp + 0x1c]
call fcn.00403bba
cmp byte [ebp + 0x1b], 0
jne 0x41c7f5
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.0040360a
call fcn.00413ffa
add esp, 0x14
mov dword [ebx + 0x284], eax
cmp byte [ebp + 0x27], 0
jne 0x41c851
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.0040360a
call fcn.00413ffa
add esp, 0x14
mov dword [ebx + 0x288], eax
mov ecx, dword [ebp + 0x1c]
add ecx, 0xfffffff0
call fcn.0040127b
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x14
call fcn.0040127b
cmp dword [ebp - 0x78], 0
je 0x41c882
mov ecx, dword [ebp - 0x78]
call fcn.004183a5
push dword [ebp - 0x78]
call fcn.0041ce25
pop ecx
lea ecx, [ebp - 0x98]
call fcn.0040b7f2
mov ecx, dword [ebp]
add ecx, 0xfffffff0
call fcn.0040127b
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 5
call fcn.0040cb8b
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.0040127b
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff0
call fcn.0040127b
mov ecx, dword [ebp - 0x124]
add ecx, 0xfffffff0
call fcn.0040127b
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 1
call fcn.004132d4
push dword [ebp - 0x9c]
call fcn.0041ce25
pop ecx
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0040127b
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.00440de7
add ebp, 0x60
leave
ret