Function at 0x10004b55
Capabilities:
Create thread

Disassembly:
mov eax, 0x10042375
call fcn.10035ae0
sub esp, 0xe8
push ebx
push esi
push edi
lea eax, [ebp - 0x90]
mov dword [ebp - 0x10], esp
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.10002fa0
pop ecx
push str.newversion.txt
push eax
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 1
push eax
call fcn.100041a8
push dword [eax]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.10001065
lea ecx, [ebp - 0x7c]
call fcn.10001a89
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.10001a89
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x58], al
call fcn.100149cc
mov esi, str.undefined
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.10015611
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
mov byte [ebp - 0x28], al
call fcn.100149cc
mov esi, str.toolbar_version
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.10015611
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.10002a7b
add esp, 0xc
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa
call fcn.100149cc
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 9
call fcn.100149cc
mov al, byte [ebp + 0xf]
mov byte [ebp - 0xb0], al
push ebx
lea ecx, [ebp - 0xb0]
call fcn.100149cc
mov edi, 0x10059ef8
push edi
call fcn.10035bc0
pop ecx
push eax
push edi
lea ecx, [ebp - 0xb0]
call fcn.10015611
mov al, byte [ebp + 0xf]
push ebx
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xb
mov byte [ebp - 0xc0], al
call fcn.100149cc
mov esi, str.updatePath
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0xc0]
call fcn.10015611
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.10002a7b
add esp, 0xc
mov eax, dword [eax + 4]
mov byte [ebp - 4], 0xd
cmp eax, ebx
mov ebx, 0x10047534
jne 0x10004ccd
mov eax, ebx
push eax
lea ecx, [ebp - 0x14]
call fcn.10001065
push 1
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x11
call fcn.100149cc
push 1
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x10
call fcn.100149cc
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xf
call fcn.100149cc
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xd0], al
call fcn.100149cc
push edi
call fcn.10035bc0
pop ecx
push eax
push edi
lea ecx, [ebp - 0xd0]
call fcn.10015611
mov al, byte [ebp + 0xf]
xor edi, edi
push edi
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x12
mov byte [ebp - 0xe0], al
call fcn.100149cc
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0xe0]
call fcn.10015611
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.10002a7b
add esp, 0xc
push 1
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x16
call fcn.100149cc
push 1
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x15
call fcn.100149cc
mov esi, str.version.txt
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x78]
call fcn.100155ba
lea eax, [ebp - 0x78]
push eax
call fcn.100112d4
pop ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x10004dd2
call fcn.10002120
mov esi, eax
jmp 0x10004dd4
xor esi, esi
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x68], al
call fcn.100149cc
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x68]
call fcn.10015611
push 0x1c
mov byte [ebp - 4], 0x17
call fcn.100356f9
pop ecx
mov ecx, eax
mov dword [ebp - 0xe4], ecx
cmp ecx, edi
mov byte [ebp - 4], 0x18
je 0x10004e19
call fcn.100053d5
mov esi, eax
jmp 0x10004e1b
xor esi, esi
mov eax, dword [ebp - 0x74]
mov byte [ebp - 4], 0x17
cmp eax, edi
jne 0x10004e28
mov eax, ebx
mov dword [esi], eax
mov eax, dword [ebp - 0x64]
cmp eax, edi
jne 0x10004e33
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.10004b44
test al, al
pop ecx
je 0x100052a3
cmp esi, edi
je 0x10004e6e
lea ecx, [esi + 0x18]
call fcn.10001a89
push esi
call fcn.10032e05
pop ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x10004e7c
call fcn.10002120
jmp 0x10004e7e
xor eax, eax
push 0x100548b4
push eax
call fcn.10036769
mov edi, eax
pop ecx
test edi, edi
pop ecx
jne 0x10004edf
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x15
call fcn.100149cc
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xf
call fcn.100149cc
lea ecx, [ebp - 0x14]
call fcn.100040f3
push 1
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.100149cc
lea ecx, [ebp - 0x18]
call fcn.100040f3
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.100356f9
pop ecx
push edi
push esi
push eax
call fcn.100366d6
push edi
mov esi, eax
call fcn.10036659
mov al, byte [ebp + 0xf]
add esp, 0x10
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
push 0
call fcn.100149cc
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.10015611
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x8c]
push eax
mov byte [ebp - 4], 0x19
call fcn.1001a2d1
xor edi, edi
push 1
cmp eax, edi
lea ecx, [ebp - 0x28]
setne bl
mov byte [ebp - 4], 0x17
call fcn.100149cc
test bl, bl
push esi
je 0x1000518c
call fcn.10032e05
mov al, byte [ebp + 0xf]
pop ecx
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
call fcn.100149cc
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1a
mov byte [ebp - 0x58], al
call fcn.100149cc
cmp byte [ebp + 0xc], 0
mov byte [ebp - 4], 0x1b
jne 0x10005113
mov esi, str.autoUpdateMsg
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.10015611
mov ecx, dword [0x10059dd4]
test ecx, ecx
je 0x10004faf
call fcn.10002120
mov esi, eax
jmp 0x10004fb1
xor esi, esi
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.10015611
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x38], al
call fcn.100149cc
mov esi, 0x1005457c
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.10015611
mov al, byte [ebp + 0xf]
push 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1c
mov byte [ebp - 0x48], al
call fcn.100149cc
mov esi, str.UpdateAutomatically
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.10015611
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.10002a7b
add esp, 0xc
push 0x10054928
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.1001a2f3
test eax, eax
push 1
lea ecx, [ebp - 0xa0]
setne bl
mov byte [ebp - 4], 0x1d
call fcn.100149cc
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1c
call fcn.100149cc
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1b
call fcn.100149cc
test bl, bl
je 0x10005113
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.10002a7b
mov eax, dword [eax + 4]
add esp, 0xc
test eax, eax
jne 0x1000509a
mov eax, 0x10047534
push 0x24
push str.Update_alert
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
cmp eax, 6
pop esi
lea ecx, [ebp - 0xa0]
push esi
setne bl
call fcn.100149cc
test bl, bl
je 0x10005113
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1a
call fcn.100149cc
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x17
call fcn.100149cc
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x15
call fcn.100149cc
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xf
call fcn.100149cc
lea ecx, [ebp - 0x14]
call fcn.100040f3
push esi
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.100149cc
xor bl, bl
jmp 0x1000517d
push dword [ebp + 8]
push 0
push 0x10012c6c
call fcn.100367a8
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
lea ecx, [ebp - 0x58]
pop esi
mov byte [ebp - 4], 0x1a
push esi
call fcn.100149cc
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x17
call fcn.100149cc
push esi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x15
call fcn.100149cc
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xf
call fcn.100149cc
lea ecx, [ebp - 0x14]
call fcn.100040f3
push esi
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.100149cc
mov bl, 1
lea ecx, [ebp - 0x18]
call fcn.100040f3
mov al, bl
jmp 0x10004ed0
call fcn.10032e05
cmp byte [ebp + 0xc], 0
pop ecx
je 0x10005254
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x48], al
call fcn.100149cc
mov esi, 0x10054578
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.10015611
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1f
mov byte [ebp - 0x38], al
call fcn.100149cc
mov esi, str.lastVersionMsg
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.10015611
mov esi, dword [ebp - 0x88]
mov byte [ebp - 4], 0x20
cmp esi, edi
jne 0x100051fd
mov esi, 0x10047534
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.10002a7b
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, edi
jne 0x10005220
mov eax, 0x10047534
push 0x40
push esi
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
lea ecx, [ebp - 0xa0]
call fcn.100149cc
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1f
call fcn.100149cc
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call fcn.100149cc
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x15
call fcn.100149cc
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xf
call fcn.100149cc
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
je 0x1000527f
call fcn.1000110f
mov dword [ebp - 0x14], edi
push 1
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.100149cc
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x1000529c
call fcn.1000110f
mov al, 1
jmp 0x10004ed0
cmp esi, edi
je 0x100052b6
lea ecx, [esi + 0x18]
call fcn.10001a89
push esi
call fcn.10032e05
pop ecx
cmp byte [ebp + 0xc], 0
je 0x1000536a
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x48], al
call fcn.100149cc
mov esi, 0x10054578
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.10015611
mov al, byte [ebp + 0xf]
push edi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x21
mov byte [ebp - 0x38], al
call fcn.100149cc
mov esi, str.connectionError
push esi
call fcn.10035bc0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.10015611
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.10002a7b
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, edi
jne 0x10005332
mov eax, ebx
push 0x10
push str.Error
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
lea ecx, [ebp - 0xa0]
call fcn.100149cc
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x21
call fcn.100149cc
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call fcn.100149cc
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x15
call fcn.100149cc
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xf
call fcn.100149cc
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
je 0x10005395
call fcn.1000110f
mov dword [ebp - 0x14], edi
push 1
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.100149cc
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x10004ece
call fcn.1000110f
jmp 0x10004ece