412a64:	0f 8d c6 00 00 00    	jge    0x412b30
412a6a:	42                   	inc    %edx
412a6b:	83 c0 04             	add    $0x4,%eax
412a6e:	3b d7                	cmp    %edi,%edx
412a70:	7c e2                	jl     0x412a54
412a72:	33 db                	xor    %ebx,%ebx
412a74:	85 ff                	test   %edi,%edi
412a76:	7e 48                	jle    0x412ac0
412a78:	8b 71 08             	mov    0x8(%ecx),%esi
412a7b:	8d 91 0c 01 00 00    	lea    0x10c(%ecx),%edx
412a81:	89 55 fc             	mov    %edx,-0x4(%ebp)
412a84:	81 ba 00 ff ff ff ea 	cmpl   $0x3ea,-0x100(%edx)
412a8b:	03 00 00
412a8e:	75 6f                	jne    0x412aff
412a90:	b8 41 dd b3 20       	mov    $0x20b3dd41,%eax
412a95:	f7 ee                	imul   %esi
412a97:	c1 fa 07             	sar    $0x7,%edx
412a9a:	8b f2                	mov    %edx,%esi
412a9c:	c1 ee 1f             	shr    $0x1f,%esi
412a9f:	03 f2                	add    %edx,%esi
412aa1:	8b 55 fc             	mov    -0x4(%ebp),%edx
412aa4:	83 c2 04             	add    $0x4,%edx
412aa7:	8b 42 fc             	mov    -0x4(%edx),%eax
412aaa:	0f af c6             	imul   %esi,%eax
412aad:	03 d8                	add    %eax,%ebx
412aaf:	89 55 fc             	mov    %edx,-0x4(%ebp)
412ab2:	4f                   	dec    %edi
412ab3:	75 cf                	jne    0x412a84
412ab5:	8b 75 08             	mov    0x8(%ebp),%esi
412ab8:	85 db                	test   %ebx,%ebx
412aba:	0f 88 70 00 00 00    	js     0x412b30
412ac0:	8b 01                	mov    (%ecx),%eax
412ac2:	8b 0c 98             	mov    (%eax,%ebx,4),%ecx
412ac5:	85 c9                	test   %ecx,%ecx
412ac7:	75 51                	jne    0x412b1a
412ac9:	6a 10                	push   $0x10
412acb:	e8 1a ca 00 00       	call   0x41f4ea
412ad0:	8b f8                	mov    %eax,%edi
412ad2:	83 c4 04             	add    $0x4,%esp
412ad5:	85 ff                	test   %edi,%edi
412ad7:	74 3d                	je     0x412b16
412ad9:	ff 75 0c             	push   0xc(%ebp)
412adc:	8b cf                	mov    %edi,%ecx
412ade:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
412ae5:	e8 36 ec ff ff       	call   0x411720
412aea:	8b 06                	mov    (%esi),%eax
412aec:	8b 00                	mov    (%eax),%eax
412aee:	89 3c 98             	mov    %edi,(%eax,%ebx,4)
412af1:	8b 0e                	mov    (%esi),%ecx
412af3:	5f                   	pop    %edi
412af4:	8b 01                	mov    (%ecx),%eax
412af6:	8b 04 98             	mov    (%eax,%ebx,4),%eax
412af9:	5b                   	pop    %ebx
412afa:	5e                   	pop    %esi
412afb:	8b e5                	mov    %ebp,%esp
412afd:	5d                   	pop    %ebp
412afe:	c3                   	ret
412aff:	8b c6                	mov    %esi,%eax
412b01:	8b 75 fc             	mov    -0x4(%ebp),%esi
412b04:	99                   	cltd
412b05:	f7 be 00 ff ff ff    	idivl  -0x100(%esi)
412b0b:	8b f0                	mov    %eax,%esi
412b0d:	eb 92                	jmp    0x412aa1
412b0f:	33 c0                	xor    %eax,%eax
412b11:	5e                   	pop    %esi
412b12:	8b e5                	mov    %ebp,%esp
412b14:	5d                   	pop    %ebp
412b15:	c3                   	ret
412b16:	33 ff                	xor    %edi,%edi
412b18:	eb d0                	jmp    0x412aea
412b1a:	ff 75 0c             	push   0xc(%ebp)
412b1d:	e8 8c b1 ff ff       	call   0x40dcae
412b22:	8b 0e                	mov    (%esi),%ecx
412b24:	5f                   	pop    %edi
412b25:	8b 01                	mov    (%ecx),%eax
412b27:	8b 04 98             	mov    (%eax,%ebx,4),%eax
412b2a:	5b                   	pop    %ebx
412b2b:	5e                   	pop    %esi
412b2c:	8b e5                	mov    %ebp,%esp
412b2e:	5d                   	pop    %ebp
412b2f:	c3                   	ret
412b30:	5f                   	pop    %edi
412b31:	5b                   	pop    %ebx
412b32:	33 c0                	xor    %eax,%eax
412b34:	5e                   	pop    %esi
412b35:	8b e5                	mov    %ebp,%esp
412b37:	5d                   	pop    %ebp
412b38:	c3                   	ret
412b39:	cc                   	int3
412b3a:	cc                   	int3
412b3b:	cc                   	int3
412b3c:	cc                   	int3
412b3d:	cc                   	int3
412b3e:	cc                   	int3
412b3f:	cc                   	int3
412b40:	55                   	push   %ebp
412b41:	8b ec                	mov    %esp,%ebp
412b43:	83 ec 20             	sub    $0x20,%esp
412b46:	53                   	push   %ebx
412b47:	8b 5d 08             	mov    0x8(%ebp),%ebx
412b4a:	56                   	push   %esi
412b4b:	8b 5b 08             	mov    0x8(%ebx),%ebx
412b4e:	57                   	push   %edi
412b4f:	8b f9                	mov    %ecx,%edi
412b51:	89 7d f8             	mov    %edi,-0x8(%ebp)
412b54:	89 5d f4             	mov    %ebx,-0xc(%ebp)
412b57:	85 db                	test   %ebx,%ebx
412b59:	0f 84 b0 00 00 00    	je     0x412c0f
412b5f:	53                   	push   %ebx
412b60:	6a 01                	push   $0x1
412b62:	57                   	push   %edi
412b63:	e8 e8 94 00 00       	call   0x41c050
412b68:	83 c4 0c             	add    $0xc,%esp
412b6b:	33 f6                	xor    %esi,%esi
412b6d:	85 db                	test   %ebx,%ebx
412b6f:	0f 84 a5 1a 06 00    	je     0x47461a
412b75:	8b 45 08             	mov    0x8(%ebp),%eax
412b78:	6a 10                	push   $0x10
412b7a:	8b 40 04             	mov    0x4(%eax),%eax
412b7d:	8b 1c b0             	mov    (%eax,%esi,4),%ebx
412b80:	e8 65 c9 00 00       	call   0x41f4ea
412b85:	8b f8                	mov    %eax,%edi
412b87:	83 c4 04             	add    $0x4,%esp
412b8a:	85 ff                	test   %edi,%edi
412b8c:	0f 84 87 00 00 00    	je     0x412c19
412b92:	8b 0b                	mov    (%ebx),%ecx
412b94:	89 0f                	mov    %ecx,(%edi)
412b96:	8b 4b 04             	mov    0x4(%ebx),%ecx
412b99:	89 4f 04             	mov    %ecx,0x4(%edi)
412b9c:	8b 4b 08             	mov    0x8(%ebx),%ecx
412b9f:	89 4f 08             	mov    %ecx,0x8(%edi)
412ba2:	8b 43 0c             	mov    0xc(%ebx),%eax
412ba5:	89 47 0c             	mov    %eax,0xc(%edi)
412ba8:	ff 00                	incl   (%eax)
412baa:	8b 5d f8             	mov    -0x8(%ebp),%ebx
412bad:	56                   	push   %esi
412bae:	6a 01                	push   $0x1
412bb0:	8d 45 e4             	lea    -0x1c(%ebp),%eax
412bb3:	50                   	push   %eax
412bb4:	53                   	push   %ebx
412bb5:	89 7d ec             	mov    %edi,-0x14(%ebp)
412bb8:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
412bbf:	e8 0c fe ff ff       	call   0x4129d0
412bc4:	83 c4 10             	add    $0x10,%esp
412bc7:	85 ff                	test   %edi,%edi
412bc9:	74 21                	je     0x412bec
412bcb:	8b 47 0c             	mov    0xc(%edi),%eax
412bce:	ff 08                	decl   (%eax)
412bd0:	8b 47 0c             	mov    0xc(%edi),%eax
412bd3:	83 38 00             	cmpl   $0x0,(%eax)
412bd6:	0f 84 27 1a 06 00    	je     0x474603
412bdc:	57                   	push   %edi
412bdd:	e8 7c c9 00 00       	call   0x41f55e
412be2:	83 c4 04             	add    $0x4,%esp
412be5:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
412bec:	46                   	inc    %esi
412bed:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
412bf4:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
412bfb:	3b 75 f4             	cmp    -0xc(%ebp),%esi
412bfe:	0f 82 71 ff ff ff    	jb     0x412b75
412c04:	8b c3                	mov    %ebx,%eax
412c06:	5f                   	pop    %edi
412c07:	5e                   	pop    %esi
412c08:	5b                   	pop    %ebx
412c09:	8b e5                	mov    %ebp,%esp
412c0b:	5d                   	pop    %ebp
412c0c:	c2 04 00             	ret    $0x4
412c0f:	e8 0c 00 00 00       	call   0x412c20
412c14:	e9 01 1a 06 00       	jmp    0x47461a
412c19:	33 ff                	xor    %edi,%edi
412c1b:	eb 8d                	jmp    0x412baa
412c1d:	cc                   	int3
412c1e:	cc                   	int3
412c1f:	cc                   	int3
412c20:	56                   	push   %esi
412c21:	8b f1                	mov    %ecx,%esi
412c23:	57                   	push   %edi
412c24:	8b 7e 08             	mov    0x8(%esi),%edi
412c27:	85 ff                	test   %edi,%edi
412c29:	75 18                	jne    0x412c43
412c2b:	8b 46 0c             	mov    0xc(%esi),%eax
412c2e:	83 f8 05             	cmp    $0x5,%eax
412c31:	7d 35                	jge    0x412c68
412c33:	5f                   	pop    %edi
412c34:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
412c3b:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
412c41:	5e                   	pop    %esi
412c42:	c3                   	ret
412c43:	8b 47 0c             	mov    0xc(%edi),%eax
412c46:	ff 08                	decl   (%eax)
412c48:	8b 47 0c             	mov    0xc(%edi),%eax
412c4b:	83 38 00             	cmpl   $0x0,(%eax)
412c4e:	74 3e                	je     0x412c8e
412c50:	57                   	push   %edi
412c51:	e8 08 c9 00 00       	call   0x41f55e
412c56:	8b 46 0c             	mov    0xc(%esi),%eax
412c59:	83 c4 04             	add    $0x4,%esp
412c5c:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
412c63:	83 f8 05             	cmp    $0x5,%eax
412c66:	7c cb                	jl     0x412c33
412c68:	83 e8 05             	sub    $0x5,%eax
412c6b:	83 f8 0a             	cmp    $0xa,%eax
412c6e:	77 c3                	ja     0x412c33
412c70:	ff 24 85 a4 2c 41 00 	jmp    *0x412ca4(,%eax,4)
412c77:	8b ce                	mov    %esi,%ecx
412c79:	e8 40 b0 00 00       	call   0x41dcbe
412c7e:	5f                   	pop    %edi
412c7f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
412c86:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
412c8c:	5e                   	pop    %esi
412c8d:	c3                   	ret
412c8e:	ff 37                	push   (%edi)
412c90:	e8 c9 c8 00 00       	call   0x41f55e
412c95:	ff 77 0c             	push   0xc(%edi)
412c98:	e8 c1 c8 00 00       	call   0x41f55e
412c9d:	83 c4 08             	add    $0x8,%esp
412ca0:	eb ae                	jmp    0x412c50
412ca2:	8b ff                	mov    %edi,%edi
412ca4:	77 2c                	ja     0x412cd2
412ca6:	41                   	inc    %ecx
412ca7:	00 33                	add    %dh,(%ebx)
412ca9:	2c 41                	sub    $0x41,%al
412cab:	00 33                	add    %dh,(%ebx)
412cad:	2c 41                	sub    $0x41,%al
412caf:	00 d5                	add    %dl,%ch
412cb1:	4c                   	dec    %esp
412cb2:	47                   	inc    %edi
412cb3:	00 33                	add    %dh,(%ebx)
412cb5:	2c 41                	sub    $0x41,%al
412cb7:	00 f5                	add    %dh,%ch
412cb9:	4c                   	dec    %esp
412cba:	47                   	inc    %edi
412cbb:	00 0a                	add    %cl,(%edx)
412cbd:	4d                   	dec    %ebp
412cbe:	47                   	inc    %edi
412cbf:	00 23                	add    %ah,(%ebx)
412cc1:	4d                   	dec    %ebp
412cc2:	47                   	inc    %edi
412cc3:	00 4d 4d             	add    %cl,0x4d(%ebp)
412cc6:	47                   	inc    %edi
412cc7:	00 4d 4d             	add    %cl,0x4d(%ebp)
412cca:	47                   	inc    %edi
412ccb:	00 38                	add    %bh,(%eax)
412ccd:	4d                   	dec    %ebp
412cce:	47                   	inc    %edi
412ccf:	00 55 8b             	add    %dl,-0x75(%ebp)
412cd2:	ec                   	in     (%dx),%al
412cd3:	8b 51 0c             	mov    0xc(%ecx),%edx
412cd6:	8b c2                	mov    %edx,%eax
412cd8:	83 ec 10             	sub    $0x10,%esp
412cdb:	83 f8 03             	cmp    $0x3,%eax
412cde:	75 06                	jne    0x412ce6
412ce0:	dd 01                	fldl   (%ecx)
412ce2:	8b e5                	mov    %ebp,%esp
412ce4:	5d                   	pop    %ebp
412ce5:	c3                   	ret
412ce6:	83 f8 01             	cmp    $0x1,%eax
412ce9:	75 0c                	jne    0x412cf7
412ceb:	db 01                	fildl  (%ecx)
412ced:	dd 5d f0             	fstpl  -0x10(%ebp)
412cf0:	dd 45 f0             	fldl   -0x10(%ebp)
412cf3:	8b e5                	mov    %ebp,%esp
412cf5:	5d                   	pop    %ebp
412cf6:	c3                   	ret
412cf7:	83 e8 02             	sub    $0x2,%eax
412cfa:	83 f8 08             	cmp    $0x8,%eax
412cfd:	77 3b                	ja     0x412d3a
412cff:	ff 24 85 40 2d 41 00 	jmp    *0x412d40(,%eax,4)
412d06:	8b 49 08             	mov    0x8(%ecx),%ecx
412d09:	8b 01                	mov    (%ecx),%eax
412d0b:	83 fa 04             	cmp    $0x4,%edx
412d0e:	75 06                	jne    0x412d16
412d10:	66 83 38 30          	cmpw   $0x30,(%eax)
412d14:	74 0d                	je     0x412d23
412d16:	50                   	push   %eax
412d17:	e8 1f f3 00 00       	call   0x42203b
412d1c:	83 c4 04             	add    $0x4,%esp
412d1f:	8b e5                	mov    %ebp,%esp
412d21:	5d                   	pop    %ebp
412d22:	c3                   	ret
412d23:	0f b7 50 02          	movzwl 0x2(%eax),%edx
412d27:	83 fa 78             	cmp    $0x78,%edx
412d2a:	0f 84 50 20 06 00    	je     0x474d80
412d30:	83 fa 58             	cmp    $0x58,%edx
412d33:	75 e1                	jne    0x412d16
412d35:	e9 46 20 06 00       	jmp    0x474d80
412d3a:	d9 ee                	fldz
412d3c:	8b e5                	mov    %ebp,%esp
412d3e:	5d                   	pop    %ebp
412d3f:	c3                   	ret
412d40:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
412d41:	4d                   	dec    %ebp
412d42:	47                   	inc    %edi
412d43:	00 3a                	add    %bh,(%edx)
412d45:	2d 41 00 06 2d       	sub    $0x2d060041,%eax
412d4a:	41                   	inc    %ecx
412d4b:	00 3a                	add    %bh,(%edx)
412d4d:	2d 41 00 3a 2d       	sub    $0x2d3a0041,%eax
412d52:	41                   	inc    %ecx
412d53:	00 b3 4d 47 00 3a    	add    %dh,0x3a00474d(%ebx)
412d59:	2d 41 00 ce 4d       	sub    $0x4dce0041,%eax
412d5e:	47                   	inc    %edi
412d5f:	00 bf 4d 47 00 cc    	add    %bh,-0x33ffb8b3(%edi)
412d65:	cc                   	int3
412d66:	cc                   	int3
412d67:	cc                   	int3
412d68:	cc                   	int3
412d69:	cc                   	int3
412d6a:	cc                   	int3
412d6b:	cc                   	int3
412d6c:	cc                   	int3
412d6d:	cc                   	int3
412d6e:	cc                   	int3
412d6f:	cc                   	int3
412d70:	55                   	push   %ebp
412d71:	8b ec                	mov    %esp,%ebp
412d73:	83 ec 7c             	sub    $0x7c,%esp
412d76:	53                   	push   %ebx
412d77:	56                   	push   %esi
412d78:	8b 75 0c             	mov    0xc(%ebp),%esi
412d7b:	33 db                	xor    %ebx,%ebx
412d7d:	8b 06                	mov    (%esi),%eax
412d7f:	48                   	dec    %eax
412d80:	57                   	push   %edi
412d81:	8b 7d 08             	mov    0x8(%ebp),%edi
412d84:	89 45 8c             	mov    %eax,-0x74(%ebp)
412d87:	8b 47 04             	mov    0x4(%edi),%eax
412d8a:	8b d1                	mov    %ecx,%edx
412d8c:	89 5d d8             	mov    %ebx,-0x28(%ebp)
412d8f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
412d92:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
412d99:	89 5d c8             	mov    %ebx,-0x38(%ebp)
412d9c:	89 5d d0             	mov    %ebx,-0x30(%ebp)
412d9f:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
412da6:	8b 48 04             	mov    0x4(%eax),%ecx
412da9:	89 55 fc             	mov    %edx,-0x4(%ebp)
412dac:	66 83 79 08 33       	cmpw   $0x33,0x8(%ecx)
412db1:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
412db8:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
412dbf:	c7 45 a4 01 00 00 00 	movl   $0x1,-0x5c(%ebp)
412dc6:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
412dcd:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
412dd4:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
412ddb:	89 5d f4             	mov    %ebx,-0xc(%ebp)
412dde:	c7 45 88 03 00 00 00 	movl   $0x3,-0x78(%ebp)
412de5:	0f 85 54 46 06 00    	jne    0x47743f
412deb:	8b 09                	mov    (%ecx),%ecx
412ded:	c7 45 0c 02 00 00 00 	movl   $0x2,0xc(%ebp)
412df4:	8b 01                	mov    (%ecx),%eax
412df6:	89 45 ec             	mov    %eax,-0x14(%ebp)