Function at 0x454390
Capabilities:
Accept command line arguments
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f087f
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x5441b4]
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 edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x158], ebx
call fcn.00455690
call fcn.004094d0
call fcn.004559e0
test eax, eax
jne 0x4543ff
push eax
push str.Error:
push str.Load_language_resource_failed_
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x455356
test byte [0x547f74], 1
jne 0x454421
or dword [0x547f74], 1
call fcn.00441d90
push 0x4f1080
call fcn.004b809e
add esp, 4
call fcn.00442120
xor esi, esi
xor eax, eax
mov word [ebp - 0x30], ax
mov eax, ebx
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], esi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x454440
sub eax, edx
sar eax, 1
push eax
push ebx
lea ecx, [ebp - 0x30]
call fcn.004073c0
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], esi
call fcn.00453b80
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 8
mov edi, eax
jb 0x45447f
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004b6106
add esp, 4
cmp edi, 3
je 0x4543f8
test byte [0x547f74], 1
jne 0x4544aa
or dword [0x547f74], 1
call fcn.00441d90
push 0x4f1080
call fcn.004b809e
add esp, 4
call fcn.0040c800
test eax, eax
sete dl
push edi
mov byte [0x547f56], dl
call fcn.00452ff0
add esp, 4
lea esi, [ebp - 0x4c]
call fcn.0040e0e0
sub edi, 0
mov dword [ebp - 4], 1
je 0x4544fa
dec edi
je 0x4544f1
dec edi
mov ecx, esi
je 0x4544e8
push 0x16
mov eax, str.WEMediaSetupError.log
jmp 0x454504
push 0x15
mov eax, str.WEMediaUnInstall.log
jmp 0x454504
push 0x12
mov eax, str.WEMediaUpdate.log
jmp 0x454501
push 0x11
mov eax, str.WEMediaSetup.log
lea ecx, [ebp - 0x4c]
call fcn.004065e0
mov edx, dword [0x547e58]
test edx, edx
je 0x454520
mov dword [edx + 8], 4
mov edx, dword [0x547e58]
cmp dword [ebp - 0x38], 8
mov ecx, dword [ebp - 0x4c]
jae 0x45452c
lea ecx, [ebp - 0x4c]
test edx, edx
je 0x45456e
call fcn.0042a3b0
mov eax, dword [0x547e58]
test eax, eax
je 0x45456e
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45456e
push str.Main.cpp
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, 0x5142a0
mov esi, 0x12d
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
push ebx
push str.Main
push str.Main.cpp
mov edx, 0x12f
mov esi, 4
mov eax, 0x547e58
call fcn.0042a050
add esp, 0xc
call fcn.00455800
test al, al
jne 0x454628
mov eax, dword [0x547e58]
test eax, eax
je 0x45460f
cmp dword [eax + 8], 2
mov edi, eax
jl 0x4545db
push str.Main.cpp
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, str.InitGlobalParam_failed_
mov esi, 0x134
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
mov eax, dword [0x547e58]
test eax, eax
je 0x45460f
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45460f
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, 0x514358
mov esi, 0x135
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
cmp dword [ebp - 0x38], 8
jb 0x454621
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004b6106
add esp, 4
xor eax, eax
jmp 0x455356
test byte [0x547f74], 1
jne 0x45464a
or dword [0x547f74], 1
call fcn.00441d90
push 0x4f1080
call fcn.004b809e
add esp, 4
mov eax, ebx
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x454650
sub eax, edx
sar eax, 1
push eax
push ebx
mov ecx, 0x547f34
call fcn.004073c0
test byte [0x547f74], 1
jne 0x45468d
or dword [0x547f74], 1
call fcn.00441d90
push 0x4f1080
call fcn.004b809e
add esp, 4
push 0xc
push str._tempunsetup
push 0x547f34
xor eax, eax
call fcn.0040c250
cmp eax, 0xffffffff
setne bl
test byte [0x547f74], 1
mov byte [ebp - 0x154], bl
jne 0x4546ce
or dword [0x547f74], 1
call fcn.00441d90
push 0x4f1080
call fcn.004b809e
add esp, 4
push 0xa
push str.selfupdate
push 0x547f34
xor eax, eax
call fcn.0040c250
cmp eax, 0xffffffff
setne al
test al, al
jne 0x454785
test bl, bl
jne 0x454785
call fcn.00455720
test al, al
jne 0x454785
mov eax, dword [0x547e58]
test eax, eax
je 0x454776
cmp dword [eax + 8], 2
mov edi, eax
jl 0x454742
push str.Main.cpp
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, 0x5143ac
mov esi, 0x140
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
mov eax, dword [0x547e58]
test eax, eax
je 0x454776
cmp dword [eax + 8], 4
mov edi, eax
jl 0x454776
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
mov esi, 0x141
push edx
mov ecx, 0x514358
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
lea ecx, [ebp - 0x4c]
call fcn.00406760
xor eax, eax
jmp 0x455356
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x4547f6
mov eax, dword [0x547e58]
test eax, eax
je 0x454776
cmp dword [eax + 8], 2
mov edi, eax
jl 0x4547cf
push str.Main.cpp
push 2
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, str.CoInitialize_Failed
mov esi, 0x14a
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
mov eax, dword [0x547e58]
test eax, eax
je 0x454776
cmp dword [eax + 8], 4
mov edi, eax
jl 0x454776
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
mov esi, 0x14b
push ecx
jmp 0x454764
mov ebx, dword [ebp - 0x15c]
push ebx
call dword [0x516608]
push 0x456820
call dword [0x516614]
add esp, 8
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 [0x51660c]
mov eax, dword [0x545608]
add esp, 8
cmp dword [0x54561c], 8
jae 0x45485d
mov eax, 0x545608
push eax
call dword [0x516618]
push str._global_text_skin.xml
call dword [0x51661c]
add esp, 8
test al, al
jne 0x4548fb
mov eax, dword [0x547e58]
test eax, eax
je 0x4548b3
cmp dword [eax + 8], 2
mov edi, eax
jl 0x4548b3
push str.Main.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, str.load__global_text_skin.xml_Failed
mov esi, 0x163
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
push 0
push str.Warning
push str.InitResouceFailed
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x547e58]
test eax, eax
je 0x454776
cmp dword [eax + 8], 4
mov edi, eax
jl 0x454776
push str.Main.cpp
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
mov esi, 0x165
push eax
jmp 0x454764
lea ecx, [ebp - 0x170]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x15c], eax
call fcn.00441cf0
mov edi, ebx
call fcn.00442120
call fcn.00441cf0
mov esi, eax
call fcn.00441ff0
call fcn.004453a0
call fcn.004407f0
test al, al
jne 0x4549f7
mov eax, dword [0x547e58]
test eax, eax
je 0x454978
cmp dword [eax + 8], 2
mov edi, eax
jl 0x454978
push str.Main.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, str.LoadRcUpdateScript_Failed
mov esi, 0x172
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
push 0x50f818
call fcn.00429200
push eax
mov edx, 0x50f830
lea ecx, [ebp - 0x30]
call fcn.00429870
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 8
mov ecx, dword [ebp - 0x30]
jae 0x4549a0
lea ecx, [ebp - 0x30]
xor edx, edx
call fcn.0042f5d0
mov eax, dword [0x547e58]
test eax, eax
je 0x4549e0
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4549e0
push str.Main.cpp
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, 0x514358
mov esi, 0x175
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
lea ecx, [ebp - 0x30]
call fcn.00406760
lea ecx, [ebp - 0x4c]
call fcn.00406760
xor eax, eax
jmp 0x455356
call fcn.00441cf0
mov byte [eax + 0xe5], 0
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x84], 7
mov dword [ebp - 0x88], edi
mov word [ebp - 0x98], cx
lea edx, [ebp - 0x150]
push edx
mov byte [ebp - 4], 3
call fcn.00414a90
mov eax, 0xfffffe00
and dword [ebp - 0x164], eax
mov dword [ebp - 0x160], edi
and dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xa0], 0xf
mov dword [ebp - 0xa4], edi
mov byte [ebp - 0xb4], 0
lea esi, [ebp - 0x7c]
mov byte [ebp - 4], 9
call fcn.00452ea0
mov esi, dword [ebp - 0x158]
mov byte [ebp - 4], 0xa
mov ecx, 0x5120d4
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454aa6
cmp dx, di
je 0x454aa2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454aa6
add eax, 4
add ecx, 4
cmp dx, di
jne 0x454a80
xor eax, eax
jmp 0x454aab
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x45526f
mov ecx, str._tempunsetup
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454ae6
test dx, dx
je 0x454ae2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454ae6
add eax, 4
add ecx, 4
test dx, dx
jne 0x454ac0
xor eax, eax
jmp 0x454aeb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45526f
mov ecx, str._updateself
mov eax, esi
mov ebx, 4
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454b24
test dx, dx
je 0x454b20
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454b24
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454b00
xor eax, eax
jmp 0x454b29
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45521d
push str.UpdateSelf
push esi
call fcn.004b90cf
add esp, 8
test eax, eax
je 0x454b9b
call fcn.00441cf0
add eax, 0xc4
push eax
mov edx, str._update
call fcn.00407510
mov edi, dword [0x547e58]
test edi, edi
je 0x455253
cmp dword [edi + 8], ebx
jl 0x45521d
push str.Main.cpp
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, 0x5144cc
mov esi, 0x18c
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
jmp 0x45521d
mov ecx, str._update
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454bc6
test dx, dx
je 0x454bc2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454bc6
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454ba2
xor eax, eax
jmp 0x454bcb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45521d
mov ecx, str._tempupdate
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454c04
test dx, dx
je 0x454c00
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454c04
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454be0
xor eax, eax
jmp 0x454c09
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45521d
mov ecx, 0x514030
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454c3c
test dx, dx
je 0x454c38
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454c3c
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454c18
xor eax, eax
jmp 0x454c41
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4551c6
mov ecx, str.AUTO
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454c74
test dx, dx
je 0x454c70
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454c74
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454c50
xor eax, eax
jmp 0x454c79
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4551c6
mov ecx, str._quietupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454cac
test dx, dx
je 0x454ca8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454cac
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454c88
xor eax, eax
jmp 0x454cb1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x455212
mov ecx, str._quietdownloadupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454ce4
test dx, dx
je 0x454ce0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454ce4
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454cc0
xor eax, eax
jmp 0x454ce9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454cf9
mov dword [ebp - 0x50], 2
jmp 0x455219
mov ecx, str._startupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454d24
test dx, dx
je 0x454d20
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454d24
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454d00
xor eax, eax
jmp 0x454d29
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454d39
mov dword [ebp - 0x50], 5
jmp 0x45521d
mov ecx, str._normalupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454d64
test dx, dx
je 0x454d60
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454d64
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454d40
xor eax, eax
jmp 0x454d69
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45521d
mov ecx, str._forceupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454d9c
test dx, dx
je 0x454d98
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454d9c
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454d78
xor eax, eax
jmp 0x454da1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454db5
mov byte [ebp - 0x7b], 1
mov dword [ebp - 0x50], 1
jmp 0x45521d
mov ecx, str._quietreplaceupdate
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454de4
test dx, dx
je 0x454de0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454de4
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454dc0
xor eax, eax
jmp 0x454de9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454df9
mov dword [ebp - 0x50], 3
jmp 0x455219
mov ecx, str._fakeupdateprogress
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454e24
test dx, dx
je 0x454e20
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454e24
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454e00
xor eax, eax
jmp 0x454e29
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454e39
mov byte [ebp - 0x7b], 1
mov dword [ebp - 0x50], ebx
jmp 0x45521d
mov ecx, str._update64
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454e64
test dx, dx
je 0x454e60
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454e64
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x454e40
xor eax, eax
jmp 0x454e69
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454e7e
call fcn.00441cf0
mov byte [eax + 0xe3], 1
jmp 0x45521d
cmp dword [ebp - 0x170], 1
jne 0x454e9e
call fcn.00441cf0
cmp byte [eax + 0xe0], 0
jne 0x455050
jmp 0x4552c6
push 0x514134
push esi
call fcn.004b90cf
add esp, 8
test eax, eax
je 0x454efa
lea ecx, [ebp - 0x98]
push ecx
mov edx, str._param_:_quiet_:_true___tag_:_setup_
call fcn.00407510
mov eax, dword [0x547e58]
test eax, eax
je 0x454f0f
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x454f0f
push str.Main.cpp
push ebx
push ecx
mov edx, esp
mov dword [ebp - 0x158], esp
push edx
mov ecx, str.install_q
mov esi, 0x1e0
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
jmp 0x454f0f
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0x98]
push eax
mov eax, dword [ecx + 4]
call fcn.00406710
lea edx, [ebp - 0xd0]
push edx
lea ecx, [ebp - 0x98]
call fcn.00409c20
add esp, 4
mov edi, eax
lea esi, [ebp - 0xb4]
mov byte [ebp - 4], 0xb
call fcn.004015f0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xa
call fcn.00401ea0
lea eax, [ebp - 0x16c]
push eax
mov eax, esi
lea ecx, [ebp - 0x150]
call fcn.00414cb0
test al, al
je 0x4550e1
mov al, byte [ebp - 0x164]
test al, al
je 0x454f72
cmp al, 7
jne 0x4550e1
push 0
lea ecx, [ebp - 0x16c]
push ecx
mov ecx, 0x50c418
mov byte [ebp - 4], 0xc
call fcn.00419800
push 0
lea edx, [ebp - 0x16c]
push edx
mov ecx, str.param
mov ebx, eax
call fcn.00419800
cmp byte [ebx + 8], 4
mov edi, eax
jne 0x455127
call fcn.0041a0a0
test al, al
je 0x455127
push 0
push edi
mov ecx, str.other
call fcn.00419800
lea esi, [ebp - 0x24]
call fcn.00418510
lea eax, [ebp - 0x7c]
push eax
mov ecx, edi
call fcn.004553b0
mov ebx, dword [ebx]
add esp, 4
mov ecx, str.update
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x455003
test dl, dl
je 0x454fff
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x455003
add eax, 2
add ecx, 2
test dl, dl
jne 0x454fe3
xor eax, eax
jmp 0x455008
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x455018
mov byte [ebp - 4], 0xa
lea ebx, [eax + 4]
jmp 0x45521d
mov ecx, str.setup
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x455040
test dl, dl
je 0x45503c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x455040
add eax, 2
add ecx, 2
test dl, dl
jne 0x455020
xor eax, eax
jmp 0x455045
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4550a3
mov byte [ebp - 4], 0xa
lea ebx, [eax + 4]
mov eax, dword [0x547e58]
test eax, eax
je 0x455087
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x455087
push str.Main.cpp
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, 0x514564
mov esi, 0x207
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
push 0x545640
call dword [0x516610]
lea edx, [ebp - 0x7c]
push edx
call fcn.004424b0
add esp, 8
jmp 0x4552c6
mov ecx, str.unsetup
mov eax, ebx
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4550d0
test dl, dl
je 0x4550cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4550d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4550b0
xor eax, eax
jmp 0x4550d5
sbb eax, eax
sbb eax, 0xffffffff
mov byte [ebp - 4], 0xa
test eax, eax
je 0x45526f
mov eax, dword [0x547e58]
test eax, eax
je 0x4552c6
cmp dword [eax + 8], 2
mov edi, eax
jl 0x4552c6
push str.Main.cpp
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, 0x514584
mov esi, 0x211
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
jmp 0x4552c6
mov byte [ebp - 4], 0xa
jmp 0x4550e1
mov eax, dword [0x547e58]
test eax, eax
je 0x4551fd
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x4551fd
push str.Main.cpp
push ebx
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, str.AAAA_AUTO
mov esi, 0x197
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
call fcn.00441cf0
add eax, 0xc4
push eax
mov edx, str._quietupdate
call fcn.00407510
mov dword [ebp - 0x50], 1
mov byte [ebp - 0x7c], 1
mov edi, dword [0x547e58]
test edi, edi
je 0x455253
cmp dword [edi + 8], ebx
jl 0x455253
push str.Main.cpp
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, 0x514574
mov esi, 0x20c
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
push 0x545640
call dword [0x516610]
lea ecx, [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x24]
call fcn.00445f60
add esp, 8
jmp 0x4552c6
mov eax, dword [0x547e58]
test eax, eax
je 0x4552a8
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4552a8
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x158], esp
push edx
mov ecx, str.eQxS
mov esi, 0x202
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
push 0x545640
call dword [0x516610]
mov eax, dword [ebp - 0x154]
push eax
lea ecx, [ebp - 0x7c]
push ecx
call fcn.004455d0
add esp, 0xc
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [0x547e58]
test eax, eax
je 0x455305
cmp dword [eax + 8], 4
mov edi, eax
jl 0x455305
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, 0x514358
mov esi, 0x216
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
lea esi, [ebp - 0x7c]
call fcn.00455380
lea ecx, [ebp - 0xb4]
call fcn.00401ea0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 6
call fcn.00418470
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 4
call fcn.00418470
lea edi, [ebp - 0x150]
call fcn.004101b0
lea ecx, [ebp - 0x98]
call fcn.00406760
lea ecx, [ebp - 0x4c]
call fcn.00406760
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.004b6111
mov esp, ebp
pop ebp
ret 0x10