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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f573b
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x54b1b4]
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.00458bb0
call fcn.0040a720
call fcn.00458f00
test eax, eax
jne 0x45786f
push eax
push str.Error:
push str.Load_language_resource_failed_
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x458876
test byte [0x54f018], 1
jne 0x457891
or dword [0x54f018], 1
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
call fcn.00443d30
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 0x4578b0
sub eax, edx
sar eax, 1
push eax
push ebx
lea ecx, [ebp - 0x30]
call fcn.00408440
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], esi
call fcn.00456ff0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 8
mov edi, eax
jb 0x4578ef
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004ba3a4
add esp, 4
cmp edi, 3
je 0x457868
push edi
call fcn.00455d50
add esp, 4
test byte [0x54f018], 1
jne 0x457923
or dword [0x54f018], 1
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
call fcn.0040d8e0
test al, al
sete dl
mov byte [0x54effa], dl
call fcn.00456b80
lea esi, [ebp - 0x4c]
call fcn.0040f1c0
sub edi, 0
mov dword [ebp - 4], 1
je 0x457978
dec edi
je 0x45796c
dec edi
mov ecx, esi
je 0x457960
push 0x16
mov eax, str.WEMediaSetupError.log
jmp 0x457a24
push 0x15
mov eax, str.WEMediaUnInstall.log
jmp 0x457a24
push 0x12
mov eax, str.WEMediaUpdate.log
jmp 0x457a21
call fcn.004438a0
cmp byte [eax + 0x102], 0
mov dword [ebp - 0x18], 0
push 0x10
je 0x4579cf
mov eax, dword [ebp - 0x1c]
and eax, 0xfffffe07
or eax, 7
mov dword [ebp - 0x1c], eax
call fcn.004ba752
add esp, 4
mov dword [ebp - 0x154], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4579bc
mov esi, eax
call fcn.0041f930
jmp 0x4579be
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.00412380
jmp 0x457a0e
mov ecx, dword [ebp - 0x1c]
and ecx, 0xfffffe07
or ecx, 7
mov dword [ebp - 0x1c], ecx
call fcn.004ba752
add esp, 4
mov dword [ebp - 0x154], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4579fd
mov esi, eax
call fcn.0041f930
jmp 0x4579ff
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00412440
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.00419f90
push 0x11
mov eax, str.WEMediaSetup.log
lea ecx, [ebp - 0x4c]
call fcn.00407450
mov edx, dword [0x54eee0]
test edx, edx
je 0x457a40
mov dword [edx + 8], 4
mov edx, dword [0x54eee0]
cmp dword [ebp - 0x38], 8
mov ecx, dword [ebp - 0x4c]
jae 0x457a4c
lea ecx, [ebp - 0x4c]
test edx, edx
je 0x457a8e
call fcn.0042bec0
mov eax, dword [0x54eee0]
test eax, eax
je 0x457a8e
cmp dword [eax + 8], 4
mov edi, eax
jl 0x457a8e
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, 0x519bd8
mov esi, 0x171
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
push ebx
push str.Main
push str.Main.cpp
mov edx, 0x173
mov esi, 4
mov eax, 0x54eee0
call fcn.0042bb60
add esp, 0xc
call fcn.00458d20
test al, al
jne 0x457b48
mov eax, dword [0x54eee0]
test eax, eax
je 0x457b2f
cmp dword [eax + 8], 2
mov edi, eax
jl 0x457afb
push str.Main.cpp
push 2
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, str.InitGlobalParam_failed_
mov esi, 0x178
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
mov eax, dword [0x54eee0]
test eax, eax
je 0x457b2f
cmp dword [eax + 8], 4
mov edi, eax
jl 0x457b2f
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, 0x519c90
mov esi, 0x179
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
cmp dword [ebp - 0x38], 8
jb 0x457b41
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004ba3a4
add esp, 4
xor eax, eax
jmp 0x458876
test byte [0x54f018], 1
jne 0x457b6a
or dword [0x54f018], 1
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
mov eax, ebx
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x457b70
sub eax, edx
sar eax, 1
push eax
push ebx
mov ecx, 0x54efd8
call fcn.00408440
test byte [0x54f018], 1
jne 0x457bad
or dword [0x54f018], 1
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
push 0xc
push str._tempunsetup
push 0x54efd8
xor eax, eax
call fcn.004071a0
cmp eax, 0xffffffff
setne bl
test byte [0x54f018], 1
mov byte [ebp - 0x154], bl
jne 0x457bee
or dword [0x54f018], 1
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
push 0xa
push str.selfupdate
push 0x54efd8
xor eax, eax
call fcn.004071a0
cmp eax, 0xffffffff
setne al
test al, al
jne 0x457ca5
test bl, bl
jne 0x457ca5
call fcn.00458c40
test al, al
jne 0x457ca5
mov eax, dword [0x54eee0]
test eax, eax
je 0x457c96
cmp dword [eax + 8], 2
mov edi, eax
jl 0x457c62
push str.Main.cpp
push 2
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, 0x519ce4
mov esi, 0x184
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
mov eax, dword [0x54eee0]
test eax, eax
je 0x457c96
cmp dword [eax + 8], 4
mov edi, eax
jl 0x457c96
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
mov esi, 0x185
push ecx
mov ecx, 0x519c90
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
lea ecx, [ebp - 0x4c]
call fcn.004077e0
xor eax, eax
jmp 0x458876
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x457d16
mov eax, dword [0x54eee0]
test eax, eax
je 0x457c96
cmp dword [eax + 8], 2
mov edi, eax
jl 0x457cef
push str.Main.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, str.CoInitialize_Failed
mov esi, 0x18e
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
mov eax, dword [0x54eee0]
test eax, eax
je 0x457c96
cmp dword [eax + 8], 4
mov edi, eax
jl 0x457c96
push str.Main.cpp
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
mov esi, 0x18f
push eax
jmp 0x457c84
mov ebx, dword [ebp - 0x15c]
push ebx
call dword [0x51c2bc]
push 0x45a100
call dword [0x51c2c8]
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 [0x51c2c0]
mov eax, dword [0x54c63c]
add esp, 8
cmp dword [0x54c650], 8
jae 0x457d7d
mov eax, 0x54c63c
push eax
call dword [0x51c2cc]
push str._global_text_skin.xml
call dword [0x51c2d0]
add esp, 8
test al, al
jne 0x457e1b
mov eax, dword [0x54eee0]
test eax, eax
je 0x457dd3
cmp dword [eax + 8], 2
mov edi, eax
jl 0x457dd3
push str.Main.cpp
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, str.load__global_text_skin.xml_Failed
mov esi, 0x1a7
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
push 0
push str.Warning
push str.InitResouceFailed
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x54eee0]
test eax, eax
je 0x457c96
cmp dword [eax + 8], 4
mov edi, eax
jl 0x457c96
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
mov esi, 0x1a9
push edx
jmp 0x457c84
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x15c], eax
call fcn.004438a0
mov edi, ebx
call fcn.00443d30
call fcn.004438a0
mov esi, eax
call fcn.00443bf0
call fcn.004477b0
call fcn.004422a0
test al, al
jne 0x457f17
mov eax, dword [0x54eee0]
test eax, eax
je 0x457e98
cmp dword [eax + 8], 2
mov edi, eax
jl 0x457e98
push str.Main.cpp
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, str.LoadRcUpdateScript_Failed
mov esi, 0x1b6
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
push 0x515108
call fcn.0042ad10
push eax
mov edx, str.Global
lea ecx, [ebp - 0x30]
call fcn.0042b380
mov byte [ebp - 4], 6
cmp dword [ebp - 0x1c], 8
mov ecx, dword [ebp - 0x30]
jae 0x457ec0
lea ecx, [ebp - 0x30]
xor edx, edx
call fcn.00431090
mov eax, dword [0x54eee0]
test eax, eax
je 0x457f00
cmp dword [eax + 8], 4
mov edi, eax
jl 0x457f00
push str.Main.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, 0x519c90
mov esi, 0x1b9
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
lea ecx, [ebp - 0x30]
call fcn.004077e0
lea ecx, [ebp - 0x4c]
call fcn.004077e0
xor eax, eax
jmp 0x458876
call fcn.004438a0
mov byte [eax + 0x101], 0
xor edi, edi
xor eax, eax
mov dword [ebp - 0x84], 7
mov dword [ebp - 0x88], edi
mov word [ebp - 0x98], ax
lea ecx, [ebp - 0x150]
push ecx
mov byte [ebp - 4], 7
call fcn.004165b0
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], 0xd
call fcn.00455c00
mov esi, dword [ebp - 0x158]
mov byte [ebp - 4], 0xe
mov ecx, 0x5178c4
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x457fc6
cmp dx, di
je 0x457fc2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x457fc6
add eax, 4
add ecx, 4
cmp dx, di
jne 0x457fa0
xor eax, eax
jmp 0x457fcb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x45878f
mov ecx, str._tempunsetup
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458006
test dx, dx
je 0x458002
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458006
add eax, 4
add ecx, 4
test dx, dx
jne 0x457fe0
xor eax, eax
jmp 0x45800b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45878f
mov ecx, str._updateself
mov eax, esi
mov ebx, 4
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458044
test dx, dx
je 0x458040
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458044
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458020
xor eax, eax
jmp 0x458049
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45873d
push str.UpdateSelf
push esi
call fcn.004bd48d
add esp, 8
test eax, eax
je 0x4580bb
call fcn.004438a0
add eax, 0xe0
push eax
mov edx, str._update
call fcn.00408590
mov edi, dword [0x54eee0]
test edi, edi
je 0x458773
cmp dword [edi + 8], ebx
jl 0x45873d
push str.Main.cpp
push ebx
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, 0x519e04
mov esi, 0x1d0
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
jmp 0x45873d
mov ecx, str._update
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4580e6
test dx, dx
je 0x4580e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4580e6
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4580c2
xor eax, eax
jmp 0x4580eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45873d
mov ecx, str._tempupdate
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458124
test dx, dx
je 0x458120
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458124
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458100
xor eax, eax
jmp 0x458129
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45873d
mov ecx, 0x51996c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45815c
test dx, dx
je 0x458158
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45815c
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458138
xor eax, eax
jmp 0x458161
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4586e6
mov ecx, str.AUTO
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458194
test dx, dx
je 0x458190
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458194
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458170
xor eax, eax
jmp 0x458199
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4586e6
mov ecx, str._quietupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4581cc
test dx, dx
je 0x4581c8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4581cc
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4581a8
xor eax, eax
jmp 0x4581d1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x458732
mov ecx, str._quietdownloadupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458204
test dx, dx
je 0x458200
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458204
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4581e0
xor eax, eax
jmp 0x458209
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x458219
mov dword [ebp - 0x50], 2
jmp 0x458739
mov ecx, str._startupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458244
test dx, dx
je 0x458240
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458244
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458220
xor eax, eax
jmp 0x458249
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x458259
mov dword [ebp - 0x50], 5
jmp 0x45873d
mov ecx, str._normalupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458284
test dx, dx
je 0x458280
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458284
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458260
xor eax, eax
jmp 0x458289
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45873d
mov ecx, str._forceupdate
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4582bc
test dx, dx
je 0x4582b8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4582bc
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458298
xor eax, eax
jmp 0x4582c1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4582d5
mov byte [ebp - 0x7b], 1
mov dword [ebp - 0x50], 1
jmp 0x45873d
mov ecx, str._quietreplaceupdate
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458304
test dx, dx
je 0x458300
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458304
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x4582e0
xor eax, eax
jmp 0x458309
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x458319
mov dword [ebp - 0x50], 3
jmp 0x458739
mov ecx, str._fakeupdateprogress
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458344
test dx, dx
je 0x458340
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458344
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458320
xor eax, eax
jmp 0x458349
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x458359
mov byte [ebp - 0x7b], 1
mov dword [ebp - 0x50], ebx
jmp 0x45873d
mov ecx, str._update64
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x458384
test dx, dx
je 0x458380
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x458384
add eax, ebx
add ecx, ebx
test dx, dx
jne 0x458360
xor eax, eax
jmp 0x458389
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45839e
call fcn.004438a0
mov byte [eax + 0xff], 1
jmp 0x45873d
cmp dword [ebp - 0x170], 1
jne 0x4583be
call fcn.004438a0
cmp byte [eax + 0xfc], 0
jne 0x458570
jmp 0x4587e6
push 0x519a70
push esi
call fcn.004bd48d
add esp, 8
test eax, eax
je 0x45841a
lea eax, [ebp - 0x98]
push eax
mov edx, str._param_:_quiet_:_true___tag_:_setup_
call fcn.00408590
mov eax, dword [0x54eee0]
test eax, eax
je 0x45842f
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x45842f
push str.Main.cpp
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x158], esp
push ecx
mov ecx, str.install_q
mov esi, 0x224
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
jmp 0x45842f
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 4]
lea edx, [ebp - 0x98]
push edx
call fcn.00407580
lea ecx, [ebp - 0xd0]
push ecx
lea ecx, [ebp - 0x98]
call fcn.0040ae70
add esp, 4
mov edi, eax
lea esi, [ebp - 0xb4]
mov byte [ebp - 4], 0xf
call fcn.004015f0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xe
call fcn.00401ea0
lea edx, [ebp - 0x16c]
push edx
mov eax, esi
lea ecx, [ebp - 0x150]
call fcn.004167d0
test al, al
je 0x458601
mov al, byte [ebp - 0x164]
test al, al
je 0x458492
cmp al, 7
jne 0x458601
push 0
lea eax, [ebp - 0x16c]
push eax
mov ecx, 0x5118b8
mov byte [ebp - 4], 0x10
call fcn.0041b320
push 0
lea ecx, [ebp - 0x16c]
push ecx
mov ecx, str.param
mov ebx, eax
call fcn.0041b320
cmp byte [ebx + 8], 4
mov edi, eax
jne 0x458647
call fcn.0041bbc0
test al, al
je 0x458647
push 0
push edi
mov ecx, str.other
call fcn.0041b320
lea esi, [ebp - 0x24]
call fcn.0041a030
lea edx, [ebp - 0x7c]
push edx
mov ecx, edi
call fcn.004588d0
mov ebx, dword [ebx]
add esp, 4
mov ecx, str.update
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x458523
test dl, dl
je 0x45851f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x458523
add eax, 2
add ecx, 2
test dl, dl
jne 0x458503
xor eax, eax
jmp 0x458528
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x458538
mov byte [ebp - 4], 0xe
lea ebx, [eax + 4]
jmp 0x45873d
mov ecx, str.setup
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x458560
test dl, dl
je 0x45855c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x458560
add eax, 2
add ecx, 2
test dl, dl
jne 0x458540
xor eax, eax
jmp 0x458565
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4585c3
mov byte [ebp - 4], 0xe
lea ebx, [eax + 4]
mov eax, dword [0x54eee0]
test eax, eax
je 0x4585a7
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x4585a7
push str.Main.cpp
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, 0x519e9c
mov esi, 0x24b
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
push 0x54c674
call dword [0x51c2c4]
lea ecx, [ebp - 0x7c]
push ecx
call fcn.004441f0
add esp, 8
jmp 0x4587e6
mov ecx, str.unsetup
mov eax, ebx
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4585f0
test dl, dl
je 0x4585ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4585f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4585d0
xor eax, eax
jmp 0x4585f5
sbb eax, eax
sbb eax, 0xffffffff
mov byte [ebp - 4], 0xe
test eax, eax
je 0x45878f
mov eax, dword [0x54eee0]
test eax, eax
je 0x4587e6
cmp dword [eax + 8], 2
mov edi, eax
jl 0x4587e6
push str.Main.cpp
push 2
push ecx
mov eax, esp
mov dword [ebp - 0x154], esp
push eax
mov ecx, 0x519ebc
mov esi, 0x255
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
jmp 0x4587e6
mov byte [ebp - 4], 0xe
jmp 0x458601
mov eax, dword [0x54eee0]
test eax, eax
je 0x45871d
mov edi, eax
cmp dword [eax + 8], ebx
jl 0x45871d
push str.Main.cpp
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, str.AAAA_AUTO
mov esi, 0x1db
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
call fcn.004438a0
add eax, 0xe0
push eax
mov edx, str._quietupdate
call fcn.00408590
mov dword [ebp - 0x50], 1
mov byte [ebp - 0x7c], 1
mov edi, dword [0x54eee0]
test edi, edi
je 0x458773
cmp dword [edi + 8], ebx
jl 0x458773
push str.Main.cpp
push ebx
push ecx
mov edx, esp
mov dword [ebp - 0x154], esp
push edx
mov ecx, 0x519eac
mov esi, 0x250
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
push 0x54c674
call dword [0x51c2c4]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00448630
add esp, 8
jmp 0x4587e6
mov eax, dword [0x54eee0]
test eax, eax
je 0x4587c8
cmp dword [eax + 8], 4
mov edi, eax
jl 0x4587c8
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x158], esp
push ecx
mov ecx, str.eQxS
mov esi, 0x246
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
push 0x54c674
call dword [0x51c2c4]
mov edx, dword [ebp - 0x154]
push edx
lea eax, [ebp - 0x7c]
push eax
call fcn.00447c20
add esp, 0xc
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [0x54eee0]
test eax, eax
je 0x458825
cmp dword [eax + 8], 4
mov edi, eax
jl 0x458825
push str.Main.cpp
push 4
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push ecx
mov ecx, 0x519c90
mov esi, 0x25a
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
lea esi, [ebp - 0x7c]
call fcn.004588a0
lea ecx, [ebp - 0xb4]
call fcn.00401ea0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xa
call fcn.00419f90
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 8
call fcn.00419f90
lea edi, [ebp - 0x150]
call fcn.00411300
lea ecx, [ebp - 0x98]
call fcn.004077e0
lea ecx, [ebp - 0x4c]
call fcn.004077e0
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.004ba3af
mov esp, ebp
pop ebp
ret 0x10