Function at 0x452f20
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 0x4ebe03
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 0x452fa0
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 0x452fef
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 0x45301f
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 0x45304d
mov dword [edx + 8], 4
mov edx, dword [0x5430d8]
mov ecx, dword [ebp - 0x238]
cmp dword [ebp - 0x224], edi
jae 0x453061
lea ecx, [ebp - 0x238]
test edx, edx
je 0x4530a3
call fcn.0042b720
mov eax, dword [0x5430d8]
test eax, eax
je 0x4530a3
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4530a3
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push ecx
mov ecx, 0x50eab0
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.004542f0
call fcn.0040acc0
call fcn.00454500
test eax, eax
jne 0x45317c
mov edi, dword [0x5430d8]
test edi, edi
je 0x453110
cmp dword [edi + 8], 2
jl 0x453110
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 0x45315d
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45315d
mov esi, 0x5f
push str.Main.cpp
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
push eax
mov ecx, 0x50eb88
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
cmp dword [ebp - 0x224], 8
jb 0x453175
mov ecx, dword [ebp - 0x238]
push ecx
call fcn.004b1676
add esp, 4
xor eax, eax
jmp 0x453fb4
call fcn.00454460
test al, al
jne 0x4531d9
mov eax, dword [0x5430d8]
test eax, eax
je 0x45315d
cmp dword [eax + 8], 2
mov edi, eax
jl 0x4531c3
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 0x45315d
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45315d
mov esi, 0x66
jmp 0x45313a
test byte [0x5431e4], 1
mov esi, 1
jne 0x4531ff
or dword [0x5431e4], esi
call fcn.00442d10
push 0x4ec540
call fcn.004b3d86
add esp, 4
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x453204
sub eax, edx
sar eax, 1
push eax
push ebx
mov ecx, 0x5431a4
call fcn.00404960
test byte [0x5431e4], 1
jne 0x453240
or dword [0x5431e4], esi
call fcn.00442d10
push 0x4ec540
call fcn.004b3d86
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 0x453280
or dword [0x5431e4], esi
call fcn.00442d10
push 0x4ec540
call fcn.004b3d86
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 0x45333a
test bl, bl
jne 0x45333a
call fcn.00454380
test al, al
jne 0x45333a
mov eax, dword [0x5430d8]
test eax, eax
je 0x453328
cmp dword [eax + 8], 2
mov edi, eax
jl 0x4532f4
push str.Main.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50ec0c
mov esi, 0x71
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
mov eax, dword [0x5430d8]
test eax, eax
je 0x453328
cmp dword [eax + 8], 4
mov edi, eax
jl 0x453328
push str.Main.cpp
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
mov esi, 0x72
push eax
mov ecx, 0x50eb88
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
lea ecx, [ebp - 0x238]
call fcn.00404a50
xor eax, eax
jmp 0x453fb4
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x4533df
mov eax, dword [0x5430d8]
test eax, eax
je 0x4533bc
cmp dword [eax + 8], 2
mov edi, eax
jl 0x453388
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 0x4533bc
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4533bc
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50eb88
mov esi, 0x7c
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
cmp dword [ebp - 0x224], 8
jb 0x453175
mov eax, dword [ebp - 0x238]
push eax
call fcn.004b1676
add esp, 4
xor eax, eax
jmp 0x453fb4
mov ebx, dword [ebp - 0x360]
push ebx
call dword [0x5111a4]
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 [0x5111a8]
mov eax, dword [0x540638]
add esp, 8
cmp dword [0x54064c], 8
jae 0x45343b
mov eax, 0x540638
push eax
call dword [0x5111ac]
push str._global_text_skin.xml
call dword [0x5111b0]
add esp, 8
test al, al
jne 0x4534d9
mov eax, dword [0x5430d8]
test eax, eax
je 0x453491
cmp dword [eax + 8], 2
mov edi, eax
jl 0x453491
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 0x453328
cmp dword [eax + 8], 4
mov edi, eax
jl 0x453328
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
mov esi, 0x95
push edx
jmp 0x453316
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 0x4535e7
mov eax, dword [0x5430d8]
test eax, eax
je 0x453556
cmp dword [eax + 8], 2
mov edi, eax
jl 0x453556
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 0x45358a
lea ecx, [ebp - 0x254]
xor edx, edx
call fcn.00430120
mov eax, dword [0x5430d8]
test eax, eax
je 0x4535ca
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4535ca
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50eb88
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 0x453fb4
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.00452840
mov eax, dword [ebp - 0x364]
mov byte [ebp - 4], 9
mov ecx, 0x50d5a4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4536ab
cmp dx, di
je 0x4536a7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4536ab
add eax, 4
add ecx, 4
cmp dx, di
jne 0x453685
xor eax, eax
jmp 0x4536b0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x453ec2
mov eax, dword [ebp - 0x364]
mov ecx, str._tempunsetup
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4536e9
test dx, dx
je 0x4536e5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4536e9
add eax, 4
add ecx, 4
test dx, dx
jne 0x4536c3
xor eax, eax
jmp 0x4536ee
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453ec2
mov esi, dword [ebp - 0x364]
mov ecx, str._updateself
mov eax, esi
mov ebx, 4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45372c
test dx, dx
je 0x453728
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45372c
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453708
xor eax, eax
jmp 0x453731
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453e6b
push str.UpdateSelf
push esi
call fcn.004b4689
add esp, 8
test eax, eax
je 0x4537a3
call fcn.00442c70
add eax, 0xc4
push eax
mov edx, str._update
call fcn.00404090
mov edi, dword [0x5430d8]
test edi, edi
je 0x453ea1
cmp dword [edi + 8], ebx
jl 0x453e6b
push str.Main.cpp
push ebx
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50ed44
mov esi, 0xbd
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
jmp 0x453e6b
mov ecx, str._update
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4537d4
test dx, dx
je 0x4537d0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4537d4
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4537b0
xor eax, eax
jmp 0x4537d9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453e6b
mov ecx, str._tempupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45380c
test dx, dx
je 0x453808
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45380c
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4537e8
xor eax, eax
jmp 0x453811
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453e6b
mov ecx, 0x50ed7c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453844
test dx, dx
je 0x453840
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453844
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453820
xor eax, eax
jmp 0x453849
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453e0e
mov ecx, str.AUTO
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45387c
test dx, dx
je 0x453878
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45387c
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453858
xor eax, eax
jmp 0x453881
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453e0e
mov ecx, str._quietupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4538b4
test dx, dx
je 0x4538b0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4538b4
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453890
xor eax, eax
jmp 0x4538b9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453e5a
mov ecx, str._quietdownloadupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4538ec
test dx, dx
je 0x4538e8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4538ec
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4538c8
xor eax, eax
jmp 0x4538f1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453904
mov dword [ebp - 0x258], 2
jmp 0x453e64
mov ecx, str._startupdate
mov eax, esi
jmp 0x453910
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453934
test dx, dx
je 0x453930
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453934
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453910
xor eax, eax
jmp 0x453939
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45394c
mov dword [ebp - 0x258], 5
jmp 0x453e6b
mov ecx, str._normalupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453977
test dx, dx
je 0x453973
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453977
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453953
xor eax, eax
jmp 0x45397c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453e6b
mov ecx, str._forceupdate
mov eax, esi
jmp 0x453990
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4539b4
test dx, dx
je 0x4539b0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4539b4
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453990
xor eax, eax
jmp 0x4539b9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4539d3
mov byte [ebp - 0x283], 1
mov dword [ebp - 0x258], 1
jmp 0x453e6b
mov ecx, str._quietreplaceupdate
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453a04
test dx, dx
je 0x453a00
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453a04
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4539e0
xor eax, eax
jmp 0x453a09
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453a1c
mov dword [ebp - 0x258], 3
jmp 0x453e64
mov ecx, str._fakeupdateprogress
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453a47
test dx, dx
je 0x453a43
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453a47
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453a23
xor eax, eax
jmp 0x453a4c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453a62
mov byte [ebp - 0x283], 1
mov dword [ebp - 0x258], ebx
jmp 0x453e6b
mov ecx, str._update64
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453a94
test dx, dx
je 0x453a90
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453a94
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x453a70
xor eax, eax
jmp 0x453a99
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453aae
call fcn.00442c70
mov byte [eax + 0xe3], 1
jmp 0x453e6b
cmp dword [ebp - 0x378], 1
jne 0x453ace
call fcn.00442c70
cmp byte [eax + 0xe0], 0
jne 0x453c90
jmp 0x453f1b
push 0x50eeac
push esi
call fcn.004b4689
add esp, 8
test eax, eax
je 0x453b2a
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 0x453b3f
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x453b3f
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 0x453b3f
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 0x453d21
mov al, byte [ebp - 0x36c]
test al, al
je 0x453ba2
cmp al, 7
jne 0x453d21
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 0x453d66
call fcn.0041b7f0
test al, al
je 0x453d66
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.00454010
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 0x453c40
test dl, dl
je 0x453c3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x453c40
add eax, 2
add ecx, 2
test dl, dl
jne 0x453c20
xor eax, eax
jmp 0x453c45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453c55
mov byte [ebp - 4], 9
lea ebx, [eax + 4]
jmp 0x453e6b
mov ecx, str.setup
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x453c80
test dl, dl
je 0x453c7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x453c80
add eax, 2
add ecx, 2
test dl, dl
jne 0x453c60
xor eax, eax
jmp 0x453c85
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453ce2
mov byte [ebp - 4], 9
lea ebx, [eax + 4]
mov eax, dword [0x5430d8]
test eax, eax
je 0x453cc7
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x453cc7
push str.Main.cpp
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
push eax
mov ecx, 0x50ef58
mov esi, 0x138
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
xor ecx, ecx
call fcn.00452880
lea ecx, [ebp - 0x284]
push ecx
call fcn.00443fb0
add esp, 4
jmp 0x453f1b
mov ecx, str.unsetup
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x453d10
test dl, dl
je 0x453d0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x453d10
add eax, 2
add ecx, 2
test dl, dl
jne 0x453cf0
xor eax, eax
jmp 0x453d15
sbb eax, eax
sbb eax, 0xffffffff
mov byte [ebp - 4], 9
test eax, eax
je 0x453ec2
mov edi, dword [0x5430d8]
test edi, edi
je 0x453f1b
cmp dword [edi + 8], 2
jl 0x453f1b
push str.Main.cpp
push 2
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
push eax
mov ecx, 0x50ef78
mov esi, 0x142
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
jmp 0x453f1b
mov byte [ebp - 4], 9
jmp 0x453d21
mov eax, dword [0x5430d8]
test eax, eax
je 0x453e45
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x453e45
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 0x453ea1
cmp dword [edi + 8], ebx
jl 0x453ea1
push str.Main.cpp
push ebx
push ecx
mov edx, esp
mov dword [ebp - 0x35c], esp
push edx
mov ecx, 0x50ef68
mov esi, 0x13d
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
mov ecx, 1
call fcn.00452880
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x248]
call fcn.00445d90
add esp, 4
jmp 0x453f1b
mov eax, dword [0x5430d8]
test eax, eax
je 0x453efb
cmp dword [eax + 8], 4
mov edi, eax
jl 0x453efb
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.00452880
mov edx, dword [ebp - 0x35c]
push edx
lea eax, [ebp - 0x284]
push eax
call fcn.004453e0
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [0x5430d8]
test eax, eax
je 0x453f5a
cmp dword [eax + 8], 4
mov edi, eax
jl 0x453f5a
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push ecx
mov ecx, 0x50eb88
mov esi, 0x147
call fcn.00408620
push edi
mov ecx, esi
call fcn.0042c420
lea esi, [ebp - 0x284]
call fcn.00453fe0
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.004b1681
mov esp, ebp
pop ebp
ret 0x10