Function at 0x4534f0
Capabilities:
Accept command line arguments
Extract resource via kernel32 functions
Get common file path
Get startup folder

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ec493
mov eax, dword fs:[0]
push eax
sub esp, 0x36c
mov eax, dword [0x53f1e4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
lea ecx, [ebp - 0x21c]
push ecx
xor esi, esi
push esi
push esi
push 0x1a
push esi
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x364], ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xor edx, edx
lea eax, [ebp - 0x21c]
mov word [ebp - 0x238], dx
mov dword [ebp - 0x224], 7
mov dword [ebp - 0x228], esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x453570
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404960
mov edi, 8
push edi
mov eax, 0x507350
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], esi
call fcn.00403f00
mov eax, dword [ebp - 0x238]
cmp dword [ebp - 0x224], edi
jae 0x4535bf
lea eax, [ebp - 0x238]
push eax
push esi
mov esi, dword [sym.imp.SHELL32.dll_SHCreateDirectory]
call esi
push 4
mov eax, str.Log
lea ecx, [ebp - 0x238]
call fcn.00403f00
mov eax, dword [ebp - 0x238]
cmp dword [ebp - 0x224], edi
jae 0x4535ef
lea eax, [ebp - 0x238]
push eax
push 0
call esi
push 0x12
mov eax, str.WEMediaUpdate.log
lea ecx, [ebp - 0x238]
call fcn.00403f00
mov edx, dword [0x5430d8]
test edx, edx
je 0x45361d
mov dword [edx + 8], 4
mov edx, dword [0x5430d8]
mov ecx, dword [ebp - 0x238]
cmp dword [ebp - 0x224], edi
jae 0x453631
lea ecx, [ebp - 0x238]
test edx, edx
je 0x453673
call fcn.0042b720
mov eax, dword [0x5430d8]
test eax, eax
je 0x453673
cmp dword [eax + 8], 4
mov edi, eax
jl 0x453673
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push ecx
mov ecx, 0x50ebe8
mov esi, 0x54
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
push ebx
mov edx, 0x56
push str.Main
push str.Main.cpp
lea esi, [edx - 0x52]
mov eax, 0x5430d8
call fcn.0042b3c0
add esp, 0xc
call fcn.004548c0
call fcn.0040acc0
call fcn.00454ad0
test eax, eax
jne 0x45374c
mov edi, dword [0x5430d8]
test edi, edi
je 0x4536e0
cmp dword [edi + 8], 2
jl 0x4536e0
push str.Main.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, str.Load_language_resource_failed_
lea esi, [eax + 0x5d]
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
push 0
push str.Error:
push str.Load_language_resource_failed_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x5430d8]
test eax, eax
je 0x45372d
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45372d
mov esi, 0x5f
push str.Main.cpp
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
push eax
mov ecx, 0x50ecc0
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
cmp dword [ebp - 0x224], 8
jb 0x453745
mov ecx, dword [ebp - 0x238]
push ecx
call fcn.004b1c22
add esp, 4
xor eax, eax
jmp 0x454584
call fcn.00454a30
test al, al
jne 0x4537a9
mov eax, dword [0x5430d8]
test eax, eax
je 0x45372d
cmp dword [eax + 8], 2
mov edi, eax
jl 0x453793
push str.Main.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, str.InitGlobalParam_failed_
mov esi, 0x65
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
mov eax, dword [0x5430d8]
test eax, eax
je 0x45372d
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45372d
mov esi, 0x66
jmp 0x45370a
test byte [0x5431e4], 1
mov esi, 1
jne 0x4537cf
or dword [0x5431e4], esi
call fcn.00442d10
push 0x4ecbd0
call fcn.004b4336
add esp, 4
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4537d4
sub eax, edx
sar eax, 1
push eax
push ebx
mov ecx, 0x5431a4
call fcn.00404960
test byte [0x5431e4], 1
jne 0x453810
or dword [0x5431e4], esi
call fcn.00442d10
push 0x4ecbd0
call fcn.004b4336
add esp, 4
push 0xc
push str._tempunsetup
push 0x5431a4
xor eax, eax
call fcn.0040d750
cmp eax, 0xffffffff
setne bl
test byte [0x5431e4], 1
mov byte [ebp - 0x35c], bl
jne 0x453850
or dword [0x5431e4], esi
call fcn.00442d10
push 0x4ecbd0
call fcn.004b4336
add esp, 4
push 0xa
push str.selfupdate
push 0x5431a4
xor eax, eax
call fcn.0040d750
cmp eax, 0xffffffff
setne al
test al, al
jne 0x45390a
test bl, bl
jne 0x45390a
call fcn.00454950
test al, al
jne 0x45390a
mov eax, dword [0x5430d8]
test eax, eax
je 0x4538f8
cmp dword [eax + 8], 2
mov edi, eax
jl 0x4538c4
push str.Main.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50ed44
mov esi, 0x71
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
mov eax, dword [0x5430d8]
test eax, eax
je 0x4538f8
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4538f8
push str.Main.cpp
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
mov esi, 0x72
push eax
mov ecx, 0x50ecc0
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
lea ecx, [ebp - 0x238]
call fcn.00404a50
xor eax, eax
jmp 0x454584
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x4539af
mov eax, dword [0x5430d8]
test eax, eax
je 0x45398c
cmp dword [eax + 8], 2
mov edi, eax
jl 0x453958
push str.Main.cpp
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push ecx
mov ecx, str.CoInitialize_Failed
mov esi, 0x7b
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
mov eax, dword [0x5430d8]
test eax, eax
je 0x45398c
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45398c
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50ecc0
mov esi, 0x7c
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
cmp dword [ebp - 0x224], 8
jb 0x453745
mov eax, dword [ebp - 0x238]
push eax
call fcn.004b1c22
add esp, 4
xor eax, eax
jmp 0x454584
mov ebx, dword [ebp - 0x360]
push ebx
call dword [0x5112dc]
add esp, 4
push 0xa
push 0x81
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push eax
call dword [0x5112e0]
mov eax, dword [0x540638]
add esp, 8
cmp dword [0x54064c], 8
jae 0x453a0b
mov eax, 0x540638
push eax
call dword [0x5112e4]
push str._global_text_skin.xml
call dword [0x5112e8]
add esp, 8
test al, al
jne 0x453aa9
mov eax, dword [0x5430d8]
test eax, eax
je 0x453a61
cmp dword [eax + 8], 2
mov edi, eax
jl 0x453a61
push str.Main.cpp
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push ecx
mov ecx, str.load__global_text_skin.xml_Failed
mov esi, 0x93
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
push 0
push str.Warning
push str.InitResouceFailed
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x5430d8]
test eax, eax
je 0x4538f8
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4538f8
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
mov esi, 0x95
push edx
jmp 0x4538e6
lea eax, [ebp - 0x378]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x360], eax
call fcn.00442c70
mov edi, ebx
call fcn.004430d0
call fcn.00442c70
mov esi, eax
call fcn.00442f70
call fcn.00443d80
call fcn.00441770
test al, al
jne 0x453bb7
mov eax, dword [0x5430d8]
test eax, eax
je 0x453b26
cmp dword [eax + 8], 2
mov edi, eax
jl 0x453b26
push str.Main.cpp
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push ecx
mov ecx, str.LoadRcUpdateScript_Failed
mov esi, 0xa2
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
push 0x50a890
call fcn.0042a770
push eax
mov edx, 0x50a8a8
lea ecx, [ebp - 0x254]
call fcn.0042ade0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x240], 8
mov ecx, dword [ebp - 0x254]
jae 0x453b5a
lea ecx, [ebp - 0x254]
xor edx, edx
call fcn.00430120
mov eax, dword [0x5430d8]
test eax, eax
je 0x453b9a
cmp dword [eax + 8], 4
mov edi, eax
jl 0x453b9a
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50ecc0
mov esi, 0xa5
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
lea ecx, [ebp - 0x254]
call fcn.00404a50
lea ecx, [ebp - 0x238]
call fcn.00404a50
xor eax, eax
jmp 0x454584
call fcn.00442c70
mov byte [eax + 0xe5], 0
call fcn.0040ddf0
test eax, eax
sete bl
call fcn.00442c70
mov byte [eax + 0xe6], bl
xor edi, edi
xor eax, eax
mov dword [ebp - 0x28c], 7
mov dword [ebp - 0x290], edi
mov word [ebp - 0x2a0], ax
lea ecx, [ebp - 0x358]
push ecx
mov byte [ebp - 4], 2
call fcn.004162a0
mov eax, 0xfffffe00
and dword [ebp - 0x36c], eax
mov dword [ebp - 0x368], edi
and dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x2a8], 0xf
mov dword [ebp - 0x2ac], edi
mov byte [ebp - 0x2bc], 0
lea esi, [ebp - 0x284]
mov byte [ebp - 4], 8
call fcn.00452e10
mov eax, dword [ebp - 0x364]
mov byte [ebp - 4], 9
mov ecx, 0x50d5a4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453c7b
cmp dx, di
je 0x453c77
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453c7b
add eax, 4
add ecx, 4
cmp dx, di
jne 0x453c55
xor eax, eax
jmp 0x453c80
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x454492
mov eax, dword [ebp - 0x364]
mov ecx, str._tempunsetup
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453cb9
test dx, dx
je 0x453cb5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453cb9
add eax, 4
add ecx, 4
test dx, dx
jne 0x453c93
xor eax, eax
jmp 0x453cbe
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x454492
mov esi, dword [ebp - 0x364]
mov ecx, str._updateself
mov eax, esi
mov ebx, 4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453cfc
test dx, dx
je 0x453cf8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453cfc
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453cd8
xor eax, eax
jmp 0x453d01
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45443b
push str.UpdateSelf
push esi
call fcn.004b4c39
add esp, 8
test eax, eax
je 0x453d73
call fcn.00442c70
add eax, 0xc4
push eax
mov edx, str._update
call fcn.00404090
mov edi, dword [0x5430d8]
test edi, edi
je 0x454471
cmp dword [edi + 8], ebx
jl 0x45443b
push str.Main.cpp
push ebx
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50ee7c
mov esi, 0xbd
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
jmp 0x45443b
mov ecx, str._update
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453da4
test dx, dx
je 0x453da0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453da4
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453d80
xor eax, eax
jmp 0x453da9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45443b
mov ecx, str._tempupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453ddc
test dx, dx
je 0x453dd8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453ddc
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453db8
xor eax, eax
jmp 0x453de1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45443b
mov ecx, 0x50eeb4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453e14
test dx, dx
je 0x453e10
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453e14
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453df0
xor eax, eax
jmp 0x453e19
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4543de
mov ecx, str.AUTO
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453e4c
test dx, dx
je 0x453e48
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453e4c
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453e28
xor eax, eax
jmp 0x453e51
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4543de
mov ecx, str._quietupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453e84
test dx, dx
je 0x453e80
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453e84
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453e60
xor eax, eax
jmp 0x453e89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45442a
mov ecx, str._quietdownloadupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453ebc
test dx, dx
je 0x453eb8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453ebc
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453e98
xor eax, eax
jmp 0x453ec1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453ed4
mov dword [ebp - 0x258], 2
jmp 0x454434
mov ecx, str._startupdate
mov eax, esi
jmp 0x453ee0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453f04
test dx, dx
je 0x453f00
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453f04
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453ee0
xor eax, eax
jmp 0x453f09
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453f1c
mov dword [ebp - 0x258], 5
jmp 0x45443b
mov ecx, str._normalupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453f47
test dx, dx
je 0x453f43
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453f47
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453f23
xor eax, eax
jmp 0x453f4c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45443b
mov ecx, str._forceupdate
mov eax, esi
jmp 0x453f60
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453f84
test dx, dx
je 0x453f80
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453f84
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453f60
xor eax, eax
jmp 0x453f89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453fa3
mov byte [ebp - 0x283], 1
mov dword [ebp - 0x258], 1
jmp 0x45443b
mov ecx, str._quietreplaceupdate
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453fd4
test dx, dx
je 0x453fd0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453fd4
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453fb0
xor eax, eax
jmp 0x453fd9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453fec
mov dword [ebp - 0x258], 3
jmp 0x454434
mov ecx, str._fakeupdateprogress
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454017
test dx, dx
je 0x454013
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454017
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453ff3
xor eax, eax
jmp 0x45401c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454032
mov byte [ebp - 0x283], 1
mov dword [ebp - 0x258], ebx
jmp 0x45443b
mov ecx, str._update64
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454064
test dx, dx
je 0x454060
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454064
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454040
xor eax, eax
jmp 0x454069
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45407e
call fcn.00442c70
mov byte [eax + 0xe3], 1
jmp 0x45443b
cmp dword [ebp - 0x378], 1
jne 0x45409e
call fcn.00442c70
cmp byte [eax + 0xe0], 0
jne 0x454260
jmp 0x4544eb
push 0x50efe4
push esi
call fcn.004b4c39
add esp, 8
test eax, eax
je 0x4540fa
lea eax, [ebp - 0x2a0]
push eax
mov edx, str._param_:_quiet_:_true___tag_:_setup_
call fcn.00404090
mov eax, dword [0x5430d8]
test eax, eax
je 0x45410f
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x45410f
push str.Main.cpp
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x360], esp
push ecx
mov ecx, str.install_q
mov esi, 0x111
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
jmp 0x45410f
mov eax, dword [ebp - 0x360]
mov eax, dword [eax + 4]
lea edx, [ebp - 0x2a0]
push edx
call fcn.00404030
lea ecx, [ebp - 0x2d8]
push ecx
lea ecx, [ebp - 0x2a0]
call fcn.0040b370
add esp, 4
mov edi, eax
lea esi, [ebp - 0x2bc]
mov byte [ebp - 4], 0xa
call fcn.00401de0
lea ecx, [ebp - 0x2d8]
mov byte [ebp - 4], 9
call fcn.00401e80
lea edx, [ebp - 0x374]
push edx
mov eax, esi
lea ecx, [ebp - 0x358]
call fcn.004164c0
test al, al
je 0x4542f1
mov al, byte [ebp - 0x36c]
test al, al
je 0x454172
cmp al, 7
jne 0x4542f1
push 0
lea eax, [ebp - 0x374]
push eax
mov ecx, 0x5073fc
mov byte [ebp - 4], 0xb
call fcn.0041af50
push 0
lea ecx, [ebp - 0x374]
push ecx
mov ecx, str.param
mov ebx, eax
call fcn.0041af50
cmp byte [ebx + 8], 4
mov edi, eax
jne 0x454336
call fcn.0041b7f0
test al, al
je 0x454336
push 0
push edi
mov ecx, str.other
call fcn.0041af50
lea esi, [ebp - 0x248]
call fcn.00419c60
lea edx, [ebp - 0x284]
push edx
mov ecx, edi
call fcn.004545e0
mov ebx, dword [ebx]
add esp, 4
mov ecx, str.update
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x454210
test dl, dl
je 0x45420c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x454210
add eax, 2
add ecx, 2
test dl, dl
jne 0x4541f0
xor eax, eax
jmp 0x454215
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454225
mov byte [ebp - 4], 9
lea ebx, [eax + 4]
jmp 0x45443b
mov ecx, str.setup
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x454250
test dl, dl
je 0x45424c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x454250
add eax, 2
add ecx, 2
test dl, dl
jne 0x454230
xor eax, eax
jmp 0x454255
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4542b2
mov byte [ebp - 4], 9
lea ebx, [eax + 4]
mov eax, dword [0x5430d8]
test eax, eax
je 0x454297
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x454297
push str.Main.cpp
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
push eax
mov ecx, 0x50f090
mov esi, 0x138
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
xor ecx, ecx
call fcn.00452e50
lea ecx, [ebp - 0x284]
push ecx
call fcn.00443fb0
add esp, 4
jmp 0x4544eb
mov ecx, str.unsetup
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4542e0
test dl, dl
je 0x4542dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4542e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4542c0
xor eax, eax
jmp 0x4542e5
sbb eax, eax
sbb eax, 0xffffffff
mov byte [ebp - 4], 9
test eax, eax
je 0x454492
mov edi, dword [0x5430d8]
test edi, edi
je 0x4544eb
cmp dword [edi + 8], 2
jl 0x4544eb
push str.Main.cpp
push 2
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
push eax
mov ecx, 0x50f0b0
mov esi, 0x142
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
jmp 0x4544eb
mov byte [ebp - 4], 9
jmp 0x4542f1
mov eax, dword [0x5430d8]
test eax, eax
je 0x454415
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x454415
push str.Main.cpp
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push ecx
mov ecx, str.AAAA_AUTO
mov esi, 0xc8
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
call fcn.00442c70
add eax, 0xc4
push eax
mov edx, str._quietupdate
call fcn.00404090
mov dword [ebp - 0x258], 1
mov byte [ebp - 0x284], 1
mov edi, dword [0x5430d8]
test edi, edi
je 0x454471
cmp dword [edi + 8], ebx
jl 0x454471
push str.Main.cpp
push ebx
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50f0a0
mov esi, 0x13d
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
mov ecx, 1
call fcn.00452e50
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x248]
call fcn.00445da0
add esp, 4
jmp 0x4544eb
mov eax, dword [0x5430d8]
test eax, eax
je 0x4544cb
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4544cb
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x360], esp
push ecx
mov ecx, str.eQxS
mov esi, 0x133
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
mov ecx, 2
call fcn.00452e50
mov edx, dword [ebp - 0x35c]
push edx
lea eax, [ebp - 0x284]
push eax
call fcn.004453f0
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [0x5430d8]
test eax, eax
je 0x45452a
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45452a
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push ecx
mov ecx, 0x50ecc0
mov esi, 0x147
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
lea esi, [ebp - 0x284]
call fcn.004545b0
lea ecx, [ebp - 0x2bc]
call fcn.00401e80
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 5
call fcn.00419bc0
lea eax, [ebp - 0x374]
mov byte [ebp - 4], 3
call fcn.00419bc0
lea edi, [ebp - 0x358]
call fcn.00411f00
lea ecx, [ebp - 0x2a0]
call fcn.00404a50
lea ecx, [ebp - 0x238]
call fcn.00404a50
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004b1c2d
mov esp, ebp
pop ebp
ret 0x10