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

Disassembly:
mov eax, 0x12ac
call fcn.10001019
mov eax, dword [0x10184508]
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 0x1008d8aa
cmp eax, dword [sym.CoreFoundation.dll___CFConstantStringClassReferencePtr]
je 0x1008d8aa
mov ecx, dword [0x10189b7c]
cmp ecx, 0x400
jae 0x1008d8a4
mov ecx, dword [ecx*4 + 0x10187388]
jmp 0x1008d8a6
xor ecx, ecx
cmp eax, ecx
jne 0x1008d91d
mov cl, byte [esi + 4]
mov al, cl
and al, 0x60
test cl, 0x10
jne 0x1008d8ef
test al, al
jne 0x1008d8d0
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 0x1008d8d3
mov ebp, dword [esi + 8]
mov dword [esp + 0x44], ebp
test ebp, ebp
je 0x1008d91d
movzx eax, cl
shr eax, 2
and eax, edx
mov edx, dword [esp + 0x48]
add ebp, eax
mov dword [esp + 0x44], ebp
jmp 0x1008d911
test al, al
jne 0x1008d90a
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 0x1008d919
mov edx, dword [esi + 8]
mov dword [esp + 0x48], edx
test ebp, ebp
jne 0x1008d9b2
test edx, edx
jne 0x1008d98e
cmp edi, 0x190
jle 0x1008d94a
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 0x1008d951
lea eax, [esp + 0xd98]
lea ecx, [esp + 0xd98]
mov dword [esp + 0x68], eax
cmp eax, ecx
je 0x1008d979
cmp byte [sym.CoreFoundation.dll___CFOASafe], bl
je 0x1008d979
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 0x1008d9b2
xor ecx, ecx
test edi, edi
jle 0x1008d9cd
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 0x1008d99b
mov dword [esp + 0x2c], ebx
jmp 0x1008d9cd
xor ecx, ecx
test edi, edi
jle 0x1008d9cd
cmp byte [ecx + ebp], 0x25
lea eax, [ebx + 1]
cmovne eax, ebx
inc ecx
mov ebx, eax
cmp ecx, edi
jl 0x1008d9b8
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 0x1008da0c
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 0x1008da17
lea ebp, [esp + 0x578]
mov dword [esp + 0x64], ebp
lea eax, [esp + 0x578]
cmp ebp, eax
je 0x1008da38
cmp byte [sym.CoreFoundation.dll___CFOASafe], 0
je 0x1008da38
push str.CFString__temp_
push ebp
call sym.CoreFoundation.dll___CFSetLastAllocationEventName
pop ecx
pop ecx
cmp ebx, 0x3d
jge 0x1008da46
lea eax, [esp + 0xb4]
jmp 0x1008da57
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 0x1008dfd9
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 0x1008dacf
cmp ecx, edx
jge 0x1008dae5
cmp byte [edi + eax], 0x25
je 0x1008dae5
inc edi
cmp edi, edx
jl 0x1008dac2
jmp 0x1008dae5
cmp ecx, edx
jge 0x1008dae5
mov eax, dword [esp + 0x48]
push 0x25
pop ebx
cmp bx, word [eax + edi*2]
je 0x1008dae5
inc edi
cmp edi, edx
jl 0x1008dada
cmp edi, ecx
je 0x1008dafa
push 0x20
pop eax
mov word [esi + ebp + 2], ax
mov eax, edi
sub eax, ecx
jmp 0x1008dfba
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 0x1008df47
mov ebx, dword [esp + 0x44]
lea ecx, [edi + 1]
mov dword [esp + 0x54], ecx
test ebx, ebx
je 0x1008db33
movzx ebx, byte [edi + ebx]
mov eax, dword [esp + 0x14]
jmp 0x1008db3b
mov ebx, dword [esp + 0x48]
movzx ebx, word [ebx + edi*2]
test eax, eax
js 0x1008db90
push 0x30
pop edi
cmp bx, di
jb 0x1008db76
push 0x39
pop edi
cmp bx, di
jbe 0x1008db57
push 0x41
pop edi
cmp bx, di
jb 0x1008db76
push 5
lea eax, [ebx - 0x5b]
pop edi
cmp ax, di
ja 0x1008db6a
push 0x5f
pop eax
cmp bx, ax
jne 0x1008db72
push 0x7a
pop eax
cmp bx, ax
jbe 0x1008db89
mov eax, dword [esp + 0x14]
push 0x40
pop edi
cmp bx, di
je 0x1008dda6
or eax, 0xffffffff
mov dword [esp + 0x14], eax
mov edi, ecx
jmp 0x1008dd95
mov edi, ecx
mov cl, byte [esp + 0x1b]
push 0x5a
pop edx
movzx eax, bx
add eax, 0xffffffe0
cmp eax, edx
ja case.0x1008dbae.33
movzx eax, byte [eax + 0x1008f2b1]
jmp dword [eax*4 + 0x1008f24d]
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 0x1008dbf6
movzx ebx, byte [edi + esi]
jmp 0x1008dbfe
mov eax, dword [esp + 0x48]
movzx ebx, word [eax + edi*2]
movzx eax, bx
mov edi, edx
sub eax, 0x30
cmp eax, 9
jbe 0x1008dbca
mov esi, dword [esp + 0x50]
mov ebp, dword [esp + 0x64]
push 0x24
pop eax
cmp ax, bx
je 0x1008dc69
cmp byte [esp + 0x1b], 0
je 0x1008dc28
mov dword [esi + ebp + 0x10], ecx
jmp 0x1008dc2c
mov dword [esi + ebp + 0xc], ecx
mov edi, edx
jmp 0x1008db92
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [esp + 0x44]
mov byte [esp + 0x1b], cl
test eax, eax
je 0x1008dc4a
movzx ebx, byte [edi + eax]
jmp 0x1008dc52
mov eax, dword [esp + 0x48]
movzx ebx, word [eax + edi*2]
push 0x2a
pop eax
inc edi
cmp ax, bx
jne 0x1008db99
mov byte [esi + ebp + 0x19], 0xfe
jmp 0x1008dd91
dec cl
cmp byte [esi + ebp + 0x19], 0xfe
jne 0x1008dc78
mov byte [esi + ebp + 0x19], cl
jmp 0x1008dc89
cmp byte [esi + ebp + 0x1a], 0xfe
jne 0x1008dc85
mov byte [esi + ebp + 0x1a], cl
jmp 0x1008dc89
mov byte [esi + ebp + 0x18], cl
mov edi, edx
jmp 0x1008dd91
xor eax, eax
inc eax
mov byte [esp + 0x2b], al
jmp 0x1008dd91
mov eax, dword [esi + ebp + 0x14]
push 4
pop ecx
test cl, al
jne 0x1008dd91
or eax, 8
mov dword [esi + ebp + 0x14], eax
jmp 0x1008dd91
mov eax, dword [esi + ebp + 0x14]
and eax, 0xfffffffe
push 2
pop ecx
or eax, ecx
jmp 0x1008dcae
mov eax, dword [esi + ebp + 0x14]
and eax, 0xfffffff7
push 4
jmp 0x1008dcc0
test cl, cl
je 0x1008dcde
and dword [esi + ebp + 0x10], 0
jmp 0x1008dd91
mov eax, dword [esi + ebp + 0x14]
mov edx, dword [esp + 0x10]
push 2
pop ecx
test cl, al
jne 0x1008dd95
xor ecx, ecx
inc ecx
or eax, ecx
mov dword [esi + ebp + 0x14], eax
jmp 0x1008dd95
mov edx, dword [esp + 0x10]
cmp edi, edx
jge 0x1008dd2f
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1008dd15
movzx eax, byte [edi + eax]
jmp 0x1008dd1d
mov eax, dword [esp + 0x48]
movzx eax, word [eax + edi*2]
push 0x68
pop ecx
cmp cx, ax
jne 0x1008dd2f
xor eax, eax
inc edi
inc eax
mov word [esi + ebp], ax
jmp 0x1008dd95
push 2
pop eax
jmp 0x1008dd29
mov edx, dword [esp + 0x10]
cmp edi, edx
jge 0x1008dd5f
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1008dd4a
movzx eax, byte [edi + eax]
jmp 0x1008dd52
mov eax, dword [esp + 0x48]
movzx eax, word [eax + edi*2]
push 0x6c
pop ecx
cmp cx, ax
jne 0x1008dd5f
inc edi
push 4
jmp 0x1008dd31
push 3
jmp 0x1008dd31
push 4
pop eax
mov word [esi + ebp], ax
jmp 0x1008dd91
push 3
jmp 0x1008dd65
cmp byte [esp + 0x2b], 0
mov edx, dword [esp + 0x10]
je 0x1008de26
mov eax, edi
mov byte [esp + 0x2b], 0
mov dword [esp + 0x14], eax
jmp 0x1008dd99
mov byte [esi + ebp + 0x1a], 0xfe
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp edx, edi
jg 0x1008db1a
jmp 0x1008df3f
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 0x1008de1b
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x1008de00
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
cmp eax, 0xffffffff
jne 0x1008dddf
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 0x1008de1f
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 0x1008ddf4
mov ebx, dword [esp + 0x1c]
mov edi, ecx
jmp 0x1008df43
push 0x25
pop eax
push 3
mov word [esi + ebp + 2], ax
pop eax
mov word [esi + ebp], ax
jmp 0x1008df3f
push 0x21
pop eax
mov word [esi + ebp + 2], ax
xor eax, eax
inc eax
mov word [esi + ebp], ax
jmp 0x1008df3b
push 8
call sym.CoreFoundation.dll__CFExecutableLinkedOnOrAfter
pop ecx
test al, al
je 0x1008de61
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 0x1008de74
cmp bx, 0x55
jne case.0x1008dbae.79
push 4
pop eax
mov byte [esi + ebp + 0x1c], al
push 0x21
pop eax
mov word [esi + ebp + 2], ax
jmp 0x1008df3b
push 8
call sym.CoreFoundation.dll__CFExecutableLinkedOnOrAfter
pop ecx
test al, al
je 0x1008de9b
push 0x20
pop eax
or dword [esi + ebp + 0x14], eax
push 0x41
pop eax
cmp bx, ax
jb 0x1008deae
push 0x5a
pop eax
cmp bx, ax
ja 0x1008deae
add bl, 0x20
cmp bl, 0x65
je 0x1008debc
cmp bl, 0x67
je 0x1008debc
xor cl, cl
jmp 0x1008dec1
push 2
pop eax
mov cl, al
cmp bl, 0x66
je 0x1008decf
cmp bl, 0x67
je 0x1008decf
xor al, al
jmp 0x1008ded2
xor eax, eax
inc eax
or al, cl
cmp byte [esp + 0x1b], 0
mov byte [esi + ebp + 0x1c], al
je case.0x1008dbae.65
cmp dword [esi + ebp + 0x10], 0xffffffff
jne case.0x1008dbae.65
cmp byte [esi + ebp + 0x19], 0xff
jne case.0x1008dbae.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 0x1008df3b
push 4
pop eax
jmp 0x1008de45
push 0x2a
pop eax
mov word [esi + ebp + 2], ax
push 3
jmp 0x1008df05
push 0x23
jmp 0x1008df0d
push 0x27
jmp 0x1008df0d
push 0x26
jmp 0x1008df0d
push 0x29
pop eax
mov word [esi + ebp + 2], ax
push 2
jmp 0x1008df05
push 0x28
jmp 0x1008df0d
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 0x1008df5d
lea eax, [ecx + 1]
mov dword [esi + ebp + 4], eax
xor eax, eax
inc eax
jmp 0x1008dfba
test byte [esi + ebp + 0x14], 0x10
je 0x1008dfb0
test ebx, ebx
jne 0x1008df6c
xor eax, eax
jmp 0x1008df78
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 0x1008df99
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 0x1008dfa7
push 0x20
pop eax
mov word [esi + ebp + 2], ax
jmp 0x1008dfb0
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 0x1008da7e
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 0x1008e015
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 0x1008e020
lea ebx, [esp + 0x1a8]
mov dword [esp + 0x24], ebx
lea eax, [esp + 0x1a8]
cmp ebx, eax
je 0x1008e041
cmp byte [sym.CoreFoundation.dll___CFOASafe], 0
je 0x1008e041
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 sub.VCRUNTIME140.dll_memset
xor eax, eax
add esp, 0xc
mov dword [esp + 0x50], eax
cmp dword [esp + 0x60], eax
jle 0x1008e585
mov edi, eax
xor ecx, ecx
shl edi, 5
mov dword [esp + 0x74], edi
movzx eax, word [edi + ebp + 2]
cmp cx, ax
je 0x1008e56e
push 0x20
pop ecx
cmp cx, ax
je 0x1008e56e
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 0x1008e616
mov eax, dword [esp + 0x12d0]
cmp dh, 0xfe
jne 0x1008e0cf
mov byte [edi + ebp + 0x1a], al
inc eax
mov dword [esp + 0x12d0], eax
cmp byte [esp + 0x23], 0xfe
jne 0x1008e0e2
mov byte [edi + ebp + 0x19], al
inc eax
mov dword [esp + 0x12d0], eax
cmp dl, 0xff
jne 0x1008e0f5
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 0x1008e52c
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 0x1008e525
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 0x1008e161
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 0x1008e196
test dl, dl
jne 0x1008e191
mov ecx, dword [esi + 8]
jmp 0x1008e1a2
mov ecx, dword [esi + 0xc]
jmp 0x1008e1a2
lea eax, [esi + 8]
test dl, dl
je 0x1008e19f
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 0x1008e1ff
test edx, edx
jne 0x1008e1ff
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 0x1008e203
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 0x1008e4ee
lea ecx, [edi + 1]
test edx, edx
je 0x1008e22f
movzx esi, byte [edi + edx]
mov eax, dword [esp + 0x14]
jmp 0x1008e233
movzx esi, word [esi + edi*2]
test eax, eax
js 0x1008e282
push 0x30
pop eax
cmp si, ax
jb 0x1008e26a
push 0x39
pop eax
cmp si, ax
jbe 0x1008e24f
push 0x41
pop eax
cmp si, ax
jb 0x1008e26a
push 5
lea eax, [esi - 0x5b]
pop edi
cmp ax, di
ja 0x1008e262
push 0x5f
pop eax
cmp si, ax
jne 0x1008e26a
push 0x7a
pop eax
cmp si, ax
jbe 0x1008e27b
push 0x40
pop eax
cmp si, ax
je 0x1008e480
or dword [esp + 0x14], 0xffffffff
mov edi, ecx
jmp 0x1008e46d
mov edi, ecx
mov cl, byte [esp + 0x2b]
movzx eax, si
add eax, 0xffffffe0
cmp eax, 0x5a
ja case.0x1008e29e.33
movzx eax, byte [eax + 0x1008f371]
jmp dword [eax*4 + 0x1008f30d]
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 0x1008e2f6
movzx esi, byte [edi + ebx]
jmp 0x1008e2fb
movzx esi, word [ebp + edi*2]
mov edi, eax
movzx eax, si
sub eax, 0x30
cmp eax, 9
jbe 0x1008e2be
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x24]
push 0x24
pop eax
cmp ax, si
je 0x1008e357
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
jmp 0x1008e284
xor eax, eax
lea ecx, [eax + 1]
mov byte [esp + 0x2b], cl
test edx, edx
je 0x1008e338
movzx esi, byte [edi + edx]
jmp 0x1008e340
mov eax, dword [esp + 0x2c]
movzx esi, word [eax + edi*2]
push 0x2a
pop eax
inc edi
cmp ax, si
jne 0x1008e288
mov byte [esp + 0x1b], 0xfe
jmp 0x1008e46d
cmp byte [esp + 0x1b], 0xfe
jne 0x1008e368
mov al, dl
dec al
mov byte [esp + 0x1b], al
jmp 0x1008e377
cmp byte [esp + 0x23], 0xfe
jne 0x1008e377
mov al, dl
dec al
mov byte [esp + 0x23], al
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
jmp 0x1008e46d
xor eax, eax
inc eax
mov byte [esp + 0x43], al
jmp 0x1008e46d
push 4
pop eax
test byte [esp + 0xa0], al
mov eax, dword [esp + 0x14]
jne 0x1008e471
or dword [esp + 0xa0], 8
mov edx, dword [esp + 0x4c]
jmp 0x1008e471
mov edx, dword [esp + 0xa0]
and edx, 0xfffffffe
push 2
pop eax
or edx, eax
mov dword [esp + 0xa0], edx
jmp 0x1008e37b
mov edx, dword [esp + 0xa0]
and edx, 0xfffffff7
push 4
jmp 0x1008e3c1
test cl, cl
jne 0x1008e46d
push 2
pop eax
test byte [esp + 0xa0], al
jne 0x1008e46d
xor eax, eax
inc eax
or dword [esp + 0xa0], eax
jmp 0x1008e37b
cmp edi, dword [esp + 0x30]
jge 0x1008e426
test edx, edx
je 0x1008e40b
movzx eax, byte [edi + edx]
jmp 0x1008e413
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + edi*2]
push 0x68
pop ecx
cmp cx, ax
jne 0x1008e426
xor eax, eax
inc edi
inc eax
mov word [esp + 0x10], ax
jmp 0x1008e46d
push 2
pop eax
jmp 0x1008e41f
cmp edi, dword [esp + 0x30]
jge case.0x1008e29e.116
test edx, edx
je 0x1008e43b
movzx eax, byte [edi + edx]
jmp 0x1008e443
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + edi*2]
push 0x6c
pop ecx
cmp cx, ax
jne case.0x1008e29e.116
inc edi
push 4
jmp 0x1008e428
push 3
jmp 0x1008e428
cmp byte [esp + 0x43], 0
je 0x1008e480
mov eax, edi
mov byte [esp + 0x43], 0
mov dword [esp + 0x14], eax
jmp 0x1008e471
mov byte [esp + 0x23], 0xfe
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x30], edi
jle 0x1008e4ee
mov esi, dword [esp + 0x2c]
jmp 0x1008e21e
push 0x25
pop eax
push 3
mov word [esp + 0x20], ax
pop eax
mov word [esp + 0x10], ax
jmp 0x1008e4ee
push 0x21
pop eax
mov word [esp + 0x1c], ax
xor eax, eax
inc eax
jmp 0x1008e48b
push 8
call sym.CoreFoundation.dll__CFExecutableLinkedOnOrAfter
pop ecx
push 0x21
jmp 0x1008e4e8
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 0x1008e4f2
push 4
jmp 0x1008e48a
push 0x2a
jmp 0x1008e482
push 0x23
jmp 0x1008e482
push 0x27
jmp 0x1008e482
push 0x26
jmp 0x1008e482
push 0x29
pop eax
push 2
jmp 0x1008e485
push 0x28
jmp 0x1008e482
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 0x1008e525
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 0x1008e54f
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 0x1008e56e
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 0x1008e062
mov edi, dword [esp + 0x38]
test esi, esi
jle 0x1008e705
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 0x1008e5c1
lea edi, [ebp - 8]
xor eax, eax
cmp ax, word [edi]
jne 0x1008e5bd
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 0x1008e686
push 0x22
pop edx
cmp ax, dx
je 0x1008e675
jle 0x1008e6e9
push 0x28
pop edx
cmp ax, dx
jle 0x1008e66a
push 0x29
pop edx
cmp ax, dx
je 0x1008e686
push 0x2a
pop edx
cmp ax, dx
jne 0x1008e6e9
push 4
pop edx
add ebx, edx
lea eax, [esp + 0xac]
add ecx, edx
jmp 0x1008e6e6
lea eax, [esp + 0x578]
cmp ebp, eax
je 0x1008e630
push ebp
mov ebp, dword [esp + 0x40]
push ebp
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
jmp 0x1008e634
mov ebp, dword [esp + 0x3c]
lea eax, [esp + 0x1a8]
cmp ebx, eax
je 0x1008e648
push ebx
push ebp
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1008f22e
lea ecx, [esp + 0xd98]
cmp eax, ecx
je 0x1008f22e
push eax
push ebp
jmp 0x1008f227
push 4
pop eax
add ebx, eax
add ecx, eax
mov eax, dword [ecx]
jmp 0x1008e6e6
add ebx, 8
add ecx, 8
movsd xmm0, qword [ebx]
movsd qword [ebp], xmm0
jmp 0x1008e6e9
movzx eax, word [ebp - 6]
xor edx, edx
inc edx
cmp dx, ax
jne 0x1008e69e
push 4
pop eax
add ebx, eax
add ecx, eax
movsx eax, byte [ecx]
jmp 0x1008e6e2
push 2
pop edx
cmp dx, ax
jne 0x1008e6b2
push 4
pop eax
add ebx, eax
add ecx, eax
movsx eax, word [ecx]
jmp 0x1008e6e2
push 3
pop edx
push 4
cmp dx, ax
jne 0x1008e6c3
pop eax
add ebx, eax
add ecx, eax
jmp 0x1008e6e0
pop edx
cmp dx, ax
jne 0x1008e6dc
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 0x1008e6e9
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 0x1008e5a7
mov ebp, dword [esp + 0x64]
xor eax, eax
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x60], eax
jle 0x1008f1c6
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 0x1008e744
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 0x1008e75b
movsx eax, al
add eax, eax
mov byte [esp + 0x23], 1
mov eax, dword [ebp + eax*8 + 8]
jmp 0x1008e75f
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.0x1008e7ac
jmp dword [eax*4 + 0x1008f3cd]
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je case.0x1008e7ac.35
test byte [ebx + 0x14], 0x20
je case.0x1008e7ac.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.0x1008e7ac.35
push dword [esp + 0x14]
push esi
push edi
push ebx
push dword [esp + 0x34]
push ebp
push dword [esp + 0x4c]
call fcn.10091186
add esp, 0x1c
test al, al
jne case.default.0x1008e7ac
and dword [esp + 0x50], 0
lea eax, [edi + 0x100]
add eax, esi
lea ebp, [esp + 0x10b8]
cmp eax, 0x200
jle 0x1008e82b
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 0x1008e87e
xor edx, edx
test eax, eax
jle 0x1008e8c5
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x74]
add esi, ebx
mov bl, byte [esi + edx]
cmp bl, 0x24
je 0x1008e866
mov byte [esp + ecx + 0xd18], bl
jmp 0x1008e876
cmp al, 0x39
jg 0x1008e872
mov al, byte [esp + ecx + 0xd17]
dec ecx
cmp al, 0x30
jge 0x1008e862
mov eax, dword [esp + 0x30]
inc ecx
inc edx
cmp edx, eax
jl 0x1008e851
jmp 0x1008e8b1
test eax, eax
jle 0x1008e8c5
mov eax, dword [esp + 0x48]
push 2
pop ebx
push 0x24
lea edx, [eax + edx*2]
pop esi
cmp si, word [edx]
je 0x1008e930
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 0x1008e88f
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x54]
cmp ecx, 0x80
jae 0x1008f247
mov byte [esp + ecx + 0xd18], 0
push 0x21
mov byte [ebp + 3], 0
movsx eax, word [ebx + 2]
pop ecx
sub eax, ecx
je 0x1008ea6f
sub eax, 1
je 0x1008e95d
sub eax, 1
je 0x1008e8f3
sub eax, 7
jne 0x1008eaf4
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 0x1008e951
cmp cl, 0xff
je 0x1008e941
push esi
push edi
push eax
push ebp
call fcn.100026e9
add esp, 0x14
jmp 0x1008eaf4
cmp al, 0x39
jg 0x1008e8a1
mov al, byte [esp + ecx + 0xd17]
dec ecx
cmp al, 0x30
jge 0x1008e928
jmp 0x1008e8a1
push edi
push eax
push ebp
call fcn.100026e9
add esp, 0x10
jmp 0x1008eaf4
cmp cl, 0xff
je 0x1008eaea
push esi
jmp 0x1008e942
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 0x1008e998
cmp byte [ebx + 0x19], 0xff
je 0x1008e995
push esi
push edi
push eax
push ebp
call fcn.100026e9
add esp, 0x18
jmp 0x1008e9b5
push edi
jmp 0x1008e99f
cmp byte [ebx + 0x19], 0xff
je 0x1008e9ab
push esi
push eax
push ebp
call fcn.100026e9
add esp, 0x14
jmp 0x1008e9b5
push eax
push ebp
call fcn.100026e9
add esp, 0x10
mov ebx, dword [esp + 0x7c]
test ebx, ebx
je 0x1008eaf4
push ebx
call sym.CoreFoundation.dll_CFGetTypeID
pop ecx
mov esi, eax
call sym.CoreFoundation.dll_CFLocaleGetTypeID
cmp esi, eax
jne 0x1008e9e3
push dword [sym.CoreFoundation.dll_NSLocaleDecimalSeparator]
push ebx
call sym.CoreFoundation.dll_CFLocaleGetValue
pop ecx
pop ecx
jmp 0x1008e9f7
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 0x1008eaf4
xor esi, esi
cmp byte [ebp], 0
je 0x1008ea16
cmp byte [esi + ebp], 0x2e
je 0x1008ea20
inc esi
cmp byte [esi + ebp], 0
jne 0x1008ea09
cmp byte [esi + ebp], 0x2e
jne 0x1008eaf4
mov byte [esi + ebp], 0
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
cmp eax, 0xffffffff
jne 0x1008ea38
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 0x1008ea62
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 0x1008eb0e
push 4
pop eax
cmp ax, word [ebx]
movsx eax, byte [ebx + 0x18]
jne 0x1008eac0
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 0x1008eab0
cmp byte [ebx + 0x19], 0xff
je 0x1008e918
push esi
push edi
push eax
push ebp
call fcn.100026e9
add esp, 0x18
jmp 0x1008eaf4
cmp byte [ebx + 0x19], 0xff
je 0x1008e942
push esi
jmp 0x1008e919
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 0x1008eae1
cmp byte [ebx + 0x19], 0xff
jmp 0x1008e915
cmp byte [ebx + 0x19], 0xff
jmp 0x1008e954
push eax
push ebp
call fcn.100026e9
add esp, 0xc
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
cmp eax, 0xffffffff
jne 0x1008eb08
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.0x1008e7ac
push eax
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
jmp case.default.0x1008e7ac
mov ebp, dword [esp + 0x44]
test ebp, ebp
je 0x1008eb64
mov eax, dword [sym.CoreFoundation.dll___CFDefaultEightBitStringEncoding]
cmp eax, 0xffffffff
jne 0x1008eb51
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 0x1008ecb8
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 0x1008f1ab
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.0x1008edd7
cmp bp, word [esp + 0x84]
jne 0x1008ec30
movzx ebp, byte [eax]
inc eax
mov dword [esp + 0x2c], eax
test cl, cl
je 0x1008ebbe
cmp esi, ebp
jge 0x1008ebbe
mov ebp, esi
mov esi, dword [esp + 0x2c]
push 2
pop eax
test byte [ebx + 0x14], al
je 0x1008ec6b
mov eax, dword [0x10179230]
cmp eax, 0xffffffff
jne 0x1008ebe2
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.0x1008e7ac
cmp edi, ebp
jle case.default.0x1008e7ac
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 0x1008ec0a
jmp case.default.0x1008e7ac
test cl, cl
jne 0x1008ec46
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 0x1008ebbe
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memchr
mov edx, dword [esp + 0x28]
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x1008ebbc
mov esi, dword [esp + 0x2c]
sub ebp, esi
jmp 0x1008ebc2
mov ebx, dword [esp + 0x34]
test dl, dl
je 0x1008eca1
cmp edi, ebp
jle 0x1008eca1
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 0x1008ec7c
mov esi, dword [esp + 0x2c]
mov eax, dword [0x10179230]
cmp eax, 0xffffffff
jne 0x1008ecb5
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.0x1008e7ac
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 0x1008eb71
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.0x1008edd7
xor edx, edx
xor ebp, ebp
cmp dx, word [eax]
mov edx, dword [esp + 0x1c]
je 0x1008ed1a
inc ebp
xor ebx, ebx
cmp bx, word [eax + ebp*2]
jne 0x1008ed0d
mov ebx, dword [esp + 0x54]
test cl, cl
je 0x1008ed23
cmp esi, ebp
cmovl ebp, esi
push 2
pop ecx
test byte [ebx + 0x14], cl
mov ebx, dword [esp + 0x34]
je 0x1008ed78
push ebp
push eax
push ebx
call sym.CoreFoundation.dll_CFStringAppendCharacters
add esp, 0xc
cmp byte [esp + 0x1c], 0
je case.default.0x1008e7ac
cmp edi, ebp
jle case.default.0x1008e7ac
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 0x1008ed52
jmp case.default.0x1008e7ac
test dl, dl
je 0x1008edaa
cmp edi, ebp
jle 0x1008edaa
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 0x1008ed85
mov eax, dword [esp + 0x74]
push ebp
push eax
push ebx
jmp 0x1008eb76
cmp byte [ebx + 0x1b], 0xff
mov ebp, dword [esp + 0x24]
je 0x1008f142
movsx ecx, byte [ebx + 0x18]
shl ecx, 4
movsx eax, word [ecx + ebp]
add eax, 0xffffffdf
cmp eax, 8
ja case.default.0x1008edd7
jmp dword [eax*4 + 0x1008f3f5]
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 0x1008f078
lea eax, [ebp + 8]
add eax, ecx
push eax
push 0xd
jmp 0x1008ede8
lea eax, [ebp + 8]
add eax, ecx
push eax
push 0xe
jmp 0x1008ede8
cmp dword [ecx + ebp + 8], 0
je case.default.0x1008edd7
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 0x1008ee5d
movzx eax, byte [ecx]
inc ecx
cmp byte [esp + 0x2c], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
je 0x1008ee8d
cmp esi, eax
jge 0x1008ee8d
mov eax, esi
jmp 0x1008ee81
cmp byte [esp + 0x2c], 0
jne 0x1008ee6d
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
pop ecx
jmp 0x1008ee81
push esi
push 0
push ecx
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x1008ee87
sub eax, dword [esp + 0x38]
mov dword [esp + 0x30], eax
jmp 0x1008ee8d
mov eax, esi
mov dword [esp + 0x30], esi
push 2
pop ecx
test byte [ebx + 0x14], cl
je 0x1008eefa
mov eax, dword [0x10179230]
cmp eax, 0xffffffff
jne 0x1008eea9
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 0x1008f07a
cmp edi, esi
jle 0x1008f07a
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 0x1008eed4
jmp 0x1008f07a
cmp byte [esp + 0x1c], 0
je 0x1008ef2b
cmp edi, eax
jle 0x1008ef2b
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 0x1008ef0a
mov eax, dword [0x10179230]
cmp eax, 0xffffffff
jne 0x1008ef3f
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 0x1008f07a
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 0x1008f078
mov eax, dword [ecx + ebp + 8]
mov dword [esp + 0x50], eax
test eax, eax
je case.default.0x1008edd7
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 0x1008efbd
inc eax
xor edx, edx
cmp dx, word [ecx + eax*2]
jne 0x1008efb0
mov dword [esp + 0x38], eax
cmp byte [esp + 0x2c], 0
je 0x1008efcd
cmp esi, eax
cmovl eax, esi
mov dword [esp + 0x38], eax
push 2
pop edx
test byte [ebx + 0x14], dl
je 0x1008f01f
push eax
push ecx
push ebp
call sym.CoreFoundation.dll_CFStringAppendCharacters
add esp, 0xc
cmp byte [esp + 0x1c], 0
je 0x1008f07a
mov eax, dword [esp + 0x38]
cmp edi, eax
jle 0x1008f07a
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 0x1008effc
jmp 0x1008f07a
cmp byte [esp + 0x1c], 0
je 0x1008f058
cmp edi, eax
jle 0x1008f058
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 0x1008f02f
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 0x1008f07a
mov eax, dword [ecx + ebp + 8]
test eax, eax
je case.default.0x1008edd7
push eax
call sym.CoreFoundation.dll_CFRetain
pop ecx
mov ebp, eax
test ebp, ebp
je case.default.0x1008edd7
movsx eax, byte [ebx + 0x1b]
mov ecx, dword [esp + 0x6c]
push dword [esp + 0x70]
push dword [ecx + eax*4]
push ebp
call fcn.10002711
push ebp
mov edi, eax
call sym.CoreFoundation.dll_CFRelease
add esp, 0x10
xor esi, esi
test edi, edi
je case.default.0x1008edd7
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 0x1008f0dd
push 0x22
pop edx
cmp ax, dx
je 0x1008f133
jle 0x1008f0f8
push 0x28
pop edx
cmp ax, dx
jle 0x1008f11c
push 0x29
pop edx
cmp ax, dx
jne 0x1008f0f8
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.0x1008edd7
push esi
push dword [esp + 0x38]
call sym.CoreFoundation.dll_CFStringAppend
push esi
call sym.CoreFoundation.dll_CFRelease
jmp 0x1008f1ab
push dword [ecx + ebp + 8]
push edi
push dword [esp + 0x78]
push dword [esp + 0x48]
call sym.CoreFoundation.dll_CFStringCreateWithFormat
add esp, 0x10
jmp 0x1008f0f6
movsd xmm0, qword [ecx + ebp + 8]
push ecx
push ecx
movsd qword [esp], xmm0
jmp 0x1008f0e5
movsx eax, byte [ebx + 0x18]
add eax, eax
mov eax, dword [ebp + eax*8 + 8]
test eax, eax
je case.default.0x1008edd7
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x8c]
push eax
test ecx, ecx
je 0x1008f165
call ecx
pop ecx
jmp 0x1008f181
call fcn.100019c4
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x1008f107
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 0x1008f107
push 0x600
push str._null_description_
jmp 0x1008f1a2
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 0x1008f1c6
mov ebp, dword [esp + 0x64]
jmp 0x1008e715
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x578]
mov ebx, dword [esp + 0x3c]
cmp eax, ecx
je 0x1008f1e2
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 0x1008f1fa
push eax
push ebx
call sym.CoreFoundation.dll_CFAllocatorDeallocate
pop ecx
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1008f216
lea ecx, [esp + 0xd98]
cmp eax, ecx
je 0x1008f216
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 0x1008f22e
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
pushfd
fmul qword [eax]
adc byte [eax - 0x73eff724], dl
fisttp qword [eax]
adc ch, al
fmul qword [eax]
adc byte [edi + 0x331008dc], dh
fmul qword [eax]
adc al, dl
fmul qword [eax]
adc byte [ebp + 0x701008db], dh
fisttp qword [eax]
adc dl, dh
fimul word [eax]
xor ebx, esp
or byte [eax], dl
rcr ah, 1
or byte [eax], dl
mov ch, 0xdb
or byte [eax], dl
jo 0x1008f24c
or byte [eax], dl
fimul word [eax]
adc byte [ebx], ah
fisttp word [eax]
adc byte [esi - 0x22], cl
or byte [eax], dl
mov dh, bl
or byte [eax], dl
jnp 0x1008f261
or byte [eax], dl
das
fisttp word [eax]
adc byte [edi], bl
fisttp word [eax]
adc byte [edx], bh
fimul word [eax]
adc bh, bh
fmul qword [eax]
adc byte [ebx - 0x23], ah
or byte [eax], dl
xor al, 0xdd
or byte [eax], dl
or ebx, edi
or byte [eax], dl
pop ss
fisttp word [eax]
adc byte [ebx], bl
fisttp word [eax]
adc byte [ebp + ebx*8 + 8], ch
adc byte [ebx], dh
fisttp word [eax]
adc byte [eax], al
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 [2425362200], cl
jecxz 269021976
adc byte [ebx - 0x1b97eff8], al
or byte [eax], dl
int 0xe3
or byte [eax], dl
mov ch, 0xe3
or byte [eax], dl
and eax, 0xdb1008e3
adc ch, cl
jecxz 0x1008f324
adc byte [ebp + 0x251008e3], dh
jecxz 0x1008f32c
adc bl, bl
jecxz 0x1008f330
adc byte [ebp + 0x541008e2], ah
in al, 8
adc byte [esp + 8], dl
adc byte [ebx - 0x24eff71c], dh
in al, 8
adc byte [edi - 0x54eff71c], bl
in al, 8
adc byte [edi - 0x1deff71c], ah
in al, 8
adc bh, dl
in al, 8
adc byte [edx - 0x4eff71c], dl
jecxz 0x1008f35c
adc byte [esp + 8], cl
adc byte [ebx], ch
in al, 8
adc bl, cl
in al, 8
adc bh, cl
in al, 8
adc bl, dl
in al, 8
adc byte [eax - 0x1c], dl
or byte [eax], dl
out 0xe4, al
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 [898635544], cl
jmp 269022168
adc bh, dh
out 8, eax
adc byte [edx - 0x4deff713], dh
in eax, dx
or byte [eax], dl
out 0xec, al
or byte [eax], dl
sub bl, 8
adc byte [eax - 972027669], al
in al, dx
or byte [eax], dl
fsubp st(5)
or byte [eax], dl
stc
in eax, dx
or byte [eax], dl
add ebp, esi
or byte [eax], dl
lock or byte gs:[eax], dl
lock or byte gs:[eax], dl
sub bh, 8
adc byte [219154670], cl
out dx, al
or byte [eax], dl
push edi
out dx, eax
or byte [eax], dl
int3