Function at 0x103ab200
Capabilities:
Check http status code
Get hostname

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x104276c2
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x2d48
call fcn.103b73e0
mov eax, dword [0x104c5878]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c70], edx
mov esi, ecx
mov dword [ebp - 0x2c80], esi
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c4c], eax
mov dword [ebp - 0x2c84], 0
test edi, edi
je 0x103ab2a5
mov dword [ebp - 0x2c38], 0x104571a6
mov dword [ebp - 0x2c34], 1
mov dword [ebp - 4], 0
mov eax, dword [edi]
test eax, eax
je 0x103ab29e
cmp dword [edi + 4], 1
jbe 0x103ab29e
mov byte [eax], 0
mov dword [edi + 4], 1
mov dword [ebp - 4], 0xffffffff
cmp dword [0x104ccd04], 0
je 0x103ad60c
cmp dword [0x104ccc8c], 0
je 0x103ad60c
mov dword [ebp - 0x2c9c], 0
mov dword [ebp - 0x2c98], 0
mov dword [ebp - 0x2c94], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2c28]
call fcn.1036e4c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c10]
push 0
push str.iTunes_11.0.5__Windows__Microsoft_Windows_7_x64_Ultimate_Edition_Service_Pack_1__Build_7601___AppleWebKit_536.30.1
call fcn.10359540
push str.http:__itunes.apple.com_cn_app__id_u_mt8
push str.Referer
lea ecx, [ebp - 0x2c28]
call fcn.1035c220
push str.en_us_q0.50__en_q0.25
push str.Accept_Language
lea ecx, [ebp - 0x2c28]
call fcn.1035c220
push str.28800
push str.X_Apple_Tz
lea ecx, [ebp - 0x2c28]
call fcn.1035c220
push dword [esi + 0x3c]
lea ecx, [ebp - 0x2c28]
push str.X_Apple_Store_Front
call fcn.1035c220
push str.application_x_apple_plist
push str.Content_Type
lea ecx, [ebp - 0x2c28]
call fcn.1035c220
push dword [esi + 0xc]
lea ecx, [ebp - 0x2c28]
push str.X_Token
call fcn.1035c220
push dword [esi + 0x18]
lea ecx, [ebp - 0x2c28]
push str.X_Dsid
call fcn.1035c220
push dword [esi + 0x4c]
lea ecx, [ebp - 0x2c28]
push str.Cookie
call fcn.1035c220
movups xmm0, xmmword [str.https:__buy.itunes.apple.com_WebObjects_MZBuy.woa_wa_buyProduct]
push 0x7c0
lea eax, [ebp - 0x9d8]
movups xmmword [ebp - 0xa18], xmm0
push 0
movups xmm0, xmmword [0x1047a878]
push eax
movups xmmword [ebp - 0xa08], xmm0
movups xmm0, xmmword [0x1047a888]
movups xmmword [ebp - 0x9f8], xmm0
movups xmm0, xmmword [0x1047a898]
movups xmmword [ebp - 0x9e8], xmm0
call fcn.103ce630
add esp, 0xc
lea eax, [ebp - 0x2c30]
push eax
push str._llu
push dword [esi + 0x18]
call fcn.10355d30
add esp, 0xc
lea ecx, [ebp - 0x2a18]
push dword [ebp - 0x2c2c]
push dword [ebp - 0x2c30]
call fcn.103aabb0
add esp, 8
mov dword [ebp - 0x2c40], 0x200
lea eax, [ebp - 0x2c40]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov esi, dword [esi + 0x28]
mov ecx, esi
mov edx, dword [ebp - 0x2c80]
add edx, 0x30
lea eax, [esi - 1]
neg ecx
sbb ecx, ecx
test eax, ecx
jbe 0x103ab4b9
test edx, edx
je 0x103ab46b
mov ecx, dword [edx]
test ecx, ecx
je 0x103ab46b
cmp dword [edx + 4], 2
jae 0x103ab470
mov ecx, 0x104571a6
mov eax, dword [ebp - 0x2c80]
add eax, 0x24
je 0x103ab486
mov eax, dword [eax]
test eax, eax
je 0x103ab486
cmp esi, 2
jae 0x103ab48b
mov eax, 0x104571a6
mov edx, dword [ebp - 0x2c70]
push edx
push edx
lea edx, [ebp - 0x218]
push edx
push ecx
push eax
lea eax, [ebp - 0x2a18]
push eax
lea eax, [ebp - 0x1a18]
push str.__xml_version_1.0__encoding_UTF_8____plist_version_1.0___dict__key_wasWarnedAboutFirstTimeBuy__key__string_true__string__key_buyAndSkipHarvesting__key__string_true__string__key_kbsync__key__data__s__data__key_creditDisplay__key__string__s__string__key_hasAskedToFulfillPreorder__key__string_true__string__key_buyWithoutAuthorization__key__string_true__string__key_hasDoneAgeCheck__key__string_true__string__key_guid__key__string__s__string__key_machineName__key__string__s__string__key_needDiv__key__string_0__string__key_origPage__key__string_Software__u__string__key_origPage2__key__string_MXAccountSummary_CN__string__key_origPageCh__key__string_Software_Pages__string__key_origPageCh2__key__string_Mobile_Software_Applications_main__string__key_origPageLocation__key__string_Buy__string__key_price__key__string_0__string__key_pricingParameters__key__string_STDQ__string__key_productType__key__string_C__string__key_salableAdamId__key__string__u__string___dict___plist_
push eax
call fcn.1032e600
add esp, 0x20
jmp 0x103ab4f9
test edx, edx
je 0x103ab4c9
mov eax, dword [edx]
test eax, eax
je 0x103ab4c9
cmp dword [edx + 4], 2
jae 0x103ab4ce
mov eax, 0x104571a6
mov ecx, dword [ebp - 0x2c70]
push ecx
push ecx
lea ecx, [ebp - 0x218]
push ecx
push eax
lea eax, [ebp - 0x2a18]
push eax
lea eax, [ebp - 0x1a18]
push str.__xml_version_1.0__encoding_UTF_8____plist_version_1.0___dict__key_wasWarnedAboutFirstTimeBuy__key__string_true__string__key_buyAndSkipHarvesting__key__string_true__string__key_kbsync__key__data__s__data__key_hasAskedToFulfillPreorder__key__string_true__string__key_buyWithoutAuthorization__key__string_true__string__key_hasDoneAgeCheck__key__string_true__string__key_guid__key__string__s__string__key_machineName__key__string__s__string__key_needDiv__key__string_0__string__key_origPage__key__string_Software__u__string__key_origPage2__key__string_MXAccountSummary_CN__string__key_origPageCh__key__string_Software_Pages__string__key_origPageCh2__key__string_Mobile_Software_Applications_main__string__key_origPageLocation__key__string_Buy__string__key_price__key__string_0__string__key_pricingParameters__key__string_STDQ__string__key_productType__key__string_C__string__key_salableAdamId__key__string__u__string___dict___plist_
push eax
call fcn.1032e600
add esp, 0x1c
mov dword [ebp - 0x2c6c], 0
mov dword [ebp - 0x2c68], 0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x1a18]
mov esi, eax
mov dword [ebp - 0x2c64], 0
mov dword [ebp - 0x2c6c], 0
mov dword [ebp - 0x2c68], 0
mov dword [ebp - 0x2c38], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x103ab540
sub esi, ecx
lea ecx, [esi + 1]
mov dword [ebp - 0x2c34], ecx
mov byte [ebp - 4], 4
cmp ecx, 2
jb 0x103ab5ad
test ecx, ecx
mov eax, 1
cmovne eax, ecx
lea ecx, [ebp - 0x2c6c]
push eax
call fcn.10353240
test al, al
je 0x103ab5ad
mov eax, dword [ebp - 0x2c68]
test eax, eax
je 0x103ab582
dec eax
jmp 0x103ab584
xor eax, eax
push eax
lea eax, [ebp - 0x1a18]
push eax
push dword [ebp - 0x2c6c]
call fcn.103ce0b0
lea eax, [esi + 1]
xor ecx, ecx
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x2c6c]
cmove esi, ecx
mov byte [esi + eax], cl
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x2c68]
test eax, eax
je 0x103ab5be
dec eax
jmp 0x103ab5c0
xor eax, eax
push 1
push 1
push eax
push dword [ebp - 0x2c6c]
lea eax, [ebp - 0xa18]
push 8
push eax
lea ecx, [ebp - 0x2c28]
call fcn.1035c920
test al, al
je 0x103ad5c5
cmp dword [ebp - 0x2a84], 0xc8
jne 0x103ad5c5
lea eax, [ebp - 0x2ca4]
push eax
lea ecx, [ebp - 0x2c28]
call fcn.1036e550
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x2ca0]
test eax, eax
je 0x103ab61a
dec eax
jmp 0x103ab61c
xor eax, eax
lea ecx, [ebp - 0x2c9c]
push ecx
push eax
call fcn.1031c570
mov eax, dword [ebp - 0x2ca0]
test eax, eax
je 0x103ab636
dec eax
jmp 0x103ab638
xor eax, eax
push eax
push dword [ebp - 0x2ca4]
push dword [ebp - 0x2c9c]
call fcn.103ce0b0
add esp, 0xc
test edi, edi
je 0x103ab6ca
mov eax, dword [ebp - 0x2ca0]
cmp eax, 2
jb 0x103ab6b4
cmp dword [ebp - 0x2ca4], 0
je 0x103ab6b4
test eax, eax
je 0x103ab66c
dec eax
jmp 0x103ab66e
xor eax, eax
inc eax
mov ecx, edi
push eax
call fcn.10353240
test al, al
je 0x103ab6ca
mov ecx, dword [edi + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x2ca4]
push dword [edi]
call fcn.103ce0b0
mov ecx, dword [ebp - 0x2ca0]
add esp, 0xc
test ecx, ecx
je 0x103ab6ab
mov eax, dword [edi]
dec ecx
mov byte [ecx + eax], 0
jmp 0x103ab6ca
mov eax, dword [edi]
xor ecx, ecx
mov byte [ecx + eax], cl
jmp 0x103ab6ca
mov eax, dword [edi]
test eax, eax
je 0x103ab6ca
cmp dword [edi + 4], 1
jbe 0x103ab6ca
mov byte [eax], 0
mov dword [edi + 4], 1
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x2c6c]
call fcn.10367720
mov dword [ebp - 0x2c6c], 0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2c98]
mov eax, dword [ebp - 0x2c9c]
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x2d3c]
call fcn.1036a690
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x2d3c], 0
jne 0x103ab728
mov esi, 3
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2d3c]
call fcn.1036a5c0
jmp 0x103ad5e7
mov dword [ebp - 0x2c60], 0
mov dword [ebp - 0x2c5c], 0
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x2c58], 0
mov dword [ebp - 0x2c60], 0
mov dword [ebp - 0x2c5c], 0
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x2c30], 0
mov byte [ebp - 4], 0xd
push 0x8000100
push str.failureType
push 0
call dword [0x104ccd84]
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x2c30], edi
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x2d3c]
test eax, eax
je 0x103ab7aa
push edi
push eax
call dword [0x104ccce0]
add esp, 8
mov esi, eax
jmp 0x103ab7ac
xor esi, esi
mov byte [ebp - 4], 0xc
cmp byte [ebp - 0x2c2c], 0
je 0x103ab7d1
test edi, edi
je 0x103ab7d1
push edi
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
test esi, esi
je 0x103ac223
mov dword [ebp - 0x2c54], 0
mov byte [ebp - 4], 0x10
push esi
call dword [0x104ccdcc]
add esp, 4
cmp dword [0x104ccbd4], eax
jne 0x103ab808
mov dword [ebp - 0x2c54], esi
mov byte [ebp - 0x2c50], 0
jmp 0x103ab812
mov dword [ebp - 0x2c54], 0
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x2c60]
push eax
lea ecx, [ebp - 0x2c54]
call fcn.1036a2f0
mov byte [ebp - 4], 0xc
cmp byte [ebp - 0x2c50], 0
je 0x103ab853
mov eax, dword [ebp - 0x2c54]
test eax, eax
je 0x103ab853
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c54], 0
mov dword [ebp - 0x2c38], str.2004
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x13
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103ab8d7
dec esi
cmp esi, 4
jne 0x103ab8d7
mov ecx, dword [ebp - 0x2c60]
mov edx, str.2004
sub esi, esi
jb 0x103ab8a1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103ab8a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103ab890
cmp esi, 0xfffffffc
je 0x103ab8d3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103ab8d7
cmp esi, 0xfffffffd
je 0x103ab8d3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103ab8d7
cmp esi, 0xfffffffe
je 0x103ab8d3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103ab8d7
cmp esi, 0xffffffff
je 0x103ab8d3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103ab8d7
mov al, 1
jmp 0x103ab8d9
xor al, al
mov byte [ebp - 4], 0xc
test al, al
je 0x103ab8eb
mov esi, 0xf
jmp 0x103ac2ef
mov dword [ebp - 0x2c38], str.2019
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x15
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103ab969
dec esi
cmp esi, 4
jne 0x103ab969
mov ecx, dword [ebp - 0x2c60]
mov edx, str.2019
sub esi, esi
jb 0x103ab933
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103ab938
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103ab922
cmp esi, 0xfffffffc
je 0x103ab965
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103ab969
cmp esi, 0xfffffffd
je 0x103ab965
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103ab969
cmp esi, 0xfffffffe
je 0x103ab965
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103ab969
cmp esi, 0xffffffff
je 0x103ab965
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103ab969
mov al, 1
jmp 0x103ab96b
xor al, al
mov byte [ebp - 4], 0xc
test al, al
je 0x103ab97d
mov esi, 0x15
jmp 0x103ac2ef
mov dword [ebp - 0x2c38], str.2021
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x17
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103ab9fb
dec esi
cmp esi, 4
jne 0x103ab9fb
mov ecx, dword [ebp - 0x2c60]
mov edx, str.2021
sub esi, esi
jb 0x103ab9c5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103ab9ca
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103ab9b4
cmp esi, 0xfffffffc
je 0x103ab9f7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103ab9fb
cmp esi, 0xfffffffd
je 0x103ab9f7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103ab9fb
cmp esi, 0xfffffffe
je 0x103ab9f7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103ab9fb
cmp esi, 0xffffffff
je 0x103ab9f7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103ab9fb
mov al, 1
jmp 0x103ab9fd
xor al, al
mov byte [ebp - 4], 0xc
test al, al
jne 0x103ac2ea
mov dword [ebp - 0x2c38], str.2022
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x18
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103aba87
dec esi
cmp esi, 4
jne 0x103aba87
mov ecx, dword [ebp - 0x2c60]
mov edx, str.2022
sub esi, esi
jb 0x103aba51
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103aba56
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103aba40
cmp esi, 0xfffffffc
je 0x103aba83
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103aba87
cmp esi, 0xfffffffd
je 0x103aba83
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103aba87
cmp esi, 0xfffffffe
je 0x103aba83
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103aba87
cmp esi, 0xffffffff
je 0x103aba83
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103aba87
mov al, 1
jmp 0x103aba89
xor al, al
mov byte [ebp - 4], 0xc
test al, al
jne 0x103ac2ea
mov dword [ebp - 0x2c38], str.2024
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x1a
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103abb17
dec esi
cmp esi, 4
jne 0x103abb17
mov ecx, dword [ebp - 0x2c60]
mov edx, str.2024
sub esi, esi
jb 0x103abae1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103abae6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103abad0
cmp esi, 0xfffffffc
je 0x103abb13
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103abb17
cmp esi, 0xfffffffd
je 0x103abb13
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103abb17
cmp esi, 0xfffffffe
je 0x103abb13
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103abb17
cmp esi, 0xffffffff
je 0x103abb13
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103abb17
mov al, 1
jmp 0x103abb19
xor al, al
mov byte [ebp - 4], 0xc
test al, al
je 0x103abb2b
mov esi, 0x16
jmp 0x103ac2ef
mov dword [ebp - 0x2c38], str.2041
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x1c
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103abba9
dec esi
cmp esi, 4
jne 0x103abba9
mov ecx, dword [ebp - 0x2c60]
mov edx, str.2041
sub esi, esi
jb 0x103abb73
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103abb78
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103abb62
cmp esi, 0xfffffffc
je 0x103abba5
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103abba9
cmp esi, 0xfffffffd
je 0x103abba5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103abba9
cmp esi, 0xfffffffe
je 0x103abba5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103abba9
cmp esi, 0xffffffff
je 0x103abba5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103abba9
mov al, 1
jmp 0x103abbab
xor al, al
mov byte [ebp - 4], 0xc
test al, al
je 0x103abbbd
mov esi, 0x18
jmp 0x103ac2ef
mov dword [ebp - 0x2c38], str.2042
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x1e
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103abc3b
dec esi
cmp esi, 4
jne 0x103abc3b
mov ecx, dword [ebp - 0x2c60]
mov edx, str.2042
sub esi, esi
jb 0x103abc05
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103abc0a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103abbf4
cmp esi, 0xfffffffc
je 0x103abc37
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103abc3b
cmp esi, 0xfffffffd
je 0x103abc37
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103abc3b
cmp esi, 0xfffffffe
je 0x103abc37
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103abc3b
cmp esi, 0xffffffff
je 0x103abc37
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103abc3b
mov al, 1
jmp 0x103abc3d
xor al, al
mov byte [ebp - 4], 0xc
test al, al
je 0x103abc4f
mov esi, 0x14
jmp 0x103ac2ef
mov dword [ebp - 0x2c38], str.5002
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x20
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103abccd
dec esi
cmp esi, 4
jne 0x103abccd
mov ecx, dword [ebp - 0x2c60]
mov edx, str.5002
sub esi, esi
jb 0x103abc97
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103abc9c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103abc86
cmp esi, 0xfffffffc
je 0x103abcc9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103abccd
cmp esi, 0xfffffffd
je 0x103abcc9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103abccd
cmp esi, 0xfffffffe
je 0x103abcc9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103abccd
cmp esi, 0xffffffff
je 0x103abcc9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103abccd
mov al, 1
jmp 0x103abccf
xor al, al
mov byte [ebp - 4], 0xc
test al, al
je 0x103abce1
mov esi, 0x10
jmp 0x103ac2ef
mov dword [ebp - 0x2c38], str.5105
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x22
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103abd5f
dec esi
cmp esi, 4
jne 0x103abd5f
mov ecx, dword [ebp - 0x2c60]
mov edx, str.5105
sub esi, esi
jb 0x103abd29
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103abd2e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103abd18
cmp esi, 0xfffffffc
je 0x103abd5b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103abd5f
cmp esi, 0xfffffffd
je 0x103abd5b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103abd5f
cmp esi, 0xfffffffe
je 0x103abd5b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103abd5f
cmp esi, 0xffffffff
je 0x103abd5b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103abd5f
mov al, 1
jmp 0x103abd61
xor al, al
mov byte [ebp - 4], 0xc
test al, al
je 0x103abd73
mov esi, 0x11
jmp 0x103ac2ef
mov dword [ebp - 0x2c38], str.1008
mov dword [ebp - 0x2c34], 5
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x2c5c]
test esi, esi
je 0x103abdf7
dec esi
cmp esi, 4
jne 0x103abdf7
mov ecx, dword [ebp - 0x2c60]
mov edx, str.1008
sub esi, esi
jb 0x103abdc1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x103abdc6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x103abdb0
cmp esi, 0xfffffffc
je 0x103abdf3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x103abdf7
cmp esi, 0xfffffffd
je 0x103abdf3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x103abdf7
cmp esi, 0xfffffffe
je 0x103abdf3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x103abdf7
cmp esi, 0xffffffff
je 0x103abdf3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x103abdf7
mov al, 1
jmp 0x103abdf9
xor al, al
mov byte [ebp - 4], 0xc
test al, al
je 0x103abe0b
mov esi, 0x13
jmp 0x103ac2ef
mov dword [ebp - 0x2c38], 0x104571a6
mov dword [ebp - 0x2c34], 1
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x2c60]
test ecx, ecx
je 0x103abe97
mov edx, dword [ebp - 0x2c5c]
cmp edx, 2
jb 0x103abe97
test edx, edx
je 0x103abe43
add edx, 0xffffffff
jne 0x103abe93
jmp 0x103abe45
xor edx, edx
mov esi, 0x104571a6
sub edx, 4
jb 0x103abe61
nop
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x103abe66
add ecx, 4
add esi, 4
sub edx, 4
jae 0x103abe50
cmp edx, 0xfffffffc
je 0x103abe97
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x103abe93
cmp edx, 0xfffffffd
je 0x103abe97
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x103abe93
cmp edx, 0xfffffffe
je 0x103abe97
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x103abe93
cmp edx, 0xffffffff
je 0x103abe97
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x103abe97
xor al, al
jmp 0x103abe99
mov al, 1
mov byte [ebp - 4], 0xc
test al, al
je 0x103ac2e3
mov dword [ebp - 0x2c30], 0
mov byte [ebp - 4], 0x27
push 0x8000100
push str.pings
push 0
call dword [0x104ccd84]
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x2c30], esi
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x2d3c]
test eax, eax
je 0x103abeed
push esi
push eax
call dword [0x104ccce0]
add esp, 8
mov edi, eax
jmp 0x103abeef
xor edi, edi
mov byte [ebp - 4], 0xc
cmp byte [ebp - 0x2c2c], 0
je 0x103abf14
test esi, esi
je 0x103abf14
push esi
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
test edi, edi
jne 0x103abf20
lea esi, [edi + 0xe]
jmp 0x103ac2ef
push 0
push edi
lea ecx, [ebp - 0x2c7c]
call fcn.1036a800
mov byte [ebp - 4], 0x2b
cmp dword [ebp - 0x2c74], 0
je 0x103ac2b1
mov eax, dword [ebp - 0x2c7c]
test eax, eax
je 0x103ac2b1
push 0
push eax
call dword [0x104ccbe0]
mov esi, eax
add esp, 8
test esi, esi
je 0x103ac2b1
mov dword [ebp - 0x2c3c], 0
mov dword [ebp - 0x2c38], 0
mov byte [ebp - 4], 0x30
mov dword [ebp - 0x2c34], 0
mov dword [ebp - 0x2c3c], 0
mov dword [ebp - 0x2c38], 0
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x2c54], 0
mov byte [ebp - 4], 0x32
push esi
call dword [0x104ccdcc]
add esp, 4
cmp dword [0x104ccbd4], eax
jne 0x103abfcc
mov dword [ebp - 0x2c54], esi
mov byte [ebp - 0x2c50], 0
jmp 0x103abfd6
mov dword [ebp - 0x2c54], 0
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x2c3c]
push eax
lea ecx, [ebp - 0x2c54]
call fcn.1036a2f0
mov byte [ebp - 4], 0x31
cmp byte [ebp - 0x2c50], 0
je 0x103ac017
mov eax, dword [ebp - 0x2c54]
test eax, eax
je 0x103ac017
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c54], 0
mov ecx, dword [ebp - 0x2c38]
test ecx, ecx
je 0x103ac28d
lea eax, [ecx - 1]
test eax, eax
je 0x103ac05e
push str.MZCommerce.SecondaryAuthRequired
push dword [ebp - 0x2c3c]
call fcn.103cd480
add esp, 8
test eax, eax
je 0x103ac058
sub eax, dword [ebp - 0x2c3c]
cmp eax, 0xffffffff
je 0x103ac058
mov esi, 0xb
jmp 0x103ac292
mov ecx, dword [ebp - 0x2c38]
test ecx, ecx
je 0x103ac28d
lea eax, [ecx - 1]
test eax, eax
je 0x103ac09f
push str.MZCommerce.ProductNotForSale
push dword [ebp - 0x2c3c]
call fcn.103cd480
add esp, 8
test eax, eax
je 0x103ac099
sub eax, dword [ebp - 0x2c3c]
cmp eax, 0xffffffff
je 0x103ac099
mov esi, 0xc
jmp 0x103ac292
mov ecx, dword [ebp - 0x2c38]
test ecx, ecx
je 0x103ac28d
lea eax, [ecx - 1]
test eax, eax
je 0x103ac0e0
push str.MZCommerce.UnionPay.DeviceClientVersionTooLow
push dword [ebp - 0x2c3c]
call fcn.103cd480
add esp, 8
test eax, eax
je 0x103ac0da
sub eax, dword [ebp - 0x2c3c]
cmp eax, 0xffffffff
je 0x103ac0da
mov esi, 0x19
jmp 0x103ac292
mov ecx, dword [ebp - 0x2c38]
test ecx, ecx
je 0x103ac28d
lea eax, [ecx - 1]
test eax, eax
je 0x103ac121
push str.MZFinance.UnacceptableCountry
push dword [ebp - 0x2c3c]
call fcn.103cd480
add esp, 8
test eax, eax
je 0x103ac11b
sub eax, dword [ebp - 0x2c3c]
cmp eax, 0xffffffff
je 0x103ac11b
mov esi, 0x1b
jmp 0x103ac292
mov ecx, dword [ebp - 0x2c38]
test ecx, ecx
je 0x103ac28d
lea eax, [ecx - 1]
test eax, eax
je 0x103ac28d
push str.MZCommerceSoftware.OwnsAllUnfulfilledFailureSoftwareApplication
push dword [ebp - 0x2c3c]
call fcn.103cd480
add esp, 8
test eax, eax
je 0x103ac28d
sub eax, dword [ebp - 0x2c3c]
cmp eax, 0xffffffff
je 0x103ac28d
mov ecx, dword [ebp - 0x2c80]
lea edx, [ebp - 0x2c9c]
call fcn.103adaa0
test al, al
jne 0x103ac17d
mov esi, 0xd
jmp 0x103ac292
mov eax, dword [ebp - 0x2d3c]
lea ecx, [ebp - 0x2d58]
mov dword [ebp - 0x2c40], eax
lea eax, [ebp - 0x2c40]
push 1
push eax
mov dword [ebp - 0x2d2c], 0
mov dword [ebp - 0x2d3c], 0
call fcn.1036a520
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0x2c98]
mov eax, dword [ebp - 0x2c9c]
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x2d3c]
call fcn.103ae200
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x2d58]
call fcn.1036a5c0
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0x2c3c]
call fcn.10367720
mov dword [ebp - 0x2c3c], 0
mov byte [ebp - 4], 0xc
cmp byte [ebp - 0x2c78], 0
je 0x103ac223
mov eax, dword [ebp - 0x2c7c]
test eax, eax
je 0x103ac223
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c7c], 0
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x2c60]
call fcn.10367720
mov dword [ebp - 0x2c60], 0
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x2c30], 0
mov byte [ebp - 4], 0x4c
push 0x8000100
push str.songList
push 0
call dword [0x104ccd84]
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x2c30], esi
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0x2d3c]
test eax, eax
je 0x103ac320
push esi
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ac322
mov esi, 0xe
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0x2c3c]
call fcn.10367720
mov dword [ebp - 0x2c3c], 0
mov byte [ebp - 4], 0x2b
jmp 0x103ac2b6
mov esi, 0xe
mov byte [ebp - 4], 0xc
cmp byte [ebp - 0x2c78], 0
je 0x103ac2ef
mov eax, dword [ebp - 0x2c7c]
test eax, eax
je 0x103ac2ef
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c7c], 0
jmp 0x103ac2ef
mov esi, 0x12
jmp 0x103ac2ef
mov esi, 0x17
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x2c60]
call fcn.10367720
mov dword [ebp - 0x2c60], 0
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2d3c]
call fcn.1036a5c0
jmp 0x103ad5e7
xor eax, eax
push 0
push eax
lea ecx, [ebp - 0x2cd8]
call fcn.1036a800
mov byte [ebp - 4], 0x4f
cmp byte [ebp - 0x2c2c], 0
je 0x103ac355
test esi, esi
je 0x103ac355
push esi
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
mov eax, dword [ebp - 0x2cd8]
test eax, eax
jne 0x103ac445
mov esi, dword [ebp - 0x2c98]
mov edx, dword [ebp - 0x2c9c]
sub esi, edx
mov dword [ebp - 0x2c30], edx
mov dword [ebp - 0x2c4c], edx
mov dword [ebp - 0x2c44], esi
lea edi, [esi + 1]
mov dword [ebp - 0x2c2c], edi
mov byte [ebp - 4], 0x51
mov dword [ebp - 0x2c38], str.com.apple.jingle.app.finance.DirectAction_termsPage
mov dword [ebp - 0x2c34], 0x34
mov byte [ebp - 4], 0x52
xor ecx, ecx
test edi, edi
mov eax, esi
cmove eax, ecx
mov dword [ebp - 0x2c40], eax
cmp ecx, eax
jae 0x103ac425
cmp byte [ecx + edx], 0x63
je 0x103ac3c4
inc ecx
jmp 0x103ac3b7
test ecx, ecx
js 0x103ac425
xor eax, eax
test edi, edi
cmovne eax, esi
sub eax, ecx
cmp eax, 0x33
jb 0x103ac425
lea esi, [ecx + edx]
mov edi, 0x2f
mov edx, str.com.apple.jingle.app.finance.DirectAction_termsPage
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x103ac404
add edx, 4
add esi, 4
sub edi, 4
jae 0x103ac3e3
mov ax, word [edx]
cmp ax, word [esi]
jne 0x103ac404
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
je 0x103ac41f
mov edx, dword [ebp - 0x2c4c]
inc ecx
mov eax, dword [ebp - 0x2c40]
mov esi, dword [ebp - 0x2c44]
mov edi, dword [ebp - 0x2c2c]
jmp 0x103ac3b7
mov byte [ebp - 4], 0x51
jmp 0x103ac42c
mov byte [ebp - 4], 0x51
or ecx, 0xffffffff
mov byte [ebp - 4], 0x4f
cmp ecx, 0xffffffff
mov esi, 0x1a
mov eax, 4
cmove esi, eax
jmp 0x103ad589
xor edi, edi
cmp dword [ebp - 0x2cd0], edi
jle 0x103ad584
test eax, eax
je 0x103ac464
push edi
push eax
call dword [0x104ccbe0]
add esp, 8
jmp 0x103ac466
xor eax, eax
mov dword [ebp - 0x2c40], eax
lea ecx, [ebp - 0x2d58]
push 0
lea eax, [ebp - 0x2c40]
push eax
call fcn.1036a520
mov byte [ebp - 4], 0x55
cmp dword [ebp - 0x2d58], 0
je 0x103ac525
mov dword [ebp - 0x2c30], 0
mov byte [ebp - 4], 0x56
push 0x8000100
push str.songId
push 0
call dword [0x104ccd84]
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x2c30], esi
mov byte [ebp - 4], 0x57
mov eax, dword [ebp - 0x2d58]
test eax, eax
je 0x103ac4dd
push esi
push eax
call dword [0x104ccce0]
add esp, 8
mov dword [ebp - 0x2c48], eax
jmp 0x103ac4e7
mov dword [ebp - 0x2c48], 0
mov byte [ebp - 4], 0x55
cmp byte [ebp - 0x2c2c], 0
je 0x103ac50c
test esi, esi
je 0x103ac50c
push esi
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
mov eax, dword [ebp - 0x2c48]
test eax, eax
je 0x103ac525
mov ecx, eax
call fcn.1036a970
cmp eax, dword [ebp - 0x2c70]
je 0x103ac54c
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2d58]
call fcn.1036a5c0
inc edi
cmp edi, dword [ebp - 0x2cd0]
jge 0x103ad584
mov eax, dword [ebp - 0x2cd8]
jmp 0x103ac453
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2d58]
call fcn.1036a5c0
cmp edi, 0xffffffff
je 0x103ad584
mov eax, dword [ebp - 0x2cd8]
test eax, eax
je 0x103ac57b
push edi
push eax
call dword [0x104ccbe0]
add esp, 8
jmp 0x103ac57d
xor eax, eax
mov dword [ebp - 0x2c40], eax
lea ecx, [ebp - 0x2d00]
push 0
lea eax, [ebp - 0x2c40]
push eax
call fcn.1036a520
mov byte [ebp - 4], 0x5a
cmp dword [ebp - 0x2d00], 0
jne 0x103ac5bd
mov esi, 5
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2d00]
call fcn.1036a5c0
jmp 0x103ad589
push 0x1047b190
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0x5c
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2d00]
test eax, eax
je 0x103ac5ea
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ac5ec
xor eax, eax
mov dword [ebp - 0x2ce4], eax
mov byte [ebp - 4], 0x5a
cmp byte [ebp - 0x2c2c], 0
je 0x103ac61d
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ac61d
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
push 0x1047b194
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0x5e
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2d00]
test eax, eax
je 0x103ac64a
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ac64c
xor eax, eax
mov dword [ebp - 0x2ce0], eax
mov byte [ebp - 4], 0x5a
cmp byte [ebp - 0x2c2c], 0
je 0x103ac67d
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ac67d
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2ce4], 0
jne 0x103ac69f
mov esi, 6
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2d00]
call fcn.1036a5c0
jmp 0x103ad589
cmp dword [ebp - 0x2ce0], 0
jne 0x103ac6c1
mov esi, 7
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2d00]
call fcn.1036a5c0
jmp 0x103ad589
push str.metadata
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0x62
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2d00]
test eax, eax
je 0x103ac6ee
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ac6f0
xor eax, eax
mov dword [ebp - 0x2ccc], eax
mov byte [ebp - 4], 0x5a
cmp byte [ebp - 0x2c2c], 0
je 0x103ac721
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ac721
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
push str.asset_info
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0x64
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2d00]
test eax, eax
je 0x103ac74e
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ac750
xor eax, eax
mov dword [ebp - 0x2c90], eax
mov byte [ebp - 4], 0x5a
cmp byte [ebp - 0x2c2c], 0
je 0x103ac781
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ac781
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
push str.purchaseDate
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0x66
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2d00]
test eax, eax
je 0x103ac7b4
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
mov dword [ebp - 0x2c70], eax
jmp 0x103ac7be
mov dword [ebp - 0x2c70], 0
mov byte [ebp - 4], 0x5a
cmp byte [ebp - 0x2c2c], 0
je 0x103ac7e9
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ac7e9
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2c90], 0
mov edi, dword [ebp - 0x2c4c]
mov dword [edi + 0x70], 0
mov dword [edi + 0x74], 0
je 0x103ac89f
push 0
lea eax, [ebp - 0x2c90]
push eax
lea ecx, [ebp - 0x2cc4]
call fcn.1036a520
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x2c30]
push str.file_size
call fcn.1036a440
mov byte [ebp - 4], 0x69
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2cc4]
test eax, eax
je 0x103ac851
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
mov esi, eax
jmp 0x103ac853
xor esi, esi
mov byte [ebp - 4], 0x68
cmp byte [ebp - 0x2c2c], 0
je 0x103ac87e
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ac87e
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
test esi, esi
je 0x103ac890
mov ecx, esi
call fcn.1036a970
cdq
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], edx
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x2cc4]
call fcn.1036a5c0
push str.sinfs
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0x6b
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2d00]
test eax, eax
je 0x103ac8ce
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
mov esi, eax
jmp 0x103ac8d0
xor esi, esi
mov byte [ebp - 4], 0x5a
cmp byte [ebp - 0x2c2c], 0
je 0x103ac8fb
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ac8fb
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
test esi, esi
je 0x103aca32
push 0
push esi
lea ecx, [ebp - 0x2c7c]
call fcn.1036a800
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x2c7c]
push 0
call fcn.1036a890
mov dword [ebp - 0x2c40], eax
test eax, eax
je 0x103aca07
push 0
lea eax, [ebp - 0x2c40]
push eax
lea ecx, [ebp - 0x2cc4]
call fcn.1036a520
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x2c30]
push str.sinf
call fcn.1036a440
mov byte [ebp - 4], 0x6f
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2cc4]
test eax, eax
je 0x103ac97d
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
mov dword [ebp - 0x2c48], eax
mov esi, eax
jmp 0x103ac985
xor esi, esi
mov dword [ebp - 0x2c48], esi
mov byte [ebp - 4], 0x6e
cmp byte [ebp - 0x2c2c], 0
je 0x103ac9b0
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ac9b0
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
test esi, esi
je 0x103ac9f8
push esi
call dword [0x104ccd30]
add esp, 4
lea esi, [edi + 0x18]
mov ecx, esi
push esi
push eax
call fcn.1031c570
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x2c4c], ecx
sub eax, ecx
je 0x103ac9f8
push eax
push dword [ebp - 0x2c48]
call dword [0x104ccc2c]
add esp, 4
push eax
push dword [ebp - 0x2c4c]
call fcn.103ce0b0
add esp, 0xc
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x2cc4]
call fcn.1036a5c0
mov byte [ebp - 4], 0x5a
cmp byte [ebp - 0x2c78], 0
je 0x103aca32
mov eax, dword [ebp - 0x2c7c]
test eax, eax
je 0x103aca32
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c7c], 0
mov eax, dword [edi + 0x1c]
sub eax, dword [edi + 0x18]
jne 0x103aca51
lea esi, [eax + 8]
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2d00]
call fcn.1036a5c0
jmp 0x103ad589
mov dword [ebp - 0x2cb0], 0
mov dword [ebp - 0x2cac], 0
mov byte [ebp - 4], 0x73
mov dword [ebp - 0x2ca8], 0
mov dword [ebp - 0x2cb0], 0
mov dword [ebp - 0x2cac], 0
mov byte [ebp - 4], 0x74
mov dword [ebp - 0x2c7c], 0
mov dword [ebp - 0x2c78], 0
mov byte [ebp - 4], 0x75
mov dword [ebp - 0x2c74], 0
mov dword [ebp - 0x2c7c], 0
mov dword [ebp - 0x2c78], 0
mov byte [ebp - 4], 0x76
lea eax, [ebp - 0x2ce4]
push 0
push eax
lea ecx, [ebp - 0x2c30]
call fcn.1036a3c0
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x2cb0]
push ecx
mov ecx, eax
call fcn.1036a2f0
mov byte [ebp - 4], 0x76
cmp byte [ebp - 0x2c2c], 0
je 0x103acb16
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103acb16
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
push 0
lea eax, [ebp - 0x2ce0]
push eax
lea ecx, [ebp - 0x2c30]
call fcn.1036a3c0
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x2c7c]
push ecx
mov ecx, eax
call fcn.1036a2f0
mov byte [ebp - 4], 0x76
cmp byte [ebp - 0x2c2c], 0
je 0x103acb67
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103acb67
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2cb0], 0
je 0x103acbce
mov eax, dword [ebp - 0x2cac]
cmp eax, 2
jb 0x103acbce
test eax, eax
je 0x103acb82
dec eax
jmp 0x103acb84
xor eax, eax
inc eax
lea ecx, [edi + 0x24]
push eax
call fcn.10353240
test al, al
je 0x103acbe5
mov ecx, dword [edi + 0x28]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x2cb0]
push dword [edi + 0x24]
call fcn.103ce0b0
mov ecx, dword [ebp - 0x2cac]
add esp, 0xc
test ecx, ecx
je 0x103acbc4
mov eax, dword [edi + 0x24]
dec ecx
mov byte [ecx + eax], 0
jmp 0x103acbe5
mov eax, dword [edi + 0x24]
xor ecx, ecx
mov byte [ecx + eax], cl
jmp 0x103acbe5
mov eax, dword [edi + 0x24]
test eax, eax
je 0x103acbe5
cmp dword [edi + 0x28], 1
jbe 0x103acbe5
mov byte [eax], 0
mov dword [edi + 0x28], 1
mov byte [ebp - 4], 0x7b
mov dword [ebp - 0x2cc8], 0
mov dword [ebp - 0x2cc4], 0xffffffff
mov dword [ebp - 0x2cc0], str.downloadKey
mov dword [ebp - 0x2cbc], 0xd
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0x2c7c]
mov dword [ebp - 0x2cb8], eax
mov eax, dword [ebp - 0x2c78]
mov dword [ebp - 0x2cb4], eax
mov byte [ebp - 4], 0x7b
mov dword [ebp - 0x2c84], 8
mov byte [ebp - 4], 0x7f
lea eax, [ebp - 0x2cc8]
push eax
lea ecx, [ebp - 0x2d20]
mov dword [ebp - 0x2d28], 0
mov dword [ebp - 0x2d24], 0xffffffff
call fcn.10354c90
mov byte [ebp - 4], 0x80
mov dword [ebp - 0x2d08], 0x104763a4
mov dword [ebp - 0x2d04], 3
mov byte [ebp - 4], 0x7f
mov esi, dword [ebp - 0x2d24]
mov dword [ebp - 0x2c84], 0x18
test esi, esi
jns 0x103accd6
mov ecx, dword [ebp - 0x2d1c]
test ecx, ecx
jns 0x103accc7
mov eax, dword [ebp - 0x2d14]
test eax, eax
je 0x103accae
lea ecx, [eax - 1]
jmp 0x103accb0
xor ecx, ecx
mov eax, dword [ebp - 0x2d0c]
test eax, eax
je 0x103accbd
dec eax
jmp 0x103accbf
xor eax, eax
add ecx, eax
mov dword [ebp - 0x2d1c], ecx
mov esi, dword [ebp - 0x2d04]
dec esi
add esi, ecx
mov dword [ebp - 0x2d24], esi
lea eax, [esi + 1]
mov dl, 1
mov ecx, eax
mov dword [ebp - 0x2c44], eax
call fcn.103675e0
mov dword [ebp - 0x2c4c], eax
mov byte [esi + eax], 0
mov ecx, dword [ebp - 0x2d14]
test ecx, ecx
je 0x103accff
dec ecx
jmp 0x103acd01
xor ecx, ecx
push ecx
push dword [ebp - 0x2d18]
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0x2d14]
add esp, 0xc
test eax, eax
je 0x103acd1e
dec eax
jmp 0x103acd20
xor eax, eax
mov ecx, dword [ebp - 0x2d0c]
mov dword [ebp - 0x2c48], eax
test ecx, ecx
je 0x103acd33
dec ecx
jmp 0x103acd35
xor ecx, ecx
mov esi, dword [ebp - 0x2c4c]
add eax, esi
push ecx
push dword [ebp - 0x2d10]
push eax
call fcn.103ce0b0
mov ecx, dword [ebp - 0x2d0c]
add esp, 0xc
test ecx, ecx
je 0x103acd5a
dec ecx
jmp 0x103acd5c
xor ecx, ecx
add ecx, dword [ebp - 0x2c48]
mov eax, dword [ebp - 0x2d04]
test eax, eax
je 0x103acd6f
dec eax
jmp 0x103acd71
xor eax, eax
push eax
push dword [ebp - 0x2d08]
lea eax, [ecx + esi]
push eax
call fcn.103ce0b0
mov eax, dword [ebp - 0x2c44]
add esp, 0xc
mov ecx, dword [edi + 0x30]
mov dword [edi + 0x34], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x30], esi
call fcn.10367720
mov esi, 0x18
mov dword [ebp - 0x2c84], esi
and esi, 0xffffffef
mov dword [ebp - 0x2c84], esi
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0x2d28]
call fcn.10353670
and esi, 0xfffffff7
mov dword [ebp - 0x2c84], esi
mov byte [ebp - 4], 0x85
mov ecx, dword [ebp - 0x2cc8]
call fcn.10367720
mov dword [ebp - 0x2cc8], 0
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x2c30]
push str.download_id
call fcn.1036a440
mov byte [ebp - 4], 0x86
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2d00]
test eax, eax
je 0x103ace11
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ace13
xor eax, eax
mov dword [ebp - 0x2cdc], eax
mov byte [ebp - 4], 0x76
cmp byte [ebp - 0x2c2c], 0
je 0x103ace44
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ace44
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2cdc], 0
je 0x103ace9b
push 0
lea eax, [ebp - 0x2cdc]
push eax
lea ecx, [ebp - 0x2c30]
call fcn.1036a3c0
mov ecx, eax
mov byte [ebp - 4], 0x88
lea eax, [edi + 0x3c]
push eax
call fcn.1036a2f0
mov byte [ebp - 4], 0x76
cmp byte [ebp - 0x2c2c], 0
je 0x103ace9b
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ace9b
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2ccc], 0
je 0x103ad3ff
cmp dword [ebp - 0x2c90], 0
je 0x103ad3ff
cmp dword [ebp - 0x2c70], 0
je 0x103ad3ff
push 0
lea eax, [ebp - 0x2ccc]
push eax
lea ecx, [ebp - 0x2cc4]
call fcn.1036a520
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x2c30]
push str.bundleShortVersionString
call fcn.1036a440
mov byte [ebp - 4], 0x8b
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2cc4]
test eax, eax
je 0x103acf07
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103acf09
xor eax, eax
mov dword [ebp - 0x2c48], eax
mov byte [ebp - 4], 0x8a
cmp byte [ebp - 0x2c2c], 0
je 0x103acf3a
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103acf3a
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2c48], 0
lea ecx, [ebp - 0x2c30]
je 0x103acf6b
push 0
lea eax, [ebp - 0x2c48]
push eax
call fcn.1036a3c0
mov ecx, eax
mov byte [ebp - 4], 0x8d
lea eax, [edi + 0x48]
push eax
call fcn.1036a2f0
jmp 0x103acff5
push str.bundleVersion
call fcn.1036a440
mov byte [ebp - 4], 0x8f
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2cc4]
test eax, eax
je 0x103acf92
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103acf94
xor eax, eax
mov dword [ebp - 0x2c44], eax
mov byte [ebp - 4], 0x8a
cmp byte [ebp - 0x2c2c], 0
je 0x103acfc5
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103acfc5
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2c44], 0
je 0x103ad445
push 0
lea eax, [ebp - 0x2c44]
push eax
lea ecx, [ebp - 0x2c30]
call fcn.1036a3c0
mov ecx, eax
mov byte [ebp - 4], 0x91
lea eax, [edi + 0x48]
push eax
call fcn.1036a2f0
mov byte [ebp - 4], 0x8a
cmp byte [ebp - 0x2c2c], 0
je 0x103ad020
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ad020
push eax
call dword [0x104ccd34]
mov dword [ebp - 0x2c30], 0
add esp, 4
push str.itemName
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0x96
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2cc4]
test eax, eax
je 0x103ad04d
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ad04f
xor eax, eax
mov dword [ebp - 0x2c4c], eax
mov byte [ebp - 4], 0x8a
cmp byte [ebp - 0x2c2c], 0
je 0x103ad080
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ad080
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2c4c], 0
lea ecx, [ebp - 0x2c30]
je 0x103ad0b1
push 0
lea eax, [ebp - 0x2c4c]
push eax
call fcn.1036a3c0
mov ecx, eax
mov byte [ebp - 4], 0x98
lea eax, [edi + 0x54]
push eax
call fcn.1036a2f0
jmp 0x103ad13b
push str.bundleDisplayName
call fcn.1036a440
mov byte [ebp - 4], 0x9a
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2cc4]
test eax, eax
je 0x103ad0d8
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ad0da
xor eax, eax
mov dword [ebp - 0x2c44], eax
mov byte [ebp - 4], 0x8a
cmp byte [ebp - 0x2c2c], 0
je 0x103ad10b
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ad10b
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2c44], 0
je 0x103ad42c
push 0
lea eax, [ebp - 0x2c44]
push eax
lea ecx, [ebp - 0x2c30]
call fcn.1036a3c0
mov ecx, eax
mov byte [ebp - 4], 0x9c
lea eax, [edi + 0x54]
push eax
call fcn.1036a2f0
mov byte [ebp - 4], 0x8a
cmp byte [ebp - 0x2c2c], 0
je 0x103ad166
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ad166
push eax
call dword [0x104ccd34]
mov dword [ebp - 0x2c30], 0
add esp, 4
mov esi, dword [ebp - 0x2cc4]
push esi
call dword [0x104ccd78]
add esp, 4
add eax, 2
push esi
push eax
push 0
call dword [0x104ccc90]
add esp, 0xc
lea ecx, [ebp - 0x2c30]
mov esi, eax
push str.asset_info
call fcn.1036a440
mov byte [ebp - 4], 0xa1
push dword [ebp - 0x2c90]
push dword [ebp - 0x2c30]
push esi
call dword [0x104cccd8]
add esp, 0xc
mov dword [ebp - 0x2c30], 0
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x2c8c]
push str.AppleID
call fcn.1036a440
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0x2cec]
mov eax, dword [ebp - 0x2c80]
push dword [eax]
call fcn.1036a440
mov byte [ebp - 4], 0xa4
mov eax, dword [ebp - 0x2c8c]
push 0
mov dword [ebp - 0x2c50], eax
mov eax, dword [ebp - 0x2cec]
push 0
mov dword [ebp - 0x2c44], eax
lea eax, [ebp - 0x2c44]
push 1
push eax
lea eax, [ebp - 0x2c50]
push eax
push 0
call dword [0x104ccca0]
add esp, 0x18
mov dword [ebp - 0x2c80], eax
mov dword [ebp - 0x2c8c], 0
mov dword [ebp - 0x2cec], 0
mov byte [ebp - 4], 0x8a
cmp byte [ebp - 0x2c88], 0
je 0x103ad267
mov ecx, dword [ebp - 0x2c8c]
test ecx, ecx
je 0x103ad267
push ecx
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c8c], 0
push str.accountInfo
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0xa7
lea ecx, [ebp - 0x2c38]
push str.purchaseDate
call fcn.1036a440
mov byte [ebp - 4], 0xa8
mov eax, dword [ebp - 0x2c30]
mov dword [ebp - 0x2c68], eax
mov eax, dword [ebp - 0x2c38]
mov dword [ebp - 0x2c64], eax
mov eax, dword [ebp - 0x2c80]
push 0
mov dword [ebp - 0x2d44], eax
mov eax, dword [ebp - 0x2c70]
push 0
mov dword [ebp - 0x2d40], eax
lea eax, [ebp - 0x2d44]
push 2
push eax
lea eax, [ebp - 0x2c68]
push eax
push 0
call dword [0x104ccca0]
add esp, 0x18
mov dword [ebp - 0x2c50], eax
mov dword [ebp - 0x2c30], 0
mov dword [ebp - 0x2c38], 0
mov byte [ebp - 4], 0x8a
cmp byte [ebp - 0x2c2c], 0
je 0x103ad323
mov ecx, dword [ebp - 0x2c30]
test ecx, ecx
je 0x103ad323
push ecx
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
push str.asset_info
lea ecx, [ebp - 0x2cec]
call fcn.1036a440
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0x2c8c]
push str.com.apple.iTunesStore.downloadInfo
call fcn.1036a440
mov byte [ebp - 4], 0xac
push dword [ebp - 0x2c50]
push dword [eax]
push esi
call dword [0x104cccd8]
add esp, 0xc
mov byte [ebp - 4], 0xab
cmp byte [ebp - 0x2c88], 0
je 0x103ad388
mov eax, dword [ebp - 0x2c8c]
test eax, eax
je 0x103ad388
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c8c], 0
mov dword [ebp - 0x2cec], 0
mov byte [ebp - 4], 0x8a
push 0
push 0
push 0x64
push esi
push 0
call dword [0x104ccc3c]
add esp, 0x14
mov dword [ebp - 0x2c44], eax
test eax, eax
je 0x103ad3f0
push eax
call dword [0x104ccd30]
add esp, 4
mov dword [ebp - 0x2c50], eax
test eax, eax
je 0x103ad3f0
push edi
push eax
mov ecx, edi
call fcn.1031c570
push dword [ebp - 0x2c50]
mov esi, dword [edi]
push dword [ebp - 0x2c44]
call dword [0x104ccc2c]
add esp, 4
push eax
push esi
call fcn.103ce0b0
add esp, 0xc
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x2cc4]
call fcn.1036a5c0
push str.artworkURL
lea ecx, [ebp - 0x2c30]
call fcn.1036a440
mov byte [ebp - 4], 0xaf
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2d00]
test eax, eax
je 0x103ad45e
push ecx
push eax
call dword [0x104ccce0]
add esp, 8
jmp 0x103ad460
mov esi, 0xa
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x2cc4]
call fcn.1036a5c0
jmp 0x103ad53d
mov esi, 9
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x2cc4]
call fcn.1036a5c0
jmp 0x103ad53d
xor eax, eax
mov dword [ebp - 0x2c40], eax
mov byte [ebp - 4], 0x76
cmp byte [ebp - 0x2c2c], 0
je 0x103ad491
mov eax, dword [ebp - 0x2c30]
test eax, eax
je 0x103ad491
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2c30], 0
cmp dword [ebp - 0x2c40], 0
je 0x103ad53b
mov dword [ebp - 0x2c6c], 0
mov dword [ebp - 0x2c68], 0
mov byte [ebp - 4], 0xb1
mov dword [ebp - 0x2c64], 0
mov dword [ebp - 0x2c6c], 0
mov dword [ebp - 0x2c68], 0
mov byte [ebp - 4], 0xb2
lea eax, [ebp - 0x2c40]
push 1
push eax
lea ecx, [ebp - 0x2c38]
call fcn.1036a3c0
mov byte [ebp - 4], 0xb3
lea eax, [ebp - 0x2c6c]
push eax
lea ecx, [ebp - 0x2c38]
call fcn.1036a2f0
mov dword [ebp - 0x2c38], 0
mov byte [ebp - 4], 0xb2
lea ecx, [edi + 0xc]
lea edx, [ebp - 0x2c6c]
call fcn.103ab000
mov byte [ebp - 4], 0xb5
mov ecx, dword [ebp - 0x2c6c]
call fcn.10367720
mov dword [ebp - 0x2c6c], 0
mov byte [ebp - 4], 0x76
xor esi, esi
mov byte [ebp - 4], 0xb6
mov ecx, dword [ebp - 0x2c7c]
call fcn.10367720
mov dword [ebp - 0x2c7c], 0
mov byte [ebp - 4], 0xb7
mov ecx, dword [ebp - 0x2cb0]
call fcn.10367720
mov dword [ebp - 0x2cb0], 0
mov byte [ebp - 4], 0x5a
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2d00]
call fcn.1036a5c0
jmp 0x103ad589
mov esi, 5
mov byte [ebp - 4], 0xa
cmp byte [ebp - 0x2cd4], 0
je 0x103ad5b4
mov eax, dword [ebp - 0x2cd8]
test eax, eax
je 0x103ad5b4
push eax
call dword [0x104ccd34]
add esp, 4
mov dword [ebp - 0x2cd8], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2d3c]
call fcn.1036a5c0
jmp 0x103ad5e7
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x2c6c]
call fcn.10367720
mov dword [ebp - 0x2c6c], 0
mov byte [ebp - 4], 2
mov esi, 2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c28]
call fcn.1036f560
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c9c]
call fcn.1030ed00
mov eax, esi
jmp 0x103ad611
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.103b6385
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret