40f967:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40f96a:	83 7d fc 32          	cmpl   $0x32,-0x4(%ebp)
40f96e:	7d 28                	jge    0x40f998
40f970:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40f976:	52                   	push   %edx
40f977:	8d 45 ac             	lea    -0x54(%ebp),%eax
40f97a:	50                   	push   %eax
40f97b:	e8 10 e6 ff ff       	call   0x40df90
40f980:	83 c4 08             	add    $0x8,%esp
40f983:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40f986:	51                   	push   %ecx
40f987:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40f98d:	52                   	push   %edx
40f98e:	e8 fd e5 ff ff       	call   0x40df90
40f993:	83 c4 08             	add    $0x8,%esp
40f996:	eb c9                	jmp    0x40f961
40f998:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
40f99e:	50                   	push   %eax
40f99f:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40f9a5:	51                   	push   %ecx
40f9a6:	8d 95 2c fd ff ff    	lea    -0x2d4(%ebp),%edx
40f9ac:	52                   	push   %edx
40f9ad:	e8 8e d8 ff ff       	call   0x40d240
40f9b2:	83 c4 0c             	add    $0xc,%esp
40f9b5:	8d 85 2c fd ff ff    	lea    -0x2d4(%ebp),%eax
40f9bb:	50                   	push   %eax
40f9bc:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40f9c2:	51                   	push   %ecx
40f9c3:	e8 c8 e5 ff ff       	call   0x40df90
40f9c8:	83 c4 08             	add    $0x8,%esp
40f9cb:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40f9d1:	52                   	push   %edx
40f9d2:	8d 45 ac             	lea    -0x54(%ebp),%eax
40f9d5:	50                   	push   %eax
40f9d6:	e8 b5 e5 ff ff       	call   0x40df90
40f9db:	83 c4 08             	add    $0x8,%esp
40f9de:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40f9e5:	eb 09                	jmp    0x40f9f0
40f9e7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f9ea:	83 c1 02             	add    $0x2,%ecx
40f9ed:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40f9f0:	83 7d fc 64          	cmpl   $0x64,-0x4(%ebp)
40f9f4:	7d 28                	jge    0x40fa1e
40f9f6:	8d 55 ac             	lea    -0x54(%ebp),%edx
40f9f9:	52                   	push   %edx
40f9fa:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
40fa00:	50                   	push   %eax
40fa01:	e8 8a e5 ff ff       	call   0x40df90
40fa06:	83 c4 08             	add    $0x8,%esp
40fa09:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40fa0f:	51                   	push   %ecx
40fa10:	8d 55 ac             	lea    -0x54(%ebp),%edx
40fa13:	52                   	push   %edx
40fa14:	e8 77 e5 ff ff       	call   0x40df90
40fa19:	83 c4 08             	add    $0x8,%esp
40fa1c:	eb c9                	jmp    0x40f9e7
40fa1e:	8d 85 2c fd ff ff    	lea    -0x2d4(%ebp),%eax
40fa24:	50                   	push   %eax
40fa25:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40fa28:	51                   	push   %ecx
40fa29:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40fa2f:	52                   	push   %edx
40fa30:	e8 0b d8 ff ff       	call   0x40d240
40fa35:	83 c4 0c             	add    $0xc,%esp
40fa38:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
40fa3e:	50                   	push   %eax
40fa3f:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40fa42:	51                   	push   %ecx
40fa43:	e8 48 e5 ff ff       	call   0x40df90
40fa48:	83 c4 08             	add    $0x8,%esp
40fa4b:	8d 55 ac             	lea    -0x54(%ebp),%edx
40fa4e:	52                   	push   %edx
40fa4f:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
40fa55:	50                   	push   %eax
40fa56:	e8 35 e5 ff ff       	call   0x40df90
40fa5b:	83 c4 08             	add    $0x8,%esp
40fa5e:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40fa65:	eb 09                	jmp    0x40fa70
40fa67:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fa6a:	83 c1 02             	add    $0x2,%ecx
40fa6d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40fa70:	83 7d fc 32          	cmpl   $0x32,-0x4(%ebp)
40fa74:	7d 28                	jge    0x40fa9e
40fa76:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40fa7c:	52                   	push   %edx
40fa7d:	8d 45 ac             	lea    -0x54(%ebp),%eax
40fa80:	50                   	push   %eax
40fa81:	e8 0a e5 ff ff       	call   0x40df90
40fa86:	83 c4 08             	add    $0x8,%esp
40fa89:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40fa8c:	51                   	push   %ecx
40fa8d:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40fa93:	52                   	push   %edx
40fa94:	e8 f7 e4 ff ff       	call   0x40df90
40fa99:	83 c4 08             	add    $0x8,%esp
40fa9c:	eb c9                	jmp    0x40fa67
40fa9e:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
40faa4:	50                   	push   %eax
40faa5:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40faab:	51                   	push   %ecx
40faac:	8d 55 ac             	lea    -0x54(%ebp),%edx
40faaf:	52                   	push   %edx
40fab0:	e8 8b d7 ff ff       	call   0x40d240
40fab5:	83 c4 0c             	add    $0xc,%esp
40fab8:	8d 45 ac             	lea    -0x54(%ebp),%eax
40fabb:	50                   	push   %eax
40fabc:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40fac2:	51                   	push   %ecx
40fac3:	e8 c8 e4 ff ff       	call   0x40df90
40fac8:	83 c4 08             	add    $0x8,%esp
40facb:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40fad1:	52                   	push   %edx
40fad2:	8d 45 ac             	lea    -0x54(%ebp),%eax
40fad5:	50                   	push   %eax
40fad6:	e8 b5 e4 ff ff       	call   0x40df90
40fadb:	83 c4 08             	add    $0x8,%esp
40fade:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40fae1:	51                   	push   %ecx
40fae2:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40fae8:	52                   	push   %edx
40fae9:	e8 a2 e4 ff ff       	call   0x40df90
40faee:	83 c4 08             	add    $0x8,%esp
40faf1:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
40faf7:	50                   	push   %eax
40faf8:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40fafb:	51                   	push   %ecx
40fafc:	e8 8f e4 ff ff       	call   0x40df90
40fb01:	83 c4 08             	add    $0x8,%esp
40fb04:	8d 55 ac             	lea    -0x54(%ebp),%edx
40fb07:	52                   	push   %edx
40fb08:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
40fb0e:	50                   	push   %eax
40fb0f:	e8 7c e4 ff ff       	call   0x40df90
40fb14:	83 c4 08             	add    $0x8,%esp
40fb17:	8d 8d dc fc ff ff    	lea    -0x324(%ebp),%ecx
40fb1d:	51                   	push   %ecx
40fb1e:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
40fb24:	52                   	push   %edx
40fb25:	8b 45 08             	mov    0x8(%ebp),%eax
40fb28:	50                   	push   %eax
40fb29:	e8 12 d7 ff ff       	call   0x40d240
40fb2e:	83 c4 0c             	add    $0xc,%esp
40fb31:	8b e5                	mov    %ebp,%esp
40fb33:	5d                   	pop    %ebp
40fb34:	c3                   	ret
40fb35:	cc                   	int3
40fb36:	cc                   	int3
40fb37:	cc                   	int3
40fb38:	cc                   	int3
40fb39:	cc                   	int3
40fb3a:	cc                   	int3
40fb3b:	cc                   	int3
40fb3c:	cc                   	int3
40fb3d:	cc                   	int3
40fb3e:	cc                   	int3
40fb3f:	cc                   	int3
40fb40:	55                   	push   %ebp
40fb41:	8b ec                	mov    %esp,%ebp
40fb43:	81 ec 6c 01 00 00    	sub    $0x16c,%esp
40fb49:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40fb50:	eb 09                	jmp    0x40fb5b
40fb52:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fb55:	83 c0 01             	add    $0x1,%eax
40fb58:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fb5b:	83 7d fc 20          	cmpl   $0x20,-0x4(%ebp)
40fb5f:	7d 11                	jge    0x40fb72
40fb61:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40fb64:	03 4d fc             	add    -0x4(%ebp),%ecx
40fb67:	8b 55 fc             	mov    -0x4(%ebp),%edx
40fb6a:	8a 01                	mov    (%ecx),%al
40fb6c:	88 44 15 dc          	mov    %al,-0x24(%ebp,%edx,1)
40fb70:	eb e0                	jmp    0x40fb52
40fb72:	b9 01 00 00 00       	mov    $0x1,%ecx
40fb77:	6b d1 00             	imul   $0x0,%ecx,%edx
40fb7a:	0f b6 44 15 dc       	movzbl -0x24(%ebp,%edx,1),%eax
40fb7f:	25 f8 00 00 00       	and    $0xf8,%eax
40fb84:	b9 01 00 00 00       	mov    $0x1,%ecx
40fb89:	6b d1 00             	imul   $0x0,%ecx,%edx
40fb8c:	88 44 15 dc          	mov    %al,-0x24(%ebp,%edx,1)
40fb90:	b8 01 00 00 00       	mov    $0x1,%eax
40fb95:	6b c8 1f             	imul   $0x1f,%eax,%ecx
40fb98:	0f b6 54 0d dc       	movzbl -0x24(%ebp,%ecx,1),%edx
40fb9d:	83 e2 7f             	and    $0x7f,%edx
40fba0:	b8 01 00 00 00       	mov    $0x1,%eax
40fba5:	6b c8 1f             	imul   $0x1f,%eax,%ecx
40fba8:	88 54 0d dc          	mov    %dl,-0x24(%ebp,%ecx,1)
40fbac:	ba 01 00 00 00       	mov    $0x1,%edx
40fbb1:	6b c2 1f             	imul   $0x1f,%edx,%eax
40fbb4:	0f b6 4c 05 dc       	movzbl -0x24(%ebp,%eax,1),%ecx
40fbb9:	83 c9 40             	or     $0x40,%ecx
40fbbc:	ba 01 00 00 00       	mov    $0x1,%edx
40fbc1:	6b c2 1f             	imul   $0x1f,%edx,%eax
40fbc4:	88 4c 05 dc          	mov    %cl,-0x24(%ebp,%eax,1)
40fbc8:	8b 4d 10             	mov    0x10(%ebp),%ecx
40fbcb:	51                   	push   %ecx
40fbcc:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40fbd2:	52                   	push   %edx
40fbd3:	e8 18 e4 ff ff       	call   0x40dff0
40fbd8:	83 c4 08             	add    $0x8,%esp
40fbdb:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40fbe1:	50                   	push   %eax
40fbe2:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40fbe5:	51                   	push   %ecx
40fbe6:	8d 55 84             	lea    -0x7c(%ebp),%edx
40fbe9:	52                   	push   %edx
40fbea:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
40fbf0:	50                   	push   %eax
40fbf1:	e8 aa f7 ff ff       	call   0x40f3a0
40fbf6:	83 c4 10             	add    $0x10,%esp
40fbf9:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
40fbfc:	51                   	push   %ecx
40fbfd:	8d 95 e4 fe ff ff    	lea    -0x11c(%ebp),%edx
40fc03:	52                   	push   %edx
40fc04:	e8 87 fa ff ff       	call   0x40f690
40fc09:	83 c4 08             	add    $0x8,%esp
40fc0c:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
40fc12:	50                   	push   %eax
40fc13:	8d 8d 94 fe ff ff    	lea    -0x16c(%ebp),%ecx
40fc19:	51                   	push   %ecx
40fc1a:	8d 55 84             	lea    -0x7c(%ebp),%edx
40fc1d:	52                   	push   %edx
40fc1e:	e8 1d d6 ff ff       	call   0x40d240
40fc23:	83 c4 0c             	add    $0xc,%esp
40fc26:	8d 45 84             	lea    -0x7c(%ebp),%eax
40fc29:	50                   	push   %eax
40fc2a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fc2d:	51                   	push   %ecx
40fc2e:	e8 9d e9 ff ff       	call   0x40e5d0
40fc33:	83 c4 08             	add    $0x8,%esp
40fc36:	33 c0                	xor    %eax,%eax
40fc38:	8b e5                	mov    %ebp,%esp
40fc3a:	5d                   	pop    %ebp
40fc3b:	c3                   	ret
40fc3c:	cc                   	int3
40fc3d:	cc                   	int3
40fc3e:	cc                   	int3
40fc3f:	cc                   	int3
40fc40:	55                   	push   %ebp
40fc41:	8b ec                	mov    %esp,%ebp
40fc43:	83 ec 24             	sub    $0x24,%esp
40fc46:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40fc4d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40fc51:	74 0c                	je     0x40fc5f
40fc53:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40fc57:	74 06                	je     0x40fc5f
40fc59:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40fc5d:	75 08                	jne    0x40fc67
40fc5f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40fc62:	e9 28 01 00 00       	jmp    0x40fd8f
40fc67:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40fc6e:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40fc75:	68 00 01 00 00       	push   $0x100
40fc7a:	e8 01 6c ff ff       	call   0x406880
40fc7f:	83 c4 04             	add    $0x4,%esp
40fc82:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fc85:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40fc89:	0f 84 fd 00 00 00    	je     0x40fd8c
40fc8f:	68 00 01 00 00       	push   $0x100
40fc94:	e8 e7 6b ff ff       	call   0x406880
40fc99:	83 c4 04             	add    $0x4,%esp
40fc9c:	89 45 e8             	mov    %eax,-0x18(%ebp)
40fc9f:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40fca3:	0f 84 d1 00 00 00    	je     0x40fd7a
40fca9:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40fcad:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40fcb4:	eb 09                	jmp    0x40fcbf
40fcb6:	8b 45 f4             	mov    -0xc(%ebp),%eax
40fcb9:	83 c0 01             	add    $0x1,%eax
40fcbc:	89 45 f4             	mov    %eax,-0xc(%ebp)
40fcbf:	81 7d f4 00 01 00 00 	cmpl   $0x100,-0xc(%ebp)
40fcc6:	7d 23                	jge    0x40fceb
40fcc8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fccb:	03 4d f4             	add    -0xc(%ebp),%ecx
40fcce:	8a 55 f4             	mov    -0xc(%ebp),%dl
40fcd1:	88 11                	mov    %dl,(%ecx)
40fcd3:	8b 45 f4             	mov    -0xc(%ebp),%eax
40fcd6:	33 d2                	xor    %edx,%edx
40fcd8:	f7 75 10             	divl   0x10(%ebp)
40fcdb:	8b 45 e8             	mov    -0x18(%ebp),%eax
40fcde:	03 45 f4             	add    -0xc(%ebp),%eax
40fce1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40fce4:	8a 14 11             	mov    (%ecx,%edx,1),%dl
40fce7:	88 10                	mov    %dl,(%eax)
40fce9:	eb cb                	jmp    0x40fcb6
40fceb:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40fcf2:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40fcf9:	eb 09                	jmp    0x40fd04
40fcfb:	8b 45 f0             	mov    -0x10(%ebp),%eax
40fcfe:	83 c0 01             	add    $0x1,%eax
40fd01:	89 45 f0             	mov    %eax,-0x10(%ebp)
40fd04:	81 7d f0 00 01 00 00 	cmpl   $0x100,-0x10(%ebp)
40fd0b:	7d 52                	jge    0x40fd5f
40fd0d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fd10:	03 4d f0             	add    -0x10(%ebp),%ecx
40fd13:	0f b6 11             	movzbl (%ecx),%edx
40fd16:	03 55 ec             	add    -0x14(%ebp),%edx
40fd19:	8b 45 e8             	mov    -0x18(%ebp),%eax
40fd1c:	03 45 f0             	add    -0x10(%ebp),%eax
40fd1f:	0f b6 08             	movzbl (%eax),%ecx
40fd22:	03 d1                	add    %ecx,%edx
40fd24:	81 e2 ff 00 00 80    	and    $0x800000ff,%edx
40fd2a:	79 08                	jns    0x40fd34
40fd2c:	4a                   	dec    %edx
40fd2d:	81 ca 00 ff ff ff    	or     $0xffffff00,%edx
40fd33:	42                   	inc    %edx
40fd34:	89 55 ec             	mov    %edx,-0x14(%ebp)
40fd37:	8b 55 f8             	mov    -0x8(%ebp),%edx
40fd3a:	03 55 f0             	add    -0x10(%ebp),%edx
40fd3d:	8a 02                	mov    (%edx),%al
40fd3f:	88 45 ff             	mov    %al,-0x1(%ebp)
40fd42:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fd45:	03 4d f0             	add    -0x10(%ebp),%ecx
40fd48:	8b 55 f8             	mov    -0x8(%ebp),%edx
40fd4b:	03 55 ec             	add    -0x14(%ebp),%edx
40fd4e:	8a 02                	mov    (%edx),%al
40fd50:	88 01                	mov    %al,(%ecx)
40fd52:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fd55:	03 4d ec             	add    -0x14(%ebp),%ecx
40fd58:	8a 55 ff             	mov    -0x1(%ebp),%dl
40fd5b:	88 11                	mov    %dl,(%ecx)
40fd5d:	eb 9c                	jmp    0x40fcfb
40fd5f:	8b 45 08             	mov    0x8(%ebp),%eax
40fd62:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fd65:	89 08                	mov    %ecx,(%eax)
40fd67:	8b 55 e8             	mov    -0x18(%ebp),%edx
40fd6a:	52                   	push   %edx
40fd6b:	e8 40 6b ff ff       	call   0x4068b0
40fd70:	83 c4 04             	add    $0x4,%esp
40fd73:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
40fd7a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
40fd7e:	75 0c                	jne    0x40fd8c
40fd80:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fd83:	50                   	push   %eax
40fd84:	e8 27 6b ff ff       	call   0x4068b0
40fd89:	83 c4 04             	add    $0x4,%esp
40fd8c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40fd8f:	8b e5                	mov    %ebp,%esp
40fd91:	5d                   	pop    %ebp
40fd92:	c3                   	ret
40fd93:	cc                   	int3
40fd94:	cc                   	int3
40fd95:	cc                   	int3
40fd96:	cc                   	int3
40fd97:	cc                   	int3
40fd98:	cc                   	int3
40fd99:	cc                   	int3
40fd9a:	cc                   	int3
40fd9b:	cc                   	int3
40fd9c:	cc                   	int3
40fd9d:	cc                   	int3