Function at 0x1036f8a0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10417f0b
mov eax, dword fs:[0]
push eax
sub esp, 0x338
mov eax, dword [0x104c5878]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x340], edx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x344], eax
test eax, eax
je 0x1036f950
mov edi, eax
lea ebx, [esi + 0xa4]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1036f8f1
sub edi, ecx
lea ecx, [edi + 1]
cmp ecx, 2
jb 0x1036fb40
mov eax, ecx
test ecx, ecx
mov ecx, 1
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.10353240
test al, al
je 0x1036f94a
mov ecx, dword [ebx + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x344]
push dword [ebx]
call fcn.103ce0b0
lea eax, [edi + 1]
xor ecx, ecx
add esp, 0xc
test eax, eax
mov eax, dword [ebx]
cmove edi, ecx
mov byte [edi + eax], cl
mov edx, dword [ebp - 0x340]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x344], eax
test eax, eax
je 0x1036f9c7
mov edi, eax
lea ebx, [esi + 0xbc]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1036f968
sub edi, ecx
lea ecx, [edi + 1]
cmp ecx, 2
jb 0x1036fb63
mov eax, ecx
test ecx, ecx
mov ecx, 1
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.10353240
test al, al
je 0x1036f9c1
mov ecx, dword [ebx + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x344]
push dword [ebx]
call fcn.103ce0b0
lea eax, [edi + 1]
xor ecx, ecx
add esp, 0xc
test eax, eax
mov eax, dword [ebx]
cmove edi, ecx
mov byte [edi + eax], cl
mov edx, dword [ebp - 0x340]
mov eax, dword [edx + 8]
mov dword [ebp - 0x344], eax
test eax, eax
je 0x1036fa3f
mov edi, eax
lea ebx, [esi + 0x8c]
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x1036f9e0
sub edi, ecx
lea ecx, [edi + 1]
cmp ecx, 2
jb 0x1036fb86
mov eax, ecx
test ecx, ecx
mov ecx, 1
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.10353240
test al, al
je 0x1036fa39
mov ecx, dword [ebx + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x344]
push dword [ebx]
call fcn.103ce0b0
lea eax, [edi + 1]
xor ecx, ecx
add esp, 0xc
test eax, eax
mov eax, dword [ebx]
cmove edi, ecx
mov byte [edi + eax], cl
mov edx, dword [ebp - 0x340]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x344], eax
test eax, eax
je 0x1036fab6
mov edi, eax
lea ebx, [esi + 0x98]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1036fa57
sub edi, ecx
lea ecx, [edi + 1]
cmp ecx, 2
jb 0x1036fba9
mov eax, ecx
test ecx, ecx
mov ecx, 1
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.10353240
test al, al
je 0x1036fab0
mov ecx, dword [ebx + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x344]
push dword [ebx]
call fcn.103ce0b0
lea eax, [edi + 1]
xor ecx, ecx
add esp, 0xc
test eax, eax
mov eax, dword [ebx]
cmove edi, ecx
mov byte [edi + eax], cl
mov edx, dword [ebp - 0x340]
mov eax, dword [edx + 0x14]
test eax, eax
je 0x1036fbe2
push eax
lea eax, [ebp - 0x74]
push 0x1047856c
push eax
call fcn.1032e600
lea edi, [ebp - 0x74]
add esp, 0xc
lea ebx, [esi + 0xb0]
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x1036fae0
sub edi, ecx
lea ecx, [edi + 1]
cmp ecx, 2
jb 0x1036fbcc
mov eax, ecx
test ecx, ecx
mov ecx, 1
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.10353240
test al, al
je 0x1036fbe2
mov ecx, dword [ebx + 4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x74]
push ecx
push eax
push dword [ebx]
call fcn.103ce0b0
lea eax, [edi + 1]
xor ecx, ecx
add esp, 0xc
test eax, eax
mov eax, dword [ebx]
cmove edi, ecx
mov byte [edi + eax], cl
jmp 0x1036fbe2
mov eax, dword [ebx]
test eax, eax
je 0x1036f950
cmp dword [ebx + 4], 1
jbe 0x1036f950
mov byte [eax], 0
mov dword [ebx + 4], 1
jmp 0x1036f950
mov eax, dword [ebx]
test eax, eax
je 0x1036f9c7
cmp dword [ebx + 4], 1
jbe 0x1036f9c7
mov byte [eax], 0
mov dword [ebx + 4], 1
jmp 0x1036f9c7
mov eax, dword [ebx]
test eax, eax
je 0x1036fa3f
cmp dword [ebx + 4], 1
jbe 0x1036fa3f
mov byte [eax], 0
mov dword [ebx + 4], 1
jmp 0x1036fa3f
mov eax, dword [ebx]
test eax, eax
je 0x1036fab6
cmp dword [ebx + 4], 1
jbe 0x1036fab6
mov byte [eax], 0
mov dword [ebx + 4], 1
jmp 0x1036fab6
mov eax, dword [ebx]
test eax, eax
je 0x1036fbe2
cmp dword [ebx + 4], 1
jbe 0x1036fbe2
mov byte [eax], 0
mov dword [ebx + 4], 1
lea ecx, [ebp - 0x33c]
call fcn.10394fc0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x33c]
call fcn.103976d0
cmp eax, 1
jne 0x1036ff83
mov ecx, str.proxy32.dll
call fcn.10368c00
mov ebx, eax
mov dword [esi + 0xcc], ebx
test ebx, ebx
je 0x1036ff7f
mov ecx, dword [0x104ccf58]
test ecx, ecx
je 0x1036ff7f
dec ecx
cmp ecx, 9
jne 0x1036ff7f
mov edx, dword [0x104ccf54]
mov edi, str.12.0.1.26
sub ecx, 4
jb 0x1036fc61
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x1036fc66
add edx, 4
add edi, 4
sub ecx, 4
jae 0x1036fc50
cmp ecx, 0xfffffffc
je 0x1036fca3
mov al, byte [edx]
cmp al, byte [edi]
jne 0x1036ff7f
cmp ecx, 0xfffffffd
je 0x1036fca3
mov al, byte [edx + 1]
cmp al, byte [edi + 1]
jne 0x1036ff7f
cmp ecx, 0xfffffffe
je 0x1036fca3
mov al, byte [edx + 2]
cmp al, byte [edi + 2]
jne 0x1036ff7f
cmp ecx, 0xffffffff
je 0x1036fca3
mov al, byte [edx + 3]
cmp al, byte [edi + 3]
jne 0x1036ff7f
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.InitiTunes
push ebx
mov byte [esi + 0xc8], 1
call edi
mov dword [esi + 0xd0], eax
test eax, eax
jne 0x1036fcc8
mov byte [esi + 0xc8], al
push str.KbsyncId
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xd4], eax
test eax, eax
jne 0x1036fce5
mov byte [esi + 0xc8], al
push str.ReleaseKbsyncId
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xd8], eax
test eax, eax
jne 0x1036fd02
mov byte [esi + 0xc8], al
push str.CalcGuid
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xdc], eax
test eax, eax
jne 0x1036fd1f
mov byte [esi + 0xc8], al
push str.CalcKbsync
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xe0], eax
test eax, eax
jne 0x1036fd3c
mov byte [esi + 0xc8], al
push str.SapGetPrivateKey
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xe4], eax
test eax, eax
jne 0x1036fd59
mov byte [esi + 0xc8], al
push str.SapSetupCert
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xe8], eax
test eax, eax
jne 0x1036fd76
mov byte [esi + 0xc8], al
push str.ActionSignatureFromData
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xec], eax
test eax, eax
jne 0x1036fd93
mov byte [esi + 0xc8], al
push str.ActionSignatureSetData
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xf0], eax
test eax, eax
jne 0x1036fdb0
mov byte [esi + 0xc8], al
push str.ActionSignature
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xf4], eax
test eax, eax
jne 0x1036fdcd
mov byte [esi + 0xc8], al
push str.CalcX_Apple_MD
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xf8], eax
test eax, eax
jne 0x1036fdea
mov byte [esi + 0xc8], al
push str.CalcX_Apple_MD_Init
push dword [esi + 0xcc]
call edi
mov dword [esi + 0xfc], eax
test eax, eax
jne 0x1036fe07
mov byte [esi + 0xc8], al
push str.ActionCDSetMDD
push dword [esi + 0xcc]
call edi
mov dword [esi + 0x100], eax
test eax, eax
jne 0x1036fe24
mov byte [esi + 0xc8], al
push str.GenerateAdipb
push dword [esi + 0xcc]
call edi
mov dword [esi + 0x104], eax
test eax, eax
jne 0x1036fe41
mov byte [esi + 0xc8], al
push str.VerifyAFSyncRQ
push dword [esi + 0xcc]
call edi
mov dword [esi + 0x108], eax
test eax, eax
jne 0x1036fe5e
mov byte [esi + 0xc8], al
push str.AuthIOS
push dword [esi + 0xcc]
call edi
mov dword [esi + 0x10c], eax
test eax, eax
jne 0x1036fe7b
mov byte [esi + 0xc8], al
push str.CigHash
push dword [esi + 0xcc]
call edi
mov dword [esi + 0x110], eax
test eax, eax
jne 0x1036fe98
mov byte [esi + 0xc8], al
push str.ParseafsyncRq
push dword [esi + 0xcc]
call edi
mov dword [esi + 0x114], eax
test eax, eax
jne 0x1036feb5
mov byte [esi + 0xc8], al
push str.GenerateSCInfosidd
push dword [esi + 0xcc]
call edi
mov dword [esi + 0x118], eax
test eax, eax
jne 0x1036fed2
mov byte [esi + 0xc8], al
push str.GenerateSCInfosidb
push dword [esi + 0xcc]
call edi
mov dword [esi + 0x11c], eax
test eax, eax
jne 0x1036feef
mov byte [esi + 0xc8], al
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x1036ff7f
movaps xmm0, xmmword [0x1047c5c0]
lea ecx, [ebp - 0xf4]
movups xmmword [ebp - 0xf4], xmm0
push ecx
movaps xmm0, xmmword [0x1047c590]
push dword [0x104ccd98]
movups xmmword [ebp - 0xe4], xmm0
movaps xmm0, xmmword [0x1047c5a0]
movups xmmword [ebp - 0xd4], xmm0
movaps xmm0, xmmword [0x1047c580]
movups xmmword [ebp - 0xc4], xmm0
movaps xmm0, xmmword [0x1047c550]
movups xmmword [ebp - 0xb4], xmm0
movaps xmm0, xmmword [0x1047c540]
movups xmmword [ebp - 0xa4], xmm0
movaps xmm0, xmmword [0x1047c5b0]
movups xmmword [ebp - 0x94], xmm0
movaps xmm0, xmmword [0x1047c560]
movups xmmword [ebp - 0x84], xmm0
call eax
add esp, 8
mov bl, 1
jmp 0x1036ff85
xor bl, bl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x33c]
call fcn.10395710
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.103b6385
mov esp, ebp
pop ebp
ret 4