Function at 0x402de0
Capabilities:
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x45d55d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
push ebx
push esi
push edi
push 0x3c
push str.There_is_not_a_updater.config.xml._Reinstall_Granado_Espada_
mov ecx, 0x47c994
call fcn.004018d0
lea ecx, [esp + 0x7c]
call fcn.0044ee20
push str.updater.config.xml
lea eax, [esp + 0x34]
push 0x47cadc
xor edi, edi
push eax
mov dword [esp + 0xf8], edi
call fcn.00401f80
add esp, 0xc
mov eax, dword [eax]
mov esi, dword [0x47c994]
push edi
push edi
mov bl, 1
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0xf8], bl
call fcn.0044ee36
dec eax
neg eax
sbb al, al
inc al
mov byte [esp + 0x3c], al
je 0x404c85
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0xec], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402e8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x30], eax
mov byte [esp + 0xec], 2
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0xf0], 3
call fcn.0044f254
test eax, eax
je 0x402f07
lea ebx, [ebx]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.00401b80
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x80]
call fcn.0044f254
test eax, eax
jne 0x402ee0
lea ecx, [esp + 0x7c]
call fcn.0044f1b9
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x74], eax
mov byte [esp + 0x58], 0
mov byte [esp + 0x59], bl
mov byte [esp + 0x61], 0
mov dword [esp + 0x5c], 0x47eb14
mov dword [esp + 0x64], edi
mov byte [esp + 0x68], 0
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov byte [esp + 0x60], 0x5c
lea ecx, [esp + 0xb0]
mov byte [esp + 0xec], 4
call fcn.00402cd0
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x58]
push eax
push ecx
lea ecx, [esp + 0xb8]
mov byte [esp + 0xf4], 5
call fcn.0040c0c0
mov dl, byte [esp + 0x68]
test dl, dl
sete al
test al, al
je 0x404c69
push ebp
push 0x461b2c
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0xbc]
call fcn.0040c600
mov ecx, 0x47ca04
mov byte [esp + 0xf0], 6
call fcn.00402c80
mov dword [esp + 0x38], 0
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ebx, [eax + 0x10]
mov dword [esp + 0x20], ebx
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ebp, [eax + 0x10]
mov dword [esp + 0x28], ebp
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea edi, [eax + 0x10]
mov dword [esp + 0x2c], edi
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [esp + 0x30], esi
push 0
lea eax, [esp + 0x98]
push str.Revisions_d
push eax
mov byte [esp + 0xfc], 7
call fcn.0043c9ea
push 0x461b1c
lea ecx, [esp + 0xa4]
push ecx
lea edx, [esp + 0x58]
push edx
call fcn.004019e0
add esp, 0x18
test eax, eax
je 0x403279
lea ecx, [ecx]
xor edi, edi
cmp eax, edi
jne 0x40305a
xor ecx, ecx
jmp 0x403069
mov ecx, eax
lea esi, [ecx + 1]
nop
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403060
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x28]
call fcn.004018d0
push str.Port
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.004019e0
add esp, 0xc
cmp eax, edi
je 0x40331f
push eax
call fcn.0043c9e5
push str.Name
lea edx, [esp + 0x9c]
mov dword [esp + 0x2c], eax
push edx
lea eax, [esp + 0x50]
push eax
call fcn.004019e0
add esp, 0x10
cmp eax, edi
je 0x4033a8
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4030c7
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.004018d0
push str.UpdateURL
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0x4c]
push edx
call fcn.004019e0
add esp, 0xc
cmp eax, edi
je 0x403431
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403102
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x34]
call fcn.004018d0
push str.ServerListURL
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.004019e0
add esp, 0xc
cmp eax, edi
je 0x4034ba
mov ecx, eax
lea esi, [ecx + 1]
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403140
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.004018d0
lea edx, [esp + 0x20]
push edx
mov ecx, 0x47ca04
call fcn.00402d50
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
inc edx
add eax, 0xfffffff0
mov dword [esp + 0x38], edx
mov byte [esp + 0xf0], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403192
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4031b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4031ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4031ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ebx, [eax + 0x10]
mov dword [esp + 0x20], ebx
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ebp, [eax + 0x10]
mov dword [esp + 0x28], ebp
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea edi, [eax + 0x10]
mov dword [esp + 0x2c], edi
call fcn.0044ed62
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x98]
push str.Revisions_d
push ecx
mov byte [esp + 0xfc], 7
call fcn.0043c9ea
push 0x461b1c
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x58]
push eax
call fcn.004019e0
add esp, 0x18
test eax, eax
jne 0x403050
add esi, 0xfffffff0
mov byte [esp + 0xf0], 6
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40329b
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
add edi, 0xfffffff0
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4032b5
mov ecx, dword [edi]
mov eax, dword [ecx]
push edi
call dword [eax + 4]
add ebp, 0xfffffff0
lea ecx, [ebp + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4032d0
mov ecx, dword [ebp]
mov eax, dword [ecx]
push ebp
call dword [eax + 4]
add ebx, 0xfffffff0
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4032ea
mov ecx, dword [ebx]
mov eax, dword [ecx]
push ebx
call dword [eax + 4]
xor edi, edi
mov ecx, dword [esp + 0x38]
push 0xa
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.00440f41
lea edx, [esp + 0x50]
push str.Notice
push edx
call fcn.00401970
add esp, 0x14
cmp eax, edi
pop ebp
jne 0x403543
xor ecx, ecx
jmp 0x403551
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0xf0], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403345
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403363
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403381
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4032ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x4032ec
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0xf0], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4033ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4033ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40340a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4032ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x4032ec
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0xf0], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403457
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403475
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403493
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4032ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x4032ec
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0xf0], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4034e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4034fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40351c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4032ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x4032ec
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403548
sub ecx, esi
push ecx
push eax
mov ecx, 0x47ca14
call fcn.004018d0
lea eax, [esp + 0x40]
push str.Home
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403577
xor ecx, ecx
jmp 0x403589
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403580
sub ecx, esi
push ecx
push eax
mov ecx, 0x47ca18
call fcn.004018d0
lea ecx, [esp + 0x40]
push str.AgreementURL
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4035af
xor ecx, ecx
jmp 0x4035bd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4035b4
sub ecx, esi
push ecx
push eax
mov ecx, 0x47ca1c
call fcn.004018d0
push str.String
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0xb8]
call fcn.0040c600
lea eax, [esp + 0x50]
mov byte [esp + 0xec], 8
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4035f0
sub eax, edx
push eax
lea eax, [esp + 0x54]
push eax
mov ecx, 0x47c920
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Checking
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403623
xor ecx, ecx
jmp 0x403631
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403628
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c924
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Prepairing
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403657
xor ecx, ecx
jmp 0x403669
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403660
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c928
call fcn.004018d0
lea eax, [esp + 0xc]
push str.Downloading
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x40368f
xor ecx, ecx
jmp 0x40369d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403694
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c92c
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Updating
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4036c3
xor ecx, ecx
jmp 0x4036d1
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4036c8
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c930
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Repairing
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4036f7
xor ecx, ecx
jmp 0x403709
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403700
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c934
call fcn.004018d0
lea eax, [esp + 0xc]
push str.Arranging
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x40372f
xor ecx, ecx
jmp 0x40373d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403734
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c938
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Extracting
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403763
xor ecx, ecx
jmp 0x403771
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403768
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c93c
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Merging
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403797
xor ecx, ecx
jmp 0x4037a9
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4037a0
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c940
call fcn.004018d0
lea eax, [esp + 0xc]
push str.MergingWarning
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4037cf
xor ecx, ecx
jmp 0x4037dd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4037d4
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c944
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.UpdatingWarning
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403803
xor ecx, ecx
jmp 0x403811
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403808
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c948
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Complete
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403837
xor ecx, ecx
jmp 0x403849
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403840
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c94c
call fcn.004018d0
lea eax, [esp + 0xc]
push str.Fail
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x40386f
xor ecx, ecx
jmp 0x40387d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403874
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c950
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Close
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4038a3
xor ecx, ecx
jmp 0x4038b1
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4038a8
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c954
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Download
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4038d7
xor ecx, ecx
jmp 0x4038e9
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4038e0
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c95c
call fcn.004018d0
lea eax, [esp + 0xc]
push str.Select
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x40390f
xor ecx, ecx
jmp 0x40391d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403914
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c958
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Cancel
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403943
xor ecx, ecx
jmp 0x403951
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403948
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c960
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Stipulation
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403977
xor ecx, ecx
jmp 0x403989
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403980
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c980
call fcn.004018d0
lea eax, [esp + 0xc]
push str.Agree
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4039af
xor ecx, ecx
jmp 0x4039bd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4039b4
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c984
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Confirm
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4039e3
xor ecx, ecx
jmp 0x4039f1
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4039e8
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c988
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Start
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403a17
xor ecx, ecx
jmp 0x403a29
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403a20
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c968
call fcn.004018d0
lea eax, [esp + 0xc]
push str.DirectlyRun
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403a4f
xor ecx, ecx
jmp 0x403a5d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403a54
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c96c
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.WindowMode
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403a83
xor ecx, ecx
jmp 0x403a91
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403a88
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c970
call fcn.004018d0
lea edx, [esp + 0xc]
push str.CancelQuestion
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403ab7
xor ecx, ecx
jmp 0x403ac9
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403ac0
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c974
call fcn.004018d0
lea eax, [esp + 0xc]
push str.AgreeMsg
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403aef
xor ecx, ecx
jmp 0x403afd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403af4
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c964
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Option
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403b23
xor ecx, ecx
jmp 0x403b31
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403b28
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c978
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Update
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403b57
xor ecx, ecx
jmp 0x403b69
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403b60
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c97c
call fcn.004018d0
lea eax, [esp + 0xc]
push str.Block_msnshell
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403b8f
xor ecx, ecx
jmp 0x403b9d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403b94
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c98c
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Notice_msnshell
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403bc3
xor ecx, ecx
jmp 0x403bd1
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403bc8
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c990
call fcn.004018d0
lea edx, [esp + 0xc]
push str.UpdaterConfigXMLNotExist
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403bf7
xor ecx, ecx
jmp 0x403c09
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403c00
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c994
call fcn.004018d0
lea eax, [esp + 0xc]
push str.UpdaterConfigXMLError
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403c2f
xor ecx, ecx
jmp 0x403c3d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403c34
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c998
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.UpdaterRevisionTxtNotExist
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403c63
xor ecx, ecx
jmp 0x403c71
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403c68
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c99c
call fcn.004018d0
lea edx, [esp + 0xc]
push str.FailedFlashPlayerInit
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403c97
xor ecx, ecx
jmp 0x403ca9
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403ca0
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9a0
call fcn.004018d0
lea eax, [esp + 0xc]
push str.DuplicatedRunImpossible
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403ccf
xor ecx, ecx
jmp 0x403cdd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403cd4
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9a4
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.CannotRunGe_exe
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403d03
xor ecx, ecx
jmp 0x403d11
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403d08
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9a8
call fcn.004018d0
lea edx, [esp + 0xc]
push str.UpdaterOptionXMLError
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403d37
xor ecx, ecx
jmp 0x403d49
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403d40
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9ac
call fcn.004018d0
lea eax, [esp + 0xc]
push str.CannotOpenUpdaterOptionXML
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403d6f
xor ecx, ecx
jmp 0x403d7d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403d74
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9b0
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.PrefixError
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403da3
xor ecx, ecx
jmp 0x403db1
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403da8
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9b4
call fcn.004018d0
lea edx, [esp + 0xc]
push str.CannotOpenFlashOCX
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403dd7
xor ecx, ecx
jmp 0x403de9
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403de0
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9b8
call fcn.004018d0
lea eax, [esp + 0xc]
push str.FailedConnectServer
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403e0f
xor ecx, ecx
jmp 0x403e1d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403e14
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9bc
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.FailedDownLoadList
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403e43
xor ecx, ecx
jmp 0x403e51
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403e48
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9c0
call fcn.004018d0
lea edx, [esp + 0xc]
push str.FailedAnalysisDownLoadList
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403e77
xor ecx, ecx
jmp 0x403e89
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403e80
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9c4
call fcn.004018d0
lea eax, [esp + 0xc]
push str.FailedDownLoadFile
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403eaf
xor ecx, ecx
jmp 0x403ebd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403eb4
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9c8
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.FailedUpdateFile
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403ee3
xor ecx, ecx
jmp 0x403ef1
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403ee8
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9cc
call fcn.004018d0
lea edx, [esp + 0xc]
push str.BadZipFileReDownLoad
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403f17
xor ecx, ecx
jmp 0x403f29
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403f20
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9d0
call fcn.004018d0
lea eax, [esp + 0xc]
push str.Bad_IPF_File
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403f4f
xor ecx, ecx
jmp 0x403f5d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403f54
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9d4
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.FailedDownLoadPrepareList
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403f83
xor ecx, ecx
jmp 0x403f91
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403f88
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9d8
call fcn.004018d0
lea edx, [esp + 0xc]
push str.FailedAnalyDnLoadPrepareList
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403fb7
xor ecx, ecx
jmp 0x403fc9
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403fc0
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9dc
call fcn.004018d0
lea eax, [esp + 0xc]
push str.FailedDownLoadIpfFileList
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x403fef
xor ecx, ecx
jmp 0x403ffd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x403ff4
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9e0
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.FailedAnalyIpfFileList
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x404023
xor ecx, ecx
jmp 0x404031
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404028
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9e4
call fcn.004018d0
lea edx, [esp + 0xc]
push str.FailedDownLoadIpfFile
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x404057
xor ecx, ecx
jmp 0x404069
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404060
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9e8
call fcn.004018d0
lea eax, [esp + 0xc]
push str.IPFDownLoadComplete
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x40408f
xor ecx, ecx
jmp 0x40409d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404094
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9ec
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.FailedExtractIPFZipFile
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4040c3
xor ecx, ecx
jmp 0x4040d1
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4040c8
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9f0
call fcn.004018d0
lea edx, [esp + 0xc]
push str.Optimizefinishingwarning
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x4040f7
xor ecx, ecx
jmp 0x404109
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404100
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9f4
call fcn.004018d0
lea eax, [esp + 0xc]
push str.Optimizefailed
push eax
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x40412f
xor ecx, ecx
jmp 0x40413d
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404134
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9f8
call fcn.004018d0
lea ecx, [esp + 0xc]
push str.Optimizefinished
push ecx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x404163
xor ecx, ecx
jmp 0x404171
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404168
sub ecx, esi
push ecx
push eax
mov ecx, 0x47c9fc
call fcn.004018d0
lea edx, [esp + 0xc]
push str.OptimizingWarning
push edx
call fcn.00401970
add esp, 8
cmp eax, edi
jne 0x404197
xor ecx, ecx
jmp 0x4041a9
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4041a0
sub ecx, esi
push ecx
push eax
mov ecx, 0x47ca00
call fcn.004018d0
lea ecx, [esp + 0xb0]
call fcn.00409c50
mov ecx, dword [0x47c998]
cmp dword [ecx - 0xc], edi
jg 0x4041e3
mov eax, dword [0x47c994]
push eax
push 0x7f
push str..Config.cpp
call fcn.00402b50
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push esi
push 0x70
push str..Config.cpp
call fcn.00402b50
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]