Function at 0x1008d7db
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x12ac
call fcn.10001019
mov eax, dword [0x101844f8]
xor eax, esp
mov dword [esp + 0x12a8], eax
mov eax, dword [esp + 0x12b0]
xor edx, edx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x12c8]
xor ebp, ebp
and dword [esp + 0x44], ebp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c0]
push edi
mov edi, dword [esp + 0x12c8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x12d4]
push esi
mov dword [esp + 0x80], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x6c], edx
call fcn.10001979
xor ebx, ebx
and dword [esp + 0x34], ebx
test eax, eax
push esi
cmove eax, edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x78], eax
call sym.CoreFoundation.dll_CFStringGetLength
xor edx, edx
mov edi, eax
mov eax, dword [esi]
inc edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x88], edx
pop ecx
pop ecx
test eax, eax
je 0x1008d89c
cmp eax, dword [sym.CoreFoundation.dll___CFConstantStringClassReferencePtr]
je 0x1008d89c
mov ecx, dword [0x10189b6c]
cmp ecx, 0x400
jae 0x1008d896
mov ecx, dword [ecx*4 + 0x10187378]
jmp 0x1008d898
xor ecx, ecx
cmp eax, ecx
jne 0x1008d90f
mov cl, byte [esi + 4]
mov al, cl
and al, 0x60
test cl, 0x10
jne 0x1008d8e1
test al, al
jne 0x1008d8c2
push 8
pop ebp
mov al, cl
and al, 5
push 0xc
cmp al, 4
pop edx
cmovne ebp, edx
xor edx, edx
add ebp, esi
inc edx
jmp 0x1008d8c5
mov ebp, dword [esi + 8]
mov dword [esp + 0x44], ebp
test ebp, ebp
je 0x1008d90f
movzx eax, cl
shr eax, 2
and eax, edx
mov edx, dword [esp + 0x48]
add ebp, eax
mov dword [esp + 0x44], ebp
jmp 0x1008d903
test al, al
jne 0x1008d8fc
push 8
pop edx
and cl, 5
push 0xc
cmp cl, 4
pop eax
cmovne edx, eax
add edx, esi
mov dword [esp + 0x48], edx
jmp 0x1008d90b
mov edx, dword [esi + 8]
mov dword [esp + 0x48], edx
test ebp, ebp
jne 0x1008d9a4
test edx, edx
jne 0x1008d980
cmp edi, 0x190
jle 0x1008d93c
xor eax, eax
inc eax
push eax
call sym.CoreFoundation.dll__CFGetTSD
mov ecx, eax
lea eax, [edi + edi]
test ecx, ecx
push 0
cmove ecx, dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
push eax
push ecx
call sym.CoreFoundation.dll_CFAllocatorAllocate
add esp, 0x10
jmp 0x1008d943
lea eax, [esp + 0xd98]
lea ecx, [esp + 0xd98]
mov dword [esp + 0x68], eax
cmp eax, ecx
je 0x1008d96b
cmp byte [sym.CoreFoundation.dll___CFOASafe], bl
je 0x1008d96b
push str.CFString__temp_
push eax
call sym.CoreFoundation.dll___CFSetLastAllocationEventName
mov eax, dword [esp + 0x70]
pop ecx
pop ecx
push eax
push edi
push 0
push esi
call sym.CoreFoundation.dll_CFStringGetCharacters
mov edx, dword [esp + 0x78]
add esp, 0x10
mov dword [esp + 0x48], edx
test ebp, ebp
jne 0x1008d9a4
xor ecx, ecx
test edi, edi
jle 0x1008d9bf
push 0x25
pop esi
cmp si, word [edx + ecx*2]
lea eax, [ebx + 1]
cmovne eax, ebx
inc ecx
mov ebx, eax
cmp ecx, edi
jl 0x1008d98d
mov dword [esp + 0x2c], ebx
jmp 0x1008d9bf
xor ecx, ecx
test edi, edi
jle 0x1008d9bf
cmp byte [ecx + ebp], 0x25
lea eax, [ebx + 1]
cmovne eax, ebx
inc ecx
mov ebx, eax
cmp ecx, edi
jl 0x1008d9aa
mov dword [esp + 0x2c], eax
xor eax, eax
inc eax
push eax
call sym.CoreFoundation.dll__CFGetTSD
mov esi, eax
pop ecx
test esi, esi
lea ecx, [ebx + ebx]
push 0x20
cmove esi, dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
mov dword [esp + 0x40], esi
pop edx
cmp ecx, 0x3c
jle 0x1008d9fe
mov eax, ebx
shl eax, 6
push 0
add eax, edx
push eax
push esi
call sym.CoreFoundation.dll_CFAllocatorAllocate
add esp, 0xc
mov dword [esp + 0x64], eax
mov ebp, eax
jmp 0x1008da09
lea ebp, [esp + 0x578]
mov dword [esp + 0x64], ebp
lea eax, [esp + 0x578]
cmp ebp, eax
je 0x1008da2a
cmp byte [sym.CoreFoundation.dll___CFOASafe], 0
je 0x1008da2a
push str.CFString__temp_
push ebp
call sym.CoreFoundation.dll___CFSetLastAllocationEventName
pop ecx
pop ecx
cmp ebx, 0x3d
jge 0x1008da38
lea eax, [esp + 0xb4]
jmp 0x1008da49
mov eax, ebx
push 0
shl eax, 2
push eax
push esi
call sym.CoreFoundation.dll_CFAllocatorAllocate
add esp, 0xc
mov dword [esp + 0x6c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x84], 0x28
test edi, edi
jle 0x1008dfcb
mov edx, dword [esp + 0x10]
mov esi, eax
mov edi, ecx
shl esi, 5
xor eax, eax
mov dword [esp + 0x50], esi
and dword [esi + ebp + 0x14], eax
and dword [esi + ebp + 8], 0
mov dword [esi + ebp], eax
or eax, 0xffffffff
mov dword [esi + ebp + 0xc], eax
mov dword [esi + ebp + 0x10], eax
mov byte [esi + ebp + 0x18], al
mov byte [esi + ebp + 0x19], al
mov byte [esi + ebp + 0x1a], al
mov byte [esi + ebp + 0x1b], al
mov eax, dword [esp + 0x44]
mov dword [esi + ebp + 4], ecx
test eax, eax
je 0x1008dac1
cmp ecx, edx
jge 0x1008dad7
cmp byte [edi + eax], 0x25
je 0x1008dad7
inc edi
cmp edi, edx
jl 0x1008dab4
jmp 0x1008dad7
cmp ecx, edx
jge 0x1008dad7
mov eax, dword [esp + 0x48]
push 0x25
pop ebx
cmp bx, word [eax + edi*2]
je 0x1008dad7
inc edi
cmp edi, edx
jl 0x1008dacc
cmp edi, ecx
je 0x1008daec
push 0x20
pop eax
mov word [esi + ebp + 2], ax
mov eax, edi
sub eax, ecx
jmp 0x1008dfac
xor ebx, ebx
xor al, al
inc edi
mov byte [esp + 0x1b], al
or eax, 0xffffffff
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x2b], bl
mov dword [esp + 0x14], eax
cmp edx, edi
jle 0x1008df39
mov ebx, dword [esp + 0x44]
lea ecx, [edi + 1]
mov dword [esp + 0x54], ecx
test ebx, ebx
je 0x1008db25
movzx ebx, byte [edi + ebx]
mov eax, dword [esp + 0x14]
jmp 0x1008db2d
mov ebx, dword [esp + 0x48]
movzx ebx, word [ebx + edi*2]
test eax, eax
js 0x1008db82
push 0x30
pop edi
cmp bx, di
jb 0x1008db68
push 0x39
pop edi
cmp bx, di
jbe 0x1008db49
push 0x41
pop edi
cmp bx, di
jb 0x1008db68
push 5
lea eax, [ebx - 0x5b]
pop edi
cmp ax, di
ja 0x1008db5c
push 0x5f
pop eax
cmp bx, ax
jne 0x1008db64
push 0x7a
pop eax
cmp bx, ax
jbe 0x1008db7b
mov eax, dword [esp + 0x14]
push 0x40
pop edi
cmp bx, di
je 0x1008dd98
or eax, 0xffffffff
mov dword [esp + 0x14], eax
mov edi, ecx
jmp 0x1008dd87
mov edi, ecx
mov cl, byte [esp + 0x1b]
push 0x5a
pop edx
movzx eax, bx
add eax, 0xffffffe0
cmp eax, edx
ja case.0x1008dba0.33
movzx eax, byte [eax + 0x1008f2a3]
jmp dword [eax*4 + 0x1008f23f]
mov esi, dword [esp + 0x44]
xorps xmm0, xmm0
movlpd qword [esp + 0x74], xmm0
mov ebp, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
push 0
push 0xa
push ebp
push ecx
call fcn.10002243
mov ecx, eax
mov ebp, edx
movzx eax, bx
cdq
add ecx, eax
push 0x30
adc ebp, edx
lea edx, [edi + 1]
pop eax
sub ecx, eax
sbb ebp, 0
test esi, esi
je 0x1008dbe8
movzx ebx, byte [edi + esi]
jmp 0x1008dbf0
mov eax, dword [esp + 0x48]
movzx ebx, word [eax + edi*2]
movzx eax, bx
mov edi, edx
sub eax, 0x30
cmp eax, 9
jbe 0x1008dbbc
mov esi, dword [esp + 0x50]
mov ebp, dword [esp + 0x64]
push 0x24
pop eax
cmp ax, bx
je 0x1008dc5b
cmp byte [esp + 0x1b], 0
je 0x1008dc1a
mov dword [esi + ebp + 0x10], ecx
jmp 0x1008dc1e
mov dword [esi + ebp + 0xc], ecx
mov edi, edx
jmp 0x1008db84
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [esp + 0x44]
mov byte [esp + 0x1b], cl
test eax, eax
je 0x1008dc3c
movzx ebx, byte [edi + eax]
jmp 0x1008dc44
mov eax, dword [esp + 0x48]
movzx ebx, word [eax + edi*2]
push 0x2a
pop eax
inc edi
cmp ax, bx
jne 0x1008db8b
mov byte [esi + ebp + 0x19], 0xfe
jmp 0x1008dd83
dec cl
cmp byte [esi + ebp + 0x19], 0xfe
jne 0x1008dc6a
mov byte [esi + ebp + 0x19], cl
jmp 0x1008dc7b
cmp byte [esi + ebp + 0x1a], 0xfe
jne 0x1008dc77
mov byte [esi + ebp + 0x1a], cl
jmp 0x1008dc7b
mov byte [esi + ebp + 0x18], cl
mov edi, edx
jmp 0x1008dd83
xor eax, eax
inc eax
mov byte [esp + 0x2b], al
jmp 0x1008dd83
mov eax, dword [esi + ebp + 0x14]
push 4
pop ecx
test cl, al
jne 0x1008dd83
or eax, 8
mov dword [esi + ebp + 0x14], eax
jmp 0x1008dd83
mov eax, dword [esi + ebp + 0x14]
and eax, 0xfffffffe
push 2
pop ecx
or eax, ecx
jmp 0x1008dca0
mov eax, dword [esi + ebp + 0x14]
and eax, 0xfffffff7
push 4
jmp 0x1008dcb2
test cl, cl
je 0x1008dcd0
and dword [esi + ebp + 0x10], 0
jmp 0x1008dd83
mov eax, dword [esi + ebp + 0x14]
mov edx, dword [esp + 0x10]
push 2
pop ecx
test cl, al
jne 0x1008dd87
xor ecx, ecx
inc ecx
or eax, ecx
mov dword [esi + ebp + 0x14], eax
jmp 0x1008dd87
mov edx, dword [esp + 0x10]
cmp edi, edx
jge 0x1008dd21
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1008dd07
movzx eax, byte [edi + eax]
jmp 0x1008dd0f
mov eax, dword [esp + 0x48]
movzx eax, word [eax + edi*2]
push 0x68
pop ecx
cmp cx, ax
jne 0x1008dd21
xor eax, eax
inc edi
inc eax
mov word [esi + ebp], ax
jmp 0x1008dd87
push 2
pop eax
jmp 0x1008dd1b
mov edx, dword [esp + 0x10]
cmp edi, edx
jge 0x1008dd51
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1008dd3c
movzx eax, byte [edi + eax]
jmp 0x1008dd44
mov eax, dword [esp + 0x48]
movzx eax, word [eax + edi*2]
push 0x6c
pop ecx
cmp cx, ax
jne 0x1008dd51
inc edi
push 4
jmp 0x1008dd23
push 3
jmp 0x1008dd23
push 4
pop eax
mov word [esi + ebp], ax
jmp 0x1008dd83
push 3
jmp 0x1008dd57
cmp byte [esp + 0x2b], 0
mov edx, dword [esp + 0x10]
je 0x1008de18
mov eax, edi
mov byte [esp + 0x2b], 0
mov dword [esp + 0x14], eax
jmp 0x1008dd8b
mov byte [esi + ebp + 0x1a], 0xfe
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp edx, edi
jg 0x1008db0c
jmp 0x1008df31
or dword [esi + ebp + 0x14], 0x10
mov edi, ecx
push 0x25
pop ebx
sub edi, eax
mov word [esi + ebp + 2], bx
push 3
dec edi
pop ebx
mov word [esi + ebp], bx
test edi, edi
jle 0x1008de0d
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x1008ddf2
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
cmp eax, 0xffffffff
jne 0x1008ddd1
call sym.CoreFoundation.dll___CFStringComputeEightBitStringEncoding
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
push 0
push eax
mov eax, dword [esp + 0x1c]
push edi
add eax, ebx
push eax
push 0
call sym.CoreFoundation.dll_CFStringCreateWithBytes
add esp, 0x14
mov ecx, dword [esp + 0x54]
mov ebx, eax
mov edx, dword [esp + 0x10]
jmp 0x1008de11
push dword [sym.CoreFoundation.dll_kCFAllocatorNull]
mov ecx, dword [esp + 0x4c]
push edi
lea eax, [ecx + eax*2]
push eax
push 0
call sym.CoreFoundation.dll_CFStringCreateWithCharactersNoCopy
add esp, 0x10
jmp 0x1008dde6
mov ebx, dword [esp + 0x1c]
mov edi, ecx
jmp 0x1008df35
push 0x25
pop eax
push 3
mov word [esi + ebp + 2], ax
pop eax
mov word [esi + ebp], ax
jmp 0x1008df31
push 0x21
pop eax
mov word [esi + ebp + 2], ax
xor eax, eax
inc eax
mov word [esi + ebp], ax
jmp 0x1008df2d
push 8
call sym.CoreFoundation.dll__CFExecutableLinkedOnOrAfter
pop ecx
test al, al
je 0x1008de53
push 0x20
pop eax
or dword [esi + ebp + 0x14], eax
xor eax, eax
inc eax
mov byte [esi + ebp + 0x1c], al
cmp bx, 0x75
je 0x1008de66
cmp bx, 0x55
jne case.0x1008dba0.79
push 4
pop eax
mov byte [esi + ebp + 0x1c], al
push 0x21
pop eax
mov word [esi + ebp + 2], ax
jmp 0x1008df2d
push 8
call sym.CoreFoundation.dll__CFExecutableLinkedOnOrAfter
pop ecx
test al, al
je 0x1008de8d
push 0x20
pop eax
or dword [esi + ebp + 0x14], eax
push 0x41
pop eax
cmp bx, ax
jb 0x1008dea0
push 0x5a
pop eax
cmp bx, ax
ja 0x1008dea0
add bl, 0x20
cmp bl, 0x65
je 0x1008deae
cmp bl, 0x67
je 0x1008deae
xor cl, cl
jmp 0x1008deb3
push 2
pop eax
mov cl, al
cmp bl, 0x66
je 0x1008dec1
cmp bl, 0x67
je 0x1008dec1
xor al, al
jmp 0x1008dec4
xor eax, eax
inc eax
or al, cl
cmp byte [esp + 0x1b], 0
mov byte [esi + ebp + 0x1c], al
je case.0x1008dba0.65
cmp dword [esi + ebp + 0x10], 0xffffffff
jne case.0x1008dba0.65
cmp byte [esi + ebp + 0x19], 0xff
jne case.0x1008dba0.65
and dword [esi + ebp + 0x10], 0
push 0x22
pop eax
push 5
mov word [esi + ebp + 2], ax
pop eax
cmp word [esi + ebp], ax
je 0x1008df2d
push 4
pop eax
jmp 0x1008de37
push 0x2a
pop eax
mov word [esi + ebp + 2], ax
push 3
jmp 0x1008def7
push 0x23
jmp 0x1008deff
push 0x27
jmp 0x1008deff
push 0x26
jmp 0x1008deff
push 0x29
pop eax
mov word [esi + ebp + 2], ax
push 2
jmp 0x1008def7
push 0x28
jmp 0x1008deff
push 0x20
pop ecx
mov word [esi + ebp + 2], cx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
push 0x20
pop eax
cmp ax, word [esi + ebp + 2]
jne 0x1008df4f
lea eax, [ecx + 1]
mov dword [esi + ebp + 4], eax
xor eax, eax
inc eax
jmp 0x1008dfac
test byte [esi + ebp + 0x14], 0x10
je 0x1008dfa2
test ebx, ebx
jne 0x1008df5e
xor eax, eax
jmp 0x1008df6a
push ebx
push dword [esp + 0x74]
call sym.CoreFoundation.dll_CFDictionaryGetValue
pop ecx
pop ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
mov dword [edx + ecx*4], eax
test ebx, ebx
je 0x1008df8b
push ebx
call sym.CoreFoundation.dll_CFRelease
mov eax, dword [esp + 0x70]
pop ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x1008df99
push 0x20
pop eax
mov word [esi + ebp + 2], ax
jmp 0x1008dfa2
mov byte [esi + ebp + 0x1b], cl
inc ecx
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x10]
mov eax, edi
sub eax, dword [esp + 0x24]
mov dword [esi + ebp + 8], eax
mov ecx, edi
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x60], eax
cmp edi, edx
jl 0x1008da70
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x12d8]
imul eax, ebx, 3
inc eax
test edi, edi
cmove esi, eax
mov dword [esp + 0x12d8], esi
cmp esi, 0x3d
jle 0x1008e007
mov eax, esi
push 0
shl eax, 4
push eax
push dword [esp + 0x44]
call sym.CoreFoundation.dll_CFAllocatorAllocate
add esp, 0xc
mov dword [esp + 0x24], eax
mov ebx, eax
jmp 0x1008e012
lea ebx, [esp + 0x1a8]
mov dword [esp + 0x24], ebx
lea eax, [esp + 0x1a8]
cmp ebx, eax
je 0x1008e033
cmp byte [sym.CoreFoundation.dll___CFOASafe], 0
je 0x1008e033
push str.CFString__temp_
push ebx
call sym.CoreFoundation.dll___CFSetLastAllocationEventName
pop ecx
pop ecx
mov eax, esi
shl eax, 4
push eax
push 0
push ebx
call fcn.101331af
xor eax, eax
add esp, 0xc
mov dword [esp + 0x50], eax
cmp dword [esp + 0x60], eax
jle 0x1008e577
mov edi, eax
xor ecx, ecx
shl edi, 5
mov dword [esp + 0x74], edi
movzx eax, word [edi + ebp + 2]
cmp cx, ax
je 0x1008e560
push 0x20
pop ecx
cmp cx, ax
je 0x1008e560
mov dl, byte [edi + ebp + 0x18]
mov cl, byte [edi + ebp + 0x19]
mov dh, byte [edi + ebp + 0x1a]
movsx eax, dl
cmp esi, eax
mov byte [esp + 0x23], cl
movsx ecx, cl
cmovge eax, esi
cmp eax, ecx
cmovge ecx, eax
movsx eax, dh
cmp ecx, eax
cmovge eax, ecx
cmp esi, eax
jl 0x1008e608
mov eax, dword [esp + 0x12d0]
cmp dh, 0xfe
jne 0x1008e0c1
mov byte [edi + ebp + 0x1a], al
inc eax
mov dword [esp + 0x12d0], eax
cmp byte [esp + 0x23], 0xfe
jne 0x1008e0d4
mov byte [edi + ebp + 0x19], al
inc eax
mov dword [esp + 0x12d0], eax
cmp dl, 0xff
jne 0x1008e0e7
mov dl, al
inc eax
mov byte [edi + ebp + 0x18], dl
mov dword [esp + 0x12d0], eax
mov ax, word [edi + ebp]
movsx ecx, dl
add ecx, ecx
mov word [ebx + ecx*8 + 2], ax
movsx ecx, byte [edi + ebp + 0x18]
mov ax, word [edi + ebp + 2]
add ecx, ecx
mov word [ebx + ecx*8], ax
mov al, byte [edi + ebp + 0x1b]
cmp al, 0xff
je 0x1008e51e
mov ecx, dword [esp + 0x6c]
push dword [sym.CoreFoundation.dll_kCFStringFormatValueTypeKey]
movsx eax, al
push dword [ecx + eax*4]
call sym.CoreFoundation.dll_CFDictionaryGetValue
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1008e517
push esi
call sym.CoreFoundation.dll_CFStringGetCharactersPtr
pop ecx
mov ecx, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
mov dword [esp + 0x2c], eax
cmp ecx, 0xffffffff
jne 0x1008e153
call sym.CoreFoundation.dll___CFStringComputeEightBitStringEncoding
mov ecx, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
push ecx
push esi
call sym.CoreFoundation.dll_CFStringGetCStringPtr
pop ecx
pop ecx
mov cl, byte [esi + 4]
xor edi, edi
mov dword [esp + 0x4c], eax
mov dl, cl
xor eax, eax
and cl, 5
push 4
mov dword [esp + 0x58], eax
and dl, 0x60
pop eax
cmp cl, al
je 0x1008e188
test dl, dl
jne 0x1008e183
mov ecx, dword [esi + 8]
jmp 0x1008e194
mov ecx, dword [esi + 0xc]
jmp 0x1008e194
lea eax, [esi + 8]
test dl, dl
je 0x1008e191
mov eax, dword [eax]
movzx ecx, byte [eax]
and dword [esp + 0x10], edi
xor eax, eax
and dword [esp + 0x1c], edi
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0xa0], eax
mov byte [esp + 0x1b], 0xff
mov byte [esp + 0x23], 0xff
cmp dword [esp + 0x2c], eax
jne 0x1008e1f1
test edx, edx
jne 0x1008e1f1
push edx
lea eax, [ecx + ecx]
push eax
push dword [esp + 0x44]
call sym.CoreFoundation.dll_CFAllocatorAllocate
push eax
push dword [esp + 0x40]
mov dword [esp + 0x68], eax
push 0
push esi
call sym.CoreFoundation.dll_CFStringGetCharacters
mov esi, dword [esp + 0x70]
add esp, 0x1c
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x2c], esi
jmp 0x1008e1f5
mov esi, dword [esp + 0x2c]
or eax, 0xffffffff
mov byte [esp + 0x2b], 0
mov byte [esp + 0x43], 0
mov dword [esp + 0x14], eax
cmp dword [esp + 0x30], edi
jle 0x1008e4e0
lea ecx, [edi + 1]
test edx, edx
je 0x1008e221
movzx esi, byte [edi + edx]
mov eax, dword [esp + 0x14]
jmp 0x1008e225
movzx esi, word [esi + edi*2]
test eax, eax
js 0x1008e274
push 0x30
pop eax
cmp si, ax
jb 0x1008e25c
push 0x39
pop eax
cmp si, ax
jbe 0x1008e241
push 0x41
pop eax
cmp si, ax
jb 0x1008e25c
push 5
lea eax, [esi - 0x5b]
pop edi
cmp ax, di
ja 0x1008e254
push 0x5f
pop eax
cmp si, ax
jne 0x1008e25c
push 0x7a
pop eax
cmp si, ax
jbe 0x1008e26d
push 0x40
pop eax
cmp si, ax
je 0x1008e472
or dword [esp + 0x14], 0xffffffff
mov edi, ecx
jmp 0x1008e45f
mov edi, ecx
mov cl, byte [esp + 0x2b]
movzx eax, si
add eax, 0xffffffe0
cmp eax, 0x5a
ja case.0x1008e290.33
movzx eax, byte [eax + 0x1008f363]
jmp dword [eax*4 + 0x1008f2ff]
mov ebx, dword [esp + 0x4c]
xorps xmm0, xmm0
mov ebp, dword [esp + 0x2c]
movlpd qword [esp + 0x58], xmm0
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
push 0
push 0xa
push ecx
push edx
call fcn.10002243
mov dword [esp + 0x58], eax
mov ecx, edx
movzx eax, si
cdq
add dword [esp + 0x58], eax
push 0x30
adc ecx, edx
mov edx, dword [esp + 0x5c]
pop eax
sub edx, eax
lea eax, [edi + 1]
mov dword [esp + 0x58], eax
sbb ecx, 0
test ebx, ebx
je 0x1008e2e8
movzx esi, byte [edi + ebx]
jmp 0x1008e2ed
movzx esi, word [ebp + edi*2]
mov edi, eax
movzx eax, si
sub eax, 0x30
cmp eax, 9
jbe 0x1008e2b0
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x24]
push 0x24
pop eax
cmp ax, si
je 0x1008e349
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
jmp 0x1008e276
xor eax, eax
lea ecx, [eax + 1]
mov byte [esp + 0x2b], cl
test edx, edx
je 0x1008e32a
movzx esi, byte [edi + edx]
jmp 0x1008e332
mov eax, dword [esp + 0x2c]
movzx esi, word [eax + edi*2]
push 0x2a
pop eax
inc edi
cmp ax, si
jne 0x1008e27a
mov byte [esp + 0x1b], 0xfe
jmp 0x1008e45f
cmp byte [esp + 0x1b], 0xfe
jne 0x1008e35a
mov al, dl
dec al
mov byte [esp + 0x1b], al
jmp 0x1008e369
cmp byte [esp + 0x23], 0xfe
jne 0x1008e369
mov al, dl
dec al
mov byte [esp + 0x23], al
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
jmp 0x1008e45f
xor eax, eax
inc eax
mov byte [esp + 0x43], al
jmp 0x1008e45f
push 4
pop eax
test byte [esp + 0xa0], al
mov eax, dword [esp + 0x14]
jne 0x1008e463
or dword [esp + 0xa0], 8
mov edx, dword [esp + 0x4c]
jmp 0x1008e463
mov edx, dword [esp + 0xa0]
and edx, 0xfffffffe
push 2
pop eax
or edx, eax
mov dword [esp + 0xa0], edx
jmp 0x1008e36d
mov edx, dword [esp + 0xa0]
and edx, 0xfffffff7
push 4
jmp 0x1008e3b3
test cl, cl
jne 0x1008e45f
push 2
pop eax
test byte [esp + 0xa0], al
jne 0x1008e45f
xor eax, eax
inc eax
or dword [esp + 0xa0], eax
jmp 0x1008e36d
cmp edi, dword [esp + 0x30]
jge 0x1008e418
test edx, edx
je 0x1008e3fd
movzx eax, byte [edi + edx]
jmp 0x1008e405
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + edi*2]
push 0x68
pop ecx
cmp cx, ax
jne 0x1008e418
xor eax, eax
inc edi
inc eax
mov word [esp + 0x10], ax
jmp 0x1008e45f
push 2
pop eax
jmp 0x1008e411
cmp edi, dword [esp + 0x30]
jge case.0x1008e290.116
test edx, edx
je 0x1008e42d
movzx eax, byte [edi + edx]
jmp 0x1008e435
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + edi*2]
push 0x6c
pop ecx
cmp cx, ax
jne case.0x1008e290.116
inc edi
push 4
jmp 0x1008e41a
push 3
jmp 0x1008e41a
cmp byte [esp + 0x43], 0
je 0x1008e472
mov eax, edi
mov byte [esp + 0x43], 0
mov dword [esp + 0x14], eax
jmp 0x1008e463
mov byte [esp + 0x23], 0xfe
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x30], edi
jle 0x1008e4e0
mov esi, dword [esp + 0x2c]
jmp 0x1008e210
push 0x25
pop eax
push 3
mov word [esp + 0x20], ax
pop eax
mov word [esp + 0x10], ax
jmp 0x1008e4e0
push 0x21
pop eax
mov word [esp + 0x1c], ax
xor eax, eax
inc eax
jmp 0x1008e47d
push 8
call sym.CoreFoundation.dll__CFExecutableLinkedOnOrAfter
pop ecx
push 0x21
jmp 0x1008e4da
push 8
call sym.CoreFoundation.dll__CFExecutableLinkedOnOrAfter
pop ecx
mov ecx, dword [esp + 0x10]
push 0x22
pop eax
push 5
mov word [esp + 0x20], ax
pop eax
cmp cx, ax
je 0x1008e4e4
push 4
jmp 0x1008e47c
push 0x2a
jmp 0x1008e474
push 0x23
jmp 0x1008e474
push 0x27
jmp 0x1008e474
push 0x26
jmp 0x1008e474
push 0x29
pop eax
push 2
jmp 0x1008e477
push 0x28
jmp 0x1008e474
push 0x20
pop eax
mov word [esp + 0x1c], ax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x74]
movsx eax, byte [edi + ebp + 0x18]
add eax, eax
mov word [ebx + eax*8 + 2], cx
movsx eax, byte [edi + ebp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, eax
mov word [ebx + eax*8], cx
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1008e517
push eax
push dword [esp + 0x40]
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
mov esi, dword [esp + 0x12d8]
mov al, byte [edi + ebp + 0x1a]
push 0x21
pop edx
cmp al, 0xff
je 0x1008e541
movsx eax, al
xor ecx, ecx
add eax, eax
mov word [ebx + eax*8 + 2], cx
movsx eax, byte [edi + ebp + 0x1a]
shl eax, 4
mov word [eax + ebx], dx
mov al, byte [edi + ebp + 0x19]
cmp al, 0xff
je 0x1008e560
movsx eax, al
xor ecx, ecx
add eax, eax
mov word [ebx + eax*8 + 2], cx
movsx eax, byte [edi + ebp + 0x19]
add eax, eax
mov word [ebx + eax*8], dx
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
cmp eax, dword [esp + 0x60]
jl 0x1008e054
mov edi, dword [esp + 0x38]
test esi, esi
jle 0x1008e6f7
mov eax, dword [esp + 0x12dc]
mov esi, edi
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x50], esi
add ebp, 8
lea ecx, [eax - 4]
lea ebx, [eax - 8]
test edi, edi
je 0x1008e5b3
lea edi, [ebp - 8]
xor eax, eax
cmp ax, word [edi]
jne 0x1008e5af
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x38]
movzx eax, word [ebp - 8]
push 0x21
pop edx
cmp ax, dx
je 0x1008e678
push 0x22
pop edx
cmp ax, dx
je 0x1008e667
jle 0x1008e6db
push 0x28
pop edx
cmp ax, dx
jle 0x1008e65c
push 0x29
pop edx
cmp ax, dx
je 0x1008e678
push 0x2a
pop edx
cmp ax, dx
jne 0x1008e6db
push 4
pop edx
add ebx, edx
lea eax, [esp + 0xac]
add ecx, edx
jmp 0x1008e6d8
lea eax, [esp + 0x578]
cmp ebp, eax
je 0x1008e622
push ebp
mov ebp, dword [esp + 0x40]
push ebp
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
jmp 0x1008e626
mov ebp, dword [esp + 0x3c]
lea eax, [esp + 0x1a8]
cmp ebx, eax
je 0x1008e63a
push ebx
push ebp
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1008f220
lea ecx, [esp + 0xd98]
cmp eax, ecx
je 0x1008f220
push eax
push ebp
jmp 0x1008f219
push 4
pop eax
add ebx, eax
add ecx, eax
mov eax, dword [ecx]
jmp 0x1008e6d8
add ebx, 8
add ecx, 8
movsd xmm0, qword [ebx]
movsd qword [ebp], xmm0
jmp 0x1008e6db
movzx eax, word [ebp - 6]
xor edx, edx
inc edx
cmp dx, ax
jne 0x1008e690
push 4
pop eax
add ebx, eax
add ecx, eax
movsx eax, byte [ecx]
jmp 0x1008e6d4
push 2
pop edx
cmp dx, ax
jne 0x1008e6a4
push 4
pop eax
add ebx, eax
add ecx, eax
movsx eax, word [ecx]
jmp 0x1008e6d4
push 3
pop edx
push 4
cmp dx, ax
jne 0x1008e6b5
pop eax
add ebx, eax
add ecx, eax
jmp 0x1008e6d2
pop edx
cmp dx, ax
jne 0x1008e6ce
add ebx, 8
add ecx, 8
mov eax, dword [ebx]
mov dword [ebp], eax
mov eax, dword [ebx + 4]
mov dword [ebp + 4], eax
jmp 0x1008e6db
add ebx, edx
add ecx, edx
mov eax, dword [ecx]
cdq
mov dword [ebp + 4], edx
mov dword [ebp], eax
add esi, 0x10
add ebp, 0x10
sub dword [esp + 0x12d8], 1
mov dword [esp + 0x50], esi
jne 0x1008e599
mov ebp, dword [esp + 0x64]
xor eax, eax
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x60], eax
jle 0x1008f1b8
shl eax, 5
xor ecx, ecx
and dword [esp + 0x74], ecx
xor dl, dl
mov byte [esp + 0x23], cl
lea ebx, [eax + ebp]
mov ebp, dword [esp + 0x24]
mov al, byte [ebx + 0x1a]
mov dword [esp + 0x54], ebx
cmp al, 0xff
je 0x1008e736
movsx eax, al
add eax, eax
mov ecx, dword [ebp + eax*8 + 8]
xor eax, eax
inc eax
mov dl, al
mov al, byte [ebx + 0x19]
cmp al, 0xff
je 0x1008e74d
movsx eax, al
add eax, eax
mov byte [esp + 0x23], 1
mov eax, dword [ebp + eax*8 + 8]
jmp 0x1008e751
mov eax, dword [esp + 0x74]
mov edi, dword [ebx + 0xc]
cmp edi, 0xffffffff
mov esi, dword [ebx + 0x10]
movzx ebp, word [ebx + 2]
cmove edi, ecx
movzx ecx, byte [esp + 0x23]
movzx edx, dl
cmovne edx, dword [esp + 0x80]
cmp esi, 0xffffffff
mov dword [esp + 0x1c], edx
cmovne ecx, dword [esp + 0x80]
cmove esi, eax
movsx eax, bp
add eax, 0xffffffe0
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x14], cl
mov dword [esp + 0x38], esi
cmp eax, 9
ja case.default.0x1008e79e
jmp dword [eax*4 + 0x1008f3bf]
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je case.0x1008e79e.35
test byte [ebx + 0x14], 0x20
je case.0x1008e79e.35
push ebp
call sym.CoreFoundation.dll_CFGetTypeID
pop ecx
mov esi, eax
call sym.CoreFoundation.dll_CFLocaleGetTypeID
cmp esi, eax
mov esi, dword [esp + 0x38]
jne case.0x1008e79e.35
push dword [esp + 0x14]
push esi
push edi
push ebx
push dword [esp + 0x34]
push ebp
push dword [esp + 0x4c]
call fcn.10091178
add esp, 0x1c
test al, al
jne case.default.0x1008e79e
and dword [esp + 0x50], 0
lea eax, [edi + 0x100]
add eax, esi
lea ebp, [esp + 0x10b8]
cmp eax, 0x200
jle 0x1008e81d
push 0
push eax
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call sym.CoreFoundation.dll_CFAllocatorAllocate
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x50], ecx
mov ebp, ecx
mov edx, dword [ebx + 4]
xor ecx, ecx
mov eax, dword [ebx + 8]
mov dword [esp + 0x74], edx
mov dword [esp + 0x30], eax
cmp dword [esp + 0x44], ecx
je 0x1008e870
xor edx, edx
test eax, eax
jle 0x1008e8b7
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x74]
add esi, ebx
mov bl, byte [esi + edx]
cmp bl, 0x24
je 0x1008e858
mov byte [esp + ecx + 0xd18], bl
jmp 0x1008e868
cmp al, 0x39
jg 0x1008e864
mov al, byte [esp + ecx + 0xd17]
dec ecx
cmp al, 0x30
jge 0x1008e854
mov eax, dword [esp + 0x30]
inc ecx
inc edx
cmp edx, eax
jl 0x1008e843
jmp 0x1008e8a3
test eax, eax
jle 0x1008e8b7
mov eax, dword [esp + 0x48]
push 2
pop ebx
push 0x24
lea edx, [eax + edx*2]
pop esi
cmp si, word [edx]
je 0x1008e922
mov al, byte [edx]
mov byte [esp + ecx + 0xd18], al
mov eax, dword [esp + 0x30]
inc ecx
add edx, ebx
sub eax, 1
mov dword [esp + 0x30], eax
jne 0x1008e881
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x54]
cmp ecx, 0x80
jae 0x1008f239
mov byte [esp + ecx + 0xd18], 0
push 0x21
mov byte [ebp + 3], 0
movsx eax, word [ebx + 2]
pop ecx
sub eax, ecx
je 0x1008ea61
sub eax, 1
je 0x1008e94f
sub eax, 1
je 0x1008e8e5
sub eax, 7
jne 0x1008eae6
movsx eax, byte [ebx + 0x18]
mov ecx, dword [esp + 0x24]
add eax, eax
cmp byte [ebx + 0x1a], 0xff
mov eax, dword [ecx + eax*8 + 8]
mov cl, byte [ebx + 0x19]
push eax
lea eax, [esp + 0xd1c]
je 0x1008e943
cmp cl, 0xff
je 0x1008e933
push esi
push edi
push eax
push ebp
call fcn.100026e4
add esp, 0x14
jmp 0x1008eae6
cmp al, 0x39
jg 0x1008e893
mov al, byte [esp + ecx + 0xd17]
dec ecx
cmp al, 0x30
jge 0x1008e91a
jmp 0x1008e893
push edi
push eax
push ebp
call fcn.100026e4
add esp, 0x10
jmp 0x1008eae6
cmp cl, 0xff
je 0x1008eadc
push esi
jmp 0x1008e934
movsx eax, byte [ebx + 0x18]
mov ecx, dword [esp + 0x24]
add eax, eax
cmp byte [ebx + 0x1a], 0xff
push ecx
push ecx
movsd xmm0, qword [ecx + eax*8 + 8]
lea eax, [esp + 0xd20]
movsd qword [esp], xmm0
je 0x1008e98a
cmp byte [ebx + 0x19], 0xff
je 0x1008e987
push esi
push edi
push eax
push ebp
call fcn.100026e4
add esp, 0x18
jmp 0x1008e9a7
push edi
jmp 0x1008e991
cmp byte [ebx + 0x19], 0xff
je 0x1008e99d
push esi
push eax
push ebp
call fcn.100026e4
add esp, 0x14
jmp 0x1008e9a7
push eax
push ebp
call fcn.100026e4
add esp, 0x10
mov ebx, dword [esp + 0x7c]
test ebx, ebx
je 0x1008eae6
push ebx
call sym.CoreFoundation.dll_CFGetTypeID
pop ecx
mov esi, eax
call sym.CoreFoundation.dll_CFLocaleGetTypeID
cmp esi, eax
jne 0x1008e9d5
push dword [sym.CoreFoundation.dll_NSLocaleDecimalSeparator]
push ebx
call sym.CoreFoundation.dll_CFLocaleGetValue
pop ecx
pop ecx
jmp 0x1008e9e9
push str.NSDecimalSeparator
call sym.CoreFoundation.dll___CFStringMakeConstantString
push eax
push ebx
call sym.CoreFoundation.dll_CFDictionaryGetValue
add esp, 0xc
mov edi, eax
test edi, edi
je 0x1008eae6
xor esi, esi
cmp byte [ebp], 0
je 0x1008ea08
cmp byte [esi + ebp], 0x2e
je 0x1008ea12
inc esi
cmp byte [esi + ebp], 0
jne 0x1008e9fb
cmp byte [esi + ebp], 0x2e
jne 0x1008eae6
mov byte [esi + ebp], 0
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
cmp eax, 0xffffffff
jne 0x1008ea2a
call sym.CoreFoundation.dll___CFStringComputeEightBitStringEncoding
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
mov ebx, dword [esp + 0x34]
push eax
push ebp
push ebx
call sym.CoreFoundation.dll_CFStringAppendCString
push edi
push ebx
call sym.CoreFoundation.dll_CFStringAppend
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
add esp, 0x14
cmp eax, 0xffffffff
jne 0x1008ea54
call sym.CoreFoundation.dll___CFStringComputeEightBitStringEncoding
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
push eax
lea eax, [ebp + 1]
add eax, esi
push eax
push ebx
jmp 0x1008eb00
push 4
pop eax
cmp ax, word [ebx]
movsx eax, byte [ebx + 0x18]
jne 0x1008eab2
mov edx, dword [esp + 0x24]
add eax, eax
cmp byte [ebx + 0x1a], 0xff
mov ecx, dword [edx + eax*8 + 8]
mov eax, dword [edx + eax*8 + 0xc]
push eax
push ecx
lea eax, [esp + 0xd20]
je 0x1008eaa2
cmp byte [ebx + 0x19], 0xff
je 0x1008e90a
push esi
push edi
push eax
push ebp
call fcn.100026e4
add esp, 0x18
jmp 0x1008eae6
cmp byte [ebx + 0x19], 0xff
je 0x1008e934
push esi
jmp 0x1008e90b
mov ecx, dword [esp + 0x24]
add eax, eax
cmp byte [ebx + 0x1a], 0xff
mov eax, dword [ecx + eax*8 + 8]
push eax
lea eax, [esp + 0xd1c]
je 0x1008ead3
cmp byte [ebx + 0x19], 0xff
jmp 0x1008e907
cmp byte [ebx + 0x19], 0xff
jmp 0x1008e946
push eax
push ebp
call fcn.100026e4
add esp, 0xc
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
cmp eax, 0xffffffff
jne 0x1008eafa
call sym.CoreFoundation.dll___CFStringComputeEightBitStringEncoding
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
push eax
push ebp
push dword [esp + 0x3c]
call sym.CoreFoundation.dll_CFStringAppendCString
mov eax, dword [esp + 0x5c]
add esp, 0xc
test eax, eax
je case.default.0x1008e79e
push eax
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
jmp case.default.0x1008e79e
mov ebp, dword [esp + 0x44]
test ebp, ebp
je 0x1008eb56
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
cmp eax, 0xffffffff
jne 0x1008eb43
call sym.CoreFoundation.dll___CFStringComputeEightBitStringEncoding
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
push eax
mov eax, dword [ebx + 4]
push dword [ebx + 8]
mov ebx, dword [esp + 0x3c]
add eax, ebp
push eax
jmp 0x1008ecaa
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x48]
push dword [ebx + 8]
lea eax, [ecx + eax*2]
push eax
push dword [esp + 0x3c]
call sym.CoreFoundation.dll_CFStringAppendCharacters
jmp 0x1008f19d
movsx eax, byte [ebx + 0x18]
mov edx, dword [esp + 0x24]
add eax, eax
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
test eax, eax
je case.default.0x1008edc9
cmp bp, word [esp + 0x84]
jne 0x1008ec22
movzx ebp, byte [eax]
inc eax
mov dword [esp + 0x2c], eax
test cl, cl
je 0x1008ebb0
cmp esi, ebp
jge 0x1008ebb0
mov ebp, esi
mov esi, dword [esp + 0x2c]
push 2
pop eax
test byte [ebx + 0x14], al
je 0x1008ec5d
mov eax, dword [0x10179230]
cmp eax, 0xffffffff
jne 0x1008ebd4
call sym.CoreFoundation.dll_CFStringGetSystemEncoding
mov eax, dword [0x10179230]
mov ebx, dword [esp + 0x34]
push eax
push ebp
push esi
push ebx
call sym.CoreFoundation.dll___CFStringAppendBytes
add esp, 0x10
cmp byte [esp + 0x1c], 0
je case.default.0x1008e79e
cmp edi, ebp
jle case.default.0x1008e79e
push 0xa
sub edi, ebp
pop esi
cmp edi, esi
mov eax, edi
push 0x600
cmovg eax, esi
push eax
push 0x1014a810
push ebx
call sym.CoreFoundation.dll___CFStringAppendBytes
sub edi, esi
add esp, 0x10
test edi, edi
jg 0x1008ebfc
jmp case.default.0x1008e79e
test cl, cl
jne 0x1008ec38
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, dword [esp + 0x20]
mov ebp, eax
pop ecx
jmp 0x1008ebb0
push esi
push 0
push eax
call fcn.101331e5
mov edx, dword [esp + 0x28]
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x1008ebae
mov esi, dword [esp + 0x2c]
sub ebp, esi
jmp 0x1008ebb4
mov ebx, dword [esp + 0x34]
test dl, dl
je 0x1008ec93
cmp edi, ebp
jle 0x1008ec93
push 0xa
sub edi, ebp
pop esi
cmp edi, esi
mov eax, edi
push 0x600
cmovg eax, esi
push eax
push 0x1014a810
push ebx
call sym.CoreFoundation.dll___CFStringAppendBytes
sub edi, esi
add esp, 0x10
test edi, edi
jg 0x1008ec6e
mov esi, dword [esp + 0x2c]
mov eax, dword [0x10179230]
cmp eax, 0xffffffff
jne 0x1008eca7
call sym.CoreFoundation.dll_CFStringGetSystemEncoding
mov eax, dword [0x10179230]
push eax
push ebp
push esi
push ebx
call sym.CoreFoundation.dll___CFStringAppendBytes
add esp, 0x10
jmp case.default.0x1008e79e
movsx eax, byte [ebx + 0x18]
mov ecx, dword [esp + 0x24]
add eax, eax
movzx eax, word [ecx + eax*8 + 8]
mov dword [esp + 0x58], eax
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x5c]
jmp 0x1008eb63
movsx eax, byte [ebx + 0x18]
mov ebp, dword [esp + 0x24]
add eax, eax
mov eax, dword [ebp + eax*8 + 8]
mov dword [esp + 0x74], eax
test eax, eax
je case.default.0x1008edc9
xor edx, edx
xor ebp, ebp
cmp dx, word [eax]
mov edx, dword [esp + 0x1c]
je 0x1008ed0c
inc ebp
xor ebx, ebx
cmp bx, word [eax + ebp*2]
jne 0x1008ecff
mov ebx, dword [esp + 0x54]
test cl, cl
je 0x1008ed15
cmp esi, ebp
cmovl ebp, esi
push 2
pop ecx
test byte [ebx + 0x14], cl
mov ebx, dword [esp + 0x34]
je 0x1008ed6a
push ebp
push eax
push ebx
call sym.CoreFoundation.dll_CFStringAppendCharacters
add esp, 0xc
cmp byte [esp + 0x1c], 0
je case.default.0x1008e79e
cmp edi, ebp
jle case.default.0x1008e79e
push 0xa
sub edi, ebp
pop esi
cmp edi, esi
mov eax, edi
push 0x600
cmovg eax, esi
push eax
push 0x1014a810
push ebx
call sym.CoreFoundation.dll___CFStringAppendBytes
sub edi, esi
add esp, 0x10
test edi, edi
jg 0x1008ed44
jmp case.default.0x1008e79e
test dl, dl
je 0x1008ed9c
cmp edi, ebp
jle 0x1008ed9c
push 0xa
sub edi, ebp
pop esi
cmp edi, esi
mov eax, edi
push 0x600
cmovg eax, esi
push eax
push 0x1014a810
push ebx
call sym.CoreFoundation.dll___CFStringAppendBytes
sub edi, esi
add esp, 0x10
test edi, edi
jg 0x1008ed77
mov eax, dword [esp + 0x74]
push ebp
push eax
push ebx
jmp 0x1008eb68
cmp byte [ebx + 0x1b], 0xff
mov ebp, dword [esp + 0x24]
je 0x1008f134
movsx ecx, byte [ebx + 0x18]
shl ecx, 4
movsx eax, word [ecx + ebp]
add eax, 0xffffffdf
cmp eax, 8
ja case.default.0x1008edc9
jmp dword [eax*4 + 0x1008f3e7]
lea eax, [ebp + 8]
add eax, ecx
push eax
push 4
pop eax
push eax
push dword [esp + 0x44]
call sym.CoreFoundation.dll_CFNumberCreate
add esp, 0xc
jmp 0x1008f06a
lea eax, [ebp + 8]
add eax, ecx
push eax
push 0xd
jmp 0x1008edda
lea eax, [ebp + 8]
add eax, ecx
push eax
push 0xe
jmp 0x1008edda
cmp dword [ecx + ebp + 8], 0
je case.default.0x1008edc9
push 0
push dword [esp + 0x40]
call sym.CoreFoundation.dll_CFStringCreateMutable
pop ecx
mov ebp, eax
movsx eax, byte [ebx + 0x18]
pop ecx
mov ecx, dword [esp + 0x24]
add eax, eax
push 0x28
mov ecx, dword [ecx + eax*8 + 8]
pop eax
mov dword [esp + 0x38], ecx
cmp word [ebx + 2], ax
jne 0x1008ee4f
movzx eax, byte [ecx]
inc ecx
cmp byte [esp + 0x2c], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
je 0x1008ee7f
cmp esi, eax
jge 0x1008ee7f
mov eax, esi
jmp 0x1008ee73
cmp byte [esp + 0x2c], 0
jne 0x1008ee5f
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
pop ecx
jmp 0x1008ee73
push esi
push 0
push ecx
call fcn.101331e5
add esp, 0xc
test eax, eax
je 0x1008ee79
sub eax, dword [esp + 0x38]
mov dword [esp + 0x30], eax
jmp 0x1008ee7f
mov eax, esi
mov dword [esp + 0x30], esi
push 2
pop ecx
test byte [ebx + 0x14], cl
je 0x1008eeec
mov eax, dword [0x10179230]
cmp eax, 0xffffffff
jne 0x1008ee9b
call sym.CoreFoundation.dll_CFStringGetSystemEncoding
mov eax, dword [0x10179230]
mov esi, dword [esp + 0x30]
push eax
push esi
push dword [esp + 0x40]
push ebp
call sym.CoreFoundation.dll___CFStringAppendBytes
add esp, 0x10
cmp byte [esp + 0x1c], 0
je 0x1008f06c
cmp edi, esi
jle 0x1008f06c
push 0xa
sub edi, esi
pop esi
cmp edi, esi
mov eax, edi
push 0x600
cmovg eax, esi
push eax
push 0x1014a810
push ebp
call sym.CoreFoundation.dll___CFStringAppendBytes
sub edi, esi
add esp, 0x10
test edi, edi
jg 0x1008eec6
jmp 0x1008f06c
cmp byte [esp + 0x1c], 0
je 0x1008ef1d
cmp edi, eax
jle 0x1008ef1d
push 0xa
sub edi, eax
pop esi
cmp edi, esi
mov eax, edi
push 0x600
cmovg eax, esi
push eax
push 0x1014a810
push ebp
call sym.CoreFoundation.dll___CFStringAppendBytes
sub edi, esi
add esp, 0x10
test edi, edi
jg 0x1008eefc
mov eax, dword [0x10179230]
cmp eax, 0xffffffff
jne 0x1008ef31
call sym.CoreFoundation.dll_CFStringGetSystemEncoding
mov eax, dword [0x10179230]
mov esi, dword [esp + 0x30]
push eax
push esi
push dword [esp + 0x40]
push ebp
call sym.CoreFoundation.dll___CFStringAppendBytes
add esp, 0x10
jmp 0x1008f06c
movzx eax, word [ecx + ebp + 8]
push dword [sym.CoreFoundation.dll_kCFAllocatorNull]
mov dword [esp + 0x5c], eax
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x48]
call sym.CoreFoundation.dll_CFStringCreateWithCharactersNoCopy
add esp, 0x10
jmp 0x1008f06a
mov eax, dword [ecx + ebp + 8]
mov dword [esp + 0x50], eax
test eax, eax
je case.default.0x1008edc9
push 0
push dword [esp + 0x40]
call sym.CoreFoundation.dll_CFStringCreateMutable
pop ecx
pop ecx
mov ecx, dword [esp + 0x50]
mov ebp, eax
xor eax, eax
xor edx, edx
mov dword [esp + 0x38], eax
cmp dx, word [ecx]
je 0x1008efaf
inc eax
xor edx, edx
cmp dx, word [ecx + eax*2]
jne 0x1008efa2
mov dword [esp + 0x38], eax
cmp byte [esp + 0x2c], 0
je 0x1008efbf
cmp esi, eax
cmovl eax, esi
mov dword [esp + 0x38], eax
push 2
pop edx
test byte [ebx + 0x14], dl
je 0x1008f011
push eax
push ecx
push ebp
call sym.CoreFoundation.dll_CFStringAppendCharacters
add esp, 0xc
cmp byte [esp + 0x1c], 0
je 0x1008f06c
mov eax, dword [esp + 0x38]
cmp edi, eax
jle 0x1008f06c
push 0xa
sub edi, eax
pop esi
cmp edi, esi
mov eax, edi
push 0x600
cmovg eax, esi
push eax
push 0x1014a810
push ebp
call sym.CoreFoundation.dll___CFStringAppendBytes
sub edi, esi
add esp, 0x10
test edi, edi
jg 0x1008efee
jmp 0x1008f06c
cmp byte [esp + 0x1c], 0
je 0x1008f04a
cmp edi, eax
jle 0x1008f04a
push 0xa
sub edi, eax
pop esi
cmp edi, esi
mov eax, edi
push 0x600
cmovg eax, esi
push eax
push 0x1014a810
push ebp
call sym.CoreFoundation.dll___CFStringAppendBytes
sub edi, esi
add esp, 0x10
test edi, edi
jg 0x1008f021
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
push eax
push ecx
push ebp
call sym.CoreFoundation.dll_CFStringAppendCharacters
add esp, 0xc
jmp 0x1008f06c
mov eax, dword [ecx + ebp + 8]
test eax, eax
je case.default.0x1008edc9
push eax
call sym.CoreFoundation.dll_CFRetain
pop ecx
mov ebp, eax
test ebp, ebp
je case.default.0x1008edc9
movsx eax, byte [ebx + 0x1b]
mov ecx, dword [esp + 0x6c]
push dword [esp + 0x70]
push dword [ecx + eax*4]
push ebp
call fcn.1000270c
push ebp
mov edi, eax
call sym.CoreFoundation.dll_CFRelease
add esp, 0x10
xor esi, esi
test edi, edi
je case.default.0x1008edc9
movsx ecx, byte [ebx + 0x18]
mov ebp, dword [esp + 0x24]
shl ecx, 4
push 0x21
pop edx
movzx eax, word [ecx + ebp]
cmp ax, dx
je 0x1008f0cf
push 0x22
pop edx
cmp ax, dx
je 0x1008f125
jle 0x1008f0ea
push 0x28
pop edx
cmp ax, dx
jle 0x1008f10e
push 0x29
pop edx
cmp ax, dx
jne 0x1008f0ea
push dword [ecx + ebp + 0xc]
push dword [ecx + ebp + 8]
push edi
push dword [esp + 0x7c]
push dword [esp + 0x4c]
call sym.CoreFoundation.dll_CFStringCreateWithFormat
add esp, 0x14
mov esi, eax
push edi
call sym.CoreFoundation.dll_CFRelease
pop ecx
test esi, esi
je case.default.0x1008edc9
push esi
push dword [esp + 0x38]
call sym.CoreFoundation.dll_CFStringAppend
push esi
call sym.CoreFoundation.dll_CFRelease
jmp 0x1008f19d
push dword [ecx + ebp + 8]
push edi
push dword [esp + 0x78]
push dword [esp + 0x48]
call sym.CoreFoundation.dll_CFStringCreateWithFormat
add esp, 0x10
jmp 0x1008f0e8
movsd xmm0, qword [ecx + ebp + 8]
push ecx
push ecx
movsd qword [esp], xmm0
jmp 0x1008f0d7
movsx eax, byte [ebx + 0x18]
add eax, eax
mov eax, dword [ebp + eax*8 + 8]
test eax, eax
je case.default.0x1008edc9
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x8c]
push eax
test ecx, ecx
je 0x1008f157
call ecx
pop ecx
jmp 0x1008f173
call fcn.100019c4
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x1008f0f9
movsx eax, byte [ebx + 0x18]
add eax, eax
push dword [ebp + eax*8 + 8]
call sym.CoreFoundation.dll_CFCopyDescription
mov esi, eax
pop ecx
test esi, esi
jne 0x1008f0f9
push 0x600
push str._null_description_
jmp 0x1008f194
push 0x600
push 0x1014a808
push dword [esp + 0x3c]
call sym.CoreFoundation.dll_CFStringAppendCString
add esp, 0xc
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x60]
jge 0x1008f1b8
mov ebp, dword [esp + 0x64]
jmp 0x1008e707
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x578]
mov ebx, dword [esp + 0x3c]
cmp eax, ecx
je 0x1008f1d4
push eax
push ebx
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x1a8]
cmp eax, ecx
je 0x1008f1ec
push eax
push ebx
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1008f208
lea ecx, [esp + 0xd98]
cmp eax, ecx
je 0x1008f208
push eax
push ebx
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0xb4]
cmp eax, ecx
je 0x1008f220
push eax
push ebx
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
mov ecx, dword [esp + 0x12b8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1000234c
add esp, 0x12ac
ret
call fcn.10001e29
nop
mov ds, esp
or byte [eax], dl
sbb ah, 8
adc byte [esi - 35], bh
or byte [eax], dl
mov bh, 0xdc
or byte [eax], dl
test eax, 0x251008dc
fmul qword [eax]
adc dl, al
fmul qword [eax]
adc byte [edi + 0x621008db], ah
fisttp qword [eax]
adc ah, ah
fimul word [eax]
adc byte [0x401008df], dl
fimul word [eax]
adc byte [edx - 0x22], bh
or byte [eax], dl
insd dword es:[edi], dx
fimul word [eax]
adc byte [ecx], ah
fisttp word [eax]
adc byte [ecx], dl
fisttp word [eax]
adc byte [esi + ebx*8], ch
or byte [eax], dl
int1
fmul qword [eax]
adc byte [ebp - 0x23], dl
or byte [eax], dl
fisttp qword es:[eax]
adc ch, bh
fimul word [eax]
adc byte [ecx], cl
fisttp word [eax]
adc byte [0x5e1008df], cl
fisttp qword [eax]
adc byte [0x1008df], ah
sbb byte [eax], bl
add dword [eax], ebx
sbb byte [eax], bl
sbb byte [eax], bl
sbb byte [edx], al
add ebx, dword [eax]
add al, 5
sbb byte [esi], al
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
sbb byte [eax], bl
sbb byte [eax], bl
sbb byte [eax], bl
or byte [ecx], cl
sbb byte [edx], cl
or ecx, dword [esp + ecx]
or al, 24
sbb byte [eax], bl
sbb byte [eax], bl
sbb byte [eax], bl
or eax, 253237262
sbb byte [ebx], cl
sbb byte [eax], bl
or eax, 404232216
sbb byte [eax], bl
sbb byte [eax], bl
or dword [eax], ebx
adc byte [ebx], cl
or al, 12
or al, 17
or edx, dword [edx]
sbb byte [ebx], dl
sbb byte [ecx + 370676245], dl
pop ss
or ebx, dword [eax]
sbb byte [2190481176], cl
jecxz 269021962
adc byte [esi - 0x1d], dh
or byte [eax], dl
pop edx
in al, 8
adc byte [edi - 0x58eff71d], bh
jecxz 0x1008f31a
adc byte [edi], dl
jecxz 0x1008f31e
adc ch, cl
jecxz 0x1008f322
adc byte [edi + 0x461008e2], dl
in al, 8
adc byte [esi - 0x1c], al
or byte [eax], dl
movsd dword es:[edi], dword [esi]
in al, 8
adc ch, cl
adc byte [ebp - 0x32eff71c], ah
in al, 8
adc byte [ecx - 0x62eff71c], dl
in al, 8
adc byte [ecx - 0x2beff71c], bl
in al, 8
adc cl, cl
in al, 8
adc byte [esp - 0x1c12eff8], al
or byte [eax], dl
in al, 8
adc byte [3171944676], bl
in al, 8
adc cl, al
in al, 8
adc ch, al
in al, 8
adc byte [edx - 0x1c], al
or byte [eax], dl
fsub st(4)
or byte [eax], dl
add byte [eax], bl
sbb byte [ecx], al
sbb byte [eax], bl
sbb byte [eax], bl
sbb byte [eax], bl
add al, byte [ebx]
sbb byte [eax + 117900824], al
pop es
pop es
pop es
pop es
pop es
pop es
pop es
sbb byte [eax], bl
sbb byte [eax], bl
sbb byte [eax], bl
or byte [ecx], cl
sbb byte [edx], cl
or ecx, dword [esp + ecx]
or al, 24
sbb byte [eax], bl
sbb byte [eax], bl
sbb byte [eax], bl
or eax, 253237262
sbb byte [ebx], cl
sbb byte [eax], bl
or eax, 404232216
sbb byte [eax], bl
sbb byte [eax], bl
or dword [eax], ebx
adc byte [ebx], cl
or al, 12
or al, 17
or edx, dword [edx]
sbb byte [ebx], dl
sbb byte [ecx + 370676245], dl
pop ss
or ebx, dword [eax]
sbb byte [663754520], cl
jmp 269022154
out 8, eax
adc cl, ch
out 8, eax
adc byte [ebp + ebp*8 - 0x125beff8], ah
or byte [eax], dl
fsubr st(4)
or byte [eax], dl
jb 0x1008f3c8
adc byte [edx - 0x15], dh
or byte [eax], dl
jb 0x1008f3cc
or byte [eax], dl
mov eax, 0xd01008ec
in eax, dx
or byte [eax], dl
jmp 0x1008f3da