418dad:	e8 73 21 ff ff       	call   0x40af25
418db2:	21 7d fc             	and    %edi,-0x4(%ebp)
418db5:	8b 75 08             	mov    0x8(%ebp),%esi
418db8:	39 7e 14             	cmp    %edi,0x14(%esi)
418dbb:	7e 2f                	jle    0x418dec
418dbd:	8b 03                	mov    (%ebx),%eax
418dbf:	89 45 e8             	mov    %eax,-0x18(%ebp)
418dc2:	ff 76 0c             	push   0xc(%esi)
418dc5:	8b cb                	mov    %ebx,%ecx
418dc7:	e8 9a 31 00 00       	call   0x41bf66
418dcc:	84 c0                	test   %al,%al
418dce:	0f 84 b7 00 00 00    	je     0x418e8b
418dd4:	8b 0b                	mov    (%ebx),%ecx
418dd6:	8b 46 14             	mov    0x14(%esi),%eax
418dd9:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
418ddc:	75 03                	jne    0x418de1
418dde:	8d 78 ff             	lea    -0x1(%eax),%edi
418de1:	47                   	inc    %edi
418de2:	89 4d e8             	mov    %ecx,-0x18(%ebp)
418de5:	89 7d ec             	mov    %edi,-0x14(%ebp)
418de8:	3b f8                	cmp    %eax,%edi
418dea:	7c d6                	jl     0x418dc2
418dec:	53                   	push   %ebx
418ded:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418df0:	e8 30 21 ff ff       	call   0x40af25
418df5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
418df9:	8b cb                	mov    %ebx,%ecx
418dfb:	8b 46 1c             	mov    0x1c(%esi),%eax
418dfe:	8b 3b                	mov    (%ebx),%edi
418e00:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
418e04:	ff 70 0c             	push   0xc(%eax)
418e07:	e8 5a 31 00 00       	call   0x41bf66
418e0c:	84 c0                	test   %al,%al
418e0e:	74 17                	je     0x418e27
418e10:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418e14:	0f 84 80 00 00 00    	je     0x418e9a
418e1a:	53                   	push   %ebx
418e1b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418e1e:	e8 3b 68 ff ff       	call   0x40f65e
418e23:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
418e27:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
418e2b:	74 0e                	je     0x418e3b
418e2d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
418e30:	8b c1                	mov    %ecx,%eax
418e32:	41                   	inc    %ecx
418e33:	89 4d ec             	mov    %ecx,-0x14(%ebp)
418e36:	3b 46 18             	cmp    0x18(%esi),%eax
418e39:	7d 64                	jge    0x418e9f
418e3b:	8d 45 ac             	lea    -0x54(%ebp),%eax
418e3e:	89 3b                	mov    %edi,(%ebx)
418e40:	50                   	push   %eax
418e41:	8d 4b 04             	lea    0x4(%ebx),%ecx
418e44:	e8 16 6e ff ff       	call   0x40fc5f
418e49:	ff 76 0c             	push   0xc(%esi)
418e4c:	8b cb                	mov    %ebx,%ecx
418e4e:	e8 13 31 00 00       	call   0x41bf66
418e53:	84 c0                	test   %al,%al
418e55:	74 48                	je     0x418e9f
418e57:	8b 45 08             	mov    0x8(%ebp),%eax
418e5a:	8b cb                	mov    %ebx,%ecx
418e5c:	8b 33                	mov    (%ebx),%esi
418e5e:	8b 40 1c             	mov    0x1c(%eax),%eax
418e61:	ff 70 0c             	push   0xc(%eax)
418e64:	e8 fd 30 00 00       	call   0x41bf66
418e69:	84 c0                	test   %al,%al
418e6b:	74 13                	je     0x418e80
418e6d:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418e71:	74 27                	je     0x418e9a
418e73:	53                   	push   %ebx
418e74:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418e77:	e8 e2 67 ff ff       	call   0x40f65e
418e7c:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
418e80:	3b fe                	cmp    %esi,%edi
418e82:	74 1b                	je     0x418e9f
418e84:	8b fe                	mov    %esi,%edi
418e86:	8b 75 08             	mov    0x8(%ebp),%esi
418e89:	eb 9c                	jmp    0x418e27
418e8b:	8d 45 a8             	lea    -0x58(%ebp),%eax
418e8e:	8b cb                	mov    %ebx,%ecx
418e90:	50                   	push   %eax
418e91:	e8 c8 67 ff ff       	call   0x40f65e
418e96:	32 db                	xor    %bl,%bl
418e98:	eb 29                	jmp    0x418ec3
418e9a:	33 db                	xor    %ebx,%ebx
418e9c:	43                   	inc    %ebx
418e9d:	eb 18                	jmp    0x418eb7
418e9f:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
418ea3:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418ea6:	8d 45 c8             	lea    -0x38(%ebp),%eax
418ea9:	0f 44 c1             	cmove  %ecx,%eax
418eac:	8b cb                	mov    %ebx,%ecx
418eae:	50                   	push   %eax
418eaf:	e8 aa 67 ff ff       	call   0x40f65e
418eb4:	8a 5d f3             	mov    -0xd(%ebp),%bl
418eb7:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
418ebb:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418ebe:	e8 71 4b ff ff       	call   0x40da34
418ec3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
418ec7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418eca:	e8 65 4b ff ff       	call   0x40da34
418ecf:	8a c3                	mov    %bl,%al
418ed1:	e8 3d 6b 02 00       	call   0x43fa13
418ed6:	c2 08 00             	ret    $0x8
418ed9:	6a 34                	push   $0x34
418edb:	b8 2e f4 48 00       	mov    $0x48f42e,%eax
418ee0:	e8 65 6b 02 00       	call   0x43fa4a
418ee5:	8b f9                	mov    %ecx,%edi
418ee7:	8b 75 08             	mov    0x8(%ebp),%esi
418eea:	83 7e 24 01          	cmpl   $0x1,0x24(%esi)
418eee:	75 0e                	jne    0x418efe
418ef0:	ff 75 0c             	push   0xc(%ebp)
418ef3:	56                   	push   %esi
418ef4:	e8 13 fc ff ff       	call   0x418b0c
418ef9:	e9 38 01 00 00       	jmp    0x419036
418efe:	57                   	push   %edi
418eff:	8d 4d c0             	lea    -0x40(%ebp),%ecx
418f02:	33 db                	xor    %ebx,%ebx
418f04:	e8 1c 1f ff ff       	call   0x40ae25
418f09:	89 5d fc             	mov    %ebx,-0x4(%ebp)
418f0c:	8b 4e 20             	mov    0x20(%esi),%ecx
418f0f:	8b 57 40             	mov    0x40(%edi),%edx
418f12:	89 4d f0             	mov    %ecx,-0x10(%ebp)
418f15:	89 55 e8             	mov    %edx,-0x18(%ebp)
418f18:	8b 04 ca             	mov    (%edx,%ecx,8),%eax
418f1b:	89 45 e0             	mov    %eax,-0x20(%ebp)
418f1e:	8b 44 ca 04          	mov    0x4(%edx,%ecx,8),%eax
418f22:	89 45 e4             	mov    %eax,-0x1c(%ebp)
418f25:	8b 07                	mov    (%edi),%eax
418f27:	89 45 ec             	mov    %eax,-0x14(%ebp)
418f2a:	8b 45 10             	mov    0x10(%ebp),%eax
418f2d:	85 c0                	test   %eax,%eax
418f2f:	74 12                	je     0x418f43
418f31:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
418f34:	8b 37                	mov    (%edi),%esi
418f36:	39 31                	cmp    %esi,(%ecx)
418f38:	8b 75 08             	mov    0x8(%ebp),%esi
418f3b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418f3e:	88 5d 0b             	mov    %bl,0xb(%ebp)
418f41:	74 04                	je     0x418f47
418f43:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
418f47:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
418f4b:	7c 09                	jl     0x418f56
418f4d:	39 46 18             	cmp    %eax,0x18(%esi)
418f50:	0f 8e a1 00 00 00    	jle    0x418ff7
418f56:	3b 46 14             	cmp    0x14(%esi),%eax
418f59:	7d 1d                	jge    0x418f78
418f5b:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
418f5f:	0f 84 92 00 00 00    	je     0x418ff7
418f65:	40                   	inc    %eax
418f66:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
418f69:	8d 45 ec             	lea    -0x14(%ebp),%eax
418f6c:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
418f70:	ff 76 0c             	push   0xc(%esi)
418f73:	e9 85 00 00 00       	jmp    0x418ffd
418f78:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418f7c:	75 33                	jne    0x418fb1
418f7e:	8b 46 1c             	mov    0x1c(%esi),%eax
418f81:	8b cf                	mov    %edi,%ecx
418f83:	ff 70 0c             	push   0xc(%eax)
418f86:	e8 87 28 00 00       	call   0x41b812
418f8b:	8a d8                	mov    %al,%bl
418f8d:	84 db                	test   %bl,%bl
418f8f:	0f 85 80 00 00 00    	jne    0x419015
418f95:	38 45 0b             	cmp    %al,0xb(%ebp)
418f98:	74 70                	je     0x41900a
418f9a:	8d 45 c0             	lea    -0x40(%ebp),%eax
418f9d:	8b cf                	mov    %edi,%ecx
418f9f:	50                   	push   %eax
418fa0:	e8 47 66 ff ff       	call   0x40f5ec
418fa5:	8b 45 10             	mov    0x10(%ebp),%eax
418fa8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418fab:	40                   	inc    %eax
418fac:	8b 55 e8             	mov    -0x18(%ebp),%edx
418faf:	eb b5                	jmp    0x418f66
418fb1:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
418fb5:	74 1f                	je     0x418fd6
418fb7:	40                   	inc    %eax
418fb8:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
418fbb:	8d 45 ec             	lea    -0x14(%ebp),%eax
418fbe:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
418fc2:	8b cf                	mov    %edi,%ecx
418fc4:	ff 76 0c             	push   0xc(%esi)
418fc7:	e8 46 28 00 00       	call   0x41b812
418fcc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418fcf:	8a d8                	mov    %al,%bl
418fd1:	8b 55 e8             	mov    -0x18(%ebp),%edx
418fd4:	eb 05                	jmp    0x418fdb
418fd6:	83 f8 01             	cmp    $0x1,%eax
418fd9:	7f 2f                	jg     0x41900a
418fdb:	84 db                	test   %bl,%bl
418fdd:	75 36                	jne    0x419015
418fdf:	8b 45 e0             	mov    -0x20(%ebp),%eax
418fe2:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
418fe5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
418fe8:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
418fec:	8d 45 c0             	lea    -0x40(%ebp),%eax
418fef:	50                   	push   %eax
418ff0:	8b cf                	mov    %edi,%ecx
418ff2:	e8 f5 65 ff ff       	call   0x40f5ec
418ff7:	8b 46 1c             	mov    0x1c(%esi),%eax
418ffa:	ff 70 0c             	push   0xc(%eax)
418ffd:	8b cf                	mov    %edi,%ecx
418fff:	e8 0e 28 00 00       	call   0x41b812
419004:	8a d8                	mov    %al,%bl
419006:	84 db                	test   %bl,%bl
419008:	75 0b                	jne    0x419015
41900a:	8d 45 c0             	lea    -0x40(%ebp),%eax
41900d:	8b cf                	mov    %edi,%ecx
41900f:	50                   	push   %eax
419010:	e8 d7 65 ff ff       	call   0x40f5ec
419015:	8b 45 f0             	mov    -0x10(%ebp),%eax
419018:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41901b:	8b 55 e0             	mov    -0x20(%ebp),%edx
41901e:	89 14 c1             	mov    %edx,(%ecx,%eax,8)
419021:	8b 55 e4             	mov    -0x1c(%ebp),%edx
419024:	89 54 c1 04          	mov    %edx,0x4(%ecx,%eax,8)
419028:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41902c:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41902f:	e8 64 49 ff ff       	call   0x40d998
419034:	8a c3                	mov    %bl,%al
419036:	e8 d8 69 02 00       	call   0x43fa13
41903b:	c2 0c 00             	ret    $0xc
41903e:	6a 34                	push   $0x34
419040:	b8 51 f4 48 00       	mov    $0x48f451,%eax
419045:	e8 00 6a 02 00       	call   0x43fa4a
41904a:	8b f9                	mov    %ecx,%edi
41904c:	8b 75 08             	mov    0x8(%ebp),%esi
41904f:	83 7e 24 01          	cmpl   $0x1,0x24(%esi)
419053:	75 0e                	jne    0x419063
419055:	ff 75 0c             	push   0xc(%ebp)
419058:	56                   	push   %esi
419059:	e8 f5 fb ff ff       	call   0x418c53
41905e:	e9 38 01 00 00       	jmp    0x41919b
419063:	57                   	push   %edi
419064:	8d 4d c0             	lea    -0x40(%ebp),%ecx
419067:	33 db                	xor    %ebx,%ebx
419069:	e8 4f 1e ff ff       	call   0x40aebd
41906e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
419071:	8b 4e 20             	mov    0x20(%esi),%ecx
419074:	8b 57 40             	mov    0x40(%edi),%edx
419077:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41907a:	89 55 e8             	mov    %edx,-0x18(%ebp)
41907d:	8b 04 ca             	mov    (%edx,%ecx,8),%eax
419080:	89 45 e0             	mov    %eax,-0x20(%ebp)
419083:	8b 44 ca 04          	mov    0x4(%edx,%ecx,8),%eax
419087:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41908a:	8b 07                	mov    (%edi),%eax
41908c:	89 45 ec             	mov    %eax,-0x14(%ebp)
41908f:	8b 45 10             	mov    0x10(%ebp),%eax
419092:	85 c0                	test   %eax,%eax
419094:	74 12                	je     0x4190a8
419096:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
419099:	8b 37                	mov    (%edi),%esi
41909b:	39 31                	cmp    %esi,(%ecx)
41909d:	8b 75 08             	mov    0x8(%ebp),%esi
4190a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4190a3:	88 5d 0b             	mov    %bl,0xb(%ebp)
4190a6:	74 04                	je     0x4190ac
4190a8:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
4190ac:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
4190b0:	7c 09                	jl     0x4190bb
4190b2:	39 46 18             	cmp    %eax,0x18(%esi)
4190b5:	0f 8e a1 00 00 00    	jle    0x41915c
4190bb:	3b 46 14             	cmp    0x14(%esi),%eax
4190be:	7d 1d                	jge    0x4190dd
4190c0:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
4190c4:	0f 84 92 00 00 00    	je     0x41915c
4190ca:	40                   	inc    %eax
4190cb:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
4190ce:	8d 45 ec             	lea    -0x14(%ebp),%eax
4190d1:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
4190d5:	ff 76 0c             	push   0xc(%esi)
4190d8:	e9 85 00 00 00       	jmp    0x419162
4190dd:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4190e1:	75 33                	jne    0x419116
4190e3:	8b 46 1c             	mov    0x1c(%esi),%eax
4190e6:	8b cf                	mov    %edi,%ecx
4190e8:	ff 70 0c             	push   0xc(%eax)
4190eb:	e8 d6 2a 00 00       	call   0x41bbc6
4190f0:	8a d8                	mov    %al,%bl
4190f2:	84 db                	test   %bl,%bl
4190f4:	0f 85 80 00 00 00    	jne    0x41917a
4190fa:	38 45 0b             	cmp    %al,0xb(%ebp)
4190fd:	74 70                	je     0x41916f
4190ff:	8d 45 c0             	lea    -0x40(%ebp),%eax
419102:	8b cf                	mov    %edi,%ecx
419104:	50                   	push   %eax
419105:	e8 1b 65 ff ff       	call   0x40f625
41910a:	8b 45 10             	mov    0x10(%ebp),%eax
41910d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
419110:	40                   	inc    %eax
419111:	8b 55 e8             	mov    -0x18(%ebp),%edx
419114:	eb b5                	jmp    0x4190cb
419116:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
41911a:	74 1f                	je     0x41913b
41911c:	40                   	inc    %eax
41911d:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
419120:	8d 45 ec             	lea    -0x14(%ebp),%eax
419123:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
419127:	8b cf                	mov    %edi,%ecx
419129:	ff 76 0c             	push   0xc(%esi)
41912c:	e8 95 2a 00 00       	call   0x41bbc6
419131:	8b 4d f0             	mov    -0x10(%ebp),%ecx
419134:	8a d8                	mov    %al,%bl
419136:	8b 55 e8             	mov    -0x18(%ebp),%edx
419139:	eb 05                	jmp    0x419140
41913b:	83 f8 01             	cmp    $0x1,%eax
41913e:	7f 2f                	jg     0x41916f
419140:	84 db                	test   %bl,%bl
419142:	75 36                	jne    0x41917a
419144:	8b 45 e0             	mov    -0x20(%ebp),%eax
419147:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
41914a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41914d:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
419151:	8d 45 c0             	lea    -0x40(%ebp),%eax
419154:	50                   	push   %eax
419155:	8b cf                	mov    %edi,%ecx
419157:	e8 c9 64 ff ff       	call   0x40f625
41915c:	8b 46 1c             	mov    0x1c(%esi),%eax
41915f:	ff 70 0c             	push   0xc(%eax)
419162:	8b cf                	mov    %edi,%ecx
419164:	e8 5d 2a 00 00       	call   0x41bbc6
419169:	8a d8                	mov    %al,%bl
41916b:	84 db                	test   %bl,%bl
41916d:	75 0b                	jne    0x41917a
41916f:	8d 45 c0             	lea    -0x40(%ebp),%eax
419172:	8b cf                	mov    %edi,%ecx
419174:	50                   	push   %eax
419175:	e8 ab 64 ff ff       	call   0x40f625
41917a:	8b 45 f0             	mov    -0x10(%ebp),%eax
41917d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
419180:	8b 55 e0             	mov    -0x20(%ebp),%edx
419183:	89 14 c1             	mov    %edx,(%ecx,%eax,8)
419186:	8b 55 e4             	mov    -0x1c(%ebp),%edx
419189:	89 54 c1 04          	mov    %edx,0x4(%ecx,%eax,8)
41918d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
419191:	8d 4d c0             	lea    -0x40(%ebp),%ecx
419194:	e8 4d 48 ff ff       	call   0x40d9e6
419199:	8a c3                	mov    %bl,%al
41919b:	e8 73 68 02 00       	call   0x43fa13
4191a0:	c2 0c 00             	ret    $0xc
4191a3:	6a 34                	push   $0x34
4191a5:	b8 74 f4 48 00       	mov    $0x48f474,%eax
4191aa:	e8 9b 68 02 00       	call   0x43fa4a
4191af:	8b f9                	mov    %ecx,%edi
4191b1:	8b 75 08             	mov    0x8(%ebp),%esi
4191b4:	83 7e 24 01          	cmpl   $0x1,0x24(%esi)
4191b8:	75 0e                	jne    0x4191c8
4191ba:	ff 75 0c             	push   0xc(%ebp)
4191bd:	56                   	push   %esi