Function at 0x100050ee
Capabilities:
Create thread

Disassembly:
mov eax, 0x10050ebb
call fcn.100457f4
sub esp, 0xf8
push ebx
push esi
push edi
lea eax, [ebp - 0xac]
mov dword [ebp - 0x10], esp
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.10003dfc
pop ecx
push str.newversion.txt
push eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 1
call fcn.1001193b
push dword [eax]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.1000101a
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 5
call fcn.1001179b
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 4
call fcn.1001179b
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
call fcn.1002376b
mov esi, str.undefined
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 6
mov byte [ebp - 0x38], al
call fcn.1002376b
mov esi, str.toolbar_version
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.100243fe
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 7
call fcn.100039b2
add esp, 0xc
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xa
call fcn.1002376b
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.1002376b
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xd0], al
call fcn.1002376b
mov edi, 0x1006ceac
push edi
call fcn.10045c20
pop ecx
push eax
push edi
lea ecx, [ebp - 0xd0]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xb
mov byte [ebp - 0xc0], al
call fcn.1002376b
mov esi, str.serverpath
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0xc0]
call fcn.100243fe
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x104]
push eax
mov byte [ebp - 4], 0xc
call fcn.100039b2
add esp, 0xc
mov eax, dword [eax + 4]
cmp eax, ebx
mov byte [ebp - 4], 0xd
mov ebx, 0x10057508
jne 0x10005270
mov eax, ebx
push eax
lea ecx, [ebp - 0x14]
call fcn.1000101a
push 1
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x11
call fcn.1002376b
push 1
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x10
call fcn.1002376b
push 1
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xf
call fcn.1002376b
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 0xe0], al
call fcn.1002376b
push edi
call fcn.10045c20
pop ecx
push eax
push edi
lea ecx, [ebp - 0xe0]
call fcn.100243fe
mov al, byte [ebp + 0xf]
xor edi, edi
push edi
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x12
mov byte [ebp - 0xf0], al
call fcn.1002376b
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0xf0]
call fcn.100243fe
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 4], 0x13
call fcn.100039b2
add esp, 0xc
push 1
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x16
call fcn.1002376b
push 1
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x15
call fcn.1002376b
mov esi, str.version.txt
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0xa8]
call fcn.100243a7
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x10005371
call fcn.10001a3c
mov esi, eax
jmp 0x10005373
xor esi, esi
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x88]
mov byte [ebp - 0x88], al
call fcn.1002376b
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x88]
call fcn.100243fe
push 0x1c
mov byte [ebp - 4], 0x17
call fcn.1004540f
pop ecx
mov ecx, eax
mov dword [ebp - 0xf4], ecx
cmp ecx, edi
mov byte [ebp - 4], 0x18
je 0x100053c1
call fcn.10006380
mov esi, eax
jmp 0x100053c3
xor esi, esi
mov eax, dword [ebp - 0xa4]
cmp eax, edi
mov byte [ebp - 4], 0x17
jne 0x100053d3
mov eax, ebx
mov dword [esi], eax
mov eax, dword [ebp - 0x84]
cmp eax, edi
jne 0x100053e1
mov eax, ebx
and byte [esi + 0x14], 0
push esi
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0x84000001
mov dword [esi + 0x10], 1
mov byte [esi + 0x15], 1
call fcn.100050dd
test al, al
pop ecx
je 0x10005987
cmp esi, edi
je 0x1000541c
lea ecx, [esi + 0x18]
call fcn.1001179b
push esi
call fcn.10044dc2
pop ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x1000542a
call fcn.10001a3c
jmp 0x1000542c
xor eax, eax
push 0x10066584
push eax
call fcn.100462c0
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x10005493
push 1
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x15
call fcn.1002376b
push 1
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xf
call fcn.1002376b
lea ecx, [ebp - 0x14]
call fcn.100018b6
push 1
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.1002376b
lea ecx, [ebp - 0x18]
call fcn.100018b6
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
mov esi, 0x400
push esi
call fcn.1004540f
pop ecx
push edi
push esi
push eax
call fcn.1004622d
push edi
mov ebx, eax
call fcn.100461b0
mov al, byte [ebp + 0xf]
add esp, 0x10
push 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x68], al
call fcn.1002376b
push ebx
call fcn.10045c20
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x68]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
mov byte [ebp - 0x28], al
call fcn.1002376b
mov edi, 0x1006ceac
push edi
call fcn.10045c20
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1a
mov byte [ebp - 0x38], al
call fcn.1002376b
mov esi, 0x10066874
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.100243fe
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x1b
call fcn.1000294e
add esp, 0xc
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1a
call fcn.1002376b
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
call fcn.1002376b
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
call fcn.1002376b
push edi
call fcn.10045c20
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1c
mov byte [ebp - 0x38], al
call fcn.1002376b
mov esi, 0x10066870
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.100243fe
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x1d
call fcn.1000294e
add esp, 0xc
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1c
call fcn.1002376b
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
call fcn.1002376b
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x98]
call fcn.100281fe
xor edi, edi
cmp eax, edi
push ebx
je 0x1000586a
call fcn.10044dc2
mov al, byte [ebp + 0xf]
pop ecx
push edi
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x38], al
call fcn.1002376b
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1e
mov byte [ebp - 0x28], al
call fcn.1002376b
cmp byte [ebp + 0xc], 0
mov byte [ebp - 4], 0x1f
jne 0x100057c5
mov esi, str.autoUpdateMsg
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.100243fe
mov ecx, dword [0x1006ce34]
test ecx, ecx
je 0x10005653
call fcn.10001a3c
mov esi, eax
jmp 0x10005655
xor esi, esi
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x48], al
call fcn.1002376b
mov esi, 0x100664b8
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x20
mov byte [ebp - 0x58], al
call fcn.1002376b
mov esi, str.UpdateAutomatically
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.100243fe
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 0x21
call fcn.100039b2
add esp, 0xc
push 0x10066910
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.10028220
test eax, eax
push 1
lea ecx, [ebp - 0x78]
setne bl
mov byte [ebp - 4], 0x21
call fcn.1002376b
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x20
call fcn.1002376b
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1f
call fcn.1002376b
test bl, bl
je 0x100057c5
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.100039b2
mov eax, dword [eax + 4]
add esp, 0xc
test eax, eax
jne 0x10005735
mov eax, 0x10057508
push 0x24
push str.Update_alert
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
push 1
lea ecx, [ebp - 0x78]
setne bl
call fcn.1002376b
test bl, bl
je 0x100057c5
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1e
call fcn.1002376b
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x19
call fcn.1002376b
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x17
call fcn.1002376b
push 1
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x15
call fcn.1002376b
push 1
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xf
call fcn.1002376b
lea ecx, [ebp - 0x14]
call fcn.100018b6
push 1
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.1002376b
xor bl, bl
jmp 0x1000585b
push 0
call fcn.100040b6
pop ecx
push 0
push 1
push 0x1006cfa0
call fcn.10005be8
push dword [ebp + 8]
push 0
push 0x10020c44
call fcn.100465d4
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1e
call fcn.1002376b
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x19
call fcn.1002376b
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x17
call fcn.1002376b
push 1
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x15
call fcn.1002376b
push 1
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xf
call fcn.1002376b
lea ecx, [ebp - 0x14]
call fcn.100018b6
push 1
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.1002376b
mov bl, 1
lea ecx, [ebp - 0x18]
call fcn.100018b6
mov al, bl
jmp 0x10005484
call fcn.10044dc2
cmp byte [ebp + 0xc], 0
pop ecx
je 0x1000592c
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x58], al
call fcn.1002376b
mov esi, 0x100664c8
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x23
mov byte [ebp - 0x48], al
call fcn.1002376b
mov esi, str.lastVersionMsg
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.100243fe
mov esi, dword [ebp - 0x94]
cmp esi, edi
mov byte [ebp - 4], 0x24
jne 0x100058db
mov esi, 0x10057508
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.100039b2
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, edi
jne 0x100058fb
mov eax, 0x10057508
push 0x40
push esi
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
lea ecx, [ebp - 0x78]
call fcn.1002376b
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x23
call fcn.1002376b
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x19
call fcn.1002376b
push 1
pop esi
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x17
call fcn.1002376b
push esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x15
call fcn.1002376b
push esi
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xf
call fcn.1002376b
lea ecx, [ebp - 0x14]
call fcn.100018b6
push esi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.1002376b
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x10005980
call fcn.10001129
mov al, 1
jmp 0x10005484
cmp esi, edi
je 0x1000599a
lea ecx, [esi + 0x18]
call fcn.1001179b
push esi
call fcn.10044dc2
pop ecx
cmp byte [ebp + 0xc], 0
je 0x10005ae2
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
call fcn.1002376b
mov esi, str.Error
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x25
mov byte [ebp - 0x38], al
call fcn.1002376b
mov esi, str.ErrorMsg
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x26
mov byte [ebp - 0x58], al
call fcn.1002376b
mov esi, 0x100664c8
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.100243fe
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x27
mov byte [ebp - 0x48], al
call fcn.1002376b
mov esi, str.connectionError
push esi
call fcn.10045c20
pop ecx
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.100243fe
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x28
call fcn.100039b2
add esp, 0xc
mov eax, dword [eax + 4]
cmp eax, edi
mov byte [ebp - 4], 0x29
mov esi, ebx
je 0x10005a6b
mov esi, eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.100039b2
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, edi
jne 0x10005a88
mov eax, ebx
push 0x10
push esi
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
pop esi
push esi
lea ecx, [ebp - 0x78]
call fcn.1002376b
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x28
call fcn.1002376b
push esi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x27
call fcn.1002376b
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x26
call fcn.1002376b
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x25
call fcn.1002376b
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x17
call fcn.1002376b
jmp 0x10005ae5
push 1
pop esi
push esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x15
call fcn.1002376b
push esi
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xf
call fcn.1002376b
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
je 0x10005b14
call fcn.10001129
mov dword [ebp - 0x14], edi
push esi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.1002376b
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x10005482
call fcn.10001129
jmp 0x10005482