414e44:	e8 02 34 00 00       	call   0x41824b
414e49:	8b 46 04             	mov    0x4(%esi),%eax
414e4c:	c6 00 00             	movb   $0x0,(%eax)
414e4f:	8b 46 08             	mov    0x8(%esi),%eax
414e52:	8b 0e                	mov    (%esi),%ecx
414e54:	ff 70 04             	push   0x4(%eax)
414e57:	ff 30                	push   (%eax)
414e59:	e8 2d 2e 00 00       	call   0x417c8b
414e5e:	5e                   	pop    %esi
414e5f:	c3                   	ret
414e60:	8b ff                	mov    %edi,%edi
414e62:	55                   	push   %ebp
414e63:	8b ec                	mov    %esp,%ebp
414e65:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
414e6b:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
414e70:	33 c5                	xor    %ebp,%eax
414e72:	89 45 fc             	mov    %eax,-0x4(%ebp)
414e75:	56                   	push   %esi
414e76:	8b f1                	mov    %ecx,%esi
414e78:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
414e7e:	8b 06                	mov    (%esi),%eax
414e80:	ff 30                	push   (%eax)
414e82:	e8 6d e3 ff ff       	call   0x4131f4
414e87:	8b 46 04             	mov    0x4(%esi),%eax
414e8a:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
414e8d:	83 65 88 00          	andl   $0x0,-0x78(%ebp)
414e91:	8b 00                	mov    (%eax),%eax
414e93:	89 45 84             	mov    %eax,-0x7c(%ebp)
414e96:	8b 46 10             	mov    0x10(%esi),%eax
414e99:	ff 30                	push   (%eax)
414e9b:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
414ea1:	50                   	push   %eax
414ea2:	8b 46 0c             	mov    0xc(%esi),%eax
414ea5:	ff 30                	push   (%eax)
414ea7:	8b 46 08             	mov    0x8(%esi),%eax
414eaa:	ff 70 04             	push   0x4(%eax)
414ead:	ff 30                	push   (%eax)
414eaf:	8d 45 84             	lea    -0x7c(%ebp),%eax
414eb2:	50                   	push   %eax
414eb3:	e8 35 ff ff ff       	call   0x414ded
414eb8:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
414ebb:	e8 ef 2a 00 00       	call   0x4179af
414ec0:	80 7d 80 00          	cmpb   $0x0,-0x80(%ebp)
414ec4:	5e                   	pop    %esi
414ec5:	74 0d                	je     0x414ed4
414ec7:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
414ecd:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
414ed4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414ed7:	33 cd                	xor    %ebp,%ecx
414ed9:	e8 c9 4d ff ff       	call   0x409ca7
414ede:	c9                   	leave
414edf:	c3                   	ret
414ee0:	8b ff                	mov    %edi,%edi
414ee2:	53                   	push   %ebx
414ee3:	56                   	push   %esi
414ee4:	8b f1                	mov    %ecx,%esi
414ee6:	33 db                	xor    %ebx,%ebx
414ee8:	39 5e 0c             	cmp    %ebx,0xc(%esi)
414eeb:	75 29                	jne    0x414f16
414eed:	8b 46 08             	mov    0x8(%esi),%eax
414ef0:	89 5e 10             	mov    %ebx,0x10(%esi)
414ef3:	66 89 5e 14          	mov    %bx,0x14(%esi)
414ef7:	88 5e 16             	mov    %bl,0x16(%esi)
414efa:	89 5e 18             	mov    %ebx,0x18(%esi)
414efd:	89 5e 1c             	mov    %ebx,0x1c(%esi)
414f00:	89 5e 20             	mov    %ebx,0x20(%esi)
414f03:	88 5e 24             	mov    %bl,0x24(%esi)
414f06:	89 5e 28             	mov    %ebx,0x28(%esi)
414f09:	8a 00                	mov    (%eax),%al
414f0b:	84 c0                	test   %al,%al
414f0d:	75 0c                	jne    0x414f1b
414f0f:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
414f16:	32 c0                	xor    %al,%al
414f18:	5e                   	pop    %esi
414f19:	5b                   	pop    %ebx
414f1a:	c3                   	ret
414f1b:	0f b6 c0             	movzbl %al,%eax
414f1e:	50                   	push   %eax
414f1f:	e8 ac 39 00 00       	call   0x4188d0
414f24:	59                   	pop    %ecx
414f25:	8b 4e 08             	mov    0x8(%esi),%ecx
414f28:	85 c0                	test   %eax,%eax
414f2a:	74 24                	je     0x414f50
414f2c:	c7 46 10 02 00 00 00 	movl   $0x2,0x10(%esi)
414f33:	0f b6 01             	movzbl (%ecx),%eax
414f36:	eb 09                	jmp    0x414f41
414f38:	ff 46 08             	incl   0x8(%esi)
414f3b:	8b 46 08             	mov    0x8(%esi),%eax
414f3e:	0f b6 00             	movzbl (%eax),%eax
414f41:	50                   	push   %eax
414f42:	e8 89 39 00 00       	call   0x4188d0
414f47:	59                   	pop    %ecx
414f48:	85 c0                	test   %eax,%eax
414f4a:	75 ec                	jne    0x414f38
414f4c:	b0 01                	mov    $0x1,%al
414f4e:	eb c8                	jmp    0x414f18
414f50:	80 39 25             	cmpb   $0x25,(%ecx)
414f53:	75 7c                	jne    0x414fd1
414f55:	8d 41 01             	lea    0x1(%ecx),%eax
414f58:	80 38 25             	cmpb   $0x25,(%eax)
414f5b:	74 74                	je     0x414fd1
414f5d:	c7 46 10 04 00 00 00 	movl   $0x4,0x10(%esi)
414f64:	89 46 08             	mov    %eax,0x8(%esi)
414f67:	80 38 2a             	cmpb   $0x2a,(%eax)
414f6a:	75 08                	jne    0x414f74
414f6c:	40                   	inc    %eax
414f6d:	c6 46 16 01          	movb   $0x1,0x16(%esi)
414f71:	89 46 08             	mov    %eax,0x8(%esi)
414f74:	8b ce                	mov    %esi,%ecx
414f76:	e8 b1 2e 00 00       	call   0x417e2c
414f7b:	84 c0                	test   %al,%al
414f7d:	74 97                	je     0x414f16
414f7f:	8b ce                	mov    %esi,%ecx
414f81:	e8 3a 2f 00 00       	call   0x417ec0
414f86:	8b ce                	mov    %esi,%ecx
414f88:	e8 a5 30 00 00       	call   0x418032
414f8d:	8b ce                	mov    %esi,%ecx
414f8f:	e8 1c 2d 00 00       	call   0x417cb0
414f94:	84 c0                	test   %al,%al
414f96:	0f 84 7a ff ff ff    	je     0x414f16
414f9c:	6b 4e 28 0c          	imul   $0xc,0x28(%esi),%ecx
414fa0:	8b 46 20             	mov    0x20(%esi),%eax
414fa3:	38 9c 01 38 30 43 00 	cmp    %bl,0x433038(%ecx,%eax,1)
414faa:	75 a0                	jne    0x414f4c
414fac:	89 5e 10             	mov    %ebx,0x10(%esi)
414faf:	66 89 5e 14          	mov    %bx,0x14(%esi)
414fb3:	88 5e 16             	mov    %bl,0x16(%esi)
414fb6:	89 5e 18             	mov    %ebx,0x18(%esi)
414fb9:	89 5e 1c             	mov    %ebx,0x1c(%esi)
414fbc:	89 5e 20             	mov    %ebx,0x20(%esi)
414fbf:	88 5e 24             	mov    %bl,0x24(%esi)
414fc2:	89 5e 28             	mov    %ebx,0x28(%esi)
414fc5:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
414fcc:	e9 45 ff ff ff       	jmp    0x414f16
414fd1:	c7 46 10 03 00 00 00 	movl   $0x3,0x10(%esi)
414fd8:	8a 01                	mov    (%ecx),%al
414fda:	88 46 14             	mov    %al,0x14(%esi)
414fdd:	33 c0                	xor    %eax,%eax
414fdf:	80 39 25             	cmpb   $0x25,(%ecx)
414fe2:	53                   	push   %ebx
414fe3:	0f 94 c0             	sete   %al
414fe6:	41                   	inc    %ecx
414fe7:	03 c1                	add    %ecx,%eax
414fe9:	8b ce                	mov    %esi,%ecx
414feb:	89 46 08             	mov    %eax,0x8(%esi)
414fee:	e8 ed 2f 00 00       	call   0x417fe0
414ff3:	e9 20 ff ff ff       	jmp    0x414f18
414ff8:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
414ffc:	74 03                	je     0x415001
414ffe:	8b 01                	mov    (%ecx),%eax
415000:	c3                   	ret
415001:	6a 00                	push   $0x0
415003:	68 db 01 00 00       	push   $0x1db
415008:	68 e0 2e 43 00       	push   $0x432ee0
41500d:	68 48 2f 43 00       	push   $0x432f48
415012:	68 a4 2f 43 00       	push   $0x432fa4
415017:	e8 ff 83 ff ff       	call   0x40d41b
41501c:	cc                   	int3
41501d:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
415021:	75 03                	jne    0x415026
415023:	8b 01                	mov    (%ecx),%eax
415025:	c3                   	ret
415026:	6a 00                	push   $0x0
415028:	68 e1 01 00 00       	push   $0x1e1
41502d:	68 e0 2e 43 00       	push   $0x432ee0
415032:	68 c0 2f 43 00       	push   $0x432fc0
415037:	68 1c 30 43 00       	push   $0x43301c
41503c:	e8 da 83 ff ff       	call   0x40d41b
415041:	cc                   	int3
415042:	8b ff                	mov    %edi,%edi
415044:	55                   	push   %ebp
415045:	8b ec                	mov    %esp,%ebp
415047:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41504a:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
41504e:	74 1c                	je     0x41506c
415050:	e8 a3 ff ff ff       	call   0x414ff8
415055:	8b c8                	mov    %eax,%ecx
415057:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
41505b:	99                   	cltd
41505c:	c1 e0 1f             	shl    $0x1f,%eax
41505f:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
415064:	83 21 00             	andl   $0x0,(%ecx)
415067:	89 41 04             	mov    %eax,0x4(%ecx)
41506a:	5d                   	pop    %ebp
41506b:	c3                   	ret
41506c:	e8 ac ff ff ff       	call   0x41501d
415071:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
415075:	c1 e1 1f             	shl    $0x1f,%ecx
415078:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
41507e:	89 08                	mov    %ecx,(%eax)
415080:	5d                   	pop    %ebp
415081:	c3                   	ret
415082:	8b ff                	mov    %edi,%edi
415084:	55                   	push   %ebp
415085:	8b ec                	mov    %esp,%ebp
415087:	83 ec 24             	sub    $0x24,%esp
41508a:	53                   	push   %ebx
41508b:	56                   	push   %esi
41508c:	8b 75 0c             	mov    0xc(%ebp),%esi
41508f:	33 db                	xor    %ebx,%ebx
415091:	57                   	push   %edi
415092:	8b 7d 08             	mov    0x8(%ebp),%edi
415095:	3b f3                	cmp    %ebx,%esi
415097:	77 14                	ja     0x4150ad
415099:	83 ff ff             	cmp    $0xffffffff,%edi
41509c:	77 0f                	ja     0x4150ad
41509e:	0f bd cf             	bsr    %edi,%ecx
4150a1:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4150a4:	74 03                	je     0x4150a9
4150a6:	41                   	inc    %ecx
4150a7:	eb 14                	jmp    0x4150bd
4150a9:	8b cb                	mov    %ebx,%ecx
4150ab:	eb 10                	jmp    0x4150bd
4150ad:	0f bd ce             	bsr    %esi,%ecx
4150b0:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4150b3:	74 03                	je     0x4150b8
4150b5:	41                   	inc    %ecx
4150b6:	eb 02                	jmp    0x4150ba
4150b8:	8b cb                	mov    %ebx,%ecx
4150ba:	83 c1 20             	add    $0x20,%ecx
4150bd:	8b 45 1c             	mov    0x1c(%ebp),%eax
4150c0:	8a 50 04             	mov    0x4(%eax),%dl
4150c3:	88 55 ff             	mov    %dl,-0x1(%ebp)
4150c6:	33 d2                	xor    %edx,%edx
4150c8:	38 55 ff             	cmp    %dl,-0x1(%ebp)
4150cb:	0f 94 c2             	sete   %dl
4150ce:	33 c0                	xor    %eax,%eax
4150d0:	4a                   	dec    %edx
4150d1:	83 e2 1d             	and    $0x1d,%edx
4150d4:	83 c2 18             	add    $0x18,%edx
4150d7:	2b d1                	sub    %ecx,%edx
4150d9:	8b 4d 10             	mov    0x10(%ebp),%ecx
4150dc:	2b ca                	sub    %edx,%ecx
4150de:	89 55 f4             	mov    %edx,-0xc(%ebp)
4150e1:	38 45 ff             	cmp    %al,-0x1(%ebp)
4150e4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4150e7:	0f 94 c0             	sete   %al
4150ea:	48                   	dec    %eax
4150eb:	25 80 03 00 00       	and    $0x380,%eax
4150f0:	83 c0 7f             	add    $0x7f,%eax
4150f3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4150f6:	3b c8                	cmp    %eax,%ecx
4150f8:	8b 45 1c             	mov    0x1c(%ebp),%eax
4150fb:	0f 8f 72 02 00 00    	jg     0x415373
415101:	33 c0                	xor    %eax,%eax
415103:	38 45 ff             	cmp    %al,-0x1(%ebp)
415106:	0f 94 c0             	sete   %al
415109:	48                   	dec    %eax
41510a:	25 80 fc ff ff       	and    $0xfffffc80,%eax
41510f:	83 c0 82             	add    $0xffffff82,%eax
415112:	3b c8                	cmp    %eax,%ecx
415114:	0f 8d 3f 01 00 00    	jge    0x415259
41511a:	8b 45 ec             	mov    -0x14(%ebp),%eax
41511d:	8b c8                	mov    %eax,%ecx
41511f:	8b 55 10             	mov    0x10(%ebp),%edx
415122:	f7 d9                	neg    %ecx
415124:	4a                   	dec    %edx
415125:	89 4d f8             	mov    %ecx,-0x8(%ebp)
415128:	03 d0                	add    %eax,%edx
41512a:	89 55 ec             	mov    %edx,-0x14(%ebp)
41512d:	85 d2                	test   %edx,%edx
41512f:	0f 89 1c 01 00 00    	jns    0x415251
415135:	8b c2                	mov    %edx,%eax
415137:	f7 d8                	neg    %eax
415139:	89 45 f0             	mov    %eax,-0x10(%ebp)
41513c:	83 f8 40             	cmp    $0x40,%eax
41513f:	0f 83 f8 00 00 00    	jae    0x41523d
415145:	8d 48 ff             	lea    -0x1(%eax),%ecx
415148:	33 d2                	xor    %edx,%edx
41514a:	33 c0                	xor    %eax,%eax
41514c:	40                   	inc    %eax
41514d:	e8 ee 8c 01 00       	call   0x42de40
415152:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415155:	89 45 e8             	mov    %eax,-0x18(%ebp)
415158:	83 c0 ff             	add    $0xffffffff,%eax
41515b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41515e:	83 d2 ff             	adc    $0xffffffff,%edx
415161:	89 45 e0             	mov    %eax,-0x20(%ebp)
415164:	33 c0                	xor    %eax,%eax
415166:	89 55 dc             	mov    %edx,-0x24(%ebp)
415169:	40                   	inc    %eax
41516a:	33 d2                	xor    %edx,%edx
41516c:	e8 cf 8c 01 00       	call   0x42de40
415171:	23 c7                	and    %edi,%eax
415173:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
415177:	23 d6                	and    %esi,%edx
415179:	0b c2                	or     %edx,%eax
41517b:	75 03                	jne    0x415180
41517d:	88 5d fd             	mov    %bl,-0x3(%ebp)
415180:	8b 45 e8             	mov    -0x18(%ebp),%eax
415183:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
415186:	23 c7                	and    %edi,%eax
415188:	23 ce                	and    %esi,%ecx
41518a:	0b c1                	or     %ecx,%eax
41518c:	74 07                	je     0x415195
41518e:	b1 01                	mov    $0x1,%cl
415190:	88 4d ff             	mov    %cl,-0x1(%ebp)
415193:	eb 05                	jmp    0x41519a
415195:	8a cb                	mov    %bl,%cl
415197:	88 5d ff             	mov    %bl,-0x1(%ebp)
41519a:	38 5d 18             	cmp    %bl,0x18(%ebp)
41519d:	74 15                	je     0x4151b4
41519f:	8b 45 e0             	mov    -0x20(%ebp),%eax
4151a2:	8b 55 dc             	mov    -0x24(%ebp),%edx
4151a5:	23 c7                	and    %edi,%eax
4151a7:	23 d6                	and    %esi,%edx
4151a9:	0b c2                	or     %edx,%eax
4151ab:	75 07                	jne    0x4151b4
4151ad:	8a c3                	mov    %bl,%al
4151af:	88 5d fe             	mov    %bl,-0x2(%ebp)
4151b2:	eb 05                	jmp    0x4151b9
4151b4:	b0 01                	mov    $0x1,%al
4151b6:	88 45 fe             	mov    %al,-0x2(%ebp)
4151b9:	84 c9                	test   %cl,%cl
4151bb:	75 04                	jne    0x4151c1
4151bd:	84 c0                	test   %al,%al
4151bf:	74 35                	je     0x4151f6
4151c1:	e8 ce b3 00 00       	call   0x420594
4151c6:	85 c0                	test   %eax,%eax
4151c8:	74 1b                	je     0x4151e5
4151ca:	3d 00 01 00 00       	cmp    $0x100,%eax
4151cf:	74 0f                	je     0x4151e0
4151d1:	3d 00 02 00 00       	cmp    $0x200,%eax
4151d6:	75 1e                	jne    0x4151f6
4151d8:	8a 5d 14             	mov    0x14(%ebp),%bl
4151db:	80 f3 01             	xor    $0x1,%bl
4151de:	eb 16                	jmp    0x4151f6
4151e0:	8a 5d 14             	mov    0x14(%ebp),%bl
4151e3:	eb 11                	jmp    0x4151f6
4151e5:	38 5d ff             	cmp    %bl,-0x1(%ebp)
4151e8:	74 0c                	je     0x4151f6
4151ea:	38 5d fe             	cmp    %bl,-0x2(%ebp)
4151ed:	75 05                	jne    0x4151f4
4151ef:	38 5d fd             	cmp    %bl,-0x3(%ebp)
4151f2:	74 02                	je     0x4151f6
4151f4:	b3 01                	mov    $0x1,%bl
4151f6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4151f9:	8b c7                	mov    %edi,%eax
4151fb:	8b d6                	mov    %esi,%edx
4151fd:	e8 5e 8c 01 00       	call   0x42de60
415202:	8b f8                	mov    %eax,%edi
415204:	8b f2                	mov    %edx,%esi
415206:	0f b6 c3             	movzbl %bl,%eax
415209:	99                   	cltd
41520a:	03 f8                	add    %eax,%edi
41520c:	8b c7                	mov    %edi,%eax
41520e:	13 f2                	adc    %edx,%esi
415210:	0b c6                	or     %esi,%eax
415212:	74 29                	je     0x41523d
415214:	8b 4d 1c             	mov    0x1c(%ebp),%ecx