b0cf29:	89 48 08             	mov    %ecx,0x8(%eax)
b0cf2c:	89 48 0c             	mov    %ecx,0xc(%eax)
b0cf2f:	e8 84 e7 8f ff       	call   0x40b6b8
b0cf34:	8b d8                	mov    %eax,%ebx
b0cf36:	89 5d f8             	mov    %ebx,-0x8(%ebp)
b0cf39:	85 db                	test   %ebx,%ebx
b0cf3b:	74 5e                	je     0xb0cf9b
b0cf3d:	80 7b 4c 00          	cmpb   $0x0,0x4c(%ebx)
b0cf41:	75 58                	jne    0xb0cf9b
b0cf43:	57                   	push   %edi
b0cf44:	8b cb                	mov    %ebx,%ecx
b0cf46:	e8 bf c9 92 ff       	call   0x43990a
b0cf4b:	8b 8b 9c 00 00 00    	mov    0x9c(%ebx),%ecx
b0cf51:	89 4d fc             	mov    %ecx,-0x4(%ebp)
b0cf54:	c7 45 e8 03 00 00 00 	movl   $0x3,-0x18(%ebp)
b0cf5b:	8b 41 50             	mov    0x50(%ecx),%eax
b0cf5e:	8b 99 8c 00 00 00    	mov    0x8c(%ecx),%ebx
b0cf64:	8b 38                	mov    (%eax),%edi
b0cf66:	8b 07                	mov    (%edi),%eax
b0cf68:	8b 70 04             	mov    0x4(%eax),%esi
b0cf6b:	8b ce                	mov    %esi,%ecx
b0cf6d:	e8 f3 f6 91 ff       	call   0x42c665
b0cf72:	8b cf                	mov    %edi,%ecx
b0cf74:	ff d6                	call   *%esi
b0cf76:	8b 75 08             	mov    0x8(%ebp),%esi
b0cf79:	8b ce                	mov    %esi,%ecx
b0cf7b:	89 45 ec             	mov    %eax,-0x14(%ebp)
b0cf7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
b0cf81:	89 45 f4             	mov    %eax,-0xc(%ebp)
b0cf84:	8d 45 e8             	lea    -0x18(%ebp),%eax
b0cf87:	50                   	push   %eax
b0cf88:	89 5d f0             	mov    %ebx,-0x10(%ebp)
b0cf8b:	e8 b6 b5 92 ff       	call   0x438546
b0cf90:	8b 4d f8             	mov    -0x8(%ebp),%ecx
b0cf93:	e8 6a 86 92 ff       	call   0x435602
b0cf98:	5f                   	pop    %edi
b0cf99:	eb 03                	jmp    0xb0cf9e
b0cf9b:	8b 75 08             	mov    0x8(%ebp),%esi
b0cf9e:	8b c6                	mov    %esi,%eax
b0cfa0:	5e                   	pop    %esi
b0cfa1:	5b                   	pop    %ebx
b0cfa2:	8b e5                	mov    %ebp,%esp
b0cfa4:	5d                   	pop    %ebp
b0cfa5:	c3                   	ret
b0cfa6:	cc                   	int3
b0cfa7:	cc                   	int3
b0cfa8:	cc                   	int3
b0cfa9:	cc                   	int3
b0cfaa:	cc                   	int3
b0cfab:	cc                   	int3
b0cfac:	cc                   	int3
b0cfad:	cc                   	int3
b0cfae:	cc                   	int3
b0cfaf:	cc                   	int3
b0cfb0:	cc                   	int3
b0cfb1:	cc                   	int3
b0cfb2:	cc                   	int3
b0cfb3:	cc                   	int3
b0cfb4:	cc                   	int3
b0cfb5:	cc                   	int3
b0cfb6:	cc                   	int3
b0cfb7:	cc                   	int3
b0cfb8:	cc                   	int3
b0cfb9:	cc                   	int3
b0cfba:	cc                   	int3
b0cfbb:	cc                   	int3
b0cfbc:	cc                   	int3
b0cfbd:	cc                   	int3
b0cfbe:	cc                   	int3
b0cfbf:	cc                   	int3
b0cfc0:	cc                   	int3
b0cfc1:	cc                   	int3
b0cfc2:	cc                   	int3
b0cfc3:	cc                   	int3
b0cfc4:	cc                   	int3
b0cfc5:	cc                   	int3
b0cfc6:	cc                   	int3
b0cfc7:	cc                   	int3
b0cfc8:	cc                   	int3
b0cfc9:	55                   	push   %ebp
b0cfca:	8b ec                	mov    %esp,%ebp
b0cfcc:	83 ec 0c             	sub    $0xc,%esp
b0cfcf:	56                   	push   %esi
b0cfd0:	0f b7 75 0c          	movzwl 0xc(%ebp),%esi
b0cfd4:	e8 47 95 92 ff       	call   0x436520
b0cfd9:	3b f0                	cmp    %eax,%esi
b0cfdb:	77 19                	ja     0xb0cff6
b0cfdd:	8b 45 08             	mov    0x8(%ebp),%eax
b0cfe0:	83 60 04 00          	andl   $0x0,0x4(%eax)
b0cfe4:	83 60 0c 00          	andl   $0x0,0xc(%eax)
b0cfe8:	89 70 08             	mov    %esi,0x8(%eax)
b0cfeb:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
b0cff1:	5e                   	pop    %esi
b0cff2:	8b e5                	mov    %ebp,%esp
b0cff4:	5d                   	pop    %ebp
b0cff5:	c3                   	ret
b0cff6:	8d 4d f4             	lea    -0xc(%ebp),%ecx
b0cff9:	e8 5d 22 93 ff       	call   0x43f25b
b0cffe:	68 e0 3c d0 00       	push   $0xd03ce0
b0d003:	8d 45 f4             	lea    -0xc(%ebp),%eax
b0d006:	50                   	push   %eax
b0d007:	e8 83 09 91 ff       	call   0x41d98f
b0d00c:	cc                   	int3
b0d00d:	cc                   	int3
b0d00e:	cc                   	int3
b0d00f:	cc                   	int3
b0d010:	cc                   	int3
b0d011:	cc                   	int3
b0d012:	cc                   	int3
b0d013:	cc                   	int3
b0d014:	cc                   	int3
b0d015:	cc                   	int3
b0d016:	cc                   	int3
b0d017:	cc                   	int3
b0d018:	cc                   	int3
b0d019:	cc                   	int3
b0d01a:	cc                   	int3
b0d01b:	cc                   	int3
b0d01c:	cc                   	int3
b0d01d:	cc                   	int3
b0d01e:	55                   	push   %ebp
b0d01f:	8b ec                	mov    %esp,%ebp
b0d021:	56                   	push   %esi
b0d022:	8b 75 08             	mov    0x8(%ebp),%esi
b0d025:	57                   	push   %edi
b0d026:	8b f9                	mov    %ecx,%edi
b0d028:	8d 4e 04             	lea    0x4(%esi),%ecx
b0d02b:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
b0d031:	e8 35 8e 8f ff       	call   0x405e6b
b0d036:	89 47 04             	mov    %eax,0x4(%edi)
b0d039:	8b c7                	mov    %edi,%eax
b0d03b:	89 77 08             	mov    %esi,0x8(%edi)
b0d03e:	5f                   	pop    %edi
b0d03f:	5e                   	pop    %esi
b0d040:	5d                   	pop    %ebp
b0d041:	c2 04 00             	ret    $0x4
b0d044:	cc                   	int3
b0d045:	cc                   	int3
b0d046:	cc                   	int3
b0d047:	cc                   	int3
b0d048:	cc                   	int3
b0d049:	cc                   	int3
b0d04a:	cc                   	int3
b0d04b:	cc                   	int3
b0d04c:	cc                   	int3
b0d04d:	55                   	push   %ebp
b0d04e:	8b ec                	mov    %esp,%ebp
b0d050:	8b 45 0c             	mov    0xc(%ebp),%eax
b0d053:	89 41 04             	mov    %eax,0x4(%ecx)
b0d056:	8b 45 08             	mov    0x8(%ebp),%eax
b0d059:	89 41 08             	mov    %eax,0x8(%ecx)
b0d05c:	8b c1                	mov    %ecx,%eax
b0d05e:	c7 01 02 00 00 00    	movl   $0x2,(%ecx)
b0d064:	5d                   	pop    %ebp
b0d065:	c2 08 00             	ret    $0x8
b0d068:	cc                   	int3
b0d069:	cc                   	int3
b0d06a:	cc                   	int3
b0d06b:	cc                   	int3
b0d06c:	cc                   	int3
b0d06d:	cc                   	int3
b0d06e:	55                   	push   %ebp
b0d06f:	8b ec                	mov    %esp,%ebp
b0d071:	8b 45 08             	mov    0x8(%ebp),%eax
b0d074:	89 41 04             	mov    %eax,0x4(%ecx)
b0d077:	8b c1                	mov    %ecx,%eax
b0d079:	c7 01 08 00 00 00    	movl   $0x8,(%ecx)
b0d07f:	5d                   	pop    %ebp
b0d080:	c2 04 00             	ret    $0x4
b0d083:	cc                   	int3
b0d084:	cc                   	int3
b0d085:	cc                   	int3
b0d086:	cc                   	int3
b0d087:	cc                   	int3
b0d088:	55                   	push   %ebp
b0d089:	8b ec                	mov    %esp,%ebp
b0d08b:	8b 45 0c             	mov    0xc(%ebp),%eax
b0d08e:	89 41 04             	mov    %eax,0x4(%ecx)
b0d091:	8b 45 08             	mov    0x8(%ebp),%eax
b0d094:	89 41 08             	mov    %eax,0x8(%ecx)
b0d097:	8b c1                	mov    %ecx,%eax
b0d099:	c7 01 10 00 00 00    	movl   $0x10,(%ecx)
b0d09f:	5d                   	pop    %ebp
b0d0a0:	c2 08 00             	ret    $0x8
b0d0a3:	cc                   	int3
b0d0a4:	cc                   	int3
b0d0a5:	cc                   	int3
b0d0a6:	cc                   	int3
b0d0a7:	cc                   	int3
b0d0a8:	cc                   	int3
b0d0a9:	55                   	push   %ebp
b0d0aa:	8b ec                	mov    %esp,%ebp
b0d0ac:	8b 45 0c             	mov    0xc(%ebp),%eax
b0d0af:	89 41 04             	mov    %eax,0x4(%ecx)
b0d0b2:	8b 45 08             	mov    0x8(%ebp),%eax
b0d0b5:	89 41 08             	mov    %eax,0x8(%ecx)
b0d0b8:	8b c1                	mov    %ecx,%eax
b0d0ba:	c7 01 04 00 00 00    	movl   $0x4,(%ecx)
b0d0c0:	5d                   	pop    %ebp
b0d0c1:	c2 08 00             	ret    $0x8
b0d0c4:	cc                   	int3
b0d0c5:	cc                   	int3
b0d0c6:	cc                   	int3
b0d0c7:	cc                   	int3
b0d0c8:	cc                   	int3
b0d0c9:	cc                   	int3
b0d0ca:	55                   	push   %ebp
b0d0cb:	8b ec                	mov    %esp,%ebp
b0d0cd:	8b 55 08             	mov    0x8(%ebp),%edx
b0d0d0:	8b 41 5c             	mov    0x5c(%ecx),%eax
b0d0d3:	c1 e2 07             	shl    $0x7,%edx
b0d0d6:	83 3c 02 01          	cmpl   $0x1,(%edx,%eax,1)
b0d0da:	76 06                	jbe    0xb0d0e2
b0d0dc:	5d                   	pop    %ebp
b0d0dd:	e9 2c 1c 90 ff       	jmp    0x40ed0e
b0d0e2:	33 c0                	xor    %eax,%eax
b0d0e4:	5d                   	pop    %ebp
b0d0e5:	c2 04 00             	ret    $0x4
b0d0e8:	cc                   	int3
b0d0e9:	cc                   	int3
b0d0ea:	cc                   	int3
b0d0eb:	cc                   	int3
b0d0ec:	cc                   	int3
b0d0ed:	cc                   	int3
b0d0ee:	cc                   	int3
b0d0ef:	55                   	push   %ebp
b0d0f0:	8b ec                	mov    %esp,%ebp
b0d0f2:	8b 41 5c             	mov    0x5c(%ecx),%eax
b0d0f5:	56                   	push   %esi
b0d0f6:	8b 75 08             	mov    0x8(%ebp),%esi
b0d0f9:	c1 e6 07             	shl    $0x7,%esi
b0d0fc:	57                   	push   %edi
b0d0fd:	33 ff                	xor    %edi,%edi
b0d0ff:	47                   	inc    %edi
b0d100:	8b 14 06             	mov    (%esi,%eax,1),%edx
b0d103:	3b d7                	cmp    %edi,%edx
b0d105:	76 13                	jbe    0xb0d11a
b0d107:	8b 49 5c             	mov    0x5c(%ecx),%ecx
b0d10a:	8b c2                	mov    %edx,%eax
b0d10c:	03 ce                	add    %esi,%ecx
b0d10e:	f0 0f b1 39          	lock cmpxchg %edi,(%ecx)
b0d112:	3b d0                	cmp    %eax,%edx
b0d114:	75 04                	jne    0xb0d11a
b0d116:	8b c2                	mov    %edx,%eax
b0d118:	eb 02                	jmp    0xb0d11c
b0d11a:	33 c0                	xor    %eax,%eax
b0d11c:	5f                   	pop    %edi
b0d11d:	5e                   	pop    %esi
b0d11e:	5d                   	pop    %ebp
b0d11f:	c2 04 00             	ret    $0x4
b0d122:	cc                   	int3
b0d123:	cc                   	int3
b0d124:	cc                   	int3
b0d125:	cc                   	int3
b0d126:	cc                   	int3
b0d127:	cc                   	int3
b0d128:	cc                   	int3
b0d129:	cc                   	int3
b0d12a:	cc                   	int3
b0d12b:	cc                   	int3
b0d12c:	cc                   	int3
b0d12d:	cc                   	int3
b0d12e:	83 79 0c 65          	cmpl   $0x65,0xc(%ecx)
b0d132:	73 03                	jae    0xb0d137
b0d134:	33 c0                	xor    %eax,%eax
b0d136:	c3                   	ret
b0d137:	83 79 0c 7f          	cmpl   $0x7f,0xc(%ecx)
b0d13b:	1b c0                	sbb    %eax,%eax
b0d13d:	83 c0 02             	add    $0x2,%eax
b0d140:	c3                   	ret
b0d141:	cc                   	int3
b0d142:	cc                   	int3
b0d143:	cc                   	int3
b0d144:	cc                   	int3
b0d145:	56                   	push   %esi
b0d146:	8b f1                	mov    %ecx,%esi
b0d148:	f6 06 18             	testb  $0x18,(%esi)
b0d14b:	74 0d                	je     0xb0d15a
b0d14d:	e8 0f 36 91 ff       	call   0x420761
b0d152:	84 c0                	test   %al,%al
b0d154:	75 04                	jne    0xb0d15a
b0d156:	33 c0                	xor    %eax,%eax
b0d158:	5e                   	pop    %esi
b0d159:	c3                   	ret
b0d15a:	8b 06                	mov    (%esi),%eax
b0d15c:	48                   	dec    %eax
b0d15d:	83 e8 01             	sub    $0x1,%eax
b0d160:	74 0a                	je     0xb0d16c
b0d162:	48                   	dec    %eax
b0d163:	83 e8 01             	sub    $0x1,%eax
b0d166:	75 25                	jne    0xb0d18d
b0d168:	6a 01                	push   $0x1
b0d16a:	eb 02                	jmp    0xb0d16e
b0d16c:	6a 00                	push   $0x0
b0d16e:	ff 76 08             	push   0x8(%esi)
b0d171:	8b 4e 04             	mov    0x4(%esi),%ecx
b0d174:	e8 89 71 91 ff       	call   0x424302
b0d179:	89 46 08             	mov    %eax,0x8(%esi)
b0d17c:	85 c0                	test   %eax,%eax
b0d17e:	74 0d                	je     0xb0d18d
b0d180:	80 88 b3 00 00 00 01 	orb    $0x1,0xb3(%eax)
b0d187:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
b0d18d:	8b 46 08             	mov    0x8(%esi),%eax
b0d190:	5e                   	pop    %esi
b0d191:	c3                   	ret
b0d192:	cc                   	int3
b0d193:	cc                   	int3
b0d194:	cc                   	int3
b0d195:	cc                   	int3
b0d196:	cc                   	int3
b0d197:	cc                   	int3
b0d198:	cc                   	int3
b0d199:	cc                   	int3
b0d19a:	cc                   	int3
b0d19b:	cc                   	int3
b0d19c:	cc                   	int3
b0d19d:	cc                   	int3
b0d19e:	cc                   	int3
b0d19f:	cc                   	int3
b0d1a0:	cc                   	int3
b0d1a1:	cc                   	int3
b0d1a2:	cc                   	int3
b0d1a3:	cc                   	int3
b0d1a4:	cc                   	int3
b0d1a5:	55                   	push   %ebp
b0d1a6:	8b ec                	mov    %esp,%ebp
b0d1a8:	56                   	push   %esi
b0d1a9:	8b f1                	mov    %ecx,%esi
b0d1ab:	57                   	push   %edi
b0d1ac:	8b 7d 08             	mov    0x8(%ebp),%edi
b0d1af:	8b 06                	mov    (%esi),%eax
b0d1b1:	48                   	dec    %eax
b0d1b2:	83 e8 01             	sub    $0x1,%eax
b0d1b5:	74 0a                	je     0xb0d1c1
b0d1b7:	48                   	dec    %eax
b0d1b8:	83 e8 01             	sub    $0x1,%eax
b0d1bb:	75 13                	jne    0xb0d1d0
b0d1bd:	6a 01                	push   $0x1
b0d1bf:	eb 02                	jmp    0xb0d1c3
b0d1c1:	6a 00                	push   $0x0
b0d1c3:	ff 76 08             	push   0x8(%esi)
b0d1c6:	8b cf                	mov    %edi,%ecx
b0d1c8:	ff 76 04             	push   0x4(%esi)
b0d1cb:	e8 f6 7f 91 ff       	call   0x4251c6
b0d1d0:	89 7e 08             	mov    %edi,0x8(%esi)
b0d1d3:	5f                   	pop    %edi
b0d1d4:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
b0d1da:	5e                   	pop    %esi
b0d1db:	5d                   	pop    %ebp
b0d1dc:	c2 04 00             	ret    $0x4