5418d7:	50                   	push   %eax
5418d8:	8d 45 e0             	lea    -0x20(%ebp),%eax
5418db:	50                   	push   %eax
5418dc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5418df:	8b 55 f0             	mov    -0x10(%ebp),%edx
5418e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5418e5:	e8 0a ce 00 00       	call   0x54e6f4
5418ea:	6a 00                	push   $0x0
5418ec:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
5418ef:	8b 55 f0             	mov    -0x10(%ebp),%edx
5418f2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5418f5:	e8 42 d1 00 00       	call   0x54ea3c
5418fa:	8b f8                	mov    %eax,%edi
5418fc:	8b 06                	mov    (%esi),%eax
5418fe:	8b 80 24 01 00 00    	mov    0x124(%eax),%eax
541904:	8b 10                	mov    (%eax),%edx
541906:	ff 52 44             	call   *0x44(%edx)
541909:	8b 06                	mov    (%esi),%eax
54190b:	8b 80 28 01 00 00    	mov    0x128(%eax),%eax
541911:	8b 10                	mov    (%eax),%edx
541913:	ff 52 44             	call   *0x44(%edx)
541916:	4f                   	dec    %edi
541917:	85 ff                	test   %edi,%edi
541919:	7c 49                	jl     0x541964
54191b:	47                   	inc    %edi
54191c:	89 7d 90             	mov    %edi,-0x70(%ebp)
54191f:	8d 45 88             	lea    -0x78(%ebp),%eax
541922:	8b 55 94             	mov    -0x6c(%ebp),%edx
541925:	8b 52 04             	mov    0x4(%edx),%edx
541928:	e8 2b 31 ec ff       	call   0x404a58
54192d:	8b 55 88             	mov    -0x78(%ebp),%edx
541930:	8b 06                	mov    (%esi),%eax
541932:	8b 80 24 01 00 00    	mov    0x124(%eax),%eax
541938:	8b 08                	mov    (%eax),%ecx
54193a:	ff 51 38             	call   *0x38(%ecx)
54193d:	8d 45 84             	lea    -0x7c(%ebp),%eax
541940:	8b 55 94             	mov    -0x6c(%ebp),%edx
541943:	8b 52 08             	mov    0x8(%edx),%edx
541946:	e8 0d 31 ec ff       	call   0x404a58
54194b:	8b 55 84             	mov    -0x7c(%ebp),%edx
54194e:	8b 06                	mov    (%esi),%eax
541950:	8b 80 28 01 00 00    	mov    0x128(%eax),%eax
541956:	8b 08                	mov    (%eax),%ecx
541958:	ff 51 38             	call   *0x38(%ecx)
54195b:	83 45 94 10          	addl   $0x10,-0x6c(%ebp)
54195f:	ff 4d 90             	decl   -0x70(%ebp)
541962:	75 bb                	jne    0x54191f
541964:	8d 45 b7             	lea    -0x49(%ebp),%eax
541967:	ba 09 00 00 00       	mov    $0x9,%edx
54196c:	e8 63 65 ec ff       	call   0x407ed4
541971:	8b 06                	mov    (%esi),%eax
541973:	0f b6 80 1e 01 00 00 	movzbl 0x11e(%eax),%eax
54197a:	8b d0                	mov    %eax,%edx
54197c:	c1 e0 08             	shl    $0x8,%eax
54197f:	03 c2                	add    %edx,%eax
541981:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
541985:	8b 06                	mov    (%esi),%eax
541987:	0f b6 80 1d 01 00 00 	movzbl 0x11d(%eax),%eax
54198e:	8b d0                	mov    %eax,%edx
541990:	c1 e0 08             	shl    $0x8,%eax
541993:	03 c2                	add    %edx,%eax
541995:	66 89 45 ba          	mov    %ax,-0x46(%ebp)
541999:	8b 06                	mov    (%esi),%eax
54199b:	0f b6 80 1c 01 00 00 	movzbl 0x11c(%eax),%eax
5419a2:	8b d0                	mov    %eax,%edx
5419a4:	c1 e0 08             	shl    $0x8,%eax
5419a7:	03 c2                	add    %edx,%eax
5419a9:	66 89 45 bc          	mov    %ax,-0x44(%ebp)
5419ad:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5419b1:	0f 84 85 00 00 00    	je     0x541a3c
5419b7:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5419ba:	8b 55 f0             	mov    -0x10(%ebp),%edx
5419bd:	8b 45 f4             	mov    -0xc(%ebp),%eax
5419c0:	e8 a3 ca 00 00       	call   0x54e468
5419c5:	85 c0                	test   %eax,%eax
5419c7:	74 58                	je     0x541a21
5419c9:	6a 01                	push   $0x1
5419cb:	68 00 00 f0 3f       	push   $0x3ff00000
5419d0:	6a 00                	push   $0x0
5419d2:	b9 02 00 00 00       	mov    $0x2,%ecx
5419d7:	8b 55 b0             	mov    -0x50(%ebp),%edx
5419da:	8b 45 f4             	mov    -0xc(%ebp),%eax
5419dd:	e8 86 37 00 00       	call   0x545168
5419e2:	8d 45 80             	lea    -0x80(%ebp),%eax
5419e5:	50                   	push   %eax
5419e6:	8b 45 b0             	mov    -0x50(%ebp),%eax
5419e9:	0f b7 48 05          	movzwl 0x5(%eax),%ecx
5419ed:	c1 e9 08             	shr    $0x8,%ecx
5419f0:	8b 45 b0             	mov    -0x50(%ebp),%eax
5419f3:	0f b7 50 03          	movzwl 0x3(%eax),%edx
5419f7:	c1 ea 08             	shr    $0x8,%edx
5419fa:	8b 45 b0             	mov    -0x50(%ebp),%eax
5419fd:	0f b7 40 01          	movzwl 0x1(%eax),%eax
541a01:	c1 e8 08             	shr    $0x8,%eax
541a04:	e8 07 79 06 00       	call   0x5a9310
541a09:	8b 06                	mov    (%esi),%eax
541a0b:	66 8b 55 80          	mov    -0x80(%ebp),%dx
541a0f:	66 89 90 1c 01 00 00 	mov    %dx,0x11c(%eax)
541a16:	8a 55 82             	mov    -0x7e(%ebp),%dl
541a19:	88 90 1e 01 00 00    	mov    %dl,0x11e(%eax)
541a1f:	eb 55                	jmp    0x541a76
541a21:	6a 00                	push   $0x0
541a23:	68 00 00 f0 3f       	push   $0x3ff00000
541a28:	6a 00                	push   $0x0
541a2a:	8d 55 b7             	lea    -0x49(%ebp),%edx
541a2d:	b9 01 00 00 00       	mov    $0x1,%ecx
541a32:	8b 45 f4             	mov    -0xc(%ebp),%eax
541a35:	e8 2e 37 00 00       	call   0x545168
541a3a:	eb 3a                	jmp    0x541a76
541a3c:	8b 45 0c             	mov    0xc(%ebp),%eax
541a3f:	83 38 00             	cmpl   $0x0,(%eax)
541a42:	75 11                	jne    0x541a55
541a44:	b2 01                	mov    $0x1,%dl
541a46:	a1 a4 fd 5e 00       	mov    0x5efda4,%eax
541a4b:	e8 24 11 0b 00       	call   0x5f2b74
541a50:	8b 55 0c             	mov    0xc(%ebp),%edx
541a53:	89 02                	mov    %eax,(%edx)
541a55:	6a 08                	push   $0x8
541a57:	8b 45 0c             	mov    0xc(%ebp),%eax
541a5a:	8b 00                	mov    (%eax),%eax
541a5c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
541a5f:	8b 55 ec             	mov    -0x14(%ebp),%edx
541a62:	e8 d9 14 0b 00       	call   0x5f2f40
541a67:	8b 45 0c             	mov    0xc(%ebp),%eax
541a6a:	8b 00                	mov    (%eax),%eax
541a6c:	ba ff 00 00 00       	mov    $0xff,%edx
541a71:	e8 ae 2c 0b 00       	call   0x5f4724
541a76:	8b 06                	mov    (%esi),%eax
541a78:	80 b8 a5 03 00 00 00 	cmpb   $0x0,0x3a5(%eax)
541a7f:	74 1a                	je     0x541a9b
541a81:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
541a85:	75 14                	jne    0x541a9b
541a87:	83 7d d8 03          	cmpl   $0x3,-0x28(%ebp)
541a8b:	0f 84 8e 00 00 00    	je     0x541b1f
541a91:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
541a95:	0f 84 84 00 00 00    	je     0x541b1f
541a9b:	83 7d d8 03          	cmpl   $0x3,-0x28(%ebp)
541a9f:	75 14                	jne    0x541ab5
541aa1:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
541aa5:	7f 0e                	jg     0x541ab5
541aa7:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541aab:	7e 08                	jle    0x541ab5
541aad:	8b 45 f4             	mov    -0xc(%ebp),%eax
541ab0:	e8 2b 42 00 00       	call   0x545ce0
541ab5:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
541ab9:	75 14                	jne    0x541acf
541abb:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
541abf:	7d 0e                	jge    0x541acf
541ac1:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541ac5:	7e 08                	jle    0x541acf
541ac7:	8b 45 f4             	mov    -0xc(%ebp),%eax
541aca:	e8 11 42 00 00       	call   0x545ce0
541acf:	83 7d dc 10          	cmpl   $0x10,-0x24(%ebp)
541ad3:	75 08                	jne    0x541add
541ad5:	8b 45 f4             	mov    -0xc(%ebp),%eax
541ad8:	e8 23 37 00 00       	call   0x545200
541add:	83 7d dc 08          	cmpl   $0x8,-0x24(%ebp)
541ae1:	7d 0e                	jge    0x541af1
541ae3:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541ae7:	7e 08                	jle    0x541af1
541ae9:	8b 45 f4             	mov    -0xc(%ebp),%eax
541aec:	e8 73 31 00 00       	call   0x544c64
541af1:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
541af5:	74 06                	je     0x541afd
541af7:	83 7d d8 04          	cmpl   $0x4,-0x28(%ebp)
541afb:	75 0e                	jne    0x541b0b
541afd:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541b01:	7e 08                	jle    0x541b0b
541b03:	8b 45 f4             	mov    -0xc(%ebp),%eax
541b06:	e8 f5 41 00 00       	call   0x545d00
541b0b:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541b0f:	7e 08                	jle    0x541b19
541b11:	8b 45 f4             	mov    -0xc(%ebp),%eax
541b14:	e8 33 31 00 00       	call   0x544c4c
541b19:	c6 45 9b 00          	movb   $0x0,-0x65(%ebp)
541b1d:	eb 04                	jmp    0x541b23
541b1f:	c6 45 9b 01          	movb   $0x1,-0x65(%ebp)
541b23:	8b 45 f4             	mov    -0xc(%ebp),%eax
541b26:	e8 7d 31 00 00       	call   0x544ca8
541b2b:	89 45 cc             	mov    %eax,-0x34(%ebp)
541b2e:	8b 55 f0             	mov    -0x10(%ebp),%edx
541b31:	8b 45 f4             	mov    -0xc(%ebp),%eax
541b34:	e8 3f 0d 00 00       	call   0x542878
541b39:	8b 06                	mov    (%esi),%eax
541b3b:	8b 55 ec             	mov    -0x14(%ebp),%edx
541b3e:	89 50 14             	mov    %edx,0x14(%eax)
541b41:	8b 06                	mov    (%esi),%eax
541b43:	8b 55 e8             	mov    -0x18(%ebp),%edx
541b46:	89 50 18             	mov    %edx,0x18(%eax)
541b49:	8b 06                	mov    (%esi),%eax
541b4b:	8b 55 dc             	mov    -0x24(%ebp),%edx
541b4e:	89 50 08             	mov    %edx,0x8(%eax)
541b51:	8b 45 d8             	mov    -0x28(%ebp),%eax
541b54:	83 f8 06             	cmp    $0x6,%eax
541b57:	77 58                	ja     0x541bb1
541b59:	ff 24 85 60 1b 54 00 	jmp    *0x541b60(,%eax,4)
541b60:	7c 1b                	jl     0x541b7d
541b62:	54                   	push   %esp
541b63:	00 b1 1b 54 00 92    	add    %dh,-0x6dffabe5(%ecx)
541b69:	1b 54 00 87          	sbb    -0x79(%eax,%eax,1),%edx
541b6d:	1b 54 00 a8          	sbb    -0x58(%eax,%eax,1),%edx
541b71:	1b 54 00 b1          	sbb    -0x4f(%eax,%eax,1),%edx
541b75:	1b 54 00 9d          	sbb    -0x63(%eax,%eax,1),%edx
541b79:	1b 54 00 8b          	sbb    -0x75(%eax,%eax,1),%edx
541b7d:	06                   	push   %es
541b7e:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
541b85:	eb 2a                	jmp    0x541bb1
541b87:	8b 06                	mov    (%esi),%eax
541b89:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
541b90:	eb 1f                	jmp    0x541bb1
541b92:	8b 06                	mov    (%esi),%eax
541b94:	c7 40 10 03 00 00 00 	movl   $0x3,0x10(%eax)
541b9b:	eb 14                	jmp    0x541bb1
541b9d:	8b 06                	mov    (%esi),%eax
541b9f:	c7 40 10 04 00 00 00 	movl   $0x4,0x10(%eax)
541ba6:	eb 09                	jmp    0x541bb1
541ba8:	8b 06                	mov    (%esi),%eax
541baa:	c7 40 10 02 00 00 00 	movl   $0x2,0x10(%eax)
541bb1:	8b 55 f0             	mov    -0x10(%ebp),%edx
541bb4:	8b 45 f4             	mov    -0xc(%ebp),%eax
541bb7:	e8 50 c7 00 00       	call   0x54e30c
541bbc:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
541bc2:	33 c0                	xor    %eax,%eax
541bc4:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
541bca:	df ad 78 ff ff ff    	fildll -0x88(%ebp)
541bd0:	d8 35 ac 20 54 00    	fdivs  0x5420ac
541bd6:	db 2d b0 20 54 00    	fldt   0x5420b0
541bdc:	de c9                	fmulp  %st,%st(1)
541bde:	e8 dd 10 ec ff       	call   0x402cc0
541be3:	8b d0                	mov    %eax,%edx
541be5:	8b 06                	mov    (%esi),%eax
541be7:	e8 d0 ba 08 00       	call   0x5cd6bc
541bec:	8b 06                	mov    (%esi),%eax
541bee:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
541bf2:	75 0f                	jne    0x541c03
541bf4:	8b 15 9c 71 6a 00    	mov    0x6a719c,%edx
541bfa:	8b 12                	mov    (%edx),%edx
541bfc:	8b 06                	mov    (%esi),%eax
541bfe:	e8 b9 ba 08 00       	call   0x5cd6bc
541c03:	8b 55 f0             	mov    -0x10(%ebp),%edx
541c06:	8b 45 f4             	mov    -0xc(%ebp),%eax
541c09:	e8 1e c7 00 00       	call   0x54e32c
541c0e:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
541c14:	33 c0                	xor    %eax,%eax
541c16:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
541c1c:	df ad 78 ff ff ff    	fildll -0x88(%ebp)
541c22:	d8 35 ac 20 54 00    	fdivs  0x5420ac
541c28:	db 2d b0 20 54 00    	fldt   0x5420b0
541c2e:	de c9                	fmulp  %st,%st(1)
541c30:	e8 8b 10 ec ff       	call   0x402cc0
541c35:	8b d0                	mov    %eax,%edx
541c37:	8b 06                	mov    (%esi),%eax
541c39:	e8 ae ba 08 00       	call   0x5cd6ec
541c3e:	8b 06                	mov    (%esi),%eax
541c40:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
541c44:	75 0f                	jne    0x541c55
541c46:	8b 15 00 71 6a 00    	mov    0x6a7100,%edx
541c4c:	8b 12                	mov    (%edx),%edx
541c4e:	8b 06                	mov    (%esi),%eax
541c50:	e8 97 ba 08 00       	call   0x5cd6ec
541c55:	8b 06                	mov    (%esi),%eax
541c57:	8b 80 a8 03 00 00    	mov    0x3a8(%eax),%eax
541c5d:	85 c0                	test   %eax,%eax
541c5f:	74 19                	je     0x541c7a
541c61:	e8 66 0b ec ff       	call   0x4027cc
541c66:	8b 06                	mov    (%esi),%eax
541c68:	33 d2                	xor    %edx,%edx
541c6a:	89 90 a8 03 00 00    	mov    %edx,0x3a8(%eax)
541c70:	8b 06                	mov    (%esi),%eax
541c72:	33 d2                	xor    %edx,%edx
541c74:	89 90 ac 03 00 00    	mov    %edx,0x3ac(%eax)
541c7a:	83 7d d8 03          	cmpl   $0x3,-0x28(%ebp)
541c7e:	75 79                	jne    0x541cf9
541c80:	8d 45 a8             	lea    -0x58(%ebp),%eax
541c83:	50                   	push   %eax
541c84:	8d 4d ac             	lea    -0x54(%ebp),%ecx
541c87:	8b 55 f0             	mov    -0x10(%ebp),%edx
541c8a:	8b 45 f4             	mov    -0xc(%ebp),%eax
541c8d:	e8 5a cd 00 00       	call   0x54e9ec
541c92:	8b 06                	mov    (%esi),%eax
541c94:	8b 55 a8             	mov    -0x58(%ebp),%edx
541c97:	89 90 ac 03 00 00    	mov    %edx,0x3ac(%eax)
541c9d:	8b 45 a8             	mov    -0x58(%ebp),%eax
541ca0:	8d 04 40             	lea    (%eax,%eax,2),%eax
541ca3:	e8 04 0b ec ff       	call   0x4027ac
541ca8:	8b 16                	mov    (%esi),%edx
541caa:	89 82 a8 03 00 00    	mov    %eax,0x3a8(%edx)
541cb0:	8b 45 a8             	mov    -0x58(%ebp),%eax
541cb3:	48                   	dec    %eax
541cb4:	85 c0                	test   %eax,%eax
541cb6:	7c 41                	jl     0x541cf9
541cb8:	40                   	inc    %eax
541cb9:	89 45 90             	mov    %eax,-0x70(%ebp)
541cbc:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
541cc3:	8b 45 c4             	mov    -0x3c(%ebp),%eax
541cc6:	8d 04 40             	lea    (%eax,%eax,2),%eax
541cc9:	8b 16                	mov    (%esi),%edx
541ccb:	8b 92 a8 03 00 00    	mov    0x3a8(%edx),%edx
541cd1:	8b 4d ac             	mov    -0x54(%ebp),%ecx
541cd4:	8a 09                	mov    (%ecx),%cl
541cd6:	88 4c 02 02          	mov    %cl,0x2(%edx,%eax,1)
541cda:	8b 4d ac             	mov    -0x54(%ebp),%ecx
541cdd:	8a 49 01             	mov    0x1(%ecx),%cl
541ce0:	88 4c 02 01          	mov    %cl,0x1(%edx,%eax,1)
541ce4:	8b 4d ac             	mov    -0x54(%ebp),%ecx
541ce7:	8a 49 02             	mov    0x2(%ecx),%cl
541cea:	88 0c 02             	mov    %cl,(%edx,%eax,1)
541ced:	83 45 ac 03          	addl   $0x3,-0x54(%ebp)
541cf1:	ff 45 c4             	incl   -0x3c(%ebp)
541cf4:	ff 4d 90             	decl   -0x70(%ebp)
541cf7:	75 ca                	jne    0x541cc3
541cf9:	8b 55 f0             	mov    -0x10(%ebp),%edx
541cfc:	8b 45 f4             	mov    -0xc(%ebp),%eax
541cff:	e8 e8 c5 00 00       	call   0x54e2ec
541d04:	84 c0                	test   %al,%al
541d06:	75 0b                	jne    0x541d13
541d08:	8b 06                	mov    (%esi),%eax
541d0a:	c6 80 1b 01 00 00 00 	movb   $0x0,0x11b(%eax)
541d11:	eb 09                	jmp    0x541d1c
541d13:	8b 06                	mov    (%esi),%eax
541d15:	c6 80 1b 01 00 00 01 	movb   $0x1,0x11b(%eax)
541d1c:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
541d20:	74 1f                	je     0x541d41
541d22:	8d 55 f0             	lea    -0x10(%ebp),%edx
541d25:	8d 45 f4             	lea    -0xc(%ebp),%eax
541d28:	33 c9                	xor    %ecx,%ecx
541d2a:	e8 11 15 00 00       	call   0x543240
541d2f:	e8 bc 25 ec ff       	call   0x4042f0
541d34:	33 c0                	xor    %eax,%eax
541d36:	5a                   	pop    %edx
541d37:	59                   	pop    %ecx
541d38:	59                   	pop    %ecx
541d39:	64 89 10             	mov    %edx,%fs:(%eax)
541d3c:	e9 35 03 00 00       	jmp    0x542076
541d41:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
541d45:	75 15                	jne    0x541d5c
541d47:	6a 01                	push   $0x1
541d49:	8b 4d e8             	mov    -0x18(%ebp),%ecx
541d4c:	8b 55 ec             	mov    -0x14(%ebp),%edx
541d4f:	8b 45 f8             	mov    -0x8(%ebp),%eax
541d52:	8b 30                	mov    (%eax),%esi
541d54:	ff 56 24             	call   *0x24(%esi)
541d57:	e9 e1 00 00 00       	jmp    0x541e3d
541d5c:	80 7d 9b 00          	cmpb   $0x0,-0x65(%ebp)
541d60:	0f 84 c7 00 00 00    	je     0x541e2d
541d66:	8b 06                	mov    (%esi),%eax
541d68:	83 78 10 01          	cmpl   $0x1,0x10(%eax)
541d6c:	0f 85 bb 00 00 00    	jne    0x541e2d
541d72:	8b 06                	mov    (%esi),%eax
541d74:	83 78 08 08          	cmpl   $0x8,0x8(%eax)